:root{--canvas:#fff4e8;--light:#fffaf3;--ink:#432a1c;--muted:#94775f;--soft-text:#a1856d;--surface:#fff7ed;--panel:#f5e5d4;--line:#ead5bf;--frame:linear-gradient(145deg,#f8e2cf,#fff5e9);--empty:linear-gradient(145deg,#f0dbc5,#fbeadb 68%,#fff1e4);--inset:inset 1px 2px 3px #aa7c4a48,inset -1px -1px 1px #fffaf3;--lift:0 3px 2px #d4b597,0 7px 12px #b9885d22,inset 0 2px 1px #fff;--accent:#7fa94e;--accent-ink:#29431b;--glow:#ffe69a;--spark-0:#92bc60;--spark-1:#58bde5;--spark-2:#ffc93d;--spark-3:#f38d60}
:root[data-theme="sea"]{--canvas:#edf7f5;--light:#f8fffe;--ink:#294e50;--muted:#5b7c7e;--soft-text:#648887;--surface:#f2fcfa;--panel:#dfefed;--line:#bedbd6;--frame:linear-gradient(145deg,#d6eae7,#f6fffd);--empty:linear-gradient(145deg,#d5e6e3,#e7f3f0 70%,#f1fcf9);--inset:inset 1px 2px 3px #547f8145,inset -1px -1px 1px #fff;--lift:0 3px 2px #aacbc5,0 7px 12px #416d7020,inset 0 2px 1px #fff;--green:linear-gradient(145deg,#b8eadb99,#79c3aecc 45%,#509d89e8);--blue:linear-gradient(145deg,#b8eaf799,#82cedecc 45%,#4d9fb8e8);--yellow:linear-gradient(145deg,#e8f0be99,#c3ce97cc 45%,#9aaa70e8);--coral:linear-gradient(145deg,#ddd8f899,#b1b1dccc 45%,#8588b8e8);--accent:#68a99a;--accent-ink:#214c40;--glow:#d6fff2;--spark-0:#80c4ae;--spark-1:#76bdd2;--spark-2:#c4ce95;--spark-3:#aaa5d4}
:root[data-theme="sunset"]{--canvas:#fff0e7;--light:#fff8ef;--ink:#613b42;--muted:#9c6b6d;--soft-text:#b17f7b;--surface:#fff5ec;--panel:#f7e0d6;--line:#ebc7b8;--frame:linear-gradient(145deg,#f4d8c9,#fff2e6);--empty:linear-gradient(145deg,#edcdbf,#f9e4d9 70%,#fff0e7);--inset:inset 1px 2px 3px #9c645a48,inset -1px -1px 1px #fff6ee;--lift:0 3px 2px #d4ad9d,0 7px 12px #a7616720,inset 0 2px 1px #fff6ed;--green:linear-gradient(145deg,#e6c8a5,#c7a271 45%,#a57c56);--blue:linear-gradient(145deg,#d9caeb,#ad9acb 45%,#8876ac);--yellow:linear-gradient(145deg,#ffdfa1,#ffc267 45%,#e99b44);--coral:linear-gradient(145deg,#ffbbb0,#e98a85 45%,#c96b73);--accent:#cf8e73;--accent-ink:#59322b;--glow:#ffe4bd;--spark-0:#c6a274;--spark-1:#ad9bca;--spark-2:#ffc269;--spark-3:#e88b86}
:root[data-theme="night"]{color-scheme:dark;--canvas:#19232e;--light:#243340;--ink:#e9e9e2;--muted:#afbdc6;--soft-text:#97aab7;--surface:#293946;--panel:#2d3d49;--line:#435562;--frame:linear-gradient(145deg,#344551,#253440);--empty:linear-gradient(145deg,#17232e,#24333f 70%,#2b3c48);--inset:inset 1px 2px 4px #080f19aa,inset -1px -1px 1px #53667555;--lift:0 3px 2px #0e1821,0 7px 14px #080d1855,inset 0 1px 1px #677d8a66;--green:linear-gradient(145deg,#a2d2bb,#77b499 45%,#4b8a74);--blue:linear-gradient(145deg,#a3c9e7,#73a7d1 45%,#4c7ca8);--yellow:linear-gradient(145deg,#ebd59c,#d1b674 45%,#aa8c4f);--coral:linear-gradient(145deg,#d4b3cc,#b68dac 45%,#8f698c);--accent:#8fc4b0;--accent-ink:#18392f;--glow:#c1efd7;--spark-0:#77b49a;--spark-1:#73a7d1;--spark-2:#d1b674;--spark-3:#b68daf}
html,body{color:var(--ink);background:var(--canvas)}body{background:radial-gradient(ellipse at 50% 38%,var(--light),var(--canvas) 76%)}button{color:var(--ink)}.label,.home-top>span,.home-subtitle,.home-best,.level-card>div:first-child>span,.level-card p,.quest-top,#hint,.footnote,.text-button,.score-caption,.result-grid span,.record-note,.legacy-note,.last-caption,.help-note{color:var(--muted)}.home-best strong{color:var(--ink)}.best-stat{border-color:var(--line)}.board-wrap{background:var(--frame);border-color:var(--surface);box-shadow:var(--lift)}.cell{background:var(--empty);box-shadow:var(--inset)}.slot{background:linear-gradient(145deg,var(--surface),var(--panel));border-color:var(--surface);box-shadow:var(--lift)}.slot:not(:disabled):hover{background:var(--surface)}.slot.used{background:var(--panel);box-shadow:var(--inset);border-color:var(--line);opacity:.55}.soft-button{background:var(--frame);border-color:var(--surface);box-shadow:var(--lift)}.pause span{background:var(--ink);box-shadow:none}.small-button,.level-card,.quest-card{background:var(--surface);border-color:var(--line);color:var(--ink)}.action{background:var(--panel);border-color:var(--surface);box-shadow:var(--lift)}.action.primary{background:var(--green);color:var(--accent-ink);box-shadow:var(--lift)}.action.quiet{background:transparent;border-color:var(--line);color:var(--muted);box-shadow:none}.progress-track{background:var(--panel)}.progress-track>span{background:var(--accent)}.quest-card.complete,.quest-result.done{background:var(--panel);border-color:var(--accent);color:var(--accent)}.quest-card.complete .quest-top,.quest-body>span{color:var(--accent)}dialog{color:var(--ink);background:linear-gradient(145deg,var(--surface),var(--canvas));border-color:var(--line)}#modal-description,.modal-mark{color:var(--muted)}.result-grid>div,.quest-result{background:var(--panel);border-color:var(--line)}.last-caption{border-color:var(--line)}#toast{background:var(--canvas);color:var(--ink)}.points{color:var(--ink);text-shadow:0 2px 3px var(--canvas)}.home-links{display:grid;grid-template-columns:1fr 1fr;gap:9px}.home-links .action{font-size:12px;padding:10px 5px}
.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-option{min-width:0;padding:9px 9px 12px;border:1px solid var(--line);border-radius:17px;background:var(--surface);text-align:left;display:flex;flex-direction:column;gap:8px}.theme-option[aria-pressed="true"]{outline:2px solid var(--accent);outline-offset:1px}.theme-option:disabled{opacity:.62}.theme-swatches{height:56px;width:100%;display:flex;justify-content:center;align-items:center;gap:3px;border-radius:10px}.theme-swatches i{width:18px;height:24px;border-radius:6px;box-shadow:inset 0 1px 2px #ffffffb0,0 2px 2px #0003}.theme-option strong{font-size:12px}.theme-option>span:last-child{font-size:10px;line-height:1.5;color:var(--muted)}
.cell.will-clear::after{content:"";position:absolute;inset:0;border:2px solid var(--glow);border-radius:9px;background:color-mix(in srgb,var(--glow) 42%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--glow) 65%,transparent),inset 0 0 8px var(--glow);pointer-events:none;z-index:2}.cell.will-clear .block{filter:brightness(1.12)}
#combo-banner{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:5;opacity:0;font-size:clamp(25px,7vw,38px);font-weight:900;font-style:italic;color:var(--ink);text-shadow:0 0 12px var(--glow),0 2px 0 var(--surface)}#combo-banner.show{animation:combo .9s ease-out both}.board-wrap.combo-active{outline:2px solid var(--glow);outline-offset:3px}#record-badge{position:fixed;top:max(12px,env(safe-area-inset-top),var(--mini-safe-top,0px));left:50%;transform:translate(-50%,-20px);padding:10px 18px;border-radius:22px;border:1px solid var(--accent);background:var(--surface);color:var(--ink);font-size:13px;font-weight:750;box-shadow:0 5px 18px #0002;opacity:0;pointer-events:none;z-index:20;transition:opacity .2s,transform .2s;white-space:nowrap}#record-badge.show{opacity:1;transform:translate(-50%,0)}
@keyframes combo{0%{opacity:0;transform:scale(.8)}18%{opacity:1;transform:scale(1.05)}35%,65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){#combo-banner.show{animation:none;opacity:1}.theme-swatches i{box-shadow:none}#record-badge{transition:none}}
