:root{--bg: #0f172a;--panel: #1e293b;--panel-2: #273449;--border: #334155;--text: #e2e8f0;--muted: #94a3b8;--accent: #818cf8;--accent-strong: #6366f1;--good: #34d399;--bad: #f87171;--warn: #fbbf24;--topbar-bg: rgba(15, 23, 42, .92);--on-accent: #ffffff;--box-0: rgba(251, 191, 36, .35);--box-1: rgba(251, 191, 36, .6);--box-2: rgba(251, 191, 36, .85);--box-3: rgba(52, 211, 153, .6);--box-4: #34d399;--heat-1: rgba(129, 140, 248, .35);--heat-2: rgba(129, 140, 248, .65);--heat-3: #818cf8;--shadow: 0 10px 30px rgba(0, 0, 0, .45);--tabbar-h: 4rem}@media (prefers-color-scheme: light){:root{--bg: #f4f6fb;--panel: #ffffff;--panel-2: #eef1f8;--border: #d5dbe7;--text: #172033;--muted: #5b6579;--accent: #4f46e5;--accent-strong: #4f46e5;--good: #047857;--bad: #b91c1c;--warn: #a16207;--topbar-bg: rgba(255, 255, 255, .92);--box-0: rgba(217, 119, 6, .25);--box-1: rgba(217, 119, 6, .45);--box-2: rgba(217, 119, 6, .7);--box-3: rgba(5, 150, 105, .5);--box-4: #059669;--heat-1: rgba(79, 70, 229, .25);--heat-2: rgba(79, 70, 229, .55);--heat-3: #4f46e5;--shadow: 0 10px 30px rgba(23, 32, 51, .18)}}*{box-sizing:border-box}[hidden]{display:none!important}html{color-scheme:dark light}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}#app{min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent)}h1{font-size:1.7rem;margin:0 0 .5rem}h2{font-size:1.2rem;margin:0 0 .5rem}h3{margin:.25rem 0}.topbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top,0px));background:var(--topbar-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{font-weight:700;text-decoration:none;color:var(--text);white-space:nowrap}.topbar nav{display:flex;gap:.25rem;flex-wrap:wrap}.topbar nav a{color:var(--muted);text-decoration:none;padding:.35rem .7rem;border-radius:.5rem;font-size:.95rem}.topbar nav a:hover{color:var(--text);background:var(--panel)}.topbar nav a.active{color:var(--text);background:var(--panel-2)}main{flex:1;width:100%;max-width:60rem;margin:0 auto;padding:1.5rem 1rem 3rem}.footer{text-align:center;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));font-size:.85rem;border-top:1px solid var(--border)}.install-btn{margin-left:auto}.install-btn[hidden]{display:none}section{margin-bottom:1.75rem}.lead{color:var(--muted);max-width:46rem}.muted{color:var(--muted)}.good{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}.center{text-align:center}.card{background:var(--panel);border:1px solid var(--border);border-radius:.9rem;padding:1.1rem 1.25rem}.btn{display:inline-block;font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:.6rem;padding:.55rem 1.1rem;cursor:pointer;text-decoration:none;text-align:center;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){border-color:var(--accent)}.btn.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent)}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn.small{padding:.25rem .6rem;font-size:.85rem}.btn:disabled{opacity:.55;cursor:default}.btn-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.75rem}.hero p{max-width:46rem;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.75rem}.stat{text-align:center;text-decoration:none;color:var(--text)}.stat-value{display:block;font-size:1.9rem;font-weight:700}.stat-value.accent{color:var(--accent)}.stat-label{color:var(--muted);font-size:.85rem}.path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem}.path{text-decoration:none;color:var(--text);position:relative}.path p{color:var(--muted);font-size:.92rem;margin-bottom:0}.path:hover{border-color:var(--accent)}.path-step{color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--accent-strong);font-weight:700;font-size:.95rem}.tip p{margin-bottom:0;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:.9rem;overflow:hidden}th,td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border);vertical-align:top}tr:last-child td{border-bottom:none}th{color:var(--muted);font-weight:600;font-size:.85rem;background:var(--panel-2)}.digit-cell{font-size:1.15rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.sounds-cell{font-weight:600}td.actions{white-space:nowrap}td.actions .btn{margin:0 .15rem .15rem 0}.decomposition{display:inline-flex;gap:.2rem;flex-wrap:wrap;align-items:flex-end}.seg{display:inline-flex;flex-direction:column;align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.15rem .4rem;line-height:1.2}.seg-mute{color:var(--muted);background:none;border-color:transparent;padding:.15rem .1rem;align-self:center}.seg-text{font-weight:600}.seg-digit{font-size:.75rem;color:var(--accent);font-weight:700}.quiz-box{margin-top:1.5rem}.quiz-progress{font-size:.85rem;margin-bottom:.35rem}.quiz-prompt{font-size:1.2rem;margin:.25rem 0 .9rem}.quiz-result{font-size:1.3rem;font-weight:700}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;margin-bottom:.75rem}.btn.option.correct{border-color:var(--good);color:var(--good)}.btn.option.wrong{border-color:var(--bad);color:var(--bad)}.train-start{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem}.start-option p{min-height:3em}.flashcard{max-width:34rem;margin:0 auto;text-align:center;padding:1.5rem}.flash-prompt{font-size:2rem;font-weight:700;margin:.5rem 0 1.25rem}.flash-prompt.is-number{font-size:3rem;letter-spacing:.1em;color:var(--accent);font-variant-numeric:tabular-nums}.typed-form{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}input,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:.6rem;padding:.55rem .8rem}input:focus,select:focus{outline:2px solid var(--accent-strong);border-color:var(--accent-strong)}#feedback{margin-top:.75rem}.feedback-decomp{margin:.5rem 0 .9rem}.session-summary{max-width:30rem;margin:2rem auto;text-align:center}.session-summary .btn-row{justify-content:center}.peg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.75rem;margin-bottom:1rem}.peg{text-align:center;padding:.9rem .75rem}.peg-num{font-size:1.6rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.peg-word{font-size:1.1rem;font-weight:600;margin-bottom:.4rem}.peg-decomp{display:flex;justify-content:center;margin-bottom:.5rem}.peg-progress{display:flex;flex-direction:column;align-items:center;gap:.2rem}.dots{display:inline-flex;gap:.2rem}.dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--border)}.dot.on{background:var(--good)}.setup-card{max-width:30rem}.setup-row{margin:.6rem 0;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.number-stage{max-width:36rem;margin:1.5rem auto;text-align:center;padding:1.5rem}.big-number{font-size:clamp(2rem,8vw,3.2rem);font-weight:700;letter-spacing:.12em;color:var(--accent);font-variant-numeric:tabular-nums;margin:.75rem 0;white-space:pre}.hint-words{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.hint-word{background:var(--panel-2);border:1px solid var(--border);border-radius:.5rem;padding:.3rem .7rem}.hint-word strong{color:var(--accent);margin-right:.3rem}.pair-results{display:flex;flex-direction:column;gap:.4rem;max-width:20rem;margin:1rem auto;text-align:left}.pair-result{display:flex;align-items:center;gap:.7rem;border:1px solid var(--border);border-radius:.6rem;padding:.45rem .75rem}.pair-result.ok{border-color:var(--good)}.pair-result.fail{border-color:var(--bad)}.pair-num{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.pair-word{flex:1}.number-stage .btn-row{justify-content:center}.editor-form form{max-width:28rem}.form-row{display:flex;align-items:center;gap:.75rem;margin:.6rem 0}.form-row label{width:4rem;color:var(--muted)}.form-row input{flex:1}.validation p{margin:.5rem 0}.badge{font-size:.7rem;border:1px solid var(--border);color:var(--muted);border-radius:.4rem;padding:.05rem .35rem;vertical-align:middle}.badge.custom{border-color:var(--accent);color:var(--accent)}.data-tools{margin-top:1.5rem}.palace-head{display:flex;align-items:center;gap:.9rem;margin-bottom:.5rem;flex-wrap:wrap}.palace-head h1{margin:0}.room-count{font-size:.95rem;font-weight:400}.scene-wrap{border:1px solid var(--border);border-radius:.9rem;overflow:hidden;background:#141b2e;margin:.75rem 0}.scene{display:block;width:100%;height:auto}.locus{cursor:pointer;transition:filter .12s}.locus:hover{filter:brightness(1.25) drop-shadow(0 0 6px rgba(129,140,248,.8))}.locus.active{filter:brightness(1.15)}.locus.flash-ok{filter:brightness(1.4) drop-shadow(0 0 10px rgba(52,211,153,.9))}.locus.flash-bad{filter:brightness(.9) drop-shadow(0 0 10px rgba(248,113,113,.9))}.locus-badge circle{fill:var(--accent-strong);stroke:#fff;stroke-width:2.5}.locus-badge text{fill:#fff;font-size:19px;font-weight:700;font-family:system-ui,sans-serif}.locus-ring{fill:none;stroke:var(--accent);stroke-width:5;stroke-dasharray:14 10;pointer-events:none;animation:ring-pulse 1.6s ease-in-out infinite}@keyframes ring-pulse{0%,to{opacity:1;stroke-width:5}50%{opacity:.45;stroke-width:8}}.explore-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.minimap{display:flex;gap:.35rem;flex-wrap:wrap}.map-dot{width:.9rem;height:.9rem;border-radius:50%;border:2px solid var(--border);background:var(--panel);cursor:pointer;padding:0}.map-dot.visited{background:var(--good);border-color:var(--good)}.map-dot.current{border-color:var(--accent);outline:2px solid var(--accent)}.locus-info h3{margin-top:0}.tap-status{min-height:1.5em;font-weight:600}.place-instruction{margin-bottom:.5rem}.place-instruction p{margin:.35rem 0}.accent-text{color:var(--accent)}.flash-sub{font-size:1rem;font-weight:400}.option-sub{display:block;font-size:.75rem;color:var(--muted);font-weight:400}.session-summary.wide{max-width:40rem}.big-number.small-gap{letter-spacing:.08em;font-size:clamp(1.5rem,6vw,2.4rem)}.skip-link{position:absolute;left:-999px;top:.5rem;z-index:50;background:var(--accent-strong);color:var(--on-accent);padding:.4rem .8rem;border-radius:.5rem}.skip-link:focus{left:.5rem}main:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.small-text{font-size:.85rem}.row-between{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.center-row{justify-content:center}.btn.wide{display:block;width:100%;margin-top:1rem}.icon-btn{font:inherit;background:none;border:none;color:var(--muted);font-size:1.1rem;cursor:pointer;padding:.25rem .5rem;border-radius:.4rem}.icon-btn:hover{color:var(--text);background:var(--panel-2)}.kbd{display:inline-block;font:600 .7rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid currentColor;border-bottom-width:2px;border-radius:.3rem;padding:0 .3rem;margin:0 .35rem;opacity:.6;vertical-align:middle}@media (hover: none){.kbd{display:none}}.chip{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--border);background:var(--panel-2);border-radius:999px;padding:.15rem .65rem;font-size:.85rem;white-space:nowrap}.warn-chip{border-color:var(--warn);color:var(--warn)}.plain-list{list-style:none;padding:0;margin:.25rem 0 .75rem;display:grid;gap:.35rem}textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:.6rem;padding:.55rem .8rem;width:100%;resize:vertical}textarea:focus{outline:2px solid var(--accent-strong);border-color:var(--accent-strong)}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.inline-form input{flex:1;min-width:8rem}.progress{display:block;height:6px;border-radius:6px;background:var(--panel-2);overflow:hidden}.progress i{display:block;height:100%;background:var(--accent-strong);border-radius:6px;transition:width .25s}.segmented{display:inline-flex;gap:.25rem;padding:.25rem;border:1px solid var(--border);border-radius:.7rem;background:var(--panel);margin-bottom:1rem;flex-wrap:wrap}.segmented>*{font:inherit;color:var(--muted);background:none;border:none;border-radius:.5rem;padding:.3rem .85rem;cursor:pointer;text-decoration:none;font-size:.92rem}.segmented>.on{color:var(--text);background:var(--panel-2)}.topbar nav a{display:inline-flex;align-items:center;gap:.4rem}.nav-icon{width:1.1rem;height:1.1rem}@media (max-width: 700px){.topbar{padding:.6rem 1rem;padding-top:calc(.6rem + env(safe-area-inset-top,0px));-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}.topbar nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:var(--panel);border-top:1px solid var(--border);padding:.3rem .25rem calc(.4rem + env(safe-area-inset-bottom,0px))}.topbar nav a{flex-direction:column;gap:.1rem;font-size:.72rem;padding:.3rem 0;border-radius:.5rem}.topbar nav a.active{background:none;color:var(--accent)}.nav-icon{width:1.35rem;height:1.35rem}main{padding:1rem .9rem calc(var(--tabbar-h) + 1.5rem)}.footer{display:none}.flash-prompt.is-number{font-size:2.4rem}}#toast-host{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:60;width:max-content;max-width:calc(100vw - 2rem)}@media (max-width: 700px){#toast-host{bottom:calc(var(--tabbar-h) + .75rem + env(safe-area-inset-bottom,0px))}}.toast{display:flex;align-items:center;gap:.75rem;background:var(--panel-2);border:1px solid var(--border);border-radius:.8rem;padding:.6rem .75rem .6rem 1rem;box-shadow:var(--shadow);animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.today-head{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.today-head h1,.today-head p{margin:0}.banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;border-color:var(--warn);margin-bottom:.75rem}.banner p{margin:.15rem 0 0}.banner .btn-row{margin:0}.welcome{margin-bottom:.75rem}.goal-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem;align-items:center;margin-bottom:.75rem}.goal-body h2{margin:0}.goal-body p{margin:.2rem 0 .7rem}.ring{width:6.5rem;height:6.5rem}.ring-track,.ring-fill{fill:none;stroke-width:9}.ring-track{stroke:var(--panel-2)}.ring-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray .4s}.ring-fill.done{stroke:var(--good)}.ring text{fill:var(--text);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.75rem;padding:.75rem}.week-day{display:grid;justify-items:center;gap:.3rem;font-size:.75rem;color:var(--muted)}.week-day i{width:1.15rem;height:1.15rem;border-radius:50%;border:2px solid var(--border)}.week-day i.done{background:var(--good);border-color:var(--good)}.week-day i.today{border-color:var(--accent);border-style:dashed}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem}.next-step{display:grid;gap:.2rem;text-decoration:none;color:var(--text)}.next-step:hover{border-color:var(--accent)}.next-step .progress{margin-top:.4rem}.daily-number summary{display:grid;gap:.1rem;cursor:pointer;list-style:none}.daily-number summary::-webkit-details-marker{display:none}.daily-digits{font-size:1.6rem;font-weight:700;letter-spacing:.08em;font-variant-numeric:tabular-nums}.daily-number p{margin:.4rem 0 0}.resume-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem;border-color:var(--accent)}.resume-card p{margin:.15rem 0 0}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.6rem;font-size:.9rem;color:var(--muted)}.settings-row select{padding:.25rem .5rem}.link-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem;margin-top:.75rem}.link-card{display:grid;gap:.15rem;text-decoration:none;color:var(--text)}.link-card:hover{border-color:var(--accent)}.train-session{max-width:34rem;margin:0 auto}.session-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;font-size:.85rem;margin-bottom:.4rem}.session-head span:nth-child(2){text-align:center}.train-session .progress{margin-bottom:.9rem}.intro-word{font-size:2rem;font-weight:700;margin-top:-.75rem}.intro .flash-prompt{margin-bottom:.75rem}.feedback-visual:empty{display:none}.scene-hint{font-style:italic}.near-miss .feedback-decomp{margin:.25rem 0 .5rem}.btn.option{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap}.peg-visual{display:block;margin:0 auto .5rem;border-radius:.6rem;object-fit:cover}.peg-visual.sm{width:3rem;height:3rem}.peg-visual.md{width:5rem;height:5rem}.peg-visual.lg{width:100%;max-width:16rem;height:10rem}.peg-visual.emoji{display:grid;place-items:center;object-fit:initial;line-height:1}.peg-visual.emoji.sm{font-size:2.2rem}.peg-visual.emoji.md{font-size:3.5rem}.peg-visual.emoji.lg{font-size:6rem}.note-editor{display:grid;gap:.5rem;text-align:left;margin-top:.75rem}.note-visual{display:grid;place-items:center;min-height:6rem;border:1px dashed var(--border);border-radius:.7rem;padding:.5rem}.note-visual .peg-visual{margin:0}.note-placeholder{color:var(--muted);font-size:.9rem}.note-tools{display:flex;gap:.4rem;flex-wrap:wrap}.file-btn{cursor:pointer}.note-label{display:block;font-size:.85rem;color:var(--muted);margin-top:.4rem}.sketch{display:grid;gap:.5rem}.sketch canvas{width:100%;max-width:100%;aspect-ratio:8 / 5;border-radius:.6rem;border:1px solid var(--border);touch-action:none;cursor:crosshair}.sketch-bar{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.swatch{width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0}.swatch.on{outline:2px solid var(--accent);outline-offset:2px}.words-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:1rem;align-items:start}.word-detail{position:sticky;top:4.5rem}@media (max-width: 860px){.words-layout{grid-template-columns:minmax(0,1fr)}.word-detail{position:static}}.legend{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-bottom:.5rem}.legend span{display:inline-flex;align-items:center;gap:.3rem}.legend i{width:.8rem;height:.8rem;border-radius:.2rem;display:inline-block}.grid100,.grid10{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;margin-bottom:.75rem}.cell{aspect-ratio:1;display:grid;place-items:center;font:600 clamp(.62rem,1.6vw,.85rem) / 1 ui-monospace,SFMono-Regular,Menlo,monospace;border-radius:.3rem;border:1px solid transparent;color:var(--text);cursor:pointer;padding:0}.s-missing{background:transparent;border:1px dashed var(--border);color:var(--muted)}.s-new{background:var(--panel-2);border-color:var(--border)}.s-learning{background:var(--box-1)}.s-safe{background:var(--box-3)}.cell:hover{border-color:var(--accent)}.cell.sel{outline:2px solid var(--accent);outline-offset:1px}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.detail-num{font-size:2.2rem;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.detail-word{font-size:1.3rem;font-weight:700;margin:.25rem 0}.s-chip-safe{border-color:var(--good);color:var(--good)}.s-chip-learning{border-color:var(--warn);color:var(--warn)}.peg-form label{display:block;font-size:.85rem;color:var(--muted);margin:.5rem 0 .3rem}.suggestions{display:grid;gap:.35rem;margin:.3rem 0 .75rem}.sugg{font:inherit;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;border-radius:.6rem;border:1px solid var(--border);background:var(--bg);cursor:pointer;text-align:left}.sugg-word{display:inline-flex;align-items:center;gap:.6rem;flex-wrap:wrap}.sugg:hover{border-color:var(--accent)}.detail-note{border-top:1px solid var(--border);margin-top:.5rem}.confirm-inline{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;color:var(--bad);font-size:.9rem}button.peg{font:inherit;color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center}button.peg:hover,button.peg.sel{border-color:var(--accent)}.numbers-layout,.translate-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.75rem;align-items:start}.numbers-layout .setup-card{max-width:none}.timer{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}.pair-inputs{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.75rem 0}.pair-input{width:3.3rem;text-align:center;font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums;padding:.45rem .2rem}.big-input{width:100%;font-size:1.5rem;font-weight:700;letter-spacing:.06em}.translate-layout input:not(.big-input){width:100%}.tr-rows{display:grid;gap:.35rem;margin-top:.9rem}.tr-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.35rem .6rem;border:1px solid var(--border);border-radius:.6rem}.tr-row strong{width:1.8rem;color:var(--accent);font-variant-numeric:tabular-nums}.tr-row.missing strong{color:var(--warn)}.tr-sugg{display:inline-flex;gap:.35rem;flex-wrap:wrap;margin-left:auto}.chip-btn{font:inherit;font-size:.85rem;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:.15rem .65rem;cursor:pointer;text-decoration:none}.chip-btn:hover{border-color:var(--accent)}.my-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.75rem}.my-digits{font-size:1.5rem;font-weight:700;letter-spacing:.06em;color:var(--accent);font-variant-numeric:tabular-nums}.my-item p{margin:.2rem 0}.empty{max-width:34rem}.boxbar{display:flex;gap:2px;height:1.1rem;border-radius:.4rem;overflow:hidden;margin:.5rem 0}.boxbar i{display:block;min-width:3px}.boxbar-legend{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.boxbar-legend span{display:inline-flex;align-items:center;gap:.3rem}.boxbar-legend strong{color:var(--text)}.boxbar-legend i{width:.75rem;height:.75rem;border-radius:.2rem;display:inline-block}.b-new{background:var(--panel-2);border:1px solid var(--border)}.b-0{background:var(--box-0)}.b-1{background:var(--box-1)}.b-2{background:var(--box-2)}.b-3{background:var(--box-3)}.b-4{background:var(--box-4)}.heat-wrap{overflow-x:auto}.heat{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,.9rem);grid-auto-columns:.9rem;gap:3px;margin:.6rem 0}.heat i,.heat-legend i{border-radius:2px;background:var(--panel-2)}.heat-legend{display:flex;align-items:center;gap:3px}.heat-legend i{display:inline-block;width:.8rem;height:.8rem}.heat .h1,.heat-legend .h1{background:var(--heat-1)}.heat .h2,.heat-legend .h2{background:var(--heat-2)}.heat .h3,.heat-legend .h3{background:var(--heat-3)}.heat .h-future{background:transparent}.locus:focus-visible{outline:none;filter:brightness(1.3) drop-shadow(0 0 8px rgba(129,140,248,.95))}.locus-visual{pointer-events:none;animation:visual-pop .35s ease-out}.locus-visual image{clip-path:inset(0 round 14px)}.locus-visual-label{fill:#1e293b;stroke:#818cf8;stroke-width:3}.locus-visual-text{fill:#fff;font:700 24px system-ui,sans-serif}@keyframes visual-pop{0%{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
