:root{--hud-top: max(14px, env(safe-area-inset-top));--hud-seat-bottom: 158px;--hud-dice-bottom: 70px;--hud-band-top: .2;--hud-band-bottom: .28;--red: #e23a4e;--green: #1faa63;--yellow: #f0b429;--blue: #2d7ff0;--accent: #e8c257;--accent-soft: #f7e0a3;--ink: #eef1fb;--ink-dim: #a3abc9;--glass: rgba(20, 25, 48, .72);--glass-line: rgba(255, 255, 255, .12);--glass-hi: rgba(255, 255, 255, .06);--card-a: rgba(30, 38, 72, .94);--card-b: rgba(13, 17, 36, .96);--radius: 18px;--shadow: 0 24px 60px rgba(0, 0, 0, .55);--font: "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Arabic", Roboto, Arial, sans-serif}*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:99px;border:3px solid transparent;background-clip:content-box;transition:background .2s}*::-webkit-scrollbar-thumb:hover{background:#ffffff4d;background-clip:content-box}*::-webkit-scrollbar-corner{background:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#04060c;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#backdrop{position:absolute;inset:0;z-index:0;background-color:#05070f;background-image:var(--backdrop-image, none),var(--backdrop-css);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat;transition:background-image .4s ease}#backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 90% 55% at 50% 50%,transparent 35%,rgba(0,0,0,.45) 100%),linear-gradient(to bottom,rgba(0,0,0,.5) 0%,transparent 22%,transparent 70%,rgba(0,0,0,.62) 100%)}#stage{position:fixed;top:0;left:50%;transform:translate(-50%);height:100dvh;width:min(100vw,56.25dvh);overflow:hidden;background:#04060c;box-shadow:0 0 0 1px #ffffff12,0 30px 90px #000c}#scene{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;touch-action:none}#ui{position:absolute;inset:0;pointer-events:none;z-index:10}#ui[hidden]{display:none}#ui>*{pointer-events:auto}#preloader{position:absolute;inset:0;z-index:100;display:grid;place-content:center;justify-items:center;gap:18px;background:radial-gradient(ellipse at 50% 40%,#141a33,#05070f 70%);transition:opacity .5s ease}#preloader.is-gone{opacity:0;pointer-events:none}#preloader[hidden]{display:none}.preload-title{margin:0;font-size:30px;font-weight:800;letter-spacing:.08em}.preload-title em{font-style:normal;background:linear-gradient(180deg,var(--accent-soft),var(--accent) 55%,#a97c1c);-webkit-background-clip:text;background-clip:text;color:transparent}.preload-bar{width:200px;height:5px;border-radius:99px;background:#ffffff1a;overflow:hidden}.preload-bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--accent-soft),var(--accent));transition:width .3s ease}.preload-status{margin:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}#noWebgl{position:absolute;inset:0;z-index:101;display:grid;place-items:center;padding:24px;background:#05070f}#noWebgl[hidden]{display:none}.screen{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 50% 40%,#080b1899,#03050ceb);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:fade-in .3s ease both;overflow-y:auto;z-index:20}.screen[hidden]{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}.menu-card{width:min(420px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:26px 26px 22px;border-radius:24px;background:linear-gradient(160deg,var(--card-a),var(--card-b));border:1px solid var(--glass-line);box-shadow:var(--shadow),inset 0 1px #ffffff17;animation:rise-in .4s cubic-bezier(.22,1,.36,1) both;text-align:center;mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.menu-card.wide{width:min(520px,100%)}.menu-card.compact{width:min(340px,100%)}.menu-card h2{margin:0 0 18px;font-size:24px;font-weight:800;letter-spacing:.02em}.brand{margin-bottom:22px}.brand-mark{width:74px;height:74px;margin:0 auto 14px;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-radius:20px;background:linear-gradient(150deg,#232c52,#131834);border:1px solid var(--glass-line);box-shadow:inset 0 1px #ffffff1f,0 10px 26px #00000073;transform:rotate(-8deg)}.pip{border-radius:50%;box-shadow:inset 0 -2px 4px #00000059,0 0 10px currentColor}.pip.red{background:var(--red);color:var(--red)}.pip.green{background:var(--green);color:var(--green)}.pip.blue{background:var(--blue);color:var(--blue)}.pip.yellow{background:var(--yellow);color:var(--yellow)}.brand h1{margin:0;font-size:38px;font-weight:800;letter-spacing:.02em;line-height:1.05;text-transform:uppercase;background:linear-gradient(180deg,#fff,#c8d2f0);-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{margin:8px 0 0;color:var(--ink-dim);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.field{margin-bottom:16px;text-align:start}.field>label{display:block;margin-bottom:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}.segmented{display:flex;gap:5px;padding:5px;border-radius:14px;background:#080b1a99;border:1px solid var(--glass-line)}.segmented.wrap{flex-wrap:wrap}.segmented.wrap button{flex:1 1 30%}.segmented.tight{padding:3px;gap:3px}.segmented button{flex:1;padding:10px 6px;border:0;border-radius:10px;background:transparent;color:var(--ink-dim);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s,color .18s,transform .12s}.segmented button small{display:block;margin-top:2px;font-size:10px;font-weight:500;opacity:.7}.segmented.tight button{padding:7px 4px;font-size:11px}.segmented button:hover{color:var(--ink)}.segmented button.is-active{background:linear-gradient(160deg,#ffffff29,#ffffff0f);color:#fff;box-shadow:inset 0 1px #fff3}.segmented button:active{transform:scale(.96)}.text-input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--glass-line);background:#080b1a99;color:var(--ink);font-family:inherit;font-size:15px}.text-input:focus{outline:none;border-color:var(--accent)}.seats{display:flex;flex-direction:column;gap:7px}.seat-row{display:flex;align-items:center;gap:10px;padding:5px 8px 5px 10px;border-radius:13px;background:#ffffff09;border:1px solid var(--glass-line)}.seat-row .segmented{flex:1;background:transparent;border:0}.seat-dot{width:16px;height:16px;border-radius:50%;flex:none;box-shadow:inset 0 -2px 3px #0006}.switch-list{display:flex;flex-direction:column;gap:2px;text-align:start}.switch-row{display:flex;align-items:center;gap:12px;padding:11px 2px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05)}.switch-row:last-child{border-bottom:0}.switch-row>span{flex:1;min-width:0}.switch-row b{display:block;font-size:14px;font-weight:600}.switch-row small{display:block;margin-top:2px;font-size:11px;color:var(--ink-dim)}.switch-row input{position:absolute;opacity:0;pointer-events:none}.switch{flex:none;width:44px;height:26px;border-radius:99px;background:#ffffff21;position:relative;transition:background .22s}.switch:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .22s cubic-bezier(.22,1,.36,1);box-shadow:0 2px 5px #00000059}.switch-row input:checked~.switch{background:var(--accent)}.switch-row input:checked~.switch:after{transform:translate(18px)}[dir=rtl] .switch-row input:checked~.switch:after{transform:translate(-18px)}.slider-row{padding:0 2px 12px}.slider-row input[type=range]{width:100%;height:4px;border-radius:99px;appearance:none;background:#ffffff24;outline:none}.slider-row input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 2px 6px #0006}.slider-row input[type=range]::-moz-range-thumb{width:18px;height:18px;border:0;border-radius:50%;background:var(--accent);cursor:pointer}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.theme-swatch{padding:8px;border-radius:14px;border:2px solid transparent;background:#ffffff0a;color:var(--ink);font-family:inherit;cursor:pointer;transition:transform .16s,border-color .18s,background .18s}.theme-swatch:hover{transform:translateY(-2px);background:#ffffff1a}.theme-swatch.is-active{border-color:var(--accent);background:#ffffff1f}.theme-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:9px 7px;border-radius:9px;margin-bottom:6px}.theme-preview i{height:15px;border-radius:4px;box-shadow:inset 0 -1px 2px #00000059}.theme-name{font-size:11px;font-weight:600}.btn-primary{width:100%;margin-top:8px;padding:15px;border:0;border-radius:15px;font-family:inherit;font-size:16px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#2a1e02;cursor:pointer;background:linear-gradient(180deg,var(--accent-soft),var(--accent) 45%,rgba(0,0,0,.25));background-blend-mode:normal;box-shadow:0 10px 26px #00000059,inset 0 1px #fff9,inset 0 -3px #0003;transition:transform .14s,filter .2s}.btn-primary:hover{filter:brightness(1.07);transform:translateY(-2px)}.btn-primary:active{transform:translateY(1px)}.btn-ghost{width:100%;margin-top:8px;padding:12px;border-radius:13px;border:1px solid var(--glass-line);background:transparent;color:var(--ink-dim);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .18s,color .18s}.btn-ghost:hover{background:var(--glass-hi);color:var(--ink)}.menu-links{display:flex;flex-direction:column;gap:0;margin-top:14px}.btn-primary.alt{background:linear-gradient(180deg,#7fd6ff,#2f9fe0 45%,#00000040);color:#04222f}.btn-ghost.strong{border-color:#ffffff47;color:var(--ink);font-weight:700}.code-field{margin-top:18px}.code-input{text-align:center;font-size:26px;font-weight:800;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase}.room-code{display:block;width:100%;margin:4px 0 18px;padding:16px 12px 12px;border-radius:18px;border:1px dashed rgba(255,255,255,.25);background:#ffffff0d;color:var(--ink);font-family:inherit;cursor:pointer;transition:background .2s,border-color .2s,transform .12s}.room-code:hover{background:#ffffff1a;border-color:var(--accent)}.room-code:active{transform:scale(.98)}.room-code span{display:block;font-size:38px;font-weight:800;letter-spacing:.22em;text-indent:.22em;color:var(--accent);text-shadow:0 2px 14px rgba(0,0,0,.5)}.room-code small{display:block;margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.lobby-status{min-height:20px;margin-bottom:12px;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--ink-dim)}.lobby-status.is-live{color:#7ce8b0}.lobby-status.is-warn{color:#ffd67a}.lobby-roster{list-style:none;margin:0 0 16px;padding:0;text-align:start}.lobby-roster li{display:flex;align-items:center;gap:11px;padding:11px 13px;margin-bottom:7px;border-radius:13px;background:#ffffff0d;border:1px solid var(--glass-line);animation:rise-in .3s ease both}.lobby-roster li.is-empty{background:transparent;border-style:dashed;opacity:.5}.lobby-seat-dot{width:16px;height:16px;flex:none;border-radius:50%;box-shadow:inset 0 -2px 3px #0006}.lobby-seat-name{flex:1;font-weight:700;font-size:14px}.lobby-seat-tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:20px;background:#ffffff1f;color:var(--ink-dim)}.lobby-seat-tag.is-you{background:var(--accent);color:#2a1e02}.lobby-setup{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:11px 13px;border-radius:13px;background:#ffffff0a;border:1px solid var(--glass-line);text-align:start}.lobby-setup-label{width:100%;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.lobby-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1}.lobby-chip{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;background:#ffffff1a}.btn-ghost.tiny{width:auto;margin:0;padding:5px 12px;font-size:11px;border-radius:20px}.btn-ghost.tiny[hidden]{display:none}.online-error{margin:12px 0 0;font-size:13px;font-weight:600;color:#ff9b9b}.online-error[hidden]{display:none}.online-error small{display:block;margin-top:5px;font-size:11px;font-weight:500;font-family:SF Mono,Menlo,Consolas,monospace;color:var(--ink-dim);word-break:break-all}.help-board{display:block;width:150px;height:150px;margin:0 auto 18px;border-radius:14px}.help-arrow{stroke-dasharray:4 5;animation:help-flow 1.4s linear infinite}@keyframes help-flow{to{stroke-dashoffset:-18}}.help-list{list-style:none;text-align:start;margin:0 0 6px;padding:0;counter-reset:step}.help-list li{display:flex;gap:13px;padding:13px 14px;margin-bottom:7px;border-radius:14px;background:#ffffff0a;border:1px solid var(--glass-line);transition:background .2s,transform .2s}.help-list li:hover{background:#ffffff14;transform:translate(2px)}[dir=rtl] .help-list li:hover{transform:translate(-2px)}.help-step{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;font-size:14px;font-weight:800;color:#2a1e02;background:linear-gradient(180deg,var(--accent-soft),var(--accent));box-shadow:0 4px 12px #00000052}.help-list h3{margin:2px 0 4px;font-size:14px;font-weight:700;color:var(--ink)}.help-list p{margin:0;font-size:13px;line-height:1.55;color:var(--ink-dim)}.stat-list{margin:0 0 16px;padding:0}.stat-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.06)}.stat-list dt{font-size:13px;color:var(--ink-dim)}.stat-list dd{margin:0;font-size:18px;font-weight:800}.handover-dot{display:block;width:46px;height:46px;margin:0 auto 14px;border-radius:50%;box-shadow:inset 0 -3px 6px #0006,0 0 26px currentColor;animation:dot-pulse 1.6s ease-in-out infinite}#hud{position:absolute;inset:0;pointer-events:none}#hud[hidden]{display:none}#hud>*{pointer-events:auto}.icon-btn{position:absolute;top:max(16px,env(safe-area-inset-top));inset-inline-start:16px;width:44px;height:44px;border-radius:14px;border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);font-size:18px;cursor:pointer;transition:background .18s,transform .12s}.icon-btn:hover{background:#262e54d9}.icon-btn:active{transform:scale(.94)}.icon-btn.small{position:static;width:40px;height:40px;font-size:17px}.players{position:absolute;top:max(16px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;gap:8px;padding:7px;border-radius:18px;background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);max-width:calc(100vw - 130px);overflow-x:auto;scrollbar-width:none}.players::-webkit-scrollbar{display:none}.player-pill{display:flex;align-items:center;gap:9px;padding:8px 13px 8px 9px;border-radius:13px;background:#ffffff08;border:1px solid transparent;transition:all .25s;white-space:nowrap}.player-pill.is-active{background:#ffffff21;border-color:#ffffff47;box-shadow:0 6px 18px #0006}.player-pill.is-done{opacity:.5}.player-dot{width:15px;height:15px;border-radius:50%;flex:none;box-shadow:inset 0 -2px 3px #0006,0 0 8px currentColor}.player-pill.is-active .player-dot{animation:dot-pulse 1.4s ease-in-out infinite}@keyframes dot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.22)}}.player-meta{display:flex;flex-direction:column;gap:3px;line-height:1}.player-name{font-size:12px;font-weight:700}.player-sub{font-size:10px;color:var(--ink-dim)}.home-dots{display:flex;gap:3px;margin-inline-start:2px}.home-dot{width:6px;height:6px;border-radius:50%;background:#fff3;transition:background .3s,box-shadow .3s}.home-dot.is-home{background:currentColor;box-shadow:0 0 6px currentColor}.seat-card{position:absolute;display:flex;align-items:center;gap:9px;padding:7px 13px 7px 7px;border-radius:40px;background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);transition:box-shadow .3s,border-color .3s,transform .3s;max-width:44vw}.seat-card[hidden]{display:none}.seat-card[data-corner=tl]{top:var(--hud-top);inset-inline-start:12px}.seat-card[data-corner=tr]{top:var(--hud-top);inset-inline-end:12px;flex-direction:row-reverse;padding:7px 7px 7px 13px}.seat-card[data-corner=bl]{bottom:var(--hud-seat-bottom);inset-inline-start:12px}.seat-card[data-corner=br]{bottom:var(--hud-seat-bottom);inset-inline-end:12px;flex-direction:row-reverse;padding:7px 7px 7px 13px}.seat-card.is-active{border-color:var(--seat-color, var(--accent));box-shadow:0 0 0 2px var(--seat-color, var(--accent)),0 10px 30px #00000080;transform:scale(1.04)}.seat-card.is-done{opacity:.55}.seat-card.is-offline{border-color:#ffd67a8c}.seat-card.is-offline .seat-avatar{filter:grayscale(1) brightness(.8)}.seat-card.is-offline .seat-name{color:var(--ink-dim)}.seat-badge{flex:none;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:20px;background:#ffd67a2e;color:#ffd67a}.seat-avatar{position:relative;width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:17px;font-weight:800;color:#fff;background:var(--seat-color, #666);border:3px solid var(--seat-color, #666);box-shadow:inset 0 -3px 8px #00000059;text-shadow:0 1px 3px rgba(0,0,0,.5)}.seat-card.is-active .seat-avatar{animation:dot-pulse 1.5s ease-in-out infinite}.seat-meta{min-width:0;line-height:1.15}.seat-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-progress{display:flex;gap:3px;margin-top:4px}.seat-card[data-corner=tr] .seat-progress,.seat-card[data-corner=br] .seat-progress{justify-content:flex-end}.seat-pip{width:7px;height:7px;border-radius:50%;background:#ffffff38;transition:background .3s,box-shadow .3s}.seat-pip.is-home{background:var(--seat-color);box-shadow:0 0 6px var(--seat-color)}.dice-tray{position:absolute;left:50%;transform:translate(-50%);bottom:var(--hud-dice-bottom);display:grid;place-items:center;width:108px;height:108px;border-radius:50%;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.09),transparent 62%),#0a0d1c99;border:2px solid rgba(255,255,255,.1);box-shadow:inset 0 3px 12px #0009,0 12px 32px #0000008c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hud-nav{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-around;align-items:center;gap:4px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:linear-gradient(to top,#060914f5,#060914bf);border-top:1px solid var(--glass-line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.nav-btn{position:relative;flex:1;max-width:96px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border:0;border-radius:13px;background:transparent;color:var(--ink-dim);font-family:inherit;cursor:pointer;transition:background .18s,color .18s,transform .12s}.nav-btn:hover{background:#ffffff12;color:var(--ink)}.nav-btn:active{transform:scale(.94)}.nav-btn.is-on{color:var(--accent)}.nav-icon{font-size:19px;line-height:1}.nav-label{font-size:10px;font-weight:600;letter-spacing:.02em}.nav-badge{position:absolute;top:2px;inset-inline-end:14px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:var(--accent);color:#2a1e02;font-size:10px;font-weight:800;line-height:16px}.toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);padding:13px 24px;border-radius:15px;background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);font-size:15px;font-weight:600;opacity:0;pointer-events:none!important;transition:opacity .25s,transform .25s;white-space:nowrap;max-width:90vw;z-index:15}.toast.is-shown{opacity:1;transform:translate(-50%,-50%) scale(1)}.toast.good{border-color:#6fe6a580;color:#b7f5d3}.toast.warn{border-color:#ffd67a80;color:#ffe6ad}.dice-dock{position:absolute;inset-inline-end:max(20px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:10px}.turn-label{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--hud-dice-bottom) + 128px);padding:6px 16px;border-radius:40px;white-space:nowrap;background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:12px;font-weight:700;box-shadow:var(--shadow)}.dice-btn{position:relative;width:84px;height:84px;border-radius:20px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(165deg,#fdfaf0,#ddd6c2);color:#22202a;cursor:pointer;display:grid;place-items:center;box-shadow:0 14px 34px #00000080,inset 0 2px #ffffffe6,inset 0 -5px #00000024;transition:transform .15s,opacity .2s}.dice-btn:active{transform:scale(.94)}.dice-btn:disabled{cursor:default;opacity:.42;filter:saturate(.3)}.dice-btn.is-ready{animation:dice-ready 1.5s ease-in-out infinite}@keyframes dice-ready{0%,to{box-shadow:0 14px 34px #00000080,0 0 color-mix(in srgb,var(--accent) 60%,transparent),inset 0 2px #ffffffe6,inset 0 -5px #00000024}55%{box-shadow:0 14px 34px #00000080,0 0 0 15px color-mix(in srgb,var(--accent) 0%,transparent),inset 0 2px #ffffffe6,inset 0 -5px #00000024}}.timer-ring{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);transform:rotate(-90deg);pointer-events:none}.timer-ring circle{fill:none;stroke-width:5;stroke-linecap:round}#timerTrack{stroke:#0000002e}#timerArc{stroke:var(--accent);opacity:0;transition:opacity .25s,stroke .25s}#timerArc.is-urgent{stroke:#ff6b6b}.dice-face{width:56px;height:56px;display:grid;grid-template:repeat(3,1fr) / repeat(3,1fr);gap:3px}.dice-face i{width:11px;height:11px;border-radius:50%;background:#22202a;align-self:center;justify-self:center;box-shadow:inset 0 -1px 2px #ffffff59}.dice-btn .dice-cta{position:absolute;bottom:7px;font-size:9px;font-weight:800;letter-spacing:.18em;color:#22202a8c;text-transform:uppercase}.dice-btn.has-value .dice-cta{opacity:0}.emote-dock{position:absolute;inset-inline-start:16px;bottom:max(26px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:8px}.emote-bar{position:absolute;left:12px;right:12px;bottom:calc(var(--hud-dice-bottom) + 120px);display:grid;grid-template-columns:repeat(8,1fr);gap:5px;padding:8px;border-radius:16px;background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);animation:rise-in .22s ease both}.emote-bar[hidden]{display:none}.emote-btn{width:38px;height:38px;border:0;border-radius:10px;background:#ffffff0f;font-size:20px;line-height:1;cursor:pointer;transition:transform .14s,background .18s}.emote-btn:hover{background:#ffffff29;transform:scale(1.12)}.emote-layer{position:absolute;inset:0;pointer-events:none!important}.floating-emote{position:absolute;font-size:42px;transform:translate(-50%,-50%);animation:emote-float 1.8s ease-out forwards;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}@keyframes emote-float{0%{opacity:0;transform:translate(-50%,-20%) scale(.4)}18%{opacity:1;transform:translate(-50%,-55%) scale(1.15)}30%{transform:translate(-50%,-60%) scale(1)}to{opacity:0;transform:translate(-50%,-190%) scale(.9)}}.token-bar{position:absolute;left:50%;bottom:max(26px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:9px;padding:9px 11px;border-radius:17px;background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);animation:rise-in .3s ease both}.token-bar[hidden]{display:none}.token-chip{min-width:62px;padding:9px 12px;border-radius:12px;border:1px solid var(--glass-line);background:#ffffff0d;color:var(--ink);font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:transform .14s,background .18s}.token-chip:hover{background:#ffffff21;transform:translateY(-2px)}.token-chip:active{transform:scale(.95)}.token-chip .chip-dot{width:15px;height:15px;border-radius:50%;box-shadow:inset 0 -2px 3px #0006}.token-chip .chip-note{color:var(--ink-dim);font-weight:600}.token-chip.is-capture{border-color:#ff8a8aa6}.token-chip.is-goal{border-color:var(--accent)}.token-chip.is-hint{border-color:var(--accent);background:#e8c25729;box-shadow:0 0 0 1px var(--accent),0 6px 18px #00000059}.token-chip.is-hint .chip-note{color:var(--accent-soft)}#resultTitle{margin:0 0 4px;font-size:32px;font-weight:800;text-transform:uppercase;background:linear-gradient(180deg,var(--accent-soft),var(--accent) 55%,#a97c1c);-webkit-background-clip:text;background-clip:text;color:transparent}#resultTitle.is-loss{background:linear-gradient(180deg,#d7ddf2,#8791b5);-webkit-background-clip:text;background-clip:text}.ranking{list-style:none;margin:20px 0 18px;padding:0;text-align:start}.ranking li{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:8px;border-radius:14px;background:#ffffff0d;border:1px solid var(--glass-line);animation:rise-in .4s ease both}.ranking li:nth-child(1){animation-delay:.05s;border-color:var(--accent)}.ranking li:nth-child(2){animation-delay:.12s}.ranking li:nth-child(3){animation-delay:.19s}.ranking li:nth-child(4){animation-delay:.26s}.rank-badge{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:10px;font-size:13px;font-weight:800;background:#ffffff17}.ranking li:nth-child(1) .rank-badge{background:linear-gradient(180deg,var(--accent-soft),var(--accent));color:#2a1e02}.rank-name{flex:1;font-weight:700;font-size:15px}.rank-sub{font-size:11px;color:var(--ink-dim)}@media (max-width: 560px){.brand h1{font-size:31px}.menu-card{padding:22px 18px 20px;border-radius:20px}.dice-btn{width:76px;height:76px;border-radius:20px}.dice-face{width:46px;height:46px}.dice-face i{width:9px;height:9px}.player-name{font-size:11px}.player-sub{display:none}.players{padding:5px;gap:5px;max-width:calc(100vw - 76px)}.player-pill{padding:6px 9px 6px 7px;gap:7px}.toast{font-size:13px;padding:11px 18px}.theme-grid{grid-template-columns:repeat(2,1fr)}.token-bar{left:12px;right:12px;transform:none;bottom:calc(max(26px,env(safe-area-inset-bottom)) + 92px);justify-content:center;flex-wrap:wrap}.token-chip{min-width:56px;padding:8px 10px}.dice-dock{inset-inline-end:12px;bottom:max(16px,env(safe-area-inset-bottom))}.emote-dock{inset-inline-start:12px;bottom:max(16px,env(safe-area-inset-bottom))}.emote-bar{grid-template-columns:repeat(4,1fr)}}@media (max-height: 640px){.brand{margin-bottom:14px}.brand-mark{width:56px;height:56px;margin-bottom:10px}.brand h1{font-size:26px}.field{margin-bottom:11px}.btn-primary{padding:12px}.switch-row{padding:8px 2px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:.05s!important}}.screen.hub[hidden]{display:none}.screen.hub{display:grid;grid-template-rows:auto auto 1fr auto auto;grid-template-columns:minmax(0,1fr);place-items:stretch;padding:0;background:linear-gradient(180deg,#060916db,#06091647 26%,#0609164d 62%,#040610eb 88%);backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden}.hub-top{grid-row:1;display:flex;align-items:center;gap:8px;min-width:0;padding:max(10px,env(safe-area-inset-top)) 10px 8px}.profile-chip{display:flex;align-items:center;gap:9px;min-width:150px;flex:1 1 auto;padding:5px 12px 5px 5px;border:1px solid var(--glass-line);border-radius:40px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);font-family:inherit;cursor:pointer;text-align:start;transition:border-color .2s,transform .15s}.profile-chip:hover{border-color:var(--accent)}.profile-chip:active{transform:scale(.98)}.avatar-ring{position:relative;flex:none;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--frame-ring, rgba(255, 255, 255, .25));box-shadow:var(--frame-glow, none);padding:3px}.avatar-ring.is-large{width:96px;height:96px;padding:5px}.avatar-ring.is-spin:before{content:"";position:absolute;inset:-2px;border-radius:50%;background:inherit;animation:frame-spin 4s linear infinite;z-index:-1}@keyframes frame-spin{to{transform:rotate(360deg)}}.avatar{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;background:linear-gradient(150deg,#2b3566,#151a34);font-size:20px;font-weight:800;line-height:1}.avatar-ring.is-large .avatar{font-size:44px}.level-badge{position:absolute;bottom:-3px;inset-inline-end:-3px;min-width:22px;height:22px;padding:0 5px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(160deg,var(--accent-soft),var(--accent));color:#2a1e02;font-size:11px;font-weight:900;border:2px solid rgba(10,12,26,.85)}.profile-meta{min-width:0;flex:1}.profile-name{display:block;font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-sub{display:flex;gap:8px;min-width:0;font-size:10px;font-weight:700;color:var(--ink-dim);margin-top:1px;white-space:nowrap}.profile-sub>span{min-width:0;overflow:hidden;text-overflow:ellipsis}@media (max-width: 420px){#hubLevelText{display:none}}.xp-bar{display:block;height:5px;margin-top:4px;border-radius:20px;background:#ffffff24;overflow:hidden}.xp-bar>i{display:block;height:100%;width:0;border-radius:20px;background:linear-gradient(90deg,var(--accent),var(--accent-soft));transition:width .5s cubic-bezier(.22,1,.36,1)}.currency-chips{display:flex;gap:6px;flex:none}.chip{display:flex;align-items:center;gap:5px;min-width:0;padding:6px 6px 6px 8px;border-radius:40px;border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);font-family:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:border-color .2s,transform .15s}.chip:hover{border-color:var(--accent)}.chip:active{transform:scale(.96)}.chip-icon{font-size:14px;font-style:normal;flex:none}.chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.chip-plus{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(160deg,#58d977,#21a04a);color:#06210f;font-size:13px;line-height:1}.chip.is-flash{animation:chip-flash .6s ease}@keyframes chip-flash{0%,to{transform:none}30%{transform:scale(1.14);border-color:var(--accent)}}.hub-icon-btn{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);font-size:18px;cursor:pointer;transition:border-color .2s,transform .2s}.hub-icon-btn:hover{border-color:var(--accent);transform:rotate(35deg)}.hub-rail{grid-row:3;grid-column:1;align-self:start;justify-self:start;display:flex;flex-direction:column;gap:10px;padding:8px 10px;z-index:2}.hub-rail.is-right{justify-self:end}.rail-btn{position:relative;width:74px;padding:8px 4px 6px;border-radius:18px;border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);font-family:inherit;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.rail-btn:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 24px #00000073}.rail-btn:active{transform:scale(.95)}.rail-icon{display:block;font-size:26px;line-height:1.1}.rail-label{display:block;margin-top:3px;font-size:9px;font-weight:800;letter-spacing:.02em;line-height:1.15}.rail-badge,.nav-badge{position:absolute;top:-5px;inset-inline-end:-5px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(160deg,#ff6b6b,#d81f3f);color:#fff;font-size:11px;font-weight:900;border:2px solid rgba(10,12,26,.9);animation:badge-pop 2.4s ease-in-out infinite}.rail-badge[hidden],.nav-badge[hidden]{display:none}@keyframes badge-pop{0%,82%,to{transform:scale(1)}88%{transform:scale(1.22)}}.rail-btn.is-ready{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 8px 26px #e8c25747}.rail-btn.is-ready .rail-icon{animation:rail-nudge 2.6s ease-in-out infinite}@keyframes rail-nudge{0%,78%,to{transform:none}86%{transform:translateY(-3px) rotate(-7deg)}93%{transform:translateY(-1px) rotate(4deg)}}.hub-brand{grid-row:2;grid-column:1;justify-self:center;text-align:center;pointer-events:none;padding:2px 12px 6px}.hub-logo{margin:0;font-size:clamp(30px,10vw,46px);font-weight:900;letter-spacing:.02em;line-height:1;background:linear-gradient(170deg,#ffffff 0%,#e8e2ff 34%,var(--accent) 72%,#5a3fe0 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 10px rgba(0,0,0,.75)) drop-shadow(0 0 22px color-mix(in srgb,var(--accent) 35%,transparent))}.hub-tagline{margin:4px 0 0;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim)}.hub-play{grid-row:4;display:flex;flex-direction:column;gap:8px;padding:0 12px 8px;z-index:2}.play-row{display:flex;gap:8px}.play-row>*{flex:1 1 0;min-width:0}.play-btn{display:flex;align-items:center;gap:9px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(165deg,#3a4682,#232a52);color:#fff;font-family:inherit;cursor:pointer;text-align:start;box-shadow:0 8px 22px #0000006b,inset 0 1px #ffffff2e;transition:transform .16s,filter .16s}.play-btn:hover{filter:brightness(1.08);transform:translateY(-2px)}.play-btn:active{transform:translateY(1px) scale(.99)}.play-btn[hidden]{display:none}.play-icon{font-size:22px;flex:none}.play-text{min-width:0}.play-text b{display:block;font-size:14px;font-weight:900;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-text small{display:block;font-size:10px;font-weight:700;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-btn.is-online{background:linear-gradient(165deg,#f5c451,#d08c14);color:#2a1e02}.play-btn.is-ai{background:linear-gradient(165deg,#5aa9f0,#2166c4)}.play-btn.is-resume{background:linear-gradient(165deg,#57d98a,#1c9350);color:#04240f}.play-btn.is-friends{background:linear-gradient(165deg,#a273e6,#6a35b8)}.play-btn.is-local{background:linear-gradient(165deg,#63c77a,#2c8a45)}.play-btn.is-tournament{background:linear-gradient(165deg,#f08a4b,#c1521c)}.play-row.is-secondary .play-btn{flex-direction:column;gap:3px;padding:9px 6px;text-align:center}.play-row.is-secondary .play-text b{font-size:11px;white-space:normal}.play-row.is-secondary .play-text small{font-size:9px}.play-row.is-secondary .play-icon{font-size:18px}.hub-nav{grid-row:5;display:flex;gap:2px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0c1022db,#080a18f7);border-top:1px solid var(--glass-line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:3}.nav-btn{position:relative;flex:1 1 0;min-width:0;padding:7px 2px 5px;border:0;border-radius:14px;background:transparent;color:var(--ink-dim);font-family:inherit;font-size:9px;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:color .18s,background .18s}.nav-btn .nav-icon{display:block;font-size:20px;line-height:1.2}.nav-btn:hover{color:var(--ink)}.nav-btn.is-active{color:var(--accent);background:linear-gradient(180deg,rgba(232,194,87,.16),transparent)}.daily-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.daily-cell{position:relative;padding:10px 4px 8px;border-radius:14px;border:1px solid var(--glass-line);background:#ffffff0d;text-align:center}.daily-cell.is-final{grid-column:span 4}.daily-cell.is-claimed{opacity:.45}.daily-cell.is-claimed:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-size:30px;color:#7ce8b0;text-shadow:0 2px 8px rgba(0,0,0,.6)}.daily-cell.is-today{border-color:var(--accent);background:linear-gradient(160deg,#e8c25738,#e8c2570f);box-shadow:0 0 0 1px var(--accent),0 8px 22px #e8c25738}.daily-day{display:block;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.daily-amount{display:block;margin-top:4px;font-size:15px;font-weight:900}.daily-gems{display:block;font-size:11px;font-weight:800;color:#8fd8ff}.wheel-stage{position:relative;width:min(280px,76vw);aspect-ratio:1;margin:0 auto 14px}.wheel-disc{width:100%;height:100%;border-radius:50%;border:6px solid var(--accent);box-shadow:0 0 0 3px #00000080,0 18px 40px #0000008c,inset 0 0 30px #0006;transition:transform 4.2s cubic-bezier(.16,.9,.2,1);position:relative}.wheel-label{position:absolute;transform:translate(-50%,-50%);font-size:13px;font-weight:900;color:#1a1408;text-shadow:0 1px 2px rgba(255,255,255,.45);pointer-events:none;white-space:nowrap}.wheel-hub{position:absolute;inset:50% auto auto 50%;width:46px;height:46px;transform:translate(-50%,-50%);border-radius:50%;background:linear-gradient(160deg,var(--accent-soft),var(--accent));border:3px solid rgba(10,12,26,.85);display:grid;place-items:center;font-size:20px}.wheel-pointer{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:24px solid var(--accent);filter:drop-shadow(0 3px 5px rgba(0,0,0,.6));z-index:2}.wheel-result{min-height:22px;margin:0 0 12px;font-size:15px;font-weight:800;color:var(--accent-soft)}.task-list{list-style:none;margin:0 0 16px;padding:0;text-align:start}.task-row{display:flex;align-items:center;gap:11px;padding:11px 13px;margin-bottom:8px;border-radius:14px;background:#ffffff0d;border:1px solid var(--glass-line)}.task-row.is-done{border-color:#7ce8b080}.task-main{flex:1;min-width:0}.task-name{font-size:13px;font-weight:700}.task-bar{height:6px;margin-top:6px;border-radius:20px;background:#ffffff1f;overflow:hidden}.task-bar>i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--accent),var(--accent-soft));transition:width .4s ease}.task-progress{font-size:10px;font-weight:800;color:var(--ink-dim);margin-top:4px;display:block}.task-reward{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;font-weight:800}.task-claim{padding:6px 12px;border-radius:20px;border:0;background:linear-gradient(160deg,#58d977,#21a04a);color:#06210f;font-family:inherit;font-size:11px;font-weight:900;cursor:pointer}.task-claim:disabled{background:#ffffff1a;color:var(--ink-dim);cursor:default}.board-list{list-style:none;margin:0 0 16px;padding:0;text-align:start}.board-row{display:flex;align-items:center;gap:10px;padding:9px 12px;margin-bottom:6px;border-radius:12px;background:#ffffff0a;border:1px solid transparent}.board-row.is-self{border-color:var(--accent);background:linear-gradient(160deg,#e8c25733,#e8c2570d)}.board-rank{flex:none;width:28px;font-size:13px;font-weight:900;color:var(--ink-dim);text-align:center}.board-row:nth-child(1) .board-rank{color:#ffd977}.board-row:nth-child(2) .board-rank{color:#dfe6f0}.board-row:nth-child(3) .board-rank{color:#e0a36a}.board-name{flex:1;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-value{flex:none;font-size:13px;font-weight:900;color:var(--accent-soft)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:14px}.shop-card{position:relative;padding:14px 10px 10px;border-radius:16px;border:1px solid var(--glass-line);background:linear-gradient(165deg,#ffffff14,#ffffff08);text-align:center}.shop-card.is-featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.shop-tag{position:absolute;top:-8px;left:50%;transform:translate(-50%);padding:2px 10px;border-radius:20px;background:linear-gradient(160deg,#ff8a5c,#e0431f);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.shop-icon{font-size:34px;line-height:1}.shop-amount{display:block;margin-top:6px;font-size:17px;font-weight:900}.shop-bonus{display:block;font-size:10px;font-weight:800;color:#7ce8b0;min-height:14px}.shop-buy{width:100%;margin-top:8px;padding:8px;border-radius:12px;border:0;background:linear-gradient(160deg,#58d977,#21a04a);color:#06210f;font-family:inherit;font-size:13px;font-weight:900;cursor:pointer}.shop-buy:disabled{background:#ffffff1a;color:var(--ink-dim);cursor:default}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px;margin-bottom:14px}.item-card{position:relative;padding:10px 6px 8px;border-radius:14px;border:1px solid var(--glass-line);background:#ffffff0d;text-align:center;cursor:pointer;transition:transform .16s,border-color .16s}.item-card:hover{transform:translateY(-2px)}.item-card.is-equipped{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.item-card.is-locked{opacity:.62}.item-swatch{width:46px;height:46px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;font-size:24px;border:2px solid rgba(255,255,255,.2)}.item-name{display:block;font-size:11px;font-weight:800;line-height:1.2}.item-cost{display:block;margin-top:3px;font-size:10px;font-weight:800;color:var(--accent-soft)}.item-cost.is-locked{color:var(--ink-dim)}.item-rarity{position:absolute;top:6px;inset-inline-end:6px;width:8px;height:8px;border-radius:50%}.rarity-common{background:#8b93ad}.rarity-rare{background:#4fa9f5}.rarity-epic{background:#b46ef0}.rarity-legendary{background:linear-gradient(140deg,#ffd977,#ff8a3d)}.item-check{position:absolute;top:6px;inset-inline-start:6px;font-size:12px;color:#7ce8b0}.chat-log{height:220px;overflow-y:auto;margin-bottom:12px;padding:10px;border-radius:14px;background:#00000047;border:1px solid var(--glass-line);text-align:start}.chat-line{margin-bottom:7px;font-size:13px;line-height:1.35}.chat-line b{color:var(--accent-soft)}.chat-line.is-system{color:var(--ink-dim);font-style:italic;font-size:12px}.chat-quick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chat-quick button{padding:7px 12px;border-radius:20px;border:1px solid var(--glass-line);background:#ffffff0f;color:var(--ink);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}.chat-quick button:hover{border-color:var(--accent)}.tournament-list,.table-list{list-style:none;margin:0 0 16px;padding:0;text-align:start}.tournament-row,.table-row{display:flex;align-items:center;gap:11px;width:100%;padding:12px 13px;margin-bottom:8px;border-radius:14px;background:#ffffff0d;border:1px solid var(--glass-line);color:var(--ink);font-family:inherit;text-align:start;cursor:pointer;transition:border-color .16s,transform .16s}.table-row:hover:not(:disabled),.tournament-row:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.table-row:disabled,.tournament-row:disabled{opacity:.5;cursor:default}.table-row.is-live,.tournament-row.is-live{border-color:#7ce8b08c}.entry-icon{font-size:24px;flex:none}.entry-main{flex:1;min-width:0}.entry-name{display:block;font-size:14px;font-weight:800}.entry-sub{display:block;font-size:11px;font-weight:700;color:var(--ink-dim);margin-top:2px}.entry-side{flex:none;text-align:end;font-size:12px;font-weight:800}.entry-prize{color:var(--accent-soft)}.ledger-list{list-style:none;margin:0 0 16px;padding:0;text-align:start}.ledger-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--glass-line);font-size:13px}.ledger-reason{flex:1;font-weight:700}.ledger-when{font-size:10px;color:var(--ink-dim);display:block;font-weight:600}.ledger-delta{font-weight:900}.ledger-delta.is-plus{color:#7ce8b0}.ledger-delta.is-minus{color:#ff9b9b}.reward-popup{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:#03050cc7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:60;animation:fade-in .25s ease both}.reward-popup[hidden]{display:none}.reward-card{position:relative;width:min(340px,100%);padding:28px 24px 22px;border-radius:24px;background:linear-gradient(160deg,var(--card-a),var(--card-b));border:1px solid var(--accent);box-shadow:var(--shadow),0 0 40px #e8c25740;text-align:center;animation:rise-in .45s cubic-bezier(.22,1,.36,1) both;overflow:hidden}.reward-glow{position:absolute;inset:-60% -30% auto;height:200%;background:conic-gradient(from 0deg,transparent 0deg,rgba(232,194,87,.22) 30deg,transparent 70deg,transparent 180deg,rgba(232,194,87,.22) 210deg,transparent 250deg);animation:frame-spin 8s linear infinite;pointer-events:none}.reward-card h3{position:relative;margin:0 0 14px;font-size:22px;font-weight:900}.reward-body{position:relative;display:flex;justify-content:center;gap:16px;margin-bottom:18px}.reward-item{font-size:20px;font-weight:900}.reward-item small{display:block;font-size:10px;font-weight:800;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em}.reward-card .btn-primary{position:relative}@media (max-height: 700px){.hub-logo{font-size:clamp(24px,8vw,34px)}.rail-btn{width:64px;padding:6px 3px 5px}.rail-icon{font-size:21px}.play-btn{padding:9px 10px}.avatar-ring{width:40px;height:40px}}@media (max-width: 360px){.rail-btn{width:58px}.rail-label{font-size:8px}.play-text small{display:none}}:root{--rim: color-mix(in srgb, var(--accent) 55%, transparent);--bloom: color-mix(in srgb, var(--accent) 26%, transparent);--card-lift: inset 0 1px 0 rgba(255, 255, 255, .14)}.screen.hub:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:radial-gradient(1.5px 1.5px at 12% 18%,rgba(255,255,255,.9),transparent),radial-gradient(1.5px 1.5px at 78% 12%,rgba(255,255,255,.75),transparent),radial-gradient(1px 1px at 32% 42%,rgba(200,215,255,.8),transparent),radial-gradient(1.5px 1.5px at 88% 58%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 22% 72%,rgba(210,225,255,.7),transparent),radial-gradient(1.5px 1.5px at 62% 84%,rgba(255,255,255,.65),transparent),radial-gradient(1px 1px at 46% 26%,rgba(255,255,255,.55),transparent),radial-gradient(1px 1px at 92% 34%,rgba(190,205,255,.6),transparent);animation:twinkle 6s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.32}to{opacity:.6}}.rail-btn,.play-btn,.chip,.profile-chip,.hub-icon-btn{box-shadow:0 0 0 1px var(--rim),0 6px 20px #00000080,var(--card-lift)}.rail-btn:hover,.chip:hover,.profile-chip:hover,.hub-icon-btn:hover{box-shadow:0 0 0 1px var(--accent),0 0 18px var(--bloom),0 8px 24px #0000008c,var(--card-lift)}.rail-btn.is-ready{box-shadow:0 0 0 1px var(--accent),0 0 22px var(--bloom),0 8px 26px #00000080,var(--card-lift)}.play-btn.is-online{box-shadow:0 0 0 1px #ffd977,0 0 20px #f5c4514d,0 8px 22px #00000073,var(--card-lift)}.play-btn.is-ai{box-shadow:0 0 0 1px #7ec2ff,0 0 20px #5aa9f04d,0 8px 22px #00000073,var(--card-lift)}.play-btn.is-resume{box-shadow:0 0 0 1px #7ff0ab,0 0 20px #57d98a4d,0 8px 22px #00000073,var(--card-lift)}.play-btn.is-friends{box-shadow:0 0 0 1px #c6a0ff,0 0 20px #a273e64d,0 8px 22px #00000073,var(--card-lift)}.play-btn.is-local{box-shadow:0 0 0 1px #8fe3a5,0 0 20px #63c77a4d,0 8px 22px #00000073,var(--card-lift)}.play-btn.is-tournament{box-shadow:0 0 0 1px #ffb185,0 0 20px #f08a4b4d,0 8px 22px #00000073,var(--card-lift)}.seat-card{box-shadow:0 0 0 1px #ffffff1a,0 8px 22px #00000080}.seat-card.is-active{box-shadow:0 0 0 2px var(--seat-color),0 0 26px color-mix(in srgb,var(--seat-color) 45%,transparent),0 10px 30px #0000008c}.rail-timer{display:block;margin-top:2px;font-size:9px;font-weight:800;letter-spacing:.02em;color:var(--accent-soft);font-variant-numeric:tabular-nums}.rail-timer:empty{display:none}@media (prefers-reduced-motion: reduce){.screen.hub:before,.rail-badge,.nav-badge,.rail-btn.is-ready .rail-icon,.avatar-ring.is-spin:before,.reward-glow{animation:none}}.momentum-bar{display:block;height:3px;margin-top:4px;border-radius:20px;background:#ffffff24;overflow:hidden}.momentum-bar>i{display:block;height:100%;width:0;border-radius:20px;background:linear-gradient(90deg,var(--accent),#fff);transition:width .45s cubic-bezier(.22,1,.36,1)}.seat-card.is-charged .momentum-bar>i{background:linear-gradient(90deg,#fff,var(--accent-soft),#fff);box-shadow:0 0 8px var(--accent);animation:momentum-flow 1.6s linear infinite;background-size:200% 100%}@keyframes momentum-flow{0%{background-position:0% 0}to{background-position:200% 0}}.seat-card[data-corner=tr] .momentum-bar,.seat-card[data-corner=br] .momentum-bar{transform:scaleX(-1)}.boost-btn{position:absolute;bottom:calc(var(--hud-dice-bottom) + 96px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;padding:9px 18px;border-radius:30px;border:0;background:linear-gradient(160deg,var(--accent-soft),var(--accent));color:#241a02;font-family:inherit;font-size:14px;font-weight:900;letter-spacing:.02em;white-space:nowrap;cursor:pointer;box-shadow:0 0 0 2px #ffffff80,0 0 26px var(--bloom),0 10px 26px #00000080;animation:boost-in .3s cubic-bezier(.22,1,.36,1) both,boost-pulse 1.1s ease-in-out .3s infinite;z-index:6}.boost-btn[hidden]{display:none}.boost-icon{font-size:16px}@keyframes boost-in{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.9)}to{opacity:1;transform:translate(-50%)}}@keyframes boost-pulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.06)}}.dice-btn.is-charged{border-color:var(--accent)}@media (prefers-reduced-motion: reduce){.seat-card.is-charged .momentum-bar>i,.boost-btn{animation:none}}.dice-choice{position:absolute;bottom:calc(var(--hud-dice-bottom) + 104px);left:50%;transform:translate(-50%);display:flex;gap:14px;z-index:6;animation:rise-in .28s cubic-bezier(.22,1,.36,1) both}.dice-choice[hidden]{display:none}.die-option{position:relative;width:68px;height:68px;padding:0;border-radius:16px;border:2px solid rgba(255,255,255,.25);background:linear-gradient(165deg,#fdfaf0,#ddd6c2);cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 26px #00000080,inset 0 2px #ffffffe6;transition:transform .16s,border-color .16s,box-shadow .16s}.die-option:hover{transform:translateY(-3px) scale(1.04)}.die-option:active{transform:scale(.95)}.die-option.is-hint{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 0 22px var(--bloom),0 10px 26px #00000080,inset 0 2px #ffffffe6}.die-option.is-inherited{border-color:#ff8fa3}.die-option.is-inherited:before{content:"";position:absolute;inset:-2px;border-radius:16px;box-shadow:0 0 16px #ff8fa38c;pointer-events:none}.die-face{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:40px;height:40px}.die-face>i,.die-face>span{width:100%;aspect-ratio:1;border-radius:50%}.die-face>i{background:#22202a}.die-face>span{background:transparent}.die-tag{position:absolute;bottom:-9px;left:50%;transform:translate(-50%);padding:1px 7px;border-radius:20px;background:#ff8fa3;color:#3a0713;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.die-tag:empty{display:none}.inherited-die{position:absolute;bottom:calc(var(--hud-dice-bottom) + 6px);inset-inline-end:16px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 11px;border-radius:14px;background:var(--glass);border:1px solid rgba(255,143,163,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:rise-in .3s ease both;z-index:5}.inherited-die[hidden]{display:none}.inherited-label{font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.inherited-value{font-size:20px;font-weight:900;line-height:1;color:#ff8fa3}@media (prefers-reduced-motion: reduce){.dice-choice,.inherited-die{animation:none}}.hub-play{gap:10px;padding:0 14px 10px}.resume-strip{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px;border-radius:12px;border:1px solid rgba(124,232,176,.5);background:#57d98a24;color:#b6f5d0;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer}.resume-strip[hidden]{display:none}.play-now{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:17px 20px;border:0;border-radius:18px;background:linear-gradient(150deg,#8f7bff,#5a3fe0 55%,#3d24b8);color:#fff;font-family:inherit;cursor:pointer;box-shadow:0 0 0 1px #ffffff47,0 0 34px #8f7bff73,0 12px 30px #00000080,inset 0 1px #ffffff4d;transition:transform .16s,filter .16s}.play-now:hover{filter:brightness(1.08);transform:translateY(-2px)}.play-now:active{transform:translateY(1px) scale(.99)}.play-now-icon{font-size:26px}.play-now-text{text-align:start}.play-now-text b{display:block;font-size:21px;font-weight:900;letter-spacing:.02em;line-height:1.1}.play-now-text small{display:block;font-size:11px;font-weight:700;opacity:.85;margin-top:1px}.mode-strip{display:flex;gap:6px;padding:4px;border-radius:14px;background:#00000052;border:1px solid var(--glass-line)}.mode-strip button{flex:1 1 0;min-width:0;padding:7px 4px;border:0;border-radius:11px;background:transparent;color:var(--ink-dim);font-family:inherit;cursor:pointer;transition:background .16s,color .16s}.mode-strip button b{display:block;font-size:12px;font-weight:800}.mode-strip button small{display:block;font-size:9px;font-weight:700;opacity:.75}.mode-strip button:hover{color:var(--ink)}.mode-strip button.is-active{background:linear-gradient(160deg,#8f7bff57,#8f7bff24);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}.alt-play{display:flex;gap:6px}.alt-play button{flex:1 1 0;min-width:0;padding:9px 4px;border-radius:12px;border:1px solid var(--glass-line);background:var(--glass);color:var(--ink);font-family:inherit;font-size:10px;font-weight:700;line-height:1.25;cursor:pointer;transition:border-color .16s,transform .16s}.alt-play button span:first-child{display:block;font-size:17px;margin-bottom:2px}.alt-play button:hover{border-color:var(--accent);transform:translateY(-1px)}.hub-strip{display:flex;gap:8px}.strip-card{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:14px;border:1px solid var(--glass-line);background:var(--glass);color:var(--ink);font-family:inherit;text-align:start;cursor:pointer;transition:border-color .16s,transform .16s}.strip-card:hover{border-color:var(--accent);transform:translateY(-1px)}.strip-icon{font-size:20px;flex:none}.strip-text{min-width:0;flex:1}.strip-text b{display:block;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.strip-text small{display:block;font-size:9px;font-weight:700;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.strip-badge{position:absolute;top:-6px;inset-inline-end:-6px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(160deg,#ff6b6b,#d81f3f);color:#fff;font-size:11px;font-weight:900;border:2px solid rgba(10,12,26,.9)}.strip-badge[hidden]{display:none}.strip-bar{position:absolute;left:11px;right:11px;bottom:5px;height:3px;border-radius:20px;background:#ffffff24;overflow:hidden}.strip-bar>i{display:block;height:100%;width:0;border-radius:20px;background:linear-gradient(90deg,var(--accent),var(--accent-soft));transition:width .5s ease}.reward-list{list-style:none;margin:0 0 16px;padding:0;text-align:start}.reward-row{display:flex;align-items:center;gap:12px;width:100%;padding:13px;margin-bottom:8px;border-radius:15px;border:1px solid var(--glass-line);background:#ffffff0d;color:var(--ink);font-family:inherit;text-align:start;cursor:pointer;transition:border-color .16s,transform .16s}.reward-row:hover{border-color:var(--accent);transform:translateY(-1px)}.reward-row.is-ready{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 20px var(--bloom)}.reward-row .r-icon{font-size:27px;flex:none}.reward-row .r-main{flex:1;min-width:0}.reward-row .r-name{display:block;font-size:14px;font-weight:800}.reward-row .r-sub{display:block;font-size:11px;font-weight:700;color:var(--ink-dim);margin-top:2px}.reward-row .r-flag{flex:none;padding:4px 10px;border-radius:20px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;background:#ffffff1a;color:var(--ink-dim)}.reward-row.is-ready .r-flag{background:linear-gradient(160deg,#58d977,#21a04a);color:#06210f}@media (max-height: 700px){.play-now{padding:13px 18px}.play-now-text b{font-size:18px}.hub-play{gap:7px}}
