:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#f2f5ff;background:#0b1020;--mint:#4bf2c0;--muted:#a2b1cf}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 1px 1px,#28425980 1px,transparent 1px) 0 0/43px 43px}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}button:focus-visible,canvas:focus-visible{outline:3px solid #ffe186;outline-offset:4px}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}main{max-width:1020px;margin:0 auto;display:grid;grid-template-columns:minmax(0,460px) minmax(230px,1fr);gap:70px;padding:32px 26px;align-items:center}.play{min-width:0}header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}h1{font-size:clamp(25px,3vw,37px);letter-spacing:-2px;margin:0;font-weight:900;font-style:italic;white-space:nowrap}h1 span{color:var(--mint)}h1 i{display:inline-block;color:var(--mint);font-size:13px;margin-left:9px;vertical-align:top;transform:translateY(7px)}.tools{display:flex;gap:8px}.tools button{background:none;border:1px solid #96a5bd;border-radius:10px;width:36px;height:36px;font-size:24px}.tools button:hover{background:#203047}.hud{display:flex;justify-content:space-between;margin:0 8px 13px;font-size:14px;font-weight:600}.hud b{font-size:25px;color:var(--mint);font-variant-numeric:tabular-nums;margin-left:5px}.board{border:2px solid #4bf2c0;border-bottom:0;border-radius:12px 12px 0 0;overflow:hidden;background:#0c1526;position:relative}canvas{width:100%;height:auto;display:block;aspect-ratio:7/10;touch-action:none}.primary{width:100%;min-height:48px;padding:10px;border:0;border-radius:0 0 12px 12px;background:var(--mint);color:#062c26;font-weight:800;font-size:16px}.primary:disabled{opacity:1;background:#163c37;color:#84e4cb}.hint{text-align:center;color:var(--muted);font-size:12px;min-height:18px;line-height:1.6;margin:10px 0}.actions{display:flex;gap:16px;justify-content:center}.actions button{background:#0b1526;border:1px solid #51e7de;border-radius:14px;min-height:44px;padding:8px 20px;flex:1;font-size:15px}.actions button:hover:not(:disabled){background:#17312f}aside h2{font-size:clamp(32px,4vw,49px);line-height:1.35;letter-spacing:-1px;margin:0 0 18px;font-weight:900}em{font-style:normal;color:var(--mint)}.intro{font-size:16px;font-weight:600}.legend{margin:38px 0}.legend>div{display:flex;gap:18px;align-items:center;margin:26px 0}.legend i{display:grid;place-items:center;flex:none;width:48px;height:48px;border:2px solid;border-radius:50%;font-style:normal;font-size:31px;line-height:1}.plus{color:#43ecee}.bomb{color:#ffdb6e}.sweep{color:#ff906f}.legend p{margin:0}.legend strong{font-size:19px;display:block}.legend span{font-size:13px;color:var(--muted);display:block;margin-top:6px}.note{border-top:1px solid #273449;padding-top:20px}.note>span{font-size:12px;color:var(--muted)}.note strong{display:block;color:#f0d686;margin-top:8px;font-size:18px}.note p,.keyboard{font-size:12px;line-height:1.9;color:var(--muted)}.event{font-size:13px;color:var(--mint);min-height:36px;line-height:1.8}.best{font-size:12px;color:var(--muted)}.best strong{font-size:22px;color:#fff;margin-left:12px}.prototype{font-size:11px;color:#61728c;margin-top:24px}#over{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:#080f21ed;padding:24px}#over h2{font-size:30px;margin:15px 0}#over p{color:var(--muted);line-height:1.8}#over button{border:0;background:var(--mint);color:#073b30;padding:13px 44px;border-radius:9px;font-weight:700;margin-top:14px}.over-label{color:var(--mint);font-size:13px}@media(max-width:700px){main{max-width:470px;display:block;padding:16px 14px 24px}header{margin-bottom:12px}h1{font-size:29px}.hud{font-size:12px}.hud b{font-size:22px}.board{max-height:none}aside{margin-top:32px}aside h2{font-size:30px}aside h2 br{display:none}.legend{display:flex;gap:10px;margin:20px 0}.legend>div{flex:1;display:block;margin:0}.legend i{width:34px;height:34px;font-size:22px;margin-bottom:10px}.legend strong{font-size:15px}.legend span{font-size:11px;line-height:1.6}.intro{font-size:14px}.note{padding-top:16px}.keyboard,.prototype{margin-bottom:0}.actions{gap:10px}.actions button{font-size:13px;padding:8px 10px}}

