@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#0b0b0c;--c-bg-raised:#111214;--c-surface:#16171a;--c-surface-2:#1d1e22;--c-surface-3:#26272c;--c-border:#2c2e33;--c-border-strong:#3d4046;--c-text:#eeeeec;--c-text-muted:#a3a3a8;--c-text-faint:#717278;--c-gold:#d9b45a;--c-gold-strong:#ecc978;--c-gold-ink:#1b1406;--c-success:#3dd68c;--c-success-bg:#3dd68c1f;--c-danger:#f06a6a;--c-danger-strong:#e5484d;--c-danger-bg:#e5484d21;--c-warning:#f5b544;--c-warning-bg:#f5b54421;--c-info:#6cb4ee;--c-info-bg:#6cb4ee21;--c-focus:#ecc978;--c-overlay:#030304bf;--c-bg-edge:#141518;--c-bg-center:#1a1b1e;--c-chip-red:#d8584f;--c-ivory:#f4efe6;--c-gold-line:#d9b45a47;--c-gold-line-soft:#d9b45a24;--c-glass:#0c0c0ecc;--c-glow:#ecc9788c;--pattern-suits:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cg fill='%23fff' fill-opacity='.045'%3E%3Cg transform='translate(22 22) rotate(-14 15 15) scale(1.25)'%3E%3Cpath d='M12 1.5C9.4 5.3 3 8.9 3 13.6c0 2.6 2 4.6 4.6 4.6 1.4 0 2.6-.6 3.4-1.5L9.8 22.5h4.4l-1.2-5.8c.8.9 2 1.5 3.4 1.5 2.6 0 4.6-2 4.6-4.6C21 8.9 14.6 5.3 12 1.5z'/%3E%3C/g%3E%3Cg transform='translate(122 122) rotate(12 15 15) scale(1.25)'%3E%3Ccircle cx='12' cy='6.9' r='4.3'/%3E%3Ccircle cx='6.7' cy='13.5' r='4.3'/%3E%3Ccircle cx='17.3' cy='13.5' r='4.3'/%3E%3Cpath d='M11 11h2l1.3 11.5H9.7z'/%3E%3C/g%3E%3C/g%3E%3Cg fill='%23d0453c' fill-opacity='.075'%3E%3Cg transform='translate(122 22) rotate(10 15 15) scale(1.25)'%3E%3Cpath d='M12 21.2S2.5 15.2 2.5 8.7c0-3.1 2.4-5.4 5.3-5.4 1.8 0 3.3.9 4.2 2.3.9-1.4 2.4-2.3 4.2-2.3 2.9 0 5.3 2.3 5.3 5.4 0 6.5-9.5 12.5-9.5 12.5z'/%3E%3C/g%3E%3Cg transform='translate(22 122) rotate(-8 15 15) scale(1.25)'%3E%3Cpath d='M12 1.5 20 12 12 22.5 4 12z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");--texture-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Outfit Variable", var(--font);--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:2.25rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-full:999px;--shadow:0 10px 30px #00000059;--shadow-sm:0 2px 8px #00000040;--transition:.14s ease;--page-max:560px;--topbar-h:60px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background-color:var(--c-bg-edge);overscroll-behavior-y:none}html,body{height:100%;overflow:hidden}#root{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;overflow:hidden auto}body{color:var(--c-text);font-family:var(--font);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}body:before{content:"";z-index:-1;width:100%;height:130vh;pointer-events:none;background-color:var(--c-bg-edge);background-image:var(--texture-grain), radial-gradient(ellipse 80% 45vh at 50% 18vh, #ffffff0a, transparent 70%), linear-gradient(90deg, #00000059 0%, transparent 18%, transparent 82%, #00000059 100%), var(--pattern-suits), linear-gradient(180deg, var(--c-bg-edge) 0, var(--c-bg-center) 30vh, var(--c-bg-center) calc(100lvh - 30vh), var(--c-bg-edge) 100lvh, var(--c-bg-edge) 100%);background-size:auto,auto,auto,200px 200px,auto;height:calc(100lvh + 30vh);position:fixed;top:0;left:0}h1,h2,h3,h4{line-height:1.2;font-family:var(--font-display);letter-spacing:-.005em;margin:0;font-weight:600}p{margin:0}a{color:var(--c-gold);text-decoration:none}a:hover{color:var(--c-gold-strong)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}::selection{background:#d9b45a59}.num{font-variant-numeric:tabular-nums}.muted{color:var(--c-text-muted)}.faint{color:var(--c-text-faint)}.mono{font-family:var(--font-mono);font-size:.92em}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.stack-sm{gap:var(--sp-2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--sp-3);display:flex}.row-wrap{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.spacer{flex:1}button,a,[role=button]{touch-action:manipulation}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-4);border-radius:var(--radius);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), opacity var(--transition);border:1px solid #0000;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{flex:none}.btn-primary{background:linear-gradient(180deg, var(--c-gold-strong) 0%, var(--c-gold) 55%, #c49a3f 100%);color:var(--c-gold-ink);border-color:#ffe6aa59;box-shadow:inset 0 1px #ffffff73,0 6px 20px #d9b45a2e}.btn-primary:not(:disabled):hover{background:linear-gradient(180deg, #f5d88f 0%, var(--c-gold-strong) 55%, var(--c-gold) 100%)}.btn-secondary{background:var(--c-surface-2);border-color:var(--c-border)}.btn-secondary:not(:disabled):hover{background:var(--c-surface-3);border-color:var(--c-border-strong)}.btn-ghost{color:var(--c-text-muted);background:0 0}.btn-ghost:not(:disabled):hover{background:var(--c-surface-2);color:var(--c-text)}.btn-danger{background:var(--c-danger-bg);color:var(--c-danger);border-color:#e5484d59}.btn-danger:not(:disabled):hover{background:#e5484d38}.btn-sm{min-height:32px;padding:0 var(--sp-3);font-size:var(--fs-xs)}.btn-lg{min-height:50px;padding:0 var(--sp-6);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-size:1rem;font-weight:600}.btn-block{width:100%}.btn-icon{width:36px;min-height:36px;padding:0}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:var(--fs-sm);color:var(--c-text-muted);font-weight:600}.field-hint{font-size:var(--fs-xs);color:var(--c-text-faint)}.field-error{font-size:var(--fs-xs);color:var(--c-danger)}.input{width:100%;min-height:46px;padding:0 var(--sp-3);border-radius:var(--radius);transition:border-color var(--transition);background:#00000052;border:1px solid #ffffff17;box-shadow:inset 0 1px 3px #00000059}.input:hover{border-color:var(--c-border-strong)}.input:focus{border-color:var(--c-gold);outline:none;box-shadow:0 0 0 3px #d9b45a2e}.input[aria-invalid=true]{border-color:var(--c-danger-strong)}.input::placeholder{color:var(--c-text-faint)}.chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.chip{min-height:36px;padding:0 var(--sp-3);background:var(--c-bg-raised);border:1px solid var(--c-border);border-radius:var(--radius-full);font-size:var(--fs-sm);cursor:pointer;transition:all var(--transition);align-items:center;gap:6px;display:inline-flex}.chip[aria-pressed=true]{border-color:var(--c-gold);color:var(--c-gold-strong);background:#d9b45a24}.switch{align-items:center;gap:var(--sp-2);cursor:pointer;font-size:var(--fs-sm);-webkit-user-select:none;user-select:none;display:inline-flex}.switch-track{background:var(--c-surface-3);border-radius:var(--radius-full);width:38px;height:22px;transition:background var(--transition);position:relative}.switch-track:after{content:"";background:var(--c-text);width:16px;height:16px;transition:transform var(--transition);border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--c-gold)}.switch input:checked+.switch-track:after{transform:translate(16px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--c-focus);outline-offset:2px}.card{border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--sp-5);background:#16171ae0;box-shadow:0 12px 30px #00000040}.card-title{margin-bottom:var(--sp-1);font-size:1.15rem}.card-flush{padding:0;overflow:hidden}.alert{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);font-size:var(--fs-sm);border:1px solid;display:flex}.alert-danger{background:var(--c-danger-bg);color:var(--c-danger);border-color:#e5484d59}.alert-info{background:var(--c-info-bg);color:var(--c-info);border-color:#6cb4ee59}.alert-success{background:var(--c-success-bg);color:var(--c-success);border-color:#3dd68c59}.badge{border-radius:var(--radius-full);font-size:var(--fs-xs);background:var(--c-surface-3);color:var(--c-text-muted);white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.badge-gold{color:var(--c-gold-strong);background:#d9b45a26}.badge-green{background:var(--c-success-bg);color:var(--c-success)}.badge-red{background:var(--c-danger-bg);color:var(--c-danger)}.badge-amber{background:var(--c-warning-bg);color:var(--c-warning)}.badge-blue{background:var(--c-info-bg);color:var(--c-info)}.avatar{color:#0b0f0d;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}img.avatar{object-fit:cover;background:var(--c-surface-3)}.avatar-ring{box-shadow:0 0 0 2px var(--c-bg), 0 0 0 4px var(--c-gold), 0 0 20px #d9b45a59}.dialog{width:min(520px, calc(100vw - 2 * var(--sp-4)));max-height:calc(100dvh - 2 * var(--sp-4));background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-gold-line);border-radius:var(--radius-lg);box-shadow:0 0 0 5px #0006, 0 0 0 6px var(--c-gold-line-soft), var(--shadow);padding:0}.dialog::backdrop{background:var(--c-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog-head{align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) 0;display:flex}.dialog-title{flex:1;font-size:1.25rem}.dialog-body{padding:var(--sp-5)}.dialog-foot{justify-content:flex-end;gap:var(--sp-2);padding:0 var(--sp-5) var(--sp-5);display:flex}.toasts{z-index:50;right:var(--sp-4);bottom:var(--sp-4);left:var(--sp-4);align-items:flex-end;gap:var(--sp-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--sp-3);max-width:420px;padding:var(--sp-3) var(--sp-4);background:var(--c-surface-2);border:1px solid var(--c-border-strong);border-left:4px solid var(--c-info);border-radius:var(--radius);box-shadow:var(--shadow);font-size:var(--fs-sm);pointer-events:auto;animation:.18s toast-in;display:flex}.toast-success{border-left-color:var(--c-success)}.toast-error{border-left-color:var(--c-danger-strong)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.spinner{border:3px solid var(--c-surface-3);border-top-color:var(--c-gold);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center-fill{place-items:center;min-height:40vh;animation:.2s .3s both fade-in;display:grid}@keyframes fade-in{0%{opacity:0}}.empty{place-items:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-4);text-align:center;color:var(--c-text-muted);display:grid}.qr{padding:var(--sp-3);border-radius:var(--radius);background:#fff;place-items:center;display:grid}.qr img{width:200px;height:200px;display:block}.copy-field{gap:var(--sp-2);display:flex}.copy-field .input{font-family:var(--font-mono);font-size:var(--fs-xs)}.app-main{width:100%;max-width:var(--page-max);min-height:100dvh;padding:0 max(var(--sp-4), env(safe-area-inset-left)) calc(var(--sp-10) + env(safe-area-inset-bottom));margin:0 auto}.grid-2{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.section-title{margin:var(--sp-8) 0 var(--sp-3);font-family:var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--c-gold);font-size:.78rem;font-weight:600}.top-edge{z-index:30;height:var(--sp-3);background:var(--c-bg-edge);display:none;position:fixed;top:0;left:0;right:0}@media (display-mode:standalone) and (pointer:coarse){.top-edge{display:block}}.screen-head-wrap{z-index:20;margin:0 calc(-1 * var(--sp-4)) var(--sp-4);padding:calc(var(--sp-3) + env(safe-area-inset-top)) var(--sp-4) var(--sp-5);position:sticky;top:0}.screen-head-wrap.is-static{position:relative}.screen-head-wrap:before{content:"";z-index:-1;background:var(--c-bg-edge);opacity:0;pointer-events:none;width:100vw;transition:opacity .15s;position:absolute;top:0;bottom:0;left:50%;translate:-50%;box-shadow:0 1px #ffffff0d}.is-scrolled .screen-head-wrap:not(.is-static):before{opacity:1}.screen-head{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4) var(--sp-2) var(--sp-2);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);border:1px solid var(--c-gold-line);background:#0e0e10d1;border-radius:22px;display:flex;position:relative;box-shadow:0 0 0 5px #0000004d,0 16px 40px #00000080,inset 0 1px #ffffff0d}.back-button{border:1px solid var(--c-gold-line);width:44px;height:44px;color:var(--c-gold-strong);transition:background var(--transition), translate var(--transition);background:radial-gradient(circle at 35% 30%,#ecc97829,#0003);border-radius:50%;flex:none;place-items:center;display:grid}.back-button:hover{color:var(--c-gold-strong);background:radial-gradient(circle at 35% 30%,#ecc97847,#0003)}.back-button:active{translate:-2px}.screen-leading{flex:none;display:flex}.screen-titles{flex:1;min-width:0}.search-head-field{align-items:center;gap:var(--sp-2);min-width:0;min-height:44px;padding:0 var(--sp-3);color:var(--c-text-faint);transition:border-color var(--transition);background:#00000052;border:1px solid #ffffff17;border-radius:999px;flex:1;display:flex}.search-head-field:focus-within{border-color:var(--c-gold)}.search-head-field input{min-width:0;min-height:42px;color:var(--c-text);font-size:var(--fs-md);background:0 0;border:0;outline:none;flex:1}.screen-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--c-ivory);white-space:nowrap;text-overflow:ellipsis;font-size:1.45rem;font-weight:600;line-height:1.15;overflow:hidden}.screen-sub{color:var(--c-text-muted);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;overflow:hidden}.screen-actions{align-items:center;gap:var(--sp-2);flex:none;display:flex}.screen-head-compact{gap:var(--sp-2);padding-right:var(--sp-2)}.screen-head.screen-head-compact .screen-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.2rem;line-height:1.1;display:-webkit-box}.app-error{padding-top:calc(var(--sp-8) + env(safe-area-inset-top))}.home-brand{padding:calc(var(--sp-8) + env(safe-area-inset-top)) 0 var(--sp-8);place-items:center;display:grid}.home-brand .brand-logo{width:104px}.home-foot{margin-top:var(--sp-10);text-align:center;font-size:var(--fs-xs);color:var(--c-text-faint)}.profile-card{padding:var(--sp-5);color:inherit;transition:border-color var(--transition), translate var(--transition);background:radial-gradient(120% 90% at 0 0,#d9b45a1f,#0000 55%),linear-gradient(#18181bf2,#0c0c0ef5);border:1px solid #d9b45a4d;border-radius:18px;display:block;position:relative;box-shadow:0 0 0 5px #0006,0 0 0 6px #d9b45a14,0 24px 60px #00000080}a.profile-card:hover{color:inherit;border-color:#d9b45a8c}a.profile-card:active{translate:0 1px}.profile-top{align-items:center;gap:var(--sp-4);display:flex}.profile-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--c-ivory);text-overflow:ellipsis;white-space:nowrap;font-size:1.6rem;font-weight:600;line-height:1.15;overflow:hidden}.profile-chevron{color:var(--c-gold);flex:none;margin-left:auto}.balance{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid #d9b45a2e;display:flex}.balance:first-child{border-top:none;margin-top:0;padding-top:0}.balance-label{font-family:var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--c-gold);font-size:.75rem;font-weight:600}.balance-amount{align-items:baseline;gap:var(--sp-2);display:inline-flex}.balance-value{font-family:var(--font-display);letter-spacing:-.02em;color:var(--c-ivory);font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:600;line-height:1}.balance-unit{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--c-text-muted);font-size:.8rem;font-weight:600}.home-tiles{margin-top:var(--sp-6)}.tiles{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.home-tile{justify-content:center;align-items:center;gap:var(--sp-2);min-height:140px;padding:var(--sp-5) var(--sp-4);text-align:center;border:1px solid var(--c-border);transition:border-color var(--transition), translate var(--transition);background:linear-gradient(#1a1a1eeb,#0e0e10f0);border-radius:18px;flex-direction:column;display:flex;position:relative;box-shadow:0 14px 34px #00000059}.home-tile:hover{border-color:var(--c-gold-line)}.home-tile:active{translate:0 1px}.home-tile-link{align-items:center;gap:var(--sp-3);color:inherit;flex-direction:column;display:flex}.home-tile-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.home-tile-link:hover{color:inherit}.home-tile-title{font-family:var(--font-display);letter-spacing:-.005em;font-size:1.15rem;font-weight:600;line-height:1.2}.home-tile-info{color:var(--c-text-muted);font-size:var(--fs-sm)}.home-tile-action{z-index:1;top:var(--sp-3);right:var(--sp-3);color:#1a1305;background:linear-gradient(#f5dc97 0%,#dcb65c 50%,#b88f3a 100%);border:1px solid #ffecb899;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;box-shadow:inset 0 1px #fff9,0 6px 16px #d9b45a40}.home-tile-action:hover{color:#1a1305;filter:brightness(1.06)}.option-list{border:1px solid var(--c-border);background:linear-gradient(#18181beb,#0e0e10f0);border-radius:16px;overflow:hidden}.option{align-items:center;gap:var(--sp-3);width:100%;min-height:58px;padding:var(--sp-3) var(--sp-4);border:none;border-bottom:1px solid var(--c-border);color:var(--c-text);font-size:var(--fs-md);text-align:left;background:0 0;display:flex}.option:last-child{border-bottom:none}button.option,a.option{cursor:pointer;transition:background var(--transition)}a.option,a.option:hover{color:var(--c-text)}button.option:hover:not(:disabled),a.option:hover{background:#ffffff08}button.option:disabled{opacity:.5;cursor:wait}.option-icon{width:36px;height:36px;color:var(--c-gold-strong);background:#d9b45a1a;border:1px solid #d9b45a33;border-radius:10px;flex:none;place-items:center;display:grid}.option-label{flex:1;min-width:0}.option-value{min-width:0;color:var(--c-text-muted);font-size:var(--fs-sm);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;overflow:hidden}.option-label-fixed{flex:1 0 auto}.option-chevron{color:var(--c-text-faint)}.user-row-name{font-weight:600;display:block}.user-row-meta{color:var(--c-text-faint);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.audit-time{width:64px;color:var(--c-text-faint);font-size:var(--fs-xs);flex:none}.audit-details{white-space:pre-wrap;word-break:break-word;text-align:left;max-width:260px;display:block}.conn-notice{z-index:40;left:50%;bottom:calc(var(--sp-4) + env(safe-area-inset-bottom));align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-full);box-shadow:var(--shadow);color:var(--c-warning);font-size:var(--fs-sm);white-space:nowrap;background:#141417f2;border:1px solid #f5b54466;animation:.18s toast-in;display:flex;position:fixed;translate:-50%}.conn-dot{background:var(--c-warning);border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulse-amber}@keyframes pulse-amber{50%{opacity:.3}}.option-danger{color:var(--c-danger)}.option-danger .option-icon{color:var(--c-danger);background:var(--c-danger-bg);border-color:#e5484d4d}.amount-plus{color:var(--c-success)}.amount-minus{color:var(--c-danger)}.history-day{margin-top:var(--sp-6)}.history-icon{background:color-mix(in srgb, currentColor 12%, transparent);border:1px solid;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.history-icon-lg{width:60px;height:60px}.history-amount{font-family:var(--font-display);flex-direction:column;flex:none;align-items:flex-end;gap:2px;font-size:1.05rem;font-weight:600;display:flex}.history-after{font-family:var(--font);font-weight:400;font-size:var(--fs-xs);color:var(--c-text-faint)}.tx-hero{justify-items:center;gap:var(--sp-2);padding:var(--sp-4) 0 var(--sp-2);text-align:center;display:grid}.tx-amount{align-items:baseline;gap:var(--sp-2);font-family:var(--font-display);letter-spacing:-.02em;font-size:2.6rem;font-weight:600;line-height:1.1;display:inline-flex}.profile-hero{justify-items:center;gap:var(--sp-2);text-align:center;display:grid}.avatar-edit{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;position:relative}.avatar-edit-badge{color:#1a1305;border:2px solid var(--c-bg);background:linear-gradient(#f5dc97,#c9a043);border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;bottom:2px;right:2px}.profile-hero .profile-name{margin-top:var(--sp-3);font-size:2rem}@media (max-width:400px){.screen-title{font-size:1.6rem}}.my-code{justify-items:center;gap:var(--sp-3);padding-top:var(--sp-4);text-align:center;display:grid}.my-code-qr .qr{width:calc(min(72vw, 300px) + 2 * var(--sp-4));aspect-ratio:1;padding:var(--sp-4);border-radius:calc(var(--radius) * 1.5);box-shadow:0 0 0 1px #d9b45a59,0 12px 40px #00000073}.my-code-qr .qr img{width:100%;height:100%}.pair-qr{transition:opacity var(--transition);justify-items:center;display:grid}.pair-qr .qr img{width:240px;height:240px}.pair-qr-expired{opacity:.25}.pair-countdown{text-align:center}.pair-done{text-align:center;align-items:center}.section-note{margin:var(--sp-2) var(--sp-2) 0;font-size:.85rem;line-height:1.45}.head-actions{gap:6px;display:flex}.head-action{width:40px;height:40px;color:var(--c-gold-strong);cursor:pointer;border:1px solid var(--c-gold-line);transition:border-color var(--transition);background:radial-gradient(circle at 35% 30%,#ecc97829,#0003);border-radius:50%;flex:none;place-items:center;display:grid}.head-action:hover{border-color:#d9b45a8c}.head-action-danger{color:var(--c-danger);background:radial-gradient(circle at 35% 30%,#f06a6a2e,#0003);border-color:#e5484d73}.head-action-danger:hover{border-color:#e5484dcc}.seat-row{gap:var(--sp-3)}.seat-free{color:var(--c-text-faint)}.swipe-row{border-bottom:1px solid var(--c-border);position:relative;overflow:hidden}.swipe-row:last-child{border-bottom:none}.swipe-content{background:var(--c-surface);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative}.swipe-content.is-settling{transition:transform .2s ease-out}.swipe-action{justify-content:flex-end;align-items:center;gap:var(--sp-2);padding:0 var(--sp-5);color:#fff;transition:background var(--transition);background:#e5484d73;font-weight:600;display:flex;position:absolute;inset:0}.swipe-action.is-armed{background:#e5484d}.seat-no{width:28px;height:28px;font-size:var(--fs-xs);color:var(--c-gold);border:1px solid var(--c-gold-line);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:inline-grid}.seat-free .seat-no{color:var(--c-text-faint);border-color:var(--c-border)}.seat-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.seat-balance{font-family:var(--font-display);color:var(--c-gold-strong);font-weight:600}.app-main:has(>.booking-screen){height:100dvh;padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom));flex-direction:column;display:flex;overflow:hidden}.app-main:has(>.booking-screen)>.screen-head-wrap{padding-bottom:var(--sp-3);flex:none;margin-bottom:0}.booking-screen{gap:var(--sp-2);flex-direction:column;flex:1;min-height:0;display:flex}.keypad{gap:var(--sp-2);flex:1;grid-template-rows:repeat(4,minmax(44px,1fr));grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;display:grid}.keypad-key{font:inherit;font-family:var(--font-display);color:var(--c-ivory);cursor:pointer;border:1px solid var(--c-border);transition:background var(--transition);touch-action:manipulation;background:linear-gradient(#222328f2,#141518f2);border-radius:14px;place-items:center;font-size:clamp(1.3rem,3.4vh,1.7rem);font-weight:600;display:grid}.keypad-key:active{background:var(--c-surface-3)}.keypad-key-muted{color:var(--c-text-muted);font-size:1.15rem}.scanner{aspect-ratio:3/4;border-radius:var(--radius-lg);background:#000;position:relative;overflow:hidden}.scanner-video{object-fit:cover;width:100%;height:100%;display:block}.scanner-frame{border:3px solid var(--c-gold-strong);border-radius:18px;position:absolute;inset:20% 14%;box-shadow:0 0 0 999px #00000059}.scanner-hint{right:0;bottom:var(--sp-3);color:#fff;text-align:center;position:absolute;left:0}.nfc-wait{justify-items:center;gap:var(--sp-3);padding:var(--sp-4) 0;text-align:center;display:grid}.nfc-pulse{width:84px;height:84px;color:var(--c-gold-strong);border:1px solid var(--c-gold-line);border-radius:50%;place-items:center;animation:1.6s ease-out infinite nfc-pulse;display:grid}@keyframes nfc-pulse{0%{box-shadow:0 0 #ecc97873}to{box-shadow:0 0 0 26px #ecc97800}}@media (prefers-reduced-motion:reduce){.nfc-pulse{animation:none}}.idle-warning{gap:var(--sp-2);margin-bottom:var(--sp-4);display:grid}.brand-logo{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;flex:none;height:auto;display:block}.logo-glow{isolation:isolate;place-items:center;display:grid;position:relative}.logo-glow:after{content:"";z-index:-1;background:radial-gradient(circle at 50% 38%,#1b1b1e 0%,#0c0c0d 72%);border-radius:50%;position:absolute;inset:.5%;box-shadow:0 0 0 1px #ffe4a08c,0 0 14px 2px #ecc9788c,0 0 42px 6px #d9b45a4d,0 0 100px 18px #d9b45a24}.logo-glow:before{content:"";z-index:-2;background:radial-gradient(circle,#0000 50%,#ecc97829 56%,#d9b45a0f 66%,#0000 74%);border-radius:50%;animation:4.5s ease-in-out infinite alternate glow-breathe;position:absolute;inset:-20%}@keyframes glow-breathe{0%{opacity:.55;scale:.97}to{opacity:1;scale:1.03}}@media (prefers-reduced-motion:reduce){.logo-glow:before{animation:none}}.auth-page{min-height:100dvh;padding:calc(var(--sp-8) + env(safe-area-inset-top)) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom));place-items:center;display:grid;position:relative;overflow:hidden}.auth-card{z-index:1;width:min(400px,100%);position:relative}.auth-logo{margin-bottom:var(--sp-10);place-items:center;display:grid}.auth-logo .brand-logo{width:min(240px,52vw);animation:.7s cubic-bezier(.2,.8,.2,1) both logo-in}@keyframes logo-in{0%{opacity:0;scale:.92}}.auth-panel{gap:var(--sp-5);padding:var(--sp-8) var(--sp-8) var(--sp-8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(120% 60% at 50% 0,#d9b45a12,#0000 60%),linear-gradient(#161619f0 0%,#0a0a0cf5 100%);border:1px solid #d9b45a52;border-radius:6px;flex-direction:column;display:flex;position:relative;box-shadow:0 0 0 6px #00000073,0 0 0 7px #d9b45a1a,0 40px 90px #0009,inset 0 1px #ffffff0a}@media (max-width:480px){.auth-panel{padding:var(--sp-8) var(--sp-5) var(--sp-6)}}.auth-panel:before{--c:var(--c-gold);--l:22px;--w:2px;content:"";pointer-events:none;background:linear-gradient(var(--c), var(--c)) top left / var(--l) var(--w) no-repeat, linear-gradient(var(--c), var(--c)) top left / var(--w) var(--l) no-repeat, linear-gradient(var(--c), var(--c)) top right / var(--l) var(--w) no-repeat, linear-gradient(var(--c), var(--c)) top right / var(--w) var(--l) no-repeat, linear-gradient(var(--c), var(--c)) bottom left / var(--l) var(--w) no-repeat, linear-gradient(var(--c), var(--c)) bottom left / var(--w) var(--l) no-repeat, linear-gradient(var(--c), var(--c)) bottom right / var(--l) var(--w) no-repeat, linear-gradient(var(--c), var(--c)) bottom right / var(--w) var(--l) no-repeat;opacity:.75;position:absolute;inset:7px}.auth-panel:after{content:"";background:linear-gradient(135deg, #f7e2a6, var(--c-gold) 55%, #9c7a2f);width:11px;height:11px;position:absolute;top:-6px;left:50%;translate:-50%;rotate:45deg;box-shadow:0 0 12px #ecc97899}.auth-title{font-family:var(--font-display);letter-spacing:-.01em;text-align:center;color:var(--c-ivory);font-size:1.5rem;font-weight:600}.lux-field{flex-direction:column;gap:6px;display:flex}.lux-control{position:relative}.lux-control input{width:100%;height:60px;color:var(--c-ivory);letter-spacing:.02em;caret-color:var(--c-gold-strong);transition:border-color var(--transition), box-shadow var(--transition);background:linear-gradient(#00000080,#00000047);border:1px solid #ffffff14;border-radius:10px;padding:22px 48px 6px;font-size:1.02rem;box-shadow:inset 0 2px 6px #00000073}.lux-control input:hover{border-color:#d9b45a40}.lux-control input:focus{border-color:#d9b45ab3;outline:none;box-shadow:inset 0 2px 6px #00000073,0 0 0 3px #d9b45a1f,0 0 24px #d9b45a1f}.lux-control input[aria-invalid=true]{border-color:var(--c-danger-strong)}.lux-control input:-webkit-autofill{-webkit-text-fill-color:var(--c-ivory);transition:background-color 9999s;box-shadow:inset 0 0 0 100px #0e0e10,inset 0 2px 6px #00000073}.lux-control label{color:var(--c-text-faint);pointer-events:none;font-size:1rem;transition:all .16s;position:absolute;top:50%;left:48px;translate:0 -50%}:-webkit-any(.lux-control input:focus+label,.lux-control input:not(:placeholder-shown)+label,.lux-control input:-webkit-autofill+label){font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--c-gold);font-size:.66rem;font-weight:600;top:17px;translate:0}:is(.lux-control input:focus+label,.lux-control input:not(:placeholder-shown)+label,.lux-control input:autofill+label){font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--c-gold);font-size:.66rem;font-weight:600;top:17px;translate:0}.lux-icon{color:var(--c-text-faint);pointer-events:none;transition:color var(--transition);position:absolute;top:50%;left:17px;translate:0 -50%}.lux-control:focus-within .lux-icon{color:var(--c-gold)}.lux-toggle{width:36px;height:36px;color:var(--c-text-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:8px;translate:0 -50%}.lux-toggle:hover,.lux-toggle[aria-pressed=true]{color:var(--c-gold-strong)}.btn-lux{min-height:56px;margin-top:var(--sp-2);color:#1a1305;font-family:var(--font-display);letter-spacing:.24em;text-transform:uppercase;transition:box-shadow var(--transition), translate var(--transition), filter var(--transition);background:linear-gradient(#f5dc97 0%,#dcb65c 46%,#b88f3a 100%);border:1px solid #ffecb8a6;border-radius:10px;font-size:1rem;font-weight:600;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffa6,inset 0 -2px #0000002e,0 12px 32px #d9b45a38}.btn-lux svg{transition:translate var(--transition)}.btn-lux:not(:disabled):hover{filter:brightness(1.06);box-shadow:inset 0 1px #ffffffb3,inset 0 -2px #0000002e,0 14px 40px #d9b45a57}.btn-lux:not(:disabled):hover svg{translate:4px}.btn-lux:not(:disabled):active{translate:0 1px}.btn-lux:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff8c,#0000);width:45%;animation:1.1s .9s both lux-shine;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-18deg)}.btn-lux:not(:disabled):hover:after{animation:.9s both lux-shine}@keyframes lux-shine{0%{left:-60%}to{left:130%}}@media (prefers-reduced-motion:reduce){.btn-lux:after{animation:none;display:none}}.tile-icon{width:48px;height:48px;color:var(--c-gold-strong);border:1px solid var(--c-gold-line);background:radial-gradient(circle at 35% 30%,#ecc97840,#d9b45a0f);border-radius:50%;flex:none;place-items:center;display:grid}.game-hint{color:#ff9b94;font-weight:600;animation:.2s ease-out both game-hint-in}@keyframes game-hint-in{0%{opacity:0;translate:0 3px}}.coins-bar{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--c-surface);border:1px solid var(--c-gold-line-soft);border-radius:14px;display:flex}.coins-bar-label{color:var(--c-text-muted);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase}.coins-bar-value{color:var(--c-gold-strong);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:600}.coins-bar-value small{color:var(--c-text-muted);font-size:var(--fs-xs);font-weight:500}.game-tiles{margin-top:var(--sp-2)}.game-tile{justify-content:flex-end;align-items:center;gap:var(--sp-2);min-height:176px;padding:var(--sp-3) var(--sp-3) var(--sp-4);color:var(--c-text);text-align:center;background:var(--tile-bg,linear-gradient(180deg, #1a1a1eeb, #0e0e10f0));border:1px solid var(--c-border);transition:border-color var(--transition), translate var(--transition);border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 34px #00000059}.game-tile:hover{color:var(--c-text);border-color:var(--c-gold-line)}.game-tile:active{translate:0 1px}.game-tile-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;line-height:1.2}.game-tile-roulette,.game-tile-craps,.game-tile-baccarat,.game-tile-blackjack,.game-tile-horserace{--tile-bg:radial-gradient(ellipse at 50% 30%, #1f8f5680, #082214eb 75%), #0b1c13}.game-tile-slots{--tile-bg:radial-gradient(ellipse at 50% 30%, #d8584f61, #260a08eb 75%), #180b0a}.game-tile-crash,.game-tile-coinflip,.game-tile-coinflip-duel,.game-tile-plinko,.game-tile-wheel{--tile-bg:radial-gradient(ellipse at 50% 30%, #ecc97829, #0e0e10f2 70%), #0f0f11}.scene{place-items:center;width:100%;height:108px;display:grid;position:relative}.scene-lw-wheel{filter:drop-shadow(0 6px 10px #00000080);width:94px;height:94px;animation:5s cubic-bezier(.15,.6,.2,1) infinite scene-lw-spin}.scene-lw-hub{fill:#15161a;stroke:var(--c-gold);stroke-width:2px}.scene-lw-pointer{background:var(--c-gold-strong);clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 2px 3px #0009);width:14px;height:14px;position:absolute;top:2px;left:calc(50% - 7px)}@keyframes scene-lw-spin{0%{rotate:0deg}to{rotate:720deg}}.scene-bj .pcard{--w:50px}.scene-bj-card{animation:4s ease-out infinite scene-bj-deal;position:absolute;top:18px}.scene-bj-card.is-first{left:calc(50% - 46px);rotate:-8deg}.scene-bj-card.is-second{animation-delay:.35s;left:calc(50% - 14px);rotate:7deg}.scene-bj-chip{width:30px;height:30px;color:var(--c-gold-ink);font-family:var(--font-display);background:radial-gradient(circle, var(--c-gold-strong) 55%, #a8812c 56%, #a8812c 64%, var(--c-gold-strong) 65%);border-radius:50%;place-items:center;font-size:12px;font-weight:800;animation:4s ease-out infinite scene-bj-chip;display:grid;position:absolute;bottom:10px;right:calc(50% - 64px);box-shadow:0 4px 10px #00000073}@keyframes scene-bj-deal{0%{opacity:0;translate:40px -30px}12%,85%{opacity:1;translate:0}to{opacity:0;translate:0}}@keyframes scene-bj-chip{0%,25%{opacity:0;scale:.4}35%,85%{opacity:1;scale:1}to{opacity:0}}.scene-plinko{place-items:start center}.scene-plinko-pegs{gap:8px;margin-top:10px;display:grid}.scene-plinko-row{justify-content:center;gap:10px;display:flex}.scene-plinko-peg{background:#f4efe6bf;border-radius:50%;width:4px;height:4px}.scene-plinko-ball{background:radial-gradient(circle at 35% 30%, #fff6d8, var(--c-gold-strong) 45%, #a8812c);border-radius:50%;width:10px;height:10px;animation:3.2s infinite scene-plinko-fall;position:absolute;top:0;left:calc(50% - 5px);box-shadow:0 0 10px #ecc978b3}.scene-plinko-buckets{gap:3px;display:flex;position:absolute;bottom:6px;left:50%;translate:-50%}.scene-plinko-buckets span{border-radius:3px;width:11px;height:9px}@keyframes scene-plinko-fall{0%{opacity:0;animation-timing-function:cubic-bezier(.5,0,.9,.6);transform:translateY(-8px)}8%{opacity:1;animation-timing-function:cubic-bezier(.2,.6,.6,1);transform:translateY(4px)}11%{animation-timing-function:cubic-bezier(.5,0,.9,.6);transform:translate(4px,1px)}18%{animation-timing-function:cubic-bezier(.2,.6,.6,1);transform:translate(7px,16px)}21%{animation-timing-function:cubic-bezier(.5,0,.9,.6);transform:translate(3px,13px)}28%{animation-timing-function:cubic-bezier(.2,.6,.6,1);transform:translateY(28px)}31%{animation-timing-function:cubic-bezier(.5,0,.9,.6);transform:translate(4px,25px)}38%{animation-timing-function:cubic-bezier(.2,.6,.6,1);transform:translate(7px,40px)}41%{animation-timing-function:cubic-bezier(.5,0,.9,.6);transform:translate(11px,37px)}48%{animation-timing-function:cubic-bezier(.2,.6,.6,1);transform:translate(14px,52px)}51%{animation-timing-function:cubic-bezier(.5,0,.9,.6);transform:translate(18px,49px)}60%{transform:translate(21px,74px)}82%{opacity:1;transform:translate(21px,74px)}92%,to{opacity:0;transform:translate(21px,74px)}}.scene-wheel{filter:drop-shadow(0 6px 10px #00000080);width:96px;height:96px;animation:16s linear infinite scene-spin}.scene-wheel-rim{fill:#3b2718;stroke:var(--c-gold);stroke-width:1.5px}.scene-wheel-cone{fill:#6b4a24;stroke:var(--c-gold);stroke-width:1px}.scene-wheel-hub{fill:var(--c-gold-strong)}.scene-ball-orbit{width:72px;height:72px;animation:3.4s linear infinite reverse scene-spin;position:absolute}.scene-ball{background:#fdfdfb;border-radius:50%;width:7px;height:7px;margin-left:-3.5px;position:absolute;top:0;left:50%;box-shadow:0 1px 2px #0009}.scene-crash-box{width:100px;height:70px;position:relative;scale:1.3}.scene-crash svg{width:100px;height:70px;overflow:visible}.scene-crash-axis{fill:none;stroke:var(--c-border-strong);stroke-width:1px}.scene-crash-grid{fill:none;stroke:#ffffff14;stroke-dasharray:2 3}.scene-crash-line{fill:none;stroke:var(--c-gold-strong);stroke-width:3px;stroke-linecap:round;stroke-dasharray:100;filter:drop-shadow(0 0 4px #ecc97899);animation:4s ease-in infinite scene-crash-draw}.scene-crash-tip{offset-rotate:0deg;background:#fff6dc;border-radius:50%;width:9px;height:9px;animation:4s ease-in infinite scene-crash-tip;position:absolute;top:0;left:0;box-shadow:0 0 0 2px #ecc97880,0 0 12px 3px #ecc978b3}.scene-crash-boom{opacity:0;background:radial-gradient(circle,#fff3c4 0 12%,#ff9d3b 24%,#ff5a52cc 42%,#0000 70%);border-radius:50%;width:26px;height:26px;animation:4s ease-out infinite scene-boom;position:absolute;top:12px;left:92px;translate:-50% -50%}.scene-craps{justify-content:center;align-items:flex-end;gap:14px;padding-bottom:14px;display:flex}.scene-die{animation:1.8s cubic-bezier(.3,.7,.4,1) infinite scene-hop;display:grid}.scene-die.is-second{animation-delay:.9s}.scene-craps .scene-die .die{border-radius:9px;gap:2px;width:40px;height:40px;padding:6px;animation:none}.scene-die .pip{width:7px;height:7px}.scene-race{align-content:center;place-items:stretch stretch;gap:5px;padding:0 8px;display:grid}.scene-race-lane{background:linear-gradient(#9a7650,#7a5b3b);border-radius:5px;height:26px;position:relative;overflow:hidden}.scene-race-lane:after{content:"";background:repeating-conic-gradient(#fff 0 25%, #111 0 50%) 0 0 / 6px 6px;width:6px;position:absolute;top:0;bottom:0;right:0}.scene-race-horse{font-size:20px;line-height:1;animation:2.6s linear infinite scene-gallop;position:absolute;top:50%;left:0;transform:scaleX(-1)translateY(-55%)}.scene-race-horse.is-1{animation-duration:3.1s;animation-delay:-1s}.scene-race-horse.is-2{animation-duration:2.2s;animation-delay:-.5s}@keyframes scene-gallop{0%{left:-26px}to{left:100%}}.scene-bac{justify-content:center;display:flex}.scene-bac .pcard{--w:56px}.scene-card.is-left{translate:10px 4px;rotate:-9deg}.scene-card.is-right{translate:-10px;rotate:9deg}.scene-card .pcard-inner{animation:4s ease-in-out infinite scene-card-flip}.scene-card.is-right .pcard-inner{animation-delay:2s}.scene-card .pcard-front,.scene-card .pcard-back{transition:none}.scene-card .pcard-front{animation:4s step-end infinite scene-card-front}.scene-card .pcard-back{opacity:1;animation:4s step-end infinite scene-card-back}.scene-card.is-right .pcard-front,.scene-card.is-right .pcard-back{animation-delay:2s}@keyframes scene-card-front{0%{opacity:1}40%{opacity:0}85%{opacity:1}}@keyframes scene-card-back{0%{opacity:0}40%{opacity:1}85%{opacity:0}}@keyframes scene-card-flip{0%,35%,90%,to{transform:rotateY(0)}45%,80%{transform:rotateY(180deg)}}.scene-coin{perspective:600px}.scene .coin{--coin:64px;display:block}.scene-coin-toss{animation:2.4s ease-in-out infinite scene-toss}.scene-coin-spin{animation:2.4s linear infinite scene-flip}.scene-coin-shadow{background:radial-gradient(#0000008c,#0000 70%);border-radius:50%;width:50px;height:8px;animation:2.4s ease-in-out infinite scene-shadow;position:absolute;bottom:6px}.scene-duel{perspective:600px;grid-template-columns:1fr auto 1fr;align-items:end;padding:0 10px 14px}.scene-duel-player{width:42px;height:42px;color:var(--c-gold-strong);border:1.5px solid var(--c-gold-line);background:radial-gradient(circle at 35% 30%,#ecc97840,#0000004d);border-radius:50%;justify-self:start;place-items:center;display:grid}.scene-duel-player.is-right{justify-self:end}.scene-duel-vs{color:var(--c-text-muted);font-family:var(--font-display);letter-spacing:.1em;align-self:center;font-size:.8rem;font-weight:800}.scene-duel-coin{margin:-15px 0 0 -15px;animation:3s ease-in-out infinite scene-duel-arc;position:absolute;top:50%;left:50%}.scene-duel-coin .coin{--coin:30px}.scene-slots{justify-content:center;gap:6px;display:flex}.scene-reel{--cell:40px;width:36px;height:40px;box-shadow:inset 0 6px 8px #00000040, inset 0 -6px 8px #00000040, 0 0 0 2px #6d1f1a, 0 0 0 3px var(--c-gold);background:linear-gradient(#fff,#e9e4d8);border-radius:8px;overflow:hidden}.scene-reel-strip{flex-direction:column;animation:1.8s linear infinite scene-reel;display:flex}.scene-reel-strip.is-1{animation-duration:1.3s}.scene-reel-strip.is-2{animation-duration:2.3s}.scene-reel-cell{place-items:center;height:40px;display:grid}.scene-fallback{color:var(--c-gold-strong)}@keyframes scene-spin{to{rotate:360deg}}@keyframes scene-crash-draw{0%{stroke:var(--c-gold-strong);stroke-dashoffset:100px}70%{stroke:var(--c-gold-strong);stroke-dashoffset:0}74%,90%{stroke:#ff5a52;stroke-dashoffset:0;opacity:1}to{stroke:#ff5a52;stroke-dashoffset:0;opacity:0}}@keyframes scene-crash-tip{0%{offset-distance:0%;opacity:1}70%{offset-distance:100%;opacity:1}72%,to{offset-distance:100%;opacity:0}}@keyframes scene-boom{0%,70%{opacity:0;scale:.2}76%{opacity:1;scale:1.3}92%,to{opacity:0;scale:1.7}}@keyframes scene-hop{0%{translate:0;rotate:0deg}20%{translate:0 -30px;rotate:180deg}40%{translate:0;rotate:360deg}47%{translate:0 -6px;rotate:360deg}54%,to{translate:0;rotate:360deg}}@keyframes scene-toss{0%,to{translate:0 10px}50%{translate:0 -24px}}@keyframes scene-flip{to{transform:rotateX(1440deg)}}.scene-coin-spin .coin-face.is-heads{animation:2.4s step-end infinite scene-coin-heads}.scene-coin-spin .coin-face.is-tails{animation:2.4s step-end infinite scene-coin-tails}@keyframes scene-coin-heads{0%,18.75%,43.75%,68.75%,93.75%{opacity:1}6.25%,31.25%,56.25%,81.25%{opacity:0}}@keyframes scene-coin-tails{0%,18.75%,43.75%,68.75%,93.75%{opacity:0}6.25%,31.25%,56.25%,81.25%{opacity:1}}@keyframes scene-shadow{50%{opacity:.5;scale:.6}}@keyframes scene-duel-arc{0%,to{translate:-58px 12px}25%,75%{translate:0 -34px}50%{translate:58px 12px}}@keyframes scene-reel{to{translate:0 -50%}}.game-row-icon{width:44px;height:44px;color:var(--c-gold-strong);border:1px solid var(--c-gold-line);background:radial-gradient(circle at 35% 30%,#ecc97833,#00000040);border-radius:12px;flex:none;place-items:center;display:grid}.game-icon-roulette{color:#fff;background:radial-gradient(circle at 35% 30%,#2f8f5b,#0e3d25);border-color:#3dd68c59}.game-icon-slots{color:#fff;background:radial-gradient(circle at 35% 30%,#d8584f,#6d1f1a);border-color:#e5484d66}.game-icon-public{color:var(--c-success)}.game-row-name{align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-weight:600;display:flex}.chip-picker{justify-content:center;gap:var(--sp-2);margin:var(--sp-4) 0;flex-wrap:wrap;display:flex}.game-chip{--chip:#e9e4d8;--chip-ink:#1b1406;width:48px;height:48px;color:var(--chip-ink);font-family:var(--font-display);background:radial-gradient(circle, var(--chip) 0 54%, transparent 55%), repeating-conic-gradient(var(--chip) 0 22.5deg, #fff 22.5deg 45deg);cursor:pointer;transition:translate var(--transition), box-shadow var(--transition), opacity var(--transition);border:2px solid #00000059;border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid;position:relative;box-shadow:inset 0 0 0 4px #0000001f,0 3px 8px #00000073}.game-chip-1{--chip:#c9342c;--chip-ink:#fff}.game-chip-2{--chip:#2e5fb8;--chip-ink:#fff}.game-chip-3{--chip:#1f7a4a;--chip-ink:#fff}.game-chip-4{--chip:#1b1b1f;--chip-ink:#ecc978}.game-chip-5{--chip:#6c3fb5;--chip-ink:#fff}.game-chip.is-selected{box-shadow:inset 0 0 0 4px #0000001f, 0 0 0 3px var(--c-gold-strong), 0 0 18px #ecc9788c;translate:0 -4px}.game-chip:disabled{cursor:not-allowed;opacity:.45}.slot-machine{--cell:clamp(42px, calc((100vw - 124px) / 5), 84px);padding:var(--sp-4) 10px;border:2px solid var(--c-gold);box-shadow:0 0 0 5px #00000073, 0 0 0 6px var(--c-gold-line), 0 20px 50px #0000008c;background:linear-gradient(#ffffff0d,#0000 40%),linear-gradient(#2a1414 0%,#140a0a 100%);border-radius:22px;transition:box-shadow .4s}.slot-machine.is-win{box-shadow:0 0 0 5px #00000073, 0 0 0 6px var(--c-gold-strong), 0 0 42px #ecc9788c, 0 20px 50px #0000008c}.slot-window{grid-template-columns:repeat(5, var(--cell));justify-content:center;gap:6px;display:grid;position:relative}.slot-reel{height:calc(var(--cell) * 3);background:linear-gradient(#d9d4c8 0%,#fbf8f1 18% 82%,#cfc9bb 100%);border:1px solid #00000080;border-radius:10px;overflow:hidden;box-shadow:inset 0 8px 12px #0000004d,inset 0 -8px 12px #00000047}.slot-strip{filter:blur(1.5px);animation:.55s linear infinite slot-spin}.slot-landed{animation:.36s cubic-bezier(.2,1.4,.4,1) both slot-land}.slot-cell{height:var(--cell);place-items:center;transition:opacity .25s,background .25s;display:grid}.slot-cell.is-lit{background:radial-gradient(circle,#ffe18cbf,#ecc97826 70%);box-shadow:inset 0 0 0 2px #c49a3fe6}.slot-cell.is-dim{opacity:.35}.slot-emoji{font-size:calc(var(--cell) * .56);line-height:1}.slot-seven{color:#d8231c;font-family:var(--font-display);font-size:calc(var(--cell) * .72);text-shadow:0 2px #7a0f0b,0 0 1px #000;font-weight:800;line-height:1}.slot-bar{padding:calc(var(--cell) * .06) calc(var(--cell) * .1);color:#fff;font-family:var(--font-display);font-size:calc(var(--cell) * .24);letter-spacing:.04em;background:linear-gradient(#2b2b30,#0d0d0f);border:2px solid #c49a3f;border-radius:6px;font-weight:800}.slot-wild{padding:calc(var(--cell) * .08) calc(var(--cell) * .06);color:#3a2605;font-family:var(--font-display);font-size:calc(var(--cell) * .2);letter-spacing:.02em;background:linear-gradient(#fff1b8,#f0c24a 55%,#b8862a);border:1.5px solid #8a5f14;border-radius:7px;font-weight:900;transform:rotate(-8deg);box-shadow:0 0 10px #f0c24ab3}.slot-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.slot-lines polyline{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;opacity:.92;filter:drop-shadow(0 0 3px #000c);animation:.2s both fade-in}.slot-result{min-height:1.5em;margin-top:var(--sp-3);color:var(--c-text-muted);font-family:var(--font-display);text-align:center}.slot-result.is-win{color:var(--c-gold-strong);font-size:var(--fs-lg)}.slot-frame{grid-template-columns:16px auto 16px;justify-content:center;align-items:center;gap:4px;display:grid}.slot-markers{height:calc(var(--cell) * 3);flex-direction:column;justify-content:space-between;padding:2px 0;display:flex}.slot-marker{height:calc((var(--cell) * 3 - 4px) / 10 - 2px);color:#6f6a60;font-family:var(--font-display);background:#1b1310;border:1px solid #3a2a20;border-radius:4px;place-items:center;font-size:9px;font-weight:700;line-height:1;transition:background .2s,color .2s;display:grid}.slot-marker.is-on{color:#16120a;border-color:#00000059}.slot-marker.is-win{box-shadow:0 0 0 1.5px #fff,0 0 10px #ffffffd9}.slot-controls{justify-content:center;align-items:center;gap:var(--sp-4);margin-top:var(--sp-3);display:flex}.slot-step{color:#3a2605;width:48px;height:48px;font-family:var(--font-display);cursor:pointer;background:radial-gradient(circle at 35% 30%,#fff1b8,#f0c24a 55%,#b8862a);border:2px solid #8a5f14;border-radius:50%;place-items:center;padding:0;font-size:1.9rem;font-weight:700;line-height:1;transition:transform 80ms,box-shadow 80ms;display:grid;box-shadow:0 4px #6d4a0f,0 6px 14px #00000080}.slot-step:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px #6d4a0f,0 2px 6px #00000080}.slot-step:disabled{cursor:default;filter:grayscale(.8);opacity:.45}.slot-step-value{background:#0b0706;border:1px solid #4a3522;border-radius:10px;flex-direction:column;align-items:center;min-width:92px;padding:6px 14px;display:flex;box-shadow:inset 0 2px 8px #000c}.slot-step-value small{color:#a88a5a;letter-spacing:.18em;text-transform:uppercase;font-size:.65rem}.slot-step-value strong{color:#ffcf5a;font-family:var(--font-display);text-shadow:0 0 8px #ffbe3cb3;font-size:1.7rem;line-height:1.1}.slot-bet-label{margin:var(--sp-4) 0 0;color:var(--c-text-muted);font-size:var(--fs-sm);text-align:center}.slot-bet-label strong{color:var(--c-gold-strong)}.slot-spin{margin-top:0}.slot-paytable{--cell:38px}.slot-pay-symbol{flex:none;place-items:center;width:52px;display:grid}.slot-pay-values{justify-content:space-between;gap:var(--sp-2);flex:1;display:flex}.slot-pay-values small{color:var(--c-text-faint)}.slot-sketches{gap:var(--sp-2);grid-template-columns:repeat(5,1fr);display:grid}.slot-sketch-item{color:var(--c-text-faint);font-size:var(--fs-xs);flex-direction:column;align-items:center;gap:2px;display:flex}.slot-sketch{width:100%;height:auto}.slot-sketch-cell{fill:#2a2b30}.slot-sketch polyline{fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.slot-mini-row{--cell:26px;flex:none;align-items:center;gap:3px;display:inline-flex}@keyframes slot-spin{0%{translate:0}to{translate:0 calc(var(--cell) * -32)}}@keyframes slot-land{0%{translate:0 -30%}to{translate:0}}.roulette-stage{margin:0 calc(4px - var(--sp-4)) var(--sp-3);place-items:center;display:grid;position:relative}.roulette-wheel{filter:drop-shadow(0 18px 30px #0009);width:min(520px,100vw - 8px);height:auto}.rw-pocket{stroke:#ecc9788c;stroke-width:.8px}.rw-red{fill:#c0302a}.rw-black{fill:#151517}.rw-green{fill:#1c7a45}.rw-number{fill:#fff;font-family:var(--font-display);font-size:10px;font-weight:600}.rw-ball{fill:#fdfdfb;stroke:#00000059;stroke-width:.8px;filter:drop-shadow(0 1px 1px #0009)}.rn-badge{color:#fff;min-width:28px;height:28px;font-family:var(--font-display);font-size:var(--fs-sm);border-radius:var(--radius-full);place-items:center;padding:0 4px;font-weight:700;display:inline-grid}.rn-badge.is-large{border:3px solid var(--c-gold-strong);min-width:64px;height:64px;font-size:1.9rem;box-shadow:0 0 26px #ecc97880}.rn-red{background:#c0302a}.rn-black{background:#1a1a1d;box-shadow:inset 0 0 0 1px #3a3a3e}.rn-green{background:#1c7a45}.roulette-status{justify-content:center;align-items:center;gap:var(--sp-3);min-height:52px;color:var(--c-text-muted);font-family:var(--font-display);text-align:center;display:flex}.roulette-countdown{color:var(--c-gold-strong);font-size:2.2rem;font-weight:700;line-height:1}.roulette-progress{background:var(--c-surface-3);border-radius:var(--radius-full);width:140px;height:4px;margin-top:6px;display:block;overflow:hidden}.roulette-progress span{background:linear-gradient(90deg, var(--c-gold), var(--c-gold-strong));border-radius:inherit;height:100%;transition:width .25s linear;display:block}.roulette-status.is-running{color:var(--c-gold-strong)}.roulette-history{padding:2px 2px var(--sp-2);scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.roulette-history .rn-badge:first-child{box-shadow:0 0 0 2px var(--c-gold-strong)}.roulette-board{outline:2px solid var(--c-gold);transition:opacity var(--transition);background:#f4efe6cc;border:3px solid #0f4a2b;border-radius:12px;grid-template-rows:44px repeat(12,36px) 36px;grid-template-columns:34px 34px repeat(3,1fr);gap:2px;margin:6px;padding:2px;display:grid;box-shadow:0 0 0 6px #0b3a22,0 14px 36px #0000008c}.roulette-board.is-disabled{opacity:.72}.rb-cell{color:#fff;min-width:0;font-family:var(--font-display);font-size:var(--fs-md);background:var(--texture-grain), #176b3f;cursor:pointer;transition:filter var(--transition);border:none;border-radius:2px;place-items:center;padding:0;font-weight:600;display:grid;position:relative}.rb-cell:not(:disabled):active{filter:brightness(1.35)}.rb-cell:disabled{cursor:default}.rb-filler{background:var(--texture-grain), #0f4a2b}.rb-number.rb-red{background:#b82d27}.rb-number.rb-black{background:#161618}.rb-zero{z-index:1;font-size:var(--fs-lg);border-radius:40px 40px 2px 2px}.rb-side,.rb-column{font-size:var(--fs-sm)}.rb-vertical{white-space:nowrap;writing-mode:vertical-rl;letter-spacing:.04em;transform:rotate(180deg)}.rb-diamond{border:1.5px solid #ffffffd9;width:16px;height:16px;transform:rotate(45deg)scaleY(1.5)}.rb-diamond-red{background:#c9342c}.rb-diamond-black{background:#0d0d0f}.rb-cell.is-winning{z-index:1;box-shadow:inset 0 0 0 2px var(--c-gold-strong), 0 0 12px #ecc978b3;animation:.6s ease-in-out 3 rb-win}.rb-cell.is-hit{z-index:2;box-shadow:inset 0 0 0 3px var(--c-gold-strong), 0 0 22px #ecc978f2}.rb-chip{z-index:2;min-width:22px;height:22px;color:var(--c-gold-ink);font-family:var(--font-display);border-radius:var(--radius-full);background:radial-gradient(circle at 35% 30%,#f5dc97,#c49a3f);border:1.5px solid #fff;place-items:center;padding:0 3px;font-size:.64rem;font-weight:700;line-height:1;animation:.18s ease-out both rb-chip-in;display:grid;position:absolute;bottom:2px;right:2px;box-shadow:0 2px 4px #00000080}.rb-chip.is-others{color:#10233a;background:radial-gradient(circle at 35% 30%,#fff,#9fb3c8);border-color:#53708f;inset:2px auto auto 2px}.rb-chip.is-pending{color:#fff;background:#0000008c;border-style:dashed}.rb-side .rb-chip{right:50%;translate:50%}.rb-side .rb-chip.is-others{left:50%;translate:-50%}.roulette-legend{margin:var(--sp-2) 0 0;font-size:var(--fs-xs);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;display:flex}.rb-chip.is-inline{vertical-align:middle;margin-right:4px;animation:none;display:inline-grid;position:static;translate:none}@keyframes rb-win{50%{filter:brightness(1.7);box-shadow:inset 0 0 0 3px #fff3c4,0 0 26px #ffe18c}}@keyframes rb-chip-in{0%{opacity:0;scale:1.6}}.round-result{z-index:60;padding:var(--sp-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030304b8;place-items:center;animation:.25s both fade-in;display:grid;position:fixed;inset:0}.round-result-card{gap:var(--sp-3);width:min(440px,100%);max-height:calc(100dvh - 2 * var(--sp-4));padding:var(--sp-5) var(--sp-4) var(--sp-4);border:1px solid var(--c-gold-line);box-shadow:0 0 0 5px #00000073, 0 0 0 6px var(--c-gold-line-soft), 0 30px 70px #0009;background:linear-gradient(#1c1d21,#121316);border-radius:20px;flex-direction:column;animation:.35s cubic-bezier(.2,1.3,.4,1) both round-result-in;display:flex;overflow:auto}.round-result-kicker{color:var(--c-text-muted);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.12em;text-align:center;text-transform:uppercase;margin:0}.rrs-number{justify-content:center;align-items:center;gap:var(--sp-3);display:flex}.rrs-color{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700}.rn-text-red{color:#ff6b62}.rn-text-black{color:var(--c-text)}.rn-text-green{color:#3dd68c}.round-result-headline{align-items:center;gap:var(--sp-2);text-align:center;flex-direction:column;display:flex}.round-result-call{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700;line-height:1.15}.round-result-sub{color:var(--c-text-muted);font-size:var(--fs-sm)}.round-result-me{padding:var(--sp-3) var(--sp-4);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:14px;flex-direction:column;align-items:center;gap:2px;display:flex}.round-result-me.amount-plus{background:var(--c-success-bg);border-color:#3dd68c73}.round-result-me.amount-minus{background:var(--c-danger-bg);border-color:#e5484d73}.round-result-me-label{color:var(--c-text-muted);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase}.round-result-me strong{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700}.round-result-me strong small{font-size:var(--fs-sm);font-weight:600}.round-result-progress{background:var(--c-surface-3);border-radius:var(--radius-full);height:4px;display:block;overflow:hidden}.round-result-progress span{background:linear-gradient(90deg, var(--c-gold), var(--c-gold-strong));height:100%;transition:width .25s linear;display:block}.round-result-next{font-size:var(--fs-xs);text-align:center;margin:0}@keyframes round-result-in{0%{opacity:0;scale:.92}}.bet-bar{align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);border:1px solid var(--c-gold-line);background:#101013eb;border-radius:16px;display:flex;box-shadow:0 10px 30px #00000080}.bet-bar-sum{min-width:0;font-size:var(--fs-xs);flex-direction:column;flex:1;display:flex}.bet-bar-sum strong{color:var(--c-gold-strong);font-family:var(--font-display);font-size:var(--fs-md)}.crash-stage{margin:0 calc(6px - var(--sp-4)) var(--sp-3);border:1px solid var(--c-gold-line-soft);background:radial-gradient(120% 90% at 20% 100%,#ecc97812,#0000 60%),linear-gradient(#17181c,#0f1013);border-radius:20px;padding:6px 6px 2px;box-shadow:0 16px 36px #00000073}.crash-graph{position:relative}.crash-svg{width:100%;height:auto;display:block;overflow:visible}.crash-axis{stroke:var(--c-border-strong);stroke-width:1px}.crash-grid{stroke:#ffffff12;stroke-dasharray:3 4}.crash-axis-label{fill:var(--c-text-faint);font-family:var(--font-display);font-size:9px}.crash-fill-top{stop-color:#ecc97857}.crash-fill-bottom{stop-color:#ecc97800}.crash-line{fill:none;stroke:var(--c-gold-strong);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px #ecc9788c)}.crash-graph.is-crashed .crash-line{stroke:#ff5a52;filter:drop-shadow(0 0 6px #ff5a5280)}.crash-graph.is-crashed .crash-fill-top{stop-color:#ff5a524d}.crash-graph.is-crashed .crash-fill-bottom{stop-color:#ff5a5200}.crash-marks{pointer-events:none;position:absolute;inset:0}.crash-mark{--lvl:0;box-shadow:0 0 0 2px var(--c-success), 0 3px 10px #0000008c;border-radius:50%;animation:.35s cubic-bezier(.2,1.4,.4,1) both crash-pop;display:grid;position:absolute;translate:-50% -50%}.crash-mark.is-me{z-index:1;box-shadow:0 0 0 2px var(--c-gold-strong), 0 0 14px #ecc97899}.crash-mark-label{bottom:calc(100% + 4px + var(--lvl) * 17px);color:#06140c;font-family:var(--font-display);white-space:nowrap;background:var(--c-success);border-radius:var(--radius-full);padding:1px 5px;font-size:10px;font-weight:700;line-height:1.4;position:absolute;left:50%;translate:-50%}.crash-mark.is-below .crash-mark-label{top:calc(100% + 4px + var(--lvl) * 17px);bottom:auto}.crash-mark.is-me .crash-mark-label{color:var(--c-gold-ink);background:var(--c-gold-strong)}.crash-tip{background:#fff6dc;border-radius:50%;width:12px;height:12px;animation:.8s ease-in-out infinite alternate crash-tip;position:absolute;translate:-50% -50%;box-shadow:0 0 0 3px #ecc9788c,0 0 18px 4px #ecc978b3}.crash-boom{background:radial-gradient(circle,#fff3c4 0 12%,#ff9d3b 24%,#ff5a52cc 42%,#0000 70%);border-radius:50%;width:46px;height:46px;animation:.5s ease-out both crash-boom;position:absolute;translate:-50% -50%}.crash-rider{border-radius:50%;display:grid;position:absolute;translate:-50% -50%;box-shadow:0 0 0 2px #121316}.crash-rider.is-me{box-shadow:0 0 0 2px var(--c-gold-strong)}.crash-rider.is-lead{box-shadow:0 0 0 2px var(--c-gold-strong), 0 0 18px 4px #ecc978a6}.crash-rider-more{color:var(--c-text);font-family:var(--font-display);background:var(--c-surface-3);border-radius:var(--radius-full);padding:0 5px;font-size:10px;font-weight:700;position:absolute;translate:8px -150%}.crash-graph.is-crashed .crash-rider{filter:grayscale();opacity:.6}.crash-center{pointer-events:none;text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;top:2%;left:8%;right:8%}.crash-kicker{color:var(--c-text-muted);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase}.crash-graph.is-crashed .crash-kicker{color:#ff7a72}.crash-multiplier{color:var(--c-text);font-family:var(--font-display);text-shadow:0 0 26px #ecc97859;font-size:clamp(2.4rem,12vw,3.3rem);font-weight:800;line-height:1.05}.crash-multiplier.is-crashed{color:#ff5a52;text-shadow:0 0 26px #ff5a5266}.crash-countdown{color:var(--c-gold-strong);font-family:var(--font-display);font-size:2.2rem;font-weight:700;line-height:1.1}.crash-next{font-size:var(--fs-sm);margin-top:2px}.crash-history{padding:2px 2px var(--sp-2);margin-bottom:var(--sp-2);scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.crash-pill{font-family:var(--font-display);font-size:var(--fs-xs);border-radius:var(--radius-full);flex:none;padding:3px 9px;font-weight:700}.crash-pill.is-low{color:#ff7a72;background:var(--c-danger-bg)}.crash-pill.is-mid{color:var(--c-gold-strong);background:#ecc9781f}.crash-pill.is-high{color:var(--c-success);background:var(--c-success-bg)}.crash-pill:first-child{box-shadow:0 0 0 1px}.crash-auto{gap:var(--sp-2);flex-direction:column;display:flex}.crash-auto-label{color:var(--c-text-muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}.crash-auto-options{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.crash-auto-option{height:38px;color:var(--c-text-muted);font-family:var(--font-display);font-size:var(--fs-sm);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:10px;font-weight:600}.crash-auto-option.is-selected{color:var(--c-gold-strong);border-color:var(--c-gold);background:#ecc9781f}.crash-auto-option:disabled{cursor:not-allowed;opacity:.5}.crash-cashout{width:100%;margin-top:var(--sp-4);padding:12px var(--sp-4) 10px;color:var(--c-gold-ink);font-family:var(--font-display);cursor:pointer;background:linear-gradient(#f6dc98,#d9b45a);border:0;border-radius:18px;justify-items:center;gap:1px;transition:scale .1s;animation:1.2s ease-in-out infinite alternate crash-cashout;display:grid;box-shadow:0 0 0 1px #00000059,0 10px 28px #ecc97847}.crash-cashout:active{scale:.98}.crash-cashout:disabled{cursor:progress;opacity:.75;animation:none}.crash-cashout-label{font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;font-weight:700}.crash-cashout-value{font-size:1.9rem;font-weight:800;line-height:1.1}.crash-cashout-value small{font-size:.9rem}.crash-cashout-meta{font-size:var(--fs-xs);opacity:.7}.crash-info{min-height:60px;margin-top:var(--sp-4)}.crash-info .bet-bar-sum strong.amount-plus{color:var(--c-success)}.crash-info .bet-bar-sum strong.amount-minus{color:var(--c-danger)}.crash-row.is-lost{opacity:.7}@keyframes crash-pop{0%{opacity:0;scale:.4}}@keyframes crash-tip{to{box-shadow:0 0 0 5px #ecc97859,0 0 26px 8px #ecc97899}}@keyframes crash-boom{0%{opacity:0;scale:.2}60%{opacity:1;scale:1.4}}@keyframes crash-cashout{to{box-shadow:0 0 0 1px #00000059,0 10px 34px #ecc97880}}.craps-stage{justify-items:center;gap:var(--sp-3);margin:0 calc(6px - var(--sp-4)) var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-4);border:1px solid var(--c-gold-line-soft);background:radial-gradient(120% 90% at 50% 100%,#176b3f38,#0000 65%),linear-gradient(#17181c,#0f1013);border-radius:20px;display:grid;box-shadow:0 16px 36px #00000073}.craps-stage-head{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;display:flex}.craps-phase{color:var(--c-text-muted);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;background:var(--c-surface-2);border-radius:var(--radius-full);padding:3px 10px;font-weight:700}.craps-phase.is-point{color:var(--c-gold-ink);background:var(--c-gold-strong)}.craps-shooter{align-items:center;gap:var(--sp-2);min-width:0;font-size:var(--fs-sm);text-align:right;display:flex}.craps-shooter>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.craps-shooter-tag{margin-left:var(--sp-2);color:var(--c-gold-ink);vertical-align:middle;background:var(--c-gold-strong);border-radius:var(--radius-full);align-items:center;gap:3px;padding:1px 6px;font-size:.68rem;font-weight:700;display:inline-flex}.craps-dice{gap:var(--sp-5);padding:var(--sp-2) 0;display:flex}.die{background:linear-gradient(145deg,#e4473f,#a11d18);border-radius:13px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:3px;width:64px;height:64px;padding:10px;display:grid;box-shadow:inset 0 2px #ffffff40,inset 0 -4px #00000040,0 10px 20px #0000008c}.pip{background:#fbf7ee;border-radius:50%;place-self:center;width:11px;height:11px;box-shadow:inset 0 -1px 1px #00000040}.pip.is-empty{visibility:hidden}.die.is-tumbling{animation:.32s linear infinite die-tumble}.die.is-tumbling:last-child{animation-duration:.27s;animation-direction:reverse}.die.is-landed{animation:.35s cubic-bezier(.2,1.5,.4,1) both die-land}.die.is-idle{opacity:.4;filter:saturate(.5)}.craps-status{text-align:center;flex-direction:column;align-items:center;gap:4px;min-height:64px;display:flex}.craps-countdown{color:var(--c-gold-strong);font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1.1}.craps-total{color:var(--c-text);font-family:var(--font-display);font-size:2.4rem;font-weight:800;line-height:1}.craps-call{font-family:var(--font-display);font-size:var(--fs-md);font-weight:600}.craps-call.is-win{color:var(--c-success)}.craps-call.is-lose{color:#ff7a72}.craps-next{font-size:var(--fs-xs)}.craps-shoot{justify-content:center;align-items:center;column-gap:var(--sp-2);width:100%;padding:12px var(--sp-4) 10px;color:var(--c-gold-ink);font-family:var(--font-display);cursor:pointer;background:linear-gradient(#f6dc98,#d9b45a);border:0;border-radius:16px;grid-template-columns:auto auto;font-size:1.4rem;font-weight:800;animation:1s ease-in-out infinite alternate crash-cashout;display:grid;box-shadow:0 0 0 1px #00000059,0 10px 28px #ecc9784d}.craps-shoot small{font-size:var(--fs-xs);opacity:.7;grid-column:1/-1;font-weight:600}.craps-shoot:disabled{opacity:.7;animation:none}.craps-shoot:active{scale:.98}.craps-ready{margin-top:var(--sp-3);font-size:var(--fs-xs);text-align:center;gap:6px;display:grid}.craps-ready-tag{margin-left:var(--sp-2);color:#06140c;vertical-align:middle;background:var(--c-success);border-radius:var(--radius-full);align-items:center;gap:3px;padding:1px 6px;font-size:.68rem;font-weight:700;display:inline-flex}.craps-takedown{margin-top:var(--sp-3);font-size:var(--fs-xs);text-align:center;gap:6px;display:grid}.craps-summary-roll{justify-content:center;align-items:center;gap:var(--sp-4);display:flex}.craps-summary-roll .craps-dice{gap:var(--sp-2);padding:0}.craps-summary-roll .die{border-radius:10px;width:48px;height:48px;padding:7px}.craps-summary-roll .pip{width:8px;height:8px}.craps-summary-call{text-align:center;margin:0}.craps-board-anchor{scroll-margin-top:var(--sp-2)}.craps-history{padding:2px 2px var(--sp-2);margin-bottom:var(--sp-2);scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.craps-pill{min-width:30px;height:30px;color:var(--c-text);font-family:var(--font-display);font-size:var(--fs-sm);background:var(--c-surface-2);border-radius:var(--radius-full);flex:none;place-items:center;font-weight:700;display:grid}.craps-pill.is-seven{color:#fff;background:#b82d27}.craps-pill.is-craps{color:var(--c-text-faint)}.craps-pill:first-child{box-shadow:0 0 0 2px var(--c-gold-strong)}.craps-table{margin:var(--sp-2) calc(4px - var(--sp-4)) var(--sp-2);background:radial-gradient(120% 60% at 50% 0,#ffffff14,#0000 60%),linear-gradient(#3b2718,#22150c);border-radius:28px;padding:12px;position:relative;box-shadow:inset 0 2px #ffffff1a,inset 0 -3px #00000073,0 18px 40px #0009}.craps-table:before{content:"";pointer-events:none;border:1px dashed #ecc97859;border-radius:23px;position:absolute;inset:5px}.craps-felt{background:var(--texture-grain), radial-gradient(ellipse 130% 80% at 50% 35%, #1f8f56, #11552f 78%);border-radius:18px;gap:10px;padding:36px 10px 12px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #0000004d,inset 0 10px 30px #00000059}.craps-watermark{color:#ecc97814;font-family:var(--font-display);letter-spacing:.04em;white-space:nowrap;pointer-events:none;font-size:3.4rem;font-weight:800;position:absolute;top:47%;left:50%;translate:-50% -50%;rotate:-10deg}.craps-spot{color:#fff;min-height:74px;font-family:var(--font-display);text-align:center;cursor:pointer;transition:filter var(--transition), opacity var(--transition), box-shadow var(--transition);background:#0000000f;border:2px solid #f4efe6d9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:12px 46px;display:flex;position:relative}.craps-spot:not(:disabled):active{filter:brightness(1.3)}.craps-spot:disabled{cursor:default}.craps-spot-title{font-size:var(--fs-lg);letter-spacing:.14em;text-transform:uppercase;font-weight:800}.craps-spot-sub{opacity:.8;font-size:.68rem}.craps-spot-note{color:var(--c-gold-strong);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem}.craps-spot.is-locked{opacity:.45}.craps-spot.is-win{box-shadow:inset 0 0 0 2px var(--c-gold-strong), 0 0 18px #ecc978bf;animation:.6s ease-in-out 3 rb-win}.craps-spot.is-push{box-shadow:inset 0 0 0 2px #f4efe6e6}.craps-spot.is-lose{opacity:.4}.craps-spot.is-off{opacity:.65}.craps-chip{min-width:30px;height:30px;font-size:.72rem;bottom:8px;right:8px}.craps-spot-others{align-items:center;display:flex;position:absolute;top:8px;left:8px}.craps-spot-others .avatar{margin-left:-6px;box-shadow:0 0 0 1.5px #176b3f}.craps-spot-others .rb-chip{margin-right:6px;position:static}.craps-spot-more{margin-left:3px;font-size:.66rem;font-weight:700}.craps-place-row{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.craps-place{border-radius:8px;justify-content:flex-start;gap:1px;min-height:96px;padding:24px 2px 10px}.craps-place-number{font-size:1.55rem;font-weight:800;line-height:1.05}.craps-place-number.is-word{letter-spacing:.04em;font-size:.95rem;line-height:1.7}.craps-place-pay{opacity:.75;font-size:.62rem}.craps-place .craps-chip{min-width:24px;height:24px;font-size:.6rem;bottom:4px;right:50%;translate:50%}.craps-place .craps-spot-others{top:3px;left:3px}.craps-place .craps-spot-others .rb-chip{min-width:18px;height:18px;margin-right:2px;font-size:.52rem}.craps-place-pay.is-note{color:var(--c-gold-strong);letter-spacing:.06em;text-transform:uppercase;opacity:1;font-weight:700}.craps-puck{z-index:1;width:26px;height:26px;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:9px;font-weight:800;animation:.35s cubic-bezier(.2,1.4,.4,1) both crash-pop;display:grid;position:absolute;top:-32px;left:50%;translate:-50%;box-shadow:0 3px 6px #00000080}.craps-puck.is-on{color:#111;background:#fff;border:2px solid #111}.craps-puck.is-off{color:#fff;background:#111;border:2px solid #fff;flex:none;position:static;translate:none}.craps-place-caption{align-items:center;gap:var(--sp-2);color:#ffffffbf;font-size:.66rem;line-height:1.3;display:flex}.craps-place-point{color:#111;font-family:var(--font-display);border-radius:var(--radius-full);background:#fff;flex:none;padding:2px 8px;font-size:.7rem;font-weight:800}.craps-field{min-height:100px}.craps-field-numbers{gap:5px;display:flex}.craps-field-n{border:1.5px solid #f4efe699;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.92rem;font-weight:800;display:inline-grid}.craps-field-n.is-double{color:var(--c-gold-strong);border-color:var(--c-gold-strong);box-shadow:0 0 0 2px #176b3f, 0 0 0 3.5px var(--c-gold-strong)}.craps-bar-dice{gap:4px;display:flex}.craps-bar-dice .die{border-radius:5px;gap:1px;width:20px;height:20px;padding:3px;animation:none;box-shadow:inset 0 -1px #00000040}.craps-bar-dice .pip{width:3.5px;height:3.5px;box-shadow:none}.craps-line{border:2px solid #f4efe6d9;border-radius:14px 14px 52px 52px;gap:6px;padding:6px;display:grid}.craps-pass{background:#0000001a;border:0;border-radius:10px;min-height:84px}.craps-pass .craps-spot-title{font-size:var(--fs-xl);letter-spacing:.22em}.craps-odds{border-style:dashed;border-color:#ecc978bf;border-radius:10px 10px 42px 42px;min-height:62px}.craps-odds .craps-spot-title{color:var(--c-gold-strong);font-size:var(--fs-md)}@keyframes die-tumble{0%{transform:translate(0)rotate(0)}25%{transform:translate(-4px,-10px)rotate(90deg)}50%{transform:translate(3px,-4px)rotate(180deg)}75%{transform:translate(-2px,-12px)rotate(270deg)}to{transform:translate(0)rotate(360deg)}}@keyframes die-land{0%{transform:translateY(-14px)rotate(-12deg)scale(1.08)}}.coin-table{justify-items:center;gap:var(--sp-2);margin:0 calc(6px - var(--sp-4)) var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-4);border:1px solid var(--c-gold-line-soft);background:radial-gradient(90% 60% at 50% 75%,#ecc9781a,#0000 65%),linear-gradient(#17181c,#0f1013);border-radius:20px;display:grid;box-shadow:0 16px 36px #00000073}.coin-stage{--coin:132px;width:calc(var(--coin) * 1.3);height:calc(var(--coin) * 1.85);padding-bottom:calc(var(--coin) * .14);perspective:900px;justify-content:center;align-items:flex-end;display:flex;position:relative}.coin{z-index:1;width:var(--coin);height:var(--coin);transform-style:preserve-3d;will-change:transform;position:relative}.coin:after{content:"";height:calc(var(--coin) * .09);margin-top:calc(var(--coin) * -.045);background:linear-gradient(90deg,#8a6122,#f6dc98 45%,#c9973f 60%,#8a6122);border-radius:3px;position:absolute;top:50%;left:3%;right:3%;transform:rotateX(90deg)}.coin-face{color:#6b4a12;font-family:var(--font-display);box-shadow:inset 0 0 0 calc(var(--coin) * .05) #c9973f, inset 0 0 0 calc(var(--coin) * .075) #f6dc98, inset 0 -6px 14px #00000040;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:radial-gradient(circle at 35% 30%,#fff1c2,#e2b85a 45%,#a9782a 100%);border-radius:50%;align-content:center;place-items:center;font-weight:800;display:grid;position:absolute;inset:0}.coin-face.is-heads{transform:translateZ(calc(var(--coin) * .045))}.coin-face.is-tails{transform:rotateX(180deg) translateZ(calc(var(--coin) * .045))}.coin-face svg{fill:none;stroke:#7a5415;stroke-width:1.8px;stroke-linejoin:round;width:34%}.coin-face span{font-size:calc(var(--coin) * .22);letter-spacing:.02em;text-shadow:0 1px #ffffff80;line-height:1}.coin-face .coin-one{font-size:calc(var(--coin) * .48)}.coin-face small{font-size:calc(var(--coin) * .09);letter-spacing:.24em}.coin-shadow{width:calc(var(--coin) * .8);height:calc(var(--coin) * .12);background:radial-gradient(#0000008c,#0000 70%);border-radius:50%;position:absolute;bottom:0}.coin-stage.is-dim .coin{opacity:.55;filter:saturate(.6)}.coin-call{font-size:var(--fs-lg);text-align:center}.coin-sides{gap:var(--sp-3);margin:var(--sp-3) 6px var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.coin-side{color:#fff;min-height:124px;font-family:var(--font-display);background:var(--texture-grain), radial-gradient(ellipse at 50% 30%, #1f8f56, #11552f 80%);cursor:pointer;transition:filter var(--transition), opacity var(--transition);border:2px solid #f4efe6d9;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:relative;box-shadow:0 0 0 4px #0b3a22,0 10px 24px #00000073}.coin-side:not(:disabled):active{filter:brightness(1.3)}.coin-side:disabled{cursor:default}.coin-side-title{letter-spacing:.12em;text-transform:uppercase;font-size:1.6rem;font-weight:800}.coin-side-sub{opacity:.8;font-size:.72rem}.coin-side.is-win{box-shadow:0 0 0 4px #0b3a22, inset 0 0 0 2px var(--c-gold-strong), 0 0 22px #ecc978bf;animation:.6s ease-in-out 3 rb-win}.coin-side.is-closed{opacity:.4;filter:saturate(.6)}.coin-side.is-lose{opacity:.4}.coin-pill{min-width:0;font-size:var(--fs-xs);padding:0 10px}.coin-pill.is-heads{color:var(--c-gold-strong)}.coin-pill.is-edge{color:#fff;background:#b82d27}.duel-intro{margin-top:0}.duel-new{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) var(--sp-3);background:var(--c-surface);border:1px solid var(--c-border);border-radius:18px;display:grid}.duel-new .chip-picker{margin:var(--sp-2) 0}.duel-new .bet-bar{margin-top:var(--sp-1)}.duel-sides{grid-template-columns:1fr 1fr;gap:6px;display:grid}.duel-active{gap:var(--sp-3);margin-top:var(--sp-4);display:grid}.duel-card{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--c-gold-line);background:linear-gradient(#1c1d21,#121316);border-radius:18px;grid-template-columns:1fr auto 1fr;display:grid;box-shadow:0 10px 26px #00000073}.duel-player{min-width:0;color:var(--c-text);cursor:pointer;transition:opacity var(--transition);background:0 0;border:0;justify-items:center;gap:4px;padding:0;display:grid}.duel-player.is-loser{opacity:.45}.duel-player.is-winner .duel-name{color:var(--c-gold-strong)}.duel-name{max-width:100%;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.duel-side{color:var(--c-text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.duel-mid{justify-items:center;display:grid}.duel-pot{color:var(--c-gold-strong);font-family:var(--font-display);font-weight:700}.duel-subtitle{margin:var(--sp-5) 0 var(--sp-2);color:var(--c-text-muted);font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.duel-who{cursor:pointer;background:0 0;border:0;padding:0;display:grid}.bet-spot{color:#fff;min-height:74px;font-family:var(--font-display);text-align:center;cursor:pointer;transition:filter var(--transition), opacity var(--transition), box-shadow var(--transition);background:#00000014;border:2px solid #f4efe6d9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:14px 8px;display:flex;position:relative}.bet-spot:not(:disabled):active{filter:brightness(1.3)}.bet-spot:disabled{cursor:default}.bet-spot-title{font-size:var(--fs-md);letter-spacing:.1em;text-transform:uppercase;font-weight:800}.bet-spot-sub{opacity:.8;font-size:.7rem}.bet-spot.is-win{box-shadow:inset 0 0 0 2px var(--c-gold-strong), 0 0 18px #ecc978bf;animation:.6s ease-in-out 3 rb-win}.bet-spot.is-push{box-shadow:inset 0 0 0 2px #f4efe6e6}.bet-spot.is-lose{opacity:.4}.bet-spot-chip{min-width:28px;height:28px;font-size:.7rem;bottom:6px;right:6px}.bet-spot-others{align-items:center;display:flex;position:absolute;top:6px;left:6px}.bet-spot-others .avatar{margin-left:-6px;box-shadow:0 0 0 1.5px #176b3f}.bet-spot-others .rb-chip{margin-right:6px;position:static}.bet-spot-more{margin-left:3px;font-size:.66rem;font-weight:700}.bac-stage{gap:var(--sp-3);margin:0 calc(6px - var(--sp-4)) var(--sp-3);padding:var(--sp-4) var(--sp-3);background:var(--texture-grain), radial-gradient(ellipse 120% 90% at 50% 25%, #1d7a4b, #0c3822 80%);border:1px solid var(--c-gold-line);border-radius:20px;display:grid;box-shadow:0 16px 36px #00000073}.bac-hands{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.bac-hand{min-height:150px;padding:var(--sp-2) var(--sp-1) var(--sp-3);transition:box-shadow var(--transition), opacity var(--transition);border:2px solid #f4efe64d;border-radius:14px;align-content:start;justify-items:center;gap:6px;display:grid}.bac-hand.is-player{border-color:#8fb6ff8c}.bac-hand.is-banker{border-color:#ff8f868c}.bac-hand.is-won{box-shadow:0 0 0 2px var(--c-gold-strong), 0 0 20px #ecc97899}.bac-hand.is-dim{opacity:.45}.bac-hand-label{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;font-weight:800}.bac-hand.is-player .bac-hand-label{color:#8fb6ff}.bac-hand.is-banker .bac-hand-label{color:#ff8f86}.bac-total{color:#fff;font-family:var(--font-display);font-size:1.9rem;font-weight:800;line-height:1}.bac-cards{justify-content:center;min-height:70px;display:flex}.bac-cards .pcard+.pcard{margin-left:-14px}.bac-call.is-player{color:#8fb6ff}.bac-call.is-banker{color:#ff8f86}.bac-call.is-tie{color:var(--c-success)}.pcard{--w:50px;width:var(--w);height:calc(var(--w) * 1.4);perspective:400px;display:inline-block}.pcard-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .35s;display:block;position:relative;transform:rotateY(180deg)}.pcard.is-open .pcard-inner{transform:rotateY(0)}.pcard-front,.pcard-back{transition:opacity 0s linear .175s}.pcard:not(.is-open) .pcard-front,.pcard.is-open .pcard-back{opacity:0}.pcard-front,.pcard-back{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:6px;position:absolute;inset:0;box-shadow:0 3px 8px #00000073}.pcard-front{color:#16161a;font-family:var(--font-display);background:#fbf8f1;place-items:center;font-weight:700;display:grid;transform:rotateY(0)translateZ(1px)}.pcard-front.is-red{color:#c0302a}.pcard-corner{font-size:calc(var(--w) * .26);text-align:center;line-height:1;display:grid;position:absolute;top:3px;left:5px}.pcard-corner small{font-size:calc(var(--w) * .22)}.pcard-suit{font-size:calc(var(--w) * .5)}.pcard-back{color:var(--c-gold);font-family:var(--font-display);font-size:calc(var(--w) * .22);letter-spacing:.06em;background:repeating-linear-gradient(45deg,#7a1d18 0 4px,#5e1511 4px 8px);border:2px solid #f4efe6;place-items:center;font-weight:800;display:grid;transform:rotateY(180deg)translateZ(1px)}.pcard.is-fresh{animation:.3s ease-out both pcard-in}.bac-bead{color:#fff;width:28px;height:28px;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:800;display:grid}.bac-bead.is-player{background:#2e5fb8}.bac-bead.is-banker{background:#b82d27}.bac-bead.is-tie{background:#1f7a4a}.bac-bead:first-child{box-shadow:0 0 0 2px var(--c-gold-strong)}.bac-board{margin:var(--sp-3) 6px var(--sp-2);background:var(--texture-grain), radial-gradient(ellipse at 50% 30%, #1f8f56, #11552f 80%);outline:2px solid var(--c-gold);border:3px solid #0f4a2b;border-radius:18px;gap:8px;padding:10px;display:grid;box-shadow:0 0 0 6px #0b3a22,0 14px 36px #0000008c}.bac-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.bac-row.is-side{grid-template-columns:1fr 1.2fr 1fr}.bac-row.is-side .bet-spot{padding-bottom:30px}.bac-row.is-side .bet-spot-others{top:auto;bottom:6px}.bac-spot-main{min-height:100px}.bac-spot-main .bet-spot-title{font-size:var(--fs-xl)}.bac-spot-main.is-player{background:#2e5fb84d;border-color:#8fb6ffe6}.bac-spot-main.is-banker{background:#b82d274d;border-color:#ff8f86e6}.bac-spot-pair .bet-spot-title{letter-spacing:.04em;font-size:.7rem}.bac-spot-pair.is-player{border-color:#8fb6ffb3}.bac-spot-pair.is-banker{border-color:#ff8f86b3}.bac-spot-tie .bet-spot-title{letter-spacing:.04em;font-size:.78rem}@keyframes pcard-in{0%{opacity:0;translate:40px -30px;rotate:12deg}}.race-stage{gap:var(--sp-2);margin:0 calc(6px - var(--sp-4)) var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-4);background:var(--texture-grain), linear-gradient(180deg, #1d4a2b, #0f2a18);border:1px solid var(--c-gold-line-soft);border-radius:20px;display:grid;box-shadow:0 16px 36px #00000073}.race-track{gap:5px;display:grid}.race-lane{grid-template-columns:24px 1fr 42px;align-items:center;gap:6px;height:36px;display:grid}.race-run{background:linear-gradient(#9a7650,#7a5b3b);border-radius:6px;height:100%;position:relative;box-shadow:inset 0 2px 5px #00000059}.race-run:before{content:"";background:#ffffff8c;width:2px;position:absolute;top:0;bottom:0;left:30px}.race-run:after{content:"";background:repeating-conic-gradient(#fff 0 25%, #111 0 50%) 0 0 / 8px 8px;border-radius:0 6px 6px 0;width:8px;position:absolute;top:0;bottom:0;right:0}.race-lane-name{color:#fff9;max-width:calc(100% - 52px);font-family:var(--font-display);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;pointer-events:none;font-size:.66rem;font-weight:700;position:absolute;top:50%;left:38px;overflow:hidden;translate:0 -50%}.race-lane.is-winner .race-run{box-shadow:inset 0 0 0 2px var(--c-gold-strong), 0 0 14px #ecc97880}.race-horse{z-index:1;text-align:center;filter:drop-shadow(0 2px 2px #00000073);width:30px;font-size:26px;line-height:1;position:absolute;top:50%;transform:scaleX(-1)translateY(-55%)}.race-horse.is-running{animation:.22s ease-in-out infinite alternate race-bob}.race-place{z-index:2;color:#fff;font-family:var(--font-display);border-radius:var(--radius-full);background:#00000073;padding:0 6px;font-size:.78rem;font-weight:800;animation:.35s cubic-bezier(.2,1.4,.4,1) both crash-pop;position:absolute;top:50%;left:4px;translate:0 -50%}.race-place.is-1{color:var(--c-gold-ink);background:var(--c-gold-strong)}.race-number{width:24px;height:24px;font-family:var(--font-display);border-radius:6px;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid;box-shadow:0 2px 4px #0006}.race-odds{color:var(--c-gold-strong);font-family:var(--font-display);text-align:right;font-size:.8rem;font-weight:700}.race-call{align-items:center;gap:6px;display:inline-flex}.race-board{margin:var(--sp-3) 6px var(--sp-2);background:var(--texture-grain), radial-gradient(ellipse at 50% 30%, #1f8f56, #11552f 80%);outline:2px solid var(--c-gold);border:3px solid #0f4a2b;border-radius:18px;grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid;box-shadow:0 0 0 6px #0b3a22,0 14px 36px #0000008c}.race-spot{gap:3px;min-height:108px;padding:10px 8px 12px}.race-spot.is-closed{opacity:.4;filter:saturate(.6)}.race-spot-name{font-size:.95rem;font-weight:700;line-height:1.15;display:grid}.race-favorite{color:var(--c-gold-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}.race-spot-odds{color:var(--c-gold-strong);font-size:1.05rem;font-weight:800;line-height:1.1;display:grid}.race-spot-odds small{color:#ffffffb3;font-size:.6rem;font-weight:500}@keyframes race-bob{to{translate:0 -68%}}.player-popup{justify-items:center;gap:var(--sp-4);display:grid}.pp-stats{gap:var(--sp-2);grid-template-columns:1fr 1fr;width:100%;display:grid}.pp-stat{padding:var(--sp-3);text-align:center;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:14px;gap:2px;display:grid}.pp-stat strong{font-family:var(--font-display);font-size:var(--fs-lg)}.pp-stat small{color:var(--c-text-muted);font-size:var(--fs-xs);font-weight:500}.pp-label{color:var(--c-text-muted);font-size:var(--fs-xs)}.pp-chart{gap:var(--sp-2);width:100%;padding:var(--sp-3) var(--sp-2) var(--sp-2);background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;grid-template-columns:repeat(6,1fr);display:grid}.pp-col{flex-direction:column;align-items:center;display:flex}.pp-up,.pp-down{justify-content:center;width:100%;display:flex}.pp-up{align-items:flex-end}.pp-down{align-items:flex-start}.pp-down.has-line{box-shadow:inset 0 1px 0 var(--c-border-strong)}.pp-up.has-base{box-shadow:inset 0 -1px 0 var(--c-border-strong)}.pp-bar{border-radius:4px;width:70%;max-width:26px}.pp-bar.is-plus{background:linear-gradient(180deg, #5ce0a0, var(--c-success));border-radius:4px 4px 1px 1px}.pp-bar.is-minus{background:linear-gradient(180deg, var(--c-danger), #b83a36);border-radius:1px 1px 4px 4px}.pp-month{color:var(--c-text-muted);margin-top:6px;font-size:.68rem}.pp-empty,.pp-note{font-size:var(--fs-xs);text-align:center;margin:0}.player-popup .option-list{width:100%}.share-room{text-align:center;align-items:center}.share-code{color:var(--c-gold-strong);font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.2em;font-weight:700}@media (prefers-reduced-motion:reduce){.scene,.scene *,.slot-strip,.slot-landed,.rb-cell.is-winning,.rb-chip,.round-result-card,.crash-mark,.crash-tip,.crash-boom,.crash-cashout,.die,.craps-shoot,.craps-spot,.craps-puck,.coin-side,.bet-spot,.pcard,.pcard-inner,.race-horse,.race-place,.plinko-bucket,.plinko-bucket-hit,.bj-hand,.lw-bonus-call,.scene-lw-wheel,.scene-bj-card,.scene-bj-chip,.scene-plinko-ball{transition:none;animation:none}}.roulette-board,.roulette-stage,.crash-stage,.crash-auto,.crash-cashout,.craps-stage,.craps-table,.coin-table,.coin-sides,.duel-card,.bac-stage,.bac-board,.race-stage,.race-board,.slot-machine,.chip-picker,.bet-bar{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.plinko-stage{justify-items:center;gap:var(--sp-2);margin:0 calc(6px - var(--sp-4)) var(--sp-3);padding:var(--sp-3) var(--sp-2) var(--sp-4);border:1px solid var(--c-gold-line-soft);background:radial-gradient(90% 55% at 50% 20%,#ecc97817,#0000 70%),linear-gradient(#17181c,#0e0f12);border-radius:20px;display:grid;box-shadow:0 16px 36px #00000073}.plinko-board{width:100%}.plinko-canvas{width:100%;display:block}.plinko-buckets{grid-template-columns:repeat(13,1fr);gap:2px;padding-inline:calc(3.57143% + 1px);display:grid}.plinko-bucket{height:26px;color:var(--c-gold-ink);font-family:var(--font-display);border-radius:6px;place-items:center;font-size:clamp(8px,2.6vw,11px);font-weight:700;transition:opacity .3s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -3px #00000040}.plinko-bucket.is-t0{color:#d4d4d8;background:#34363d}.plinko-bucket.is-t1{background:#c9ad5a}.plinko-bucket.is-t2{background:#e3a53e}.plinko-bucket.is-t3{background:#ee8038}.plinko-bucket.is-t4{color:#fff;background:#e65a3b}.plinko-bucket.is-t5{color:#fff;background:#d62f4b}.plinko-bucket.is-win{z-index:1;animation:.6s ease-in-out 3 rb-win;box-shadow:inset 0 0 0 2px #fff3c4,0 0 16px #ecc978d9}.plinko-bucket.is-lose{opacity:.45}.plinko-bucket-label{letter-spacing:-.02em;position:relative}.plinko-bucket-hit{background:#fff9;animation:.45s ease-out forwards plinko-hit;position:absolute;inset:0}@keyframes plinko-hit{0%{opacity:1}to{opacity:0}}.plinko-pill{color:var(--c-gold-strong);font-family:var(--font-display);font-size:var(--fs-xs);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--radius-full);flex:none;padding:3px 9px;font-weight:700}.plinko-pill.is-hot{color:#fff;background:#d62f4b;border-color:#0000}.plinko-pill.is-empty{color:var(--c-text-faint)}.plinko-risk{margin-bottom:var(--sp-2);grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.plinko-risk button{color:var(--c-text-muted);font-family:var(--font-display);font-size:var(--fs-sm);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;border-radius:12px;gap:1px;padding:8px 6px;font-weight:600;display:grid}.plinko-risk button small{color:var(--c-text-faint);font-size:var(--fs-xs);font-weight:500}.plinko-risk button.is-active{color:var(--c-gold-ink);background:linear-gradient(180deg, var(--c-gold-strong), var(--c-gold));border-color:#0000}.plinko-risk button.is-active small{color:#1b1406b3}.plinko-add{justify-content:center;align-items:center;gap:var(--sp-2);width:100%;margin-top:var(--sp-2);padding:12px var(--sp-4);color:var(--c-gold-strong);font-family:var(--font-display);font-size:var(--fs-md);border:1px solid var(--c-gold-line);cursor:pointer;background:#ecc97814;border-radius:14px;font-weight:600;display:flex}.plinko-add small{color:var(--c-text-faint);font-size:var(--fs-xs);margin-left:auto}.plinko-add:disabled{opacity:.45;cursor:default}.plinko-add:not(:disabled):active{translate:0 1px}.plinko-add-ball{background:radial-gradient(circle at 35% 30%, #fff6d8, var(--c-gold-strong) 45%, #a8812c);border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #ecc97899}.plinko-dot{vertical-align:middle;border-radius:50%;width:9px;height:9px;margin-left:6px;display:inline-block}.bj-table{gap:var(--sp-3);margin:0 calc(6px - var(--sp-4)) var(--sp-3);padding:var(--sp-4) var(--sp-3);background:var(--texture-grain), radial-gradient(ellipse 130% 90% at 50% 10%, #1d7a4b, #0c3822 80%);border:1px solid var(--c-gold-line);border-radius:20px 20px 50% 50%/20px 20px 70px 70px;display:grid;box-shadow:0 16px 36px #00000073}.bj-dealer{justify-items:center;gap:6px;display:grid}.bj-label{color:#f4efe6b3;font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;font-weight:700}.bj-cards{justify-content:center;min-height:53.2px;display:flex}.bj-cards .pcard{--w:38px}.bj-cards .pcard+.pcard{margin-left:-16px}.bj-cards.is-dealer{min-height:70px}.bj-cards.is-dealer .pcard{--w:50px}.bj-cards.is-dealer .pcard+.pcard{margin-left:-18px}.bj-cards.is-popup .pcard{--w:42px}.bj-total{min-width:34px;color:var(--c-gold-ink);font-family:var(--font-display);font-size:var(--fs-sm);text-align:center;background:var(--c-gold-strong);border-radius:var(--radius-full);padding:1px 8px;font-weight:800}.bj-seats{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:4px;padding-bottom:6px;display:grid}.bj-seat{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.bj-seat.is-pos-0{rotate:7deg}.bj-seat.is-pos-1{translate:0 16px;rotate:2.5deg}.bj-seat.is-pos-2{translate:0 16px;rotate:-2.5deg}.bj-seat.is-pos-3{rotate:-7deg}.bj-seat-cards{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-height:92px;display:flex}.bj-seat .bj-cards{min-height:42px}.bj-seat .bj-cards .pcard{--w:30px}.bj-seat .bj-cards .pcard+.pcard{margin-left:-19px}.bj-chip{font-size:9px}.bj-chip.is-bet{min-width:32px;height:32px;margin:0 0 6px;font-size:11px;animation:.25s ease-out both rb-chip-in}.bj-spot{cursor:pointer;background:#041e118c;border:2px solid #f4efe673;border-radius:50%;place-items:center;width:58px;height:58px;padding:0;transition:border-color .2s,box-shadow .2s;display:grid;position:relative;box-shadow:inset 0 2px 6px #00000073}.bj-seat.is-free .bj-spot{border-style:dashed;border-color:#ecc9788c}.bj-spot:disabled{cursor:default}.bj-spot-free{color:#ecc978cc;font-family:var(--font-display);font-size:var(--fs-sm);place-items:center;font-weight:700;display:grid}.bj-seat.is-me .bj-spot{border-color:var(--c-gold-strong)}.bj-seat.is-turn .bj-spot{border-color:var(--c-gold-strong);box-shadow:inset 0 2px 6px #00000073,0 0 18px #ecc97899}.bj-ring{pointer-events:none;width:calc(100% + 12px);height:calc(100% + 12px);position:absolute;inset:-6px;rotate:-90deg}.bj-ring circle{fill:none;stroke:var(--c-gold-strong);stroke-width:3px;stroke-linecap:round;stroke-dasharray:188.5;transition:stroke-dashoffset .12s linear}.bj-seat-name{color:#f4efe6cc;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:600;overflow:hidden}.bj-seat.is-me .bj-seat-name{color:var(--c-gold-strong)}.bj-seat.is-free .bj-seat-name{color:#ecc978b3}.bj-arc-text{width:100%;max-width:340px;margin:-6px auto -10px;display:block}.bj-arc-text text{fill:#ecc978cc;font-family:var(--font-display);letter-spacing:.14em;font-size:10.5px;font-weight:600}.bj-hand{border-radius:10px;justify-items:center;gap:3px;padding:3px;transition:opacity .3s;display:grid}.bj-hand.is-active{background:#ecc9781a}.bj-hand.is-win{box-shadow:inset 0 0 0 2px var(--c-gold-strong), 0 0 16px #ecc978b3;animation:.6s ease-in-out 3 rb-win}.bj-hand.is-lose{opacity:.45}.bj-hand.is-push{box-shadow:inset 0 0 0 2px #f4efe6b3}.bj-hand-foot{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.bj-badge{color:var(--c-text);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-full);background:#00000059;padding:1px 7px;font-size:10px;font-weight:700}.bj-badge.is-blackjack,.bj-badge.is-win{color:var(--c-gold-ink);background:var(--c-gold-strong)}.bj-badge.is-bust,.bj-badge.is-lose{color:#fff;background:#e5484dd9}.bj-actions{margin-bottom:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.bj-actions .btn{min-height:52px;font-size:var(--fs-md)}.bj-actions-hint{text-align:center;grid-column:1/-1}.bj-leave{margin-top:var(--sp-2);justify-content:flex-end;display:flex}.bj-note{text-align:center;margin-top:0}.lw-stage{justify-items:center;gap:var(--sp-2);margin:0 calc(6px - var(--sp-4)) var(--sp-3);padding:var(--sp-4) 4px;border:1px solid var(--c-gold-line-soft);background:radial-gradient(70% 55% at 50% 40%,#ecc9781f,#0000 70%),linear-gradient(#17181c,#0e0f12);border-radius:20px;display:grid;box-shadow:0 16px 36px #00000073}.lw-wheel-wrap{aspect-ratio:1;width:min(520px,100%);position:relative}.lw-wheel{filter:drop-shadow(0 10px 22px #0000008c);width:100%;height:100%;display:block}.lw-rim{fill:#2a1f0c;stroke:var(--c-gold);stroke-width:3px}.lw-label{fill:#fff;font-family:var(--font-display);letter-spacing:-.02em;paint-order:stroke;stroke:#0006;stroke-width:1.8px;font-size:14px;font-weight:800}.lw-label.is-dark{fill:#1b1406;stroke:#ffffff40}.lw-label.is-bonus{fill:#e4e4ea;font-size:12.5px}.lw-label.is-seven{fill:var(--c-gold-strong)}.lw-peg{fill:#f4efe6}.lw-hub{fill:#15161a;stroke:var(--c-gold);stroke-width:3px}.lw-hub-text{fill:var(--c-gold-strong);font-family:var(--font-display);font-size:20px;font-weight:800}.lw-pointer{background:linear-gradient(180deg, var(--c-gold-strong), var(--c-gold));clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 3px 4px #0009);width:30px;height:34px;position:absolute;top:-8px;left:calc(50% - 15px)}.lw-bonus-call{animation:.6s ease-in-out 2 rb-win}.lw-num{color:#fff;min-width:30px;font-family:var(--font-display);font-size:var(--fs-sm);border-radius:var(--radius-full);flex:none;justify-content:center;align-items:baseline;gap:2px;padding:3px 8px;font-weight:800;display:inline-flex;box-shadow:inset 0 -2px #00000040}.lw-num small{opacity:.9;font-size:10px}.lw-num.is-large{border-radius:18px;min-width:72px;padding:8px 18px;font-size:2.2rem}.lw-board{margin:var(--sp-3) 6px var(--sp-2);background:var(--texture-grain), radial-gradient(ellipse at 50% 30%, #1d1e24, #0f1013 80%);border:1px solid var(--c-gold-line);border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;display:grid;box-shadow:0 14px 36px #00000080}.lw-spot{background:#ffffff08;border-color:#f4efe659;min-height:84px}.lw-spot-number{font-family:var(--font-display);text-shadow:0 2px 6px #00000073;font-size:2rem;font-weight:800;line-height:1}.lw-spot .bet-spot-chip{top:5px;bottom:auto;right:5px}html.dealer-mode,html.dealer-mode body{background:#000}html.dealer-mode body:before{display:none}.dealer-mode .screen-head-wrap{margin-bottom:var(--sp-2);padding-top:calc(var(--sp-2) + env(safe-area-inset-top));padding-bottom:var(--sp-2)}.dealer-mode .top-edge{height:var(--sp-2);background:#000}.dealer-mode .screen-head-wrap:before{box-shadow:none;background:#000}.dealer-mode .screen-head{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0f0f10;border-color:#242426;border-radius:14px;padding:6px 8px}.dealer-mode .screen-title{font-size:1.15rem}.dealer-mode .back-button,.dealer-mode .head-action{color:#f1f1f1;background:#1a1a1c;border-color:#2e2e31;width:40px;height:40px}.head-logo .brand-logo{width:42px}.app-main:has(>.menu-foot){padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom));flex-direction:column;display:flex}.menu-foot{margin-top:auto}.dealer-mode .head-action-danger{color:#ff6b6b;background:#e5484d24;border-color:#e5484d8c}.dealer-mode .section-title{margin:var(--sp-5) var(--sp-1) var(--sp-2);letter-spacing:.12em;color:#8b8b90;font-size:.72rem}.dealer-mode .option-list{background:#0f0f10;border-color:#232325;border-radius:12px}.dealer-mode .option{border-bottom-color:#1f1f21;min-height:52px;padding:10px 14px}.dealer-mode .option-icon{color:#e9e9e9;background:#1a1a1c;border-color:#2a2a2d;width:32px;height:32px}.dealer-mode .input{box-shadow:none;background:#0f0f10;border-color:#2a2a2d}.dealer-mode .input:focus{border-color:#8b8b90}.dealer-mode .btn-primary{color:#000;box-shadow:none;background:#f1f1f1;border-color:#f1f1f1}.dealer-mode .btn-primary:not(:disabled):hover{background:#fff}.dealer-mode .btn-ghost:not(:disabled):hover{background:#1a1a1c}.dealer-mode .search-head-field{color:#8b8b90;background:#1a1a1c;border-color:#2e2e31;border-radius:10px;min-height:40px}.dealer-mode .search-head-field:focus-within{border-color:#8b8b90}.dealer-mode .search-head-field input{min-height:38px}.dealer-mode .seat-row{min-height:60px}.dealer-mode .seat-no{color:#e9e9e9;border-color:#3a3a3e}.dealer-mode .seat-free .seat-no{color:#6f6f75;border-color:#2a2a2d}.dealer-mode .seat-balance{color:#f1f1f1}.dealer-mode .swipe-row{border-bottom-color:#1f1f21}.dealer-mode .swipe-row:last-child{border-bottom:none}.dealer-mode .swipe-content{background:#0f0f10}.dealer-mode .keypad-key{background:#151516;border-color:#262628;border-radius:10px}.dealer-mode .keypad-key:active{background:#29292c}.booking-balance{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding:0 var(--sp-1);display:flex}.booking-balance-label{font-size:var(--fs-sm);color:#8b8b90}.booking-balance-value{color:#f4f4f4;font-size:1.35rem;font-weight:700}.booking-balance-value small{font-size:var(--fs-xs);letter-spacing:.08em;color:#8b8b90;margin-left:6px;font-weight:600}.booking-amount{padding:var(--sp-2) var(--sp-4);background:#0f0f10;border:1px solid #262628;border-radius:12px;flex:none;gap:2px;display:grid}.booking-amount-error{border-color:#e5484db3}.booking-amount-value{font-family:var(--font-display);color:#fff;text-align:right;font-size:clamp(2.2rem,7vh,3.2rem);font-weight:700;line-height:1.1}.booking-amount-value.is-empty{color:#4a4a4f}.booking-amount-note{min-height:1.3em;font-size:var(--fs-sm);color:#8b8b90;line-height:1.3}.booking-amount-error .booking-amount-note{color:#ff6b6b}.booking-actions{gap:var(--sp-2);flex:none;grid-template-columns:1fr 1fr;display:grid}.booking-btn{height:60px;font:inherit;color:#fff;cursor:pointer;transition:filter var(--transition), opacity var(--transition);touch-action:manipulation;border:none;border-radius:12px;place-items:center;font-size:1.1rem;font-weight:700;display:grid}.booking-btn-out{background:#d63a3f}.booking-btn-in{background:#1f9d5c}.booking-btn:active:not(:disabled){filter:brightness(.88)}.booking-btn:disabled{cursor:default;opacity:.35}.dealer-mode .toasts{align-items:center}.dealer-mode .toast{width:100%;box-shadow:0 8px 24px #0009}.dealer-mode .avatar-ring{box-shadow:0 0 0 1px #3a3a3e}.app-mode .auth-page{padding-top:calc(var(--sp-8) + env(safe-area-inset-top));align-items:start}.app-mode .auth-card{width:min(290px,100%)}.app-mode .auth-logo{margin-bottom:var(--sp-6)}.app-mode .auth-logo .brand-logo{width:132px;animation:none}.app-mode .auth-panel{gap:var(--sp-3);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;padding:0}.app-mode .auth-panel:before,.app-mode .auth-panel:after{display:none}.app-mode .auth-title{margin-bottom:var(--sp-1);color:#8b8b90;font-size:1.05rem}.app-mode .auth-panel .stack{gap:var(--sp-3)}.app-mode .lux-control input{height:50px;box-shadow:none;caret-color:#f1f1f1;background:#111113;border-color:#2a2a2d;padding:18px 44px 4px}.app-mode .lux-control input:hover{border-color:#3a3a3e}.app-mode .lux-control input:focus{box-shadow:none;border-color:#8b8b90}.app-mode .lux-control input:-webkit-autofill{box-shadow:inset 0 0 0 100px #111113}.app-mode .lux-control label{font-size:.95rem;left:44px}:-webkit-any(.app-mode .lux-control input:focus+label,.app-mode .lux-control input:not(:placeholder-shown)+label,.app-mode .lux-control input:-webkit-autofill+label){letter-spacing:0;text-transform:none;color:#8b8b90;font-family:inherit;font-size:.72rem;font-weight:500;top:8px}:is(.app-mode .lux-control input:focus+label,.app-mode .lux-control input:not(:placeholder-shown)+label,.app-mode .lux-control input:autofill+label){letter-spacing:0;text-transform:none;color:#8b8b90;font-family:inherit;font-size:.72rem;font-weight:500;top:8px}.app-mode .lux-icon{left:15px}.app-mode .lux-control:focus-within .lux-icon,.app-mode .lux-toggle:hover,.app-mode .lux-toggle[aria-pressed=true]{color:#f1f1f1}.app-mode .btn-lux{min-height:48px;margin-top:var(--sp-1);color:#000;letter-spacing:0;text-transform:none;box-shadow:none;background:#f1f1f1;border:none;border-radius:10px;font-family:inherit;font-size:1rem;font-weight:600}.app-mode .btn-lux:after{display:none}.app-mode .btn-lux:not(:disabled):hover,.app-mode .btn-lux:not(:disabled):active{box-shadow:none;background:#fff;translate:none}.app-dealers-only{align-content:center;gap:var(--sp-4);min-height:100dvh;display:grid}.dealer-mode .dialog{background:#111113;border-color:#2a2a2d;box-shadow:0 20px 60px #000000b3}.dealer-mode .head-action-live{color:#3dd68c;background:#3dd68c24;border-color:#3dd68ca6;animation:2.2s ease-in-out infinite nfc-live}.dealer-mode .head-action-idle{color:#6f6f75}@keyframes nfc-live{0%,to{box-shadow:0 0 #3dd68c40,0 0 10px #3dd68c40}50%{box-shadow:0 0 0 4px #3dd68c1f,0 0 18px #3dd68c73}}@media (prefers-reduced-motion:reduce){.dealer-mode .head-action-live{animation:none;box-shadow:0 0 12px #3dd68c66}}.nfc-note-error{color:#ff6b6b}.scan-uid-value{font-size:var(--fs-md);letter-spacing:.04em;overflow-wrap:anywhere;font-weight:600;display:block}.scan-uid-flash{animation:1.2s ease-out scan-flash}.seat-flash{animation:1.6s ease-out scan-flash}@keyframes scan-flash{0%{background:#3dd68c47}to{background:0 0}}@media (prefers-reduced-motion:reduce){.scan-uid-flash,.seat-flash{animation:none}}.dealer-mode .scanner-frame{border-color:#f1f1f1}.ping-light{z-index:45;translate:-50% calc(-100% - 6px - env(safe-area-inset-bottom));color:#8b8b90;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;align-items:center;gap:6px;font-size:11px;line-height:1;display:flex;position:fixed;left:50%}.ping-lamps{background:#0f0f10;border:1px solid #2a2a2d;border-radius:999px;gap:3px;padding:3px 4px;display:flex}.ping-lamp{background:#242427;border-radius:50%;width:7px;height:7px}.ping-bad .ping-lamp-red{background:#e5484d;box-shadow:0 0 6px #e5484db3}.ping-slow .ping-lamp-yellow,.ping-wait .ping-lamp-yellow{background:#f5b544;box-shadow:0 0 6px #f5b544b3}.ping-good .ping-lamp-green{background:#3dd68c;box-shadow:0 0 6px #3dd68cb3}.ping-wait .ping-lamp-yellow{animation:1s ease-in-out infinite ping-wait}.ping-bad{color:#ff6b6b}@keyframes ping-wait{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.ping-wait .ping-lamp-yellow{animation:none}}:is(.app-mode .app-main:has(>.booking-screen),.app-mode .app-main:has(>.menu-foot)){padding-bottom:calc(26px + env(safe-area-inset-bottom))}.update-splash{z-index:100;background:#0e1116;flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:24px;animation:.25s both update-fade;display:flex;position:fixed;inset:0}.update-ring{place-items:center;width:132px;height:132px;display:grid;position:relative}.update-ring svg{width:132px;height:132px;position:absolute;inset:0}.update-ring circle{fill:none;stroke-width:4px}.update-track{stroke:#262c36}.update-arc{animation:1.1s linear infinite update-spin}.update-arc circle{stroke:#f1f1f1;stroke-linecap:round}.update-ring img{object-fit:contain;width:64px;height:64px}.update-slow{color:#5c6470;text-align:center;max-width:340px;margin:0 auto;padding:0 24px;font-size:12.5px;line-height:1.5;position:absolute;bottom:32px;left:0;right:0}@keyframes update-spin{to{rotate:360deg}}@keyframes update-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.update-arc{animation-duration:3s}}
