:root{--bg: #05010f;--text: #f4ecff;--muted: #a893c4;--cyan: #38d6ff;--magenta: #ff4df0;--green: #5dff9b;--panel: rgba(10, 3, 28, .82);--line: rgba(56, 214, 255, .28)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overscroll-behavior:none}body{background:radial-gradient(60% 50% at 12% 0%,rgba(255,40,210,.16),transparent 60%),radial-gradient(55% 45% at 92% 6%,rgba(40,170,255,.14),transparent 60%),var(--bg)}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}.hud{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-shadow:0 0 18px rgba(56,214,255,.4)}.brand em{color:var(--cyan);font-style:normal;font-weight:600;letter-spacing:.22em}.brand .dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--magenta),var(--cyan));box-shadow:0 0 14px #ff4df0e6}.player-box{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.turn-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 10px #5dff9be6}.player-meta{display:flex;flex-direction:column;line-height:1.1}.player-meta strong{font-size:14px}.player-meta small{color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}button{pointer-events:auto;border:0;border-radius:999px;padding:9px 16px;font:inherit;font-weight:800;font-size:13px;cursor:pointer;color:#120022;background:linear-gradient(135deg,#ff3ed8,#7c2cff 55%,#2cc7ff)}button.ghost{background:#38d6ff14;border:1px solid rgba(56,214,255,.35);color:#eaf9ff;font-weight:700}.message{align-self:center;margin-top:auto;padding:8px 16px;border-radius:999px;border:1px solid rgba(56,214,255,.3);background:var(--panel);color:var(--text);font-size:14px;text-align:center;max-width:min(92vw,640px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.footer-hud{display:flex;flex-direction:column;gap:8px;align-items:center}.power{width:min(460px,72vw);height:8px;border-radius:999px;background:#ffffff14;border:1px solid rgba(56,214,255,.25);overflow:hidden}#power-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--magenta));box-shadow:0 0 14px #ff4df099;transition:width 60ms linear}.hint{margin:0;color:var(--muted);font-size:11px;text-align:center;max-width:640px}.winner{position:fixed;inset:0;display:grid;place-items:center;background:#03000cb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20}.winner.hidden{display:none}.winner-card{text-align:center;padding:30px 36px;border-radius:20px;border:1px solid rgba(255,77,240,.5);background:linear-gradient(180deg,#1e0846f2,#080218fa);box-shadow:0 30px 80px #000000b3,0 0 40px #ff4df033}.winner-kicker{margin:0 0 6px;color:var(--cyan);letter-spacing:.2em;text-transform:uppercase;font-size:11px;font-weight:700}.winner-card h1{margin:0 0 18px;font-size:26px}.winner-card button{padding:12px 24px}.icon-btn{width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(56,214,255,.35);background:#38d6ff14;color:#eaf9ff;font-size:17px;line-height:1}.icon-btn:hover{background:#38d6ff2e}.icon-btn svg{display:block}.view-label{position:fixed;top:max(62px,env(safe-area-inset-top));left:50%;z-index:18;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;pointer-events:none;opacity:0;transform:translate(-50%) translateY(-6px);transition:opacity .16s ease,transform .16s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.view-label.show{opacity:1;transform:translate(-50%) translateY(0)}.settings{position:fixed;top:max(64px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:30;width:min(380px,calc(100vw - 32px));max-height:min(80vh,760px);display:flex;flex-direction:column;overflow:hidden;color:var(--text);border:1px solid rgba(56,214,255,.35);border-radius:18px;background:linear-gradient(180deg,#12072cf7,#050212fa);box-shadow:0 24px 70px #000000a6,0 0 34px #38d6ff1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.settings-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px 13px 18px;border-bottom:1px solid rgba(56,214,255,.16)}.settings-head h2{margin:0;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.settings-body{padding:10px 18px 14px;overflow-y:auto;overscroll-behavior:contain}.settings-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 18px;border-top:1px solid rgba(56,214,255,.16);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.settings-foot button{padding:7px 13px;font-size:11px}.preset-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:2px 0 12px}.preset-label{margin-right:auto;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.preset{padding:6px 11px;font-size:11px;font-weight:700;border-radius:999px;border:1px solid rgba(56,214,255,.34);background:#38d6ff14;color:#eaf9ff}.preset:hover{background:#38d6ff2e}.panel-section{padding:12px 0 4px;border-top:1px solid rgba(255,255,255,.07)}.panel-section:first-of-type{border-top:0;padding-top:2px}.panel-section h3{margin:0 0 3px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}.section-hint{margin:0 0 10px;font-size:11px;line-height:1.35;color:var(--muted)}.slider-row{display:block;margin:0 0 12px}.slider-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:12px}.slider-top output{margin-left:auto;color:#eaf9ff;font-variant-numeric:tabular-nums}.slider-note{flex-basis:100%;font-size:10px;color:var(--muted)}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:20px;margin:6px 0 0;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(90deg,#38d6ff80,#ff4df080)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;border:0;background:#eaf9ff;box-shadow:0 0 10px #38d6ffd9}input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:linear-gradient(90deg,#38d6ff80,#ff4df080)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#eaf9ff;box-shadow:0 0 10px #38d6ffd9}.spin-wrap{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:calc(max(14px,env(safe-area-inset-bottom)) + 76px);z-index:15;display:flex;flex-direction:column;align-items:center;gap:6px;user-select:none;-webkit-user-select:none}.spin-pad{position:relative;width:84px;height:84px;border-radius:50%;cursor:crosshair;touch-action:none;outline:none;border:1px solid rgba(255,255,255,.65);background:radial-gradient(circle at 34% 28%,#fff,#f1ebde 58%,#cbc2b0);box-shadow:0 10px 24px #00000080,inset 0 -6px 14px #0003,0 0 18px #38d6ff2e}.spin-pad:focus-visible{box-shadow:0 0 0 3px #38d6ff8c,0 10px 24px #00000080}.spin-cross{position:absolute;background:#140a2824}.spin-cross-x{left:50%;top:11%;width:1px;height:78%}.spin-cross-y{top:50%;left:11%;height:1px;width:78%}.spin-dot{position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 35% 30%,#ff7ef0,#c31c9e 70%);box-shadow:0 0 10px #ff4df0cc,inset 0 -2px 4px #00000059;transform:translate(-50%,-50%)}.spin-caption{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.hidden{display:none!important}@media(max-width:620px){.hint{display:none}.brand{font-size:12px;letter-spacing:.12em}.player-box{padding:6px 8px}.message{font-size:13px}.spin-pad{width:68px;height:68px}.spin-dot{width:15px;height:15px}.spin-wrap{bottom:calc(max(14px,env(safe-area-inset-bottom)) + 58px)}.settings{top:max(58px,env(safe-area-inset-top));max-height:76vh}}
