:root{font-family:system-ui,sans-serif;color:#463d46;background:#f8f4ee}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit}button{min-height:46px;padding:10px 15px;border:1px solid #c6b9c3;border-radius:14px;background:#fffaf7;color:inherit;cursor:pointer}button:disabled{opacity:.5}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #29817f;outline-offset:3px}header,main{max-width:1120px;margin:auto;padding:22px}header{display:flex;justify-content:space-between;gap:18px;align-items:center}.brand{text-decoration:none;font:700 28px Georgia}.brand span{font-weight:400}.eyebrow{font-size:11px;letter-spacing:2.4px;color:#807078}.intro h1{font:clamp(32px,5vw,50px) Georgia;margin:12px 0}.intro p{line-height:1.6}.game-shell{border:1px solid #dacdd0;border-radius:25px;background:#fffcf6;padding:20px;margin:24px 0}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:20px}#audio-controls{margin-left:auto}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:28px}.board-zone{min-width:0}.board-caption{display:flex;justify-content:space-between;gap:8px;font-size:14px;margin-bottom:12px}.modes{display:flex;gap:8px;margin-bottom:12px}.modes button{flex:1}.modes [aria-pressed=true]{background:#496f6d;color:#fff;border-color:#496f6d;box-shadow:0 2px #284d4b}.scroll-board{max-width:100%;max-height:68dvh;overflow:auto;border-radius:16px;background:#e9dedc;padding:6px;overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-x pan-y}canvas{display:block;max-width:none;touch-action:pan-x pan-y;margin:auto}.board-note{font-size:12px;line-height:1.5;color:#77686e}aside{text-align:center;align-self:center;min-width:0}aside h2{font:27px Georgia}.mascot{height:160px;position:relative;width:210px;margin:auto}.mascot img{position:absolute;bottom:0;left:42px;border-radius:50%;border:6px solid #f4e4d8}.balloon{position:absolute;width:42px;height:52px;border-radius:50%;background:#dc8b91;left:12px;top:6px;transform:rotate(-15deg)}.balloon:after{content:"";position:absolute;height:65px;width:18px;top:48px;left:20px;border-left:1px solid #a28377;border-radius:50%}.b2{left:153px;top:0;background:#82b7b0;transform:rotate(15deg)}#message{min-height:66px;line-height:1.65}.stats{display:flex;justify-content:space-around;margin:18px 0;font-size:12px}.stats b{display:block;font-size:27px}.actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.primary{background:#76546f;color:#fff}#save-status{font-size:12px;line-height:1.5}details{padding:14px;line-height:1.7;margin-bottom:35px}dialog{max-width:min(450px,94vw);border:1px solid #c6b9c3;border-radius:20px;color:inherit;background:#fffaf5;padding:24px}dialog::backdrop{background:#2c22396b}dialog label{display:block;margin:18px 0}select,input{padding:8px;max-width:100%}#player-list{display:grid;gap:8px}.expanded-view{position:fixed;inset:0;z-index:1000;margin:0;border-radius:0;overflow:auto}.game-expanded{overflow:hidden}.game-shell:fullscreen{overflow:auto;width:100%;height:100%}@media(max-width:720px){header,main{padding:13px}.game-shell{padding:10px}.game-layout{grid-template-columns:1fr;gap:10px}.mascot,aside h2{display:none}.toolbar{flex-wrap:wrap}.intro p:last-child{font-size:14px}.board-note,.stats{margin:8px 0}#message{min-height:0;margin:8px 0}.modes button{padding:9px;font-size:14px}.board-caption{font-size:12px}}@media(prefers-color-scheme:dark){.game-shell,dialog{background:#23342c;border-color:#607967}button{background:#2e4338;color:#f0efdf;border-color:#607967}.primary{background:#c7a7be;color:#241d2a}.modes [aria-pressed=true]{background:#a5d2c9;color:#182d28}.scroll-board{background:#31473c}.board-note,.eyebrow{color:#c8c4b8}.mascot img{border-color:#52685b}}.zoom{display:flex;gap:8px;align-items:center;margin-bottom:12px}.zoom button{min-height:44px;padding:8px 12px}#zoom-out,#zoom-in{min-width:52px;font-size:20px;line-height:1}#zoom-level{min-width:66px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums;color:#77686e}#zoom-reset{flex:1;font-size:14px}#board{touch-action:none}@media(max-width:720px){.zoom{gap:6px;margin-bottom:8px}.zoom button{padding:8px;font-size:14px}#zoom-out,#zoom-in{min-width:46px;font-size:19px}#zoom-level{min-width:56px;font-size:12px}}@media(prefers-color-scheme:dark){#zoom-level{color:#c8c4b8}}.mobile-planck{display:none}.mascot{width:100%;height:auto;min-height:180px}.mascot img{position:static;width:100%;height:auto;max-height:240px;object-fit:contain;border:0;border-radius:18px}.intro{display:flow-root}@media(max-width:720px){.mobile-planck{display:block;float:right;width:120px;height:90px;object-fit:contain;border-radius:12px;margin:0 0 6px 10px}.intro .eyebrow{font-size:9px;line-height:1.7}.intro h1{font-size:30px}.intro p:last-child{clear:both}.mascot{display:none}}@media(max-width:360px){.mobile-planck{width:100px;height:85px}.intro h1{font-size:27px}}#practice-dialog{max-width:min(460px,96vw)}.practice-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.practice-head h2{margin:0}.practice-head button{min-width:44px;padding:10px}.practice-safe{font-size:12px;line-height:1.55;background:#efe7f0;border:1px solid #cbbccb;border-radius:12px;padding:9px 12px;margin:12px 0}.practice-step{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#807078;margin:0 0 4px}#practice-title{font:20px Georgia;margin:0 0 6px}#practice-copy{font-size:13px;line-height:1.6;margin:0 0 12px}#practice-modes{margin-bottom:12px}#practice-modes[hidden]{display:none}#practice-modes [aria-pressed=true]{background:#496f6d;color:#fff;border-color:#496f6d}.practice-board{display:grid;grid-template-columns:repeat(5,minmax(40px,1fr));gap:4px;margin-bottom:12px}.practice-cell{aspect-ratio:1;min-height:40px;padding:0;display:grid;place-items:center;font:700 18px/1 system-ui;border-radius:8px;background:#c0d2bc;border:1px solid #9db29a;color:#2b3b31}.practice-cell[data-state=closed],.practice-cell[data-state=bone]{background:#c0d2bc}.practice-cell[data-state=empty],.practice-cell[data-state=number]{background:#f6efe1;border-color:#d8cbb4}.practice-cell[data-state=pop]{background:#f6d7dc;border-color:#c58c97}.practice-cell[data-adjacent="1"]{color:#246180}.practice-cell[data-adjacent="2"]{color:#427535}.practice-cell[data-adjacent="3"]{color:#b53a4b}.practice-cell[data-adjacent="4"]{color:#765293}#practice-dialog .practice-cell.around{box-shadow:inset 0 0 0 2px #b08bbd}#practice-dialog .practice-cell.counter{box-shadow:inset 0 0 0 3px #7a4f8c}#practice-dialog .practice-cell.target{border-color:#835219;box-shadow:0 0 0 3px #d9a75f88}#practice-message{min-height:3.4em;font-size:13px;line-height:1.55;margin:0 0 10px}@media(max-width:420px){#practice-dialog{padding:14px}.practice-cell{font-size:16px}}@media(prefers-color-scheme:dark){.practice-safe{background:#2c4038;border-color:#5d7a68;color:#e6efe2}.practice-step{color:#c8c4b8}.practice-cell{background:#557865;border-color:#3f5d4d;color:#eef3e7}.practice-cell[data-state=closed],.practice-cell[data-state=bone]{background:#557865}.practice-cell[data-state=empty],.practice-cell[data-state=number]{background:#263f35;border-color:#44604f}.practice-cell[data-state=pop]{background:#5a3036;border-color:#96626c}.practice-cell[data-adjacent="1"]{color:#92ccef}.practice-cell[data-adjacent="2"]{color:#afd09b}.practice-cell[data-adjacent="3"]{color:#ffb1b5}.practice-cell[data-adjacent="4"]{color:#d2b5fa}#practice-dialog .practice-cell.around{box-shadow:inset 0 0 0 2px #d6b3e3}#practice-dialog .practice-cell.counter{box-shadow:inset 0 0 0 3px #e3c2f0}#practice-dialog .practice-cell.target{border-color:#ffe5a3;box-shadow:0 0 0 3px #ffe5a366}}