.split{color:#bb96ff}.mushroom{color:#ff83b5}.rescue{color:#79aaff}.legend{display:grid;grid-template-columns:1fr 1fr;gap:20px 12px;margin:26px 0}.legend>div{margin:0;gap:10px}.legend i{width:36px;height:36px;font-size:25px}.legend strong{font-size:16px}.legend span{font-size:12px;line-height:1.6}@media(max-width:700px){.legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}.legend>div{min-width:0}.legend strong{font-size:15px}.legend span{font-size:11px}}

.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0;font-size:12px;color:var(--muted)}.result-stats b{display:block;color:var(--mint);font-size:23px;margin-top:8px}.result-actions{display:flex;gap:8px;justify-content:center}#over .result-actions button{padding:10px 12px;font-size:12px;margin-top:0}#submit-status{font-size:12px}.rules{font-size:12px;color:var(--muted);line-height:1.7}.rank-button,dialog button{border:1px solid #4bf2c0;background:#16312f;border-radius:8px;padding:10px 16px}dialog{background:#0c1526;color:#f2f5ff;border:1px solid #4bf2c0;border-radius:16px;width:min(440px,90vw);max-height:80vh;padding:24px}dialog::backdrop{background:#050b17bb}dialog h2{font-size:23px;margin:0}dialog p{font-size:13px;color:var(--muted);line-height:1.7}dialog ol{padding:0;list-style:none}dialog li{padding:12px 0;border-bottom:1px solid #273449;overflow-wrap:anywhere}#over{overflow:auto}#over>div{width:100%}

