:root{--exit-anim-ms: .42s;--match-pulse-ms: .56s;--theme-0: #e8b94d;--theme-1: #9bc25e;--theme-2: #7fa8e3;--theme-3: #b489ce;--bg-room: #0a0907;--bg-body: #0a0907;--bg-chassis: #1c1d22;--face-high: #3a3c44;--face-mid: #2a2c33;--face-low: #1f2026;--bevel-light: rgba(255, 255, 255, .09);--bevel-dark: rgba(0, 0, 0, .65);--recess: #0e0f12;--screw: #2a2b30;--screw-slot: #0a0b0e;--paper: #e7e1d3;--paper-warm: #efeadc;--paper-shadow: #c2bba7;--paper-rule: #b1ab98;--paper-ink: #1a1610;--paper-ink-soft: #4f4d45;--tape-strip: #6a4a2a;--tape-strip-hi: #8a6638;--rec-red: #e23a2e;--rec-red-glow: 0 0 10px rgba(226, 58, 46, .7);--vu-green: #7ecf66;--vu-amber: #e9b13a;--vu-red: #e84a3a;--led-off: #2a221c;--lcd-bg: #16100a;--lcd-fg: #ffc24a;--lcd-dim: rgba(255, 194, 74, .32);--lcd-glow: 0 0 6px rgba(255, 194, 74, .62);--accent: #c8a14a;--accent-glow: 0 0 0 1px #c8a14a, 0 0 18px rgba(200, 161, 74, .45);--text-primary: #f0eadb;--text-secondary: #aea493;--text-muted: #6a6358;--text-engraved: #8a8579;--ease: .22s cubic-bezier(.2, .7, .2, 1);--spring: .36s cubic-bezier(.2, .9, .25, 1.2);--font-display: "Big Shoulders Display", "Oswald", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-body: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;--font-hand: "Caveat", "Bradley Hand", "Marker Felt", cursive;--bg-surface: #191a1f;--text-dim: #5a5a64;--accent-soft: rgba(200, 161, 74, .12);--status-done: #5fcf5f;--status-done-soft: rgba(95, 207, 95, .1);--status-in-progress: #dac96a;--status-in-progress-soft: rgba(218, 201, 106, .12);--status-in-progress-glow: rgba(218, 201, 106, .47);--status-failed: #e26060;--status-failed-soft: rgba(226, 96, 96, .12);--status-locked: #3a3b42;--picker-bg: #191a1f;--picker-raised: #22232a;--picker-border: #2a2b32;--picker-border-soft: #1d1e24;--day-today: #4a9eff}@media (prefers-reduced-motion: reduce){:root{--exit-anim-ms: 1ms;--match-pulse-ms: 1ms}}*{box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg-body);color:var(--text-primary);margin:0;padding:0;min-height:100vh;-webkit-font-smoothing:antialiased}.app-container{max-width:740px;margin:0 auto;padding:28px 20px 40px}@media (max-width: 600px){.app-container{padding:18px 14px 32px}.bay{padding:10px 8px}.grid{gap:8px}.tile{min-height:168px}.tile-label{margin:7px 7px 0;padding:6px 8px 7px}.tile-label{background:linear-gradient(180deg,var(--paper-warm) 0%,var(--paper) 100%);background-position:0 0;background-repeat:no-repeat}@supports (-webkit-touch-callout: none) and (not (-moz-osx-font-smoothing: auto)){.tile-label{background:repeating-linear-gradient(0deg,transparent 0 13px,rgba(106,90,58,.16) 13px 14px),linear-gradient(180deg,var(--paper-warm) 0%,var(--paper) 100%);background-position:0 18px,0 0;background-repeat:repeat,no-repeat}}.tile-screw.bl,.tile-screw.br{display:none}.tile-track-no{font-size:7px;letter-spacing:.16em}.tile-label-input:not(:placeholder-shown){font-size:14px}.subtitle{font-size:12px;margin:12px 4px 16px}.solved-row{padding:10px 12px 12px 56px}.solved-side-badge{width:36px;font-size:8px;left:8px}.solved-theme{font-size:10px;letter-spacing:.18em}.solved-tracks{font-size:11px}.mistakes-row{gap:8px;font-size:10px;letter-spacing:.16em}.mistakes-dots{padding:3px 4px}.mistake-dot{width:12px;height:9px}.controls{gap:10px}.action{min-width:0;flex:1;padding:11px 12px 9px;font-size:11px;letter-spacing:.14em}.end-panel{padding:16px 14px}.end-panel:before,.end-panel:after{display:none}.end-panel h2{font-size:22px}.end-stamp{font-size:14px;padding:4px 8px;top:12px;right:12px}.share-text{font-size:14px;padding:10px 12px}.end-meta{grid-template-columns:1fr 1fr;font-size:9px}}h1{margin:0 0 2px;font-family:var(--font-display);font-weight:700;font-size:38px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);line-height:1.05}.byline{color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}.subtitle{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px;font-size:12px;text-align:center}.unlock-countdown{text-align:center;font-size:12px;color:#888;margin:-4px auto 14px;min-height:16px;font-variant-numeric:tabular-nums}.status{max-width:720px;margin:4px auto 8px;color:#fa5;min-height:20px;text-align:center;font-size:14px}.bay{background:var(--recess);border:1px solid #050608;border-radius:6px;padding:14px 12px 16px;margin:0 auto 20px;max-width:720px;box-shadow:inset 0 2px 8px #000000b3,inset 0 -1px #ffffff05,0 0 0 1px #0009;position:relative}.grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin:0 auto;overflow-x:auto;padding:14px 10px 16px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.tile{--tile-bg-top: #2c2d32;--tile-bg-bot: #1a1b1f;position:relative;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px),linear-gradient(180deg,var(--tile-bg-top) 0%,var(--tile-bg-bot) 100%);border:1px solid #0a0b0e;border-radius:5px;padding:0;display:grid;grid-template-rows:1fr auto auto;min-height:184px;transition:transform var(--spring),box-shadow var(--ease),border-color var(--ease);box-shadow:inset 0 1px 0 var(--bevel-light),inset 0 -1px 0 var(--bevel-dark),0 3px 8px #0000008c;overflow:hidden}.tile:hover{border-color:#ffffff24;transform:translateY(-1px)}.tile-screw{position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#45464a,#0a0b0e);box-shadow:inset 0 -1px 1px #000000b3,0 0 0 1px #ffffff08;z-index:3}.tile-screw:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 45%,#050709 45% 55%,transparent 55%);border-radius:50%}.tile-screw.tl{top:5px;left:5px}.tile-screw.tr{top:5px;right:5px}.tile-screw.bl{bottom:5px;left:5px}.tile-screw.br{bottom:5px;right:5px}.cassette-deck{position:relative;margin:6px 12px 0;height:50px;background:linear-gradient(180deg,#0a0b0e,#14151a);border:1px solid #050608;border-radius:3px;box-shadow:inset 0 2px 4px #000000d9,inset 0 -1px #ffffff08;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;z-index:1}.cassette-deck:before{content:"";position:absolute;left:8px;right:8px;bottom:6px;height:4px;background:linear-gradient(180deg,var(--tape-strip-hi),var(--tape-strip));border-radius:1px;opacity:.85;box-shadow:0 0 0 1px #0006}.cassette-deck:after{content:"TYPE II";position:absolute;top:4px;left:0;right:0;text-align:center;font-family:var(--font-mono);font-size:6px;font-weight:700;letter-spacing:.3em;color:#ffffff2e}.reel{position:relative;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at center,#050505 0 2.5px,transparent 2.5px),repeating-conic-gradient(from 0deg,#000000bf,#000000bf 8deg,#ffffff0d 8deg,#ffffff0d 43deg,#000000bf 43deg,#000000bf 51deg,#ffffff0d 51deg,#ffffff0d 86deg),radial-gradient(circle at center,transparent 9px,#14151a 9px 11px,transparent 11px),radial-gradient(circle at center,#322c24 0 var(--wind, 11px),transparent var(--wind, 11px)),radial-gradient(circle at 30% 25%,#3a3b40,#14151a 70%);border:1px solid #050507;box-shadow:inset 0 0 4px #000000b3,inset 0 1px #ffffff0f,0 1px 2px #00000080;z-index:1}.reel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 28%,#050505 1.4px,transparent 1.5px),radial-gradient(circle at 69% 60%,#050505 1.4px,transparent 1.5px),radial-gradient(circle at 31% 60%,#050505 1.4px,transparent 1.5px)}.reel.left{--wind: 14px}.reel.right{--wind: 7px}@keyframes reelSpin{to{transform:rotate(360deg)}}.tile.playing .reel{animation:reelSpin 1.4s linear infinite}.rec-dot.tile-rec{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:5px;height:5px;border-radius:50%;background:#2a0f0d;box-shadow:inset 0 0 2px #000000b3;pointer-events:none;transition:background var(--ease),box-shadow var(--ease),width var(--ease),height var(--ease)}.tile.playing .rec-dot.tile-rec{width:7px;height:7px;background:radial-gradient(circle,#ff7a64 0%,var(--rec-red) 42%,rgba(226,58,46,0) 78%);box-shadow:0 0 6px 2px #e23a2ed9,0 0 16px 6px #e23a2e6b,0 0 30px 12px #e23a2e29;animation:recPulse 1.4s ease-in-out infinite}@keyframes recPulse{0%,to{opacity:1}50%{opacity:.5}}.tile.selected{border-color:var(--accent);transform:translateY(-4px) scale(1.02);box-shadow:inset 0 1px 0 var(--bevel-light),inset 0 -1px 0 var(--bevel-dark),0 0 0 2px var(--accent),0 0 22px #c8a14a8c,0 10px 18px #0009}.tile-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff0a;overflow:hidden;z-index:2}.tile-progress-fill{height:100%;background:linear-gradient(90deg,var(--tape-strip-hi),var(--rec-red));width:0%;transition:width 80ms linear;box-shadow:0 0 6px #e23a2e66}.tile.exiting{opacity:0;transform:translate(40px) scale(.9);transition:opacity var(--exit-anim-ms) ease,transform var(--exit-anim-ms) cubic-bezier(.4,0,.7,.2);pointer-events:none}.tile.matched-theme-0{--pulse: var(--theme-0)}.tile.matched-theme-1{--pulse: var(--theme-1)}.tile.matched-theme-2{--pulse: var(--theme-2)}.tile.matched-theme-3{--pulse: var(--theme-3)}.tile.matched{animation:matchPulse var(--match-pulse-ms) ease-out;border-color:var(--pulse);pointer-events:none;z-index:2}@keyframes matchPulse{0%{transform:scale(1);box-shadow:inset 0 1px #ffffff0d,inset 0 -1px #0006,0 2px 6px #00000059}35%{transform:scale(1.08);box-shadow:0 0 0 2px var(--pulse),0 0 26px var(--pulse),0 6px 14px #00000080}to{transform:scale(1.03);box-shadow:0 0 0 2px var(--pulse),0 0 14px var(--pulse),0 2px 8px #0006}}.tile-label{position:relative;margin:8px 8px 0;padding:7px 9px 8px;background:repeating-linear-gradient(0deg,transparent 0 13px,rgba(106,90,58,.16) 13px 14px),linear-gradient(180deg,var(--paper-warm) 0%,var(--paper) 100%);background-position:0 18px,0 0;background-repeat:repeat,no-repeat;border:1px solid var(--paper-shadow);border-radius:2px;box-shadow:0 1px 2px #00000080,inset 0 0 0 1px #fff6,inset 0 -8px 12px #b8a9732e;z-index:2;display:flex;flex-direction:column;min-height:0}.tile-label:after{content:"";position:absolute;top:0;right:0;width:10px;height:10px;background:linear-gradient(225deg,transparent 0 50%,rgba(0,0,0,.18) 50% 52%,var(--paper-shadow) 52% 100%);border-bottom-left-radius:2px;opacity:.6}.tile-track-no{font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:1px;position:relative;z-index:1}.tile-label-input{flex:1;width:100%;min-height:0;display:block;background:transparent;border:none;color:var(--paper-ink);font-family:var(--font-mono);font-size:11px;line-height:1.3;letter-spacing:.02em;padding:0;outline:none;text-align:left;position:relative;z-index:1;resize:none;overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere}.tile-label-input::placeholder{color:#1a161052;font-style:italic;font-family:var(--font-mono);font-size:11px}.tile-label-input:focus{outline:none}.tile-label-input:not(:placeholder-shown){font-family:var(--font-hand);font-weight:600;font-size:15px;line-height:1.2;letter-spacing:.005em;color:#0d3a72;transform:rotate(-1.2deg);transform-origin:left top;padding-top:1px}.tile-label:focus-within{box-shadow:0 1px 2px #00000080,inset 0 0 0 1.5px var(--accent),inset 0 -8px 12px #b8a9732e}.tile-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 10px 12px;z-index:1}.play-btn,.select-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid #050608;border-radius:3px;padding:7px 6px 6px;background:linear-gradient(180deg,#3a3b41,#1c1d22);color:#d4cebd;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #0006,0 2px #050608,0 3px 4px #00000080;transition:transform 80ms ease,box-shadow 80ms ease,background var(--ease)}.play-btn:active:not(:disabled),.select-btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #0006,0 0 #050608,0 1px 2px #00000080}.play-btn:disabled,.select-btn:disabled{opacity:.55;cursor:not-allowed}.play-btn .icon{display:inline-block;width:0;height:0;border-left:7px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent}.play-btn.playing .icon{border:none;width:8px;height:8px;background:linear-gradient(90deg,currentColor 0 3px,transparent 3px 5px,currentColor 5px 8px)}.play-btn.playing{background:linear-gradient(180deg,#cf3a30,#761814);color:#fff8e8;border-color:#3a0a08;box-shadow:inset 0 1px #fff3,inset 0 -1px #0006,0 2px #2a0806,0 3px 10px #e23a2e66}.tile.selected .select-btn{background:linear-gradient(180deg,#d2a648,#7d5d1c);color:#14110a;border-color:#2a1f08;box-shadow:inset 0 1px #ffffff40,inset 0 -1px #00000073,0 0 #2a1f08,0 0 16px #c8a14a73;transform:translateY(1px)}@media (prefers-reduced-motion: reduce){.tile.playing .reel,.tile.playing .rec-dot.tile-rec,.tile.matched{animation:none}.tile.exiting{transition:opacity 1ms;transform:none}}.controls{max-width:720px;margin:6px auto 16px;display:flex;gap:14px;justify-content:center}.action{position:relative;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:14px 28px 12px;border-radius:4px;border:1px solid #050608;cursor:pointer;background:linear-gradient(180deg,#3a3b41,#1c1d22);color:#d4cebd;box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #0006,0 3px #050608,0 4px 6px #00000080;transition:transform 80ms ease,box-shadow 80ms ease;min-width:160px}.action:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #0006,0 0 #050608,0 1px 2px #00000080}.action:disabled{opacity:.5;cursor:not-allowed}.action.primary{background:radial-gradient(ellipse at 50% 30%,#3a2606 0%,var(--lcd-bg) 72%);color:var(--lcd-fg);border-color:#120b04;text-shadow:var(--lcd-glow);box-shadow:inset 0 0 0 1px #ffc24a1a,inset 0 1px #ffffff0a,inset 0 0 16px #ffc24a1f,0 3px #050608,0 4px 6px #00000080}.action.primary:disabled{background:linear-gradient(180deg,#3a3b41,#1c1d22);color:#6a6358;text-shadow:none;box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #0006,0 3px #050608,0 4px 6px #00000080}.action .key-stripe{display:block;font-size:9px;letter-spacing:.28em;margin-top:3px;color:#00000073}.action.primary .key-stripe{color:var(--lcd-dim);text-shadow:none}.action.secondary .key-stripe{color:#ffffff40}.solved{max-width:720px;margin:0 auto 10px;display:flex;flex-direction:column;gap:10px}.solved-row{position:relative;padding:12px 16px 14px 76px;border-radius:3px;color:var(--paper-ink);animation:bannerSlide .44s cubic-bezier(.2,.7,.2,1) both;box-shadow:0 2px 6px #00000080;border:1px solid rgba(0,0,0,.35)}@keyframes bannerSlide{0%{transform:translateY(-6px) scaleY(.94)}to{transform:translateY(0) scaleY(1)}}.solved-side-badge{position:absolute;left:10px;top:12px;bottom:12px;width:50px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.22em;background:#0000002e;border-radius:2px;border:1px solid rgba(0,0,0,.25);color:#000000b3;text-orientation:mixed;writing-mode:vertical-rl;transform:rotate(180deg);-webkit-user-select:none;user-select:none}.solved-row.theme-0{background:var(--theme-0)}.solved-row.theme-1{background:var(--theme-1)}.solved-row.theme-2{background:var(--theme-2)}.solved-row.theme-3{background:var(--theme-3)}.solved-theme{font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px dashed rgba(0,0,0,.35);padding-bottom:4px;margin-bottom:4px}.solved-tracks{font-family:var(--font-mono);font-size:11.5px;line-height:1.55}.solved-track-item{display:grid;grid-template-columns:24px 1fr;gap:6px}.solved-track-no{color:#0000008c;font-weight:700}.solved-title{font-weight:700;color:var(--paper-ink)}.solved-artist{color:#000000b3}.solved-note{color:#0000008c;font-style:italic}.mistakes-row{max-width:720px;display:flex;align-items:center;justify-content:center;gap:14px;margin:8px auto 16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-engraved);white-space:nowrap}.mistakes-dots{display:flex;gap:4px;padding:4px 6px;background:var(--recess);border:1px solid #050608;border-radius:3px;box-shadow:inset 0 1px 2px #000000b3}.mistake-dot{width:14px;height:10px;border-radius:1px;background:var(--vu-green);box-shadow:0 0 5px #7ecf668c,inset 0 1px #ffffff2e;transition:background var(--ease),box-shadow var(--ease)}.mistake-dot.warn{background:var(--vu-amber);box-shadow:0 0 5px #e9b13a8c}.mistake-dot.danger{background:var(--vu-red);box-shadow:0 0 6px #e84a3aa6}.mistake-dot.used{background:var(--led-off);box-shadow:inset 0 1px 1px #00000080;animation:dotLost .38s ease-out}@keyframes dotLost{0%{background:var(--vu-red);box-shadow:0 0 14px var(--vu-red);transform:scaleX(1.3)}to{background:var(--led-off);box-shadow:inset 0 1px 1px #00000080;transform:scaleX(1)}}@media (prefers-reduced-motion: reduce){.mistake-dot.used{animation:none}}.end-panel{max-width:720px;margin:16px auto;background:linear-gradient(180deg,var(--paper-warm) 0%,var(--paper) 100%);border:1px solid var(--paper-shadow);border-radius:2px;padding:22px 26px;color:var(--paper-ink);position:relative;overflow:hidden;box-shadow:0 6px 18px #00000080,inset 0 1px #ffffff80;font-family:var(--font-mono)}.end-panel:before,.end-panel:after{content:"";position:absolute;top:14px;bottom:14px;width:6px;background:radial-gradient(circle at center,var(--paper-shadow) 1.5px,transparent 1.6px);background-size:6px 8px;opacity:.4;pointer-events:none}.end-panel:before{left:14px}.end-panel:after{right:14px}.end-watermark{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%) rotate(-7deg);font-family:var(--font-display);font-weight:800;font-size:clamp(54px,13vw,124px);letter-spacing:.02em;line-height:.9;text-transform:uppercase;white-space:nowrap;color:var(--paper-ink);opacity:.045;z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none}.end-runout{margin-top:12px;font-family:var(--font-mono);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--paper-ink-soft);opacity:.7}.end-jcard-header,.end-panel h2,.end-subhead,.end-meta,.share-text,.copy-btn,.end-runout,.end-stamp{position:relative;z-index:1}.end-jcard-header{display:flex;align-items:baseline;justify-content:space-between;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--paper-ink-soft);border-bottom:1px solid var(--paper-rule);padding-bottom:8px;margin-bottom:10px}.end-panel h2{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:.06em;text-transform:uppercase;margin:4px 0 10px}.end-panel.win h2{color:#2d5a2a}.end-panel.loss h2{color:#8a1d16}.end-subhead{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-ink-soft);margin:-4px 0 12px}.end-stamp{position:absolute;top:56px;right:36px;font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:.16em;border:3px solid currentColor;padding:6px 12px;border-radius:4px;transform:rotate(-8deg);opacity:.85;text-transform:uppercase}.end-panel.win .end-stamp{color:#2d5a2a}.end-panel.loss .end-stamp{color:#8a1d16}.end-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-ink-soft);margin-bottom:10px}.end-meta dt{font-weight:700;color:var(--paper-ink)}.end-meta dd{margin:0}.share-text{background:transparent;border:1px dashed var(--paper-rule);border-radius:2px;padding:12px 14px;font-family:var(--font-mono);font-size:16px;line-height:1.5;text-align:left;white-space:pre;margin:10px 0;display:block;color:var(--paper-ink);-webkit-user-select:all;user-select:all}.copy-btn{background:var(--paper-ink);border:none;color:var(--paper);padding:10px 22px;border-radius:2px;cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;display:inline-block;white-space:nowrap;margin-top:6px}.copy-btn:hover{background:#2a2218}.copy-btn.copied{background:#2d5a2a}.reset-row{display:flex;justify-content:center}.reset-btn{display:inline-flex;align-items:center;gap:10px;margin:4px auto 0;background:transparent;border:none;cursor:pointer;font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#ffc24a75;transition:color var(--ease),text-shadow var(--ease);padding:6px 10px}.reset-btn .toggle{width:26px;height:14px;background:var(--recess);border:1px solid #050608;border-radius:2px;position:relative;box-shadow:inset 0 1px 2px #000000b3}.reset-btn .toggle:after{content:"";position:absolute;width:10px;height:10px;top:1px;left:1px;background:linear-gradient(180deg,#9fb4ab,#3c4a44);border-radius:1px;transition:left var(--ease),background var(--ease)}.reset-btn:hover{color:var(--lcd-fg);text-shadow:var(--lcd-glow)}.reset-btn.confirming{color:var(--rec-red);text-shadow:0 0 6px rgba(226,58,46,.6)}.reset-btn.confirming .toggle:after{left:13px;background:linear-gradient(180deg,#e85a4a,#8a1d16)}.day-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:6px;font-weight:700;font-family:var(--font-mono);line-height:1;cursor:pointer;transition:box-shadow .12s ease,border-color .12s ease}.day-chip:hover:not(:disabled):not(.day-chip-static){box-shadow:inset 0 0 0 1.5px #ffffff38}.day-chip-static{cursor:default}.day-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.day-chip-sm{width:30px;height:30px;font-size:11px}.day-chip-md{width:38px;height:38px;font-size:13px}.day-chip-lg{width:56px;height:56px;font-size:16px}.day-chip-today{background:var(--day-today);border:1px solid var(--day-today);color:#fff}.day-chip-done,.day-chip-doneMistakes{background:var(--status-done-soft);border:1px solid var(--status-done);color:var(--status-done)}.day-chip-inProgress{background:var(--status-in-progress-soft);border:1px solid var(--status-in-progress);color:var(--status-in-progress)}.day-chip-failed{background:var(--status-failed-soft);border:1px solid var(--status-failed);color:var(--status-failed)}.day-chip-unplayed{background:transparent;border:1px solid #555;color:var(--text-secondary)}.day-chip-locked{background:transparent;border:1px solid #2a2a2a;color:var(--text-dim);opacity:.45;cursor:not-allowed}.day-chip-today-ring{box-shadow:inset 0 0 0 2px var(--day-today)}.day-chip-num{display:inline-block}.day-chip-mistakes{position:absolute;bottom:2px;right:3px;font-size:8px;font-weight:800;color:var(--status-in-progress)}.day-chip-lock{position:absolute;bottom:1px;right:2px;font-size:9px}.day-pill-wrap{position:relative;display:flex;justify-content:center;margin:0 auto 14px}.day-pill{display:inline-flex;align-items:center;gap:10px;min-width:240px;padding:8px 8px 8px 14px;background:var(--picker-raised);border:1px solid var(--picker-border);border-radius:999px;color:var(--text-primary);font-family:var(--font-mono);text-align:left;cursor:pointer;transition:border-color .15s ease}.day-pill:hover,.day-pill:focus-visible{border-color:#3a3b42}.day-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.day-pill-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:var(--text-muted)}.day-pill-dot-today{background:var(--day-today)}.day-pill-dot-done{background:var(--status-done)}.day-pill-dot-inProgress{background:var(--status-in-progress);box-shadow:0 0 8px var(--status-in-progress-glow)}.day-pill-dot-failed{background:var(--status-failed)}.day-pill-dot-unplayed{background:var(--text-muted)}.day-pill-text{flex:1;display:flex;flex-direction:column;line-height:1.2;min-width:0}.day-pill-primary{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-primary)}.day-pill-subline{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-pill-counter{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-surface);color:var(--text-secondary);border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;flex:0 0 auto}.day-picker{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);width:min(560px,calc(100vw - 32px));background:var(--picker-bg);border:1px solid var(--picker-border);border-radius:12px;font-family:var(--font-mono);box-shadow:0 12px 32px #00000080,0 0 0 1px #ffffff05;overflow:hidden;opacity:0;pointer-events:none;z-index:20;transition:opacity .18s ease-out,transform .18s ease-out}.day-picker.open{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.day-picker-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--picker-border-soft)}.day-picker-header-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.day-picker-header-total{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary)}.day-picker-header-counts{display:flex;gap:12px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap}.day-picker-header-counts>span{display:inline-flex;align-items:center;gap:4px}.day-picker-header-counts .dot{width:8px;height:8px;border-radius:50%}.day-picker-header-counts .dot-done{background:var(--status-done)}.day-picker-header-counts .dot-failed{background:var(--status-failed)}.day-picker-header-counts .dot-in-progress{background:var(--status-in-progress)}.day-picker-close{background:transparent;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px 8px;font-family:inherit;line-height:1}.day-picker-close:hover,.day-picker-close:focus-visible{color:var(--text-primary)}.day-picker-section{padding:16px}.day-picker-archive-controls{display:flex;align-items:baseline;justify-content:flex-end;margin-bottom:10px}.day-picker-sort{display:inline-flex;gap:4px;background:var(--picker-raised);padding:3px;border-radius:6px}.day-picker-sort-btn{background:transparent;border:none;color:var(--text-muted);padding:4px 10px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.1em;cursor:pointer;text-transform:uppercase}.day-picker-sort-btn:hover{color:var(--text-secondary)}.day-picker-sort-btn.active{background:var(--bg-surface);color:var(--text-primary)}.day-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;max-height:280px;overflow-y:auto;scrollbar-gutter:stable;padding-right:2px;justify-items:center}.day-picker-legend{margin-top:14px;padding-top:12px;border-top:1px dashed var(--picker-border-soft);display:flex;flex-wrap:wrap;gap:14px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.day-picker-legend-item{display:inline-flex;align-items:center;gap:6px}@media (max-width: 520px){.day-picker-grid{grid-template-columns:repeat(5,1fr)}}
