:root{color-scheme:light;--bg:#e9f1f5;--ink:#223c4d;--line:#bed5e0;--blue:#2876a3}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.shell{margin:auto;max-width:520px;padding:12px 12px 20px}header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}header strong{font-size:18px;letter-spacing:-.3px}header small{display:block;color:#608091;margin-top:3px;font-size:11px}.live{font-size:9px;font-weight:800;letter-spacing:.8px;color:#3b8e79;background:#d4f6e7;padding:7px;border-radius:20px;white-space:nowrap}nav{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}button{border:1px solid #c7dce4;border-radius:11px;background:#fff;color:#355368;padding:11px 6px;font-size:12px;font-weight:700;cursor:pointer}button.active{background:#286e98;color:white;border-color:#286e98}#stage{position:relative;margin:auto;width:100%;height:min(calc(100svh - 234px),690px);min-height:330px;max-height:660px;border:2px solid #fff;border-radius:18px;box-shadow:0 7px 21px #174b601d;background:#a4dfe9;overflow:hidden;touch-action:none}#game{position:absolute;inset:0}#game canvas{display:block;touch-action:none}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#bde3eb;color:#25495d;font-weight:700;text-align:center;padding:24px}.stats{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 0}.stats span{background:white;border:1px solid var(--line);padding:6px 8px;border-radius:8px;font-size:11px;font-variant-numeric:tabular-nums}.tip{font-size:13px;font-weight:700;text-align:center;margin-top:10px}.foot{font-size:11px;line-height:1.5;color:#718a99;margin:9px 4px 0}#stick{position:absolute;left:19px;bottom:24px;width:118px;height:118px;border-radius:50%;background:#12394a55;border:2px solid #ffffffa0;z-index:4;touch-action:none}#stick[hidden]{display:none!important}#knob{position:absolute;width:52px;height:52px;top:31px;left:31px;border-radius:50%;background:#effcffd9;border:3px solid #6aabbc;box-shadow:0 2px 8px #194a5970;pointer-events:none}@media(max-height:620px){#stage{height:min(calc(100svh - 195px),480px);min-height:240px}.foot{display:none}button{padding:8px 3px}}

.engine-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:9px}
.engine-switch a{display:block;padding:9px 8px;background:#fff;border:1px solid var(--line);border-radius:10px;text-align:center;text-decoration:none;color:#396078;font-weight:700;font-size:12px}
.engine-switch a.selected{background:#dcf3f9;border-color:#83c3d8;color:#155274}
.install{font-size:11px;line-height:1.4;color:#35705b;background:#e0f2e9;border-radius:9px;padding:9px 10px;margin-top:10px}
#game canvas{-webkit-user-select:none;user-select:none}
@media(max-height:700px){#stage{height:min(calc(100svh - 264px),540px);min-height:230px}.foot{display:none}.install{font-size:10px;padding:6px}}
