.PatternProgressBadge-module__9B6Waq__progressBadge{color:var(--color-text-secondary,#94a3b8);white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:9999px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.PatternProgressBadge-module__9B6Waq__hasProgress{color:#34d399;background:#10b9811f;border-color:#10b98159}.PatternProgressBadge-module__9B6Waq__allCompleted{color:#6ee7b7;background:#10b98133;border-color:#10b98199;box-shadow:0 0 10px #10b98133}.PatternProgressBadge-module__9B6Waq__icon{font-size:.75rem;line-height:1}
.page-module__iPNRVG__patternsPage{max-width:1200px;margin:0 auto;padding:3rem 1.5rem 4rem}.page-module__iPNRVG__header{margin-bottom:3rem}.page-module__iPNRVG__title{margin-bottom:.75rem;font-size:2.5rem;font-weight:800}.page-module__iPNRVG__subtitle{color:var(--color-text-muted);max-width:640px;font-size:1.125rem;line-height:1.7}.page-module__iPNRVG__grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;display:grid}.page-module__iPNRVG__card{background:var(--color-surface);border:1px solid var(--color-border);color:inherit;border-radius:16px;padding:2rem;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.page-module__iPNRVG__card:before{content:"";background:var(--accent-color);opacity:.8;border-radius:16px 16px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.page-module__iPNRVG__card:hover{border-color:var(--accent-color);transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.page-module__iPNRVG__cardHeader{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.page-module__iPNRVG__patternName{color:var(--color-text);font-size:1.5rem;font-weight:700}.page-module__iPNRVG__arrow{color:var(--color-text-muted);font-size:1.25rem;transition:transform .2s,color .2s}.page-module__iPNRVG__card:hover .page-module__iPNRVG__arrow{color:var(--accent-color);transform:translate(4px)}.page-module__iPNRVG__badges{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.page-module__iPNRVG__badge{color:var(--color-text-muted);font-size:.75rem;font-weight:600;font-family:var(--font-mono);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;padding:.25rem .75rem}.page-module__iPNRVG__badge.page-module__iPNRVG__time{color:#a5f3fc;border-color:#a5f3fc33}.page-module__iPNRVG__badge.page-module__iPNRVG__space{color:#c4b5fd;border-color:#c4b5fd33}.page-module__iPNRVG__badge.page-module__iPNRVG__problems{color:#fbbf24;border-color:#fbbf2433}.page-module__iPNRVG__description{color:var(--color-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1.25rem;font-size:.9375rem;line-height:1.6;display:-webkit-box;overflow:hidden}.page-module__iPNRVG__whenToUse{flex-wrap:wrap;gap:.375rem;display:flex}.page-module__iPNRVG__useTag{color:var(--color-text-muted);background:#ffffff0a;border-radius:6px;padding:.2rem .6rem;font-size:.75rem}@media (max-width:768px){.page-module__iPNRVG__title{font-size:2rem}.page-module__iPNRVG__grid{grid-template-columns:1fr}}
