:root{--bg:#faf7f2;--surface:#fff;--surface-muted:#f3efe7;--border:#3c2d1e1a;--border-strong:#3c2d1e29;--text:#2a241d;--text-muted:#6b6055;--text-faint:#9a8f82;--accent:oklch(0.68 0.16 295);--accent-soft:oklch(0.94 0.04 295);--accent-text:oklch(0.42 0.16 295);--success:oklch(0.62 0.14 145);--success-soft:oklch(0.94 0.05 145);--warning:oklch(0.72 0.14 65);--danger:oklch(0.60 0.18 25);--code:#1f1a14;--code-bg:#f7f2e8;--terminal-bg:#211c16;--terminal-text:#f3eadb;--note-bg:oklch(0.96 0.04 65);--note-border:oklch(0.88 0.08 65);--note-icon:oklch(0.62 0.14 65);--card-shadow:0 1px 0 #fff9 inset,0 1px 2px #321e0f0a,0 8px 24px #321e0f0d;--btn-primary-shadow:0 2px 8px oklch(0.68 0.16 295/0.3);--logo-shadow:0 4px 10px oklch(0.68 0.16 295/0.25);--radius-card:16px;--radius-pill:10px;--radius-chip:6px;--card-gap:14px;--canvas-pad:24px}[data-theme=dark]{--bg:#1a1612;--surface:#221d18;--surface-muted:#2a241e;--border:#fff0dc14;--border-strong:#fff0dc24;--text:#f0e8db;--text-muted:#a89e8f;--text-faint:#776c5d;--accent:oklch(0.74 0.16 295);--accent-soft:oklch(0.30 0.08 295);--accent-text:oklch(0.82 0.14 295);--success:oklch(0.72 0.16 145);--success-soft:oklch(0.32 0.08 145);--warning:oklch(0.78 0.14 65);--danger:oklch(0.70 0.18 25);--code:#f0e8db;--code-bg:#181410;--terminal-bg:#100c08;--terminal-text:#f0e8db;--note-bg:oklch(0.32 0.06 65);--note-border:oklch(0.40 0.08 65);--note-icon:oklch(0.72 0.14 65);--card-shadow:0 1px 0 #ffffff08 inset,0 8px 24px #00000040;--btn-primary-shadow:0 2px 8px oklch(0.74 0.16 295/0.3)}#root,body,html{height:100%;margin:0;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background .2s ease,color .2s ease}*,:after,:before{box-sizing:border-box}.workshop{-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;height:100vh;overflow:hidden;transition:background .2s ease,color .2s ease}.error-bar{background:oklch(.2 .06 25);border-bottom:1px solid var(--danger);color:var(--danger);flex-shrink:0;font-size:.85em;padding:8px var(--canvas-pad)}.offramp-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:oklch(.08 .02 260/.75);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9000}.offramp-card{animation:offramp-in .25s cubic-bezier(.22,1,.36,1);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 64px oklch(0 0 0/.45);display:flex;flex-direction:column;gap:20px;max-width:480px;padding:40px 36px 32px;width:100%}@keyframes offramp-in{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.offramp-header{align-items:center;display:flex;gap:14px}.offramp-emoji{flex-shrink:0;font-size:2.2rem;line-height:1}.offramp-title{color:var(--text);font-size:1.45rem;font-weight:700;line-height:1.2;margin:0}.offramp-title.fraunces{font-family:Fraunces,Georgia,serif}.offramp-body{color:var(--text-muted);font-size:.95rem;line-height:1.6;margin:0}.offramp-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}.offramp-btn-primary{background:var(--accent);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:13px 20px;transition:opacity .15s,transform .1s;width:100%}.offramp-btn-primary:hover{opacity:.88}.offramp-btn-primary:active{transform:scale(.98)}.offramp-btn-ghost{align-items:center;background:#0000;border:1px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;justify-content:center;padding:12px 20px;transition:background .15s,color .15s,border-color .15s;width:100%}.offramp-btn-ghost:hover{background:var(--surface-muted);border-color:var(--accent);color:var(--text)}.offramp-xp{background:oklch(.72 .14 65/.12);border:1px solid oklch(.72 .14 65/.3);border-radius:4px;color:oklch(.72 .14 65);display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.03em;padding:1px 6px}.topbar{background:var(--bg);gap:12px;height:64px;padding:0 var(--canvas-pad);transition:background .2s ease}.topbar,.topbar-brand{align-items:center;display:flex;flex-shrink:0}.topbar-brand{gap:10px}.brand-logo{align-items:center;background:linear-gradient(140deg,var(--accent),oklch(.72 .14 320));border-radius:var(--radius-pill);box-shadow:var(--logo-shadow);color:#fff;display:flex;font-family:Fraunces,serif;font-size:15px;font-weight:600;height:34px;justify-content:center;letter-spacing:-.02em;-webkit-user-select:none;user-select:none;width:34px}.brand-text{display:flex;flex-direction:column;gap:1px}.brand-title{color:var(--text);font-family:Fraunces,serif;font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.brand-unit{color:var(--text-muted);font-size:11px;line-height:1.2}.topbar-centre{align-items:center;display:flex;flex:1 1;gap:12px;justify-content:center}.lesson-nav-pill{background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;box-shadow:0 1px 3px #321e0f0f;gap:2px;padding:4px}.lesson-nav-pill,.nav-chevron{align-items:center;display:flex}.nav-chevron{background:#0000;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;flex-shrink:0;height:30px;justify-content:center;transition:background .15s,color .15s;width:30px}.nav-chevron:not(:disabled):hover{background:var(--surface-muted);color:var(--text)}.nav-chevron:disabled{cursor:not-allowed;opacity:.35}.nav-label{color:var(--text-muted);font-size:13px;max-width:260px;overflow:hidden;padding:0 10px;text-overflow:ellipsis;white-space:nowrap}.nav-id{color:var(--text);font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:600}.nav-sep{color:var(--border-strong)}.nav-exercise-title{color:var(--text-muted)}.progress-dots{align-items:center;display:flex;gap:4px}.progress-dot{border-radius:3px;height:6px;transition:width .2s ease,background .2s ease}.dot-done{background:var(--success);width:6px}.dot-current{background:var(--accent);width:16px}.dot-future{background:var(--surface-muted);border:1px solid var(--border-strong);width:6px}.topbar-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.topbar-sep{background:var(--border-strong);height:24px;margin:0 4px;width:1px}.icon-btn{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;display:flex;height:30px;justify-content:center;transition:background .15s,color .15s;width:30px}.icon-btn:hover{background:var(--surface-muted);color:var(--text)}.user-block{gap:8px}.user-avatar,.user-block{align-items:center;display:flex}.user-avatar{background:linear-gradient(140deg,var(--accent),oklch(.72 .14 320));border-radius:50%;color:#fff;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;height:32px;justify-content:center;-webkit-user-select:none;user-select:none;width:32px}.topbar-avatar-emoji{font-size:18px}.user-info{display:flex;flex-direction:column;gap:1px}.user-name{color:var(--text);font-size:12.5px;font-weight:600}.user-name,.user-role{line-height:1.2;white-space:nowrap}.user-role{color:var(--text-faint);font-size:11px}.workshop-body{grid-gap:var(--card-gap);display:grid;flex:1 1;gap:var(--card-gap);grid-template-columns:350px 1fr 480px;min-height:0;overflow:hidden;padding:0 var(--canvas-pad) var(--canvas-pad)}.left-col,.right-col{display:flex;flex-direction:column;gap:var(--card-gap);min-height:0;overflow:hidden}.col-collapsed{min-width:0;overflow:hidden}.panel-toggle{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;height:48px;justify-content:center;line-height:1;opacity:.55;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:background .15s,color .15s,opacity .15s;width:20px;z-index:10}.panel-toggle:hover{background:var(--border);background:var(--surface-hover,var(--border));color:var(--text);opacity:1}.panel-toggle-left{right:-10px}.panel-toggle-right{left:-10px}.workshop-body{position:relative}@media (max-width:1350px){:root{--canvas-pad:10px;--card-gap:8px}.workshop-body{gap:8px;grid-template-columns:300px 1fr 400px}.topbar{padding:0 12px}.topbar-brand .brand-title,.topbar-brand .brand-unit,.xp-pill{font-size:11px}.xp-pill{padding:4px 10px}}@keyframes topbar-ring-pulse{0%,to{opacity:1}50%{opacity:.65}}.card{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--card-shadow);flex-direction:column;overflow:hidden;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.card,.card-header{background:var(--surface);display:flex}.card-header{align-items:center;border-bottom:1px solid var(--border);flex-shrink:0;gap:8px;padding:12px 16px}.instructions-card{flex:1 1;min-height:0}.inst-loading{color:var(--text-faint);font-size:.9em;padding:24px 22px}.inst-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:20px 22px 16px}.inst-chips{display:flex;gap:6px;margin-bottom:10px}.chip{align-items:center;border-radius:var(--radius-chip);display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 9px;text-transform:uppercase}.chip-accent{background:var(--accent-soft);color:var(--accent-text)}.chip-kind-scaffold{background:oklch(.94 .04 65);color:oklch(.5 .12 65)}.chip-kind-stretch{background:oklch(.94 .06 295);color:var(--accent-text)}.chip-kind-trace{background:oklch(.93 .04 220);color:oklch(.42 .12 220)}.chip-kind-modify{background:oklch(.93 .05 150);color:oklch(.4 .14 150)}.chip-kind-create{background:oklch(.93 .06 35);color:oklch(.46 .15 35)}.chip-kind-synthesize{background:oklch(.93 .07 295);color:var(--accent-text)}[data-theme=dark] .chip-kind-scaffold{background:oklch(.32 .06 65);color:oklch(.78 .14 65)}[data-theme=dark] .chip-kind-trace{background:oklch(.28 .06 220);color:oklch(.72 .12 220)}[data-theme=dark] .chip-kind-modify{background:oklch(.28 .06 150);color:oklch(.72 .14 150)}[data-theme=dark] .chip-kind-create{background:oklch(.3 .07 35);color:oklch(.78 .15 35)}[data-theme=dark] .chip-kind-synthesize{background:oklch(.3 .09 295);color:oklch(.85 .14 295)}.inst-title{color:var(--text);font-family:Fraunces,serif;font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0}.inst-body{flex:1 1;overflow-y:auto;padding:20px 22px;scrollbar-color:var(--border-strong) #0000;scrollbar-width:thin}.inst-body::-webkit-scrollbar{width:5px}.inst-body::-webkit-scrollbar-track{background:#0000}.inst-body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.inst-description{color:var(--text);font-size:14px;line-height:1.65;margin:0 0 20px;white-space:pre-wrap}.inst-inline-code{border:1px solid var(--border-strong);border-radius:4px;font-size:.9em;padding:1px 5px}.inst-code-block,.inst-inline-code{background:var(--code-bg);color:var(--code);font-family:JetBrains Mono,monospace}.inst-code-block{border:1px solid var(--border-strong);border-radius:6px;font-size:.82em;line-height:1.55;margin:8px 0 4px;overflow-x:auto;padding:10px 12px;white-space:pre}.hints-section{margin-bottom:18px}.hints-heading{align-items:center;color:var(--text-faint);display:flex;font-size:11px;font-weight:700;gap:5px;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.hint-item{background:var(--surface-muted);border-radius:var(--radius-pill);margin-bottom:6px;overflow:hidden}.hint-summary{align-items:center;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;gap:8px;list-style:none;padding:9px 12px;transition:background .12s;-webkit-user-select:none;user-select:none}.hint-summary::-webkit-details-marker{display:none}.hint-item[open] .hint-summary,.hint-summary:hover{background:var(--border)}.hint-badge{align-items:center;background:var(--surface);border-radius:50%;color:var(--accent-text);display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:20px;justify-content:center;width:20px}.hint-body{align-items:flex-start;color:var(--text-muted);display:flex;font-size:13px;gap:8px;line-height:1.55;padding:10px 12px 12px}.feedback-block{border-left:3px solid;border-radius:10px;margin-bottom:16px;padding:12px 14px}.fb-pass{background:var(--success-soft);border-color:var(--success)}.fb-fail{background:oklch(.96 .03 25);border-color:var(--danger)}[data-theme=dark] .fb-fail{background:oklch(.22 .05 25)}.fb-message{color:var(--text);font-size:13.5px;font-weight:600;margin:0 0 8px}.fb-note{color:var(--text-muted);font-size:12px;font-style:italic;margin:6px 0 0}.inst-footer{border-top:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:6px;justify-content:center;min-height:52px;padding:12px 22px}.continue-hint{color:var(--accent-text);font-size:12.5px;font-weight:500;margin:0;text-align:center}.next-reason{color:var(--text-muted);font-size:12px;font-style:italic;margin:0;text-align:center}.unit-complete-banner{color:var(--success);font-size:13.5px;font-weight:600;text-align:center}.editor-header{padding:10px 14px}.traffic-lights{align-items:center;display:flex;flex-shrink:0;gap:6px}.tl{border-radius:50%;display:inline-block;height:11px;width:11px}.tl-red{background:#ff5f56}.tl-amber{background:#ffbd2e}.tl-green{background:#27c93f}.editor-filename{color:var(--text-muted);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:12px}.lang-badge{align-items:center;display:inline-flex;flex-shrink:0;gap:5px}.lang-badge-icon{border-radius:3px;display:block;flex-shrink:0}.lang-badge-name{background:var(--accent-soft);border-radius:var(--radius-chip);color:var(--accent-text);font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:2px 7px;text-transform:uppercase}.editor-meta{color:var(--text-faint);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:11px;margin-left:auto;white-space:nowrap}.editor-monaco-wrap{flex:1 1;min-height:0;overflow:hidden}.editor-monaco-wrap>div,.editor-monaco-wrap>section{height:100%!important}.action-bar{background:var(--surface);border-top:1px solid var(--border);display:flex;gap:8px;padding:10px 14px}.action-bar,.action-btn{align-items:center;flex-shrink:0}.action-btn{border:1px solid #0000;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:5px;transition:background .12s,opacity .12s,box-shadow .12s;white-space:nowrap}.action-btn:disabled{cursor:not-allowed;opacity:.45}.action-reset{background:#0000;border-color:#0000;color:var(--text-muted);padding:6px 10px}.action-reset:not(:disabled):hover,.action-run-secondary{background:var(--surface-muted);color:var(--text)}.action-run-secondary{border-color:var(--border-strong);padding:7px 14px}.action-run-secondary:not(:disabled):hover{background:var(--border)}.action-run-primary{background:var(--accent);border-color:#0000;box-shadow:var(--btn-primary-shadow);color:#fff;padding:7px 16px}.action-run-primary:not(:disabled):hover{background:oklch(.64 .16 295);box-shadow:var(--btn-primary-shadow)}[data-theme=dark] .action-run-primary:not(:disabled):hover{background:oklch(.7 .16 295)}.action-stats{align-items:center;display:flex;flex:1 1;gap:14px;justify-content:center}.action-attempt{color:var(--text-muted);font-size:12.5px}.action-attempt strong{color:var(--text)}.action-tests{align-items:center;color:var(--text-muted);display:flex;font-size:12.5px;gap:4px}.tests-all-pass{color:var(--success);font-weight:700}.tests-partial{color:var(--warning);font-weight:700}.action-run-group{align-items:center;display:flex;gap:6px}.terminal-card{flex:1 1;min-height:0}.terminal-header{gap:8px}.terminal-icon{color:var(--text-muted)}.terminal-header-label{color:var(--text);font-size:13px;font-weight:600}.ws-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:5px;padding:2px 8px}.ws-dot{background:currentColor;border-radius:50%;height:6px;width:6px}.ws-idle{background:var(--surface-muted);color:var(--text-faint)}.ws-connecting{background:oklch(.94 .05 65);color:var(--warning)}.ws-live{background:var(--success-soft);color:var(--success)}.ws-disconnected{background:oklch(.94 .04 25);color:var(--danger)}[data-theme=dark] .ws-connecting{background:oklch(.3 .06 65)}[data-theme=dark] .ws-disconnected{background:oklch(.24 .05 25)}.terminal-clear-btn{background:#0000;border:none;border-radius:6px;color:var(--text-faint);cursor:pointer;font-size:11px;font-weight:600;margin-left:auto;padding:3px 7px;transition:background .12s,color .12s}.terminal-clear-btn:hover{background:var(--surface-muted);color:var(--text-muted)}.terminal-body{flex:1 1;min-height:0;overflow:hidden;padding:0}.xterm-host{height:100%;overflow:hidden;padding:10px 14px;width:100%}.requirements-card{flex-shrink:0;max-height:38vh;overflow:hidden}.req-card-header{align-items:center;display:flex;flex-shrink:0;gap:6px;padding:12px 16px 10px}.req-trophy-icon{color:var(--accent)}.req-card-title{color:var(--text);flex:1 1;font-size:13px;font-weight:700}.req-count{color:var(--text-muted);font-size:12.5px;white-space:nowrap}.req-count strong{color:var(--text)}.req-count-label,.req-count-sep{color:var(--text-faint)}.req-card-body{flex:1 1;overflow-y:auto;padding:0 12px 12px;scrollbar-color:var(--border-strong) #0000;scrollbar-width:thin}.req-card-body::-webkit-scrollbar{width:4px}.req-card-body::-webkit-scrollbar-track{background:#0000}.req-card-body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.req-empty{color:var(--text-faint);font-size:13px;margin:0;padding:12px 4px}.req-rows{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.req-row{align-items:flex-start;border-radius:8px;display:flex;gap:9px;padding:7px 10px;transition:background .12s}.req-row-pass{background:var(--success-soft)}.req-row-fail,.req-row-pending{background:#0000}.req-circle{flex-shrink:0;margin-top:1px}.req-circle-filled{align-items:center;background:var(--success);color:#fff;display:flex;justify-content:center}.req-circle-empty,.req-circle-filled{border-radius:50%;height:16px;width:16px}.req-circle-empty{border:1.5px solid var(--border-strong);display:block}.req-row-text{font-size:13px;line-height:1.5}.req-row-pass .req-row-text{color:var(--success);opacity:.85;text-decoration:line-through;text-decoration-thickness:1px}.req-row-fail .req-row-text,.req-row-pending .req-row-text{color:var(--text-muted)}.req-inline-code{background:var(--code-bg);border:1px solid var(--border-strong);border-radius:4px;color:var(--code);font-family:JetBrains Mono,monospace;font-size:.9em;padding:1px 5px}button:focus-visible,details summary:focus-visible{outline:2px solid oklch(.68 .16 295/.5);outline-offset:2px}[data-theme=dark] button:focus-visible{outline-color:oklch(.74 .16 295/.5)}.ib-mono{font-family:JetBrains Mono,monospace}.ib-serif{font-family:Fraunces,serif}.mastery-ring-arc{transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .6s ease}.mastery-ring-pill{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text);cursor:pointer;display:inline-flex;flex-shrink:0;gap:8px;padding:4px 12px 4px 4px;transition:background .15s,border-color .15s}.mastery-ring-pill:hover{background:var(--surface-muted);border-color:var(--border-strong)}.mastery-ring-svg-wrap{flex-shrink:0;height:28px;position:relative;width:28px}.mastery-ring-num{font-feature-settings:"tnum";align-items:center;color:var(--text);display:flex;font-family:JetBrains Mono,monospace;font-size:9.5px;font-variant-numeric:tabular-nums;font-weight:700;inset:0;justify-content:center;position:absolute}.mastery-ring-labels{align-items:flex-start;display:flex;flex-direction:column;line-height:1.1}.mastery-ring-heading{color:var(--text-faint);font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.mastery-ring-topic{color:var(--text);font-size:11px;margin-top:1px}.mastery-ring-large{flex-shrink:0;height:110px;position:relative;width:110px}.mastery-ring-large-center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.mastery-ring-large-pct{color:var(--text);font-family:Fraunces,serif;font-size:28px;font-weight:600;line-height:1}.mastery-ring-large-topic{color:var(--text-muted);font-size:10.5px;font-weight:600;letter-spacing:.05em;margin-top:4px}.mastery-report{flex-shrink:0;max-height:65vh;overflow-y:auto;scrollbar-color:var(--border-strong) #0000;scrollbar-width:thin}.mastery-report::-webkit-scrollbar{width:4px}.mastery-report::-webkit-scrollbar-track{background:#0000}.mastery-report::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.mr-hero{background:linear-gradient(135deg,var(--success-soft) 0,var(--accent-soft) 100%);flex-shrink:0;overflow:hidden;padding:20px 22px 18px;position:relative}.mr-sparkle{color:var(--accent);opacity:.4;pointer-events:none;position:absolute}.mr-sparkle-1{right:18px;top:14px}.mr-sparkle-2{color:var(--success);opacity:.3;right:56px;top:32px}.mr-hero-inner{gap:10px}.mr-check-tile,.mr-hero-inner{align-items:center;display:flex}.mr-check-tile{background:var(--success);border-radius:10px;box-shadow:0 4px 10px oklch(.62 .14 145/.33);color:#fff;flex-shrink:0;height:32px;justify-content:center;width:32px}.mr-passed-label{color:var(--success);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mr-nicely-done{color:var(--text);font-family:Fraunces,serif;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-top:2px}.mr-body{padding:16px 22px}.mr-section-heading{align-items:center;color:var(--text-faint);display:flex;font-size:10px;font-weight:700;gap:6px;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.mr-receipt{font-family:JetBrains Mono,monospace;font-size:12.5px}.mr-receipt-row{align-items:baseline;display:flex;gap:8px;padding:5px 0}.mr-receipt-label-col{flex:1 1;min-width:0}.mr-receipt-label{color:var(--text-muted);display:block;font-weight:500}.mr-receipt-label-bold{color:var(--text);font-size:13px;font-weight:700}.mr-receipt-sub{color:var(--text-faint);display:block;font-size:11px;margin-top:1px}.mr-receipt-value{font-feature-settings:"tnum";flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600}.mr-value-bonus,.mr-value-positive{color:var(--success);font-size:12.5px}.mr-value-bonus{font-weight:600}.mr-value-muted{color:var(--text-muted);font-size:12.5px}.mr-value-negative{color:var(--danger);font-size:12.5px}.mr-value-bold{color:var(--text);font-size:14px;font-weight:700}.mr-divider{background:var(--border);height:1px;margin:10px 0}.mr-mastery-pill{align-items:center;background:var(--accent-soft);border:1px solid oklch(.68 .16 295/.13);border-radius:12px;display:flex;gap:12px;margin-top:14px;padding:12px 14px}.mr-mastery-icon{align-items:center;background:var(--accent);border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.mr-mastery-text{flex:1 1}.mr-mastery-label{color:var(--accent-text);display:block;font-size:12px;font-weight:600;margin-bottom:1px}.mr-mastery-value{color:var(--text);font-size:13px}.mr-mastery-num{font-family:Fraunces,serif;font-size:16px;font-weight:600;margin-right:1px}.mr-mastery-towards{color:var(--text-muted)}.mr-mastery-topic{font-size:12px;font-weight:600}.mr-badges-section{margin-top:16px}.mr-badge-count{background:var(--success-soft);border-radius:999px;color:var(--success);font-size:11px;font-weight:700;padding:1px 7px}.mr-badges-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.mr-badge-tile{align-items:center;border-radius:12px;display:flex;flex-direction:column;gap:6px;padding:12px 8px 10px}.mr-badge-earned{background:var(--surface-muted);border:1px solid var(--border);opacity:1}.mr-badge-locked{background:#0000;border:1px dashed var(--border-strong);opacity:.45}.mr-badge-icon-wrap{align-items:center;background:var(--surface-muted);border-radius:50%;color:var(--text-faint);display:flex;height:32px;justify-content:center;width:32px}.mr-badge-icon-earned{background:linear-gradient(135deg,var(--accent),oklch(.72 .14 320));box-shadow:0 2px 6px oklch(.68 .16 295/.3);color:#fff}.mr-badge-name{color:var(--text);font-size:10.5px;font-weight:600;line-height:1.2;text-align:center}.mr-footer{background:var(--bg);border-top:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:8px;padding:14px 22px 18px}.mr-continue-btn{align-items:center;background:var(--accent);border:none;border-radius:12px;box-shadow:0 4px 12px oklch(.68 .16 295/.35);color:#fff;cursor:pointer;display:flex;font-size:13.5px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:background .12s,box-shadow .12s;width:100%}.mr-continue-btn:hover{background:oklch(.64 .16 295)}.mr-continue-btn:disabled{cursor:not-allowed;opacity:.5}.mr-up-next{color:var(--text-muted);font-size:11.5px;text-align:center}.mr-up-next strong{color:var(--text)}.action-explore-run{font-size:14px;padding:8px 20px}.dashboard-body{display:block;overflow-y:auto;padding:0}.cd-page{min-height:100%;padding:0 28px 28px}.cd-page-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:24px;padding:24px 0 20px}.cd-header-left{flex:1 1;min-width:280px}.cd-eyebrow{color:var(--accent-text);font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:6px;text-transform:uppercase}.cd-page-title{color:var(--text);font-family:Fraunces,serif;font-size:34px;font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0}.cd-page-sub{color:var(--text-muted);font-size:14px;line-height:1.5;margin-top:8px;max-width:540px}.cd-back-btn{background:var(--surface);border:1px solid var(--border);border-radius:9px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;margin-top:14px;padding:7px 14px;transition:background .12s,color .12s}.cd-back-btn:hover{background:var(--surface-muted);color:var(--text)}.cd-header-right{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.cd-lang-toggle{background:var(--surface-muted);border-radius:10px;display:flex;gap:4px;padding:3px}.cd-lang-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;letter-spacing:.01em;padding:7px 16px;transition:background .15s,color .15s,box-shadow .15s}.cd-lang-btn-active,.cd-lang-btn:hover{background:var(--surface);color:var(--text)}.cd-lang-btn-active{box-shadow:0 1px 4px oklch(0 0 0/.12)}.cd-lang-icon{font-size:15px;line-height:1}.cd-lang-sub{color:var(--text-muted);font-size:11px;margin:0}.cd-header-stat{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--card-shadow);display:flex;gap:16px;padding:16px 22px}.cd-stat-eyebrow{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.cd-stat-title{color:var(--text);font-family:Fraunces,serif;font-size:18px;font-weight:600;line-height:1.15;margin-bottom:6px}.cd-stat-details{color:var(--text-muted);font-size:12px}.cd-stat-details strong{font-feature-settings:"tnum";color:var(--text);font-variant-numeric:tabular-nums}.cd-needs-review{align-items:center;background:linear-gradient(135deg,oklch(.96 .04 65),oklch(.95 .03 25));border:1px solid oklch(.85 .08 65/.3);border-radius:16px;display:flex;flex-wrap:wrap;gap:22px;margin-bottom:18px;padding:20px 22px}[data-theme=dark] .cd-needs-review{background:linear-gradient(135deg,oklch(.3 .06 65),oklch(.28 .05 25));border-color:oklch(.5 .08 65/.3)}.cd-nr-icon-col{align-items:center;display:flex;flex:1 1;gap:14px;min-width:280px}.cd-nr-icon-tile{align-items:center;background:oklch(.72 .14 65);border-radius:12px;box-shadow:0 4px 10px oklch(.72 .14 65/.35);color:#fff;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.cd-nr-eyebrow{color:oklch(.45 .12 50);font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}[data-theme=dark] .cd-nr-eyebrow{color:oklch(.78 .14 65)}.cd-nr-heading{color:#3a2a18;font-family:Fraunces,serif;font-size:18px;font-weight:600;line-height:1.2}[data-theme=dark] .cd-nr-heading{color:var(--text)}.cd-nr-sub{color:oklch(.45 .06 50);font-size:13px;margin-top:4px}[data-theme=dark] .cd-nr-sub{color:var(--text-muted)}.cd-nr-items{display:flex;flex-direction:column;gap:8px;min-width:280px}.cd-nr-item{align-items:center;background:#fff9;border:1px solid #ffffffb3;border-radius:10px;display:flex;gap:10px;padding:8px 12px}[data-theme=dark] .cd-nr-item{background:#ffffff0d;border-color:#ffffff14}.cd-nr-chip{background:#fffc;border-radius:5px;color:#3a2a18;flex-shrink:0;font-size:11px;font-weight:700;padding:2px 7px}[data-theme=dark] .cd-nr-chip{background:#ffffff14;color:var(--text)}.cd-nr-item-name{color:#2a1f10;font-size:13px;font-weight:600}[data-theme=dark] .cd-nr-item-name{color:var(--text)}.cd-nr-item-meta{color:oklch(.45 .06 50);font-size:11px}[data-theme=dark] .cd-nr-item-meta{color:var(--text-muted)}.cd-review-btn{align-items:center;background:var(--accent);border:none;border-radius:11px;box-shadow:0 4px 12px oklch(.68 .16 295/.4);color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:13.5px;font-weight:600;gap:8px;padding:12px 20px;transition:background .12s}.cd-review-btn:hover{background:oklch(.64 .16 295)}.cd-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 360px}.cd-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;overflow:hidden}.cd-card-header{align-items:center;border-bottom:1px solid var(--border);color:var(--accent);display:flex;flex-shrink:0;gap:10px;padding:18px 22px 14px}.cd-card-title{color:var(--text);flex:1 1;font-family:Fraunces,serif;font-size:18px;font-weight:600}.cd-legend{display:flex;font-size:11px;gap:8px}.cd-legend-item{align-items:center;color:var(--text-muted);display:inline-flex;gap:4px}.cd-legend-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.cd-empty{color:var(--text-faint);font-size:13px;padding:24px 22px}.cd-matrix-body{padding:6px 14px 14px}.cd-matrix-row{align-items:center;border-radius:10px;display:flex;gap:14px;padding:10px 8px}.cd-matrix-chip{background:var(--surface-muted);border-radius:5px;color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:700;padding:3px 8px;text-align:center;width:60px}.cd-matrix-name{color:var(--text);flex:1 1;font-size:13.5px;font-weight:500;min-width:0}.cd-matrix-right{align-items:center;display:flex;flex-shrink:0;gap:12px;width:280px}.cd-matrix-track{background:var(--surface-muted);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.cd-matrix-bar{border-radius:4px;height:100%;transition:width .6s ease}.cd-matrix-pct{font-feature-settings:"tnum";flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;text-align:right;width:48px}.cd-radar-wrap{display:flex;justify-content:center;padding:12px 14px 6px}.cd-radar-footer{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;padding:8px 18px 18px}.cd-radar-row{align-items:center;display:flex;font-size:12.5px;gap:10px}.cd-radar-label{color:var(--text-muted);flex:1 1;font-weight:500}.cd-radar-bar-track{background:var(--surface-muted);border-radius:3px;flex:2 1;height:5px;overflow:hidden}.cd-radar-bar-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .6s ease}.cd-radar-pct{font-feature-settings:"tnum";color:var(--text);flex-shrink:0;font-size:11.5px;font-variant-numeric:tabular-nums;font-weight:700;text-align:right;width:32px}.cd-loading{color:var(--text-faint);font-size:14px;padding:48px 0;text-align:center}.cd-header-stat-meta{min-width:0}.chip-kind-explore{background:oklch(.93 .05 180);color:oklch(.4 .14 180)}.chip-kind-synthesise{background:oklch(.93 .07 295);color:var(--accent-text)}[data-theme=dark] .chip-kind-explore{background:oklch(.28 .06 180);color:oklch(.72 .12 180)}[data-theme=dark] .chip-kind-synthesise{background:oklch(.3 .09 295);color:oklch(.85 .14 295)}.tinker-prompt{align-items:flex-start;background:oklch(.94 .04 180/.55);border:1px solid oklch(.8 .08 180/.6);border-radius:8px;color:oklch(.38 .12 180);display:flex;font-size:13px;gap:8px;line-height:1.5;margin-top:12px;padding:10px 12px}[data-theme=dark] .tinker-prompt{background:oklch(.24 .06 180/.4);border-color:oklch(.4 .1 180/.5);color:oklch(.75 .1 180)}.tinker-icon{flex-shrink:0;font-size:15px;margin-top:1px}.topbar-menu-btn{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:background .15s,color .15s,border-color .15s;width:34px}.topbar-menu-btn:hover{background:var(--surface-muted);border-color:var(--accent);color:var(--accent)}.cnd-backdrop{background:#140c0573;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .25s ease;z-index:200}.cnd-backdrop-visible{opacity:1;pointer-events:auto}.cnd-drawer{background:var(--bg);border-right:1px solid var(--border-strong);bottom:0;box-shadow:4px 0 24px #140c051f;display:flex;flex-direction:column;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);width:300px;z-index:201}.cnd-drawer-open{transform:translateX(0)}.topbar-profile-pill{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:600;gap:5px;padding:5px 12px;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.topbar-profile-pill:hover{background:var(--border);background:var(--surface-hover,var(--border));border-color:var(--text-muted);color:var(--text)}.cnd-global-nav{flex-shrink:0;padding:10px 10px 0}.cnd-global-nav-item{align-items:center;background:none;border:none;border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:9px;padding:9px 10px;text-align:left;transition:background .13s,color .13s;width:100%}.cnd-global-nav-item:hover{background:var(--border);background:var(--surface-hover,var(--border));color:#6366f1;color:var(--accent,#6366f1)}.cnd-global-nav-divider{border-top:1px solid var(--border);margin:10px 4px 0}.cnd-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:18px 16px 14px}.cnd-header-eyebrow{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.08em;margin-bottom:2px;text-transform:uppercase}.cnd-header-title{color:var(--text);font-family:Fraunces,serif;font-size:17px;font-weight:700;letter-spacing:-.01em}.cnd-body{flex:1 1;overflow-y:auto;padding:8px 0 12px}.cnd-section{border-bottom:1px solid var(--border)}.cnd-section-header{align-items:center;background:none;border:none;color:var(--text);cursor:pointer;display:flex;font-size:12px;font-weight:700;gap:8px;letter-spacing:.06em;padding:10px 16px;text-align:left;text-transform:uppercase;transition:background .15s;width:100%}.cnd-section-header:hover{background:var(--surface)}.cnd-section-label{flex:1 1}.cnd-hl-badge{background:var(--accent);border-radius:3px;color:#fff;flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:.04em;padding:1px 5px}.cnd-chevron{align-items:center;color:var(--text-muted);display:flex;transition:transform .2s ease}.cnd-chevron-open{transform:rotate(180deg)}.cnd-topics{padding:2px 0 6px}.cnd-topic{align-items:center;background:none;border:none;cursor:default;display:flex;gap:8px;padding:8px 16px 8px 24px;text-align:left;transition:background .15s;width:100%}.cnd-topic-available{cursor:pointer}.cnd-topic-available:hover{background:var(--surface)}.cnd-topic-available:hover .cnd-topic-icon{color:var(--accent)}.cnd-topic-locked{opacity:.45}.cnd-topic-active{background:oklch(.95 .05 75/.6);border-left:2px solid var(--accent);padding-left:22px}[data-theme=dark] .cnd-topic-active{background:oklch(.25 .06 75/.5)}.cnd-topic-id{color:var(--accent);flex-shrink:0;font-size:10px;font-weight:700;min-width:32px}.cnd-topic-title{color:var(--text);flex:1 1;font-size:13px;line-height:1.3}.cnd-topic-icon{color:var(--text-muted)}.cnd-footer,.cnd-topic-icon{align-items:center;display:flex;flex-shrink:0}.cnd-footer{border-top:1px solid var(--border);gap:6px;padding:12px 16px}.cnd-footer-text{color:var(--text-muted);flex:1 1;font-size:11px;font-style:italic}.cd-matrix-row-available{border-radius:6px;cursor:pointer;transition:background .15s}.cd-matrix-row-available:hover{background:var(--surface-muted)}.cd-matrix-row-available:hover .cd-matrix-action{color:var(--accent);opacity:1}.cd-matrix-row-locked{cursor:default;opacity:.5}.cd-matrix-name-muted{color:var(--text-muted)}.cd-hl-badge{align-items:center;background:oklch(.72 .14 65/.12);border:1px solid oklch(.72 .14 65/.35);border-radius:4px;color:oklch(.72 .14 65);display:inline-flex;flex-shrink:0;font-size:9px;font-weight:600;letter-spacing:.04em;padding:1px 5px;text-transform:uppercase;white-space:nowrap}.cd-matrix-action{color:var(--accent);flex-shrink:0;opacity:0;transition:opacity .15s}.cd-matrix-action,.cd-matrix-locked-icon{align-items:center;display:flex;margin-left:6px}.cd-matrix-locked-icon{color:var(--text-muted)}.cd-matrix-warn{align-items:center;color:var(--warning);display:flex;flex-shrink:0;justify-content:center;opacity:0;pointer-events:none;transition:opacity .15s;width:20px}.cd-matrix-warn-visible{cursor:help;opacity:1;pointer-events:auto}.cd-matrix-row-decayed{background:oklch(.97 .04 65/.5);border-radius:6px}[data-theme=dark] .cd-matrix-row-decayed{background:oklch(.28 .05 65/.35)}.cd-vault{align-items:center;background:oklch(.91 .02 270/.55);border:1.5px solid oklch(.6 .1 270/.22);border-radius:10px;cursor:default;display:flex;gap:14px;margin-top:10px;overflow:hidden;padding:13px 14px;position:relative;-webkit-user-select:none;user-select:none}.cd-vault:before{background:repeating-linear-gradient(110deg,#0000,#0000 18px,oklch(.6 .1 270/.04) 0,oklch(.6 .1 270/.04) 20px);content:"";inset:0;pointer-events:none;position:absolute}[data-theme=dark] .cd-vault{background:oklch(.2 .04 270/.7);border-color:oklch(.5 .12 270/.3)}.cd-vault-lock{align-items:center;background:oklch(.55 .14 270/.14);border:1.5px solid oklch(.55 .14 270/.25);border-radius:10px;color:oklch(.5 .14 270);display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}[data-theme=dark] .cd-vault-lock{background:oklch(.45 .14 270/.18);border-color:oklch(.55 .14 270/.3);color:oklch(.7 .14 270)}.cd-vault-body{flex:1 1;min-width:0}.cd-vault-title{color:oklch(.38 .1 270);font-size:13px;font-weight:700;letter-spacing:.01em}[data-theme=dark] .cd-vault-title{color:oklch(.72 .1 270)}.cd-vault-sub{color:var(--text-muted);font-size:11px;margin-top:2px}.cd-vault-right{flex-shrink:0}.cd-vault-badge{background:oklch(.55 .14 270/.14);border:1px solid oklch(.55 .14 270/.25);border-radius:20px;color:oklch(.48 .14 270);display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;padding:3px 9px;text-transform:uppercase}[data-theme=dark] .cd-vault-badge{background:oklch(.4 .14 270/.25);border-color:oklch(.55 .14 270/.3);color:oklch(.72 .14 270)}.xp-pill{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:12.5px;font-weight:600;gap:6px;padding:5px 12px 5px 10px;transition:background .15s,border-color .15s}.xp-pill:hover{background:var(--surface-muted);border-color:var(--border-strong)}.xp-pill svg{color:oklch(.82 .14 85);flex-shrink:0}.xp-pill-level{color:var(--text);font-weight:700}.xp-pill-sep{color:var(--border-strong);font-weight:400}.xp-pill-xp{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11.5px}.gpc-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--card-shadow);display:flex;flex-wrap:wrap;gap:20px;margin-bottom:18px;padding:18px 24px}.gpc-avatar-wrap{flex-shrink:0;position:relative}.gpc-pet{bottom:-6px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.18));font-size:22px;line-height:1;pointer-events:none;position:absolute;right:-8px}.gpc-avatar,.gpc-pet{-webkit-user-select:none;user-select:none}.gpc-avatar{align-items:center;background:var(--surface-muted);border:2px solid var(--border);border-radius:50%;display:flex;font-size:30px;height:64px;justify-content:center;transition:box-shadow .2s;width:64px}.gpc-identity{flex-shrink:0;min-width:140px}.gpc-level-badge{background:var(--accent-soft);border-radius:var(--radius-chip);color:var(--accent-text);display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:5px;padding:2px 9px;text-transform:uppercase}.gpc-name{color:var(--text);font-family:Fraunces,serif;font-size:20px;font-weight:600;letter-spacing:-.015em;line-height:1.15}.gpc-cohort{color:var(--text-muted);font-size:12px;margin-top:2px}.gpc-divider{background:var(--border-strong);flex-shrink:0;height:48px;width:1px}.gpc-metric-col{display:flex;flex-direction:column;gap:6px;min-width:140px}.gpc-metric-col-wide{flex:1 1;min-width:200px}.gpc-metric-label{color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.gpc-metric-value{color:var(--text);font-size:22px;font-weight:700;line-height:1}.gpc-bar-track{background:var(--surface-muted);border-radius:4px;height:7px;overflow:hidden}.gpc-bar-fill{border-radius:4px;height:100%;transition:width .6s ease}.gpc-bar-theme{background:linear-gradient(90deg,var(--success) 0,oklch(.72 .14 145) 100%)}.gpc-bar-xp{background:linear-gradient(90deg,var(--accent) 0,oklch(.72 .14 320) 100%)}.gpc-xp-header{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.gpc-xp-count{color:var(--text-muted);font-size:12px;white-space:nowrap}.gpc-lifetime-xp{color:var(--text-faint);font-size:11px;margin-top:1px}.locker-card{display:flex;flex-direction:column;overflow:hidden}.locker-level-badge{background:var(--accent-soft);border-radius:var(--radius-chip);color:var(--accent-text);font-size:11px;font-weight:700;padding:2px 9px}.locker-tabs{border-bottom:1px solid var(--border);display:flex;flex-shrink:0;padding:0 18px}.locker-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;margin-bottom:-1px;padding:10px 14px;transition:color .15s,border-color .15s;white-space:nowrap}.locker-tab:hover{color:var(--text)}.locker-tab-active{border-bottom-color:var(--accent);color:var(--text)}.locker-body{flex:1 1;overflow-y:auto;scrollbar-color:var(--border-strong) #0000;scrollbar-width:thin}.locker-body::-webkit-scrollbar{width:4px}.locker-body::-webkit-scrollbar-track{background:#0000}.locker-body::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.locker-stats-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);padding:18px}.locker-stat-tile{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:5px;padding:16px 10px 14px;text-align:center}.locker-stat-emoji{font-size:20px}.locker-stat-value{color:var(--text);font-size:20px;font-weight:700;line-height:1}.locker-stat-label{color:var(--text-muted);font-size:10.5px;font-weight:500;line-height:1.3;text-align:center}.locker-badges-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);padding:18px}.locker-badge-tile{align-items:center;border-radius:12px;display:flex;flex-direction:column;gap:5px;padding:14px 8px 12px;position:relative;text-align:center}.locker-badge-earned{background:var(--surface-muted);border:1px solid var(--border)}.locker-badge-locked{background:#0000;border:1px dashed var(--border-strong);opacity:.45}.locker-badge-emoji{font-size:22px}.locker-badge-name{color:var(--text);font-size:11px;font-weight:700;line-height:1.2}.locker-badge-desc{color:var(--text-muted);font-size:10px;line-height:1.3}.locker-badge-lock-overlay{color:var(--text-faint);position:absolute;right:6px;top:6px}.locker-cosmetics{display:flex;flex-direction:column;gap:18px;padding:14px 18px 18px}.locker-cosmetic-section-title{color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.locker-cosmetic-grid{display:flex;flex-direction:row;gap:7px;overflow-x:auto;padding-bottom:5px;scrollbar-color:var(--border) #0000;scrollbar-width:thin}.locker-cosmetic-grid::-webkit-scrollbar{height:3px}.locker-cosmetic-grid::-webkit-scrollbar-track{background:#0000}.locker-cosmetic-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.locker-cosmetic-item{align-items:center;border-radius:10px;cursor:default;display:flex;flex:0 0 68px;flex-direction:column;gap:4px;padding:10px 6px 8px;position:relative;text-align:center}.locker-cosmetic-unlocked{background:var(--surface-muted);border:1px solid var(--border)}.locker-cosmetic-locked{background:#0000;border:1px dashed var(--border-strong);opacity:.45}.locker-cosmetic-equipped{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.locker-cosmetic-emoji{font-size:18px;line-height:1}.locker-cosmetic-label{color:var(--text-muted);font-size:10px;font-weight:600;line-height:1.2}.locker-cosmetic-lock{align-items:center;color:var(--text-faint);display:inline-flex;font-size:9.5px;font-weight:600;gap:2px}.locker-cosmetic-on-badge{background:var(--accent);border-radius:3px;color:#fff;font-size:8.5px;font-weight:700;line-height:1.3;padding:1px 4px;position:absolute;right:5px;top:5px}.locker-ring-preview{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.locker-ring-none{background:#0000!important;border:1.5px dashed var(--border-strong);color:var(--text-faint);font-size:12px}.locker-ring-preview[data-ring-id=ring_prism]{animation:prism-hue-spin 3s linear infinite;background:conic-gradient(oklch(.72 .25 0),oklch(.72 .25 60),oklch(.72 .25 120),oklch(.72 .25 180),oklch(.72 .25 240),oklch(.72 .25 300),oklch(.72 .25 360))!important}@keyframes prism-hue-spin{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}.topbar-ring-prism{animation:topbar-prism-hue 3s linear infinite}@keyframes topbar-prism-hue{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}.mr-shimmer-card{overflow:hidden;position:relative}.mr-shimmer-card:after{animation:mr-shine 1.4s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,#0000,#fff3 30%,#fff6 50%,#fff3 70%,#0000);content:"";height:100%;left:-150%;pointer-events:none;position:absolute;top:0;transform:skewX(-25deg);width:60%}@keyframes mr-shine{0%{left:-150%}to{left:150%}}.halo-pulse-active{animation:halo-glow 3s ease-in-out infinite}@keyframes halo-glow{0%,to{filter:drop-shadow(0 0 2px var(--accent)) opacity(.85)}50%{filter:drop-shadow(0 0 8px var(--accent)) opacity(1)}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{border:0;height:0;left:-9999em;margin:0;opacity:0;overflow:hidden;padding:0;position:absolute;resize:none;top:0;white-space:nowrap;width:0;z-index:-5}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;bottom:0;cursor:default;left:0;overflow-y:scroll;position:absolute;right:0;top:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{left:0;position:absolute;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;left:-9999em;line-height:normal;position:absolute;top:0;visibility:hidden}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{bottom:0;color:#0000;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.xterm .live-region{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{position:absolute;z-index:6}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{pointer-events:none;position:absolute;right:0;top:0;z-index:8}.xterm-decoration-top{position:relative;z-index:2}
/*# sourceMappingURL=main.8c3815ae.css.map*/