*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FBEFD9;--bg-tint-1: #F5DFB8;--bg-tint-2: #EFCC91;--surface: #FFFAEE;--surface-2: #FAE8C5;--surface-3: #F2D49A;--bg-grad-1: rgba(242, 107, 74, .1);--bg-grad-2: rgba(46, 138, 160, .08);--ink: #1F2629;--ink-soft: #4F5A60;--ink-mute: #8A9298;--accent: #F26B4A;--accent-soft: #FAC9B3;--accent-deep: #B73A1E;--peach: #F26B4A;--peach-soft: #FAC9B3;--peach-deep: #B73A1E;--teal: #2E8AA0;--teal-soft: #B6DCE5;--teal-deep: #1B6378;--mustard: #D8A317;--mustard-soft: #F2DC95;--mustard-deep: #8E6800;--amber: var(--mustard);--amber-soft: var(--mustard-soft);--amber-deep: var(--mustard-deep);--plum: #6B3A5E;--plum-soft: #D7BFD0;--plum-deep: #4A1F40;--indigo: var(--plum);--indigo-soft: var(--plum-soft);--green: #4A8A5E;--green-soft: #C8DEC9;--green-deep: #2F5C3D;--line: rgba(31, 38, 41, .14);--line-strong: rgba(31, 38, 41, .28);--border: var(--line);--border-strong: var(--line-strong);--r-sm: 3px;--r-md: 6px;--r-lg: 10px;--r-xl: 10px;--shadow-sm: 2px 2px 0 var(--ink);--shadow-md: 4px 4px 0 var(--ink);--shadow-lg: 6px 6px 0 var(--ink);--shadow-peach: 4px 4px 0 var(--peach);--shadow-teal: 4px 4px 0 var(--teal);--space: 8px;--pad-card: 18px 22px;--paper-dot: transparent;--paper: var(--surface);--paper-warm: var(--bg)}html[data-density=compact]{--pad-card: 14px 18px}html[data-bg=paper] body{background:var(--bg);background-attachment:fixed}html[data-bg=grid] body{background:linear-gradient(to right,rgba(31,38,41,.07) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(to bottom,rgba(31,38,41,.07) 1px,transparent 1px) 0 0 / 28px 28px,var(--bg);background-attachment:fixed}html[data-bg=dots] body{background:radial-gradient(circle at 2px 2px,rgba(31,38,41,.13) 1.2px,transparent 1.6px) 0 0 / 22px 22px,var(--bg);background-attachment:fixed}html[data-bg=halftone] body{background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--peach) 28%,transparent) 1px,transparent 1.5px) 0 0 / 14px 14px,radial-gradient(circle at 7px 7px,color-mix(in srgb,var(--teal) 18%,transparent) 1px,transparent 1.5px) 0 0 / 22px 22px,var(--bg);background-attachment:fixed}html[data-bg=plain] body{background:var(--bg)}[data-theme=dark]{--bg: #1F2123;--bg-tint-1: #272A2C;--bg-tint-2: #313436;--surface: #2A2C2E;--surface-2: #323436;--surface-3: #3A3D3F;--bg-grad-1: rgba(255, 122, 90, .14);--bg-grad-2: rgba(111, 199, 220, .1);--ink: #C9BFAE;--ink-soft: #A39A8C;--ink-mute: #7E776B;--accent: #FF7A5A;--accent-soft: #3A1A12;--accent-deep: #FF9776;--peach: #FF7A5A;--peach-soft: #3A1A12;--peach-deep: #FF9776;--teal: #6FC7DC;--teal-soft: #1B3A42;--teal-deep: #92D8E8;--mustard: #F0BD4A;--mustard-soft: #2C2310;--mustard-deep: #F5D480;--amber: var(--mustard);--amber-soft: var(--mustard-soft);--amber-deep: var(--mustard-deep);--plum: #C194B5;--plum-soft: #2D1A28;--plum-deep: #DFB9D2;--indigo: var(--plum);--indigo-soft: var(--plum-soft);--green: #80B894;--green-deep: #B6D9BD;--line: rgba(201, 191, 174, .16);--line-strong: rgba(201, 191, 174, .32);--border: var(--line);--border-strong: var(--line-strong);--shadow-sm: 2px 2px 0 var(--peach);--shadow-md: 4px 4px 0 var(--peach);--shadow-lg: 6px 6px 0 var(--peach);--shadow-peach: 4px 4px 0 var(--peach);--shadow-teal: 4px 4px 0 var(--teal);--paper-dot: transparent;--paper: var(--surface);--paper-warm: var(--bg)}html[data-theme=dark][data-bg=paper] body{background:var(--bg);background-attachment:fixed}html[data-theme=dark][data-bg=grid] body{background:linear-gradient(to right,rgba(236,230,216,.08) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(to bottom,rgba(236,230,216,.08) 1px,transparent 1px) 0 0 / 28px 28px,var(--bg);background-attachment:fixed}html[data-theme=dark][data-bg=dots] body{background:radial-gradient(circle at 2px 2px,rgba(236,230,216,.14) 1.2px,transparent 1.6px) 0 0 / 22px 22px,var(--bg);background-attachment:fixed}html[data-theme=dark][data-bg=halftone] body{background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--peach) 32%,transparent) 1px,transparent 1.5px) 0 0 / 14px 14px,radial-gradient(circle at 7px 7px,color-mix(in srgb,var(--teal) 22%,transparent) 1px,transparent 1.5px) 0 0 / 22px 22px,var(--bg);background-attachment:fixed}[data-theme=mint]{--bg: #F8F4EE;--bg-tint-1: #F1EADC;--bg-tint-2: #E8DEC4;--surface: #FBF8F2;--surface-2: #F1EADC;--surface-3: #E8DEC4;--bg-grad-1: rgba(47, 106, 176, .1);--bg-grad-2: rgba(64, 68, 72, .1);--ink: #14264D;--ink-soft: #345277;--ink-mute: #506285;--accent: #2F6AB0;--accent-soft: #C9DBED;--accent-deep: #14264D;--peach: #2F6AB0;--peach-soft: #C9DBED;--peach-deep: #14264D;--teal: #2F6AB0;--teal-soft: #C9DBED;--teal-deep: #14264D;--mustard: #404448;--mustard-soft: #D7D8DA;--mustard-deep: #1F2124;--amber: var(--mustard);--amber-soft: var(--mustard-soft);--amber-deep: var(--mustard-deep);--plum: #7A3B1F;--plum-soft: #E8C9BD;--plum-deep: #4A2210;--indigo: var(--plum);--indigo-soft: var(--plum-soft);--green: #6E3F75;--green-deep: #3F1F45;--line: rgba(20, 38, 77, .14);--line-strong: rgba(20, 38, 77, .28);--border: var(--line);--border-strong: var(--line-strong);--shadow-sm: 2px 2px 0 var(--mustard);--shadow-md: 4px 4px 0 var(--mustard);--shadow-lg: 6px 6px 0 var(--mustard);--shadow-peach: 4px 4px 0 var(--peach);--shadow-teal: 4px 4px 0 var(--teal);--paper-dot: transparent;--paper: var(--surface);--paper-warm: var(--bg)}html[data-theme=mint][data-bg=paper] body{background:var(--bg);background-attachment:fixed}html[data-theme=mint][data-bg=grid] body{background:linear-gradient(to right,rgba(20,38,77,.08) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(to bottom,rgba(20,38,77,.08) 1px,transparent 1px) 0 0 / 28px 28px,var(--bg);background-attachment:fixed}html[data-theme=mint][data-bg=dots] body{background:radial-gradient(circle at 2px 2px,rgba(20,38,77,.14) 1.2px,transparent 1.6px) 0 0 / 22px 22px,var(--bg);background-attachment:fixed}html[data-theme=mint][data-bg=halftone] body{background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--peach) 28%,transparent) 1px,transparent 1.5px) 0 0 / 14px 14px,radial-gradient(circle at 7px 7px,color-mix(in srgb,var(--mustard) 22%,transparent) 1px,transparent 1.5px) 0 0 / 22px 22px,var(--bg);background-attachment:fixed}html[data-theme=mint][data-bg=blueprint] body{background:var(--ink);background-attachment:fixed;color:var(--bg)}html[data-theme=mint] .sp-state-next,html[data-theme=mint] .sp-ms-card,html[data-theme=mint] .lvl-tag.next,html[data-theme=mint] .skill-in-progress .ip-cnt,html[data-theme=mint] .ach-corner,html[data-theme=mint] .ach-card.next .ach-mark,html[data-theme=mint] .pm-mark,html[data-theme=mint] .bt-fchip.p-P2.on,html[data-theme=mint] .skill-pill.in-progress .sk-ic,html[data-theme=mint] .course-kard .now-flag,html[data-theme=mint] .practice-inline:before,html[data-theme=mint] .ready-banner .rb-mark,html[data-theme=mint] .morning-col .row.queue .ic{background:var(--mustard-soft)}html,body{transition:background-color .45s ease,color .35s ease}.theme-transition,.theme-transition *{transition:background-color .45s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease,fill .35s ease,stroke .35s ease!important}html,body{overflow-x:clip;max-width:100vw}#root,.screen,main{min-width:0;max-width:100%}.body-card,.body-card p,.body-card h1,.body-card h2,.body-card h3,.body-card h4,.body-card li,.ticket-head h1,.ticket-head h2,.topbar .crumb,.ac-item .text,.sample-answer,.lead,.p{overflow-wrap:anywhere;word-break:normal}.body-card>details,.body-card>div,.body-card>section,.body-card>.we,.body-card>.we-box{max-width:100%;overflow-wrap:anywhere}.body-card table{display:block;max-width:100%;overflow-x:auto}.body-card pre,.body-card>code{max-width:100%;white-space:pre-wrap;overflow-x:auto;word-break:break-word}body{background:var(--bg);background-attachment:fixed;color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}:root{--ff-sans: "Inter", system-ui, sans-serif;--ff-mono: "Space Mono", ui-monospace, monospace;--ff-display: "Fraunces", serif;--ff-marker: var(--ff-display);--ff-script: var(--ff-display);--ff-sketch: var(--ff-sans);--ff-marquee: var(--ff-display)}.h1{font-family:var(--ff-sans);font-weight:800;font-size:56px;line-height:1.02;letter-spacing:-1.5px;color:var(--ink);margin:0 0 14px;text-wrap:balance}.h1 .accent{font-family:var(--ff-display);font-weight:600;color:var(--accent-deep);letter-spacing:-.01em;display:inline-block;position:relative}.h1 .accent:after{content:"";position:absolute;left:-2px;right:-2px;bottom:4px;height:12px;background:var(--mustard-soft);z-index:-1;transform:skew(-6deg)}.h1-workspace{font-family:var(--ff-sans);font-weight:800;font-size:28px;letter-spacing:-.5px;color:var(--ink);line-height:1;margin:0}.h1-workspace .accent{font-family:var(--ff-display);font-weight:600;color:var(--accent-deep);letter-spacing:-.01em;display:inline-block}.h2{font-family:var(--ff-sans);font-weight:700;font-size:16px;color:var(--ink);margin:0 0 8px;line-height:1.3}.h3-ui{font-family:var(--ff-sans);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink);margin:0}.lead{font-family:var(--ff-sans);font-size:17px;line-height:1.55;color:var(--ink-soft);margin:0;text-wrap:pretty}.lead strong{color:var(--ink);font-weight:600}.p{font-family:var(--ff-sans);font-size:14px;line-height:1.65;color:var(--ink);margin:0 0 12px;text-wrap:pretty}.p strong{font-weight:700}.meta-mono{font-family:var(--ff-mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.code{font-family:var(--ff-mono);font-size:12px;background:var(--surface-2);color:var(--ink);padding:1px 6px;border-radius:var(--r-sm);border:1px solid var(--border)}.h1-textbook{font-family:var(--ff-display);font-weight:700;font-size:64px;line-height:1;letter-spacing:-.02em;color:var(--accent-deep);margin:0 0 10px;text-wrap:balance}.h2-textbook{font-family:var(--ff-display);font-weight:600;font-size:42px;line-height:1;letter-spacing:-.015em;color:var(--ink);margin:0 0 8px;text-wrap:balance}.h3-marquee{font-family:var(--ff-display);font-weight:700;font-size:38px;text-transform:uppercase;letter-spacing:.04em;line-height:1.05;color:var(--ink);margin:0}.script{font-family:var(--ff-display);font-style:italic;font-weight:500;font-size:22px;line-height:1.15;color:var(--teal-deep)}.sketch{font-family:var(--ff-sans);font-style:italic;font-size:15px;line-height:1.55;color:var(--ink)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:50px;font-family:var(--ff-mono);font-size:11px;font-weight:700;letter-spacing:.04em;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);text-transform:uppercase}.pill--accent{background:var(--peach-soft);color:var(--peach-deep)}.pill--teal{background:var(--teal-soft);color:var(--teal-deep)}.pill--mustard{background:var(--mustard-soft);color:var(--mustard-deep)}.pill--green{background:var(--green-soft);color:var(--green-deep)}.pill--plum{background:var(--plum-soft);color:var(--plum-deep)}.pill--ink{background:var(--surface-2);color:var(--ink)}.pill--mini{border-radius:var(--r-sm);box-shadow:none;padding:2px 7px;font-size:10px;text-transform:none;letter-spacing:.02em}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-sans);font-size:14px;font-weight:700;padding:9px 18px;border-radius:var(--r-sm);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.btn--primary{background:var(--peach);color:var(--surface)}.btn--ghost{background:var(--surface);color:var(--ink)}.btn--ghost:hover{background:var(--surface-2)}.btn--cta{padding:14px 26px;font-size:16px;background:var(--peach);color:var(--surface);box-shadow:4px 4px 0 var(--teal-deep)}.btn--cta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--teal-deep)}.btn--cta:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--teal-deep)}.topbar{display:flex;align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(8px);position:sticky;top:0;z-index:50}.logo{display:flex;align-items:center;gap:8px;font-family:Fraunces,serif;font-size:17px;color:var(--accent-deep);transform:rotate(-1deg);text-decoration:none;cursor:pointer;user-select:none}.logo-dot{width:18px;height:18px;background:var(--accent);border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:Inter,sans-serif;font-weight:800;font-size:11px;transform:rotate(1deg);box-shadow:1px 1px 0 var(--accent-deep)}.crumb{font-family:var(--ff-mono);font-size:11.5px;color:var(--ink-soft);display:flex;align-items:center;gap:4px;text-transform:uppercase;letter-spacing:.6px}.crumb a{color:var(--accent-deep);text-decoration:none;cursor:pointer;border-bottom:1px dotted var(--accent);padding-bottom:1px}.crumb a:hover{color:var(--accent);border-bottom-style:solid}.crumb a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.crumb .sep{color:var(--ink-mute);border-bottom:0;font-weight:400}.crumb .here{color:var(--ink);font-weight:700}.topbar .right{margin-left:auto;display:flex;gap:10px;align-items:center}.pill-time{display:inline-flex;gap:6px;align-items:center;background:var(--accent-soft);color:var(--accent-deep);padding:5px 10px;border-radius:50px;font-family:Space Mono,monospace;font-size:11px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);cursor:pointer}.theme-btn,.theme-btn:hover,.theme-btn .ic{display:none!important}.dev-toggle{background:var(--surface-2);border:1px dashed var(--border-strong);color:var(--ink-soft);border-radius:6px;padding:5px 9px;font-family:Space Mono,monospace;font-size:10px;letter-spacing:.5px;cursor:pointer;display:inline-flex;gap:5px;align-items:center;transition:transform .15s ease,border-color .15s ease,background .15s ease}.dev-toggle:hover{transform:translateY(-1px);border-color:var(--accent)}.dev-toggle.is-active{background:var(--accent-soft);color:var(--accent-deep);border-color:var(--accent);border-style:solid}.avatar{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.screen{margin-left:64px;animation:screenIn .42s cubic-bezier(.2,.8,.2,1)}@media (max-width: 1100px){.screen{margin-left:0;padding-bottom:72px}}@keyframes screenIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}body.atelier-overlay-open .side-rail{display:none}.welcome-main{max-width:920px;margin:0 auto;padding:60px 24px 140px;text-align:center;position:relative;z-index:2}.welcome-eyebrow{display:inline-flex;gap:8px;align-items:center;padding:6px 14px;border-radius:50px;background:var(--accent-soft);color:var(--accent-deep);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);font-family:Inter;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;margin-bottom:22px}.welcome-eyebrow .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.4s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.2)}}.welcome-h1{font-family:Inter,sans-serif;font-weight:800;font-size:46px;line-height:1.18;color:var(--ink);letter-spacing:-1px;margin-bottom:18px;text-wrap:balance}.welcome-h1 .hi{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);transform:rotate(-2deg);display:inline-block}.welcome-h1 .wave{font-size:46px;vertical-align:middle;display:inline-block;transform-origin:70% 70%;animation:wave 1.6s ease-in-out .2s 3}@keyframes wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(15deg)}40%,80%{transform:rotate(-10deg)}}.welcome-sub{font-family:Inter;font-size:17px;color:var(--ink-soft);line-height:1.5;max-width:540px;margin:0 auto;text-wrap:pretty}.buddy-row{display:flex;align-items:center;gap:18px;justify-content:center;margin:38px 0 30px;flex-wrap:wrap}.buddy-figure{width:130px;height:130px;background:var(--surface);border:2px solid var(--border-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg),inset 0 -6px 12px color-mix(in srgb,var(--accent) 8%,transparent);flex-shrink:0;animation:bobble 4s ease-in-out infinite}.buddy-figure svg{width:110px;height:110px;display:block}@keyframes bobble{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.buddy-speech{position:relative;background:linear-gradient(135deg,var(--teal-soft) 0%,var(--accent-soft) 100%);border:1.5px solid color-mix(in srgb,var(--teal) 45%,transparent);border-radius:16px;padding:16px 20px;max-width:360px;text-align:left;font-family:Inter;font-size:14px;color:var(--ink);line-height:1.5;box-shadow:var(--shadow-md);animation:speechIn .55s ease .4s both}@keyframes speechIn{0%{opacity:0;transform:translate(-8px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}.buddy-speech:after{content:"";position:absolute;left:-10px;top:27px;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:11px solid var(--teal-soft)}.buddy-callsign{font-family:Space Mono,monospace;font-size:10px;color:var(--teal-deep);letter-spacing:1.2px;font-weight:700;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px}.buddy-callsign .ind{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 1.4s infinite}.cta-primary{display:inline-flex;gap:10px;align-items:center;padding:14px 28px;background:var(--accent);color:#fff;border:0;border-radius:10px;font-family:Inter,sans-serif;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 35%,transparent);transition:transform .15s ease,box-shadow .2s ease}.cta-primary:hover{transform:translateY(-2px);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 45%,transparent)}.cta-primary:active{transform:translateY(0)}.cta-primary .arrow{transition:transform .2s ease}.cta-primary:hover .arrow{transform:translate(4px)}.cta-row{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:6px}.cta-ghost{font-family:Inter;font-size:14px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:8px 12px;background:none;border:0;text-decoration-color:var(--ink-mute);text-decoration-thickness:1.5px}.cta-ghost:hover{color:var(--ink);text-decoration-color:var(--accent)}.route-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:56px;text-align:left}.route-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;position:relative;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.route-card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.route-card .num{font-family:Fraunces,serif;font-size:28px;color:var(--accent-deep);line-height:1;transform:rotate(-2deg);display:inline-block;margin-bottom:8px}.route-card .title{font-family:Inter;font-weight:700;font-size:15px;color:var(--ink);margin-bottom:4px}.route-card .desc{font-family:Inter;font-size:13px;color:var(--ink-soft);line-height:1.5}.welcome-asym{max-width:1100px;text-align:left;display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start;padding:56px 24px 140px}.welcome-asym .welcome-eyebrow{margin-bottom:22px}.welcome-hero{display:flex;flex-direction:column;gap:18px}.welcome-hero .welcome-h1{font-family:var(--ff-sans);font-weight:800;font-size:52px;line-height:1.05;letter-spacing:-1.2px;color:var(--ink);margin:0;text-wrap:balance;text-align:left}.welcome-hero .welcome-h1 .hi{font-family:var(--ff-display);font-weight:600;color:var(--accent-deep);display:inline-block;position:relative}.welcome-hero .welcome-h1 .hi:after{content:"";position:absolute;left:-3px;right:-3px;bottom:6px;height:12px;background:var(--mustard-soft);z-index:-1;transform:skew(-6deg)}.welcome-hero .welcome-sub{font-family:var(--ff-sans);font-size:17px;line-height:1.55;color:var(--ink-soft);max-width:540px;text-align:left;text-wrap:pretty}.welcome-hero .welcome-sub em{font-style:normal;color:var(--ink);font-weight:600;background:var(--peach-soft);padding:1px 6px;border-radius:var(--r-sm);border:1px solid var(--accent)}.welcome-buddy{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:start;padding:18px 22px;background:var(--teal-soft);border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-md);margin-top:8px}.welcome-buddy .figure{width:84px;height:84px;background:var(--surface);border:1.5px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px 0 var(--ink);animation:bobble 4s ease-in-out infinite}.welcome-buddy .figure svg{width:64px;height:64px}.welcome-buddy .bubble{font-family:var(--ff-sans);font-size:14px;line-height:1.55;color:var(--ink)}.welcome-buddy .callsign{font-family:var(--ff-mono);font-size:10px;color:var(--teal-deep);letter-spacing:1.4px;text-transform:uppercase;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:6px}.welcome-buddy .callsign .ind{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 1.4s infinite}.welcome-cta-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.welcome-aside{background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:18px 22px;align-self:start;position:sticky;top:88px}.welcome-aside-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px;margin-bottom:12px;border-bottom:1.5px dashed var(--line-strong)}.welcome-aside-head .lab{font-family:var(--ff-mono);font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:var(--ink-soft);font-weight:700}.welcome-aside-head .dur{font-family:var(--ff-mono);font-size:11px;color:var(--ink-soft)}.welcome-route{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.welcome-route .r-step{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:12px 8px;border-radius:var(--r-sm);transition:background .18s ease}.welcome-route .r-step+.r-step{border-top:1px dashed color-mix(in oklab,var(--ink) 18%,transparent)}.welcome-route .r-step .r-num{font-family:var(--ff-display);font-weight:600;font-size:28px;line-height:1;color:var(--ink-mute);letter-spacing:-.02em}.welcome-route .r-step .r-body{display:flex;flex-direction:column;gap:4px;min-width:0}.welcome-route .r-step .r-meta{font-family:var(--ff-mono);font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-mute);font-weight:700}.welcome-route .r-step .r-title{font-family:var(--ff-sans);font-size:14px;font-weight:600;color:var(--ink);line-height:1.3}.welcome-route .r-step .r-desc{font-family:var(--ff-sans);font-size:12.5px;color:var(--ink-soft);line-height:1.45}.welcome-route .r-step.r-now{background:var(--peach-soft);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);padding:12px 14px;margin:2px 0;border-top:1.5px solid var(--ink)!important}.welcome-route .r-step.r-now+.r-step{border-top:1px dashed color-mix(in oklab,var(--ink) 18%,transparent)}.welcome-route .r-step.r-now .r-num,.welcome-route .r-step.r-now .r-meta{color:var(--accent-deep)}@media (max-width: 880px){.welcome-asym{grid-template-columns:1fr;gap:32px;padding:40px 20px 100px}.welcome-aside{position:static}.welcome-hero .welcome-h1{font-size:40px;letter-spacing:-.8px}}.dash-main{max-width:1180px;margin:0 auto;padding:28px 24px 60px}.hello{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-bottom:22px;padding:24px 28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);position:relative;overflow:hidden}.hello:after{content:"";position:absolute;top:-30px;right:200px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--accent-soft),transparent 60%);opacity:.55;pointer-events:none}.hello .greet{font-family:Inter;font-weight:800;font-size:28px;line-height:1.1;color:var(--ink);letter-spacing:-.5px}.hello .greet .accent{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);transform:rotate(-1deg);display:inline-block}.hello .sub{font-family:Inter;font-size:14px;color:var(--ink-soft);margin-top:6px;text-wrap:pretty}.hello .quick{display:flex;gap:8px;align-items:center;position:relative;z-index:1}.btn-primary,.btn-ghost{font-family:Inter;font-size:13px;font-weight:600;padding:9px 16px;border-radius:var(--r-md);border:0;cursor:pointer;text-decoration:none;display:inline-flex;gap:6px;align-items:center;transition:transform .15s ease,box-shadow .2s ease}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 6px color-mix(in srgb,var(--accent) 25%,transparent)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 10px color-mix(in srgb,var(--accent) 35%,transparent)}.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm)}.btn-ghost:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent-deep)}.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .2s ease}.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi .lab{font-family:Inter;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);margin-bottom:8px;font-weight:600}.kpi .val{font-family:Inter;font-weight:800;font-size:32px;color:var(--ink);letter-spacing:-.7px;line-height:1}.kpi .delta{font-family:Space Mono,monospace;font-size:11px;margin-top:6px}.kpi .delta.up{color:var(--green)}.kpi .delta.down{color:var(--accent-deep)}.kpi .accent-stripe{position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent)}.kpi.amber .accent-stripe{background:var(--amber)}.cols{display:grid;grid-template-columns:1fr 320px;gap:20px}.col-main,.col-side{display:flex;flex-direction:column;gap:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--pad-card)}.card .head{display:flex;gap:10px;align-items:baseline;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.card .head h2{font-family:Inter;font-weight:700;font-size:15px;color:var(--ink);letter-spacing:-.2px}.card .head .meta{margin-left:auto;font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft)}.tlist{display:flex;flex-direction:column;gap:8px}.titem{display:grid;grid-template-columns:60px 14px 1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.titem:hover{background:var(--surface-3);transform:translate(3px);border-color:var(--border-strong)}.titem .id{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft);font-weight:700}.titem .stat{width:12px;height:12px;border-radius:50%;flex-shrink:0}.titem.progress .stat{background:var(--amber)}.titem.todo .stat{background:var(--indigo)}.titem .title{font-family:Inter;font-size:13.5px;color:var(--ink);font-weight:500}.titem .pri{font-family:Space Mono,monospace;font-size:10px;font-weight:700;padding:2px 7px;border-radius:50px}.pri.p0{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-deep)}.pri.p1{background:color-mix(in srgb,var(--amber) 22%,transparent);color:var(--amber-deep)}.pri.p2{background:var(--surface-2);color:var(--ink-soft)}.titem .ava{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.velocity-chart svg{display:block;width:100%;height:200px}.stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px dashed var(--border);font-family:Inter;font-size:13px;color:var(--ink-soft)}.stat-row:last-child{border-bottom:none}.stat-row .v{color:var(--ink);font-weight:600;font-family:Space Mono,monospace;font-size:12px}.stat-row .v.green{color:var(--green)}.stat-row .v.accent{color:var(--accent-deep)}.buddy-nudge{background:linear-gradient(135deg,var(--teal-soft) 0%,var(--accent-soft) 100%);border:1.5px solid color-mix(in srgb,var(--teal) 30%,transparent);border-radius:var(--r-lg);padding:16px;position:relative}.buddy-nudge .callsign{font-family:Space Mono,monospace;font-size:10px;color:var(--teal-deep);letter-spacing:1.2px;font-weight:700;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px}.buddy-nudge .callsign .ind{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 1.4s infinite}.buddy-nudge .text{font-family:Inter;font-size:13px;color:var(--ink);line-height:1.5;margin-bottom:10px}.buddy-nudge .nudge-btn{font-family:Inter;font-size:12px;font-weight:600;background:var(--surface);color:var(--accent-deep);border:1px solid var(--border-strong);padding:6px 12px;border-radius:var(--r-sm);cursor:pointer}.buddy-nudge .nudge-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.hello{border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.hello:after{display:none!important}.hello .greet{font-family:var(--ff-display);font-weight:600;font-size:32px;letter-spacing:-.015em}.hello .greet .accent{font-family:var(--ff-display);font-weight:600;color:var(--peach-deep);transform:none;position:relative;display:inline-block}.hello .greet .accent:after{content:"";position:absolute;left:-2px;right:-2px;bottom:4px;height:10px;background:var(--mustard-soft);z-index:-1;transform:skew(-6deg)}.kpi{border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.kpi:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-lg)}.kpi .accent-stripe{position:absolute;top:0;bottom:0;left:0;width:3px;height:auto;background:var(--peach)}.kpi.teal .accent-stripe{background:var(--teal)}.kpi.amber .accent-stripe{background:var(--mustard)}.kpi.green .accent-stripe{background:var(--green)}.kpi .val{font-family:var(--ff-display);font-weight:600;letter-spacing:-.02em}.kpi .lab{letter-spacing:.1em}.card{border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.card .head{border-bottom:1.5px dashed var(--line-strong)}.card .head h2{font-family:var(--ff-display);font-weight:600;font-size:16px;letter-spacing:-.01em}.titem{background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-sm)}.titem:hover{background:var(--surface-2);transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--ink);border-color:var(--ink)}.titem.progress .stat{background:var(--mustard)}.titem.todo .stat{background:var(--ink-mute)}.titem.review .stat{background:var(--teal)}.titem.blocked .stat{background:var(--accent-deep)}.titem .pri{border:1.5px solid var(--ink);background:var(--surface-2)}.titem .ava{font-family:var(--ff-mono);border:1.5px solid var(--ink);border-radius:var(--r-sm);background:var(--peach)}.titem.sprint-btn{display:grid;grid-template-columns:60px 14px 1fr auto auto;gap:12px;align-items:center;padding:10px 12px;width:100%;text-align:left;background:var(--surface-2);cursor:pointer;font:inherit;color:inherit}.titem.sprint-btn.locked{background:var(--surface-3);opacity:.55;cursor:not-allowed}.titem.sprint-btn.active{border-color:var(--ink);box-shadow:var(--shadow-md)}.buddy-nudge{background:var(--teal-soft);border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.buddy-nudge .nudge-btn{background:var(--surface);color:var(--ink);border:1.5px solid var(--ink);border-radius:var(--r-sm);box-shadow:2px 2px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease}.buddy-nudge .nudge-btn:hover{background:var(--peach);color:var(--surface);border-color:var(--ink);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.notebook-page{background:var(--surface);border:1.5px dashed var(--line-strong);border-radius:var(--r-md);padding:20px 22px}.notebook-page .marker-h{font-family:var(--ff-display);font-weight:600;color:var(--peach-deep);font-size:22px;margin-bottom:8px}.notebook-page .scribble{font-family:var(--ff-sans);font-style:italic;font-size:14px;color:var(--ink-soft);line-height:1.55}.atelier-rail-card{display:flex;flex-direction:column;gap:8px}.atelier-rail-card .preview-zone{padding:14px;background:var(--surface-2);border:1.5px dashed var(--ink);border-radius:var(--r-sm);font-family:var(--ff-sans);font-size:13px;color:var(--ink-soft);line-height:1.55;opacity:.85;cursor:pointer;transition:opacity .15s ease,border-color .15s ease,transform .12s ease}.atelier-rail-card .preview-zone:hover{opacity:1;border-color:var(--peach-deep);transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--ink)}.atelier-rail-card .preview-zone:focus-visible{outline:2px solid var(--peach);outline-offset:2px}.atelier-rail-card .preview-hint{margin-top:10px;font-family:var(--ff-mono);font-size:11px;color:var(--peach-deep);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.atelier-preview-modal__backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--ink) 60%,transparent);z-index:70;display:flex;align-items:center;justify-content:center;padding:20px}.atelier-preview-modal{background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:26px 28px;width:460px;max-width:calc(100vw - 40px);font-family:var(--ff-sans)}.atelier-preview-modal h2{font-family:var(--ff-display);font-weight:600;font-size:22px;letter-spacing:-.015em;color:var(--ink);margin-bottom:12px}.atelier-preview-modal p{font-size:14px;color:var(--ink-soft);line-height:1.6;margin-bottom:12px}.atelier-preview-modal ul{list-style:none;padding:0;margin:0 0 14px}.atelier-preview-modal li{padding:6px 0;font-size:13.5px;color:var(--ink-soft)}.atelier-preview-modal .modal-foot{font-size:13px;color:var(--ink-mute);line-height:1.55;margin-bottom:18px}.atelier-preview-modal .modal-actions{display:flex;justify-content:flex-end}.locked-hint{position:fixed;bottom:88px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--surface);padding:12px 20px;border:1.5px solid var(--ink);border-radius:var(--r-sm);box-shadow:4px 4px 0 var(--peach);font-family:var(--ff-sans);font-size:13px;max-width:480px;text-align:center;z-index:60}.ticket-main{max-width:1100px;margin:0 auto;padding:24px 24px 60px;display:grid;grid-template-columns:1fr 280px;gap:22px}.ticket-head{grid-column:1 / -1;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 24px}.id-row{display:flex;gap:10px;align-items:center;font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);margin-bottom:8px;flex-wrap:wrap}.id-row .id{font-weight:700;color:var(--ink-soft)}.id-row .pill{padding:3px 9px;border-radius:50px;font-size:10px;font-weight:700;letter-spacing:.4px}.pill.docs{background:var(--teal-soft);color:var(--teal-deep);border:1px solid color-mix(in srgb,var(--teal) 30%,transparent)}.pill.master{background:var(--indigo-soft);color:var(--indigo)}.pill.p1-pill{background:color-mix(in srgb,var(--amber) 22%,transparent);color:var(--amber-deep)}.pill.p0-pill{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent-deep)}.pill.pill--homework{background:#faece7;color:#712b13;border:1px solid color-mix(in srgb,#D85A30 30%,transparent);display:inline-flex;align-items:center}.body-card .hw-section{font-family:Inter,sans-serif;font-weight:700;font-size:15px;color:var(--ink);margin:20px 0 8px;letter-spacing:-.1px}.body-card .hw-section:first-child{margin-top:0}.body-card .hw-list{margin:0 0 14px;padding-left:22px;list-style:disc}.body-card .hw-list li{margin:6px 0;line-height:1.55;color:var(--ink)}.body-card p{margin:0 0 10px;line-height:1.55;color:var(--ink)}.ticket-head h1{font-family:Inter;font-weight:700;font-size:26px;line-height:1.2;letter-spacing:-.4px;color:var(--ink);margin-bottom:12px;text-wrap:balance}.workflow{display:flex;gap:0;align-items:stretch;background:var(--surface-2);border-radius:var(--r-md);padding:4px;width:fit-content}.workflow .step{padding:7px 14px;border-radius:var(--r-sm);font-family:Inter;font-size:12px;color:var(--ink-soft);cursor:pointer;display:flex;gap:6px;align-items:center;border:1px solid transparent;transition:background .18s ease,color .18s ease}.workflow .step:hover{color:var(--ink)}.workflow .step .dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.6}.workflow .step.done{color:var(--green)}.workflow .step.cur{background:var(--surface);color:var(--ink);font-weight:600;border-color:var(--border-strong);box-shadow:0 1px 2px #0000000d}.workflow .step.cur .dot{background:var(--amber);animation:pulse 1.4s infinite}.body-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 26px}.body-card h2{font-family:Inter;font-weight:700;font-size:16px;color:var(--ink);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center}.body-card h2 .ic{font-size:14px;opacity:.8}.body-card p{font-family:Inter;font-size:14px;line-height:1.65;color:var(--ink);margin-bottom:12px;text-wrap:pretty}.body-card p strong{color:var(--ink);font-weight:600}.body-card ol,.body-card ul{font-family:Inter,sans-serif;font-size:14px;line-height:1.65;color:var(--ink);margin:0 0 14px;padding-left:24px}.body-card ol li,.body-card ul li{font-size:14px;line-height:1.65;margin-bottom:6px}.body-card ol li:last-child,.body-card ul li:last-child{margin-bottom:0}.body-card ol li strong,.body-card ul li strong{color:var(--ink);font-weight:600}.ac-list{display:flex;flex-direction:column}.ac-item{display:flex;gap:10px;align-items:flex-start;padding:7px 4px;border-bottom:1px solid var(--border);transition:background .18s ease}.ac-item:last-child{border-bottom:0}.ac-item:hover{background:var(--surface-2)}.ac-item .check{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--ink-mute);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease;margin-top:1px}.ac-item .check:hover{transform:scale(1.08);border-color:var(--green)}.ac-item.done .check{background:var(--green);border-color:var(--green);animation:checkPop .32s ease}.ac-item.done .check:before{content:"✓"}@keyframes checkPop{0%{transform:scale(.85)}50%{transform:scale(1.18)}to{transform:scale(1)}}.ac-item .text{font-family:Inter,sans-serif;font-style:italic;font-size:13px;line-height:1.55;color:var(--ink);transition:color .25s ease}.ac-item.done .text{text-decoration:line-through;color:var(--ink-soft)}.comments{display:flex;flex-direction:column;gap:10px}.comment{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 12px;background:var(--surface-2);border-radius:var(--r-md);border:1px solid var(--border);animation:commentIn .32s ease}@keyframes commentIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.comment.auto{border-left:3px solid var(--teal)}.comment .ava{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.comment.auto .ava{background:var(--teal)}.comment .meta{display:flex;gap:8px;align-items:baseline;font-family:Inter;font-size:11px;color:var(--ink-soft);margin-bottom:3px}.comment .meta .n{color:var(--ink);font-weight:600}.comment .meta .auto-tag{background:var(--teal-soft);color:var(--teal-deep);padding:1px 6px;border-radius:50px;font-family:Space Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.4px}.comment .text{font-family:Inter;font-size:13px;color:var(--ink);line-height:1.55}.comment .text code{font-family:Space Mono,monospace;font-size:12px;background:var(--surface);padding:1px 5px;border-radius:3px}.add-comment{display:flex;gap:8px;margin-top:12px}.add-comment textarea{flex:1;padding:10px 12px;min-height:64px;border:1px solid var(--border-strong);border-radius:var(--r-md);font-family:Inter;font-size:13px;resize:vertical;background:var(--surface);color:var(--ink)}.add-comment textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.add-comment button{padding:8px 14px;background:var(--accent);color:#fff;border:0;border-radius:var(--r-md);cursor:pointer;align-self:flex-end;font-family:Inter;font-size:12px;font-weight:600;transition:transform .15s ease,box-shadow .2s ease}.add-comment button:hover{transform:translateY(-1px);box-shadow:0 4px 8px color-mix(in srgb,var(--accent) 35%,transparent)}.add-comment button:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.section{margin-top:18px}.side{display:flex;flex-direction:column;gap:14px}.side-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px}.side-card .h{font-family:Inter;font-size:11px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.side-row{display:flex;justify-content:space-between;padding:5px 0;font-family:Inter;font-size:12.5px;color:var(--ink-soft)}.side-row .v{color:var(--ink);font-weight:500}.side-row .v.red{color:var(--accent-deep);font-weight:700}.side-row .v.green{color:var(--green);font-weight:700}.side .side-card .body-text{font-family:Inter;font-size:13.5px;line-height:1.5;color:var(--ink-soft)}.side .side-card .body-text strong{color:var(--ink);font-weight:600}.close-btn{width:100%;padding:12px 14px;background:var(--green);color:#fff;border:0;border-radius:var(--r-md);cursor:pointer;font-family:Inter;font-size:13px;font-weight:700;letter-spacing:.2px;transition:transform .15s ease,box-shadow .2s ease}.close-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px color-mix(in srgb,var(--green) 35%,transparent)}@media (min-width: 1100px){.ticket-main>.side{position:sticky;top:80px;align-self:start}}.ticket-action-bar{display:none}@media (max-width: 1099px){.ticket-action-bar{display:flex;align-items:center;gap:8px;position:fixed;left:0;right:0;bottom:56px;z-index:36;padding:8px 12px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(6px);border-top:1px solid var(--border);box-shadow:0 -6px 16px -8px #0000002e}.ticket-action-bar__nav{flex:0 0 40px;height:40px;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--r-md);color:var(--ink);font-family:Inter,sans-serif;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,opacity .15s ease}.ticket-action-bar__nav:hover:not(:disabled){background:var(--surface-2)}.ticket-action-bar__nav:disabled{opacity:.32;cursor:not-allowed}.ticket-action-bar__cta{flex:1 1 auto;min-width:0;height:40px;padding:0 14px;border:0;background:var(--surface-2);color:var(--ink-mute);border-radius:var(--r-md);font-family:Inter,sans-serif;font-size:13px;font-weight:700;letter-spacing:.2px;cursor:not-allowed;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;transition:background .18s ease,color .18s ease}.ticket-action-bar__cta.is-ready{background:var(--green);color:#fff;cursor:pointer}.ticket-action-bar__cta.is-closed{background:color-mix(in srgb,var(--green) 20%,var(--surface));color:var(--green);cursor:default}.ticket-main{padding-bottom:120px}.side>.close-btn{display:none}}.notebook-page{background:var(--surface);background-image:repeating-linear-gradient(0deg,transparent 0 26px,color-mix(in srgb,var(--teal) 20%,transparent) 26px 27px);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:28px 32px 28px 56px;position:relative;box-shadow:var(--shadow-md);min-height:200px}.notebook-page:before{content:"";position:absolute;left:32px;top:0;bottom:0;width:1.5px;background:var(--accent);opacity:.4}.notebook-page .marker-h{font-family:Fraunces,serif;color:var(--accent-deep);font-size:24px;transform:rotate(-1deg);display:inline-block;margin-bottom:6px}.notebook-page .scribble{font-family:Inter,sans-serif;font-style:italic;font-size:16px;color:var(--ink-soft);line-height:1.6}.morning-main{max-width:760px;margin:0 auto;padding:56px 24px 140px}.morning-eyebrow{display:flex;gap:10px;align-items:center;font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:18px;font-weight:700}.morning-eyebrow:after{content:"";flex:1;height:1px;background:var(--border-strong)}.morning-eyebrow .day-pill{background:var(--accent-soft);color:var(--accent-deep);padding:3px 9px;border-radius:50px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.morning-h1{font-family:Inter,sans-serif;font-weight:800;font-size:38px;line-height:1.18;letter-spacing:-.8px;color:var(--ink);margin-bottom:10px;text-wrap:balance}.morning-h1 .accent{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);transform:rotate(-2deg);display:inline-block}.morning-sub{font-family:Inter,sans-serif;font-size:16px;color:var(--ink-soft);line-height:1.55;margin-bottom:28px;text-wrap:pretty}.morning-bridge{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;margin-bottom:28px}.morning-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 22px}.morning-col .lab{font-family:Space Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-mute);font-weight:700;margin-bottom:10px}.morning-col h3{font-family:Inter,sans-serif;font-weight:700;font-size:14px;color:var(--ink);margin-bottom:4px}.morning-col .row{display:flex;gap:10px;align-items:center;padding:8px 0;font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);line-height:1.4}.morning-col .row .ic{width:22px;height:22px;border-radius:50%;background:var(--surface-2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--ink-soft)}.morning-col .row.done .ic{background:var(--green);color:#fff}.morning-col .row.queue .ic{background:var(--amber);color:#fff}.morning-col .row.now .ic{background:var(--accent);color:#fff}.morning-arrow{display:flex;align-items:center;justify-content:center;padding:0 16px;font-family:Fraunces,serif;font-size:28px;color:var(--accent);transform:rotate(-4deg)}.continue-card{background:linear-gradient(135deg,var(--accent-soft) 0%,var(--amber-soft) 100%);border:1.5px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:var(--r-xl);padding:22px 26px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-bottom:22px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.continue-card:before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 70%);opacity:.7;pointer-events:none}.continue-card .lab{font-family:Space Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--accent-deep);font-weight:700;margin-bottom:4px}.continue-card h2{font-family:Inter,sans-serif;font-weight:800;font-size:22px;color:var(--ink);margin-bottom:6px;line-height:1.2;letter-spacing:-.4px}.continue-card .progress-mini{display:flex;gap:8px;align-items:center;font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft)}.continue-card .pbar{width:90px;height:6px;border-radius:50px;background:#00000014;overflow:hidden}.continue-card .pbar>div{height:100%;background:var(--accent);border-radius:50px;animation:pgrow .8s cubic-bezier(.2,.8,.2,1)}@keyframes pgrow{0%{width:0}}.morning-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.morning-actions .btn-ghost{font-size:13px}.morning-buddy{display:grid;grid-template-columns:80px 1fr;gap:16px;align-items:start;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.morning-buddy .figure{width:80px;height:80px;background:var(--surface-2);border:1.5px solid var(--border-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:bobble 4s ease-in-out infinite}.morning-buddy .figure svg{width:64px;height:64px}.morning-buddy .text{font-family:Inter,sans-serif;font-size:14px;color:var(--ink);line-height:1.55}.morning-buddy .callsign{font-family:Space Mono,monospace;font-size:10px;color:var(--teal-deep);letter-spacing:1.2px;font-weight:700;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px}.morning-buddy .callsign .ind{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 1.4s infinite}.morning-eyebrow .day-pill{background:var(--peach);color:var(--surface);padding:4px 11px;border-radius:var(--r-sm);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);font-weight:700;letter-spacing:.08em}.morning-eyebrow .time{font-family:var(--ff-mono);font-weight:700;color:var(--ink-soft)}.morning-eyebrow:after{height:1.5px;background:var(--ink);opacity:.5}.morning-h1{font-family:var(--ff-display);font-weight:600;font-size:44px;line-height:1.08;letter-spacing:-.02em}.morning-h1 .accent{font-family:var(--ff-display);font-weight:600;color:var(--peach-deep);display:inline-block;position:relative;transform:none;letter-spacing:-.01em}.morning-h1 .accent:after{content:"";position:absolute;left:-2px;right:-2px;bottom:4px;height:10px;background:var(--mustard-soft);z-index:-1;transform:skew(-6deg)}.continue-card{background:var(--peach);border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-lg);color:var(--surface)}.continue-card:before{content:"";position:absolute;inset:0;width:100%;height:100%;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.18) 1px,transparent 1.4px) 0 0 / 8px 8px;pointer-events:none;opacity:1;border-radius:var(--r-md)}.continue-card .body{position:relative;z-index:1}.continue-card .lab{color:var(--surface);opacity:.85;letter-spacing:.16em;margin-bottom:6px}.continue-card h2{font-family:var(--ff-display);font-weight:600;color:var(--surface);font-size:24px;letter-spacing:-.015em;margin-bottom:10px}.continue-card .progress-mini{color:var(--surface);opacity:.95;font-weight:600}.continue-card .pbar{width:100px;height:6px;border-radius:var(--r-sm);background:#ffffff40;border:1px solid var(--ink)}.continue-card .pbar>div{background:var(--surface);border-radius:0;border-right:1px solid var(--ink)}.morning-col{background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.morning-col .lab{letter-spacing:.16em;color:var(--ink-soft)}.morning-col .row .ic{width:22px;height:22px;border-radius:var(--r-sm);border:1.5px solid var(--ink);font-family:var(--ff-mono);font-weight:700;background:var(--surface-2);color:var(--ink-soft)}.morning-col .row.done .ic{background:var(--teal);color:var(--surface)}.morning-col .row.queue .ic{background:var(--mustard);color:var(--ink)}.morning-col .row.now .ic{background:var(--peach);color:var(--surface)}.morning-arrow{font-family:var(--ff-display);font-weight:600;font-size:32px;color:var(--peach-deep);transform:none;padding:0 18px}.morning-buddy{grid-template-columns:88px 1fr;gap:18px;padding:18px 22px;background:var(--teal-soft);border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.morning-buddy .figure{width:84px;height:84px;background:var(--surface);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.morning-buddy .callsign .ind{width:7px;height:7px}.week-spark{background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-md);padding:14px 18px;box-shadow:var(--shadow-md);margin-bottom:18px}.week-spark .ws-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.week-spark .lab{font-family:var(--ff-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.week-spark .ws-meta{font-family:var(--ff-mono);font-size:11px;color:var(--ink-soft)}.week-spark .ws-svg{width:100%;height:60px;display:block}.week-spark .ws-axis{display:flex;justify-content:space-between;font-family:var(--ff-mono);font-size:10px;color:var(--ink-soft);padding:0 6px;margin-top:4px}.week-spark .ws-axis .is-today{color:var(--peach-deep);font-weight:700}.lessons-progress{background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-md);padding:14px 18px;box-shadow:var(--shadow-md);margin-bottom:22px}.lessons-progress .lp-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.lessons-progress .lab{font-family:var(--ff-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.lessons-progress .lp-meta{font-family:var(--ff-mono);font-size:11px;color:var(--ink-soft)}.lessons-progress .lp-row{display:grid;grid-template-columns:160px 1fr 44px;gap:12px;align-items:center;padding:7px 0;font-family:var(--ff-sans);font-size:13px}.lessons-progress .lp-row+.lp-row{border-top:1px dashed color-mix(in oklab,var(--ink) 20%,transparent)}.lessons-progress .lp-name{color:var(--ink);font-weight:500}.lessons-progress .lp-row.is-active .lp-name{color:var(--peach-deep);font-weight:700}.lessons-progress .lp-bar{height:8px;background:var(--surface-2);border:1px solid color-mix(in oklab,var(--ink) 22%,transparent);border-radius:999px;overflow:hidden}.lessons-progress .lp-bar>div{height:100%;background:var(--peach);border-right:1px solid var(--ink)}.lessons-progress .lp-row.is-active .lp-bar>div{background:var(--peach-deep)}.lessons-progress .lp-pct{font-family:var(--ff-mono);font-size:11px;color:var(--ink);text-align:right;font-weight:700}.foot-nav{position:fixed;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:6px;padding:6px;background:var(--surface);border:1px solid var(--border-strong);border-radius:50px;box-shadow:var(--shadow-md);z-index:40}.foot-nav button{font-family:Inter;font-size:12px;font-weight:600;padding:8px 14px;border-radius:50px;background:transparent;border:0;cursor:pointer;color:var(--ink-soft);transition:all .18s ease;display:inline-flex;gap:6px;align-items:center}.foot-nav button:hover{color:var(--ink)}.foot-nav button.active{background:var(--accent);color:#fff;box-shadow:0 2px 6px color-mix(in srgb,var(--accent) 30%,transparent)}.foot-nav button .num{font-family:Space Mono,monospace;font-size:10px;opacity:.7}.foot-nav button .caret{font-size:11px;line-height:1;opacity:.9;margin-left:2px}.foot-nav .fn-group{position:relative}.foot-nav .fn-pop{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;padding:6px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:2px;min-width:200px;z-index:41}.foot-nav .fn-pop a{font-family:Inter;font-size:12px;font-weight:500;padding:8px 12px;border-radius:8px;color:var(--ink-soft);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .12s ease}.foot-nav .fn-pop a:hover{background:var(--surface-2);color:var(--ink)}.foot-nav .fn-pop a.act{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}.skeleton-line{display:inline-block;background:var(--surface-2);animation:skeleton-pulse 1.5s ease-in-out infinite;vertical-align:middle}.skeleton-line--avatar{vertical-align:middle}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.skeleton-card__head{display:flex;align-items:center;gap:10px}.skeleton-card__meta{display:flex;align-items:center;gap:8px;margin-top:6px}.skeleton-list{display:flex;flex-direction:column;gap:10px}.skeleton-widget{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:14px}.skeleton-widget__row{display:flex;gap:12px;flex-wrap:wrap}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 24px;gap:10px;color:var(--ink-soft)}.empty-state--compact{padding:16px 12px;gap:6px}.empty-state__placeholder{width:120px;height:120px;background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--ink-soft);margin-bottom:4px}.empty-state__title{font-family:Inter,sans-serif;font-weight:600;font-size:16px;color:var(--ink);margin:0}.empty-state__body{font-family:Inter,sans-serif;font-size:14px;line-height:1.45;color:var(--ink-soft);max-width:320px;margin:0}.error-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 24px;gap:10px;color:var(--ink-soft)}.error-state--compact{padding:16px 12px;gap:6px}.error-state__glyph{font-size:32px;color:var(--accent-deep);line-height:1}.error-state__title{font-family:Inter,sans-serif;font-weight:600;font-size:16px;color:var(--ink);margin:0}.error-state__body{font-family:Inter,sans-serif;font-size:14px;line-height:1.45;color:var(--ink-soft);max-width:360px;margin:0}.error-state__actions{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;justify-content:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){.skeleton-line{animation:none;opacity:.7}}@keyframes drawer-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}.drawer-portal{position:fixed;inset:0;z-index:100}.drawer-backdrop{position:absolute;inset:0;background:#0006;animation:drawer-fade-in .2s ease-out}.nav-drawer{position:absolute;top:0;left:0;bottom:0;background:var(--surface);border-right:1px solid var(--border-strong);box-shadow:4px 0 24px #2d1b0e1f;padding:16px;overflow-y:auto;animation:drawer-slide-in .25s ease-out;outline:none}.hamburger-btn{display:none;background:transparent;border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;align-items:center;justify-content:center}.hamburger-btn:hover{background:var(--surface-2)}.hamburger-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hamburger-btn>span{display:inline-flex;flex-direction:column;gap:4px;width:18px}.hamburger-bar{display:block;height:2px;background:var(--ink);border-radius:2px}@media (max-width: 1099px){.hamburger-btn{display:inline-flex}}@media (prefers-reduced-motion: reduce){.drawer-backdrop,.nav-drawer{animation:none}}.board-screen{display:flex;flex-direction:column;min-height:100vh}.board-main{flex:1;padding:20px 24px 32px;max-width:1400px;width:100%;margin:0 auto}.board-header{margin-bottom:16px}.board-header h1{margin:0 0 4px}.board-header .lead{margin:0;color:var(--ink-soft);font-size:14px}.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:12px}.board-column{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;min-height:240px;transition:background .12s ease,border-color .12s ease}.board-column--hover{background:var(--surface-2);border-color:var(--border-strong)}.board-column__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:4px 6px}.board-column__title{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.board-column__count{font-family:Space Mono,monospace;font-size:12px;color:var(--ink-mute, var(--ink-soft));background:var(--surface-2);padding:2px 8px;border-radius:50px}.board-column__body{display:flex;flex-direction:column;gap:8px;flex:1}.board-card-wrap{position:relative;cursor:grab;transition:transform .15s ease,box-shadow .15s ease}.board-card-wrap:active{cursor:grabbing}.board-card-wrap--dragging{opacity:.5;transform:rotate(-1deg) scale(1.02) translateY(-2px);box-shadow:0 8px 24px #2d1b0e26}.board-card-review-tag{position:absolute;top:-6px;left:8px;font-family:Inter,sans-serif;font-size:10px;background:var(--amber-soft, #FFE5B4);color:var(--amber-deep, #8B5A00);padding:2px 8px;border-radius:50px;border:1px solid var(--amber, #DC9D2C);z-index:1}@media (max-width: 1500px){.board-grid{grid-template-columns:1fr;grid-auto-flow:row;grid-auto-columns:auto;overflow-x:visible;scroll-snap-type:x mandatory;padding-bottom:4px}.board-column{scroll-snap-align:center}}@media (prefers-reduced-motion: reduce){.board-card-wrap--dragging{transform:none}}.ticket-main--bug .body-card{border-left:3px solid var(--accent)}.severity-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:50px;font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.severity-badge--p0{background:var(--accent-soft);color:var(--accent-deep);border:1px solid var(--accent)}.severity-badge--p1{background:var(--amber-soft, #FFE5B4);color:var(--amber-deep, #8B5A00);border:1px solid var(--amber, #DC9D2C)}.severity-badge--p2{background:var(--teal-soft, #CCEAEA);color:var(--teal-deep, #0E5856);border:1px solid var(--teal, #2FA09D)}.severity-badge--p3{background:var(--indigo-soft, #DDDFF5);color:var(--indigo-deep, #2D2F75);border:1px solid var(--indigo, #6D72D8)}.bug-gwt{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px 16px;display:flex;flex-direction:column}.bug-gwt__row+.bug-gwt__row{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.bug-gwt__label{font-family:Inter,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--accent-deep);margin-bottom:4px}.bug-gwt__value{font-family:Inter,sans-serif;font-size:14px;color:var(--ink);white-space:pre-line;line-height:1.45}.bug-ea{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bug-ea__col{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.bug-ea__head{font-family:Inter,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--accent-deep);margin-bottom:6px}.bug-ea__body{font-family:Space Mono,monospace;font-size:12px;color:var(--ink);white-space:pre-line;line-height:1.5}@media (max-width: 767px){.bug-ea{grid-template-columns:1fr}}.skills-tracker__blocks{display:flex;flex-direction:column;gap:10px}.skills-block{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.skills-block__head{display:flex;align-items:center;gap:8px;width:100%;background:var(--surface-2);border:0;padding:10px 14px;cursor:pointer;font:inherit;color:inherit;text-align:left;border-bottom:1px solid var(--border)}.skills-block:not(.skills-block--open) .skills-block__head{border-bottom:0}.skills-block__head:hover{background:var(--surface-3, var(--surface-2))}.skills-block__chevron{font-family:Space Mono,monospace;font-size:12px;color:var(--ink-soft);width:14px;text-align:center}.skills-block__title{flex:1;font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--ink)}.skills-block__meta{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft)}.skills-block__body{padding:14px}.skills-block__empty{font-family:Inter,sans-serif;font-size:12px;color:var(--ink-mute, var(--ink-soft));text-align:center;padding:12px}.skills-block__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.skill-ring{background:transparent;border:0;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;border-radius:8px;transition:background .12s ease,transform .12s ease}.skill-ring:hover{background:var(--surface-2);transform:translateY(-1px)}.skill-ring:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skill-ring__ring{position:relative;width:60px;height:60px}.skill-ring__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.skill-ring__emoji{font-size:18px;line-height:1}.skill-ring__pct{font-family:Space Mono,monospace;font-size:10px;font-weight:700;color:var(--ink);margin-top:1px}.skill-ring__label{font-family:Inter,sans-serif;font-size:11px;color:var(--ink-soft);text-align:center;line-height:1.25;max-width:90px}@media (max-width: 767px){.skills-block__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){.skill-ring__ring circle{transition:none!important}.skill-ring:hover{transform:none}}.ctfl-path__lead{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);margin:6px 0 12px}.ctfl-path__pills{display:flex;flex-wrap:wrap;gap:8px}.ctfl-pill{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:110px;padding:6px 14px;border-radius:50px;border:1px solid var(--border-strong);background:var(--surface-2);overflow:hidden;isolation:isolate;transition:transform .12s ease,box-shadow .12s ease}.ctfl-pill:hover{transform:translateY(-1px);box-shadow:0 2px 6px #2d1b0e1a}.ctfl-pill__fill{position:absolute;inset:0 auto 0 0;z-index:-1;border-radius:50px;transition:width .6s ease-out}.ctfl-pill--red{border-color:var(--accent);color:var(--accent-deep)}.ctfl-pill--red .ctfl-pill__fill{background:linear-gradient(90deg,var(--accent-soft),transparent)}.ctfl-pill--amber{border-color:var(--amber, #DC9D2C);color:var(--amber-deep, #8B5A00)}.ctfl-pill--amber .ctfl-pill__fill{background:linear-gradient(90deg,var(--amber-soft, #FFE5B4),transparent)}.ctfl-pill--green{border-color:var(--green, #5BA76E);color:var(--green-deep, #2A6B3D)}.ctfl-pill--green .ctfl-pill__fill{background:linear-gradient(90deg,var(--green-soft, #CCEBD3),transparent)}.ctfl-pill--neutral{border-color:var(--border-strong);color:var(--ink-mute, var(--ink-soft));opacity:.7}.ctfl-pill__text{display:inline-flex;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:12px;font-weight:700}.ctfl-pill__short{font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.ctfl-pill__pct{font-size:12px}.ctfl-path__summary{margin-top:14px;padding-top:10px;border-top:1px dashed var(--border)}.ctfl-path__summary-text{font-family:Inter,sans-serif;font-size:12px;color:var(--ink-soft)}.ctfl-path__summary-text strong{color:var(--ink)}@media (max-width: 767px){.ctfl-pill{min-width:calc(50% - 4px);flex:1 0 calc(50% - 4px)}}@media (max-width: 480px){.ctfl-pill{min-width:100%;flex:1 0 100%}}@media (prefers-reduced-motion: reduce){.ctfl-pill,.ctfl-pill__fill{transition:none}.ctfl-pill:hover{transform:none}}.quiz-block-breakdown{margin-top:16px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px}.quiz-block-breakdown__title{font-family:Inter,sans-serif;font-size:14px;font-weight:700;color:var(--ink);margin:0 0 4px}.quiz-block-breakdown__lead{font-family:Inter,sans-serif;font-size:12px;color:var(--ink-soft);margin:0 0 10px}.quiz-block-breakdown__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.quiz-block-row{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-radius:6px}.quiz-block-row--green{border-left-color:var(--green, #5BA76E)}.quiz-block-row--amber{border-left-color:var(--amber, #DC9D2C)}.quiz-block-row--red{border-left-color:var(--accent)}.quiz-block-row__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.quiz-block-row__name{font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--ink)}.quiz-block-row__score{display:inline-flex;align-items:baseline;gap:8px;font-family:Space Mono,monospace;font-size:12px;color:var(--ink-soft)}.quiz-block-row__pct{font-weight:700;color:var(--ink)}.quiz-block-row__hint{font-family:Inter,sans-serif;font-size:11.5px;color:var(--ink-soft);display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.quiz-block-row__ticket-link{font-family:Space Mono,monospace;font-size:11px;background:transparent;border:0;padding:1px 5px;border-radius:4px;cursor:pointer;color:var(--accent-deep);font-weight:700}.quiz-block-row__ticket-link:hover{background:var(--accent-soft)}.quiz-block-row__ticket-tag{font-family:Space Mono,monospace;font-size:11px;background:var(--surface-2);border-radius:4px;padding:1px 5px;color:var(--ink)}.skills-block__more{display:inline-flex;align-items:center;gap:4px;margin-top:10px;padding:6px 10px;background:transparent;border:1px dashed var(--border-strong);border-radius:6px;cursor:pointer;font-family:Inter,sans-serif;font-size:11.5px;color:var(--ink-soft);transition:background .12s ease,border-color .12s ease}.skills-block__more:hover{background:var(--surface-2);border-color:var(--accent);color:var(--ink)}.skills-block__more:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skills-block__grid--muted .skill-ring{opacity:.6}.skills-block__grid--muted{margin-top:12px}.auth-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--bg, var(--surface))}.auth-shell__topbar{height:56px;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid var(--border)}.auth-shell__split{flex:1;display:grid;grid-template-columns:1fr 1fr;max-width:1400px;width:100%;margin:0 auto}.auth-shell__hero{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;overflow:hidden}.auth-shell__gradient{position:absolute;inset:0;background:radial-gradient(ellipse at top left,var(--accent-soft) 0%,transparent 60%);z-index:0}.auth-shell__buddy{position:relative;z-index:1}@keyframes auth-buddy-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.auth-shell__buddy--pulse{animation:auth-buddy-pulse .8s ease-in-out 2}.auth-shell__hero-tagline{position:relative;z-index:1;margin-top:24px;text-align:center;font-family:Inter,sans-serif;font-size:17px;color:var(--ink);line-height:1.4}.auth-shell__hero-marker{font-family:Fraunces,serif;font-size:28px;color:var(--accent-deep);display:inline-block;transform:rotate(-1deg)}.auth-shell__form-area{display:flex;align-items:center;justify-content:center;padding:32px}.auth-shell__form-card{width:100%;max-width:480px;background:var(--surface);border-radius:14px;padding:32px;box-shadow:var(--shadow-shell, 0 4px 24px rgba(45, 27, 14, .08))}.auth-shell__title{font-family:Inter,sans-serif;font-weight:800;font-size:28px;color:var(--ink);margin:0 0 8px}.auth-shell__subtitle{font-family:Inter,sans-serif;font-size:17px;color:var(--ink-soft);margin:0 0 24px;line-height:1.45}.auth-shell__body{display:flex;flex-direction:column;gap:16px}.auth-shell__cross-link{margin-top:20px;text-align:center;font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft)}.auth-shell__cross-link a,.auth-shell__cross-link button{background:transparent;border:0;color:var(--accent-deep);cursor:pointer;font:inherit;padding:0;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px}@media (max-width: 767px){.auth-shell__split{grid-template-columns:1fr}.auth-shell__hero{min-height:200px;padding:16px}.auth-shell__form-card{padding:20px;box-shadow:none}}.oauth-stack{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 480px){.oauth-stack{grid-template-columns:1fr}}.oauth-button-wrap{position:relative;display:flex;flex-direction:column;gap:4px}.oauth-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease;min-height:44px}.oauth-button:hover:not(:disabled){background:var(--surface-2);border-color:var(--accent);transform:translateY(-1px)}.oauth-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.oauth-button:disabled{opacity:.6;cursor:not-allowed}.oauth-button__icon{display:inline-flex;align-items:center;flex-shrink:0}.oauth-button__error{font-family:Inter,sans-serif;font-size:12px;color:var(--accent-deep);margin:4px 0 0}.oauth-button__tooltip{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);padding:6px 12px;background:var(--ink);color:var(--surface);font-family:Inter,sans-serif;font-size:11px;border-radius:6px;white-space:nowrap;z-index:10;animation:oauth-tooltip-in .2s ease-out}@keyframes oauth-tooltip-in{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.auth-shell__buddy--pulse{animation:none}.oauth-button:hover{transform:none}.oauth-button__tooltip{animation:none}}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form__field{display:flex;flex-direction:column;gap:4px}.auth-form__label{font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:var(--ink-soft)}.auth-form__input{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-family:Inter,sans-serif;font-size:14px;color:var(--ink);min-height:44px;transition:border-color .12s ease,box-shadow .12s ease}.auth-form__input:hover{border-color:var(--border-strong)}.auth-form__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ff6b4726}.auth-form__error{font-family:Inter,sans-serif;font-size:12.5px;color:var(--accent-deep);background:var(--accent-soft);border:1px solid var(--accent);border-radius:6px;padding:8px 12px;margin:0}.auth-form__hint{font-family:Inter,sans-serif;font-size:11.5px;color:var(--ink-soft);margin:-6px 0 0;padding-left:4px}.auth-form__submit{margin-top:4px;min-height:44px}.auth-form__forgot{margin-top:8px;background:transparent;border:0;font:inherit;color:var(--ink-soft);font-size:12.5px;cursor:pointer;text-align:center;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px}.auth-form__forgot:hover{color:var(--accent-deep)}.auth-divider{display:flex;align-items:center;gap:8px;margin:4px 0;color:var(--ink-mute, var(--ink-soft));font-family:Inter,sans-serif;font-size:11.5px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-pending{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;text-align:center}.auth-pending__icon{font-size:36px;line-height:1}.auth-pending p{font-family:Inter,sans-serif;font-size:13.5px;color:var(--ink-soft);margin:0;line-height:1.5}.auth-pending__resend{background:transparent;border:0;color:var(--accent-deep);cursor:pointer;font:inherit;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px;padding:0}@keyframes migration-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes migration-modal-slide-in{0%{opacity:0;transform:translate(-50%,-42%)}to{opacity:1;transform:translate(-50%,-50%)}}.migration-modal-portal{position:fixed;inset:0;z-index:110}.migration-modal-backdrop{position:absolute;inset:0;background:#00000073;animation:migration-modal-fade-in .2s ease-out}.migration-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow-shell, 0 12px 48px rgba(45, 27, 14, .18));padding:28px 28px 24px;animation:migration-modal-slide-in .24s ease-out;outline:none}.migration-modal__close{position:absolute;top:14px;right:14px;width:32px;height:32px;background:transparent;border:0;border-radius:6px;cursor:pointer;font-size:18px;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center}.migration-modal__close:hover{background:var(--surface-2);color:var(--ink)}.migration-modal__title{font-family:Fraunces,serif;font-size:28px;color:var(--ink);margin:0 0 6px;transform:rotate(-1deg)}.migration-modal__desc{font-family:Inter,sans-serif;font-size:14px;color:var(--ink-soft);margin:0 0 18px;line-height:1.5}.migration-modal__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media (max-width: 520px){.migration-modal__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.migration-card{position:relative;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px 10px 10px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;transition:background .2s ease,border-color .2s ease,transform .12s ease}.migration-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.migration-card--done{background:var(--green-soft, #CCEBD3);border-color:var(--green, #5BA76E)}.migration-card__icon{font-size:20px;line-height:1}.migration-card__count{font-family:Inter,sans-serif;font-weight:700;font-size:22px;color:var(--ink);line-height:1}.migration-card__label{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft)}.migration-card__bar{width:100%;height:4px;background:var(--surface-3, var(--surface));border-radius:2px;overflow:hidden;margin-top:4px}.migration-card__fill{height:100%;background:var(--accent);border-radius:2px}.migration-card__ctx{font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute, var(--ink-soft));margin-top:2px}.migration-card__check{position:absolute;top:6px;right:8px;font-size:14px;color:var(--green-deep, #2A6B3D)}.migration-modal__details{margin-top:14px;background:transparent;border:0;font:inherit;font-size:12px;color:var(--ink-soft);cursor:pointer;padding:4px 0;text-align:left}.migration-modal__details:hover{color:var(--ink)}.migration-modal__json{margin-top:8px;padding:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;font-family:Space Mono,monospace;font-size:11px;max-height:180px;overflow:auto;white-space:pre-wrap;color:var(--ink)}.migration-modal__error-details{margin-top:12px;padding:10px 12px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:6px;font-family:Inter,sans-serif;font-size:12.5px;color:var(--accent-deep)}.migration-modal__actions{display:flex;align-items:center;gap:10px;margin-top:18px}.migration-modal__status{font-family:Inter,sans-serif;font-size:12.5px;color:var(--ink-soft)}.migration-modal__status--success{color:var(--green-deep, #2A6B3D)}@media (prefers-reduced-motion: reduce){.migration-modal,.migration-modal-backdrop{animation:none}}@keyframes sync-toast-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sync-toast{position:fixed;bottom:24px;right:24px;display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:12px 16px;box-shadow:0 8px 24px #2d1b0e26;font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);max-width:360px;z-index:90;animation:sync-toast-slide-in .24s ease-out}.sync-toast__icon{font-size:16px}.sync-toast--persistent{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.sync-toast--offline{border-color:var(--amber, #DC9D2C);background:var(--amber-soft, #FFE5B4);color:var(--amber-deep, #8B5A00)}.sync-toast__retry{background:transparent;border:1px solid currentColor;border-radius:4px;padding:4px 8px;font:inherit;font-size:11.5px;color:inherit;cursor:pointer}.sync-toast__retry:hover{background:#ffffff80}.sync-toast__close{background:transparent;border:0;font-size:14px;color:inherit;cursor:pointer;padding:0 2px}@media (max-width: 480px){.sync-toast{left:16px;right:16px;bottom:16px;max-width:none}}@media (prefers-reduced-motion: reduce){.sync-toast{animation:none}}.board-blocked-hint{margin-bottom:10px;padding:8px 14px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:6px;font-family:Inter,sans-serif;font-size:12.5px;color:var(--accent-deep);display:flex;align-items:center;gap:6px}.board-column--blocked{border-color:var(--accent-deep);border-style:dashed;background:var(--accent-soft);position:relative}.board-column--blocked .board-column__head:after{content:"🔒";margin-left:6px}.topbar .right--wide{display:flex;gap:10px;align-items:center;margin-left:auto}.topbar .right--narrow{display:none;margin-left:auto}@media (max-width: 1099px){.topbar{gap:10px;padding:8px 12px;flex-wrap:wrap}.topbar .crumb{font-size:12px;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar .right--wide{display:none}.topbar .right--narrow{display:flex;align-items:center}}.topbar-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 14px;border-bottom:1px solid var(--border);margin-bottom:12px}.topbar-drawer__head h2{font-family:Inter,sans-serif;font-size:16px;margin:0;color:var(--ink)}.topbar-drawer__close{background:transparent;border:0;width:32px;height:32px;border-radius:6px;font-size:18px;color:var(--ink-soft);cursor:pointer}.topbar-drawer__close:hover{background:var(--surface-2);color:var(--ink)}.topbar-drawer__body{display:flex;flex-direction:column;gap:10px}@media (max-width: 1099px){.ticket-section{min-width:0;overflow:hidden}.sprint-head-card{padding:16px}.sprint-head-card .metrics-strip{flex-wrap:wrap;gap:8px}.sprint-head-card .sprint-nav{flex-wrap:wrap}}@media (max-width: 1099px){.ticket-main{grid-template-columns:1fr;padding:16px;gap:14px}}.board-inline{width:100%;min-width:0}@media (max-width: 1099px){.board-inline{overflow-x:hidden}}@media (max-width: 1099px){.progress-header{position:relative!important;top:auto!important}.progress-header .inner{padding:12px 16px 16px}.progress-header .threshold-note{margin-top:10px;line-height:1.4}.ft-main{padding-top:20px!important}.q-block .q-num{margin-top:0}}.side-rail{position:fixed;top:0;left:0;bottom:0;width:64px;background:var(--surface);border-right:1.5px solid var(--ink);display:flex;flex-direction:column;padding:14px 0;z-index:30;transition:width .22s cubic-bezier(.2,.8,.2,1);overflow:hidden}.side-rail .rail-mark{display:flex;align-items:center;justify-content:center;height:36px;margin-bottom:14px;padding:0 13px}.side-rail .rail-dot{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--peach);color:var(--surface);border:1.5px solid var(--ink);border-radius:9px;font-family:Fraunces,serif;font-weight:700;font-size:13px;letter-spacing:.04em;box-shadow:1.5px 1.5px 0 var(--ink);flex-shrink:0}.side-rail .rail-items{display:flex;flex-direction:column;gap:4px;padding:6px 10px;flex:1}.side-rail .rail-foot{padding:8px 10px 0;border-top:1.5px dashed color-mix(in oklab,var(--ink) 25%,transparent)}.side-rail button{display:flex;align-items:center;gap:12px;width:100%;padding:10px;background:transparent;border:1.5px solid transparent;border-radius:10px;color:var(--ink-soft);cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:600;text-align:left;transition:background .12s ease,color .12s ease,border-color .12s ease;white-space:nowrap}.side-rail button .rail-ic{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}.side-rail button .rail-lab{opacity:0;transform:translate(-4px);transition:opacity .18s ease,transform .18s ease}.side-rail button:hover{background:var(--surface-2);color:var(--ink)}.side-rail button.active{background:var(--peach);color:var(--surface);border-color:var(--ink);box-shadow:1.5px 1.5px 0 var(--ink)}.side-rail .rail-buddy{color:var(--teal-deep, var(--teal))}.side-rail.rail-hover:hover{width:220px;box-shadow:4px 0 24px -12px #0000002e}.side-rail.rail-hover:hover button .rail-lab{opacity:1;transform:translate(0)}.side-rail.rail-fixed{width:60px}.bottom-tabs{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:6px 4px 12px;background:var(--surface);border-top:1.5px solid var(--ink);z-index:35;box-shadow:0 -8px 24px -16px #00000040}.bottom-tabs button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 2px;border:none;background:transparent;cursor:pointer;color:var(--ink-soft);font-family:Space Mono,monospace;font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;border-radius:8px;min-width:0;transition:color .12s ease,background .12s ease}.bottom-tabs button .bt-ic{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px}.bottom-tabs button .bt-lab{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bottom-tabs button.active{color:var(--ink)}.bottom-tabs button.active .bt-ic{background:var(--peach);color:var(--surface);border:1.5px solid var(--ink);box-shadow:1.5px 1.5px 0 var(--ink);transform:translate(-.5px,-.5px)}.avatar-menu{position:relative;display:inline-flex}.avatar--button{border:0;padding:0;cursor:pointer;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease}.avatar--button:hover{transform:translateY(-1px);box-shadow:0 0 0 3px var(--accent-soft)}.avatar--button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-menu__pop{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;max-width:260px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #2d1b0e29;padding:6px;z-index:60;display:flex;flex-direction:column;gap:2px}.avatar-menu__head{display:flex;flex-direction:column;gap:1px;padding:6px 10px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.avatar-menu__name{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-menu__email{font-size:11px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-menu__item{background:transparent;border:0;font:inherit;font-size:13px;color:var(--ink);text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .12s ease}.avatar-menu__item:hover{background:var(--surface-2)}.avatar-menu__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.avatar-menu__item--logout{color:var(--accent-deep)}.avatar-menu__item--logout:hover{background:var(--accent-soft)}@media (prefers-reduced-motion: reduce){.avatar--button{transition:none}.avatar--button:hover{transform:none}}.login2{--l2-cream: #e3d3ad;--l2-ink: #2b2521;--l2-ink-soft: #6b6259;--l2-dark: #251f19;--l2-accent: #e8623d;--l2-light: #ede6dc;--l2-muted: #7c7167;--l2-line: #4a423b;display:flex;min-height:100vh;font-family:Inter,sans-serif}.login2__editorial{flex:0 0 44%;background:var(--l2-cream);color:var(--l2-ink);padding:30px 32px;display:flex;flex-direction:column}.login2__brand{display:flex;align-items:center;gap:8px;margin-bottom:auto}.login2__brand-dot{width:20px;height:20px;background:var(--l2-accent);border-radius:4px;color:#fff;font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:center}.login2__brand-tag{font-family:var(--ff-mono);font-size:11px;letter-spacing:1px;color:var(--l2-ink-soft);text-transform:uppercase}.login2__eyebrow{font-family:var(--ff-mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#8a4a2e;margin:34px 0 16px}.login2__display{font-weight:800;font-size:clamp(40px,5vw,62px);line-height:.95;letter-spacing:-2px;margin:0;color:var(--l2-ink)}.login2__display-accent{color:var(--l2-accent)}.login2__manifest{font-family:var(--ff-mono);font-size:12px;line-height:1.9;color:var(--l2-ink-soft);margin:20px 0 0}.login2__chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:26px}.login2__chip{font-family:var(--ff-mono);font-size:10px;letter-spacing:.5px;border:1px solid #c9bca2;color:var(--l2-ink-soft);padding:4px 8px;border-radius:4px}.login2__chip--live{background:var(--l2-accent);color:#fff;border-color:var(--l2-accent)}.login2__panel{flex:1;background:var(--l2-dark);color:var(--l2-light);padding:30px 36px;display:flex;flex-direction:column;min-width:0}.login2__meta{display:flex;justify-content:space-between;gap:12px;font-family:var(--ff-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--l2-muted)}.login2__body{margin:auto 0;width:100%;max-width:380px;align-self:center}.login2__title{font-weight:700;font-size:26px;margin:0;color:var(--l2-light)}.login2__subtitle{font-family:var(--ff-mono);font-size:12px;color:var(--l2-muted);margin:8px 0 0}.login2__subtitle-accent{color:var(--l2-accent)}.login2__form{display:flex;flex-direction:column;gap:20px;margin-top:28px}.login2__field{display:flex;flex-direction:column;gap:6px}.login2__field-head{display:flex;justify-content:space-between;align-items:baseline}.login2__field-label{font-family:var(--ff-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--l2-muted)}.login2__input{background:transparent;border:0;border-bottom:1px solid var(--l2-line);padding:8px 2px;font-family:Inter,sans-serif;font-size:15px;color:var(--l2-light);border-radius:0;transition:border-color .12s ease}.login2__input:hover{border-bottom-color:var(--l2-muted)}.login2__input:focus{outline:none;border-bottom-color:var(--l2-accent)}.login2__forgot{background:transparent;border:0;padding:0;cursor:pointer;font-family:var(--ff-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--l2-accent)}.login2__forgot:hover{text-decoration:underline}.login2__forgot:focus-visible{outline:2px solid var(--l2-accent);outline-offset:2px}.login2__error{font-family:Inter,sans-serif;font-size:13px;color:#fff;background:#e8623d2e;border:1px solid var(--l2-accent);border-radius:7px;padding:9px 12px;margin:0}.login2__submit{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--l2-accent);color:#fff;border:0;border-radius:8px;padding:14px 16px;cursor:pointer;font-family:Inter,sans-serif;font-weight:700;font-size:14px;letter-spacing:.3px;transition:transform .12s ease,background .12s ease}.login2__submit:hover:not(:disabled){transform:translateY(-1px);background:#f06f4b}.login2__submit:focus-visible{outline:2px solid var(--l2-light);outline-offset:2px}.login2__submit:disabled{opacity:.65;cursor:not-allowed}.login2__submit-arrow{font-size:17px;line-height:1}.login2__hint{display:flex;align-items:center;gap:10px;margin-top:16px;border:1px solid #3a332d;border-radius:8px;padding:11px 12px}.login2__hint-tag{font-family:var(--ff-mono);font-size:10px;background:var(--l2-accent);color:#fff;padding:3px 6px;border-radius:4px;flex-shrink:0}.login2__hint-text{display:flex;flex-direction:column;gap:2px;min-width:0}.login2__hint-title{font-size:12px;color:var(--l2-light)}.login2__hint-meta{font-family:var(--ff-mono);font-size:10px;color:var(--l2-muted)}.login2__foot{display:flex;justify-content:space-between;gap:12px;font-family:var(--ff-mono);font-size:10px;color:var(--l2-muted);padding-top:18px}@media (max-width: 767px){.login2{flex-direction:column;min-height:100vh}.login2__editorial{flex:0 0 auto;padding:20px 22px 26px}.login2__brand{margin-bottom:20px}.login2__eyebrow{margin:0 0 10px}.login2__display{font-size:clamp(34px,11vw,46px)}.login2__manifest{margin-top:14px}.login2__chips{margin-top:18px}.login2__panel{padding:24px 22px}.login2__body{margin:24px 0;max-width:none}.login2__form{margin-top:22px}}@media (prefers-reduced-motion: reduce){.login2__input,.login2__submit{transition:none}.login2__submit:hover:not(:disabled){transform:none}}.board-card-wrap .titem{grid-template-columns:auto 14px 1fr auto auto;gap:8px}.practice-main{max-width:1080px;margin:0 auto;padding:32px 24px 140px;display:grid;grid-template-columns:1fr 280px;gap:28px}.practice-head{margin-bottom:22px}.practice-eyebrow{display:inline-flex;gap:8px;align-items:center;font-family:Space Mono,monospace;font-size:10px;color:var(--accent-deep);text-transform:uppercase;letter-spacing:1.2px;font-weight:700;margin-bottom:10px}.practice-eyebrow .pid{background:var(--accent-soft);padding:3px 9px;border-radius:50px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.practice-h1{font-family:Inter,sans-serif;font-weight:800;font-size:32px;line-height:1.2;letter-spacing:-.5px;color:var(--ink);margin-bottom:10px}.practice-h1 .accent{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);display:inline-block;transform:rotate(-2deg)}.practice-sub{font-family:Inter,sans-serif;font-size:15px;color:var(--ink-soft);line-height:1.5;max-width:560px}.sandbox{background:var(--surface);border:2px solid var(--border-strong);border-radius:var(--r-xl);padding:0;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}.sandbox-bar{background:var(--surface-2);padding:8px 14px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--border)}.sandbox-bar .dots{display:flex;gap:5px}.sandbox-bar .dots .d{width:9px;height:9px;border-radius:50%;background:var(--border-strong)}.sandbox-bar .url{flex:1;font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute);padding-left:8px;text-align:center}.sandbox-bar .badge{font-family:Space Mono,monospace;font-size:9px;background:var(--amber-soft);color:var(--amber-deep);padding:2px 6px;border-radius:50px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.sandbox-body{padding:24px 28px 32px;min-height:460px}.fake-app h2{font-family:Inter,sans-serif;font-weight:700;font-size:20px;color:var(--ink);margin-bottom:4px}.fake-app .crumbs{font-family:Inter,sans-serif;font-size:11px;color:var(--ink-mute);margin-bottom:16px}.fake-app .item{display:grid;grid-template-columns:56px 1fr auto;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);align-items:center}.fake-app .item .img{width:56px;height:56px;background:var(--surface-3);border-radius:var(--r-md)}.fake-app .item .name{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:var(--ink)}.fake-app .item .meta{font-family:Inter,sans-serif;font-size:12px;color:var(--ink-soft);margin-top:2px}.fake-app .item .qty-row{display:flex;gap:8px;align-items:center;font-family:Space Mono,monospace;font-size:13px;color:var(--ink)}.fake-app .item .qty-btn{width:26px;height:26px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--ink);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.fake-app .totals{display:flex;justify-content:space-between;font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);padding:8px 0}.fake-app .totals.final{font-size:16px;font-weight:700;color:var(--ink);padding-top:14px;margin-top:6px;border-top:1px solid var(--border-strong)}.hot{position:absolute;border:2px dashed transparent;border-radius:var(--r-md);cursor:pointer;transition:border-color .18s,background .18s,transform .15s;z-index:5}.hot:hover{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:var(--accent-soft)}.hot.guessed-wrong{border-color:var(--accent);border-style:solid;background:#ff6b471f;animation:shake .4s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.hot.guessed-right{border-color:var(--green);border-style:solid;background:#7cc18f29;box-shadow:0 0 0 4px var(--green-soft);animation:pop .5s ease}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}.hot-label{position:absolute;top:-22px;left:-2px;font-family:Fraunces,serif;font-size:14px;color:var(--green);white-space:nowrap;transform:rotate(-3deg)}.practice-side{display:grid;gap:14px;align-content:start;position:sticky;top:80px}.practice-side .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px}.practice-side .card h4{font-family:Inter,sans-serif;font-weight:700;font-size:13px;color:var(--ink);margin-bottom:10px;text-transform:uppercase;letter-spacing:.6px}.task-brief .scenario{font-family:Inter,sans-serif;font-size:13px;color:var(--ink);line-height:1.55;background:var(--amber-soft);padding:12px 14px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--amber) 30%,transparent);margin-bottom:12px}.task-brief .steps{list-style:none;padding:0;margin:0;counter-reset:step}.task-brief .steps li{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);line-height:1.5;padding:6px 0 6px 28px;position:relative;counter-increment:step}.task-brief .steps li:before{content:counter(step);position:absolute;left:0;top:8px;width:18px;height:18px;border-radius:50%;background:var(--surface-2);color:var(--ink-mute);font-family:Space Mono,monospace;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.hints-card .hint-row{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--border);font-family:Inter,sans-serif;font-size:12px;color:var(--ink-soft)}.hints-card .hint-row:first-of-type{border-top:none}.hints-card .hint-row .num{width:22px;height:22px;border-radius:50%;background:var(--surface-2);color:var(--ink-mute);font-family:Space Mono,monospace;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hints-card .hint-row.revealed{color:var(--ink)}.hints-card .hint-row.revealed .num{background:var(--teal);color:#fff}.hints-card .reveal-btn{font-family:Inter,sans-serif;font-size:12px;background:transparent;color:var(--teal-deep);border:1px dashed var(--teal-deep);border-radius:50px;padding:4px 10px;cursor:pointer;margin-left:auto;transition:background .15s}.hints-card .reveal-btn:hover{background:var(--teal-soft)}.hints-card .footer{margin-top:10px;padding-top:10px;font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute);text-align:center;border-top:1px solid var(--border)}.attempts{display:flex;gap:6px;align-items:center;font-family:Space Mono,monospace;font-size:10px;color:var(--ink-soft);margin-top:10px}.attempts .dot{width:8px;height:8px;border-radius:50%;background:var(--surface-3)}.attempts .dot.miss{background:var(--accent);opacity:.6}.practice-result{background:var(--green-soft);border:1.5px solid color-mix(in srgb,var(--green) 35%,transparent);border-radius:var(--r-xl);padding:24px 28px;margin-bottom:22px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}.practice-result .badge{width:80px;height:80px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.practice-result h2{font-family:Inter,sans-serif;font-weight:800;font-size:22px;color:var(--ink);margin-bottom:6px}.practice-result h2 .marker{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);display:inline-block;transform:rotate(-2deg)}.practice-result p{font-family:Inter,sans-serif;font-size:14px;color:var(--ink-soft);line-height:1.55;margin-bottom:0}.practice-empty{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--r-xl);padding:56px 36px;text-align:center;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.practice-empty h3{font-family:Fraunces,serif;color:var(--accent-deep);font-size:30px;margin-bottom:10px;transform:rotate(-1deg);display:inline-block}.practice-empty p{font-family:Inter,sans-serif;font-size:14px;color:var(--ink-soft);line-height:1.5;max-width:420px;margin:0 auto 20px}.board-main{padding:24px 24px 140px;max-width:1640px;margin:0 auto}.board-head{display:flex;gap:14px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.board-eyebrow{font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:1.2px;font-weight:700}.board-h1{font-family:Inter,sans-serif;font-weight:800;font-size:26px;line-height:1.2;letter-spacing:-.4px;color:var(--ink)}.board-h1 .accent{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);display:inline-block;transform:rotate(-2deg)}.board-meta{margin-left:auto;display:flex;gap:8px;align-items:center;font-family:Inter,sans-serif;font-size:12px;color:var(--ink-soft)}.board-meta .pill{background:var(--surface);border:1px solid var(--border);padding:6px 12px;border-radius:50px;display:inline-flex;gap:6px;align-items:center;cursor:pointer}.board-meta .pill:hover{border-color:var(--border-strong)}.board-meta .pill .ic{width:12px;height:12px;opacity:.7}.board-filters{display:flex;gap:8px;align-items:center;margin-bottom:18px}.board-filters .chip{font-family:Inter,sans-serif;font-size:12px;font-weight:600;padding:6px 12px;border-radius:50px;background:var(--surface);border:1px solid var(--border);color:var(--ink-soft);cursor:pointer;transition:all .15s}.board-filters .chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.board-filters .chip:hover:not(.active){border-color:var(--border-strong);color:var(--ink)}.board-filters .chip .num{margin-left:4px;font-family:Space Mono,monospace;font-size:10px;opacity:.7}.board-filters .sep{width:1px;height:16px;background:var(--border-strong);margin:0 4px}.board-filters .search{margin-left:auto;padding:6px 12px;background:var(--surface);border:1px solid var(--border);border-radius:50px;min-width:200px;font-family:Inter,sans-serif;font-size:12px;color:var(--ink);display:flex;gap:8px;align-items:center}.board-filters .search input{flex:1;background:transparent;border:none;outline:none;font-family:inherit;font-size:inherit;color:var(--ink)}.board{display:grid;grid-auto-flow:column;grid-auto-columns:280px;gap:16px;overflow-x:auto;padding-bottom:8px}.col{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 12px;min-height:400px;display:flex;flex-direction:column}.col-head{display:flex;gap:8px;align-items:center;margin-bottom:12px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.8px}.col-head .marker{width:8px;height:8px;border-radius:50%;background:var(--ink-mute)}.col[data-status=backlog] .marker{background:var(--ink-mute)}.col[data-status=progress] .marker{background:var(--amber)}.col[data-status=review] .marker{background:var(--teal)}.col[data-status=blocked] .marker{background:var(--accent)}.col[data-status=done] .marker{background:var(--green)}.col-head .count{margin-left:auto;font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);font-weight:700;background:var(--surface);padding:2px 8px;border-radius:50px;border:1px solid var(--border)}.col-head .add{width:22px;height:22px;border-radius:50%;background:transparent;border:1px dashed var(--border-strong);color:var(--ink-mute);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.col-head .add:hover{color:var(--ink);border-color:var(--ink-soft)}.col-stack{display:flex;flex-direction:column;gap:10px;flex:1}.kard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;cursor:grab;user-select:none;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative}.kard:hover{transform:translateY(-1px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.kard:active{cursor:grabbing}.kard .top-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.kard .id{font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute);font-weight:700;letter-spacing:.5px}.kard .pri-dot{width:6px;height:6px;border-radius:50%;margin-left:auto}.kard .pri-dot.high{background:var(--accent)}.kard .pri-dot.med{background:var(--amber)}.kard .pri-dot.low{background:var(--ink-mute)}.kard .title{font-family:Inter,sans-serif;font-weight:600;font-size:13px;color:var(--ink);line-height:1.4;margin-bottom:8px}.kard .tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.kard .tag{font-family:Space Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.4px;padding:2px 6px;border-radius:50px;background:var(--surface-2);color:var(--ink-soft);font-weight:700}.kard .tag.bug{background:var(--accent-soft);color:var(--accent-deep)}.kard .tag.doc{background:var(--teal-soft);color:var(--teal-deep)}.kard .tag.task{background:var(--indigo-soft);color:var(--indigo)}.kard .bottom{display:flex;gap:8px;align-items:center;font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute)}.kard .ava{width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-size:9px;font-weight:700}.kard .ava.b{background:var(--teal)}.kard .ava.c{background:var(--indigo)}.kard .ava.d{background:var(--green)}.kard .checks{display:inline-flex;gap:3px;align-items:center;margin-left:auto}.kard .blocked-flag{position:absolute;top:0;right:0;background:var(--accent);color:#fff;font-family:Fraunces,serif;font-size:11px;padding:2px 8px;border-radius:0 var(--r-md) 0 var(--r-md);transform:rotate(2deg) translate(2px,-2px)}.kard.done .title{color:var(--ink-mute);text-decoration:line-through;text-decoration-color:var(--green)}.kard.dragging{opacity:.5;transform:rotate(-1deg)}.col-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 12px;text-align:center}.col-empty .ic{font-family:Fraunces,serif;font-size:26px;color:var(--ink-mute);opacity:.5;transform:rotate(-3deg)}.col-empty .text{font-family:Inter,sans-serif;font-size:11px;color:var(--ink-mute);line-height:1.4}.sprint-stats{background:var(--teal-soft);border:1.5px solid color-mix(in srgb,var(--green) 35%,transparent);border-radius:var(--r-xl);padding:22px 26px;margin-bottom:18px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center}.sprint-stats .badge{width:60px;height:60px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.sprint-stats .text strong{font-family:Inter,sans-serif;font-size:18px;font-weight:800;color:var(--ink);display:block;margin-bottom:2px}.sprint-stats .text{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft)}.sprint-stats .nums{display:flex;gap:22px;font-family:Space Mono,monospace}.sprint-stats .nums .n{text-align:center}.sprint-stats .nums .n .v{font-family:Fraunces,serif;font-size:24px;color:var(--accent-deep);display:block;transform:rotate(-2deg);line-height:1}.sprint-stats .nums .n .l{font-size:10px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.6px;margin-top:4px}.board-empty{display:grid;place-items:center;padding:80px 32px;text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--r-xl)}.board-empty h3{font-family:Fraunces,serif;color:var(--accent-deep);font-size:30px;margin-bottom:8px;transform:rotate(-1deg)}.board-empty p{font-family:Inter,sans-serif;font-size:14px;color:var(--ink-soft);line-height:1.5;max-width:420px;margin:0 auto 20px}.board-sub{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);margin-top:4px;max-width:560px}.board-meta .week-card{background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--r-lg);padding:10px 14px;display:flex;flex-direction:column;gap:6px;min-width:240px}.board-meta .week-card .lab{font-family:Space Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--ink-mute);font-weight:700}.board-meta .week-card .prog{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:12px;color:var(--ink);font-weight:600}.board-meta .week-card .prog .bar{flex:1;height:6px;background:var(--accent-soft);border-radius:var(--r-sm);overflow:hidden;position:relative}.board-meta .week-card .prog .bar>div{height:100%;background:var(--peach);border-radius:var(--r-sm);transition:width .4s ease}.course-board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:14px}.course-board .col-hint{font-family:Inter,sans-serif;font-size:14px;color:var(--ink-mute);margin:-4px 4px 10px;font-style:italic}.course-board .col[data-status=today]{background:var(--mustard-soft);border:1.5px dashed var(--amber);border-radius:var(--r-lg);padding:10px 8px 8px}.course-board .col[data-status=today] .col-head{color:var(--ink)}.course-board .col[data-status=today] .col-head .marker{background:var(--amber)}.course-board .col[data-status=blocked] .col-head .marker{background:var(--ink-mute)}.course-board .col[data-status=done] .col-head .marker{background:var(--green)}.course-board .col[data-status=next] .col-head .marker{background:var(--teal)}.course-board .col[data-status=later] .col-head .marker{background:var(--border-strong);opacity:.6}.course-kard{position:relative;background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--r-lg);padding:12px 14px 11px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;display:flex;flex-direction:column;gap:8px}.course-kard:hover{transform:translate(-1px,-1px);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.course-kard.current{border-color:var(--ink);border-width:1.5px;box-shadow:4px 4px 0 var(--mustard)}.course-kard.done{opacity:.65;background:var(--bg)}.course-kard.done .title{text-decoration:line-through;text-decoration-color:var(--ink-mute)}.course-kard .top-row{display:flex;align-items:center;gap:8px}.course-kard .kind-pill{font-family:Space Mono,monospace;font-size:9px;font-weight:700;letter-spacing:1.2px;padding:3px 7px;border-radius:var(--r-sm);text-transform:uppercase;display:inline-flex;gap:4px;align-items:center}.course-kard .kind-pill .ic{font-size:11px;letter-spacing:0}.course-kard .kind-pill.episode{background:var(--accent-soft);color:var(--accent-deep)}.course-kard .kind-pill.mission{background:var(--amber-soft);color:var(--ink)}.course-kard .kind-pill.quiz{background:var(--teal-soft);color:var(--ink)}.course-kard .kind-pill.practice{background:var(--green-soft, #DDF0E0);color:var(--ink)}.course-kard .kind-pill.week{background:var(--bg);border:1px solid var(--border-strong);color:var(--ink-soft)}.course-kard .id{margin-left:auto;font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute);font-weight:700}.course-kard .title{font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--ink);line-height:1.35}.course-kard .bottom{display:flex;align-items:center;gap:10px;font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute);flex-wrap:wrap}.course-kard .bottom .score{color:var(--accent-deep);font-weight:700}.course-kard .bottom .deadline{color:var(--accent-deep);font-weight:700;background:var(--accent-soft);padding:2px 6px;border-radius:3px;text-transform:uppercase}.course-kard .bottom .reason{font-style:italic}.course-kard .blocked-flag,.course-kard .now-flag{position:absolute;top:-8px;right:12px;font-family:Fraunces,serif;font-size:11px;letter-spacing:1px;padding:2px 8px;border-radius:var(--r-sm);transform:rotate(2deg);text-transform:uppercase}.course-kard .blocked-flag{background:var(--ink);color:var(--bg)}.course-kard .now-flag{background:var(--amber);color:var(--ink);transform:rotate(-3deg)}.course-kard.k-week{background:var(--bg);border-style:dashed;opacity:.85}.course-kard.k-week .title{font-family:Inter,sans-serif;font-style:italic;font-size:18px;line-height:1.15}:root{--green-soft: #DDF0E0}[data-theme=dark]{--green-soft: #1F3329}[data-theme=mint]{--green-soft: #DBD0DD}.ac-progress-bar{display:flex;align-items:center;gap:10px;margin:6px 0 12px;font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft);font-weight:700}.ac-progress-bar .bar{flex:1;height:6px;background:var(--accent-soft);border-radius:var(--r-sm);overflow:hidden}.ac-progress-bar .bar>div{height:100%;background:var(--peach);border-radius:var(--r-sm);transition:width .3s ease}.practice-inline{background:var(--amber-soft);border:1.5px solid var(--amber);border-radius:var(--r-lg);padding:14px 16px;margin-top:6px;position:relative}.practice-inline:before{content:"PRACTICE";position:absolute;top:-9px;left:14px;background:var(--amber);color:var(--ink);font-family:Space Mono,monospace;font-size:9px;font-weight:700;letter-spacing:1.4px;padding:3px 8px;border-radius:var(--r-sm)}.practice-inline .h{font-family:Inter,sans-serif;font-style:italic;font-weight:700;font-size:20px;color:var(--accent-deep);margin-bottom:4px;line-height:1}.practice-inline .desc{font-family:Inter,sans-serif;font-size:13.5px;color:var(--ink);line-height:1.55;margin-bottom:10px}.practice-inline .submit{display:flex;gap:8px}.practice-inline .submit input{flex:1;padding:8px 12px;border-radius:6px;border:1.5px solid var(--border-strong);background:var(--surface);font-family:Inter,sans-serif;font-size:13px;color:var(--ink)}.practice-inline .submit input:focus{outline:0;border-color:var(--accent)}.practice-inline .submit button{padding:8px 16px;background:var(--accent);color:#fff;border:0;border-radius:6px;cursor:pointer;font-family:Inter,sans-serif;font-size:12px;font-weight:700}.practice-inline .submit button:hover{background:var(--accent-deep)}.practice-inline .feedback{margin-top:10px;padding:8px 12px;border-radius:6px;font-family:Inter,sans-serif;font-size:13px;font-weight:600}.practice-inline .feedback.ok{background:var(--green-soft);color:var(--green);border-left:3px solid var(--green)}.practice-inline .feedback.no{background:var(--accent-soft);color:var(--accent-deep);border-left:3px solid var(--accent)}.ac-mini-bar{height:6px;background:var(--panel, var(--accent-soft));border-radius:3px;overflow:hidden;margin:6px 0 0}.ac-mini-bar>div{height:100%;background:var(--peach);border-radius:3px;transition:width .3s ease}.activity-log{display:flex;flex-direction:column;gap:4px;font-family:Inter,sans-serif;font-size:11.5px;color:var(--ink-soft);line-height:1.5}.activity-log .row{display:flex;gap:8px}.activity-log .t{font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute);flex-shrink:0;min-width:56px}.activity-log strong{color:var(--ink);font-weight:600}.workflow.workflow-3 .step.no-click{cursor:default}.workflow.workflow-3 .step.no-click:hover{background:transparent}.workflow.workflow-3 .step-hint{margin-left:10px;font-family:Inter,sans-serif;font-style:italic;font-size:17px;color:var(--accent-deep);font-weight:700;align-self:center}.ready-banner,.closed-banner{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:var(--r-lg);margin-bottom:10px;font-family:Inter,sans-serif;position:relative;animation:rb-in .3s ease}@keyframes rb-in{0%{transform:translateY(-4px);opacity:0}to{transform:translateY(0);opacity:1}}.ready-banner{background:var(--amber-soft);border:1.5px solid var(--amber)}.ready-banner .rb-mark{width:32px;height:32px;border-radius:50%;background:var(--amber);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;flex-shrink:0;animation:rb-pulse 1.6s ease infinite}@keyframes rb-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.ready-banner .rb-text{display:flex;flex-direction:column;gap:2px}.ready-banner .rb-text strong{font-size:14px;font-weight:700;color:var(--ink)}.ready-banner .rb-text span{font-size:12px;color:var(--ink-soft)}.closed-banner{background:var(--green-soft, #DDF0E0);border:1.5px solid var(--green)}.closed-banner .cb-mark{width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;flex-shrink:0}.closed-banner .cb-text{display:flex;flex-direction:column;gap:2px}.closed-banner .cb-text strong{font-size:14px;font-weight:700;color:var(--ink)}.closed-banner .cb-text span{font-size:12px;color:var(--ink-soft)}.close-btn.is-ready{animation:btn-glow 1.6s ease infinite;background:var(--green);color:#fff}@keyframes btn-glow{0%,to{box-shadow:2px 2px 0 var(--green)}50%{box-shadow:4px 4px 0 var(--green)}}.close-btn.is-closed{background:var(--green-soft);color:var(--green);border:1px solid var(--green);cursor:default;animation:none}.close-btn:disabled:not(.is-ready):not(.is-closed){background:var(--panel, var(--accent-soft));color:var(--ink-mute);cursor:not-allowed;box-shadow:none}.sprint-main{max-width:clamp(1080px,92vw,1480px);margin:0 auto;padding:28px 24px 140px;display:grid;grid-template-columns:1fr 280px;gap:24px}.sprint-head-card{grid-column:1 / -1;background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-lg);padding:26px 30px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.sprint-head-card:after{content:"";position:absolute;top:12px;right:12px;width:110px;height:110px;background-image:radial-gradient(var(--accent) 1.4px,transparent 1.6px);background-size:11px 11px;background-position:0 0;opacity:.45;pointer-events:none;mask-image:radial-gradient(circle at 70% 30%,black 30%,transparent 75%);-webkit-mask-image:radial-gradient(circle at 70% 30%,black 30%,transparent 75%)}.sprint-back{display:inline-block;font-family:var(--ff-mono);font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--accent-deep);text-decoration:none;margin-bottom:12px;cursor:pointer;position:relative;z-index:1}.sprint-back:hover{color:var(--accent);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.sprint-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.sprint-head-card .meta-row{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap;position:relative;z-index:1}.sprint-head-card .pill{padding:4px 10px;border-radius:50px;font-family:Space Mono,monospace;font-size:10.5px;letter-spacing:.4px;font-weight:700;display:inline-flex;gap:6px;align-items:center}.sprint-head-card .pill.epic{background:var(--teal-soft);color:var(--teal-deep);border:1px solid color-mix(in srgb,var(--teal) 30%,transparent)}.sprint-head-card .pill.active{background:var(--accent-soft);color:var(--accent-deep);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.sprint-head-card .pill.active .pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 1.4s infinite}.sprint-head-card .micro{font-family:var(--ff-mono);font-size:11px;color:var(--ink-mute);margin-left:4px;text-transform:uppercase;letter-spacing:.5px}.sprint-h1{font-family:var(--ff-display);font-weight:500;font-size:36px;line-height:1.1;letter-spacing:0;margin-bottom:6px;position:relative;z-index:1;color:var(--ink)}.sprint-h1 .accent{font-family:var(--ff-display);font-weight:500;color:var(--accent-deep);display:inline;text-decoration:underline wavy var(--accent);text-decoration-thickness:2.5px;text-underline-offset:6px}.sprint-head-card .goal{font-family:Inter,sans-serif;font-size:14.5px;color:var(--ink-soft);line-height:1.55;max-width:640px;margin-top:8px;position:relative;z-index:1}.sprint-head-card .goal strong{color:var(--ink)}.metrics-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;position:relative;z-index:1}.metrics-strip .metric{background:var(--surface-2);border:1.5px solid var(--ink);border-radius:var(--r-md);padding:14px 16px;box-shadow:1.5px 1.5px 0 var(--ink)}.metrics-strip .num{font-family:var(--ff-display);font-weight:500;font-size:32px;letter-spacing:0;line-height:1;color:var(--ink)}.metrics-strip .lab{font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-soft);margin-top:6px;text-transform:uppercase;letter-spacing:.6px}.metrics-strip .metric.done{background:var(--accent-soft);border-color:var(--ink)}.metrics-strip .metric.done .num,.metrics-strip .metric.todo .num{color:var(--accent-deep)}.sprint-nav{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap;position:relative;z-index:1}.snav-btn{padding:7px 14px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;border:1.5px solid var(--ink);border-radius:var(--r-md);background:var(--surface);box-shadow:1.5px 1.5px 0 var(--ink);transition:background .15s ease,box-shadow .12s ease,transform .08s ease}.snav-btn:hover:not(:disabled){background:var(--surface-2);box-shadow:2.5px 2.5px 0 var(--ink);transform:translate(-1px,-1px)}.snav-btn:active:not(:disabled){box-shadow:0 0 0 var(--ink);transform:translate(1.5px,1.5px)}.snav-btn.act{background:var(--accent);color:var(--surface);border-color:var(--ink);font-weight:700;box-shadow:2px 2px 0 var(--ink)}.snav-btn.disabled{background:transparent;border-style:dashed;border-color:var(--ink-mute);color:var(--ink-mute);cursor:not-allowed;pointer-events:none;box-shadow:none}.snav-btn.primary{background:var(--ink);color:var(--surface);border-color:var(--ink);font-weight:700;box-shadow:2px 2px 0 var(--accent)}.snav-btn.primary:hover:not(:disabled){background:var(--ink);color:var(--surface);box-shadow:3px 3px 0 var(--accent)}.snav-btn.primary.disabled{background:var(--ink);color:var(--surface);border-color:var(--ink);border-style:solid;opacity:.55;box-shadow:none}.ticket-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.ticket-section .section-head{display:flex;gap:10px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface-2)}.ticket-section .section-head .h{font-family:Inter,sans-serif;font-weight:700;font-size:13px;color:var(--ink)}.ticket-section .section-head .cnt{background:var(--surface);color:var(--ink-soft);font-size:11px;padding:2px 9px;border-radius:50px;font-family:Space Mono,monospace;border:1px solid var(--border)}.ticket-section .section-head .filter{margin-left:auto;display:flex;gap:4px;font-family:Inter,sans-serif;font-size:12px;color:var(--ink-soft)}.ticket-section .section-head .filter span{padding:4px 10px;border-radius:6px;cursor:pointer;border:1px solid transparent;transition:all .12s ease}.ticket-section .section-head .filter span:hover{background:var(--surface)}.ticket-section .section-head .filter span.act{background:var(--surface);border-color:var(--border-strong);color:var(--ink);font-weight:600}.section-head.backlog-toggle{cursor:pointer;user-select:none}.ticket-nav-link{background:transparent;border:0;color:var(--peach-deep);cursor:pointer;padding:0;font:inherit;font-weight:600;transition:color .12s ease}.ticket-nav-link:hover{color:var(--ink);text-decoration:underline}.ticket-nav-link--next{margin-left:auto}.ticket-nav-empty{color:var(--ink-mute)}.ticket-nav-empty--right{margin-left:auto}.final-test-ready{margin-top:16px;padding:14px 18px;background:var(--peach-soft);border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:4px 4px 0 var(--peach);display:flex;align-items:center;gap:14px;flex-wrap:wrap}.final-test-ready .copy{flex:1;min-width:220px}.final-test-ready .copy strong{display:block;font-family:var(--ff-sans, "Inter", sans-serif);font-size:15px;color:var(--ink);margin-bottom:2px}.final-test-ready .copy span{font-family:var(--ff-sans, "Inter", sans-serif);font-size:13px;color:var(--ink-soft)}.ticket{display:grid;grid-template-columns:64px 18px 1fr auto auto auto;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}.ticket:hover{background:var(--surface-2)}.ticket:last-child{border-bottom:none}.ticket.is-current{background:color-mix(in srgb,var(--accent-soft) 50%,transparent)}.ticket .id{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);font-weight:700;letter-spacing:.3px}.ticket .stat-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink-mute);background:transparent;display:flex;align-items:center;justify-content:center}.ticket.done .stat-dot{background:var(--green);border-color:var(--green)}.ticket.done .stat-dot:after{content:"✓";color:#fff;font-size:9px;line-height:1;font-weight:700}.ticket.progress .stat-dot{background:var(--amber);border-color:var(--amber)}.ticket.progress .stat-dot:after{content:"";width:4px;height:4px;background:#fff;border-radius:50%}.ticket.locked .stat-dot{border-style:dashed;opacity:.6}.ticket.locked{opacity:.75}.ticket .title{font-family:Inter,sans-serif;font-size:14px;color:var(--ink);font-weight:500;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ticket.done .title{color:var(--ink-soft);text-decoration:line-through;text-decoration-color:var(--ink-mute)}.ticket .title .ic{font-size:13px;opacity:.85}.ticket .title .star{color:var(--amber);font-size:13px}.ticket .title .now-tag{font-family:Space Mono,monospace;font-size:9px;background:var(--accent);color:#fff;padding:2px 6px;border-radius:50px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.ticket .label-pill{padding:2px 8px;border-radius:var(--r-sm);font-size:10.5px;font-weight:600;font-family:Inter,sans-serif}.label-pill.lesson{background:var(--teal-soft);color:var(--teal-deep)}.label-pill.master{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-deep)}.label-pill.practice{background:var(--amber-soft);color:var(--amber-deep)}.label-pill.test{background:var(--ink);color:var(--bg)}.ticket .pri-pill{font-family:Space Mono,monospace;font-size:10px;font-weight:700;padding:1px 6px;border-radius:50px}.pri-pill.p0{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-deep)}.pri-pill.p1{background:var(--amber-soft);color:var(--amber-deep)}.pri-pill.p2{background:var(--teal-soft);color:var(--teal-deep)}.ticket .est{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft);white-space:nowrap}.sprint-side{display:flex;flex-direction:column;gap:14px}.sprint-side .callout{background:var(--accent);border:1.5px solid var(--ink);border-radius:var(--r-lg);padding:16px 18px;font-family:var(--ff-sans);font-size:13px;color:var(--surface);line-height:1.55;box-shadow:var(--shadow-sm)}.sprint-side .callout .h{font-family:var(--ff-display);font-style:normal;font-weight:500;color:var(--surface);font-size:18px;margin-bottom:6px;line-height:1.15}.sprint-side .side-card{background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-md);padding:14px 16px;box-shadow:1.5px 1.5px 0 var(--ink)}.sprint-side .side-card .h{font-family:var(--ff-mono);font-size:10.5px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}.sprint-side .side-card .body-text{font-family:var(--ff-sans);font-size:12.5px;line-height:1.55;color:var(--ink-soft)}.sprint-side .side-card .body-text strong{color:var(--ink)}.sprint-side .side-card .body-text .more{display:inline-block;margin-top:4px;color:var(--accent-deep);font-size:11.5px;cursor:pointer}.burn-chart svg{display:block;width:100%;height:90px;margin-bottom:4px}.peek-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--ink) 50%,transparent);backdrop-filter:blur(3px);z-index:30}.peek-main{position:relative;z-index:31;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px 140px;min-height:calc(100vh - 60px)}.peek-dialog{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);border:1.5px solid var(--ink);box-shadow:6px 6px 0 var(--ink);max-width:720px;width:100%;position:relative;overflow:hidden}.peek-close{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;font-size:14px;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;transition:all .15s}.peek-close:hover{background:var(--surface-3);color:var(--ink)}.peek-head{padding:28px 32px 22px;background:var(--peach-soft);border-bottom:1.5px dashed var(--ink)}.peek-head .eyebrow{display:inline-flex;gap:6px;align-items:center;font-family:Space Mono,monospace;font-size:10.5px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:8px}.peek-head .lock{font-size:13px}.peek-head h2{font-family:Inter,sans-serif;font-weight:800;font-size:26px;line-height:1.15;letter-spacing:-.4px;color:var(--ink);margin-bottom:8px}.peek-head h2 .accent{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);display:inline-block;transform:rotate(-1deg)}.peek-head p{font-family:Inter,sans-serif;font-size:13.5px;color:var(--ink-soft);line-height:1.55;max-width:580px}.peek-head p strong{color:var(--ink)}.peek-body{padding:22px 32px}.peek-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.peek-stats .cell{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;text-align:center}.peek-stats .n{font-family:Inter,sans-serif;font-weight:800;font-size:20px;color:var(--ink);line-height:1}.peek-stats .l{font-family:Inter,sans-serif;font-size:11px;color:var(--ink-soft);margin-top:4px}.peek-sub-h{font-family:Inter,sans-serif;font-weight:700;font-size:12.5px;color:var(--ink);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 10px}.peek-sub-h .scribble{font-family:Inter,sans-serif;font-style:italic;font-weight:400;color:var(--accent-deep);font-size:16px;text-transform:none;letter-spacing:0;margin-left:4px}.peek-tickets{display:flex;flex-direction:column;gap:6px}.peek-tk{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.peek-tk.faded{opacity:.65}.peek-tk .id{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);font-weight:700}.peek-tk .ttl{font-family:Inter,sans-serif;font-size:13px;color:var(--ink);font-weight:600;line-height:1.4}.peek-tk .ttl .desc{display:block;font-weight:400;font-size:12px;color:var(--ink-soft);margin-top:2px}.peek-tk .est{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft)}.peek-skills{display:flex;flex-wrap:wrap;gap:6px}.peek-skills .sk{font-family:Inter,sans-serif;font-size:12px;font-weight:600;padding:5px 11px;border-radius:50px;background:var(--accent-soft);color:var(--accent-deep);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.peek-skills .sk.teal{background:var(--teal-soft);color:var(--teal-deep);border-color:color-mix(in srgb,var(--teal) 25%,transparent)}.peek-skills .sk.amber{background:var(--amber-soft);color:var(--amber-deep);border-color:color-mix(in srgb,var(--amber) 25%,transparent)}.peek-footer{padding:18px 32px 22px;border-top:1px solid var(--border);background:var(--surface-2)}.peek-footer .demo-note{font-family:Inter,sans-serif;font-size:12px;color:var(--ink-soft);line-height:1.5;margin-bottom:12px;padding:10px 14px;background:var(--amber-soft);border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--amber) 25%,transparent)}.peek-footer .demo-note strong{color:var(--ink)}.peek-footer .actions{display:flex;gap:10px;justify-content:flex-end}.btn-primary-state,.btn-ghost-state{font-family:Inter,sans-serif;font-size:13px;font-weight:600;padding:9px 18px;border-radius:var(--r-md);cursor:pointer;transition:all .15s;border:1px solid}.btn-primary-state{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn-primary-state:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-primary-state.green{background:var(--green);border-color:var(--green);color:#fff}.btn-ghost-state{background:transparent;color:var(--ink-soft);border-color:var(--border-strong)}.btn-ghost-state:hover{background:var(--surface-2);color:var(--ink)}.review-screen{position:relative}.review-main{max-width:880px;margin:0 auto;padding:40px 24px 140px;position:relative}.confetti{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}.confetti span{position:absolute;width:8px;height:12px;border-radius:1px;animation:confetti-fall 4s linear infinite;opacity:.85}.confetti span:nth-child(1){left:8%;background:var(--accent);animation-delay:0s}.confetti span:nth-child(2){left:15%;background:var(--teal);animation-delay:.4s}.confetti span:nth-child(3){left:22%;background:var(--amber);animation-delay:.9s}.confetti span:nth-child(4){left:30%;background:var(--green);animation-delay:1.3s}.confetti span:nth-child(5){left:42%;background:var(--accent);animation-delay:.2s}.confetti span:nth-child(6){left:55%;background:var(--teal);animation-delay:1.5s}.confetti span:nth-child(7){left:68%;background:var(--amber);animation-delay:.7s}.confetti span:nth-child(8){left:75%;background:var(--green);animation-delay:2.1s}.confetti span:nth-child(9){left:84%;background:var(--accent);animation-delay:1.1s}.confetti span:nth-child(10){left:92%;background:var(--teal);animation-delay:.3s}.confetti span:nth-child(11){left:50%;background:var(--amber);animation-delay:2.4s}.confetti span:nth-child(12){left:35%;background:var(--green);animation-delay:1.8s}@keyframes confetti-fall{0%{transform:translateY(-30px) rotate(0);opacity:0}10%{opacity:.85}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.review-hero{text-align:center;padding:28px 20px 36px;position:relative;z-index:2}.review-hero .eyebrow{display:inline-flex;gap:6px;align-items:center;font-family:Space Mono,monospace;font-size:10.5px;color:var(--green);text-transform:uppercase;letter-spacing:1.2px;font-weight:700;background:var(--green-soft);padding:5px 12px;border-radius:50px;border:1px solid color-mix(in srgb,var(--green) 25%,transparent);margin-bottom:16px}.review-hero h1{font-family:Inter,sans-serif;font-weight:800;font-size:44px;line-height:1.05;letter-spacing:-.8px;color:var(--ink);margin-bottom:8px}.review-hero h1 .accent{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);display:inline-block;transform:rotate(-1deg)}.review-hero .scribble{font-family:Inter,sans-serif;font-style:italic;font-size:22px;color:var(--accent-deep);margin-bottom:18px}.review-hero .test-passed{display:inline-flex;gap:8px;align-items:center;font-family:Inter,sans-serif;font-size:13px;background:var(--green-soft);color:var(--ink);border:1px solid color-mix(in srgb,var(--green) 30%,transparent);padding:8px 14px;border-radius:50px}.review-hero .test-passed .check{width:18px;height:18px;border-radius:50%;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.review-hero .test-passed strong{color:var(--ink);font-weight:700}.snapshot{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:28px;position:relative;z-index:2}.snap-cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 14px;text-align:center}.snap-cell .num{font-family:Inter,sans-serif;font-weight:800;font-size:26px;line-height:1;color:var(--ink);letter-spacing:-.5px}.snap-cell .num .accent{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);display:inline-block;transform:rotate(-2deg)}.snap-cell .num .total{font-family:Inter,sans-serif;font-weight:600;color:var(--ink-mute);font-size:16px}.snap-cell .lab{font-family:Inter,sans-serif;font-size:11px;color:var(--ink-soft);margin-top:6px}.review-main .sec-title{font-family:Inter,sans-serif;font-weight:700;font-size:13px;color:var(--ink);text-transform:uppercase;letter-spacing:.8px;margin:24px 0 14px;position:relative;z-index:2}.review-main .sec-title .scribble{font-family:Inter,sans-serif;font-style:italic;font-weight:400;color:var(--accent-deep);font-size:17px;text-transform:none;letter-spacing:0;margin-left:4px}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;position:relative;z-index:2}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:start;position:relative}.skill-card .sk-ic{width:44px;height:44px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;font-size:22px}.skill-card.teal .sk-ic{background:var(--teal-soft);color:var(--teal-deep)}.skill-card.amber .sk-ic{background:var(--amber-soft);color:var(--amber-deep)}.skill-card.green .sk-ic{background:var(--green-soft);color:var(--green)}.skill-card .sk-body h4{font-family:Inter,sans-serif;font-weight:700;font-size:14px;color:var(--ink);margin-bottom:4px}.skill-card .sk-body p{font-family:Inter,sans-serif;font-size:12.5px;color:var(--ink-soft);line-height:1.5}.skill-card .new-badge{font-family:Space Mono,monospace;font-size:9px;background:var(--accent);color:#fff;padding:3px 7px;border-radius:50px;letter-spacing:.6px;font-weight:700}.reflect{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;position:relative;z-index:2}.reflect .ask{display:block;font-family:Inter,sans-serif;font-style:italic;font-weight:700;color:var(--accent-deep);font-size:22px;margin-bottom:8px;line-height:1.2}.reflect textarea{width:100%;min-height:70px;resize:vertical;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 12px;font-family:Inter,sans-serif;font-size:13.5px;color:var(--ink);line-height:1.5;outline:none}.reflect textarea:focus{border-color:var(--accent)}.reflect .reflect-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.reflect .reflect-foot .hint{font-family:Inter,sans-serif;font-size:11.5px;color:var(--ink-mute)}.reflect .save-btn{font-family:Inter,sans-serif;font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:var(--r-sm);background:var(--ink);color:var(--bg);border:0;cursor:pointer;transition:all .15s}.reflect .save-btn:disabled{opacity:.4;cursor:not-allowed}.reflect .save-btn:not(:disabled):hover{transform:translateY(-1px)}.next-sprint{background:var(--peach-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:var(--r-lg);padding:22px 24px;position:relative;z-index:2}.next-sprint .ns-lab{font-family:Space Mono,monospace;font-size:10px;color:var(--accent-deep);text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:6px}.next-sprint h3{font-family:Inter,sans-serif;font-weight:800;font-size:22px;color:var(--ink);margin-bottom:6px}.next-sprint h3 .accent{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);display:inline-block;transform:rotate(-1deg)}.next-sprint p{font-family:Inter,sans-serif;font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin-bottom:14px}.next-sprint .ns-actions{display:flex;gap:10px;flex-wrap:wrap}.final-test-screen .topbar{background:var(--surface);border-bottom:1px solid var(--border)}.exit-link{font-family:Inter,sans-serif;font-size:12.5px;color:var(--ink-soft);cursor:pointer;padding:5px 11px;border-radius:var(--r-sm);transition:background .15s}.exit-link:hover{background:var(--surface-2);color:var(--ink)}.progress-header{background:var(--surface);border-bottom:1px solid var(--border);position:relative;top:auto;z-index:5}.progress-header .inner{max-width:740px;margin:0 auto;padding:18px 24px 14px}.progress-header .row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;gap:14px}.progress-header h1{font-family:Inter,sans-serif;font-weight:700;font-size:16px;color:var(--ink);line-height:1.3}.progress-header h1 .accent{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);display:inline-block;transform:rotate(-1deg)}.progress-header .counter{font-family:Space Mono,monospace;font-size:13px;color:var(--ink-soft);white-space:nowrap}.progress-header .counter strong{color:var(--ink);font-size:18px;font-weight:700}.progress-header .counter .total{margin-left:2px}.progress-header .pbar{height:6px;background:var(--surface-3);border-radius:50px;overflow:hidden}.progress-header .pbar .fill{height:100%;background:var(--accent);border-radius:50px;transition:width .35s ease}.progress-header .threshold-note{margin-top:8px;font-family:Space Mono,monospace;font-size:10.5px;color:var(--ink-mute)}.ft-main{max-width:740px;margin:0 auto;padding:30px 24px 140px}.q-block .q-num{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px}.q-block h2{font-family:Inter,sans-serif;font-weight:600;font-size:22px;line-height:1.35;color:var(--ink);letter-spacing:-.3px;margin-bottom:22px}.q-block h2 strong{font-weight:800}.opt-list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.opt{display:grid;grid-template-columns:24px 1fr;gap:14px;align-items:flex-start;padding:14px 18px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:all .15s}.opt:hover{border-color:var(--border-strong);background:var(--surface-2)}.opt.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 60%,var(--surface))}.opt .marker{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);background:var(--surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:all .15s}.opt.selected .marker{border-color:var(--accent);background:var(--accent)}.opt .marker .dot{width:8px;height:8px;border-radius:50%;background:transparent}.opt.selected .marker .dot{background:#fff}.opt .opt-body{font-family:Inter,sans-serif;font-size:14px;color:var(--ink);line-height:1.5}.nav-row{display:flex;gap:10px;align-items:center;margin-bottom:28px}.nav-row .btn-prev,.nav-row .btn-next,.nav-row .skip{font-family:Inter,sans-serif;font-size:13px;font-weight:600;padding:9px 16px;border-radius:var(--r-sm);cursor:pointer;transition:all .15s;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-soft)}.nav-row .btn-prev:hover,.nav-row .btn-next:hover{background:var(--surface-2)}.nav-row .skip{margin-left:auto;margin-right:4px;border:0;background:transparent;font-weight:500;color:var(--ink-mute);text-decoration:underline}.nav-row .btn-next.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.nav-row .btn-next.primary:disabled{opacity:.4;cursor:not-allowed}.nav-row .btn-prev:disabled{opacity:.4;cursor:not-allowed}.dot-strip{display:flex;gap:4px;flex-wrap:wrap;padding:14px 0;border-top:1px dashed var(--border-strong)}.dot-strip .dot{width:24px;height:24px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute);font-weight:700;display:inline-flex;align-items:center;justify-content:center}.dot-strip .dot.done{background:var(--green);border-color:var(--green);color:#fff}.dot-strip .dot.current{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent);transform:scale(1.05)}.ft-result-main{max-width:640px;margin:0 auto;padding:60px 24px 140px}.state-card{background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--r-xl);padding:32px 32px 28px;text-align:center;position:relative}.state-card.passed{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 35%,transparent)}.state-card.failed{background:var(--mustard-soft);border-color:color-mix(in srgb,var(--amber) 35%,transparent)}.state-card .lab{display:inline-block;font-family:Space Mono,monospace;font-size:11px;letter-spacing:1.2px;font-weight:700;padding:5px 12px;border-radius:50px;margin-bottom:16px}.state-card.passed .lab{background:var(--green);color:#fff}.state-card.failed .lab{background:var(--amber);color:#fff}.state-card h3{font-family:Inter,sans-serif;font-weight:800;font-size:28px;line-height:1.15;color:var(--ink);letter-spacing:-.5px;margin-bottom:18px}.state-card h3 .scribble{font-family:Fraunces,serif;font-weight:400;color:var(--accent-deep);display:inline-block;transform:rotate(-1deg)}.state-card .score-row{display:flex;justify-content:center;align-items:baseline;gap:16px;margin-bottom:16px;flex-wrap:wrap}.state-card .score{font-family:Inter,sans-serif;font-weight:800;font-size:56px;color:var(--ink);line-height:1;letter-spacing:-1px}.state-card .score .total{font-weight:600;color:var(--ink-mute);font-size:28px}.state-card .pct{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft)}.state-card .threshold{font-family:Space Mono,monospace;font-size:10.5px;color:var(--ink-mute);background:var(--surface-2);border:1px solid var(--border);padding:3px 10px;border-radius:50px}.state-card p{font-family:Inter,sans-serif;font-size:14px;color:var(--ink-soft);line-height:1.55;max-width:480px;margin:0 auto 22px}.state-card p strong{color:var(--ink)}.state-card .ctas{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}@media (max-width: 880px){.sprint-main{grid-template-columns:1fr;padding:22px 16px 140px}.ticket{grid-template-columns:50px 14px 1fr auto;gap:8px}.ticket .label-pill,.ticket .pri-pill{display:none}.metrics-strip{grid-template-columns:repeat(2,1fr)}.sprint-h1{font-size:26px}.snapshot{grid-template-columns:repeat(2,1fr)}.skills-grid{grid-template-columns:1fr}.peek-stats{grid-template-columns:repeat(2,1fr)}.review-hero h1{font-size:32px}}.sprints-main{max-width:920px;margin:0 auto;padding:32px 24px 140px}.sprints-hero{margin-bottom:28px}.sprints-eyebrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.sprints-eyebrow .ep-pill{font-family:Space Mono,monospace;font-size:10px;background:var(--teal);color:var(--surface);padding:4px 10px;border-radius:6px;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);letter-spacing:.12em;text-transform:uppercase;font-weight:700}.sprints-eyebrow .micro{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase}.sprints-h1{font-family:Fraunces,serif;font-weight:600;font-size:56px;line-height:.98;letter-spacing:-.025em;color:var(--ink);margin:0 0 14px}.sprints-h1 .accent{color:var(--peach-deep, var(--peach));font-style:italic;font-weight:500;position:relative;display:inline-block}.sprints-h1 .accent:after{content:"";position:absolute;left:-2px;right:-2px;bottom:6px;height:12px;background:var(--mustard-soft, var(--mustard));z-index:-1;transform:skew(-6deg)}.sprints-sub{font-size:16px;line-height:1.55;color:var(--ink-soft);max-width:620px;margin:0 0 22px;text-wrap:pretty}.sprints-progress{background:var(--surface);border:1.5px solid var(--ink);border-radius:12px;padding:16px 20px;box-shadow:4px 4px 0 var(--ink);margin-bottom:22px}.sp-track{position:relative;height:10px;background:var(--surface-2);border:1.5px solid var(--ink);border-radius:50px;overflow:visible;margin-bottom:18px}.sp-fill{height:100%;background:var(--peach);border-radius:50px 0 0 50px;border-right:1.5px solid var(--ink)}.sp-now{position:absolute;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px}.sp-now-dot{width:14px;height:14px;border-radius:50%;background:var(--peach);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.sp-now-lab{position:absolute;top:16px;left:50%;transform:translate(-50%);font-family:Space Mono,monospace;font-size:9px;background:var(--ink);color:var(--surface);padding:1px 6px;border-radius:2px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.sp-track-meta{display:flex;gap:20px;flex-wrap:wrap;font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft);letter-spacing:.04em}.sp-track-meta strong{color:var(--ink);font-weight:700;font-size:13px}.sprints-filter{display:flex;gap:6px;flex-wrap:wrap}.sp-fchip{font-family:Space Mono,monospace;font-size:11px;font-weight:700;padding:7px 12px;border-radius:6px;background:var(--surface);color:var(--ink-soft);border:1.5px solid color-mix(in oklab,var(--ink) 18%,transparent);cursor:pointer;letter-spacing:.04em;display:inline-flex;align-items:center;gap:7px;transition:all .12s ease}.sp-fchip:hover{color:var(--ink);border-color:var(--ink)}.sp-fchip .cnt{font-family:Space Mono,monospace;font-size:10px;background:var(--surface-2);color:var(--ink-soft);padding:1px 6px;border-radius:999px;border:1px solid color-mix(in oklab,var(--ink) 14%,transparent)}.sp-fchip.on{background:var(--ink);color:var(--surface);border-color:var(--ink);box-shadow:2px 2px 0 var(--peach);transform:translate(-1px,-1px)}.sp-fchip.on .cnt{background:var(--peach);color:var(--surface);border-color:var(--ink)}.sprints-list{list-style:none;margin:0;padding:0}.sp-row{list-style:none;padding:0;margin:0}.sp-card{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:0;margin:0 0 4px;position:relative;cursor:pointer;transition:transform .12s ease}.sp-card[aria-disabled=true]{cursor:default}.sp-card:not([aria-disabled=true]):hover{transform:translate(2px)}.sp-card:not([aria-disabled=true]):hover .sp-body{border-color:var(--ink);box-shadow:5px 5px 0 var(--ink)}.sp-rail{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:14px}.sp-num{font-family:Fraunces,serif;font-weight:600;font-size:28px;line-height:1;color:var(--ink);letter-spacing:-.02em;font-feature-settings:"tnum"}.sp-dot{width:14px;height:14px;border-radius:50%;background:var(--surface-2);border:1.5px solid var(--ink);margin-top:10px;flex-shrink:0;position:relative;z-index:2}.sp-rail:after{content:"";position:absolute;top:56px;bottom:-22px;width:1.5px;background:repeating-linear-gradient(to bottom,var(--ink) 0 4px,transparent 4px 8px);opacity:.4}.sp-row:last-of-type .sp-rail:after{display:none}.sp-done .sp-num{color:var(--teal-deep, var(--teal))}.sp-done .sp-dot{background:var(--teal)}.sp-current .sp-num{color:var(--peach-deep, var(--peach))}.sp-current .sp-dot{background:var(--peach);box-shadow:2px 2px 0 var(--ink);animation:pulse 1.6s ease infinite}.sp-next .sp-num{color:var(--ink-soft)}.sp-next .sp-dot{background:var(--mustard)}.sp-future .sp-num{color:var(--ink-mute);opacity:.55}.sp-future .sp-dot{background:var(--surface);opacity:.6;border-style:dashed}.sp-body{background:var(--surface);border:1.5px solid var(--ink);border-radius:12px;padding:18px 20px;box-shadow:4px 4px 0 var(--ink);transition:box-shadow .12s ease,border-color .12s ease;min-width:0}.sp-current .sp-body{background:var(--peach-soft, color-mix(in oklab, var(--peach) 18%, var(--surface)));box-shadow:6px 6px 0 var(--ink)}.sp-done .sp-body{background:var(--surface)}.sp-next .sp-body{background:var(--mustard-soft, color-mix(in oklab, var(--mustard) 18%, var(--surface)))}.sp-future .sp-body{background:transparent;border-color:color-mix(in oklab,var(--ink) 22%,transparent);border-style:dashed;box-shadow:none;opacity:.72}.sp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.sp-state-pill{font-family:Space Mono,monospace;font-size:10px;font-weight:700;padding:3px 9px;border-radius:6px;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--ink);display:inline-flex;align-items:center;gap:6px}.sp-state-done{background:var(--teal);color:var(--surface)}.sp-state-current{background:var(--peach);color:var(--surface)}.sp-state-current .ind{width:6px;height:6px;border-radius:50%;background:var(--surface);animation:pulse 1.4s infinite}.sp-state-next{background:var(--mustard);color:var(--ink)}.sp-state-future{background:transparent;color:var(--ink-soft);border-style:dashed}.sp-category{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase}.sp-title{font-family:Fraunces,serif;font-weight:600;font-size:22px;line-height:1.15;color:var(--ink);margin:0 0 4px;letter-spacing:-.015em;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.sp-ttl-num{font-family:Space Mono,monospace;font-size:12px;color:var(--ink-soft);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sp-ttl-sep{color:var(--ink-mute)}.sp-ttl-name{color:var(--ink)}.sp-current .sp-ttl-name{color:var(--peach-deep, var(--peach))}.sp-tagline{font-size:14px;line-height:1.5;color:var(--ink-soft);margin:0 0 14px;text-wrap:pretty}.sp-stats{display:flex;flex-wrap:wrap;gap:8px 14px;font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft);letter-spacing:.04em;margin-bottom:8px}.sp-stat b{color:var(--ink);font-weight:700}.sp-stat.ok b{color:var(--teal-deep, var(--teal))}.sp-stat.release b{color:var(--peach-deep, var(--peach))}.sp-progress{display:flex;align-items:center;gap:14px;margin-bottom:6px}.sp-bar{flex:1;height:8px;background:var(--surface);border:1.5px solid var(--ink);border-radius:50px;overflow:hidden}.sp-bar>div{height:100%;background:var(--peach);border-right:1px solid var(--ink);transition:width .4s ease}.sp-progress-lab{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft);letter-spacing:.04em;white-space:nowrap}.sp-progress-lab b{color:var(--ink);font-weight:700}.sp-locked-note,.sp-future-note{font-size:13px;line-height:1.55;color:var(--ink-soft);padding:10px 12px;border-left:2px solid var(--mustard);background:color-mix(in oklab,var(--mustard) 8%,transparent);border-radius:0 6px 6px 0;margin-bottom:8px}.sp-locked-note strong{color:var(--ink);font-weight:700}.sp-locked-note em{color:var(--peach-deep, var(--peach));font-style:italic;font-weight:600}.sp-future-note{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);border-left-color:var(--ink-mute);background:transparent;letter-spacing:.04em}.sp-cta{margin-top:10px;font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink);font-weight:700;display:flex;align-items:center;gap:6px}.sp-cta span.primary{color:var(--peach-deep, var(--peach))}.sp-cta .arr{font-family:Space Mono,monospace;font-size:14px;transition:transform .18s ease}.sp-card:hover .sp-cta .arr{transform:translate(3px)}.sp-cta .sp-upsell-btn{font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid var(--accent, #B85C38);background:var(--accent, #B85C38);color:#fff;text-transform:inherit;letter-spacing:inherit}.sp-cta .sp-upsell-btn:hover{background:var(--accent-deep, #9B4D2E)}.sp-cta .sp-demo-btn{font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1.5px solid var(--accent, #B85C38);background:transparent;color:var(--accent-deep, #9B4D2E);text-transform:inherit;letter-spacing:inherit;font-weight:700;transition:background .15s ease,color .15s ease}.sp-cta .sp-demo-btn:hover{background:var(--accent, #B85C38);color:#fff}.sp-cta .sp-demo-btn .arr{transition:transform .18s ease}.sp-cta .sp-demo-btn:hover .arr{transform:translate(3px)}.sp-card.sp-upsell{opacity:.82}.sp-future-note[data-upsell=true]{color:var(--accent-deep, #9B4D2E);font-weight:600}.sp-milestone{display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:center;margin:6px 0}.sp-ms-line{height:1.5px;background:var(--ink);margin-left:16px;position:relative}.sp-ms-line:before,.sp-ms-line:after{content:"";position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--ink)}.sp-ms-line:before{left:-4px}.sp-ms-line:after{right:-4px;background:var(--mustard);border:1.5px solid var(--ink);top:-4px;width:9px;height:9px}.sp-ms-card{display:grid;grid-template-columns:36px 1fr auto;gap:14px;align-items:center;background:var(--mustard);border:1.5px solid var(--ink);border-radius:12px;padding:12px 16px;box-shadow:3px 3px 0 var(--ink)}.sp-milestone.reached .sp-ms-card{background:var(--teal-soft, color-mix(in oklab, var(--teal) 18%, var(--surface)))}.sp-ms-mark{width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--surface);display:grid;place-items:center;font-family:Fraunces,serif;font-size:18px;font-weight:700;border:1.5px solid var(--ink)}.sp-milestone.reached .sp-ms-mark{background:var(--teal)}.sp-ms-title{font-family:Fraunces,serif;font-weight:600;font-size:16px;color:var(--ink)}.sp-ms-desc{font-size:12.5px;line-height:1.45;color:var(--ink-soft);margin-top:2px}.sp-ms-after{font-family:Space Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);white-space:nowrap}.sprints-foot{margin-top:28px}.sf-card{background:var(--surface);border:1.5px dashed var(--border);border-radius:12px;padding:18px 22px}.sf-h{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;font-weight:700}.sf-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:13.5px;line-height:1.55;color:var(--ink-soft)}.sf-steps b{color:var(--ink);font-weight:700}.prog-main{max-width:1080px;margin:0 auto;padding:32px 24px 140px}.prog-hero{display:grid;grid-template-columns:1fr 200px;gap:40px;align-items:center;margin-bottom:28px}.prog-hero-text{min-width:0}.prog-eyebrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.prog-track{font-family:Space Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.14em;background:var(--ink);color:var(--surface);padding:4px 10px;border-radius:6px;border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--peach)}.prog-day-x{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.06em;color:var(--ink-soft);text-transform:lowercase}.prog-h1{font-family:Fraunces,serif;font-weight:600;font-size:56px;line-height:.98;letter-spacing:-.025em;color:var(--ink);margin:0 0 12px;text-wrap:balance}.prog-h1 .accent{color:var(--peach-deep, var(--peach));font-style:italic;font-weight:500;position:relative;display:inline-block}.prog-h1 .accent:after{content:"";position:absolute;left:-2px;right:-2px;bottom:6px;height:14px;background:var(--mustard-soft, var(--mustard));z-index:-1;transform:skew(-6deg)}.prog-h1-sub{font-size:32px;color:var(--ink-soft);font-weight:500;letter-spacing:-.02em}.prog-h1-sub em{font-style:normal;color:var(--ink);font-weight:600;background:linear-gradient(transparent 70%,var(--peach-soft, color-mix(in oklab, var(--peach) 22%, transparent)) 70%);padding:0 2px}.prog-lead{font-size:15.5px;line-height:1.55;color:var(--ink-soft);margin:0;max-width:580px;text-wrap:pretty}.prog-lead strong{color:var(--ink);font-weight:700}.prog-link{color:var(--peach-deep, var(--peach));text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;cursor:pointer;font-weight:600}.prog-link:hover{color:var(--ink)}.prog-ring{position:relative;width:200px;height:200px;justify-self:end}.prog-ring svg{width:100%;height:100%}.prog-ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}.prog-ring-text .n{font-family:Fraunces,serif;font-weight:600;font-size:46px;line-height:1;color:var(--ink);letter-spacing:-.03em}.prog-ring-text .n .pct{font-family:Space Mono,monospace;font-size:16px;color:var(--ink-soft);font-weight:700;margin-left:2px}.prog-ring-text .l{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.prog-level{background:var(--surface);border:1.5px solid var(--ink);border-radius:12px;padding:18px 22px 22px;box-shadow:4px 4px 0 var(--ink);margin-bottom:22px}.prog-level-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}.lvl-from,.lvl-to{display:flex;flex-direction:column;gap:4px}.lvl-to{align-items:flex-end;text-align:right}.lvl-tag{font-family:Space Mono,monospace;font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--ink);display:inline-block;width:fit-content}.lvl-tag.earned{background:var(--teal);color:var(--surface)}.lvl-tag.next{background:var(--mustard);color:var(--ink)}.lvl-tag.pending{background:var(--surface-2);color:var(--ink-soft);border-style:dashed}.lvl-date{font-family:Space Mono,monospace;font-size:10.5px;letter-spacing:.04em;color:var(--ink-soft)}.prog-level-bar{position:relative;height:12px;background:var(--surface-2);border:1.5px solid var(--ink);border-radius:50px;margin:18px 6px 26px}.lvl-fill{height:100%;background:var(--peach);border-radius:50px 0 0 50px;border-right:1.5px solid var(--ink);position:relative;z-index:1}.lvl-now{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:3}.lvl-now-dot{display:block;width:18px;height:18px;background:var(--peach);border:1.5px solid var(--ink);border-radius:50%;box-shadow:2px 2px 0 var(--ink);animation:pulse 1.6s ease infinite}.lvl-ticks{position:absolute;left:0;right:0;top:16px;display:flex;justify-content:space-between;padding:0 calc(100% / 24)}.lvl-tick{width:6px;height:6px;border-radius:50%;background:var(--ink-mute);position:relative}.lvl-tick.done{background:var(--teal)}.lvl-tick.cur{background:var(--peach);box-shadow:1.5px 1.5px 0 var(--ink)}.lvl-tick-lab{position:absolute;top:10px;left:50%;transform:translate(-50%);font-family:Space Mono,monospace;font-size:9.5px;color:var(--ink-soft);letter-spacing:.04em;font-weight:700}.lvl-tick.done .lvl-tick-lab{color:var(--teal-deep, var(--teal))}.lvl-tick.cur .lvl-tick-lab{color:var(--peach-deep, var(--peach))}.prog-kpi{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:32px}.pkpi{background:var(--surface);border:1.5px solid var(--ink);border-radius:12px;padding:16px 16px 14px;box-shadow:4px 4px 0 var(--ink);display:flex;flex-direction:column;gap:6px}.pkpi.teal{background:var(--teal-soft, color-mix(in oklab, var(--teal) 18%, var(--surface)))}.pkpi.mustard{background:var(--mustard-soft, color-mix(in oklab, var(--mustard) 18%, var(--surface)))}.pkpi.plum{background:var(--plum-soft, color-mix(in oklab, var(--plum, var(--accent)) 18%, var(--surface)))}.pkpi-num{font-family:Fraunces,serif;font-weight:600;font-size:32px;line-height:1;color:var(--ink);letter-spacing:-.025em;display:flex;align-items:baseline;gap:4px;min-width:0}.pkpi-num .suf{font-family:Space Mono,monospace;font-size:13px;color:var(--ink-mute);font-weight:600;letter-spacing:.02em}.pkpi-lab{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.prog-section{margin-bottom:32px}.prog-sh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;flex-wrap:wrap;gap:8px;padding-bottom:10px;border-bottom:1.5px dashed var(--border)}.prog-sh h2{font-family:Fraunces,serif;font-weight:600;font-size:26px;color:var(--ink);margin:0;letter-spacing:-.02em}.prog-sh-meta{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.06em;color:var(--ink-soft)}.prog-sh-meta strong{color:var(--ink);font-weight:700}.prog-empty{padding:18px 22px;background:var(--surface);border:1.5px dashed var(--border);border-radius:12px;color:var(--ink-soft);font-size:14px;line-height:1.5}.skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.skill-pill{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;background:var(--surface);border:1.5px solid var(--ink);border-radius:12px;padding:12px 14px;box-shadow:3px 3px 0 var(--ink);min-width:0}.skill-pill .sk-ic{width:44px;height:44px;border-radius:6px;background:var(--peach-soft, color-mix(in oklab, var(--peach) 22%, var(--surface)));border:1.5px solid var(--ink);display:grid;place-items:center;font-size:20px}.skill-pill .sk-body{min-width:0}.skill-pill .sk-t{font-family:Fraunces,serif;font-weight:600;font-size:15px;color:var(--ink);line-height:1.2;letter-spacing:-.005em}.skill-pill .sk-meta{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:2px;font-weight:700}.skill-pill .sk-check{font-family:Space Mono,monospace;font-weight:700;background:var(--teal);color:var(--surface);width:22px;height:22px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;font-size:12px}.skill-pill.in-progress{background:var(--mustard-soft, color-mix(in oklab, var(--mustard) 22%, var(--surface)))}.skill-pill.in-progress .sk-ic{background:var(--mustard)}.skill-pill .sk-bar{height:6px;background:var(--surface);border:1px solid var(--ink);border-radius:50px;overflow:hidden;margin-top:6px}.skill-pill .sk-bar>div{height:100%;background:var(--peach)}.skill-pill .sk-pct{font-family:Space Mono,monospace;font-size:11px;color:var(--peach-deep, var(--peach));font-weight:700}.skill-in-progress{margin-top:16px}.skill-in-progress>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;font-family:Space Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:8px 0;margin-bottom:8px}.skill-in-progress>summary::marker,.skill-in-progress>summary::-webkit-details-marker{display:none}.skill-in-progress>summary:before{content:"▸";transition:transform .18s ease;color:var(--peach-deep, var(--peach))}.skill-in-progress[open]>summary:before{transform:rotate(90deg)}.skill-in-progress .ip-cnt{margin-left:auto;background:var(--mustard);color:var(--ink);padding:1px 8px;border-radius:999px;border:1px solid var(--ink);font-size:10px}.ach-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.ach-fchip{font-family:Space Mono,monospace;font-size:11px;font-weight:700;padding:7px 12px;border-radius:6px;background:var(--surface);color:var(--ink-soft);border:1.5px solid color-mix(in oklab,var(--ink) 18%,transparent);cursor:pointer;letter-spacing:.04em;display:inline-flex;align-items:center;gap:7px;transition:all .12s ease}.ach-fchip:hover{color:var(--ink);border-color:var(--ink)}.ach-fchip .cnt{font-family:Space Mono,monospace;font-size:10px;background:var(--surface-2);color:var(--ink-soft);padding:1px 6px;border-radius:999px;border:1px solid color-mix(in oklab,var(--ink) 14%,transparent)}.ach-fchip.on{background:var(--ink);color:var(--surface);border-color:var(--ink);box-shadow:2px 2px 0 var(--peach);transform:translate(-1px,-1px)}.ach-fchip.on .cnt{background:var(--peach);color:var(--surface);border-color:var(--ink)}.ach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ach-card{position:relative;display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:start;background:var(--surface);border:1.5px solid var(--ink);border-radius:12px;padding:14px 16px;box-shadow:3px 3px 0 var(--ink);min-width:0}.ach-card.earned{background:var(--peach-soft, color-mix(in oklab, var(--peach) 22%, var(--surface)))}.ach-card.next{background:var(--surface);border-style:dashed;box-shadow:2px 2px 0 var(--ink)}.ach-card.locked{background:transparent;opacity:.55;border-style:dashed;box-shadow:none}.ach-mark{width:56px;height:56px;border:1.5px solid var(--ink);border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:26px;line-height:1;box-shadow:2px 2px 0 var(--ink)}.ach-card.earned .ach-mark{background:var(--peach)}.ach-card.next .ach-mark{background:var(--mustard)}.ach-card.locked .ach-mark{background:transparent;box-shadow:none}.ach-body{min-width:0}.ach-body h4{font-family:Fraunces,serif;font-weight:600;font-size:15px;color:var(--ink);margin:0 0 4px;letter-spacing:-.005em;line-height:1.2}.ach-body p{font-size:13px;color:var(--ink-soft);line-height:1.5;margin:0 0 6px;text-wrap:pretty}.ach-on,.ach-hint,.ach-locked{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:inline-block;padding:2px 8px;border-radius:6px}.ach-on{background:var(--teal);color:var(--surface);border:1.5px solid var(--ink)}.ach-hint{background:var(--mustard-soft, color-mix(in oklab, var(--mustard) 22%, var(--surface)));color:var(--ink);border:1.5px solid var(--ink)}.ach-locked{color:var(--ink-mute);border:1.5px dashed var(--ink-mute)}.ach-corner{position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;background:var(--mustard);color:var(--ink);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);display:grid;place-items:center;font-size:14px;font-weight:700}.prog-activity{background:var(--surface);border:1.5px solid var(--ink);border-radius:12px;padding:22px 22px 16px;box-shadow:4px 4px 0 var(--ink)}.prog-activity-skeleton{text-align:center;color:var(--ink-soft);padding:24px;font-family:Space Mono,monospace;font-size:12px;letter-spacing:.06em}.pa-bars{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;align-items:end;height:140px;border-bottom:1.5px solid var(--ink);padding-bottom:4px}.pa-col{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;position:relative;height:100%;justify-content:flex-end}.pa-bar{width:100%;background:var(--peach);border:1.5px solid var(--ink);border-bottom:0;border-radius:6px 6px 0 0;position:relative}.pa-col:nth-child(odd) .pa-bar{background:var(--teal)}.pa-col.cur .pa-bar{background:var(--peach);box-shadow:0 0 0 3px var(--peach-soft, color-mix(in oklab, var(--peach) 22%, transparent))}.pa-lab{font-family:Space Mono,monospace;font-size:9.5px;color:var(--ink-soft);letter-spacing:.04em;position:absolute;bottom:-20px;white-space:nowrap}.pa-axis{display:flex;justify-content:space-between;font-family:Space Mono,monospace;font-size:10px;letter-spacing:.06em;color:var(--ink-mute);margin-top:28px}.prog-milestones{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.pm-row{display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:center;padding:16px 18px;border:1.5px solid var(--ink);border-radius:12px;background:var(--surface);margin-bottom:8px;box-shadow:3px 3px 0 var(--ink)}.pm-row.reached{background:var(--teal-soft, color-mix(in oklab, var(--teal) 18%, var(--surface)))}.pm-row.reached .pm-mark{background:var(--teal);color:var(--surface)}.pm-mark{width:44px;height:44px;border-radius:50%;background:var(--mustard);color:var(--ink);border:1.5px solid var(--ink);display:grid;place-items:center;font-family:Fraunces,serif;font-weight:700;font-size:18px}.pm-body{min-width:0}.pm-t{font-family:Fraunces,serif;font-weight:600;font-size:18px;color:var(--ink);letter-spacing:-.015em}.pm-d{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft);letter-spacing:.04em;margin-top:2px}.pm-tag{font-family:Space Mono,monospace;font-size:10px;font-weight:700;padding:4px 10px;border-radius:6px;letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--ink);white-space:nowrap;background:var(--surface-2);color:var(--ink-soft)}.pm-row.reached .pm-tag{background:var(--teal);color:var(--surface)}.prog-foot{margin-top:28px;padding:16px 22px;border:1.5px dashed var(--border);border-radius:12px;background:var(--surface)}.prog-foot-text{font-size:14px;color:var(--ink-soft);line-height:1.55}.prog-capstone{background:var(--surface-2);border:1.5px solid var(--ink);border-radius:12px;padding:22px 24px;margin-bottom:32px}.capstone-card__submit-label{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.08em;font-weight:700;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.capstone-mock-gate{margin-top:16px}.capstone-mock-status{font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.capstone-mock-status.pass{color:var(--green, var(--teal-deep, var(--teal)))}.capstone-mock-status.fail{color:var(--peach-deep, var(--peach))}.capstone-bonus-trigger{margin-top:16px;font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.08em;font-weight:700}@media (max-width: 768px){.sprints-main,.prog-main{padding:18px 14px 90px;max-width:100%}.sprints-h1,.prog-h1{font-size:32px;line-height:1.05}.prog-hero{grid-template-columns:minmax(0,1fr);gap:18px}.prog-ring{width:140px;height:140px;justify-self:center}.prog-ring-text .n{font-size:32px}.prog-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-list,.ach-grid{grid-template-columns:minmax(0,1fr)}.sp-card,.sp-milestone{grid-template-columns:48px 1fr;gap:10px}}.dash-main{max-width:1180px;margin:0 auto;padding:32px 24px 140px}.dash-hero{margin-bottom:32px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start}.dash-meta{display:flex;align-items:baseline;gap:12px;border-right:1.5px solid rgba(0,0,0,.12);padding-right:28px}.dash-day-num{font-family:Fraunces,serif;font-weight:600;font-size:88px;line-height:.85;color:var(--peach);letter-spacing:-.04em}.dash-day-tx{font-family:Space Mono,monospace;font-size:12px;letter-spacing:.06em;color:var(--ink);text-transform:lowercase;display:flex;flex-direction:column;gap:6px;padding-top:6px}.dash-day-tx .m{color:var(--ink-soft);font-size:11px}.dash-greet{font-family:Fraunces,serif;font-weight:600;font-size:56px;line-height:.98;letter-spacing:-.02em;color:var(--ink);margin:0 0 14px;grid-column:2;text-wrap:balance}.dash-greet .accent{color:var(--peach);font-style:italic;font-weight:500}.dash-greet-sub{grid-column:2;font-size:16px;color:var(--ink-soft);line-height:1.55;max-width:580px;margin:0}.dash-greet-sub strong{color:var(--ink);font-weight:600}.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.kpi{background:var(--surface);border:1.5px solid var(--ink);border-radius:10px;padding:16px 18px;box-shadow:4px 4px 0 var(--ink);display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden}.kpi .lab{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.kpi .val{font-family:Fraunces,serif;font-weight:600;font-size:36px;line-height:1;color:var(--ink);display:flex;align-items:baseline;gap:4px}.kpi .val .suf{font-size:14px;color:var(--ink-mute);font-family:Space Mono,monospace}.kpi .delta{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute)}.kpi.teal{background:var(--teal-soft)}.kpi.mustard{background:var(--mustard-soft)}.kpi.plum{background:var(--plum-soft)}.kpi .accent-stripe{display:none}.dash-bridge{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch;background:var(--surface);border:1.5px solid var(--ink);border-radius:10px;padding:18px 22px;margin-bottom:22px;box-shadow:3px 3px 0 var(--ink)}.dash-bridge-col{display:flex;flex-direction:column;gap:8px;min-width:0}.dash-bridge-col .lab{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;margin-bottom:4px}.dash-bridge-col .row{display:flex;align-items:baseline;gap:8px;font-size:13px;color:var(--ink-soft);line-height:1.4}.dash-bridge-col .row .ic{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);font-weight:700}.dash-bridge-col .row.done .ic{color:var(--teal-deep)}.dash-bridge-col .row.done span:last-child{color:var(--ink)}.dash-bridge-col .row.now .ic{color:var(--peach);font-size:14px}.dash-bridge-col .row.now span:last-child{color:var(--ink)}.dash-bridge-col .row.queue .ic{color:var(--ink-mute)}.dash-bridge-arrow{display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-size:28px;color:var(--peach);padding:0 8px}.dash-cols{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}.dash-main-col{display:flex;flex-direction:column;gap:14px}.dash-focus{background:var(--surface);border:1.5px solid var(--ink);border-radius:10px;padding:22px 24px;box-shadow:4px 4px 0 var(--ink)}.df-head{margin-bottom:18px}.df-ey{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}.df-h{font-family:Fraunces,serif;font-weight:600;font-size:24px;color:var(--ink);margin:0;letter-spacing:-.01em}.df-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.df-step{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:center;padding:16px 18px;border-radius:8px;border:1.5px solid rgba(0,0,0,.15);background:var(--paper);cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}.df-step:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink);border-color:var(--ink)}.df-step.now{border-color:var(--ink);background:var(--peach-soft);box-shadow:3px 3px 0 var(--ink)}.df-step.later{opacity:.62;cursor:default}.df-step.later:hover{transform:none;box-shadow:none;border-color:#00000026}.df-num{font-family:Fraunces,serif;font-weight:600;font-size:36px;color:var(--ink);line-height:1;letter-spacing:-.02em}.df-step.now .df-num{color:var(--peach)}.df-tag{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}.df-t{font-family:Fraunces,serif;font-weight:600;font-size:17px;color:var(--ink);line-height:1.3;margin-bottom:3px;letter-spacing:-.005em}.df-m{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft)}.df-go{font-family:Fraunces,serif;font-size:22px;color:var(--ink-mute)}.df-step.now .df-go{color:var(--peach-deep)}.df-empty{text-align:center;padding:32px 12px;display:flex;flex-direction:column;align-items:center;gap:10px}.df-empty-mark{font-size:56px;color:var(--ink-mute);font-family:Fraunces,serif;line-height:1}.df-empty-t{font-family:Fraunces,serif;font-weight:600;font-size:18px;color:var(--ink)}.df-empty-d{font-size:13px;color:var(--ink-soft);max-width:320px;line-height:1.5;margin-bottom:6px}.dash-mini{background:var(--surface);border:1.5px solid var(--ink);border-radius:10px;padding:16px 18px;box-shadow:3px 3px 0 var(--ink)}.dm-h{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}.dm-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:13px;color:var(--ink-soft);border-bottom:1px dashed rgba(0,0,0,.1)}.dm-row:last-child{border-bottom:0}.dm-row .v{font-family:Space Mono,monospace;color:var(--ink);font-weight:700;font-size:12px}.dm-row .v.green{color:var(--teal-deep)}.dm-row .v.red{color:var(--peach-deep)}.dash-quote{background:var(--mustard-soft);border:1.5px solid var(--ink);border-radius:10px;padding:16px 18px 14px;box-shadow:3px 3px 0 var(--ink);position:relative}.dq-mark{font-family:Fraunces,serif;font-size:48px;color:var(--peach);line-height:.7;margin-bottom:-4px}.dash-quote p{font-family:Fraunces,serif;font-size:15px;line-height:1.4;color:var(--ink);margin:0 0 8px;font-weight:500}.dash-quote p em{color:var(--peach-deep);font-style:italic}.dq-by{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.buddy-nudge{background:var(--peach-soft);border:1.5px solid var(--ink);border-radius:10px;padding:16px 18px;box-shadow:4px 4px 0 var(--ink);display:flex;flex-direction:column;gap:10px}.buddy-nudge .text{font-size:13px;line-height:1.55;color:var(--ink)}.buddy-nudge .text strong{color:var(--peach-deep)}.buddy-nudge .nudge-btn{align-self:flex-start;font:inherit;font-size:12px;font-weight:700;padding:7px 14px;background:var(--surface);color:var(--ink);border:1.5px solid var(--ink);border-radius:50px;box-shadow:2px 2px 0 var(--ink);cursor:pointer;transition:all .12s}.buddy-nudge .nudge-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}@media (max-width: 1100px){.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-bridge{grid-template-columns:1fr}.dash-bridge-arrow{display:none}}@media (max-width: 700px){.dash-main{padding:20px 14px 120px}.dash-hero{grid-template-columns:1fr;gap:16px}.dash-meta{border-right:0;padding-right:0;padding-bottom:12px;border-bottom:1.5px solid rgba(0,0,0,.12)}.dash-greet{font-size:40px;grid-column:1}.dash-greet-sub{grid-column:1}.dash-day-num{font-size:64px}.kpi-strip,.dash-side{grid-template-columns:1fr}}.board-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:18px 22px;margin-bottom:18px;background:var(--surface);border:1.5px solid var(--ink);border-radius:10px;box-shadow:4px 4px 0 var(--ink)}.bt-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-family:Space Mono,monospace;font-size:11px;letter-spacing:.04em;color:var(--ink-soft)}.bt-meta .dot{color:var(--ink-mute)}.bt-pct{color:var(--peach-deep);font-weight:700}.bt-filters{display:flex;flex-direction:column;gap:8px}.bt-fset{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bt-flab{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);width:78px}.bt-fchip{font-family:Space Mono,monospace;font-size:10px;background:var(--paper);border:1px solid rgba(0,0,0,.2);color:var(--ink-soft);padding:4px 9px;border-radius:3px;letter-spacing:.04em;cursor:pointer;transition:all .12s}.bt-fchip:hover{border-color:var(--ink);color:var(--ink)}.bt-fchip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.bt-fchip.p-P0.on{background:var(--plum);color:var(--paper)}.bt-fchip.p-P1.on{background:var(--peach);color:var(--ink)}.bt-fchip.p-P2.on{background:var(--mustard);color:var(--ink)}.board-card-age{font-family:Space Mono,monospace;font-size:9px;color:var(--ink-mute);letter-spacing:.04em}.board-card-age--stale{color:var(--plum);font-weight:700}.board-card-now{font-family:Space Mono,monospace;font-size:9px;color:var(--peach-deep);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.board-blocked-hint{background:var(--plum-soft, rgba(91,61,82,.08));border:1.5px solid var(--plum);border-radius:8px;padding:10px 14px;margin-bottom:14px;font-family:Space Mono,monospace;font-size:12px;color:var(--plum);letter-spacing:.04em}.board-card-blocked-tag{font-family:Space Mono,monospace;font-size:10px;color:var(--plum);background:#5b3d5214;padding:2px 6px;border-radius:3px;border-left:2px solid var(--plum);margin-top:2px;letter-spacing:.04em}@media (max-width: 1100px){.board-toolbar{flex-direction:column}.bt-flab{width:auto;min-width:78px}}.prog-capstone-b2-placeholder{background:var(--surface-2);border:1.5px dashed var(--ink);border-radius:12px;padding:22px 24px;margin-bottom:32px;opacity:.92}.prog-capstone-b2-placeholder .b2-lock-chip{font-family:Space Mono,monospace;font-size:11px;font-weight:700;padding:3px 10px;border:1px solid var(--ink);border-radius:50px;background:var(--surface);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}.prog-capstone-b2-placeholder .b2-artifacts-teaser{margin:16px 0 8px}.prog-capstone-b2-placeholder .b2-artifacts-teaser h3{font-family:Space Mono,monospace;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);margin:0 0 8px}.prog-capstone-b2-placeholder .b2-artifacts-teaser ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}.prog-capstone-b2-placeholder .b2-artifacts-teaser li{font-size:14px;line-height:1.4;color:var(--ink)}.prog-capstone-b2-placeholder .b2-meta{margin:12px 0 6px;font-size:14px;line-height:1.5;color:var(--ink)}.prog-capstone-b2-placeholder .b2-prereq{margin:6px 0 16px;font-size:13px;color:var(--ink-mute);font-style:italic}.prog-capstone-b2-placeholder .b2-status-note{padding:10px 14px;background:var(--surface);border-left:3px solid var(--peach);border-radius:var(--r-sm);font-family:Space Mono,monospace;font-size:12px;color:var(--ink-soft);letter-spacing:.02em}@media (max-width: 600px){.prog-capstone-b2-placeholder .b2-artifacts-teaser ul{grid-template-columns:1fr}}.profile-account__email{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.profile-account__email-label{font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--ink-mute)}.profile-account__email-value{font-family:Inter,sans-serif;font-size:14px;color:var(--ink)}.profile-account__readonly{font-family:Inter,sans-serif;font-size:11px;color:var(--ink-mute);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px 8px}.profile-account__form{max-width:420px}.profile-account__name-row{display:flex;gap:10px;align-items:flex-end}.profile-account__name-row .auth-form__field{flex:1;margin-bottom:0}.profile-account__name-save{flex-shrink:0}.profile-account__divider{border-top:1px solid var(--border);margin:22px 0;max-width:420px}.profile-account__subhead{font-family:Inter,sans-serif;font-size:15px;font-weight:700;color:var(--ink);margin:0 0 4px}.profile-account__note{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);line-height:1.45;margin:0 0 12px}.demo-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:12px 16px;border:1px solid var(--accent, #B85C38);border-left:4px solid var(--accent, #B85C38);border-radius:8px;background:var(--paper-tint, #FFF7EE)}.demo-banner-tag{font-family:Space Mono,monospace;font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--accent-deep, #9B4D2E);white-space:nowrap}.demo-banner-text{font-family:Inter,sans-serif;font-size:13.5px;line-height:1.45;color:var(--ink, #2D1B0E)}a{color:inherit}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}img,svg{display:block;max-width:100%}textarea,input,select{font-family:inherit;color:inherit}@media (max-width: 1100px){.ticket-main{grid-template-columns:1fr;gap:16px}.ticket-main .side{display:flex;flex-direction:column;gap:12px}.ticket-main .side .close-btn,.ticket-main .side .ready-banner,.ticket-main .side .closed-banner{grid-column:1 / -1}.cols{grid-template-columns:1fr}.col-side{flex-direction:row;flex-wrap:wrap;gap:14px}.col-side>*{flex:1 1 280px}}@media (max-width: 768px){.topbar{padding:8px 12px;gap:8px;flex-wrap:wrap}.topbar .crumb{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .right{gap:6px}.topbar .right .pill-time,.topbar .right .theme-btn{font-size:11px;padding:4px 8px}.dash-main{padding:18px 14px 100px}.hello{grid-template-columns:1fr;padding:18px 16px}.hello .quick{flex-direction:column;align-items:stretch}.kpi-strip{grid-template-columns:repeat(2,1fr);gap:10px}.kpi{padding:12px 14px}.kpi .val{font-size:26px}.col-side>*{flex:1 1 100%}.ticket-main .side{grid-template-columns:1fr}.welcome-main{padding:32px 16px 100px}.welcome-h1,.welcome-h1 .wave{font-size:32px}.route-cards{grid-template-columns:1fr;gap:10px}.morning-main{padding:32px 16px 100px}.morning-h1{font-size:28px}.morning-bridge{grid-template-columns:1fr}.morning-arrow{transform:rotate(86deg);padding:12px 0}.morning-buddy{grid-template-columns:64px 1fr;gap:12px}.sprint-head-card{padding:18px}.sprint-h1{font-size:22px}.metrics-strip{grid-template-columns:repeat(2,1fr)}.ticket-section .section-head{flex-wrap:wrap}.ticket-section .section-head .filter{flex-wrap:wrap;gap:4px;margin-left:0;flex-basis:100%}.review-main{padding:24px 16px 100px}.review-hero h1{font-size:28px}.snapshot{grid-template-columns:repeat(2,1fr)}.skills-grid{grid-template-columns:1fr}.peek-dialog{max-width:100%}.peek-head{padding:22px 18px 18px}.peek-body{padding:18px}.peek-stats{grid-template-columns:repeat(2,1fr)}.peek-footer{padding:14px 18px 18px}.peek-footer .actions{flex-direction:column;align-items:stretch}.progress-header .inner{padding:14px 16px 12px}.ft-main{padding:22px 16px 100px}.q-block h2{font-size:18px}.opt{padding:12px 14px}.nav-row{flex-wrap:wrap;gap:8px}.foot-nav{bottom:8px;padding:4px;gap:2px;overflow-x:auto;max-width:calc(100vw - 16px)}.foot-nav button{padding:6px 10px;font-size:11px;white-space:nowrap}.foot-nav button .num{display:none}.ac-item .check,.opt .marker{width:24px;height:24px}}@media (max-width: 360px){.topbar{padding:6px 10px}.topbar .crumb{display:none}.welcome-h1{font-size:26px}.morning-h1{font-size:22px}.sprint-h1{font-size:20px}}@media (max-width: 768px){.ticket-head h1{font-size:22px;letter-spacing:-.3px}.ticket-head h2{font-size:18px}.body-card h2{font-size:15px}.body-card h3{font-size:14px}.review-hero h1{font-size:30px}.peek-head h1,.peek-head .h1{font-size:24px}.snapshot h2,.skills-grid h2{font-size:20px}.q-block h2{font-size:18px}.body-card{padding:18px}.topbar{padding-right:10px}.topbar .right{min-width:0;flex-shrink:1;flex-wrap:wrap;justify-content:flex-end}.topbar .right .pill-time{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body-card details summary{font-size:14px;padding:8px 10px}.body-card details>*{max-width:100%}}@media (max-width: 480px){.ticket-head h1{font-size:20px;line-height:1.25}.body-card h2{font-size:14px}.body-card h3{font-size:13px}.review-hero h1{font-size:24px}.peek-head h1,.peek-head .h1{font-size:22px}.snapshot h2,.skills-grid h2{font-size:18px}.q-block h2{font-size:17px}.welcome-h1{font-size:28px}.morning-h1{font-size:24px}.sprint-h1{font-size:20px}.body-card{padding:14px;border-radius:var(--r-md)}.body-card p{font-size:14px;line-height:1.6}.kpi-strip{grid-template-columns:1fr;gap:8px}.kpi{padding:10px 12px}.kpi .val{font-size:22px}.metrics-strip,.snapshot{grid-template-columns:1fr}.topbar{padding:6px 10px;gap:6px}.topbar .crumb{font-size:11px}.topbar .right .pill-time,.topbar .right .theme-btn{font-size:10px;padding:3px 6px}.ac-item{padding:8px 10px}.ac-item .text{font-size:13px}.ticket-section .section-head{padding:0 4px}}@media (max-width: 360px){.ticket-head h1{font-size:18px;line-height:1.3;letter-spacing:-.2px}.body-card h2{font-size:13px}.review-hero h1{font-size:22px}.peek-head h1,.peek-head .h1{font-size:20px}.body-card{padding:12px}.body-card p{font-size:13px}.topbar{padding:6px 8px;gap:4px}.topbar .right{gap:4px}.topbar .right .pill-time{font-size:10px;padding:2px 5px}.ac-item{padding:6px 8px;gap:8px}.ac-item .check{width:22px;height:22px}}html[data-accent=rose]{--accent: #E07A8B;--accent-soft: #F8DCE2;--accent-deep: #B85A6E}html[data-accent=sage]{--accent: #6B9080;--accent-soft: #DCE9E2;--accent-deep: #4F7B69}html[data-accent=indigo]{--accent: #6B5BA0;--accent-soft: #DDD8EE;--accent-deep: #4D4080}html[data-accent=gold]{--accent: #C9A227;--accent-soft: #F6EAB7;--accent-deep: #927307}@keyframes badge-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.badge-toast{animation:none!important}}.practice-main{max-width:1180px;margin:0 auto;padding:24px 24px 96px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}.practice-head{margin-bottom:18px}.practice-eyebrow{display:inline-flex;gap:10px;align-items:center;font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:8px}.practice-eyebrow .pid{background:var(--accent-soft);color:var(--accent-deep);padding:2px 8px;border-radius:var(--r-sm);font-weight:800}.practice-h1{font-family:Inter,sans-serif;font-size:28px;line-height:1.2;font-weight:800;color:var(--ink);margin-bottom:8px}.practice-sub{font-family:Inter,sans-serif;font-size:14px;color:var(--ink-soft);line-height:1.55;margin-bottom:18px}.sandbox{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-lg);overflow:hidden}.sandbox-bar{display:flex;align-items:center;gap:14px;padding:10px 14px;background:var(--surface-3);border-bottom:1px solid var(--border-strong);font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft)}.sandbox-bar .dots{display:inline-flex;gap:6px}.sandbox-bar .dots .d{width:10px;height:10px;border-radius:50%;background:var(--ink-mute);opacity:.6}.sandbox-bar .url{flex:1}.sandbox-bar .badge{background:var(--ink);color:var(--bg);padding:2px 8px;border-radius:var(--r-sm);font-weight:700;letter-spacing:1px}.sandbox-body{padding:18px;position:relative;min-height:320px;background:var(--surface)}.fake-app .crumbs{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);margin-bottom:8px}.fake-app .item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px dashed var(--border)}.fake-app .item .img{width:56px;height:56px;border-radius:var(--r-md)}.fake-app .item .name{font-family:Inter,sans-serif;font-weight:700;font-size:14px;color:var(--ink)}.fake-app .item .meta{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute)}.fake-app .qty-row{display:inline-flex;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:13px}.fake-app .qty-btn{width:26px;height:26px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer}.totals{display:flex;justify-content:space-between;font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);padding:4px 0}.totals.final{font-size:16px;font-weight:800;color:var(--ink);margin-top:8px;padding-top:10px;border-top:2px solid var(--ink)}.hot{position:absolute;cursor:crosshair;border-radius:var(--r-md);transition:background-color .2s,outline .2s}.hot:hover{background-color:color-mix(in srgb,var(--amber) 22%,transparent)}.hot.guessed-right{background-color:color-mix(in srgb,var(--green) 22%,transparent);outline:2px solid var(--green)}.hot.guessed-wrong{background-color:color-mix(in srgb,var(--accent) 22%,transparent);outline:2px solid var(--accent)}.hot-label{position:absolute;top:-24px;left:0;background:var(--green);color:#fff;font-family:Space Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:2px 8px;border-radius:var(--r-sm)}.practice-empty{background:var(--surface);border:2px dashed var(--border-strong);border-radius:var(--r-lg);padding:40px 28px;text-align:center}.practice-empty h3{font-family:Inter,sans-serif;font-size:18px;font-weight:800;color:var(--ink);margin-bottom:10px}.practice-empty p{font-family:Inter,sans-serif;font-size:14px;color:var(--ink-soft);margin-bottom:18px}.attempts{display:flex;align-items:center;gap:10px;margin-top:18px;padding:10px 14px;background:var(--surface-2);border-radius:var(--r-md);font-family:Space Mono,monospace;font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px}.attempts .dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--border-strong)}.attempts .dot.miss{background:var(--accent);border-color:var(--accent)}.practice-result{background:color-mix(in srgb,var(--green-soft) 70%,var(--surface) 30%);border:2px solid var(--green);border-radius:var(--r-lg);padding:18px 22px;display:flex;gap:16px;align-items:flex-start;margin-bottom:18px}.practice-result .badge{width:46px;height:46px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;flex-shrink:0}.practice-result h2{font-family:Inter,sans-serif;font-size:18px;font-weight:800;color:var(--ink);margin-bottom:6px}.practice-result p{font-family:Inter,sans-serif;font-size:13.5px;color:var(--ink-soft);line-height:1.55}.practice-side{display:flex;flex-direction:column;gap:16px}.practice-side .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px}.practice-side .card h4{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:12px}.practice-side .scenario{font-family:Caveat,cursive;font-size:16px;color:var(--ink);font-style:italic;background:var(--amber-soft);padding:10px 12px;border-radius:var(--r-sm);margin-bottom:12px;line-height:1.4}.practice-side .steps{list-style:none;counter-reset:step;padding:0;font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft)}.practice-side .steps li{position:relative;padding:6px 0 6px 28px;counter-increment:step}.practice-side .steps li:before{content:counter(step);position:absolute;left:0;top:6px;width:20px;height:20px;background:var(--accent-soft);color:var(--accent-deep);border-radius:50%;font-family:Space Mono,monospace;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.hint-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--border);font-family:Inter,sans-serif;font-size:13px;color:var(--ink-mute)}.hint-row:last-of-type{border-bottom:0}.hint-row.revealed{color:var(--ink-soft)}.hint-row .num{width:20px;height:20px;border-radius:50%;background:var(--surface-2);color:var(--ink-mute);font-family:Space Mono,monospace;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.hint-row.revealed .num{background:var(--accent-soft);color:var(--accent-deep)}.reveal-btn{font-family:Space Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:1px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:4px 10px;cursor:pointer}.hints-card .footer{margin-top:10px;font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute);text-align:right}.author-editor{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:18px 22px;margin-bottom:18px}.author-editor textarea{width:100%;min-height:320px;font-family:Space Mono,monospace;font-size:13px;line-height:1.55;padding:12px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg);color:var(--ink);resize:vertical}.author-rubric{background:var(--surface-2);border-radius:var(--r-md);padding:12px 14px;margin-top:14px}.author-rubric h5{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.author-rubric label{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);cursor:pointer}.author-rubric input[type=checkbox]{margin-top:3px}@media (max-width: 880px){.practice-main{grid-template-columns:1fr}}.capstone-main{max-width:1180px;margin:0 auto;padding:24px 24px 96px}.capstone-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:26px 30px;margin-bottom:22px}.capstone-hero h1{font-family:Inter,sans-serif;font-size:28px;font-weight:800;color:var(--ink);margin-bottom:10px;line-height:1.2}.capstone-hero .release-pill{display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);color:var(--accent-deep);padding:4px 12px;border-radius:var(--r-sm);font-family:Space Mono,monospace;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.capstone-hero p{font-family:Inter,sans-serif;font-size:14.5px;line-height:1.6;color:var(--ink-soft)}.capstone-tier-tabs{display:inline-flex;background:var(--surface-2);border-radius:var(--r-md);padding:4px;gap:4px;margin-bottom:18px}.capstone-tier-tabs button{border:0;background:transparent;font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--ink-mute);padding:8px 14px;border-radius:var(--r-sm);cursor:pointer}.capstone-tier-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.capstone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}.capstone-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px}.capstone-card.submitted{border-color:var(--green);background:color-mix(in srgb,var(--green-soft) 50%,var(--surface) 50%)}.capstone-card .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.capstone-card h3{font-family:Inter,sans-serif;font-size:16px;font-weight:700;color:var(--ink)}.capstone-card p{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);line-height:1.5;margin-bottom:12px}.capstone-card .meta{font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:1px}.capstone-rubric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 22px;margin-bottom:22px}.capstone-rubric h2{font-family:Inter,sans-serif;font-size:18px;font-weight:800;color:var(--ink);margin-bottom:4px}.capstone-rubric .sub{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-soft);margin-bottom:14px}.capstone-rubric label{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-family:Inter,sans-serif;font-size:13.5px;color:var(--ink-soft);cursor:pointer;border-top:1px dashed var(--border)}.capstone-rubric label:first-of-type{border-top:0}.capstone-rubric input[type=checkbox]{margin-top:3px;flex-shrink:0}.capstone-release{background:color-mix(in srgb,var(--accent-soft) 60%,var(--surface) 40%);border:2px dashed var(--accent);border-radius:var(--r-lg);padding:18px 22px;font-family:Inter,sans-serif;font-size:14px;color:var(--ink);text-align:center}.capstone-release.unlocked{background:var(--accent);color:#fff;border-style:solid}.capstone-release strong{display:block;font-size:18px;margin-bottom:4px}@media (max-width: 760px){.capstone-grid{grid-template-columns:1fr}}.profile-main{max-width:1180px;margin:0 auto;padding:24px 24px 96px}.profile-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:26px 30px;margin-bottom:22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center}.profile-hero h1{font-family:Inter,sans-serif;font-size:24px;font-weight:800;color:var(--ink);margin-bottom:10px}.profile-hero .ranks{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.profile-hero .ranks .rank-chip{background:var(--accent-soft);color:var(--accent-deep);padding:4px 10px;border-radius:var(--r-sm);font-family:Space Mono,monospace;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.profile-counter{font-family:Inter,sans-serif;font-size:14px;color:var(--ink-soft);text-align:right}.profile-counter strong{display:block;font-size:36px;font-weight:800;color:var(--accent)}.profile-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.profile-filter-bar button{background:var(--surface-2);border:1px solid var(--border);color:var(--ink-soft);padding:6px 14px;border-radius:var(--r-sm);font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;cursor:pointer}.profile-filter-bar button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.profile-section{margin-bottom:26px}.profile-section h2{font-family:Space Mono,monospace;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-mute);font-weight:700;margin-bottom:12px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.badge-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px;text-align:center;position:relative}.badge-card.locked{opacity:.45;filter:grayscale(.85)}.badge-card.hidden{background:var(--surface-2);border-style:dashed}.badge-card .emoji{font-size:32px;line-height:1;margin-bottom:6px}.badge-card .name{font-family:Inter,sans-serif;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:4px}.badge-card .desc{font-family:Inter,sans-serif;font-size:11.5px;color:var(--ink-mute);line-height:1.4}.badge-card .progress-bar{margin-top:8px;height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden}.badge-card .progress-bar>div{height:100%;background:var(--accent);transition:width .32s ease-out}.badge-card .progress-text{font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute);margin-top:4px}.accent-picker{display:flex;gap:8px;margin-top:12px}.accent-picker .swatch{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-strong);cursor:pointer;position:relative}.accent-picker .swatch.active{outline:2px solid var(--ink);outline-offset:2px}.accent-picker .swatch.locked{opacity:.4;cursor:not-allowed}.accent-picker .swatch[data-overlay=default]{background:linear-gradient(135deg,#ff6b47,#5dbcd2)}.accent-picker .swatch[data-overlay=rose]{background:#e07a8b}.accent-picker .swatch[data-overlay=sage]{background:#6b9080}.accent-picker .swatch[data-overlay=indigo]{background:#6b5ba0}.accent-picker .swatch[data-overlay=gold]{background:linear-gradient(135deg,#c9a227,#e0bb45,#c9a227)}.mini-lesson-main{max-width:760px;margin:0 auto;padding:24px 24px 96px}.mini-lesson-locked{background:var(--surface-2);border:2px dashed var(--border-strong);border-radius:var(--r-lg);padding:32px 24px;text-align:center}.mini-lesson-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:26px 30px;font-family:Inter,sans-serif;font-size:15px;line-height:1.65;color:var(--ink)}.mini-lesson-content h1{font-size:26px;font-weight:800;margin-bottom:14px}.mini-lesson-content h2{font-size:20px;font-weight:800;margin:22px 0 10px}.mini-lesson-content h3{font-size:17px;font-weight:700;margin:18px 0 8px}.mini-lesson-content p{margin-bottom:12px;color:var(--ink-soft)}.mini-lesson-content code{font-family:Space Mono,monospace;font-size:13px;background:var(--surface-2);padding:1px 6px;border-radius:4px}.mini-lesson-content pre{background:var(--surface-2);border-radius:var(--r-md);padding:14px 16px;overflow-x:auto;margin-bottom:14px}.mini-lesson-progress{position:sticky;top:0;height:4px;background:var(--surface-2);z-index:5;margin-bottom:18px;border-radius:2px;overflow:hidden}.mini-lesson-progress>div{height:100%;background:var(--accent);transition:width .24s ease-out}.bonus-lessons-widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px}.bonus-lessons-widget h3{font-family:Inter,sans-serif;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px}.bonus-lessons-widget .sub{font-family:Space Mono,monospace;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:12px}.bonus-lessons-widget .lessons-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.bonus-lessons-widget .lesson-tile{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:12px;cursor:pointer;text-align:left;font-family:Inter,sans-serif;font-size:12.5px;color:var(--ink-soft);display:flex;flex-direction:column;gap:4px;transition:transform .16s}.bonus-lessons-widget .lesson-tile:hover{transform:translateY(-1px)}.bonus-lessons-widget .lesson-tile.locked{opacity:.5;cursor:not-allowed}.bonus-lessons-widget .lesson-tile .title{font-weight:700;color:var(--ink)}.bonus-lessons-widget .lesson-tile .duration{font-family:Space Mono,monospace;font-size:10px;color:var(--ink-mute)}
