:root{--sg-panel-1: #d7dee4;--sg-panel-2: #b9c4cd;--sg-frame: rgba(70, 92, 108, .3);--sg-glow: rgba(34, 184, 207, .45)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--sg-panel-1: #0e1a22;--sg-panel-2: #05090d;--sg-frame: rgba(56, 214, 255, .16);--sg-glow: rgba(55, 227, 255, .55)}}:root[data-theme=dark]{--sg-panel-1: #0e1a22;--sg-panel-2: #05090d;--sg-frame: rgba(56, 214, 255, .16);--sg-glow: rgba(55, 227, 255, .55)}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;touch-action:manipulation;overflow-x:hidden}#app{min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px}.game{width:min(94vw,440px);display:flex;flex-direction:column;gap:12px}.crumb{font-size:14px}.crumb a{color:var(--accent);text-decoration:none;font-weight:700}.crumb a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.title{font-size:clamp(24px,6.5vw,40px);font-weight:800;line-height:1;letter-spacing:-1px}.scores{display:flex;gap:8px}.score-box{background:var(--board-bg);color:var(--accent-text);border-radius:6px;padding:5px 10px;text-align:center;min-width:58px}.score-box .label{font-size:10px;text-transform:uppercase;letter-spacing:1px;opacity:.85;font-weight:700}.score-box .value{font-size:20px;font-weight:800;line-height:1.1}.bar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px}.hint{font-size:14px;font-weight:700;color:var(--accent)}.btns{display:flex;gap:8px}.board{position:relative;width:100%;margin:0 auto}.grid{display:grid;gap:3px;padding:8px;border-radius:16px;background:radial-gradient(120% 90% at 50% 12%,var(--sg-panel-1),var(--sg-panel-2) 84%),var(--sg-panel-2);border:1px solid var(--sg-frame);box-shadow:0 18px 44px -18px #00000073,inset 0 1px #ffffff0d}.cell{aspect-ratio:1 / 1;border:none;border-radius:5px;padding:0;background:transparent}.cell:not(.empty){cursor:pointer;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.55),rgba(255,255,255,.1) 42%,transparent 62%),linear-gradient(160deg,color-mix(in srgb,var(--c) 88%,#fff),var(--c) 55%,color-mix(in srgb,var(--c) 68%,#000));box-shadow:inset 0 1px 1px #fff6,inset 0 -2px 3px #00000047,0 1px 2px #00000040;transition:transform 90ms ease,box-shadow .12s ease,filter 90ms ease}.cell.empty{background:transparent;box-shadow:none;cursor:default}.cell.sel{transform:scale(.9);filter:brightness(1.15);box-shadow:0 0 0 2px #fff,0 0 10px 1px var(--sg-glow),inset 0 -2px 3px #00000047;z-index:2}.how{font-size:13px;opacity:.85}.how b{font-weight:700}.overlay{position:absolute;inset:0;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;background:var(--overlay-bg);z-index:10;opacity:0;pointer-events:none;transition:opacity .22s ease}.overlay.show{opacity:1;pointer-events:auto}.overlay .msg{font-size:clamp(26px,8vw,42px);font-weight:800;color:var(--accent);text-shadow:0 0 22px var(--sg-glow)}.overlay.show .msg{animation:sg-pop .56s cubic-bezier(.2,.9,.25,1)}.overlay .sub{font-size:15px;font-weight:700;opacity:.92}@keyframes sg-pop{0%{transform:scale(.6);opacity:0}45%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}.btn{background:var(--accent);color:var(--accent-text);border:none;border-radius:6px;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:filter .12s ease}.btn:hover{filter:brightness(1.05)}.btn:active{filter:brightness(.95)}.btn.ghost{background:var(--surface);color:var(--text);border:2px solid var(--line)}@media(prefers-reduced-motion:reduce){.cell,.overlay.show .msg{animation:none;transition:none}}
