html,body{margin:0;height:100%;overflow:hidden;background:#0d1016;font-family:system-ui,sans-serif;color:#fff}
#ui{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2;text-align:center}
#title{font-weight:600;text-shadow:0 1px 3px #000}#ver{font-weight:400;opacity:.8;font-size:.85em}
#buttons{display:flex;gap:8px}
button{padding:12px 18px;font-size:16px;border:1px solid #fff;background:rgba(0,0,0,.55);color:#fff;border-radius:8px;cursor:pointer}
button.primary{background:#2a7fff;border-color:#2a7fff}button:disabled{opacity:.45;cursor:default}
#hint{font-size:12px;opacity:.75;max-width:90vw}
#fatal{position:fixed;top:12px;left:50%;transform:translateX(-50%);max-width:90vw;background:#a32;color:#fff;padding:10px 14px;border-radius:6px;display:none;z-index:5;white-space:pre-wrap}
#options{position:fixed;top:12px;right:12px;width:min(360px,92vw);max-height:80vh;overflow:auto;background:rgba(10,14,22,.92);border:1px solid #2dd4bf;border-radius:8px;padding:10px 14px;display:none;z-index:4;font-size:14px}
#options h2{font-size:16px;margin:0 0 8px}
.opt{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:4px 0;border-bottom:1px solid #223}
.opt input[type=range]{width:120px}.opt output{min-width:32px;text-align:right}
.opt button,.optbar button{padding:4px 10px;font-size:14px}
.optbar{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
