@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_2ae47f08-module__h69qWW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_2ae47f08-module__h69qWW__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_eb58308d-module__w_p2Lq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_eb58308d-module__w_p2Lq__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--background:#06080f;--foreground:#e8eaf0;--surface:#0d1117;--surface-elevated:#151b26;--border:#1e2a3a;--accent:#00d4aa;--accent-dim:#00a888;--accent-glow:#00d4aa26;--indigo:#6366f1;--warning:#f5a623;--error:#ff5c5c;--success:#00d4aa;--muted:#6b7a90;--radius:16px;--radius-xl:20px;--font-sans:var(--font-geist-sans), system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, monospace}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5}.neural-grid{background-image:radial-gradient(circle at 25% 25%, var(--accent-glow) 0%, transparent 50%), radial-gradient(circle at 75% 75%, #6366f114 0%, transparent 50%), linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:100% 100%,100% 100%,48px 48px,48px 48px;min-height:100vh}.text-gradient{background:linear-gradient(135deg,#00d4aa 0%,#6366f1 50%,#00d4aa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glow-accent{box-shadow:0 0 24px var(--accent-glow), 0 0 48px #00d4aa0d}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{opacity:.4}50%{opacity:1}}.animate-slide-up{animation:.4s ease-out forwards slide-up}.splash{min-height:100vh;color:var(--muted);place-items:center;gap:16px;display:grid}.splashRing{border:2px solid var(--accent);border-top-color:#0000;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.appHeader{z-index:50;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#06080feb;position:sticky;top:0}.appNavTop{align-items:center;gap:10px;max-width:72rem;margin:0 auto;padding:10px 16px;display:flex}.brandRow{flex-shrink:0;align-items:center;gap:8px;display:flex}.brandLogo{border-radius:8px;flex-shrink:0}.brandName{letter-spacing:-.02em;font-size:1rem;font-weight:600}.brandAccent{color:var(--accent)}.codeChip{border:1px solid var(--border);background:var(--surface);cursor:pointer;min-width:0;color:inherit;font:inherit;border-radius:999px;flex:1;align-items:center;gap:8px;padding:6px 8px 6px 12px;transition:border-color .15s,background .15s;display:flex}.codeChip:hover,.codeChip:focus-visible{background:var(--surface-elevated);border-color:#00d4aa73;outline:none}.codeChipLabel{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-shrink:0;font-size:10px;font-weight:700}.codeChipValue{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent);text-align:left;flex:1;font-size:12px;font-weight:600;overflow:hidden}.codeChipAction{color:var(--background);background:var(--accent);border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600}.menuBtn{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--foreground);cursor:pointer;border-radius:10px;flex-shrink:0;font-size:16px}.menuBtn:hover{border-color:#00d4aa66}.desktopSwitch{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:10px;flex-shrink:0;padding:8px 14px;font-size:13px;font-weight:500;display:none}.desktopSwitch:hover{color:var(--foreground);border-color:#00d4aa59}.tabStrip{-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;gap:6px;max-width:72rem;margin:0 auto;padding:0 12px 10px;display:flex;overflow-x:auto}.tabStrip::-webkit-scrollbar{display:none}.tabChip{color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.tabChip:hover{color:var(--foreground);background:var(--surface-elevated)}.tabChip.active{color:var(--accent);background:#00d4aa1f;border-color:#00d4aa59}.navBadge{background:var(--accent);color:var(--background);border-radius:999px;padding:1px 6px;font-size:10px;font-style:normal;font-weight:700}.menuLayer{z-index:1000;position:fixed;inset:0}.menuBackdrop{cursor:pointer;background:#0000008c;border:none;position:absolute;inset:0}.menuSheet{background:var(--surface);border-left:1px solid var(--border);width:min(100%,360px);padding:20px 18px calc(28px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;animation:.22s sheet-in;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-12px 0 40px #00000073}@keyframes sheet-in{0%{transform:translate(100%)}to{transform:translate(0)}}.menuSheetHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.menuSheetTitle{margin:0;font-size:1.05rem;font-weight:600}.menuSheetSub{color:var(--muted);margin:4px 0 0;font-size:13px}.menuClose{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:14px}.menuCodeBlock{border-radius:var(--radius);background:#00d4aa0f;border:1px solid #00d4aa59;gap:12px;padding:16px;display:grid}.menuCodeBlock code{font-family:var(--font-mono);letter-spacing:.06em;color:var(--accent);word-break:break-all;text-align:center;font-size:1.15rem;font-weight:700}.menuNav{flex-direction:column;flex:1;gap:4px;display:flex}.menuNavLink{width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:15px;display:flex}.menuNavLink:hover{background:var(--surface-elevated);color:var(--foreground)}.menuNavLink.active{color:var(--accent);background:#00d4aa1a;font-weight:500}.mainContent{max-width:72rem;margin:0 auto;padding:28px 16px 96px}.pageHeader{margin-bottom:20px}.pageHeader:empty{display:none}.dash{flex-direction:column;gap:20px;display:flex}.dashHero{border-radius:var(--radius-xl);border:1px solid var(--border);background:radial-gradient(ellipse at 0% 0%, #00d4aa29, transparent 55%), radial-gradient(ellipse at 100% 100%, #6366f114, transparent 50%), var(--surface);grid-template-columns:1fr auto;align-items:center;gap:24px;padding:28px 28px 26px;display:grid;position:relative;overflow:hidden}.dashHero.pending{border-color:#00d4aa59;box-shadow:0 0 0 1px #00d4aa14,0 18px 50px #00000040}.dashHero.done{border-color:#00d4aa73}.dashGreeting{color:var(--muted);margin:0 0 8px;font-size:13px}.dashGreeting span{color:var(--accent);font-weight:600}.dashHeroCopy h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.6rem,4vw,2.15rem);line-height:1.15}.dashHeroSub{max-width:40rem;color:var(--muted);margin:12px 0 0;font-size:15px;line-height:1.55}.dashHeroActions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.dashCta{min-height:44px;padding-inline:20px;font-weight:600;animation:2.4s ease-in-out infinite pulse-cta}.dashHero.done .dashCta{animation:none}@keyframes pulse-cta{0%,to{box-shadow:0 0 #00d4aa59}50%{box-shadow:0 0 0 8px #00d4aa00}}.dashStreakOrb{text-align:center;padding:8px}.streakRing{border:3px solid var(--border);background:var(--surface-elevated);border-radius:50%;place-content:center;gap:2px;width:124px;height:124px;transition:border-color .2s,box-shadow .2s;display:grid}.streakRing.lit{border-color:var(--accent);box-shadow:0 0 28px #00d4aa40}.streakRing strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:2.4rem;line-height:1}.streakRing span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.streakNext{color:var(--muted);margin:10px 0 0;font-size:12px}.dashMission{grid-template-columns:1.2fr 1fr;gap:16px;display:grid}.missionCard{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);padding:20px}.missionCard.complete{background:#00d4aa0f;border-color:#00d4aa66}.missionTop{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.missionBadge{letter-spacing:.05em;text-transform:uppercase;color:var(--background);background:var(--accent);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700}.missionBadge.soft{background:var(--surface-elevated);color:var(--muted);border:1px solid var(--border)}.missionMeta{color:var(--muted);font-size:12px;font-family:var(--font-mono)}.missionCard h3{margin:0 0 8px;font-size:1.15rem}.missionTrack{background:var(--surface-elevated);border-radius:999px;height:10px;margin-top:16px;overflow:hidden}.missionFill{background:linear-gradient(90deg, var(--accent-dim), var(--accent));border-radius:999px;height:100%;transition:width .5s}.weekStrip{grid-template-columns:repeat(7,1fr);gap:6px;margin:14px 0 12px;display:grid}.weekDay{text-align:center;border:1px solid var(--border);background:var(--surface-elevated);color:var(--muted);border-radius:10px;padding:8px 4px}.weekDay span{margin-bottom:4px;font-size:10px;display:block}.weekDay em{font-size:12px;font-style:normal}.weekDay.hit{color:var(--accent);background:#00d4aa14;border-color:#00d4aa66}.weekDay.today{outline:1px solid #00d4aa8c}.dashStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashStat{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-align:center;padding:16px}.dashStat strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.5rem;display:block}.dashStat span{margin-top:4px;font-size:13px;font-weight:600;display:block}.dashStat small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.dashStat.warn strong{color:var(--warning)}.dashSplit{grid-template-columns:1.15fr 1fr;gap:16px;display:grid}.dashNext h2{letter-spacing:-.02em;margin:8px 0 6px;font-size:1.35rem}.dashNextMeta{color:var(--accent);margin:0 0 10px;font-size:13px}.liveDot{color:var(--accent);align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.liveDot:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite pulse-glow;box-shadow:0 0 #00d4aa80}.dashDueList{gap:8px;display:grid}.dashDueRow{text-align:left;border:1px solid var(--border);background:var(--surface-elevated);width:100%;color:inherit;font:inherit;cursor:pointer;border-radius:12px;justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.dashDueRow:hover{border-color:#00d4aa59}.dashDueRow em{color:var(--accent);font-size:12px;font-style:normal;font-weight:600}.weakCallout{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.weakCallout p{margin:0 0 6px}.habitHeat{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:14px;display:grid}.habitHeat .heat{aspect-ratio:1;border-radius:4px;width:100%;height:auto}.todayHeat{outline:1px solid var(--accent);outline-offset:1px}@media (max-width:900px){.dashHero,.dashMission,.dashSplit{grid-template-columns:1fr}.dashStreakOrb{justify-self:start}.dashStats{grid-template-columns:repeat(2,minmax(0,1fr))}}.pageHeader h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,4vw,1.875rem);font-weight:700}.pageHeader p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.55}.pageSection{flex-direction:column;gap:24px;display:flex}.surfaceCard{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);padding:24px}.surfaceCard.highlight{background:#00d4aa0d;border-color:#00d4aa4d}.surfaceCard.indigo{background:#6366f10d;border-color:#6366f14d}.surfaceCard.warning{background:#f5a6230d;border-color:#f5a62333}.surfaceCard h3{margin:0 0 12px;font-size:1rem;font-weight:600}.surfaceCard h2{margin:8px 0;font-size:1.25rem;font-weight:600}.statGrid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.statBox{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);text-align:center;padding:24px}.statBox strong{color:var(--accent);font-size:1.875rem;font-weight:700;display:block}.statBox span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.statRow{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.statCard{text-align:center;padding:18px 12px}.statCard strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700;display:block}.statCard span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.barTrack{background:var(--surface-elevated);border-radius:999px;height:8px;margin:8px 0;overflow:hidden}.barFill{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.barFill.indigo{background:var(--indigo)}.roadmapList,.masteryList{gap:16px;display:grid}.roadmapHead,.masteryHead{justify-content:space-between;gap:12px;font-size:13px;display:flex}.roadmapHead span{flex:1;line-height:1.4}.roadmapItem small,.masteryRow small{color:var(--muted);font-size:12px}.heatmap{grid-template-columns:repeat(14,16px);gap:4px;display:grid}.heat{background:var(--surface-elevated);border-radius:4px;width:16px;height:16px}.heat.h2{background:#00d4aa66}.heat.h3{background:var(--accent)}.pillFilters{flex-wrap:wrap;gap:8px;display:flex}.pillFilter{font:inherit;cursor:pointer;background:var(--surface-elevated);color:var(--muted);border:none;border-radius:999px;padding:6px 16px;font-size:14px;transition:background .15s,color .15s}.pillFilter:hover{color:var(--foreground)}.pillFilter.active{background:var(--accent);color:var(--background);font-weight:500}.filterBar{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.filterBar .fieldSelect{flex:0 auto;min-width:150px}.resultCount{color:var(--muted);margin:0;font-size:13px}.fieldInput,.fieldSelect,.fieldTextarea{border:1px solid var(--border);background:var(--surface-elevated);width:100%;color:var(--foreground);font:inherit;border-radius:12px;padding:11px 14px;line-height:1.4;transition:border-color .15s}.fieldInput:focus,.fieldSelect:focus,.fieldTextarea:focus{border-color:#00d4aa80;outline:none}.fieldInput::placeholder{color:var(--muted)}.fieldInput.mono{font-family:var(--font-mono);letter-spacing:.06em;text-align:center}.fieldTextarea{resize:vertical;min-height:96px}.fieldSelect{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7a90' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.fieldInputGrow{flex:1;min-width:200px}.btnPrimary,.btnGhost,.btnDanger,.btnText{font:inherit;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btnPrimary{background:var(--accent);color:var(--background)}.btnPrimary:hover:not(:disabled){background:var(--accent-dim)}.btnPrimary:disabled{opacity:.5;cursor:not-allowed}.btnGhost{background:var(--surface-elevated);color:var(--foreground);border:1px solid var(--border)}.btnGhost:hover{border-color:#00d4aa66}.btnDanger{color:var(--error);background:#ff5c5c1f;border:1px solid #ff5c5c4d}.btnText{color:var(--muted);background:0 0;padding:8px}.btnPrimary.sm,.btnGhost.sm,.btnDanger.sm{padding:6px 12px;font-size:13px}.problemGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.problemCard{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);flex-direction:column;gap:10px;padding:20px;transition:border-color .15s;display:flex}.problemCard:hover{border-color:#00d4aa59}.problemTop{justify-content:space-between;align-items:center;display:flex}.problemId{font-family:var(--font-mono);color:var(--muted);font-size:12px}.problemCard h3{margin:0;font-size:15px;font-weight:600;line-height:1.35}.problemFoot{justify-content:flex-end;gap:8px;margin-top:auto;display:flex}.pillRow{flex-wrap:wrap;gap:6px;display:flex}.pill{background:var(--surface-elevated);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:11px}.pill.accent{color:var(--accent);background:#00d4aa1a}.pill.dueDate{color:var(--warning);background:#f5a6231a}.statusPill{border-radius:999px;padding:3px 8px;font-size:10px;font-weight:600}.st-none{background:var(--surface-elevated);color:var(--muted)}.st-attempt{color:var(--warning);background:#f5a6231f}.st-hint{color:var(--indigo);background:#6366f11f}.st-solo{color:var(--accent);background:#00d4aa1f}.st-master{color:var(--success);background:#00d4aa33}.muted{color:var(--muted)}.small{font-size:13px}.patternSection{margin-bottom:8px}.patternCategoryTitle{color:var(--foreground);margin:0 0 12px;font-size:1rem;font-weight:600}.patternGrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.patternCard{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.patternCardExpandable{padding:0}.patternCardToggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px;transition:background .15s;display:flex}.patternCardToggle:hover{background:#ffffff05}.patternCategoryHint{color:var(--accent);margin:6px 0 0;font-size:13px}.patternExpandIcon{color:var(--muted);flex-shrink:0;font-size:1.25rem;line-height:1}.patternCardBody{border-top:1px solid var(--border);padding:0 24px 24px}.patternCardHead{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.patternCard h3{margin:0;font-size:1.05rem;font-weight:600;line-height:1.35}.patternMeta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.tierPill{text-transform:capitalize;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:600}.tier-beginner{color:var(--success);background:#00d4aa1a}.tier-core{color:var(--accent);background:#00d4aa1a}.tier-interview,.tier-intermediate{color:var(--warning);background:#f5a6231f}.tier-advanced{color:var(--error);background:#ff5c5c1f}.patternCount{font-family:var(--font-mono);color:var(--muted);font-size:11px}.patternCard .label{color:var(--muted);margin:12px 0 6px;font-size:12px;font-weight:600}.patternCard ul{color:var(--muted);margin:0;padding-left:18px;font-size:14px;line-height:1.55}.askBox{background:var(--surface-elevated);border-radius:12px;margin-top:8px;padding:12px}.avoid{color:var(--muted);margin-top:auto;padding-top:12px;font-size:13px;line-height:1.45}.revisionList{flex-direction:column;gap:12px;display:flex}.revisionCard{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;transition:border-color .15s;display:flex}.revisionCard:hover{border-color:#f5a62359}.revisionCardBody{flex:1;min-width:0}.revisionCardBody h3{margin:6px 0 10px;font-size:1rem;font-weight:600;line-height:1.35}.revisionCardActions{flex-shrink:0;gap:8px;display:flex}.dueBadge{color:var(--warning);background:#f5a6231f;border-radius:999px;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:600}.revisionIntroHead{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.cardHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.cardHead h3{margin:0}.miniRow{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:14px;display:flex}.miniRow:last-child{border-bottom:none;padding-bottom:0}.miniRow span{flex:1;min-width:0}.sessionList{color:var(--muted);margin:0;padding-left:20px;line-height:1.85}.ctaLink{border-radius:var(--radius-xl);color:inherit;background:#00d4aa0d;border:1px solid #00d4aa4d;padding:20px 24px;text-decoration:none;transition:border-color .15s;display:block}.ctaLink:hover{border-color:#00d4aa80}.ctaLinkLabel{color:var(--accent);font-size:14px;font-weight:500}.ctaLinkTitle{margin-top:4px;font-weight:600}.codeDisplay{font-family:var(--font-mono);letter-spacing:.06em;color:var(--accent);text-align:center;border-radius:var(--radius-xl);word-break:break-all;-webkit-user-select:all;user-select:all;background:#00d4aa0d;border:2px solid #00d4aa66;padding:20px 16px;font-size:clamp(1.15rem,5vw,1.75rem);font-weight:700}.btnRow{flex-wrap:wrap;gap:10px;display:flex}.field{color:var(--muted);gap:8px;margin-bottom:16px;font-size:13px;font-weight:600;display:grid}.field:last-child{margin-bottom:0}.journeySteps{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.dangerZone{border-color:#ff5c5c59}.dangerZone h3{color:var(--error)}.migrateZone{border-color:#00d4aa4d}.migrateReveal h2{margin:0 0 10px}.migrateReveal .codeDisplay{margin:16px 0}.deleteConfirm{gap:12px;margin-top:8px;display:grid}.monoInline{font-family:var(--font-mono);color:var(--accent);font-weight:600}.emailLinked{color:var(--muted);margin:8px 0 0;font-size:14px}.journeySteps>div{gap:12px;display:flex}.journeySteps span{width:28px;height:28px;color:var(--accent);background:#00d4aa1a;border-radius:8px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.journeySteps b{font-size:14px;display:block}.journeySteps p{color:var(--muted);margin:2px 0 0;font-size:12px}.emptyState{text-align:center;padding:48px 24px}.emptyIcon{border-radius:var(--radius-xl);width:56px;height:56px;color:var(--accent);background:#00d4aa1a;place-items:center;margin:0 auto 16px;font-size:24px;display:grid}.onboard{justify-content:center;align-items:flex-start;min-height:100vh;padding:32px 16px 48px;display:flex}.onboardInner{width:min(480px,100%)}.onboardHero{text-align:center;margin-bottom:24px}.onboardHero h1{margin:14px 0 8px;font-size:clamp(1.4rem,5vw,1.875rem);font-weight:700}.onboardHero p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.onboardCard{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);margin-bottom:16px;padding:22px}.onboardCodeReveal .label{text-align:center;margin-bottom:12px}.onboardCard h2{margin:0 0 8px;font-size:1rem;font-weight:600}.onboardCard p{color:var(--muted);margin:0 0 20px;font-size:14px}.onboardDivider{color:var(--muted);align-items:center;gap:16px;margin:24px 0;font-size:12px;display:flex}.onboardDivider:before,.onboardDivider:after{content:"";background:var(--border);flex:1;height:1px}.onboardFeatures{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px;display:flex}.onboardFeatures span{color:var(--accent);background:#00d4aa14;border:1px solid #00d4aa33;border-radius:999px;padding:6px 12px;font-size:12px}.errorMsg{color:var(--error);background:#ff5c5c0d;border:1px solid #ff5c5c4d;border-radius:12px;margin-top:12px;padding:12px 16px;font-size:14px}.onboardForm{gap:12px;display:grid}.onboardForm label{color:var(--muted);font-size:13px;font-weight:600}.modalOverlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#06080fd9;place-items:end center;padding:0;display:grid;position:fixed;inset:0}.modalPanel{background:var(--surface);border:1px solid var(--border);width:100%;max-height:min(92vh,100%);padding:24px 16px calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;position:relative;overflow-y:auto}.modalClose{background:var(--surface-elevated);width:34px;height:34px;color:var(--foreground);cursor:pointer;border:none;border-radius:8px;font-size:20px;position:absolute;top:14px;right:14px}.modalHeader{padding-right:36px}.modalHeader h2{margin:8px 0 12px;font-size:1.25rem}.problemNum{font-family:var(--font-mono);color:var(--accent);font-size:12px}.goalText,.clueText{color:var(--muted);font-size:14px;line-height:1.55}.formGrid{grid-template-columns:1fr 1fr;gap:14px;margin:16px 0;display:grid}.formGrid label{color:var(--muted);gap:8px;font-size:13px;font-weight:600;display:grid}.formGrid .wide{grid-column:1/-1}.modalActions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:16px;display:flex}.toast{background:var(--surface);border:1px solid var(--border);color:var(--foreground);z-index:200;border-radius:8px;padding:12px 18px;font-size:14px;animation:.3s slide-up;position:fixed;bottom:24px;right:24px}.text-accent{color:var(--accent)}.sdMetaLine{color:var(--muted);margin:8px 0 0;font-size:12px}.sdScale{background:var(--surface-elevated);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 8px;padding:12px;display:grid}.sdScale .label{margin:0 0 4px}.sdScale p{color:var(--foreground);margin:0;font-size:12px;line-height:1.4}.checklist{list-style:none;padding-left:0!important}.checklist li{margin-bottom:6px;padding-left:22px;position:relative}.checklist li:before{content:"○";color:var(--accent);position:absolute;left:0}.sdActions{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.journalLayout{grid-template-columns:minmax(280px,360px) 1fr;align-items:start;gap:20px;display:grid}.journalComposer h3{margin-top:0}.journalFeed{flex-direction:column;gap:14px;min-width:0;display:flex}.journalEntryHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.journalEntryHead h3{margin:0 0 6px;font-size:1.05rem}.journalMeta{color:var(--muted);font-size:12px;font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.journalBody{white-space:pre-wrap;color:var(--muted);margin:14px 0 0;font-size:14px;line-height:1.6}.playbookRitual h3{margin-top:0}.ritualList{color:var(--muted);margin:0 0 16px;padding-left:20px;line-height:1.65}.ritualList li{margin-bottom:6px}.checklistRow{flex-wrap:wrap;gap:8px;display:flex}.playbookLens{flex-direction:column;gap:16px;display:flex}.playbookCard h3{margin:0 0 4px;font-size:1.05rem}.playbookCard .pillRow{margin-top:12px}.trapList{gap:14px;margin-top:12px;display:grid}.trapItem b{margin-bottom:4px;display:block}.trapItem p{margin:0;font-size:14px;line-height:1.55}@media (min-width:768px){.mainContent{padding:40px 24px 72px}.appNavTop{padding:12px 24px}.tabStrip{padding:0 20px 12px}.modalOverlay{place-items:center;padding:24px}.modalPanel{border-radius:var(--radius-xl);width:min(580px,100%);padding:28px 24px 24px}.onboard{align-items:center;padding:48px 24px}.onboardCard{padding:32px}.codeChipValue{font-size:13px}}@media (min-width:900px){.menuBtn{display:none}.desktopSwitch{align-items:center;display:inline-flex}}@media (max-width:900px){.grid2,.journeySteps,.formGrid{grid-template-columns:1fr}.revisionCard{flex-direction:column;align-items:stretch}.revisionCardActions{border-top:1px solid var(--border);justify-content:flex-end;padding-top:12px}.filterBar{flex-direction:column}.filterBar .fieldSelect,.fieldInputGrow{flex:auto;width:100%;min-width:0}.patternGrid,.problemGrid,.journalLayout,.sdScale{grid-template-columns:1fr}.heatmap{grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.heat{aspect-ratio:1;width:100%;height:auto}.statRow{grid-template-columns:repeat(2,1fr)}.surfaceCard{padding:18px}.toast{bottom:16px;left:16px;right:16px}}@media (max-width:380px){.brandName,.codeChipLabel{display:none}}
