*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#000;color:#eee;font:15px/1.5 system-ui,-apple-system,"Segoe UI","Malgun Gothic",sans-serif;overflow:hidden}
#c{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}
.menu{position:fixed;inset:0;overflow:auto;padding:24px 16px 40px;background:rgba(8,10,16,.88);backdrop-filter:blur(6px)}
.menu>*{max-width:560px;margin-left:auto;margin-right:auto}
.menu[hidden]{display:none}
h1{font-size:24px;margin:8px auto 6px}
.sub{color:#b8c0cc;margin-top:0}
fieldset{border:1px solid #2c3340;border-radius:12px;padding:10px 14px;margin-top:14px;margin-bottom:0}
legend{padding:0 6px;color:#9aa5b5;font-size:13px}
.choices{display:grid;gap:8px}
.choices label{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:8px;background:#141923;cursor:pointer}
.choices label:has(input:checked){outline:2px solid #4f8cff}
.choices small{color:#8d97a6}
[hidden]{display:none!important}
details{margin-top:14px;background:#141923;border-radius:12px;padding:10px 14px}
details label{display:grid;grid-template-columns:1fr auto;gap:4px 10px;margin:10px 0}
details input{grid-column:1/-1;width:100%}
button{font:inherit;border-radius:10px;border:1px solid #3a4352;background:#1b2130;color:#eee;padding:10px 16px;cursor:pointer}
.primary{display:block;width:100%;margin-top:18px;background:#3b6fe0;border-color:#3b6fe0;font-size:17px;font-weight:600;padding:14px}
.ghost{background:rgba(0,0,0,.45)}
.msg{min-height:1.5em;color:#ffcf6b}
.foot{color:#7d8796;font-size:12px}
.hud{position:fixed;top:max(10px,env(safe-area-inset-top));left:10px;right:10px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.hud>*{pointer-events:auto}
.hud[hidden]{display:none}
#sceneTitle{background:rgba(0,0,0,.45);padding:6px 10px;border-radius:8px;font-size:14px}
