:root{--page:#f6f0e6;--surface:#fffdf8;--ink:#25252a;--muted:#756e68;--line:#d8cdbd;--accent:#d94f70;--dark:#26354a;--mint:#a9d7c0;--gold:#e9b94d}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--page);color:var(--ink);font-family:'Nunito Sans',sans-serif}button,a{font:inherit;color:inherit}button{border:0;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.shell,#stage,#stage canvas{position:fixed;inset:0;width:100%;height:100%}#stage canvas{display:block}.skip{position:fixed;z-index:10;left:12px;top:-50px;padding:10px;background:var(--accent);color:white}.skip:focus{top:12px}.bar{position:fixed;z-index:3;top:12px;left:12px;right:12px;height:68px;display:grid;grid-template-columns:220px 1fr 120px;align-items:center;border-bottom:1px solid var(--line);background:var(--surface)}.brand{display:flex;gap:10px;align-items:center;padding-left:18px;font:600 14px/1 'Bree Serif',serif}.brand span{font-size:28px;color:var(--accent)}.hud{display:flex;justify-content:center;gap:28px;font:600 12px 'Bree Serif',serif}.hud span{display:grid;gap:4px;color:var(--muted)}.hud b{font-size:16px;color:var(--ink)}.pause{justify-self:end;margin-right:18px;padding:10px 12px;background:transparent;border:1px solid var(--line);font-size:12px}.pause:disabled{opacity:.45;cursor:default}.status{position:fixed;z-index:3;right:28px;top:94px;margin:0;padding:8px 11px;background:var(--dark);color:var(--surface);font:600 11px 'Bree Serif',serif;letter-spacing:.04em}.panel{position:fixed;z-index:4;left:7vw;top:50%;width:min(410px,40vw);transform:translateY(-46%);padding:29px 31px;background:var(--surface);border:1px solid var(--line);box-shadow:12px 14px 0 rgba(38,53,74,.1)}.eyebrow{margin:0 0 18px;color:var(--muted);font:600 11px 'Bree Serif',serif;letter-spacing:.08em}.panel h1{margin:0 0 19px;font:600 clamp(48px,5.4vw,76px)/.87 'Bree Serif',serif;color:var(--dark)}.panel>p:not(.eyebrow):not(.result){font-size:15px;line-height:1.5;margin:0 0 20px}.start{width:100%;padding:14px;background:var(--accent);color:white;font:600 17px 'Bree Serif',serif}.start:hover{background:var(--dark)}dl{margin:20px 0 16px;border-top:1px solid var(--line)}dl div{display:grid;grid-template-columns:70px 1fr;padding:8px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted);font:600 11px 'Bree Serif',serif}dd{margin:0;font-size:12px}.panel small{color:var(--muted);font-size:10px}.result{display:flex!important;justify-content:space-between;border-block:1px solid var(--line);padding:9px 0;margin-bottom:15px!important;font:600 12px 'Bree Serif',serif}.result b{font-size:24px;color:var(--accent)}.paused{position:fixed;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-3deg);padding:15px 22px;border:3px solid var(--accent);background:var(--surface);color:var(--accent);font:600 22px 'Bree Serif',serif}.controls{position:fixed;z-index:3;left:12px;right:12px;bottom:12px;height:70px;display:grid;grid-template-columns:1fr 1.2fr 1fr;background:var(--surface);border-top:1px solid var(--line)}.controls button{background:transparent;border-right:1px solid var(--line);font:32px 'Bree Serif',serif;touch-action:none}.controls button:nth-child(2){background:var(--accent);color:white}.controls small{display:block;font:600 10px 'Bree Serif',serif}.controls button:active{background:var(--dark);color:white}@media(max-width:700px){.bar{height:59px;grid-template-columns:1fr auto}.brand{padding-left:10px;font-size:12px}.brand span{font-size:22px}.hud{position:fixed;top:71px;left:12px;right:12px;height:28px;justify-content:space-around;background:var(--dark);gap:5px}.hud span{display:flex;gap:5px;color:#d8cdbd;font-size:10px}.hud b{color:white;font-size:11px}.hud span:nth-child(2){display:none}.pause{margin-right:8px;padding:8px}.status{top:109px;right:18px}.panel{left:12px;right:12px;bottom:94px;top:auto;width:auto;transform:none;padding:21px 20px}.panel h1{font-size:48px}.panel dl{display:none}.panel>p:not(.eyebrow):not(.result){font-size:14px;margin-bottom:15px}.controls{height:70px}}
