:root{--paper: #fbfcfd;--paper-fade: rgba(251, 252, 253, 0);--card: #ffffff;--ink: #3a3f46;--ink-mid: #4d545e;--ink-sub: #8a929c;--outline: #565d68;--outline-soft: #ccd4dc;--aka-1: #e8604c;--aka-2: #c74836;--aka-tint: rgba(232, 96, 76, .14);--aka-shadow: rgba(199, 72, 54, .35);--gold-1: #ffd900;--gold-2: #ffe94d;--gold-face-1: #ffef7a;--gold-face-2: #ffd900;--gold-ink: #4a4300;--gold-edge: #b89f00;--ad-1: #ffb84d;--ad-2: #f28c1e;--ok: #1f8f5b;--lock: #2f5fa8;--done-face-1: #eef1f4;--done-face-2: #e4e9ee;--done-ink: #9aa4af;--sky-1: #38a1d8;--sky-2: #8fd4f5;--sky-3: #1c6ea6;--night-1: #232c40;--night-2: #1b2233;--night-3: #141a29;--night-gold: #e3ca45;--night-text: #f2f0dc;--night-sub: #9aa3b8;--flame: #ffc93a;--night-edge: #6e6220;--night-ring: rgba(227, 202, 69, .4);--night-glow: rgba(227, 202, 69, .24);--night-shadow: rgba(20, 26, 41, .4);--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-pill: 999px;--ol-1: 1.5px;--ol-2: 2px;--ol-3: 3px;--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, .61, .36, 1);--dur-fast: .12s;--dur-med: .24s;--font-base: "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;--font-display: var(--font-base)}:root,.theme-night{--bg: var(--paper);--bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cpath d='M0 .5H22M.5 0V22' stroke='%23dfe8ef' stroke-width='1'/%3E%3C/svg%3E");--surface: var(--card);--text: var(--ink);--text-mid: var(--ink-mid);--text-sub: var(--ink-sub);--btn-face: #ffffff;--btn-sheen: rgba(255, 255, 255, .7);--cell-face: var(--card);--cell-line: rgba(86, 93, 104, .45);--cell-frame: var(--outline);--cell-glow: 0 0 0 rgba(0, 0, 0, 0);--block-face: #565d68;--block-dots: repeating-linear-gradient(45deg, rgba(255, 255, 255, .2) 0 2.5px, transparent 2.5px 5px);--lock-ink: var(--lock);--hint: var(--sky-1);--hint-ink: var(--sky-3);--hint-glow: rgba(63, 157, 224, .55);--hint-tint: rgba(63, 157, 224, .2);--kb-face: var(--done-face-1);--key-fn-face: var(--done-face-2);--dark-face: #4a5260;--dark-text: var(--paper);--modal-edge: var(--outline);--modal-edge-w: var(--ol-3);--modal-glow: 0 12px 40px rgba(0, 0, 0, .35);--dim: rgba(40, 46, 56, .45);--gold-glow: rgba(255, 217, 0, .5)}.theme-night{--bg: var(--night-2);--bg-image: radial-gradient(130% 110% at 82% 0%, rgba(227, 202, 69, .14) 0%, rgba(227, 202, 69, 0) 45%), linear-gradient(160deg, var(--night-1) 0%, var(--night-2) 55%, var(--night-3) 100%);--surface: var(--night-1);--text: var(--night-text);--text-mid: #d9dce8;--text-sub: var(--night-sub);--btn-face: var(--night-1);--btn-sheen: rgba(255, 255, 255, .08);--cell-face: #f7f8f5;--cell-line: rgba(57, 65, 92, .5);--cell-frame: var(--night-gold);--cell-glow: 0 0 22px rgba(227, 202, 69, .26);--block-face: #39415c;--kb-face: var(--night-3);--key-fn-face: var(--night-2);--modal-edge: var(--night-gold);--modal-edge-w: var(--ol-1);--modal-glow: 0 12px 40px rgba(0, 0, 0, .5), 0 0 26px rgba(227, 202, 69, .26);--dim: rgba(8, 11, 20, .6);--hint: var(--sky-2);--hint-ink: var(--sky-2);--hint-glow: rgba(142, 208, 247, .6);--hint-tint: rgba(142, 208, 247, .18)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{background-color:var(--bg);background-image:var(--bg-image);color:var(--text);font-family:var(--font-base);user-select:none;-webkit-user-select:none;touch-action:manipulation;overscroll-behavior:none;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#app{height:100%;display:flex;flex-direction:column;align-items:center}.btn,.chip{border:var(--ol-2) solid var(--outline);background:var(--btn-face);color:var(--text-mid);font-family:inherit;font-weight:800;cursor:pointer;box-shadow:0 3px 0 var(--outline),inset 0 2px 0 var(--btn-sheen);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.btn{min-height:48px;padding:12px 20px;border-radius:var(--r-md);font-size:14px}.chip{font-size:13px;padding:6px 12px;border-radius:var(--r-pill);min-height:32px;display:inline-flex;align-items:center;box-shadow:0 2px 0 var(--outline),inset 0 2px 0 var(--btn-sheen)}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 2px 0 var(--btn-sheen);transition:none}.chip:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px 0 var(--btn-sheen);transition:none}.btn.primary,.chip.primary{--btn-sheen: rgba(255, 255, 255, .3);background:linear-gradient(170deg,var(--aka-1),var(--aka-2));color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.35)}.btn.gold,.chip.gold{--btn-sheen: rgba(255, 255, 255, .5);background:linear-gradient(100deg,var(--gold-1),var(--gold-2) 45%,var(--gold-1));color:var(--gold-ink)}.btn.ad{background:linear-gradient(160deg,var(--ad-1),var(--ad-2));color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25)}.btn.hidden{display:none}.pill{display:inline-flex;align-items:center;border:var(--ol-1) solid var(--outline-soft);background:var(--surface);border-radius:var(--r-pill);padding:4px 10px;font-size:13px;font-weight:800;color:var(--text-sub);font-variant-numeric:tabular-nums}.dim{position:fixed;inset:0;background:var(--dim)}.modal{position:relative;width:min(340px,calc(100vw - 36px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:var(--surface);border:var(--modal-edge-w) solid var(--modal-edge);border-radius:var(--r-lg);box-shadow:var(--modal-glow);padding:20px 16px 16px;text-align:center;color:var(--text)}.modal h3{font-family:var(--font-display);font-size:17px;letter-spacing:.12em;margin-bottom:4px}.modal .sub{font-size:13px;color:var(--text-sub);margin-top:6px}.topbar{width:100%;max-width:480px;padding:10px 14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.topbar>:first-child{justify-self:start}.topbar>:last-child{justify-self:end}.topbar .title{font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:.12em;flex:1;text-align:center;color:var(--text)}.topbar .title small{display:block;font-family:var(--font-base);font-size:11.5px;font-weight:600;letter-spacing:.04em;color:var(--text-sub);margin-top:2px}.topbar .title .hstreak{color:var(--flame);font-weight:800;margin-left:6px}.guidebar{display:flex;justify-content:center;width:100%;padding:2px 14px 0}.guidebar:empty{display:none}.guidebar .hintpill{border-color:var(--hint);color:var(--hint-ink);gap:5px}.guidebar .hintpill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--hint);box-shadow:0 0 6px var(--hint-glow)}.home{position:relative;width:100%;max-width:480px;flex:1;min-height:0;display:flex;flex-direction:column}.homescroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 0 calc(104px + env(safe-area-inset-bottom))}.apphead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px 4px}.apptitle{font-family:var(--font-display);font-size:16px;font-weight:800;letter-spacing:.02em;color:var(--text)}.apptitle small{font-size:10px;font-weight:700;color:var(--text-sub);margin-left:2px}.gearbtn{width:36px;height:36px;flex:none;border-radius:50%;border:var(--ol-2) solid var(--outline);background:var(--btn-face);color:var(--text-mid);font-family:inherit;font-size:16px;cursor:pointer;box-shadow:0 3px 0 var(--outline),inset 0 2px 0 var(--btn-sheen);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.gearbtn:active{transform:translateY(3px);box-shadow:inset 0 2px 0 var(--btn-sheen);transition:none}.hero{position:relative;margin:6px 14px 4px;padding:13px 16px 15px;border-radius:var(--r-lg);border:var(--ol-2) solid var(--night-gold);background:radial-gradient(130% 110% at 82% 4%,var(--night-glow) 0%,rgba(227,202,69,0) 45%),linear-gradient(165deg,var(--night-1) 0%,var(--night-2) 52%,var(--night-3) 100%);box-shadow:0 8px 22px var(--night-shadow),inset 0 0 0 1.5px var(--night-ring);color:var(--night-text)}.hero .hlbl{font-family:var(--font-display);font-size:15px;font-weight:800;letter-spacing:.1em;color:var(--night-text)}.hero .hdate{font-size:11.5px;color:var(--night-sub);margin-top:3px;letter-spacing:.02em}.hero .hstreak{position:absolute;top:12px;right:14px;color:var(--flame);font-weight:800;border:none;background:none;padding:0;font-family:inherit;font-size:12px;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.hero .hstreak:active{transform:translateY(1px);transition:none}.hcta{display:inline-block;margin-top:11px;position:relative;overflow:hidden;min-height:40px;padding:9px 24px;border:var(--ol-2) solid var(--gold-edge);border-radius:var(--r-pill);font-family:inherit;font-weight:800;font-size:14px;letter-spacing:.1em;color:var(--gold-ink);background:linear-gradient(180deg,var(--gold-2),var(--gold-1));cursor:pointer;box-shadow:0 3px 0 var(--gold-edge),inset 0 2px #ffffff80;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.hcta:after{content:"";position:absolute;top:0;bottom:0;width:36%;left:-50%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);animation:sweep 2.6s ease-in-out infinite}.hcta:not(.pending):active{transform:translateY(3px);box-shadow:inset 0 2px #ffffff80;transition:none}.hcta.done{background:linear-gradient(180deg,var(--gold-face-1),var(--gold-face-2))}.hcta.done:after{content:none}.hcta.pending{border:var(--ol-1) solid var(--night-edge);background:#ffffff0f;color:var(--night-sub);cursor:default;box-shadow:none}.hcta.pending:after{content:none}@keyframes sweep{0%,55%{left:-50%}to{left:130%}}.sectionlabel{display:flex;align-items:center;gap:8px;margin:16px 18px 6px;font-size:12.5px;font-weight:800;color:var(--text-sub)}.sectionlabel small{font-size:11px;font-weight:700;color:var(--text-sub)}.sectionlabel .chdone{font-style:normal;font-size:15px;line-height:1}.sectionlabel:after{content:"";flex:1;height:1px;background:var(--outline-soft)}.chhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 18px 7px;font-size:12px;color:var(--text-sub)}.chprog{display:flex;align-items:center;gap:4px;flex:none;font-weight:800;font-variant-numeric:tabular-nums}.chprog.done .ic{filter:drop-shadow(0 0 5px var(--gold-glow))}.lvgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 16px}.lvtile{position:relative;aspect-ratio:1;border-radius:var(--r-md);border:var(--ol-1) solid var(--outline);background:var(--btn-face);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:inherit;font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;color:var(--text-mid);cursor:pointer;box-shadow:0 2px 0 var(--outline),inset 0 2px 0 var(--btn-sheen);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.lvtile.cleared{background:linear-gradient(180deg,var(--done-face-1),var(--done-face-2));color:var(--done-ink);border-color:var(--outline-soft);box-shadow:0 1px 0 var(--outline-soft),inset 0 2px #ffffff80}.lvtile.current{background:var(--card);border-color:var(--aka-1);border-width:var(--ol-3);color:var(--aka-2);font-size:17px;box-shadow:0 2px 0 var(--aka-2),inset 0 2px #ffffffbf,0 6px 14px var(--aka-shadow)}.lvtile:active{transform:translateY(2px);box-shadow:inset 0 2px 0 var(--btn-sheen);transition:none}.lvtile.current:active{box-shadow:inset 0 2px #ffffffbf,0 3px 8px var(--aka-shadow)}.lvtile .tstars{display:none;line-height:1.2;margin-top:1px}.lvtile .tstars:not(:empty){display:block}.lvtile .tresume{position:absolute;top:3px;right:3px;line-height:0}.homefoot{position:absolute;left:0;right:0;bottom:0;padding:26px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--paper-fade),var(--bg) 45%);pointer-events:none}.gobtn{display:block;width:min(80%,340px);margin:0 auto;pointer-events:auto;border-color:var(--gold-edge);border-radius:var(--r-pill);padding:12px 0 13px;font-size:16px;letter-spacing:.08em;line-height:1.25;box-shadow:0 4px 0 var(--gold-edge),inset 0 2px #ffffff80;animation:gobtn-breathe 2.2s var(--ease-out) infinite}@keyframes gobtn-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.gobtn:active:not(:disabled){animation:none;transform:translateY(4px);box-shadow:inset 0 2px #ffffff80;transition:none}.gobtn small{display:block;font-weight:700;font-size:11px;letter-spacing:.04em;margin-top:2px}.stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;width:100%}.boardwrap{display:flex;justify-content:center;width:100%;padding:8px 26px 4px}.grid{--board-w: min(330px, calc(100vw - 52px) );width:var(--board-w);display:grid;grid-template-columns:repeat(var(--n),1fr);gap:0;border:var(--ol-3) solid var(--cell-frame);border-radius:var(--r-sm);background:var(--cell-frame);box-shadow:var(--cell-glow);overflow:hidden}.cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--cell-face);outline:1px solid var(--cell-line);outline-offset:-.5px;font-weight:800;font-size:calc(var(--board-w) / var(--n) * .56);color:var(--text);transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.cell .ch{position:relative;z-index:1}.cell .no{position:absolute;z-index:1;top:1px;left:3px;font-size:max(9px,calc(var(--board-w) / var(--n) * .2));font-weight:700;color:var(--text-sub);font-variant-numeric:tabular-nums}.cell.block{background-color:var(--block-face);background-image:var(--block-dots);background-size:4px 4px}.cell.inword{background-image:linear-gradient(var(--hint-tint),var(--hint-tint))}.cell.cursor{box-shadow:inset 0 0 0 2.5px var(--hint)}.cell.locked{background-color:var(--done-face-1);background-image:none;color:var(--lock-ink)}.cell.locked .no{color:var(--done-ink)}.cell.hinted{outline:2.5px dashed var(--hint);outline-offset:-2.5px}.cell.hinted:after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--hint);opacity:.22;animation:hintpulse 1.6s var(--ease-out) infinite}@keyframes hintpulse{0%,to{opacity:.22}50%{opacity:0}}.cell.lockpop{animation:lockpop var(--dur-med) var(--ease-pop);z-index:1}@keyframes lockpop{0%{transform:scale(1)}45%{transform:scale(1.1)}to{transform:scale(1)}}.cell.wordshake{animation:wordshake .24s var(--ease-out)}@keyframes wordshake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}50%{transform:translate(3px)}80%{transform:translate(-2px)}}.actions{width:100%;max-width:480px;display:flex;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.actions .btn{flex:1}.flash{position:fixed;inset:0;pointer-events:none;opacity:0;background:var(--aka-2);transition:opacity .3s var(--ease-out);z-index:8}.mlayer{position:fixed;inset:0;height:100vh;height:100dvh;z-index:10;display:flex;align-items:center;justify-content:center}.mlayer .mdim{position:absolute;inset:0;background:var(--dim);animation:dimfade var(--dur-med) var(--ease-out)}.mlayer .modal{animation:pop var(--dur-med) var(--ease-pop)}.mlayer .big{font-family:var(--font-display);font-size:40px;font-weight:800;letter-spacing:.16em;color:var(--text)}@keyframes pop{0%{transform:scale(.85)}to{transform:scale(1)}}@keyframes dimfade{0%{opacity:0}to{opacity:1}}.modal.gold{border:var(--ol-1) solid var(--night-gold);box-shadow:0 12px 40px #00000080,0 0 26px var(--gold-glow)}.mclose{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;border:var(--ol-2) solid var(--outline);background:linear-gradient(170deg,var(--aka-1),var(--aka-2));color:#fff;font-family:inherit;font-weight:800;font-size:16px;cursor:pointer;text-shadow:0 1px 0 rgba(0,0,0,.35);box-shadow:0 2px 0 var(--outline);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.mclose:active{transform:translateY(2px);box-shadow:none;transition:none}.modal .ghost{display:block;width:100%;margin-top:10px;padding:10px 0;border:none;background:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--text-sub);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.modal .ghost:active{transform:translateY(1px);transition:none}.setlist{text-align:left;margin-top:6px}.setrow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 4px;border-bottom:1px solid var(--outline-soft);font-size:14px;color:var(--text);text-decoration:none}.setrow:last-child{border-bottom:none}.setrow small{display:block;font-size:12px;color:var(--text-sub)}.setrow .chev{color:var(--text-sub);font-size:18px}.tgl{position:relative;width:44px;height:26px;flex:none;border:var(--ol-1) solid var(--outline);border-radius:var(--r-pill);background:var(--ok);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.tgl:active{transform:scale(.94);transition:none}.tgl:after{content:"";position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform var(--dur-fast) var(--ease-out)}.tgl.off{background:var(--outline-soft)}.tgl.off:after{transform:translate(-18px)}.mbtn{display:block;width:100%;margin-top:12px;padding:12px 0;letter-spacing:.08em}@media(prefers-reduced-motion:reduce){.mlayer .modal,.mlayer .mdim,.cell.lockpop,.cell.wordshake,.cell.hinted:after,.hcta:after,.gobtn{animation:none}.btn,.chip,.gearbtn,.mclose,.modal .ghost,.tgl,.cell,.key,.clue,.listbtn{transition:none}}.adlayer{z-index:20}.modal.adstub{display:flex;flex-direction:column}.adstub .adframe{display:flex;align-items:center;justify-content:center;min-height:176px;margin-top:10px;border:var(--ol-1) solid var(--outline-soft);border-radius:var(--r-md);background:var(--btn-face);color:var(--text-sub);font-family:var(--font-display);font-size:20px;letter-spacing:.18em}.adstub .adtimer{margin-top:10px;font-size:14px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.adstub .mclose:disabled,.adstub .btn:disabled{filter:grayscale(1);cursor:default}.ic{display:inline-block;flex:none;width:1em;height:1em;vertical-align:-.14em}.gearbtn .ic{width:19px;height:19px;vertical-align:-.22em}.cluebar{display:flex;align-items:stretch;gap:8px;width:100%;max-width:480px;padding:10px 14px 8px}.cluebar .clue{flex:1;min-height:44px;border:var(--ol-1) solid var(--outline-soft);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-family:inherit;font-size:13px;font-weight:600;line-height:1.45;text-align:left;padding:8px 12px;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.cluebar .clue:active{transform:translateY(1px);transition:none}.cluebar .clue b{color:var(--hint-ink);font-size:12px;margin-right:6px;white-space:nowrap}.cluebar .clue .empty{color:var(--text-sub);font-weight:600}.listbtn{width:46px;flex:none;border:var(--ol-2) solid var(--outline);border-radius:var(--r-md);background:var(--btn-face);color:var(--text-mid);font-family:inherit;font-size:17px;cursor:pointer;box-shadow:0 2px 0 var(--outline),inset 0 2px 0 var(--btn-sheen);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.listbtn:active{transform:translateY(2px);box-shadow:inset 0 2px 0 var(--btn-sheen);transition:none}.kb{width:100%;max-width:480px;margin-top:auto;padding:8px;border-top:var(--ol-1) solid var(--outline-soft);background:var(--kb-face);padding-bottom:calc(8px + env(safe-area-inset-bottom))}.kbrows{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.kbfn{display:grid;grid-template-columns:2fr 2fr 2fr 4fr;gap:4px;margin-top:4px}.key{min-height:44px;border:var(--ol-1) solid var(--outline);border-radius:var(--r-sm);background:var(--btn-face);color:var(--text);font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 2px 0 var(--outline),inset 0 2px 0 var(--btn-sheen);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.key:active{transform:translateY(2px);box-shadow:inset 0 2px 0 var(--btn-sheen);transition:none}.key.fn{background:var(--key-fn-face);font-size:13px}.key.del{font-size:12px}.keygap{min-height:44px}.modal.cluepop{width:min(360px,calc(100vw - 24px));display:flex;flex-direction:column;text-align:left;padding:16px 14px 12px}.modal.cluepop h3{text-align:center}.cluecols{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin-top:6px;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.cluecols h4{font-size:12.5px;color:var(--hint-ink);margin-bottom:6px}.cluecols ul{list-style:none}.cluecols li{margin-bottom:4px}.clueitem{display:block;width:100%;min-height:32px;border:none;background:none;color:var(--text);font-family:inherit;font-size:11.5px;line-height:1.5;text-align:left;padding:4px 2px;cursor:pointer}.clueitem b{margin-right:4px;color:var(--hint-ink);font-variant-numeric:tabular-nums}.clueitem:active{transform:translateY(1px)}.clueitem.done{color:var(--done-ink);cursor:default}.clueitem.done b{color:var(--done-ink)}.clueitem.done:before{content:"✓ ";color:var(--ok)}.menulist{margin-top:2px}.modal.hintpop{padding:16px 14px 12px}.modal.hintpop h3{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:6px}.modal.hintpop .ghost{margin-top:6px;padding:8px 0}.hintrow{display:flex;align-items:center;gap:10px;min-height:50px;margin-top:6px;padding:4px 10px;border:var(--ol-1) solid var(--outline-soft);border-radius:var(--r-md);background:var(--btn-face);text-align:left}.hintrow .t{flex:1}.hintrow .t b{display:block;font-size:13.5px;font-weight:800;color:var(--text)}.hintrow .t span{font-size:11px;color:var(--text-sub)}.hintrow .used{flex:none;padding-right:8px;color:var(--ok);font-size:17px;font-weight:800}.hintrow .hchip{flex:none;display:flex;align-items:center;min-height:32px;padding:0 10px;border:var(--ol-1) solid var(--outline-soft);border-radius:var(--r-pill);background:none;color:var(--text-sub);font-size:11px;font-weight:700}.hintrow .btn{flex:none;position:relative;min-height:44px;min-width:74px;padding:0 13px;border-radius:11px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:5px}.hintrow .btn.gold{border-color:var(--gold-edge);box-shadow:0 3px 0 var(--gold-edge),inset 0 2px 0 var(--btn-sheen)}.adglyph{position:relative;display:flex;align-items:center;padding:3px 7px;border-radius:5px;background:#2f5fc7;color:#fff;font-size:10px;line-height:1}.adglyph:after{content:"AD";position:absolute;top:-4px;right:-7px;padding:0 2px;border:1px solid #2f5fc7;border-radius:3px;background:#fff;color:#2f5fc7;font-size:6.5px;font-weight:800}.btn .dur{color:#fff;font-size:11px;text-shadow:0 1px 0 rgba(0,0,0,.25)}.rbadge{position:absolute;top:-7px;right:-7px;width:17px;height:17px;border-radius:50%;border:var(--ol-2) solid var(--surface);background:var(--aka-1);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center}.popnote{margin-top:6px;font-size:10.5px;color:var(--text-sub);font-variant-numeric:tabular-nums}.stars{font-size:28px;letter-spacing:.12em;margin:6px 0 2px}.stars .off{filter:grayscale(1) brightness(1.15)}.gain{margin-top:6px;font-size:14px;font-weight:700;color:var(--gold-ink)}.fire{display:block;font-size:30px;line-height:1}.streakbig{font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:.06em;margin:4px 0 2px;color:var(--text)}.adrow{display:flex;justify-content:center;margin-top:12px}.adrow .btn{position:relative;display:flex;align-items:center;gap:6px}.calstrip{display:flex;gap:5px;justify-content:center;margin:10px 0 2px}.cday{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:var(--ol-1) solid var(--outline-soft);background:none;font-family:inherit;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-sub)}button.cday{cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}button.cday:active{transform:scale(.9);transition:none}.cday.cleared{background:var(--flame);border-color:var(--flame);color:var(--gold-ink)}.cday.repaired{background:var(--flame);border-color:var(--flame);color:var(--gold-ink);box-shadow:inset 0 0 0 2px var(--surface)}.cday.missing{border:var(--ol-2) dashed var(--aka-1);color:var(--aka-1)}.cday.todo{border:var(--ol-2) solid var(--aka-1);color:var(--aka-2)}.modal.calpop h3 .bal{display:block;font-size:13px;font-weight:800;letter-spacing:.02em;color:var(--flame);margin-top:3px}.modal.calpop .calnav{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-top:6px}.calmonth{font-family:var(--font-display);font-size:15px;font-weight:800;letter-spacing:.06em}.calnav .chip{min-width:34px;padding:0 8px;justify-content:center}.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px 2px;justify-items:center;margin-top:10px}.cwd{font-size:10px;font-weight:700;color:var(--text-sub)}.callegend{display:flex;gap:14px;justify-content:center;align-items:center;margin-top:12px;font-size:11px;color:var(--text-sub)}.callegend span{display:flex;align-items:center;gap:4px}.callegend .cday{width:14px;height:14px;font-size:0}.hero .hstreak .ic,.topbar .title .hstreak .ic{--ic-base: var(--flame);--ic-hi: #ffe6b0;--ic-outline: #8a4413;margin-right:2px;vertical-align:-.17em}.chprog .ic,.sectionlabel .chdone .ic{width:16px;height:16px;vertical-align:-.25em}.lvtile .tstars .ic{width:10px;height:10px;vertical-align:0}.lvtile .tresume .ic{width:12px;height:12px;vertical-align:0}.lvtile.cleared .tresume .ic{--ic-base: var(--done-ink);--ic-outline: var(--outline-soft)}.stars .ic{margin:0 .04em;vertical-align:-.1em}.gain .ic{vertical-align:-.17em}.stars .ic-lg{width:1.6em;height:1.6em}.fire .ic,.modal.calpop h3 .bal .ic{--ic-base: var(--flame);--ic-hi: #ffe6b0;--ic-outline: #8a4413;vertical-align:-.14em}.adglyph .ic{width:9px;height:9px;vertical-align:0}.chip.gold .ic{vertical-align:-.16em;margin-right:2px}.result{width:100%;max-width:480px;padding:24px 20px;text-align:center}.result h1{font-family:var(--font-display);font-size:22px;letter-spacing:.08em}.result p{margin-top:10px;font-size:13px;line-height:1.7;color:var(--text-sub)}.result .actions{flex-direction:column;padding:18px 0 0}
