*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:radial-gradient(ellipse at top,#28305d,#100f2b);color:#fff3c4;font-family:system-ui,sans-serif}main{height:100dvh;max-width:1100px;margin:auto;padding:max(8px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom));display:grid;grid-template-rows:62px minmax(0,1fr) 108px;gap:6px}header,footer{display:flex;align-items:center;gap:9px}header div{flex:1}h1{font:500 21px Georgia,serif;margin:0}header p,footer p{margin:2px 0;font-size:11px}#clock{font-size:23px}.back{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #e3c777;border-radius:50%;color:inherit;text-decoration:none;font-size:22px}#stage{position:relative;min-height:0;overflow:hidden;border:2px solid #b99859;border-radius:22px;background:#1b2149;touch-action:none;box-shadow:inset 0 0 45px #e3c77722}canvas{display:block;width:100%;height:100%;touch-action:none}#message{position:absolute;z-index:2;top:8px;left:8px;right:8px;margin:0;padding:8px;border-radius:12px;background:#12132dcc;text-align:center;font-size:12px;pointer-events:none}footer{flex-direction:column;align-items:stretch;text-align:center;gap:4px}footer p{flex:1}.controls{display:flex;justify-content:center;gap:7px}button{min-width:70px;min-height:44px;border:1px solid #e3c777;border-radius:13px;background:#38355f;color:#fff3c4;font:inherit;touch-action:manipulation}button:focus-visible,#stage:focus-visible{outline:3px solid #fff0a0;outline-offset:-3px}#veil{position:absolute;z-index:5;inset:0;background:#11132be8;display:grid;place-content:center;text-align:center}#veil[hidden]{display:none}#resume{min-width:130px}dialog{max-width:min(340px,calc(100vw - 24px));text-align:center;background:#fff2c7;color:#25234b;border:2px solid #bd8d41;border-radius:22px;padding:20px}dialog::backdrop{background:#10112b99}dialog h2{font:26px Georgia,serif}dialog button{color:#fff} @media(orientation:landscape) and (max-height:500px){main{grid-template-columns:190px minmax(0,1fr);grid-template-rows:100px minmax(0,1fr)}header{grid-column:1;align-self:center}#stage{grid-column:2;grid-row:1/3}footer{grid-column:1;justify-content:center}h1{font-size:18px}#clock{font-size:18px}}
