:root{--paper: #f1ecff;--paper-fade: rgba(241, 236, 255, 0);--card: #ffffff;--ink: #33234f;--ink-mid: #5c4b7d;--ink-sub: #8b7bab;--outline: #2e1f47;--outline-soft: #cdbdf0;--aka-1: #ff4d6d;--aka-2: #d92548;--aka-tint: #ffe0e6;--aka-shadow: rgba(217, 37, 72, .24);--gold-1: #ffcf2e;--gold-2: #ffe27a;--gold-face-1: #ffe27a;--gold-face-2: #ffcf2e;--gold-ink: #4a3600;--gold-edge: #d09000;--ad-1: #ff922e;--ad-2: #d96a00;--ok: #17c47a;--ok-2: #0a8f58;--ok-tint: #d8f9ea;--lock: #3860e8;--lock-face: #e2e9ff;--done-face-1: #f0ebfb;--done-face-2: #e6dff5;--done-line: #a698c4;--done-ink: #8b7bab;--sky-1: #22b8ff;--sky-2: #ddf2ff;--sky-3: #0b7cb8;--pre-face: #f2edfb;--pre-ink: #6b5a92;--grape-1: #8a5fe8;--grape-2: #6b3fd4;--grape-sub: #ded0ff;--flame: #ffcf2e;--sheen: rgba(255, 255, 255, .6);--drop: 0 9px 16px rgba(70, 40, 120, .2);--drop-sm: 0 6px 12px rgba(70, 40, 120, .16);--hard-y: 4px;--r-sm: 8px;--r-md: 13px;--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{--bg: var(--paper);--bg-image: linear-gradient(180deg, #fdfbff 0%, #f3eeff 40%, #e6ddff 100%);--surface: var(--card);--text: var(--ink);--text-mid: var(--ink-mid);--text-sub: var(--ink-sub);--btn-face: linear-gradient(180deg, #ffffff, #f4efff);--btn-sheen: var(--sheen);--cell-face: var(--card);--cell-line: #8b7bab;--cell-frame: var(--outline);--cell-glow: 0 5px 0 var(--outline), 0 11px 18px rgba(70, 40, 120, .24);--block-face: #3d2b60;--block-dots: repeating-linear-gradient(45deg, rgba(255, 255, 255, .16) 0 3px, transparent 3px 6px);--lock-ink: var(--lock);--hint: var(--sky-1);--hint-ink: var(--sky-3);--hint-glow: rgba(34, 184, 255, .55);--hint-tint: var(--sky-2);--tray-face: linear-gradient(180deg, #efe8ff, #e2d8fb);--key-face: linear-gradient(180deg, #ffffff 0%, #ffffff 52%, #eee6ff 100%);--key-fn-face: linear-gradient(180deg, #d9cffa, #c6b8f0);--dark-face: #4a3a6e;--dark-text: var(--paper);--modal-edge: var(--outline);--modal-edge-w: var(--ol-2);--modal-glow: 0 var(--hard-y) 0 var(--outline), 0 14px 34px rgba(46, 31, 71, .3);--dim: rgba(46, 31, 71, .45);--gold-glow: rgba(255, 207, 46, .55)}*{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;overflow-y:auto;overscroll-behavior:contain}.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 var(--hard-y) 0 var(--outline),var(--drop),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:19px}.chip{font-size:18px;padding:7px 14px;border-radius:var(--r-pill);min-height:38px;display:inline-flex;align-items:center}.btn:active:not(:disabled),.chip:active:not(:disabled){transform:translateY(var(--hard-y));box-shadow:inset 0 2px 0 var(--btn-sheen);transition:none}.btn.primary,.chip.primary{--btn-sheen: rgba(255, 255, 255, .55);background:linear-gradient(180deg,#ff7f96,var(--aka-1));color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.16)}.btn.gold,.chip.gold{--btn-sheen: rgba(255, 255, 255, .65);background:linear-gradient(180deg,var(--gold-2),var(--gold-1));color:var(--gold-ink)}.btn.ad{--btn-sheen: rgba(255, 255, 255, .5);background:linear-gradient(180deg,#ffb26b,var(--ad-1));color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.16)}.btn.hidden{display:none}.pill{display:inline-flex;align-items:center;border:var(--ol-2) solid var(--outline-soft);background:var(--surface);border-radius:var(--r-pill);padding:4px 10px;font-size:18px;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:linear-gradient(180deg,#fff,#f7f3ff);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:22px;font-weight:800;letter-spacing:.08em;margin-bottom:4px}.modal .sub{font-size:18px;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}.tbright{display:flex;align-items:center;gap:8px}.topbar .title{font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:.06em;flex:1;text-align:center;color:var(--text)}.topbar .title .tname{display:inline-flex;align-items:center;justify-content:center;gap:6px}.topbar .title small{display:block;font-family:var(--font-base);font-size:15px;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}.hardbadge{display:inline-flex;align-items:center;flex:none;padding:1px 8px 2px;border:var(--ol-2) solid var(--outline);border-radius:var(--r-pill);background:linear-gradient(180deg,#ff7f96,var(--aka-1));color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;line-height:1.5;text-shadow:0 1px 0 rgba(0,0,0,.2);white-space:nowrap}.titlescreen{position:relative;width:100%;max-width:480px;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:10px 14px calc(12px + env(safe-area-inset-bottom))}.thead{display:flex;align-items:center;gap:8px;flex:none}.thead>.streakpill{margin-inline:auto}.streakpill{gap:4px;min-height:34px;padding:5px 10px;font-size:13px;color:var(--text);white-space:nowrap}.streakpill b{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.streakpill .ic{width:15px;height:15px}.streakpill.zero{color:var(--text-sub)}.streakpill:active:not(:disabled){transform:translateY(var(--hard-y))}@media(max-width:380px){.titlescreen{padding-left:10px;padding-right:10px}.thead{gap:5px}.streakpill,.morebtn{font-size:12px;padding-left:8px;padding-right:8px}.gearbtn{width:34px;height:34px;font-size:19px}}@media(max-width:340px){.morebtn .ml span{display:none}}.morebtn{position:relative;overflow:hidden;flex:none;height:34px;padding:0 10px;border-radius:var(--r-pill);border:var(--ol-2) solid var(--outline);--btn-sheen: rgba(255, 255, 255, .5);background:linear-gradient(180deg,#ffb26b,var(--ad-1));color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.16);font-family:inherit;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer;box-shadow:0 var(--hard-y) 0 var(--outline),var(--drop-sm),inset 0 2px 0 var(--btn-sheen);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);animation:morebtn-nudge 5.2s var(--ease-out) infinite}.morebtn .ml{position:relative;z-index:1;display:inline-flex;align-items:center;gap:5px}.morebtn .ic{width:17px;height:17px;vertical-align:0}.morebtn .sweep{position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);animation:sweep 5.2s ease-in-out infinite}@keyframes morebtn-nudge{0%,86%,to{transform:translateY(0) scale(1)}90%{transform:translateY(-2px) scale(1.04)}94%{transform:translateY(0) scale(1)}}.morebtn:active{animation:none;transform:translateY(var(--hard-y));box-shadow:inset 0 2px 0 var(--btn-sheen);transition:none}.gearbtn{width:38px;height:38px;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:21px;cursor:pointer;box-shadow:0 var(--hard-y) 0 var(--outline),var(--drop-sm),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(var(--hard-y));box-shadow:inset 0 2px 0 var(--btn-sheen);transition:none}@keyframes sweep{0%,55%{left:-50%}to{left:130%}}.dpanel{display:flex;align-items:center;gap:10px;width:100%;min-height:62px;margin-top:10px;padding:8px 12px;flex:none;text-align:left;border:var(--ol-2) solid var(--outline);border-radius:var(--r-lg);background:var(--btn-face);color:var(--text);font-family:inherit;cursor:pointer;box-shadow:0 var(--hard-y) 0 var(--outline),var(--drop-sm),inset 0 2px 0 var(--btn-sheen);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.dpanel.done{background:linear-gradient(180deg,#f2fff9,var(--ok-tint))}div.dpanel{background:var(--done-face-1);border-color:var(--outline-soft);color:var(--text-sub);cursor:default;box-shadow:none}button.dpanel:active{transform:translateY(var(--hard-y));box-shadow:inset 0 2px 0 var(--btn-sheen);transition:none}.dpanel .dic{width:26px;height:26px;flex:none}.dpanel .dbd{flex:1 1 auto;min-width:0;overflow:hidden}.dpanel .dti{display:block;font-family:var(--font-display);font-size:16px;font-weight:800;line-height:1.3}.dpanel .dsu{display:flex;align-items:center;font-size:13px;font-weight:700;line-height:1.3;color:var(--text-sub);white-space:nowrap}.dpanel .dst{min-width:0;overflow:hidden;text-overflow:ellipsis}.dpanel .slotprog{flex:none;margin-left:7px}.dpanel .slotprog i{width:16px;height:16px;font-size:11px}.dpanel .dbadge{flex:none;align-self:center;border:var(--ol-2) solid var(--outline);border-radius:var(--r-sm);padding:2px 7px;font-size:12px;font-weight:800;white-space:nowrap;background:linear-gradient(180deg,#ff7f96,var(--aka-1));color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.16)}.dpanel .dbadge.done{background:linear-gradient(180deg,#4fe0a6,var(--ok))}.tgap{flex:.9 1 0;min-height:0}.tgap.wide{flex:1.25 1 0}.tname{flex:none;text-align:center}.tname .tn{font-family:var(--font-display);font-size:clamp(22px,8vw,32px);font-weight:800;line-height:1.16;letter-spacing:-.01em;white-space:nowrap;text-shadow:0 2px 0 rgba(255,255,255,.85)}.tname .tn em{font-style:normal;color:var(--aka-1)}.tname .tt{margin-top:5px;font-size:14px;font-weight:700;color:var(--text-sub)}.gobtn{display:block;width:min(88%,340px);margin:0 auto;flex:none;border-radius:var(--r-pill);padding:13px 0 14px;font-size:21px;letter-spacing:.06em;line-height:1.25;box-shadow:0 var(--hard-y) 0 var(--outline),var(--drop),inset 0 2px #ffffffa6;animation:gobtn-breathe 2.2s var(--ease-out) infinite}.gobtn .ic{width:.7em;height:.7em;margin-right:8px;--ic-base: var(--gold-ink)}@keyframes gobtn-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.gobtn:active:not(:disabled){animation:none;transform:translateY(var(--hard-y));box-shadow:inset 0 2px #ffffffa6;transition:none}.gobtn small{display:block;font-weight:700;font-size:15px;letter-spacing:.04em;margin-top:2px}.tprog{flex:none;margin-top:10px;text-align:center;font-size:13px;font-weight:700;color:var(--text-sub);font-variant-numeric:tabular-nums}.tprog b{font-size:15px;font-weight:800;color:var(--text)}.promolist{margin:0 16px;padding:2px 12px;background:var(--card);border:var(--ol-1) solid var(--outline-soft);border-radius:var(--r-lg);text-align:left}.promorow{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--outline-soft);color:var(--text);text-decoration:none}.promorow:last-child{border-bottom:none}.promorow img{width:44px;height:44px;flex:none;border-radius:var(--r-md);border:var(--ol-1) solid var(--outline-soft)}.promorow .pt{flex:1 1 auto;min-width:0}.promorow .pt b{display:block;font-size:16px;font-weight:800;line-height:1.3}.promorow .pt span{display:block;font-size:15px;line-height:1.4;color:var(--text-sub)}.promorow .chev{flex:none;font-size:23px;color:var(--text-sub)}.promorow:active{background:var(--done-face-1)}.modal.promopop{width:min(400px,calc(100vw - 24px))}.promopop .promolist{margin:10px 0 0;padding:0;border:none;background:none}.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}.grid{--board-w: min(330px, calc(100vw - 52px) , var(--board-max-h, 330px));width:var(--board-w);display:grid;grid-template-columns:repeat(var(--n),1fr);gap:2px;border:var(--ol-3) solid var(--cell-frame);border-radius:12px;background:var(--cell-line);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);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(13px,calc(var(--board-w) / var(--n) * .24));font-weight:700;color:var(--text-sub);font-variant-numeric:tabular-nums}.cell.block{background-color:var(--block-face);background-image:var(--block-dots)}.cell.inword{background-image:linear-gradient(var(--hint-tint),var(--hint-tint))}.cell.cursor{box-shadow:inset 0 0 0 3px var(--aka-1)}.cell.locked{background-color:var(--lock-face);background-image:none;color:var(--lock-ink)}.cell.locked .no{color:var(--lock-ink)}.cell.prefill{background-color:var(--pre-face);background-image:none;color:var(--pre-ink);font-weight:700}.cell.prefill:after{content:"";position:absolute;left:14%;right:14%;bottom:9%;height:2px;border-radius:2px;background:var(--pre-ink);opacity:.35}.cell.prefill .no{color:var(--pre-ink)}.cell.sweep:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--hint);opacity:0;animation:cellsweep .2s var(--ease-out)}@keyframes cellsweep{0%{opacity:0;transform:scale(.7)}45%{opacity:.45;transform:scale(1)}to{opacity:0;transform:scale(1)}}.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)}}.cell.pressed{transform:scale(.94);transition:transform 55ms var(--ease-out);z-index:1}.cell.refuse{animation:cellrefuse .22s var(--ease-out)}@keyframes cellrefuse{25%{transform:translate(-3px)}65%{transform:translate(3px)}}.cell.land{animation:cellland .22s var(--ease-pop);z-index:1}@keyframes cellland{0%{transform:scale(1.18,.82)}55%{transform:scale(.92,1.1)}to{transform:scale(1)}}.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 .modal.clearpop{animation:clearpop .38s cubic-bezier(.2,1.6,.4,1)}@keyframes clearpop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.mlayer .big{font-family:var(--font-display);font-size:44px;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}}.spark{position:fixed;z-index:50;pointer-events:none;font-size:15px;animation:spark .55s ease-out forwards}@keyframes spark{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.3);opacity:0}}.glowring{position:fixed;z-index:49;pointer-events:none;width:14px;height:14px;border-radius:50%;border:3px solid var(--sky-1);animation:glowring .45s ease-out forwards}@keyframes glowring{to{transform:scale(5);opacity:0}}.toast{position:fixed;left:50%;top:34%;z-index:60;pointer-events:none;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--aka-1);text-shadow:0 3px 0 #fff,0 5px 0 rgba(217,37,72,.24);animation:toast .7s cubic-bezier(.2,1.4,.4,1) forwards}@keyframes toast{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}30%{transform:translate(-50%,-50%) scale(1.1);opacity:1}75%{opacity:1}to{transform:translate(-50%,-62%) scale(1);opacity:0}}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:-24px;display:block;border-radius:60% 40% 55% 45%;opacity:0;animation-name:petal-fall;animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes petal-fall{0%{transform:translate(0) rotate(0);opacity:0}8%{opacity:.95}to{transform:translate(var(--drift, 40px),108vh) rotate(var(--spin, 540deg));opacity:.85}}.mclose{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;border:var(--ol-2) solid var(--outline);background:linear-gradient(180deg,#ff7f96,var(--aka-1));color:#fff;font-family:inherit;font-weight:800;font-size:21px;cursor:pointer;text-shadow:0 2px 0 rgba(0,0,0,.16);box-shadow:0 3px 0 var(--outline),inset 0 2px #ffffff73;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.mclose:active{transform:translateY(3px);box-shadow:inset 0 2px #ffffff73;transition:none}.modal .ghost{display:block;width:100%;margin-top:10px;padding:10px 0;border:none;background:none;font-family:inherit;font-size:18px;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:19px;color:var(--text);text-decoration:none}.setrow:last-child{border-bottom:none}.setrow small{display:block;font-size:16px;color:var(--text-sub)}.setrow .chev{color:var(--text-sub);font-size:23px}.tgl{position:relative;width:46px;height:28px;flex:none;border:var(--ol-2) 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(--done-face-2)}.tgl.off:after{transform:translate(-18px)}.fxseg{display:flex;gap:6px;flex:none}.fxseg .chip{min-width:46px;justify-content:center;padding:7px 10px}.fxseg .chip.on{background:linear-gradient(180deg,#6ad2ff,var(--sky-1));color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.16);box-shadow:0 var(--hard-y) 0 var(--outline),var(--drop-sm),inset 0 2px #ffffff80}.mbtn{display:block;width:100%;margin-top:12px;padding:12px 0;letter-spacing:.08em}.modal .btn.linebtn{--line-green: #06c755;--line-green-dark: #04a344;--line-green-mute: #9dcdb2;background:var(--line-green);border-color:var(--line-green-dark);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25);box-shadow:0 3px 0 var(--line-green-dark),inset 0 2px #ffffff47}.modal .btn.linebtn:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 2px #ffffff47;transition:none}.modal .btn.linebtn:disabled{background:var(--line-green-mute);border-color:var(--line-green-mute);box-shadow:none;cursor:default}@media(prefers-reduced-motion:reduce){.mlayer .modal,.mlayer .mdim,.starslot,.gobtn,.morebtn,.morebtn .sweep{animation:none}.btn,.chip,.gearbtn,.morebtn,.mclose,.modal .ghost,.tgl,.cell,.key,.clue{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:25px;letter-spacing:.18em}.adstub .adtimer{margin-top:10px;font-size:19px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.adstub .mclose:disabled,.adstub .btn:disabled{filter:grayscale(1);cursor:default}.adyads{display:flex;align-items:center;justify-content:center}.adyads .adstatus{position:relative;color:var(--text-sub);font-size:16px;letter-spacing:.08em}.adyads>[id^=ad-yads-slot-]{position:relative;z-index:1}.modal.adconsent{display:flex;flex-direction:column}.adconsent .adnotice{margin-top:10px;text-align:left}.adconsent .adnotice p{margin:0 0 6px}.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;flex-direction:column;gap:6px;width:100%;max-width:480px;padding:8px 14px 6px}.cluebar .prog{display:flex;align-items:center;gap:10px;min-height:18px}.cluebar .prog b{flex:none;font-size:14px;font-weight:800;color:var(--text-mid);font-variant-numeric:tabular-nums}.cluebar .progbar{flex:1;display:flex;gap:3px;min-width:0}.cluebar .progbar i{flex:1;height:8px;border-radius:var(--r-pill);background:var(--done-face-2)}.cluebar .progbar i.on{background:var(--lock)}.cluebar .progbar i.now{background:var(--aka-1);box-shadow:0 0 0 2px #fff}.cluebar .clues{min-width:0}.cluebar .clue{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;min-height:44px;border:var(--ol-2) solid var(--outline);border-radius:var(--r-lg);background:linear-gradient(180deg,#fff,#f7f3ff);box-shadow:0 3px 0 var(--outline);color:var(--text);font-family:inherit;font-size:20px;font-weight:700;line-height:1.5;text-align:left;padding:9px 13px 10px}.cluebar .clue b{flex:none;padding:2px 11px;border-radius:var(--r-pill);background:var(--sky-2);color:var(--sky-3);font-size:14px;font-weight:800;white-space:nowrap}.cluebar .clue em{flex:none;font-style:normal;font-size:13px;font-weight:700;color:var(--text-sub);font-variant-numeric:tabular-nums}.cluebar .clue .ctext{flex:1 1 100%;min-width:0}.cluebar .clue .empty{color:var(--text-sub);font-weight:700}.tray{width:100%;max-width:480px;margin-top:auto;padding:9px 10px 10px;border-top:var(--ol-2) solid var(--outline);background:var(--tray-face);padding-bottom:calc(10px + env(safe-area-inset-bottom))}.traylabel{margin:0 2px 7px;font-size:13px;font-weight:800;color:var(--ink-mid)}.traykeys{display:grid;grid-template-columns:repeat(var(--cols, 6),1fr);gap:7px}.trayfn{display:grid;grid-template-columns:1fr;gap:7px;margin-top:7px}.key{position:relative;min-height:clamp(46px,7dvh,58px);border:var(--ol-2) solid var(--outline);border-radius:var(--r-md);background:var(--key-face);color:var(--text);font-family:inherit;font-size:min(26px,calc((min(100vw,480px) - 40px) / var(--cols, 6) * .7));font-weight:800;cursor:pointer;box-shadow:0 3px 0 var(--outline),inset 0 2px #ffffffe6;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.key:active{transform:translateY(3px);box-shadow:inset 0 2px #ffffffe6;transition:none}.key.pressed{transform:scale(.94);transition:transform 55ms var(--ease-out)}.key.fn{background:var(--key-fn-face);color:var(--ink-mid);min-height:46px;font-size:17px}.key.lit{box-shadow:0 0 0 4px var(--gold-1),0 3px 0 var(--outline),inset 0 2px #ffffffe6}.key.lit:active{box-shadow:0 0 0 4px var(--gold-1),inset 0 2px #ffffffe6}.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;flex-wrap:wrap;gap:6px 10px;min-height:54px;margin-top:8px;padding:5px 10px;border:var(--ol-2) solid var(--outline-soft);border-radius:var(--r-md);background:linear-gradient(180deg,#fff,#f6f2ff);text-align:left}.hintrow .t{flex:1 1 auto;min-width:0}.hintrow .t b{display:block;font-size:18px;font-weight:800;color:var(--text);white-space:nowrap}.hintrow .t span{font-size:15px;color:var(--text-sub)}.hintrow .used{flex:none;padding-right:8px;color:var(--ok);font-size:22px;font-weight:800}.hintrow .hchip{flex:0 0 auto;margin-left:auto;white-space:nowrap;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:15px;font-weight:700}.hintrow .btn{flex:none;position:relative;min-height:44px;min-width:74px;padding:0 13px;border-radius:11px;font-size:18px;display:flex;align-items:center;justify-content:center;gap:5px}.hintrow .btn{box-shadow:0 3px 0 var(--outline),inset 0 2px 0 var(--btn-sheen)}.hintrow .btn:active:not(:disabled){transform:translateY(3px);box-shadow: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:14px;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:12px;font-weight:800}.btn .dur{color:#fff;font-size:15px;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:14px;font-weight:800;display:flex;align-items:center;justify-content:center}.popnote{margin-top:6px;font-size:14px;color:var(--text-sub);font-variant-numeric:tabular-nums}.stars{font-size:32px;letter-spacing:.12em;margin:6px 0 2px}.stars .off{filter:grayscale(1) brightness(1.15)}.starslot{display:inline-block;animation:starpop .3s var(--ease-out) backwards}@keyframes starpop{0%{transform:scale(.3);opacity:0}}.gain{margin-top:6px;font-size:19px;font-weight:700;color:var(--gold-ink)}.fire{display:block;font-size:34px;line-height:1}.streakbig{font-family:var(--font-display);font-size:24px;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:15px;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:linear-gradient(180deg,var(--gold-2),var(--flame));border-color:var(--outline);color:var(--gold-ink)}.cday.repaired{background:linear-gradient(180deg,var(--gold-2),var(--flame));border-color:var(--outline);color:var(--gold-ink);box-shadow:inset 0 0 0 2px var(--surface)}.cday.attempted{border:var(--ol-2) solid var(--flame);color:var(--flame)}.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)}.cday.full{position:relative}.cday.full:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:var(--ol-2) solid var(--ok);box-shadow:0 0 0 1px var(--surface);pointer-events:none}.callegend .cday.full:after{inset:-3px}.slotprog{display:inline-flex;align-items:center;gap:5px;vertical-align:middle;margin:0 0 0 8px}.slotprog i{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;border:var(--ol-1) solid var(--outline-soft);color:var(--text-sub)}.slotprog i.done{background:var(--lock-face);border-color:var(--lock);color:var(--lock)}.slotprog i.now{background:var(--aka-tint);border-color:var(--aka-1);color:var(--aka-2)}.modal .slotprog{display:flex;justify-content:center;margin:9px 0 0}.modal.calpop h3 .bal{display:block;font-size:18px;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:20px;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:14px;font-weight:700;color:var(--text-sub)}.callegend{display:flex;gap:14px;justify-content:center;align-items:center;margin-top:12px;font-size:15px;color:var(--text-sub)}.callegend span{display:flex;align-items:center;gap:4px}.callegend .cday{width:14px;height:14px;font-size:0}.topbar .title .hstreak .ic{--ic-base: var(--flame);--ic-hi: #ffe6b0;--ic-outline: #8a4413;margin-right:2px;vertical-align:-.17em}.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:27px;letter-spacing:.08em}.result p{margin-top:10px;font-size:18px;line-height:1.7;color:var(--text-sub)}.result .actions{flex-direction:column;padding:18px 0 0}
