*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
body{background:#100f26;color:#fff0ce;font-family:system-ui,sans-serif}
main{height:100dvh;max-width:1000px;margin:auto;padding:max(8px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom));display:grid;grid-template-rows:56px minmax(0,1fr) 92px;gap:6px}
header{display:flex;align-items:center;justify-content:space-between;gap:8px}
h1{font:25px Georgia,serif;margin:0}header p{margin:3px 0;font-size:12px;color:#c4b6d9}
#clock{font-size:24px;font-variant-numeric:tabular-nums}
#stage{position:relative;min-height:0;overflow:hidden;border:1px solid #9d795c;border-radius:18px;touch-action:none;background:#19172f}
canvas{display:block;width:100%;height:100%;touch-action:none}
#message{position:absolute;top:6px;left:6px;right:6px;margin:0;text-align:center;font-size:12px;padding:8px;background:#19172fd9;border-radius:12px;pointer-events:none}
footer{display:flex;flex-direction:column;gap:5px;justify-content:center}
footer p{margin:0;text-align:center;font-size:11px;line-height:1.5;color:#d5c9e2}
.controls{display:flex;align-items:center;justify-content:center;gap:10px}#rows{font-size:13px;min-width:65px}
button{min-width:64px;min-height:44px;padding:8px 12px;border:1px solid #bc9469;border-radius:12px;background:#393047;color:#fff0ce;font:inherit;font-size:13px;touch-action:manipulation}
button:focus-visible,#stage:focus-visible{outline:3px solid #ffdb8c;outline-offset:-3px}
#veil{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#171329eF;padding:20px;text-align:center}#veil[hidden]{display:none}
@media(orientation:landscape) and (max-height:500px){main{grid-template-columns:185px minmax(0,1fr);grid-template-rows:1fr 1fr}header{grid-column:1;align-self:end;flex-wrap:wrap;padding:8px}#stage{grid-column:2;grid-row:1/3}footer{grid-column:1;justify-content:start;padding-top:8px}.controls{flex-wrap:wrap;gap:6px}#rows{flex-basis:100%;text-align:center}h1{font-size:23px}}
main{grid-template-rows:56px minmax(0,1fr) 164px}header div{flex:1}h1{font-size:22px}header p{font-size:10px}.back{display:grid;place-items:center;min-width:44px;min-height:44px;color:inherit;text-decoration:none;border:1px solid #9d795c;border-radius:50%;font-size:23px}
.controls{flex-wrap:wrap;gap:5px}button{min-width:44px;padding:8px;font-size:12px}#rows{text-align:center;font-size:11px}#save-status{font-size:10px;min-height:14px;color:#d5bd92}button[aria-pressed=true]{background:#655040}
dialog{max-width:min(330px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;text-align:center;background:#241f38;color:#fff0ce;border:2px solid #bc9469;border-radius:22px;padding:18px}dialog::backdrop{background:#100e2455}dialog h2{font:25px Georgia,serif;margin:8px 0}dialog p{font-size:14px;line-height:1.5}dialog button{margin:3px}.seal{font-size:30px;color:#ffdb8c}#reward{color:#ffdb8c;font-weight:bold}
@media(orientation:landscape) and (max-height:500px){main{grid-template-rows:100px minmax(0,1fr)}header{padding:0;gap:5px;align-self:center}header div{flex-basis:120px}h1{font-size:20px}#clock{font-size:18px}footer{padding:0;gap:4px}.controls{gap:5px}footer p{font-size:10px}#save-status{font-size:9px}#rows{flex-basis:auto}}
