*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#fff7e4;color:#253541;font-family:ui-rounded,"PingFang SC","Microsoft YaHei",sans-serif}body{padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}main{max-width:1000px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}h1{font-size:22px;margin:0}nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}button,a{font:inherit;color:inherit;border:1px solid #d5c5a1;border-radius:16px;background:#fffdf6;padding:9px 14px;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5}#stage{position:relative;width:100%;aspect-ratio:760/420;overflow:hidden;border-radius:16px;background:white;box-shadow:0 5px 20px #84744a18}canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:3px}#loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;background:#fff8e8}#loading[hidden],[hidden]{display:none!important}#notice{margin:12px 0;min-height:1.5em;font-size:14px;text-align:center}#touch-controls{display:flex;justify-content:center;gap:18px}#touch-controls button{min-width:85px;min-height:56px;touch-action:none;user-select:none;-webkit-user-select:none;font-size:22px;font-weight:700;background:#ffdc79}#touch-controls button[data-held=true]{background:#ffbd42;transform:translateY(2px)}@media (max-width: 500px){body{padding-top:8px}h1{font-size:19px}nav{gap:6px}nav a,nav button{padding:7px 10px;font-size:13px}header{gap:8px;margin-bottom:8px}#stage{border-radius:10px}#notice{font-size:12px}#touch-controls{gap:12px}#touch-controls button{min-width:78px}}@media (orientation: landscape) and (max-height: 550px){main{max-width:min(100%,calc((100dvh - 170px)*760/420))}header{margin-bottom:5px}h1{font-size:16px}#notice{margin:5px}#touch-controls button{min-height:40px;padding:4px 20px}}
@media (orientation: landscape) and (max-height: 550px){header{gap:6px}nav{gap:5px}nav a,nav button{padding:5px 8px;font-size:12px}}
