*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:#2C2C2A;font-family:-apple-system,system-ui,"Segoe UI",Tahoma,sans-serif;color:#2C2C2A;overflow:hidden;touch-action:manipulation;-webkit-user-select:none;user-select:none}
canvas{position:fixed;inset:0;width:100vw;height:100dvh;touch-action:none}
button{font:inherit;cursor:pointer;color:#2C2C2A}
.hidden{display:none!important}
.panel{position:fixed;inset:0;margin:auto;width:min(90vw,380px);height:fit-content;background:#fff;border-radius:20px;padding:24px;text-align:center;border:4px solid #2C2C2A}
.panel h1{margin:0 0 16px;font-size:24px}
.panel p{margin:8px 0}
#nm{width:100%;font-size:20px;padding:12px;border:3px solid #2C2C2A;border-radius:12px;text-align:center}
.cols{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:16px 0}
.sw{width:42px;height:42px;border-radius:8px;border:3px solid transparent}
.sw.on{border-color:#2C2C2A;transform:scale(1.15)}
.big{width:100%;font-size:22px;padding:14px;background:#EF9F27;border:3px solid #2C2C2A;border-radius:12px}
.big:disabled{opacity:.5}
.err{color:#A32D2D;min-height:1.2em}
.hint{font-size:13px;color:#5F5E5A}
.bar{position:fixed;left:0;right:0;bottom:0;display:flex;gap:8px;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(44,44,42,.88)}
#emotes{display:flex;gap:6px;flex:1;overflow-x:auto}
.bar button{font-size:24px;width:48px;height:48px;flex:none;border-radius:12px;border:0;background:#fff}
.score{color:#FAC775;font-size:20px;min-width:52px;text-align:center}
.gear{position:fixed;bottom:12px;left:12px;width:52px;height:52px;border-radius:50%;border:0;font-size:24px;background:rgba(255,255,255,.85)}
.tools{position:fixed;bottom:74px;left:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:rgba(255,255,255,.96);padding:12px;border-radius:16px;width:min(92vw,360px);max-height:calc(100dvh - 90px);overflow-y:auto}
.tools h3{grid-column:span 2;margin:4px 0 0;font-size:15px;text-align:right}
.tools .games{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.tools .games button{font-size:15px;padding:10px 4px;background:#FAEEDA}
.tools .wide{grid-column:span 2}
.tools .emo{grid-column:span 2;display:flex;gap:6px;justify-content:space-between}
.tools .emo button{flex:1;font-size:22px;padding:6px 0}
#auto.on{background:#C0DD97}
.tools button{font-size:16px;padding:12px 8px;border:2px solid #2C2C2A;border-radius:10px;background:#fff}
.tools button.on{background:#F7C1C1}
.tools label{grid-column:span 2;display:flex;gap:8px;align-items:center}
.tools label input{flex:1}
