:root{--paper:#e9f0e3;--ink:#1f3a2e;--ink-soft:#4f6b5d;--line:#b9c9b3;--fence:#6e2f4e;--fence-soft:#c9a6b8;--well:#d9a441;--heard:#f3d58a;--bad:#c4452e;--bad-bg:#f8dad3;--early-bg:#fff3c4;--early-ink:#8a6d1a;--cell:#fbfdf9;--hdr-h:48px;--tab-h:56px;--gutter:20px;--pop:.28s;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--board-size:min(100vw - 24px, 60dvh);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body.t-autumn{--paper:#f3e7d3;--ink:#4a2e1b;--ink-soft:#8a6a50;--line:#d9c3a5;--cell:#fff8ee;--heard:#f5c97a;--well:#c9762a;--fence:#7b3a2e;--fence-soft:#d8a99a}body.t-snow{--paper:#eef3f7;--ink:#243447;--ink-soft:#5f7186;--line:#c9d6e2;--cell:#fff;--heard:#fbe6a8;--well:#c89a3c;--fence:#4a5fa8;--fence-soft:#b8c2e6}body.t-rain{--paper:#e3eaed;--ink:#22333b;--ink-soft:#566b75;--line:#bccbd1;--cell:#f6fafb;--heard:#cbe1e8;--well:#7fa8b8;--fence:#3e5c6b;--fence-soft:#a9c2cc;--early-bg:#e7efd8;--early-ink:#5a6b3a}body.t-dawn{--paper:#f8ede6;--ink:#4a3345;--ink-soft:#86697c;--line:#e2cdc7;--cell:#fff9f5;--heard:#fad9b8;--well:#e08e5a;--fence:#8a4a6b;--fence-soft:#d7b0c2;--early-bg:#fbebcf;--early-ink:#8a5a2a}body.t-night{--paper:#1b2430;--ink:#eaf0e6;--ink-soft:#a9b7ae;--line:#3a4756;--cell:#243040;--heard:#8c6b24;--well:#e0b24e;--fence:#d48ab5;--fence-soft:#7a4e6a;--bad:#f08a78;--bad-bg:#4a2a2a;--early-bg:#4a4020;--early-ink:#f0d080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);-webkit-text-size-adjust:100%;overscroll-behavior:none;margin:0;font-family:Hiragino Maru Gothic ProN,Zen Maru Gothic,"Rounded Mplus 1c",BIZ UDPGothic,Yu Gothic,system-ui,sans-serif;overflow:hidden}button,input,textarea{font:inherit;color:inherit}b{font-weight:700}#app{flex-direction:column;width:100%;max-width:520px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (min-width:900px){#app{box-shadow:0 0 0 1px var(--line)}}.hdr{height:calc(var(--hdr-h) + var(--safe-t));padding-top:var(--safe-t);flex:none;justify-content:space-between;align-items:center;padding-left:14px;padding-right:12px;display:flex}.hdr-title{letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;overflow:hidden}.hdr-right{gap:6px;display:flex}.hdr-chip{background:var(--cell);border:1.5px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:3px 10px 3px 8px;font-size:13px;font-weight:700;display:inline-flex}.hdr-chip svg{color:var(--well)}.hdr-chip[hidden]{display:none}.screens{flex:1;min-height:0;position:relative}.screen{-webkit-overflow-scrolling:touch;position:absolute;inset:0;overflow:hidden auto}.screen[hidden]{display:none}.pad{padding:8px 12px 24px}.tabbar{height:calc(var(--tab-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--cell);border-top:1px solid var(--line);flex:none;display:flex}body.no-tabs .tabbar{display:none}.tab{min-width:44px;color:var(--ink-soft);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:0;font-size:10.5px;display:flex;position:relative}.tab.active{color:var(--ink);font-weight:700}.tab.active:before{content:"";background:var(--ink);border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:18%;right:18%}.tab-play svg{transform:translateY(-1px)}.tab .badge{background:var(--bad);border-radius:50%;width:7px;height:7px;display:none;position:absolute;top:8px;left:calc(50% + 8px)}.tab.has-badge .badge{display:block}.tab:focus-visible,.btn:focus-visible,.edge:focus-visible,.stage:focus-visible,.seg:focus-visible,.menu-item:focus-visible,.input:focus-visible{outline:3px solid var(--well);outline-offset:2px}.btn{border:1.5px solid var(--ink);background:var(--cell);min-height:44px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;line-height:1.2;display:inline-flex}a.btn{text-decoration:none}.btn.primary{background:var(--ink);color:var(--paper)}.btn.ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn.big{padding:12px 24px;font-size:16px}.btn.chip{min-height:36px;padding:4px 14px}.btn.chip.active{background:var(--ink);color:var(--paper)}.btn:disabled{opacity:.4;cursor:default}.btn.price{white-space:nowrap;min-height:36px;padding:4px 12px}.shop-row .row{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin:0}.row{align-items:center;gap:8px;margin:8px 0;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.row.center{justify-content:center}.sub{color:var(--ink-soft);margin:6px 0;font-size:13px;line-height:1.7}.sub.mono{word-break:break-all;font-family:ui-monospace,Menlo,monospace;font-size:11.5px}.prose{margin:10px 0;font-size:14.5px;line-height:1.85}.voice{color:var(--ink-soft);border-left:3px solid var(--well);margin:8px 0;padding-left:10px;font-size:13.5px;line-height:1.7}.input{border:1.5px solid var(--ink);background:var(--cell);border-radius:999px;width:100%;max-width:280px;min-height:44px;padding:8px 14px}.input.select{width:auto;min-width:160px}.card{background:var(--cell);border:1.5px solid var(--line);border-radius:14px;margin:12px 0;padding:12px 14px}.card-title{align-items:baseline;gap:8px;margin:0 0 8px;font-size:15px;display:flex}.card-sub{color:var(--ink-soft);font-size:12px;font-weight:400}.card-sub-title{color:var(--ink-soft);margin:12px 0 6px;font-size:13.5px}.bar-track{background:var(--line);border-radius:999px;height:8px;margin:6px 0 8px;overflow:hidden}.bar-fill{background:var(--well);height:100%;transition:width .6s}.screen-play{flex-direction:column;display:flex}.play-stage{flex-direction:column;align-items:center;gap:6px;padding:6px 12px 10px;display:flex}.play-stage[hidden]{display:none}.status{width:100%;color:var(--ink-soft);justify-content:space-between;align-items:baseline;padding:0 4px;font-size:14px;display:flex}.hearts{letter-spacing:2px;color:var(--bad);font-size:17px}.clock,.fences{font-variant-numeric:tabular-nums}.fences b{color:var(--fence)}.board-wrap{justify-content:center;width:100%;display:flex}.board{width:var(--board-size);height:var(--board-size);background-color:color-mix(in srgb, var(--line) 22%, var(--cell));background-image:radial-gradient(color-mix(in srgb, var(--line) 30%, transparent) 1px, transparent 1.3px);border:3px solid var(--ink);touch-action:manipulation;-webkit-user-select:none;user-select:none;background-size:11px 11px;border-radius:14px;padding:8px;display:grid;position:relative}.cell{font-size:clamp(14px, calc(var(--board-size) / 14), 26px);border-radius:8px;justify-content:center;align-items:center;font-weight:700;transition:background .25s,color .25s;display:flex;position:relative}.board[data-n="6"] .cell{font-size:clamp(12px, calc(var(--board-size) / 17), 22px)}.board[data-n="3"]{--board-size:min(100vw - 24px, 38dvh)}.cell .tile{pointer-events:none;opacity:var(--tile-ink,.3);position:absolute;inset:0}.cell .tile svg{width:100%;height:100%;display:block}.cell:after{content:"";pointer-events:none;z-index:2;border-radius:8px;transition:background .25s;position:absolute;inset:0}.cell .n{z-index:3;text-shadow:0 1px 0 var(--cell), 0 -1px 0 var(--cell), 1px 0 0 var(--cell), -1px 0 0 var(--cell), 1px 1px 0 var(--cell), -1px 1px 0 var(--cell), 1px -1px 0 var(--cell), -1px -1px 0 var(--cell);position:relative}.cell.src{background:color-mix(in srgb, var(--well) 28%, transparent);color:var(--ink)}.cell.hidden-day .n{color:var(--ink-soft);font-size:.8em}.cell.hit{animation:.6s ease-out glow;box-shadow:0 0 14px 4px #f3d58abf}.cell.hit:after{background:color-mix(in srgb, var(--heard) 38%, transparent)}.cell.late,.cell.cut{color:var(--bad);animation:.35s ease-out wrongPulse}.cell.late:after,.cell.cut:after{background:color-mix(in srgb, var(--bad-bg) 70%, transparent)}.cell.early:after{background:color-mix(in srgb, var(--early-bg) 70%, transparent)}.cell.late .n:after,.cell.cut .n:after{content:"×";color:var(--bad);font-size:.55em;position:absolute;top:-.6em;right:-.7em}.cell.early .n:after{content:"↑";color:var(--early-ink);font-size:.55em;position:absolute;top:-.6em;right:-.7em}.cell.focus{box-shadow:0 0 0 3px var(--well) inset}.edge{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:4px;position:relative}.edge .line{background:var(--line);pointer-events:none;border-radius:3px;transition:background .15s;position:absolute}.edge.eh .line{width:2px;top:5px;bottom:5px;left:50%;transform:translate(-50%)}.edge.ev .line{height:2px;top:50%;left:5px;right:5px;transform:translateY(-50%)}@media (hover:hover){.edge:hover .line{background:var(--fence-soft)}}.edge.on .line{background:var(--fence)}.edge.eh.on .line{background:repeating-linear-gradient(180deg, var(--fence) 0 7px, color-mix(in srgb, var(--ink) 55%, var(--fence)) 7px 9px)}.edge.ev.on .line{background:repeating-linear-gradient(90deg, var(--fence) 0 7px, color-mix(in srgb, var(--ink) 55%, var(--fence)) 7px 9px)}.edge.eh.on .line{width:6px;top:2px;bottom:2px}.edge.ev.on .line{height:6px;left:2px;right:2px}.edge.on:after{content:"";background:var(--fence);opacity:.3;pointer-events:none;border-radius:2px;position:absolute}.edge.eh.on:after{width:2px;top:2px;bottom:2px;left:50%;transform:translate(-6px)}.edge.ev.on:after{height:2px;top:50%;left:2px;right:2px;transform:translateY(-6px)}.edge.pop.eh .line{animation:fencePopH var(--pop) cubic-bezier(.2,1.6,.4,1)}.edge.pop.ev .line{animation:fencePopV var(--pop) cubic-bezier(.2,1.6,.4,1)}@keyframes fencePopH{0%{opacity:.5;transform:translate(-50%)scale(1.6,.3)}60%{transform:translate(-50%)scale(.85,1.35)}to{transform:translate(-50%)scale(1)}}@keyframes fencePopV{0%{opacity:.5;transform:translateY(-50%)scale(.3,1.6)}60%{transform:translateY(-50%)scale(1.35,.85)}to{transform:translateY(-50%)scale(1)}}.edge.target .line{background:var(--well);animation:1.1s ease-in-out infinite pulse}.edge.eh.target .line{width:6px;top:2px;bottom:2px}.edge.ev.target .line{height:6px;left:2px;right:2px}.edge.answer .line{background:var(--well)}.edge.eh.answer .line{width:6px;top:2px;bottom:2px}.edge.ev.answer .line{height:6px;left:2px;right:2px}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes glow{0%{transform:scale(.92);box-shadow:0 0 #d9a441e6}50%{transform:scale(1.06)}to{transform:scale(1);box-shadow:0 0 14px 4px #f3d58abf}}@keyframes wrongPulse{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}.dust{background:var(--fence-soft);pointer-events:none;z-index:2;border-radius:50%;width:4px;height:4px;animation:.5s ease-out forwards dust;position:absolute}@keyframes dust{0%{opacity:.9;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.3)}}.board.shake{animation:.32s linear shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(calc(var(--shk,5px) * -1), calc(var(--shk,5px) * .4))}40%{transform:translate(var(--shk,5px), calc(var(--shk,5px) * -.4))}60%{transform:translate(calc(var(--shk,5px) * -.8), calc(var(--shk,5px) * -.2))}80%{transform:translate(calc(var(--shk,5px) * .6), calc(var(--shk,5px) * .4))}}.msg-row{width:100%;min-height:2.8em}.msg{font-size:13.5px;line-height:1.6}.msg.win{font-weight:700}.msg.err{color:var(--bad)}.msg .rumor{color:var(--ink-soft);font-size:12.5px;font-weight:400}.btn.next[hidden],.btn.share-res[hidden]{display:none}.actions{gap:6px;width:100%;display:flex}.btn.act{border-radius:12px;flex-direction:column;flex:1;gap:2px;min-height:44px;padding:6px 4px;font-size:12.5px}.btn.act svg{display:block}.btn.act .count{color:var(--well);font-size:11px;font-weight:700;position:absolute;top:4px;right:8px}.btn.act{position:relative}.btn.act.iconic{flex:0 0 48px}.empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.empty[hidden]{display:none}.tut-card{background:var(--cell);border:2px solid var(--well);z-index:3;border-radius:14px;padding:12px 14px;position:absolute;bottom:10px;left:12px;right:12px;box-shadow:0 8px 24px #0000002e}.tut-card[hidden]{display:none}.tut-step{color:var(--ink-soft);margin-bottom:4px;font-size:12px}.tut-text{margin:0 0 8px;font-size:14.5px;line-height:1.7}.tut-card .row{margin:0}.tut-card .btn[hidden]{display:none}.streak-chip{background:var(--cell);border:1.5px solid var(--line);border-radius:12px;align-items:center;gap:8px;margin:8px 0 4px;padding:8px 12px;font-size:13px;line-height:1.5;display:flex}.streak-chip .flame{font-size:18px}.streak-chip .streak-text{flex:1}.streak-chip .streak-best{color:var(--ink-soft);white-space:nowrap;font-size:12px}.board.edit{--board-size:min(100vw - 24px, 52dvh)}.board.edit .cell{cursor:pointer}.board.edit .cell .n{font-size:.9em}.board.edit .cell.cut{background:var(--bad-bg)}.verdict{min-height:1.6em;margin:4px 0;font-size:13.5px;line-height:1.6}.verdict.ok{color:#3e9a5e;font-weight:700}.verdict.warn{color:var(--early-ink)}.verdict.bad{color:var(--bad)}label.chk{align-items:center;gap:6px;display:inline-flex}.btn.price.active{background:var(--well);border-color:var(--well);color:#1f3a2e}.progress-row{justify-content:space-between;margin-top:8px;font-size:14px;font-weight:700;display:flex}.chapters{flex-direction:column;gap:4px;display:flex}.chapter{margin:10px 0 2px}.chapter.locked{opacity:.62}.chapter-head{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;padding-top:10px;display:flex}.chapter-title{letter-spacing:.04em;margin:0;font-size:15px}.chapter-count{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:13px}.stages{grid-template-columns:repeat(6,1fr);gap:8px;margin:10px 0 4px;display:grid}.stage{aspect-ratio:1;border:1.5px solid var(--ink);background:var(--cell);color:var(--ink);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:44px;padding:0;display:flex}.stage .no{font-size:16px;font-weight:700}.stage .lv{color:var(--ink-soft);font-size:10px}.stage.done{background:var(--heard);border-color:var(--well);color:#1f3a2e}.stage.done .lv{color:#5b4a1a}.stage.cur{background:var(--ink);color:var(--paper)}.stage.cur .lv{color:var(--paper);opacity:.8}.stage.locked{opacity:.35;cursor:default}.segment{background:var(--cell);border:1.5px solid var(--line);border-radius:12px;gap:4px;margin:10px 0;padding:4px;display:flex}.seg{min-width:0;min-height:40px;color:var(--ink-soft);cursor:pointer;word-break:keep-all;overflow-wrap:normal;text-overflow:ellipsis;background:0 0;border:0;border-radius:9px;flex:1;padding:4px 2px;font-size:clamp(10.5px,3.2vw,12.5px);line-height:1.35;overflow:hidden}.seg.active{background:var(--ink);color:var(--paper);font-weight:700}.segment.scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.segment.scroll::-webkit-scrollbar{display:none}.segment.scroll .seg{white-space:nowrap;text-overflow:ellipsis;flex:1 0 auto;max-width:11em;padding:4px 12px;overflow:hidden}.segment.small{background:0 0;border-color:#0000;gap:2px;margin:0 0 8px;padding:0 4px}.segment.small .seg{border-bottom:2px solid #0000;border-radius:0;min-height:34px;font-size:clamp(10px,3.05vw,12px)}.segment.small .seg.active{color:var(--ink);border-bottom-color:var(--well);background:0 0;font-weight:700}.segment[hidden],.row[hidden],.btn[hidden]{display:none}.board-status{color:var(--ink-soft);align-items:center;gap:6px;margin:6px 0 2px;font-size:12px;display:flex}.board-status:before{content:"";background:var(--line);border-radius:50%;width:8px;height:8px}.board-status.online:before{background:#3e9a5e}.board-status.connecting:before{background:var(--well)}.board-status.error:before{background:var(--bad)}.mine{color:var(--ink);font-weight:700}.card.weekly{border-color:var(--well)}.title-chip{background:var(--well);color:#1f3a2e;white-space:nowrap;border-radius:999px;padding:3px 12px;font-size:12.5px;font-weight:700}.title-list{margin:8px 0 0;padding:0;font-size:13.5px;list-style:none}.title-list li{border-top:1px solid var(--line);padding:6px 0}.title-list li:first-child{border-top:0}.date{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.rank-board{margin:8px 0;overflow-x:auto}.rank{border-collapse:collapse;width:100%;font-size:13.5px}.rank th,.rank td{border-bottom:1px solid var(--line);text-align:left;padding:7px 6px}.rank td.n{text-align:right;font-variant-numeric:tabular-nums}.rank tr.me td{background:var(--early-bg);font-weight:700}.scene{border:2px solid var(--ink);background:var(--cell);border-radius:14px;width:100%;overflow:hidden}.scene svg{width:100%;height:auto;display:block}.vil-row{justify-content:space-between;align-items:baseline;margin:10px 0 2px;font-size:14px;display:flex}.vil-row b{font-size:22px}.blist{grid-template-columns:repeat(2,1fr);gap:6px 12px;font-size:13px;display:grid}.blist .hint{color:var(--ink-soft);margin-left:6px;font-size:11.5px}.blist .lock{opacity:.45}.farm{justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.coin-chip{background:var(--well);color:#1f3a2e;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:700}.shop-row{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:8px 10px;padding:8px 0;font-size:13.5px;display:grid}.shop-row:first-of-type{border-top:0}.shop-row .desc,.menu-item .desc,.ach-list .desc{color:var(--ink-soft);margin-top:2px;font-size:12px}.themes{flex-wrap:wrap;gap:8px;display:flex}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px 14px;font-size:13.5px;display:grid}.stat .label{color:var(--ink-soft);font-size:12px}.stat b{font-size:18px}.creed{margin:4px 0;padding-left:1.2em;font-size:13.5px;line-height:1.7}.ach-list{margin:0;padding:0;list-style:none}.ach-list li{border-top:1px solid var(--line);align-items:baseline;gap:10px;padding:8px 0;font-size:14px;display:flex}.ach-list li:first-child{border-top:0}.ach-list li .ic{text-align:center;flex:none;width:22px}.ach-list li.locked{opacity:.5}.tune-row{grid-template-columns:8em 1fr 3.5em;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:grid}.tune-row input[type=range]{width:100%;min-height:32px}.tune-row .val{text-align:right;font-variant-numeric:tabular-nums}.json{border:1.5px solid var(--line);background:var(--paper);width:100%;color:var(--ink);resize:vertical;border-radius:10px;margin:6px 0;padding:8px;font:12px ui-monospace,Menlo,monospace}.px-flow{animation:px-flow var(--dur) steps(var(--steps)) infinite}@keyframes px-flow{0%{transform:translate(0)}to{transform:translate(var(--fx), var(--fy))}}.px-steam{opacity:0;animation:px-steam var(--dur) linear infinite;animation-delay:var(--t)}@keyframes px-steam{0%{opacity:0;transform:translate(0)}20%{opacity:.9}60%{opacity:.5;transform:translate(1px, calc(var(--rise) * -.6))}to{opacity:0;transform:translate(-1px, calc(var(--rise) * -1))}}.px-flag{animation:px-swap var(--dur) linear infinite}.px-flag.b{animation-delay:calc(var(--dur) / -2)}@keyframes px-swap{0%,49.9%{opacity:1}50%,to{opacity:0}}.px-mill{transform-origin:var(--ox) var(--oy);animation:px-mill var(--dur) steps(6) infinite}@keyframes px-mill{0%{transform:rotate(0)}to{transform:rotate(90deg)}}.px-lamp{opacity:.12;animation:px-lamp var(--d) ease-in-out infinite alternate;animation-delay:var(--t)}@keyframes px-lamp{0%{opacity:.12}to{opacity:.85}}.px-walk{animation:px-walk var(--dur) steps(var(--steps)) infinite;animation-delay:var(--delay)}@keyframes px-walk{0%{transform:translateX(var(--from))}to{transform:translateX(var(--to))}}.px-bob{animation:px-bob var(--bob) steps(2) infinite}@keyframes px-bob{0%{transform:translateY(0)}to{transform:translateY(-1px)}}.px-hop{animation:.62s steps(2,end) infinite px-hop;animation-delay:var(--t)}@keyframes px-hop{0%{transform:translateY(0)}to{transform:translateY(-2px)}}.px-spark{opacity:0;animation:1.8s steps(6,end) infinite px-spark;animation-delay:var(--t)}@keyframes px-spark{0%{opacity:0;transform:translateY(2px)}25%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.postcard{border:1.5px solid var(--line);border-radius:12px;width:100%;height:auto;margin-bottom:8px;display:block}.dev .card-sub-title{margin-top:18px}.dev-rest>div:first-child .card-sub-title{margin-top:4px}.dev-rest{border-top:1px solid var(--line);margin-top:10px;padding-top:2px}.dev-sign{text-align:right;margin-top:16px}.result .scene{margin-bottom:10px}.result-built{text-align:center;background:var(--heard);color:var(--ink);border:2px solid var(--well);border-radius:12px;margin:0 0 10px;padding:10px 12px;font-weight:700}.result-pop{justify-content:space-between;align-items:baseline;font-size:14px;display:flex}.result-pop b{font-size:22px}.result-gain{color:var(--well);font-variant-numeric:tabular-nums;font-weight:700}.result-notes{flex-wrap:wrap;gap:6px;margin:2px 0 4px;display:flex}.result-note{background:var(--cell);border:1.5px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:2px 9px;font-size:12px}.result-line{align-items:baseline;gap:8px;margin:8px 0;font-size:14px;line-height:1.6;display:flex}.result-mark{flex:none}.result-away{color:var(--ink-soft);margin-left:8px;font-size:13px}.result-rumor{color:var(--ink-soft);margin:10px 0 2px;font-size:13px;line-height:1.7}.result-actions{z-index:1;background:var(--cell);margin:12px 0 0;padding:8px 0;position:sticky;bottom:-1px}.result-todo{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.result-tomorrow{margin-top:10px}.warn-note{background:var(--early-bg);color:var(--early-ink);border-radius:10px;margin:8px 0;padding:10px 12px;font-size:13px;line-height:1.7}.welcome-restore{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.steps{margin:6px 0 10px;padding-left:1.4em;font-size:14px;line-height:1.7}.steps li{padding:4px 0}.steps li svg{vertical-align:-4px;color:var(--ink-soft);margin-right:6px}.code{letter-spacing:.18em;text-align:center;background:var(--paper);border:1.5px dashed var(--line);border-radius:12px;margin:6px 0 10px;padding:12px;font-family:ui-monospace,Menlo,monospace;font-size:30px}.sub.cloud-synced{color:#3e9a5e}.sub.cloud-error{color:var(--bad)}.welcome{text-align:left;flex-direction:column;align-items:center;padding:32px 22px 40px;display:flex}.welcome-mark{background:var(--well);color:#1f3a2e;border:3px dashed #1f3a2e59;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:34px;font-weight:700;display:flex}.welcome-title{letter-spacing:.06em;margin:16px 0 0;font-size:30px}.welcome-sub{color:var(--ink-soft);margin:4px 0 12px}.welcome-actions{flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:16px;display:flex}.menu{flex-direction:column;gap:6px;display:flex}.menu-item{border:1.5px solid var(--line);background:var(--paper);min-height:48px;color:var(--ink);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;font-size:15px;display:flex}.menu-item:disabled{opacity:.4;cursor:default}.sheet-root{pointer-events:none;z-index:20;position:absolute;inset:0;overflow:hidden}.sheet-wrap{pointer-events:auto;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.sheet-backdrop{opacity:0;background:#00000073;transition:opacity .22s;position:absolute;inset:0}.sheet{background:var(--cell);color:var(--ink);padding:6px 14px calc(14px + var(--safe-b));touch-action:none;border-radius:18px 18px 0 0;flex-direction:column;max-height:80%;transition:transform .22s cubic-bezier(.2,.9,.3,1);display:flex;position:relative;transform:translateY(100%);box-shadow:0 -8px 30px #0003}.sheet-wrap.show .sheet-backdrop{opacity:1}.sheet-wrap.show .sheet{transform:translateY(0)}.sheet-grip{background:var(--line);border-radius:2px;width:40px;height:4px;margin:4px auto 8px}.sheet-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.sheet-title{font-size:16px;font-weight:700}.sheet-close{min-height:36px;padding:4px 10px}.sheet-body{touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow-y:auto}.ad-body{background:repeating-linear-gradient(135deg, var(--line) 0 10px, var(--paper) 10px 20px);height:120px;color:var(--ink-soft);border-radius:10px;justify-content:center;align-items:center;margin:6px 0 10px;font-size:13px;display:flex}.toast{left:12px;right:12px;top:calc(var(--hdr-h) + var(--safe-t) + 8px);background:var(--ink);width:-moz-fit-content;width:fit-content;max-width:calc(100% - 24px);color:var(--paper);opacity:0;pointer-events:none;z-index:30;text-align:center;border-radius:20px;margin-inline:auto;padding:10px 18px;font-size:13.5px;line-height:1.55;transition:opacity .25s,transform .25s;position:absolute;transform:translateY(-12px);box-shadow:0 6px 20px #0000002e}.toast.show{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.edge.pop .line,.board.shake,.cell.hit,.cell.late,.cell.cut,.dust,.edge.target .line{animation:none}.edge.target .line{opacity:1}.cell,.edge .line,.bar-fill,.sheet,.sheet-backdrop,.toast{transition:none}.px-flow,.px-steam,.px-flag,.px-mill,.px-lamp,.px-walk,.px-bob,.px-hop,.px-spark{animation:none}.px-lamp{opacity:.55}.px-steam{opacity:.5}.px-spark{opacity:.8}.px-flag.b{opacity:0}}@media (max-height:700px){:root{--board-size:min(100vw - 24px, 56dvh)}.play-stage{gap:4px}.msg{min-height:2.2em;font-size:13px}}.site-links{flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:18px 2px 4px;display:flex}.site-links .site-link{color:var(--ink-soft);text-underline-offset:3px;font-size:13px}
