:root{font-family:ui-rounded,"Hiragino Sans GB","Microsoft YaHei",sans-serif;color:#273d43;background:#f6f1dc}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 10%,#ffedb9,transparent 55%),radial-gradient(circle at 95% 90%,#dcebd8,transparent 50%);min-height:100dvh;padding:18px max(12px,env(safe-area-inset-left)) calc(18px + env(safe-area-inset-bottom))}.game-page{max-width:760px;margin:0 auto}header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}h1{font-size:clamp(19px,4vw,28px);margin:0}a{color:#395b5b;text-decoration:none;white-space:nowrap;font-size:14px;min-height:36px;display:inline-flex;align-items:center}a:hover{text-decoration:underline}.stage-shell{position:relative;border:8px solid #fffdf4;border-radius:20px;overflow:hidden;background:#424271;box-shadow:0 14px 36px #253e341c}canvas{width:100%;height:auto;display:block;aspect-ratio:5/4;touch-action:none;outline:none}canvas:focus-visible{outline:3px solid #f8c15d;outline-offset:-3px}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#fff9e8;margin:0;font-size:18px}.instruction{text-align:center;font-size:14px;color:#607475;margin:16px 0}#error{color:#8d352e;text-align:center;background:#fff;padding:12px;border-radius:12px}*[hidden]{display:none!important}@media (max-width:680px){.instruction{font-size:12px;margin:12px 0}body{padding-top:12px}header{gap:8px;margin-bottom:12px}header a{font-size:12px}.stage-shell{border-width:4px;border-radius:14px}}@media (max-height:550px) and (orientation:landscape){body{padding:6px}.game-page{max-width:min(100%,760px)}header{margin-bottom:6px;min-height:30px}h1{font-size:17px}.stage-shell{width:min(100%,calc((100dvh - 54px)*5/4));margin:auto;border-width:4px}.instruction{display:none}}