/* Milk-yellow toy theme */
:root{color:#55462f;background:#fff8e8;--mint:#8aa958;--muted:#88795e}body{background:radial-gradient(ellipse at 85% 15%,#f5e6a0 0,transparent 45%),#fff8e8}main{align-items:start;gap:60px;padding-top:32px}.play{background:#fffdf4;padding:18px;border:1px solid #e8d9b6;border-radius:28px;box-shadow:0 12px 40px #99804415}h1{font-size:29px;letter-spacing:-1px;color:#69502a}h1 span,h1 i{color:#c29435}.tools button{border-color:#dfcda6;background:#fff8e8;color:#8b7141;border-radius:12px}.tools button:hover{background:#f4e8c8}.hud b{color:#967324}.board{background:#fff8e5;border:3px solid #dbc797;border-bottom:0;border-radius:18px 18px 0 0}canvas{aspect-ratio:7/11}.primary{background:#f3c858;color:#624923;border-radius:0 0 16px 16px;box-shadow:0 4px 0 #d5ac46}.primary:disabled{background:#efdfb3;color:#91794e}.actions button{background:#fffbef;border-color:#d9c498;color:#806a40}.actions button:hover:not(:disabled){background:#f5e9c7}aside{padding-top:16px}aside h2{font-size:40px;letter-spacing:-1.5px;margin-top:16px}em{color:#82994f}.brand-tag{display:inline-block;padding:7px 14px;border-radius:20px;background:#efe5bb;color:#8b7539;font-size:12px;letter-spacing:2px}.intro{color:#8d7d5f;font-weight:400}.note{border-color:#decdab}.note strong{color:#967324}.event{color:#728b43}.best strong{color:#8b6829}.rank-button,dialog button{background:#edf0d8;border-color:#bfcba0;color:#667541}.plus{color:#719b53}.bomb{color:#d3a12c}.sweep{color:#d68565}.split{color:#aa83c2}.mushroom{color:#d98b9f}.rescue{color:#739fbd}.prototype{color:#a1957d}#over{background:#fff9ebf5;padding:18px}#over h2{font-size:25px;margin:8px 0}#over p{color:#88795e}#over button{background:#ebc65e;color:#654e22}.over-label{display:block;color:#9a813f}.think-character{display:block;width:120px;height:120px;object-fit:contain;margin:0 auto 8px}.result-stats{margin:14px 0}.result-stats b{color:#82994f}dialog{background:#fffaf0;color:#55462f;border-color:#d5c197}dialog::backdrop{background:#5b4b2c55}dialog li{border-color:#e3d7bf}.result-actions{flex-wrap:wrap}#cheer{position:absolute;right:8px;top:35%;pointer-events:none;display:flex;flex-direction:column;align-items:center;animation:cheer-in .3s ease-out}#cheer img{width:100px;height:135px;object-fit:contain;animation:belly .22s ease-in-out infinite alternate}#cheer b{background:#fff7d5;border:1px solid #dfc05f;border-radius:20px;padding:8px 12px;font-size:12px;color:#98711e}@keyframes belly{to{transform:rotate(4deg) translateY(-3px)}}@keyframes cheer-in{from{opacity:0;transform:translateX(25px)}}@media(prefers-reduced-motion:reduce){#cheer,#cheer img{animation:none}}@media(max-width:700px){main{padding:10px}.play{padding:12px;border-radius:22px}h1{font-size:26px}aside{padding:0 12px}aside h2{font-size:30px}.think-character{width:90px;height:90px}#over h2{font-size:22px}.result-stats b{font-size:20px}}

.account-bar{display:flex;gap:8px;align-items:center;margin:0 0 8px}.account-bar button,.account-bar summary{font:inherit;font-size:12px;background:#f4edda;border:1px solid #ddcda8;border-radius:8px;padding:8px;color:#705c34;cursor:pointer}.account-bar details{position:relative;margin-left:auto}.account-bar details button{position:absolute;right:0;top:36px;width:120px;z-index:5;background:#fff8e8}#account-status,#account-nudge{font-size:11px;line-height:1.6;color:#82714e;margin:6px 0 14px}#account-nudge{background:#f4e4a4;padding:10px;border-radius:8px}

header h1{font-size:clamp(18px,2.1vw,26px);letter-spacing:-1px}.tools{flex-shrink:0}@media(max-width:380px){header h1{font-size:18px}.tools{gap:4px}}

aside .guide-title{font-size:20px;letter-spacing:0;margin:0 0 20px}.play-guide{border-top:1px solid #decdab;margin-top:20px;padding-top:16px;color:var(--muted);font-size:13px;line-height:1.8}.play-guide summary{cursor:pointer;color:#705c34}.event:empty{display:none}

.round-modifier{font-size:12px;background:#eee3f5;border:1px solid #ceb6df;color:#705081;border-radius:10px;padding:10px;margin:8px 0}#clear-toast{position:absolute;top:22%;left:8%;right:8%;z-index:4;text-align:center;font-size:22px;font-weight:bold;color:#597b30;background:#fff1b5ed;border:2px solid #d5b448;border-radius:18px;padding:18px 8px;pointer-events:none;box-shadow:0 0 30px #e9cd69aa;animation:clear-pop .4s ease-out}@keyframes clear-pop{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){#clear-toast{animation:none}}

#reward-toast{position:absolute;top:8%;left:12%;right:12%;z-index:4;background:#fff1b9ed;color:#946114;text-align:center;border-radius:16px;padding:12px;font-weight:bold;pointer-events:none}

.active-buffs{margin:8px 0;padding:9px 12px;border-radius:10px;background:#e3f1e8;color:#437465;font-size:12px}#reward-toast{font-size:clamp(12px,2vw,16px);line-height:1.5}@media(max-width:480px){.legend{grid-template-columns:repeat(2,minmax(0,1fr))}.legend>div{display:flex;gap:10px}.legend i{flex-shrink:0}.round-modifier{line-height:1.7}.legend span{font-size:12px}}

.legend .locked{opacity:.65}.legend .locked i{filter:grayscale(1);color:#8f8b82!important}.legend .locked strong{color:#817c70}.legend .locked span{color:#787365}

.release-footer{max-width:1020px;margin:0 auto;padding:0 26px 28px;color:var(--muted);font-size:12px;line-height:1.8}.release-footer details{border-top:1px solid #decdab;padding-top:12px}.release-footer summary{cursor:pointer;min-height:44px;padding:10px 0;color:#705c34}.release-footer summary span+span{margin-left:14px}.release-footer h3{font-size:14px;margin:10px 0 2px}.release-footer time{font-size:11px}.release-footer ul{padding-left:20px;margin:10px 0}.release-footer section+section{border-top:1px solid #decdab;margin-top:16px;padding-top:12px}@media(max-width:700px){.release-footer{max-width:470px;padding:0 22px 24px}}

/* Status overlays never change canvas geometry or intercept aiming. */
.board-status{position:absolute;top:8px;left:8px;right:8px;z-index:3;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px}.board-status .round-modifier,.board-status .active-buffs{margin:0;padding:6px 9px;max-width:100%;font-size:11px;line-height:1.5;box-shadow:0 2px 8px #55462f18}.board-status.compact{align-items:flex-end}.board-status.compact p{padding:3px 7px;opacity:.88}.board:has(#over:not([hidden])) .board-status{display:none}

#jackpot-toast{position:absolute;top:36%;left:6%;right:6%;z-index:5;padding:20px 12px;text-align:center;font-size:20px;font-weight:900;line-height:1.5;color:#805312;background:linear-gradient(135deg,#fff9c9,#ffdc70);border:3px solid #dda92e;border-radius:20px;box-shadow:0 0 35px #ffc84999;pointer-events:none;animation:clear-pop .4s ease-out}@media(prefers-reduced-motion:reduce){#jackpot-toast{animation:none}}
