html,body{margin:0;height:100%;background:#0b0a12;color:#f5efe6;font:15px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden;overscroll-behavior:none}
#fa3-root{position:fixed;inset:0;touch-action:none;user-select:none;-webkit-user-select:none}
#fa3-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none}
#fa3-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#3a2a4a,#0b0a12 70%)}
#fa3-fallback svg{width:min(70vw,360px);height:auto;filter:drop-shadow(0 18px 30px #000a)}
.fa3-bar{position:absolute;top:0;left:0;right:0;display:flex;gap:8px;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 10px) 12px 10px;background:linear-gradient(#000a,#0000);pointer-events:none}
.fa3-bar>*{pointer-events:auto}.fa3-title{font-size:17px;letter-spacing:.04em;text-shadow:0 2px 8px #000}
.fa3-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 14px;border-radius:14px;border:1px solid #ffffff2e;background:#16121fcc;color:#fff;font:600 14px system-ui,sans-serif;text-decoration:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer}
.fa3-btn:hover,.fa3-btn:focus-visible{border-color:#ff9a3c;outline:none}.fa3-btn[aria-pressed=true]{background:#ff7a1a;border-color:#ffb470}
.fa3-emotes{position:absolute;right:12px;top:calc(env(safe-area-inset-top) + 66px);display:flex;flex-direction:column;gap:8px}
.fa3-help{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 14px);transform:translateX(-50%);padding:6px 12px;border-radius:10px;background:#000a;font-size:12px;white-space:nowrap}
.fa3-stick{position:absolute;left:22px;bottom:calc(env(safe-area-inset-bottom) + 26px);width:128px;height:128px;border-radius:50%;background:radial-gradient(#ffffff14,#ffffff08);border:2px solid #ffffff30;display:none}
.fa3-knob{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#ffb470 40%,#c2560c);box-shadow:0 6px 16px #0008}
.fa3-jump{position:absolute;right:22px;bottom:calc(env(safe-area-inset-bottom) + 40px);width:78px;height:78px;border-radius:50%;border:2px solid #ffffff40;background:radial-gradient(circle at 35% 30%,#ffd29a,#ff7a1a 55%,#9a3b06);color:#fff;font-size:30px;display:none}
.fa3-touch .fa3-stick,.fa3-touch .fa3-jump{display:block}.fa3-touch .fa3-help{display:none}
.fa3-panel{position:absolute;top:calc(env(safe-area-inset-top) + 64px);left:12px;bottom:12px;width:min(340px,calc(100vw - 24px));overflow:auto;padding:14px;border-radius:18px;background:#120f1aee;border:1px solid #ffffff22;box-shadow:0 20px 50px #000b;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);touch-action:pan-y}
.fa3-panel h3{margin:14px 0 6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#ffb470}
.fa3-panel label{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:8px;margin:6px 0;font-size:13px}
.fa3-panel input[type=range]{width:100%;accent-color:#ff7a1a;min-height:32px}
.fa3-panel input[type=text],.fa3-panel select{min-height:40px;border-radius:10px;border:1px solid #ffffff30;background:#0b0a12;color:#fff;padding:0 10px;font-size:14px}
.fa3-sw{display:flex;flex-wrap:wrap;gap:6px}.fa3-sw button{width:34px;height:34px;border-radius:50%;border:2px solid #ffffff30;cursor:pointer}.fa3-sw button[aria-pressed=true]{border-color:#fff;box-shadow:0 0 0 2px #ff7a1a}
.fa3-row{display:flex;gap:8px;margin-top:14px}.fa3-row .fa3-btn{flex:1}
.fa3-tier{position:absolute;right:10px;bottom:calc(env(safe-area-inset-bottom) + 8px);font-size:10px;opacity:.5}
.fa3-touch .fa3-tier{bottom:auto;top:calc(env(safe-area-inset-top) + 58px)}
.fa3-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0b0a12;font-weight:600;transition:opacity .4s}.fa3-loading.done{opacity:0;pointer-events:none}
@media (max-width:520px){.fa3-panel{top:auto;left:8px;right:8px;width:auto;max-height:58vh;bottom:8px}.fa3-emotes .fa3-btn{padding:0 10px;font-size:13px}}
@media (prefers-reduced-motion:reduce){.fa3-loading{transition:none}}
[hidden]{display:none!important}
/* Face lab */
.fa3-facelab{left:auto;right:12px}
.fa3-facelab label{grid-template-columns:130px 1fr}
.fa3-chips{display:flex;flex-wrap:wrap;gap:6px}
.fa3-chip{min-height:36px;padding:0 10px;border-radius:10px;border:1px solid #ffffff30;background:#0b0a12;color:#fff;font-size:13px;cursor:pointer;text-transform:capitalize}
.fa3-chip[aria-pressed=true]{background:#ff7a1a;border-color:#ff7a1a;color:#120f1a}
.fa3-facelab input[type=text]{width:100%;box-sizing:border-box;margin-bottom:6px}
.fa3-facelab .fa3-tg{display:flex;grid-template-columns:none;gap:6px}
.fa3-facelab details summary{cursor:pointer;margin:12px 0 4px;color:#ffb470;font-size:13px}
