:root{color-scheme:dark;--bg:#080b0f;--bg-soft:#0d1216;--surface:#10151b;--surface-2:#171e26;--surface-3:#202a33;--line:#2c3742;--ink:#f3f6f4;--muted:#91a0aa;--muted-strong:#bdc8cc;--accent:#b8f542;--accent-ink:#101609;--danger:#ff8177;--warning:#ffd166;--info:#73c8d9;--shadow:0 18px 50px #02040699;--radius:8px}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scrollbar-color:var(--surface-3) var(--bg);scrollbar-width:thin}html::-webkit-scrollbar{width:10px}html::-webkit-scrollbar-track{background:var(--bg)}html::-webkit-scrollbar-thumb{background:var(--surface-3);border:3px solid var(--bg)}html::-webkit-scrollbar-thumb:hover{background:var(--muted)}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 "Segoe UI",Arial,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,#000,transparent 48%);z-index:-1}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{position:absolute;left:-9999px;top:8px}.skip-link:focus{left:8px;z-index:40;background:var(--accent);color:var(--accent-ink);padding:8px 12px;border-radius:5px}.shell{min-height:100vh}.topbar{display:flex;align-items:center;gap:24px;padding:0 clamp(16px,4vw,56px);min-height:68px;border-top:2px solid var(--accent);border-bottom:1px solid var(--line);background:#0b1015f5;backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:baseline;gap:6px;flex:0 0 auto;font-weight:950;letter-spacing:.16em;text-transform:uppercase;font-size:18px}.brand:after{content:"PLAY SMART";font:600 9px ui-monospace,monospace;letter-spacing:.08em;color:var(--muted)}.brand span{color:var(--accent)}.nav{display:flex;align-items:stretch;gap:3px;flex:1;height:68px}.nav a{display:flex;align-items:center;padding:0 13px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid transparent}.nav a.active,.nav a:hover{color:var(--ink);border-bottom-color:var(--accent)}.topbar-tools{display:flex;align-items:center;gap:10px;white-space:nowrap}.topbar-tools>a{color:var(--muted);font-size:12px;font-weight:700}.topbar-tools>a:hover{color:var(--ink)}.wallet-link{padding-right:10px;border-right:1px solid var(--line)}.sandbox-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #486238;color:var(--accent);font:700 10px ui-monospace,monospace;letter-spacing:.06em}.shell>.topbar .status-dot{width:6px;height:6px}.page{width:min(1480px,calc(100% - 40px));margin:0 auto;padding:34px 0 72px}.eyebrow{color:var(--accent);font:700 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase}.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:end;margin:38px 0}.hero h1{font-size:clamp(38px,7vw,88px);line-height:.92;letter-spacing:-.07em;margin:12px 0 18px;max-width:780px}.lede{color:var(--muted);font-size:16px;max-width:640px}.card{background:linear-gradient(145deg,#141b22,#0f1419);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.stat-label,.meta{color:var(--muted);font-size:13px}.stat{font:800 32px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.06em;margin:7px 0 10px;font-variant-numeric:tabular-nums}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.button,button{border:1px solid transparent;border-radius:6px;padding:11px 15px;background:var(--accent);color:var(--accent-ink);font:800 13px inherit;cursor:pointer;transition:transform .16s ease,filter .16s ease,background .16s ease,border-color .16s ease}.button:hover,button:hover{filter:brightness(1.07);transform:translateY(-1px);color:var(--accent-ink)}.button:active,button:active{transform:translateY(1px) scale(.99)}button.secondary,.button.secondary{background:var(--surface-2);border-color:var(--line);color:var(--ink)}button.secondary:hover,.button.secondary:hover{border-color:var(--accent);color:var(--ink)}button.danger{background:var(--danger);color:#260c0a}button:disabled{cursor:not-allowed;opacity:.5;transform:none}.form{display:grid;gap:14px;max-width:520px}.field{display:grid;gap:6px}.field label{font-weight:700;color:var(--ink)}input,select{width:100%;border:1px solid var(--line);border-radius:6px;padding:11px 12px;background:#0b1015;color:var(--ink);font:inherit}input:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b8f54222}.status{min-height:24px;color:var(--muted)}.status.error{color:var(--danger)}.status.success{color:var(--accent)}.status.info{color:var(--info)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:7px;scrollbar-color:var(--surface-3) var(--surface)}.table{width:100%;border-collapse:collapse;min-width:680px}.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:#0c1116}.table tr:hover td{background:#ffffff03}.table tr:last-child td{border-bottom:0}.pill{display:inline-flex;border:1px solid var(--line);border-radius:5px;padding:3px 8px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em}.pill.good{border-color:#648b2a;color:var(--accent)}.pill.bad{border-color:#87463f;color:var(--danger)}.rail{display:grid;gap:5px;align-content:start}.rail a{padding:11px 13px;border:1px solid transparent;border-radius:6px;color:var(--muted);font-weight:700}.rail a.active,.rail a:hover{background:var(--surface-2);border-color:var(--line);color:var(--accent)}.admin-layout{display:grid;grid-template-columns:220px 1fr;gap:28px}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all;font-variant-numeric:tabular-nums}.dialog{border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:24px;max-width:420px;box-shadow:var(--shadow)}.dialog::backdrop{background:#000b}.toast{position:fixed;right:18px;bottom:18px;z-index:30;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:14px 16px;max-width:360px}.toast.error{border-color:var(--danger)}@media(max-width:1100px){.topbar{align-items:flex-start;flex-wrap:wrap;padding:13px 18px}.nav{order:3;flex-basis:100%;height:auto;overflow:visible}.topbar-tools{margin-left:auto}}@media(max-width:900px){.topbar{align-items:flex-start;flex-wrap:wrap;padding:13px 18px}.nav{order:3;flex-basis:100%;height:auto;overflow:auto}.nav a{min-height:42px;padding:0 10px}.topbar-tools{margin-left:auto}.hero,.split,.admin-layout{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.page{padding-top:24px}}@media(max-width:520px){.topbar-tools{width:100%;margin-left:0;justify-content:space-between}.grid{grid-template-columns:1fr}.hero h1{font-size:48px}.page{width:min(100% - 24px,1480px)}.brand:after{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
:root{--topbar-height:68px}.nav-group{position:relative;display:flex;align-items:stretch}.nav-group>summary{list-style:none;display:flex;align-items:center;padding:0 13px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid transparent;cursor:pointer}.nav-group>summary::-webkit-details-marker{display:none}.nav-group[open]>summary,.nav-group>summary:hover{color:var(--ink);border-bottom-color:var(--accent)}.nav-group>summary:after{content:'⌄';margin-left:7px;color:var(--muted);font-size:13px}.nav-menu{position:absolute;top:calc(100% - 1px);left:0;min-width:210px;padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:0 0 8px 8px;box-shadow:var(--shadow);z-index:25}.nav-menu a{display:flex;align-items:center;min-height:38px;padding:8px 10px;border:0;border-radius:5px;color:var(--muted);font-size:12px}.nav-menu a.active,.nav-menu a:hover{background:var(--surface-2);border:0;color:var(--accent)}.rail-group{border:1px solid transparent;border-radius:7px}.rail-group[open]{border-color:var(--line);background:#ffffff02}.rail-group>summary{list-style:none;padding:9px 13px;color:var(--muted);font:700 11px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.rail-group>summary::-webkit-details-marker{display:none}.rail-group>summary:before{content:'+';display:inline-block;width:17px;color:var(--accent)}.rail-group[open]>summary:before{content:'−'}.rail-group>summary:hover,.rail-group[open]>summary{color:var(--ink)}.rail-group-links{display:grid;gap:3px;padding:0 5px 5px}.rail-group-links a{font-size:13px}.breadcrumbs{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:18px}.breadcrumbs span{color:var(--line)}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:22px}.page-head h1{margin:7px 0 0;font-size:clamp(30px,5vw,54px);line-height:1;letter-spacing:-.06em}.page-head p{color:var(--muted);max-width:700px;margin:10px 0 0}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:16px 0}.filters .field{min-width:170px}.notice{border-left:3px solid var(--accent);padding:12px 14px;background:#b8f5420b;color:var(--muted)}.notice strong{color:var(--ink)}@media(max-width:900px){.nav{align-items:flex-start;flex-wrap:wrap;overflow:visible}.nav-group{align-items:flex-start}.nav-group>summary{min-height:42px;padding:0 10px}.nav-menu{position:fixed;left:12px;right:12px;top:calc(var(--topbar-height) + 8px);min-width:0}.page-head{display:block}.rail-group-links{padding-bottom:8px}}
/* METPROBET VISUAL REDESIGN 2026-10 */
:root{
  --bg:#080b0f;--bg-soft:#0d1216;--surface:#10151b;--surface-2:#171e26;--surface-3:#202a33;
  --line:#2c3742;--ink:#f3f6f4;--muted:#bdc8cc;--muted-strong:#d8e0df;--accent:#b8f542;--accent-ink:#101609;
  --danger:#ff8177;--warning:#ffd166;--info:#73c8d9;--radius-sm:8px;--radius-md:12px;
}
html{font-size:16px;scroll-behavior:smooth}
body{font-size:16px;line-height:1.5;overflow-x:hidden}
button,input,select,textarea{font-size:16px}
button,.button,.nav a,.rail a,.topbar-tools a{min-height:44px}
button,.button{border-radius:8px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip-link{z-index:1000}
.topbar{min-height:72px;padding:12px 28px;gap:20px;position:sticky;top:0;z-index:50;background:rgba(8,11,15,.96);backdrop-filter:blur(18px);border-top:2px solid var(--accent)}
.brand{font-size:22px;letter-spacing:.18em;white-space:nowrap}
.brand:after{font-size:11px;letter-spacing:.06em;color:var(--muted)}
.nav{display:flex;align-items:stretch;gap:2px;min-height:48px}
.nav-group,.rail-group{position:relative}
.nav-group summary,.rail-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;min-height:44px;padding:8px 14px;color:var(--muted-strong);font-weight:800;letter-spacing:.04em}
.nav-group summary::-webkit-details-marker,.rail-group summary::-webkit-details-marker{display:none}
.nav-group summary:after,.rail-group summary:after{content:"+";margin-left:9px;color:var(--accent);font-family:monospace}
.nav-group[open] summary:after,.rail-group[open] summary:after{content:"−"}
.nav-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;padding:8px;background:var(--surface-2);border:1px solid var(--line);box-shadow:0 20px 50px #0009;border-radius:10px}
.nav-menu a{display:flex;align-items:center;min-height:44px;padding:9px 12px;color:var(--muted);border-radius:6px}
.nav-menu a:hover,.nav-menu a.active{color:var(--ink);background:var(--surface-3)}
.nav-menu a.active{box-shadow:inset 3px 0 var(--accent);color:var(--accent)}
.topbar-tools{display:flex;align-items:center;gap:10px}
.sandbox-badge{font-weight:800;letter-spacing:.06em}
.menu-toggle{display:none;min-width:44px;padding:8px 11px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:20px}
.page{max-width:1440px;padding:32px}
.page h1{font-size:clamp(36px,5vw,58px);line-height:1.02;letter-spacing:-.055em}
.page h2{font-size:clamp(23px,3vw,32px);line-height:1.08}
.lede{font-size:17px;line-height:1.6;color:var(--muted-strong);max-width:760px}
.meta,.small{font-size:14px}
.card{border-radius:12px}
.notice{border-radius:8px;background:#b8f5420d;border-color:#596f38;color:var(--muted-strong);font-size:15px}
.page-head{margin-bottom:24px}
.breadcrumbs{font-size:14px;margin-bottom:18px}
.status{min-height:24px;font-size:15px}
.table{font-size:15px}
.table th{font-size:13px}
.table td,.table th{padding:14px 12px}
.filters{align-items:end;gap:12px;padding:16px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.field{gap:7px}
.field label{font-size:15px;font-weight:700}
input,select,textarea{min-height:48px;border-radius:8px;background:#0a0f14;border:1px solid #3a4652;color:var(--ink);padding:10px 12px}
input::placeholder{color:#87969b}
.admin-layout{grid-template-columns:240px minmax(0,1fr);gap:32px}
.admin-layout>.rail{position:sticky;top:96px;align-self:start;padding:12px 0}
.rail-group{border-bottom:1px solid var(--line);padding:2px 0}
.rail-group summary{padding:13px 12px}
.rail-group-links{display:grid;gap:2px;padding:0 8px 10px}
.rail-group-links a{display:flex;align-items:center;min-height:44px;padding:9px 12px;color:var(--muted);border-radius:6px}
.rail-group-links a:hover,.rail-group-links a.active{background:var(--surface-2);color:var(--ink)}
.rail-group-links a.active{box-shadow:inset 3px 0 var(--accent);color:var(--accent)}
.admin-layout .page-head h1{margin-bottom:8px}
.admin-layout .grid{gap:16px}
.admin-layout .stat{font-size:36px}
.dialog{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:12px;background:var(--surface);color:var(--ink);padding:24px;max-width:460px;box-shadow:0 24px 90px #000b}
.dialog::backdrop{background:#000b}

/* Casino lobby */
.casino-page .page{max-width:1500px}
.casino-page .topbar{padding-inline:32px}
.casino-page .topbar .nav{margin-left:auto}
.casino-lobby .lobby-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:end;padding:58px 0 38px;border-bottom:1px solid var(--line)}
.casino-lobby .lobby-hero h1{max-width:780px;margin:10px 0 16px;font-size:clamp(48px,7vw,92px)}
.casino-lobby .lobby-kicker{display:flex;align-items:center;gap:9px;color:var(--accent);font:800 13px/1 ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase}
.casino-lobby .lobby-kicker:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #b8f5421c}
.lobby-state{padding:18px;border-left:3px solid var(--accent);background:linear-gradient(135deg,#142018,#0d1216)}
.lobby-state strong{display:block;font-size:28px;line-height:1.1;color:var(--ink)}
.lobby-state small{display:block;margin-top:6px;color:var(--muted)}
.lobby-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0 22px}
.lobby-search{position:relative;flex:1 1 280px;max-width:440px}
.lobby-search input{width:100%;padding-left:42px}
.lobby-search:before{content:"/";position:absolute;left:16px;top:9px;color:var(--accent);font:800 20px monospace;z-index:1}
.lobby-filters{display:flex;gap:8px;overflow:auto}
.lobby-filter{min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-weight:800;white-space:nowrap}
.lobby-filter:hover,.lobby-filter.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.lobby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.game-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease}
.game-card:hover{transform:translateY(-4px);border-color:#89b443;box-shadow:0 20px 48px #0008}
.game-card.is-hidden{display:none}
.game-card.is-unavailable{opacity:.66}
.game-art{position:relative;aspect-ratio:1.9/1;overflow:hidden;background:var(--surface-2)}
.game-art img{display:block;width:100%;height:100%;object-fit:cover}
.game-card-body{display:flex;flex:1;flex-direction:column;padding:20px}
.game-card-top{display:flex;justify-content:space-between;gap:14px;align-items:start}
.game-card h2{margin:7px 0 6px;font-size:30px}
.game-card p{margin:0;color:var(--muted);font-size:16px;line-height:1.55}
.game-type{color:var(--accent);font:800 12px ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase}
.game-card .game-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;color:var(--muted-strong);font:700 13px ui-monospace,monospace}
.game-card .game-meta span{padding:6px 8px;border:1px solid var(--line);border-radius:6px}
.game-card .button{align-self:flex-start;margin-top:auto}
.lobby-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:38px 0 14px}
.lobby-section-head h2{margin:0}
.lobby-section-head p{margin:0;color:var(--muted);font-size:15px}
.lobby-note{display:flex;gap:12px;align-items:flex-start;margin-top:24px;padding:16px;border:1px dashed #566f3b;border-radius:8px;background:#b8f54208;color:var(--muted)}
.lobby-note strong{color:var(--accent)}
.trust-strip{margin-top:34px}
.casino-page .responsible-note{font-size:15px;line-height:1.5}

/* Game/account surfaces */
.game-page>section.card{max-width:1080px;border-top:3px solid var(--accent);box-shadow:0 18px 55px #0006}
.game-page h1{margin-bottom:12px}
.game-page form{display:grid;gap:14px}
.game-page form label{font-weight:700;margin-top:3px}
.game-page canvas{width:100%;height:auto;border:1px solid var(--line);border-radius:8px}
.wallet-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.wallet-action{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink)}
.wallet-action:hover{border-color:var(--accent);color:var(--accent)}
.wallet-action strong{font-size:17px}
.wallet-action small{color:var(--muted);font-size:14px}
.split>.card{min-width:0}
.wallet-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}
.wallet-summary .card{padding:20px}
.wallet-summary .stat{font-size:38px}
.anchor-target{scroll-margin-top:100px}

/* Mobile drawer and responsive contract */
@media(max-width:1100px){
  .topbar{padding-inline:20px}
  .page{padding:28px 22px}
  .casino-lobby .lobby-hero{grid-template-columns:1fr}
  .lobby-state{max-width:360px}
  .lobby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  html{font-size:16px}
  .topbar{min-height:64px;padding:10px 14px;gap:10px;flex-wrap:wrap}
  .brand{font-size:19px}
  .menu-toggle{display:inline-grid;place-items:center;order:-1}
  .topbar .nav{display:none;order:10;flex-basis:100%;width:100%;padding:8px 0 4px}
  body.nav-open .topbar .nav{display:grid;gap:4px}
  .nav-group summary{padding:11px 10px}
  .nav-menu{position:static;min-width:0;box-shadow:none;background:var(--surface);border-color:var(--line);margin:0 8px 6px}
  .topbar-tools{margin-left:auto;max-width:calc(100% - 95px);overflow:auto}
  .sandbox-badge{font-size:11px;white-space:nowrap}
  .topbar-tools>a{white-space:nowrap}
  .page{padding:24px 16px}
  .page h1{font-size:clamp(34px,11vw,48px)}
  .lede{font-size:16px}
  .casino-page .topbar .nav{margin-left:0}
  .casino-lobby .lobby-hero{padding:34px 0 26px}
  .casino-lobby .lobby-hero h1{font-size:clamp(46px,14vw,68px)}
  .lobby-toolbar{padding-top:20px}
  .lobby-search{max-width:none;flex-basis:100%}
  .lobby-grid{grid-template-columns:1fr}
  .game-art{aspect-ratio:2/1}
  .game-card h2{font-size:27px}
  .wallet-actions,.wallet-summary{grid-template-columns:1fr}
  .admin-layout{display:block}
  .admin-layout>.rail{position:static;margin-bottom:24px;border:1px solid var(--line);border-radius:10px}
  .admin-layout>.rail .rail-group-links{grid-template-columns:1fr 1fr}
  .filters{display:grid;grid-template-columns:1fr}
  .table-wrap{overflow-x:auto}
  .table{min-width:680px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:0.01ms!important;animation-duration:0.01ms!important}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav-group summary.active{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.nav-group summary:hover{color:var(--ink);background:var(--surface-2)}
body .menu-toggle{color:var(--ink)!important;background:var(--surface)!important;border-color:var(--line)!important}
.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#18231b 0,#080b0f 46%)}
.auth-page .page{width:100%;padding:24px}
.auth-card{max-width:560px;margin:0 auto;padding:32px;border-top:3px solid var(--accent);box-shadow:0 24px 80px #0008}
.auth-card .brand{display:inline-block}
.auth-kicker{margin-top:42px}
.auth-card h1{margin:10px 0 12px}
.auth-copy{font-size:16px;line-height:1.55}
.auth-card .actions{margin-top:22px}
.auth-card .form{margin-top:22px}
@media(max-width:520px){.auth-page .page{padding:14px}.auth-card{padding:24px 18px}.auth-kicker{margin-top:32px}}
.admin-state{min-width:190px;padding:16px 18px;border-left:3px solid var(--accent);background:linear-gradient(135deg,#142018,#0d1216)}.admin-state strong{display:block;color:var(--accent);font:800 20px/1 ui-monospace,monospace;letter-spacing:.08em}.admin-state small{display:block;color:var(--muted);margin-top:7px}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-stats .card{padding:20px}.admin-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.admin-quick-card{display:flex;flex-direction:column;gap:7px;min-height:170px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);transition:border-color 160ms ease,transform 160ms ease}.admin-quick-card:hover{border-color:var(--accent);transform:translateY(-3px)}.admin-quick-card strong{font-size:22px}.admin-quick-card small{max-width:360px;color:var(--muted);font-size:15px;line-height:1.5}.admin-quick-card .quick-arrow{margin-top:auto;color:var(--accent);font-weight:800}.admin-notice{margin-top:24px;border-top:3px solid var(--accent)}.account-quick-grid{margin-top:0}.account-quick-grid .admin-quick-card{min-height:150px}@media(max-width:900px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.admin-stats,.admin-quick-grid{grid-template-columns:1fr}.admin-state{max-width:none;width:100%}}.review-drawer{margin:0 0 0 auto;width:min(440px,100%);height:100vh;max-height:none;padding:24px;border:0;border-left:1px solid var(--line);border-top:3px solid var(--accent);border-radius:12px 0 0 12px;background:var(--surface);color:var(--ink);box-shadow:-22px 0 70px #0009}.review-drawer::backdrop{background:#0009}.drawer-head{display:flex;align-items:start;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}.drawer-head h2{margin:6px 0 0}.drawer-body{padding:22px 0}.drawer-list{display:grid;grid-template-columns:110px 1fr;gap:12px;margin:0}.drawer-list dt{color:var(--muted);font-size:14px}.drawer-list dd{margin:0;overflow-wrap:anywhere;color:var(--muted-strong)}.drawer-actions{padding-top:18px;border-top:1px solid var(--line)}.game-surface .game-page{min-height:calc(100vh - 72px)}.game-surface .game-page>section.card{background:linear-gradient(145deg,#111a20,#0d1216)}.game-scene{position:relative;min-height:210px;margin:22px 0;padding:18px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#080b0f}.game-scene-slot{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center;background:radial-gradient(circle at 50% 45%,#3e4d25 0,#141c1b 45%,#080b0f 100%)}.game-scene-slot:before{content:"";position:absolute;inset:22px;border:2px solid #b8f54266;border-radius:8px}.slot-reel{position:relative;z-index:1;display:grid;place-items:center;height:150px;border:2px solid #b8f542;border-radius:10px;background:linear-gradient(#d9ff72,#719c35);color:#101609;font-size:70px;font-weight:900;box-shadow:0 14px 28px #0008}.game-scene-roulette{display:grid;place-items:center;background:radial-gradient(circle,#263e2a 0,#111b18 48%,#080b0f 100%)}.roulette-wheel{position:relative;z-index:1;width:min(230px,70vw);aspect-ratio:1;border:12px solid #b8f542;border-radius:50%;background:repeating-conic-gradient(#b8f542 0 10deg,#101609 10deg 20deg);box-shadow:0 0 0 8px #24392b,0 18px 40px #0009}.roulette-wheel:after{content:"";position:absolute;inset:30%;border:8px solid #f3f6f4;border-radius:50%;background:#b8f542;box-shadow:inset 0 0 0 14px #101609}.game-scene-label{position:absolute;left:18px;bottom:14px;color:var(--muted);font:800 11px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}@media(max-width:600px){.review-drawer{width:100%;border-radius:12px 12px 0 0;margin:auto 0 0;height:min(88vh,620px)}.drawer-list{grid-template-columns:1fr}.drawer-list dd{margin-top:-7px}.game-scene{min-height:180px}.slot-reel{height:125px;font-size:52px}}@media(min-width:761px) and (max-width:1100px){.menu-toggle{display:inline-grid;place-items:center}.topbar .nav{display:none;order:10;flex-basis:100%;width:100%}body.nav-open .topbar .nav{display:grid;gap:4px}.topbar-tools{margin-left:auto}.nav-group summary{padding:11px 10px}}
/* Native hidden state must win over component display rules. */
:where([hidden]){display:none!important}
.notice,.notice *{overflow-wrap:anywhere;word-break:break-word}

/* METPROBET CANONICAL SHELL 2026-10 */
:root{--z-topbar:50;--z-drawer:80;--z-backdrop:70;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px}
body.surface-player,body.surface-admin{background:var(--bg);color:var(--ink)}
body.surface-player .topbar,body.surface-admin .topbar{z-index:var(--z-topbar)}
.page{width:min(1440px,calc(100% - 32px));padding:var(--space-6) 0 72px}
.page>section,.admin-layout>section{min-width:0}
.page-head{align-items:flex-start}
.page-head h1{font-weight:800;text-wrap:balance}
.page-head p,.lede{max-width:68ch}
.page-head-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}
.stack{display:grid;gap:var(--space-4)}
.panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.section-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5)}
.section-card>h2:first-child,.section-card>h3:first-child{margin-top:0}
.section-card>h2:last-child,.section-card>h3:last-child{margin-bottom:0}
.control-section{border:1px solid var(--line);border-radius:var(--radius-sm);background:#0d1318;overflow:hidden}
.control-section__head{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;padding:var(--space-4);border-bottom:1px solid var(--line);background:#121a20}
.control-section__head h3{margin:0;font-size:18px}
.control-section__head p{margin:4px 0 0;color:var(--muted);font-size:14px}
.control-section__body{display:grid;gap:var(--space-4);padding:var(--space-4)}
.check-row{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}
.check-row input{width:20px;min-height:20px;margin:1px 0 0;accent-color:var(--accent)}
.check-row span{display:grid;gap:2px}
.check-row small,.field-help{color:var(--muted);font-size:14px}
textarea{width:100%;resize:vertical;min-height:120px;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.form-status{margin:0}
.empty-state{display:grid;gap:8px;padding:var(--space-6);border:1px dashed var(--line);border-radius:var(--radius-sm);background:#0d1318}
.empty-state h2,.empty-state h3,.empty-state p{margin:0}
.empty-state p{color:var(--muted);max-width:62ch}
.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}
.table-toolbar .status{min-height:0;margin:0}
.game-config-card{display:grid;gap:var(--space-4);align-content:start}
.game-config-card>h2{margin:0}
.game-config-card .form{max-width:none}
.game-config-card .actions{align-items:flex-end}
.game-config-card .actions .field{min-width:128px}
.game-config-card .stats{margin:0!important;padding:var(--space-4)!important}
.advanced-config{border-top:1px solid var(--line);padding-top:var(--space-4)}
.advanced-config>summary{cursor:pointer;color:var(--accent);font-weight:800;min-height:44px;display:flex;align-items:center}
.admin-rail-backdrop{display:none}
.surface-admin .admin-layout>.rail{z-index:var(--z-drawer)}
.surface-admin .admin-layout>section{min-width:0}
.surface-admin .rail-group-links a{font-size:14px}
.surface-admin .admin-layout .page-head{margin-bottom:var(--space-5)}
.surface-admin .admin-layout .notice{margin-bottom:var(--space-4)}
.surface-admin .topbar .nav{justify-content:flex-end}
.surface-admin .topbar-tools{margin-left:auto}
.surface-player .account-surface,.surface-player.account-surface{min-height:100vh}
@media(max-width:900px){
 .panel-grid{grid-template-columns:1fr}
 .admin-menu-toggle{display:inline-grid;place-items:center}
 .surface-admin .admin-layout{display:block}
 .surface-admin .admin-layout>.rail{position:fixed;inset:72px auto 0 0;width:min(320px,86vw);height:auto;margin:0;padding:16px 12px 32px;overflow:auto;background:var(--bg-soft);border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:24px 0 60px #0008;transform:translateX(-105%);transition:transform 180ms ease}
 body.admin-menu-open{overflow:hidden}
 body.admin-menu-open .surface-admin .admin-layout>.rail,body.admin-menu-open .admin-layout>.rail{transform:translateX(0)}
 .admin-rail-backdrop{position:fixed;inset:0;background:#0009;z-index:var(--z-backdrop)}
 body.admin-menu-open .admin-rail-backdrop{display:block}
 .surface-admin .admin-layout>.rail .rail-group-links{grid-template-columns:1fr}
 .surface-admin .topbar .nav{display:flex;flex:1;justify-content:flex-end;order:initial}
 .surface-admin .topbar{flex-wrap:nowrap}
 .surface-admin .topbar-tools{max-width:40%;overflow:auto}
}
@media(max-width:760px){
 .page{width:min(100% - 24px,1440px);padding:var(--space-5) 0 56px}
 .page-head-actions{width:100%}
 .page-head-actions .button,.page-head-actions button{flex:1}
 .control-section__head{display:block}
 .control-section__head .pill{display:inline-flex;margin-top:8px}
 .surface-admin .topbar{padding-inline:12px}
 .surface-admin .topbar .nav{display:none}
 .surface-admin .topbar-tools{margin-left:auto;max-width:calc(100% - 90px)}
 .surface-admin .admin-menu-toggle{display:inline-grid}
}
@media(prefers-reduced-motion:reduce){.surface-admin .admin-layout>.rail{transition:none}}
.spaced-card{margin-top:var(--space-4)}.verification-card{padding:var(--space-4);margin-top:var(--space-3)}.form-spaced{margin-top:var(--space-4)}

@media(max-width:760px){
  .surface-player .topbar,.surface-admin .topbar{flex-wrap:wrap;gap:8px}
  .surface-player .topbar-tools,.surface-admin .topbar-tools{width:100%;max-width:none;margin-left:0;justify-content:flex-end;overflow:visible}
  .surface-player .topbar-tools .sandbox-badge,.surface-admin .topbar-tools .sandbox-badge{margin-left:auto}
  .surface-player .menu-toggle,.surface-admin .menu-toggle{min-width:52px}
  .surface-admin .admin-layout>.rail{inset:108px auto 0 0}
}


/* Local 3D game stages: CSS perspective only, no external runtime/assets. */
.game-scene{isolation:isolate;perspective:900px;background:radial-gradient(circle at 50% 35%,#253326 0,#10171a 48%,#080b0f 100%);box-shadow:inset 0 1px 0 #ffffff12,0 20px 46px #0008}
.game-scene:after{content:"";position:absolute;inset:12px;border:1px solid #b8f54226;border-radius:8px;pointer-events:none;box-shadow:inset 0 0 35px #b8f5420b}
.game-scene-dice{display:grid;place-items:center;min-height:235px;background:radial-gradient(circle at 50% 42%,#354b2c 0,#17231e 42%,#080b0f 100%)}
.dice-cube{position:relative;z-index:1;display:grid;place-items:center;width:112px;height:112px;border:2px solid #dfff8a;border-radius:22px;background:linear-gradient(145deg,#dfff82 0%,#9bc949 45%,#52752f 100%);color:#15220f;font:900 34px/1 ui-monospace,monospace;transform:rotateX(14deg) rotateY(-22deg) translateZ(34px);box-shadow:-18px 20px 0 #273a24,0 26px 42px #000b,inset 8px 8px 15px #f3ffb866,inset -10px -14px 20px #2a4b2677}
.dice-cube:before,.dice-cube:after{content:"";position:absolute;border-radius:50%;background:#15220f66;box-shadow:28px 0 #15220f66,0 28px #15220f66,28px 28px #15220f66}
.dice-cube:before{width:10px;height:10px;top:25px;left:25px}.dice-cube:after{width:10px;height:10px;right:25px;bottom:25px}
.dice-track{position:absolute;left:18%;right:18%;bottom:31px;height:10px;border-radius:50%;background:#b8f54233;box-shadow:0 0 30px 10px #b8f5421a;transform:rotateX(62deg)}
.game-scene-keno{display:grid;place-items:center;min-height:235px;background:radial-gradient(circle at 50% 45%,#2b3c31 0,#111b18 52%,#080b0f 100%)}
.keno-balls{position:relative;z-index:1;display:flex;gap:10px;align-items:center;transform:rotateX(18deg) rotateZ(-3deg) translateZ(24px);filter:drop-shadow(0 22px 16px #000b)}
.keno-balls span{display:grid;place-items:center;width:48px;height:48px;border:2px solid #dfff8a;border-radius:50%;background:radial-gradient(circle at 32% 25%,#f1ffbb 0 8%,#b8f542 38%,#668d31 100%);color:#15220f;font:900 13px/1 ui-monospace,monospace;box-shadow:inset 4px 5px 8px #fff8, inset -5px -7px 10px #243f27,0 8px 0 #314928}
.keno-radial{position:absolute;width:60%;height:55%;border:1px solid #b8f54244;border-radius:50%;transform:rotateX(64deg);box-shadow:0 0 0 18px #b8f54209,0 0 45px #b8f54217}
.game-scene-mines{display:grid;place-items:center;min-height:180px;background:radial-gradient(circle at 50% 48%,#3a2f27 0,#181719 47%,#080b0f 100%)}
.mines-orb{position:relative;z-index:1;width:76px;height:76px;border:3px solid #f1ffb1;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fffbd0 0 6%,#b8f542 20%,#6a8731 62%,#29351d 100%);box-shadow:0 0 0 15px #b8f54216,0 24px 34px #000b,0 0 28px #b8f54255}
.mines-orb:before,.mines-orb:after{content:"";position:absolute;inset:-18px;border:2px solid #ffb84d66;transform:rotate(45deg)}.mines-orb:after{transform:rotate(-45deg)}
.mines-grid-lines{position:absolute;inset:32px 22%;background:linear-gradient(#f6b55320 1px,transparent 1px),linear-gradient(90deg,#f6b55320 1px,transparent 1px);background-size:25% 25%;transform:rotateX(60deg) translateZ(-10px);box-shadow:0 0 35px #0008}
.mines-board{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:14px;border:1px solid #b8f54233;border-radius:12px;background:linear-gradient(145deg,#19231d,#0b100e);box-shadow:inset 0 1px #ffffff12,0 16px 34px #0009;transform:perspective(900px) rotateX(4deg)}
.mines-board button{min-height:48px;border:1px solid #6b9135;border-radius:8px;background:linear-gradient(145deg,#344d2b,#182519);color:#eaffae;font-weight:900;box-shadow:inset 0 1px #ffffff19,0 5px 0 #0b110b;transition:transform 140ms ease,background 140ms ease}
.mines-board button:not(:disabled):hover{transform:translateY(-3px);background:linear-gradient(145deg,#b8f542,#70952e);color:#14210e}.mines-board button:disabled{opacity:.85}
@media(max-width:600px){.dice-cube{width:88px;height:88px}.keno-balls{gap:5px}.keno-balls span{width:38px;height:38px;font-size:11px}.game-scene-dice,.game-scene-keno{min-height:205px}.mines-grid-lines{inset:30px 12%}}
@media(prefers-reduced-motion:reduce){.dice-cube,.keno-balls,.mines-board{transform:none}}

/* Game-first layout: the play surface leads, controls stay in a compact dock below. */
.game-page .split{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  align-items:stretch;
}
.game-page .split > section.card,
.game-page .split > aside.card{
  width:100%;
  max-width:none;
  min-width:0;
}
.game-page .split > aside.card:has(canvas){order:-1;padding:24px 24px 18px}
.game-page .split > aside.card:has(canvas) canvas{display:block;width:min(100%,920px);height:auto;min-height:420px;margin:18px auto 8px;background:#080b0f}
.game-page .split > section.card{display:flex;flex-direction:column;gap:16px;padding:20px}
.game-page .split > section.card > .notice{order:1;margin:0}
.game-page .split > section.card > .game-scene{order:2}
.game-page .split > section.card > form{order:3}
.game-page .split > section.card > #result{order:4}
.game-page .split > section.card > aside{order:5}
.game-page .split > section.card > form{max-width:none;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;padding:18px;border:1px solid var(--line);border-radius:10px;background:#0b1015}
.game-page .split > section.card > form .actions,
.game-page .split > section.card > form > button{grid-column:1/-1}
.game-page .split > section.card > form > button{width:max-content;min-width:150px}
.game-page .split > section.card > #result{margin:0}
.game-page .split > section.card > .game-scene{width:100%;min-height:clamp(360px,52vw,620px);margin:0}
.game-page .split > aside.card:not(:has(canvas)){order:5;display:grid;grid-template-columns:1fr auto;gap:8px 18px;align-items:center}
.game-page .split > aside.card:not(:has(canvas)) > *{margin:0}
.game-page .split > aside.card:not(:has(canvas)) > .eyebrow,
.game-page .split > aside.card:not(:has(canvas)) > h2,
.game-page .split > aside.card:not(:has(canvas)) > p,
.game-page .split > aside.card:not(:has(canvas)) > dl{grid-column:1}
.game-page .split > aside.card:not(:has(canvas)) > .button{grid-column:2;grid-row:1 / span 4;align-self:center}

/* The newer local-game pages use page-shell/game-layout instead of split. */
.page-shell{width:min(1480px,calc(100% - 40px));margin:0 auto;padding:34px 0 72px}
.page-shell > h1{font-size:clamp(42px,7vw,82px);line-height:.92;letter-spacing:-.07em;margin:10px 0 14px}
.page-shell > .lede{margin-bottom:28px}
.game-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.game-layout > .panel{min-width:0;background:linear-gradient(145deg,#141b22,#0f1419);border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:var(--shadow)}
.game-layout > .panel:first-child{display:flex;flex-direction:column;gap:16px}
.game-layout > .panel:first-child > .game-scene{order:2;margin:0;min-height:clamp(360px,52vw,620px)}
.game-layout > .panel:first-child > form{order:3}
.game-layout > .panel:first-child > .actions{order:4}
.game-layout > .panel:first-child > .status{order:5}
.game-layout > .panel:first-child > #board{order:4}
.game-layout > .panel:first-child > #cashout{order:5}
.game-layout > .panel:first-child > #new-round{order:6}
.game-layout > .panel:first-child > p:not(.status):not(.mono):not(#config){order:1}
.game-layout > .panel:first-child > #config,
.game-layout > .panel:first-child > #commitment{order:1;margin:0}
.game-layout form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:10px;background:#0b1015}
.game-layout form label{display:grid;gap:6px;font-weight:700}
.game-layout form button{grid-column:1/-1;width:max-content;min-width:150px}
.game-layout .result{margin:0;white-space:pre-wrap;overflow:auto;color:var(--muted-strong);font:600 15px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}
.game-layout > .panel:nth-child(2){min-height:150px}

/* Bloom Cascade follows the same play-first rhythm. */
.cascade-layout{display:flex;flex-direction:column;gap:16px}
.cascade-stage{order:1;width:100%;min-height:clamp(420px,56vw,700px);padding:clamp(18px,3vw,32px)}
.cascade-panel{order:2;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;align-items:end}
.cascade-panel > *{margin:0}
.cascade-panel > form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;grid-column:1/-1}
.cascade-panel > form .cascade-actions{grid-column:1/-1}
.cascade-actions button{min-width:150px}

@media(max-width:760px){
  .page-shell{width:calc(100% - 24px);padding:24px 0 56px}
  .game-page .split > aside.card:has(canvas){padding:16px 14px 12px}
  .game-page .split > aside.card:has(canvas) canvas{min-height:300px;margin-top:12px}
  .game-page .split > section.card > form,
  .game-layout form,
  .cascade-panel,
  .cascade-panel > form{grid-template-columns:1fr}
  .game-page .split > section.card > form > button,
  .game-layout form button,
  .cascade-actions button{width:100%;min-width:0}
  .game-page .split > aside.card:not(:has(canvas)){display:block}
  .game-page .split > aside.card:not(:has(canvas)) > *{margin:8px 0}
  .game-page .split > aside.card:not(:has(canvas)) > .button{display:inline-flex;margin-top:12px}
  .game-page .split > section.card > .game-scene,
  .game-layout > .panel:first-child > .game-scene{min-height:300px}
  .cascade-stage{min-height:390px}
}

@media(prefers-reduced-motion:reduce){
  .game-scene,.cascade-stage{scroll-behavior:auto}
}

/* Player game controls: short, visual-first, low-friction forms. */
.technical-field{display:none!important}
.game-page .form,.game-layout form,.cascade-panel>form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.game-page .form .field,.game-layout form label,.cascade-panel>form label{min-width:0}
.game-page .form input,.game-page .form select,.game-layout form input,.game-layout form select,.cascade-panel>form input{min-height:44px}
.game-page .form>button,.game-layout form>button,.cascade-panel>form .cascade-actions{margin-top:2px}
.quick-bets{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:-2px}
.quick-bets span{color:var(--muted);font-size:12px;font-weight:700}
.quick-bets button{min-height:36px;padding:7px 11px;background:var(--surface-2);border-color:var(--line);color:var(--ink);font-size:12px}
.quick-bets button:hover,.quick-bets button.is-selected{border-color:var(--accent);color:var(--accent);background:#172218}

/* Roulette table: stronger local 3D stage without external assets. */
.game-scene-roulette{perspective:1100px;isolation:isolate}
.game-scene-roulette:before{content:"";position:absolute;inset:12% 8% 10%;border:1px solid #b8f54222;border-radius:50%;transform:rotateX(62deg) translateZ(-28px);box-shadow:0 24px 40px #0009,inset 0 0 28px #b8f54212;z-index:0}
.game-scene-roulette:after{content:"";position:absolute;left:14%;right:14%;bottom:8%;height:22px;border-radius:50%;background:#0009;filter:blur(12px);transform:rotateX(65deg);z-index:0}
.game-scene-roulette .roulette-wheel{transform:rotateX(17deg) translateZ(28px);transform-style:preserve-3d;border-width:14px;background:repeating-conic-gradient(#b8f542 0 10deg,#101609 10deg 20deg);box-shadow:0 0 0 8px #24392b,0 18px 26px #000b,0 36px 42px #0008;transition:filter .2s ease}
.game-scene-roulette .roulette-wheel:before{content:"";position:absolute;inset:7%;border:3px solid #f3f6f488;border-radius:50%;box-shadow:inset 0 0 0 10px #101609,inset 0 0 0 14px #b8f54255}
.game-scene-roulette .roulette-wheel:after{inset:34%;border-width:7px;box-shadow:inset 0 0 0 9px #101609,0 0 0 3px #f3f6f466,0 10px 14px #000b}
.game-scene-roulette.is-spinning .roulette-wheel{filter:brightness(1.15) saturate(1.12)}
@media(max-width:760px){
.game-page .form,.game-layout form,.cascade-panel>form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.game-page .form>button,.game-layout form>button{grid-column:1/-1;width:100%}
.quick-bets{grid-column:1/-1}
}
.technical-field + input{display:none!important}
.game-page label:has(#betValue:disabled){display:none!important}.game-page .field:has(#betValue:disabled){display:none!important}
/* Local 3D game scenes: CSS-only, no external runtime or assets. */
.game-scene-slot{perspective:1000px;transform-style:preserve-3d}
.game-scene-slot:after{content:"";position:absolute;left:8%;right:8%;bottom:8%;height:26px;border-radius:50%;background:#000b;filter:blur(13px);transform:rotateX(70deg);z-index:0}
.game-scene-slot .slot-reel{transform:rotateX(8deg) translateZ(24px);transform-style:preserve-3d;box-shadow:inset 0 0 0 5px #ffffff33,0 16px 22px #000b,0 30px 32px #0008}
.game-scene-slot .slot-reel:before{content:"";position:absolute;inset:8px;border:1px solid #10160966;border-radius:7px;box-shadow:inset 0 10px 18px #ffffff55,inset 0 -14px 18px #10160955;pointer-events:none}
.game-scene-slot .slot-reel:nth-child(odd){transform:rotateX(8deg) translateZ(34px) rotateY(-2deg)}
.game-scene-slot .slot-reel:nth-child(even){transform:rotateX(8deg) translateZ(26px) rotateY(2deg)}
.game-scene-slot.is-spinning .slot-reel{filter:blur(1px) brightness(1.12)}
.game-scene-baccarat{display:grid;place-items:center;min-height:clamp(360px,52vw,620px);perspective:1000px;background:radial-gradient(circle at 50% 42%,#294a38 0,#11221b 48%,#080b0f 100%)}
.game-scene-baccarat:before{content:"";position:absolute;inset:12% 7% 10%;border:1px solid #b8f54233;border-radius:50%;transform:rotateX(62deg) translateZ(-28px);box-shadow:inset 0 0 40px #b8f5420d,0 24px 38px #000b}
.game-scene-baccarat .keno-balls{position:relative;z-index:1;transform:rotateX(16deg) translateZ(28px);filter:drop-shadow(0 20px 18px #000b)}
.game-scene-baccarat .keno-balls span{background:linear-gradient(145deg,#f3f6f4,#8c9a8f 48%,#34433a);color:#101609;border-color:#f3f6f466;box-shadow:inset 0 0 0 4px #ffffff33,0 14px 20px #000b}
@media(max-width:760px){.game-scene-baccarat{min-height:300px}.game-scene-baccarat .keno-balls{gap:5px}.game-scene-baccarat .keno-balls span{width:42px;height:42px}}
/* Roulette visual polish: compact title, centered table, clear control strip. */
.game-page .page-head{margin:18px 0 22px;align-items:center}
.game-page .page-head h1{font-size:clamp(34px,4.5vw,56px);letter-spacing:-.055em;margin:8px 0}
.game-page .page-head p{margin:0;font-size:15px}
.game-page .split{gap:12px}
.game-page .split>section.card{gap:12px;padding:14px}
.game-page .split>section.card>.notice{padding:10px 14px;font-size:13px}
.game-page .split>section.card>.game-scene{min-height:clamp(280px,37vw,440px);border-radius:12px;background:radial-gradient(ellipse at 50% 64%,#23533b 0,#123024 45%,#090f12 100%)}
.game-scene-roulette:before{inset:16% 16% 7%;border-color:#d6ad5c55;background:radial-gradient(ellipse,#22543a 0 55%,#153a2a 56% 70%,transparent 71%);box-shadow:inset 0 0 0 2px #d6ad5c22,0 22px 30px #0009}
.game-scene-roulette .roulette-wheel{width:min(300px,54vw);border:12px solid #b88c42;background:repeating-conic-gradient(from -5deg,#a92e36 0deg 9.72deg,#171b20 9.72deg 19.44deg);box-shadow:0 0 0 4px #d6b264,0 0 0 10px #263329,0 18px 24px #000c,0 34px 36px #0008}
.game-scene-roulette .roulette-wheel:before{inset:8%;border:4px solid #d4ad62;box-shadow:inset 0 0 0 7px #18241c,inset 0 0 0 11px #d4ad6288}
.game-scene-roulette .roulette-wheel:after{inset:35%;border:8px solid #d6b264;background:radial-gradient(circle at 35% 30%,#e4c780,#90652d 56%,#43321d);box-shadow:inset 0 0 0 7px #18221b,0 0 0 4px #111,0 8px 14px #000b}
.game-scene-roulette .game-scene-label{left:14px;bottom:10px;font-size:9px;letter-spacing:.08em}
.game-page .split>section.card>form{padding:12px;gap:8px 10px;border-radius:8px}
.game-page .form .field{gap:4px}
.game-page .form label{font-size:13px}
.game-page .form input,.game-page .form select{min-height:40px;padding:8px 10px}
.game-page .form>button{min-height:42px;padding:9px 18px}
.game-page .quick-bets{gap:5px}
.game-page .quick-bets button{min-height:32px;padding:5px 9px}
.game-page .split>aside.card:not(:has(canvas)){padding:14px 16px;gap:4px 12px}
.game-page .split>aside.card:not(:has(canvas)>dl){font-size:12px}
@media(max-width:760px){
 .game-page .page-head{margin:12px 0 16px}
 .game-page .split>section.card{padding:10px}
 .game-page .split>section.card>.game-scene{min-height:270px}
 .game-scene-roulette .roulette-wheel{width:min(230px,62vw)}
 .game-page .split>section.card>form{padding:10px}
 .game-page .split>aside.card:not(:has(canvas)){padding:12px}
}
@media(prefers-reduced-motion:reduce){.game-scene-roulette .roulette-wheel{transition:none}}

/* Roulette table detail and compact rules strip. */
.game-scene-roulette{overflow:hidden}
.game-scene-roulette .roulette-wheel{isolation:isolate}
.game-scene-roulette .roulette-wheel .wheel-pocket{position:absolute;z-index:2;display:grid;place-items:center;width:16px;height:20px;border-radius:3px;color:#f5e9c8;background:linear-gradient(180deg,#20252a,#080b0f);font:700 8px/1 ui-monospace,monospace;text-shadow:0 1px 2px #000;box-shadow:inset 0 0 0 1px #d6b26466}
.game-scene-roulette .roulette-wheel .wheel-pocket.red{background:linear-gradient(#c94b4d,#701b25)}
.game-scene-roulette .roulette-wheel .wheel-pocket.green{background:linear-gradient(#55a46b,#174c32)}
.game-scene-roulette .roulette-ball-orbit{position:absolute;z-index:4;inset:50%;width:0;height:0;pointer-events:none}
.game-scene-roulette .roulette-ball-orbit i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#c9d2ce 55%,#69736e);box-shadow:0 0 12px #fff9;transform:translateY(-112px)}
.game-scene-roulette.is-spinning .roulette-ball-orbit{animation:roulette-ball-orbit 1.65s cubic-bezier(.16,.68,.22,1) both}
@keyframes roulette-ball-orbit{0%{transform:rotate(0)}72%{transform:rotate(900deg)}100%{transform:rotate(1110deg)}}
.game-page .split>aside.card:not(:has(canvas)) dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;margin:2px 0 8px}
.game-page .split>aside.card:not(:has(canvas)) dl dt,.game-page .split>aside.card:not(:has(canvas)) dl dd{margin:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#0b1014;font-size:12px;line-height:1.35}
.game-page .split>aside.card:not(:has(canvas)) dl dd{color:var(--accent);font-weight:750}
.game-page .split>aside.card:not(:has(canvas)) h2{margin:2px 0 4px;font-size:22px}
@media(max-width:760px){.game-page .split>aside.card:not(:has(canvas)) dl{gap:5px}.game-page .split>aside.card:not(:has(canvas)) dl dt,.game-page .split>aside.card:not(:has(canvas)) dl dd{padding:7px 6px;font-size:11px}.game-scene-roulette .roulette-wheel .wheel-pocket{width:13px;height:16px;font-size:7px}.game-scene-roulette .roulette-ball-orbit i{transform:translateY(-88px)}}
@media(prefers-reduced-motion:reduce){.game-scene-roulette.is-spinning .roulette-ball-orbit{animation:none}}

/* Shared game presentation: scene first, compact controls, clear round feedback. */
body.game-surface{--game-edge:#29353b;background-image:radial-gradient(ellipse at 50% -12%,#17251e 0,transparent 48%)}
.game-surface .page-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.game-surface .game-page .split>section.card>.game-scene,.game-surface .game-layout>.panel:first-child>.game-scene{min-height:clamp(300px,34vw,430px);border-color:#33433a;box-shadow:inset 0 1px #ffffff0a,0 18px 34px #0005}
.game-surface .game-layout>.panel{padding:clamp(14px,2vw,22px);border-color:var(--game-edge);background:linear-gradient(150deg,#151d22,#0d1216 72%);box-shadow:0 16px 40px #0004}
.game-surface .game-layout>.panel:first-child{gap:12px}
.game-surface .game-layout form{gap:10px;padding:14px;border-color:#2a353b;background:linear-gradient(145deg,#0b1014,#10161a)}
.game-surface .game-layout form input,.game-surface .game-layout form select{min-height:44px;border-radius:8px;font-size:16px}
.game-surface .game-layout form button,.game-surface .game-layout form .actions .button{min-height:44px}
.game-surface .game-layout .result,.game-surface .game-page #result{padding:14px;border:1px solid #29363b;border-radius:10px;background:#0a0f12}
.game-surface .game-scene-label{color:#d2d9d3;font:700 10px/1.2 ui-monospace,monospace;letter-spacing:.1em}
.game-surface .game-scene-slot{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(5px,1.3vw,14px);min-height:clamp(300px,34vw,430px);perspective:1000px}
.game-surface .game-scene-slot .slot-reel{min-width:0;height:clamp(110px,16vw,170px);font-size:clamp(38px,6vw,68px)}
.game-surface .game-scene-dice{min-height:clamp(280px,32vw,400px);background:radial-gradient(circle at 50% 44%,#354b2c 0,#17231e 45%,#080b0f 100%)}
.game-surface .game-scene-keno{min-height:clamp(280px,32vw,400px);background:radial-gradient(circle at 50% 45%,#30483a 0,#111b18 54%,#080b0f 100%)}
.game-surface .game-scene-mines{min-height:clamp(240px,28vw,340px);background:radial-gradient(circle at 50% 48%,#413327 0,#181719 48%,#080b0f 100%)}
.game-surface .game-scene-baccarat{min-height:clamp(300px,34vw,430px);background:radial-gradient(ellipse at 50% 43%,#294a38 0,#11221b 50%,#080b0f 100%)}
.game-surface .game-scene-baccarat .keno-balls{gap:clamp(8px,2vw,20px)}
.game-surface .game-scene-baccarat .keno-balls span{width:clamp(54px,8vw,84px);height:clamp(82px,12vw,124px);border-radius:10px;font-size:clamp(24px,4vw,38px);transform:rotateY(var(--card-turn,0deg)) rotateX(5deg)}
.game-surface .game-scene-baccarat .keno-balls span:nth-child(2){--card-turn:-8deg}.game-surface .game-scene-baccarat .keno-balls span:nth-child(3){--card-turn:7deg}.game-surface .game-scene-baccarat .keno-balls span:nth-child(4){--card-turn:3deg}.game-surface .game-scene-baccarat .keno-balls span:nth-child(5){--card-turn:-4deg}
.game-surface .game-scene-baccarat .game-scene-label{z-index:2}
.game-surface .cascade-page{max-width:1180px}
.game-surface .cascade-hero{margin:20px 0 16px}
.game-surface .cascade-hero h1{font-size:clamp(34px,5vw,56px)}
.game-surface .cascade-layout{gap:12px}
.game-surface .cascade-stage{min-height:clamp(360px,42vw,500px);padding:clamp(14px,2vw,22px);border-color:#33433a;background:radial-gradient(ellipse at 50% 38%,#213329,#0d1218 72%)}
.game-surface .cascade-grid{gap:clamp(4px,.8vw,8px);margin:16px auto;max-width:640px}
.game-surface .cascade-panel{padding:14px 18px;border-color:#29363b}
.game-surface .cascade-panel label{margin:4px 0;font-size:14px}
.game-surface .cascade-panel input{min-height:44px}
.game-surface .cascade-panel>form{gap:10px 14px}
.game-surface .game-scene-roulette{min-height:clamp(300px,34vw,430px)!important}
.game-surface .game-page .split>aside.card:not(:has(canvas)){align-content:start}
.game-surface .game-page .split>aside.card:not(:has(canvas)) .button{min-height:40px;width:max-content}
@media(max-width:760px){
 .game-surface .page-shell{width:calc(100% - 28px)}
 .game-surface .game-layout>.panel{padding:12px}
 .game-surface .game-layout>.panel:first-child>.game-scene,.game-surface .game-page .split>section.card>.game-scene{min-height:260px}
 .game-surface .game-layout form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
 .game-surface .game-layout form label{font-size:14px}
 .game-surface .game-layout form button{grid-column:1/-1;width:100%}
 .game-surface .game-scene-slot{min-height:250px!important}
 .game-surface .game-scene-slot .slot-reel{height:105px;padding:2px;font-size:clamp(30px,9vw,46px)}
 .game-surface .game-scene-baccarat{min-height:260px}
 .game-surface .cascade-hero{margin:14px 0}
 .game-surface .cascade-stage{min-height:340px;padding:12px}
 .game-surface .cascade-panel{display:block;padding:12px}
 .game-surface .cascade-panel>form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .game-surface .cascade-panel>form .cascade-actions{grid-column:1/-1}
}
@media(max-width:390px){.game-surface .game-layout form{grid-template-columns:1fr}.game-surface .game-layout form button{grid-column:1}.game-surface .game-scene-slot{gap:4px}.game-surface .game-scene-slot .slot-reel{height:88px}.game-surface .game-scene-baccarat .keno-balls{gap:5px}}

/* Game-specific scene details and clear result hierarchy. */
.game-surface .game-page .page-head{padding-bottom:14px;border-bottom:1px solid #263139}
.game-surface .game-page .page-head .pill{align-self:flex-start}
.game-surface .game-layout>.panel:nth-child(2) h2{margin:0 0 10px;font-size:clamp(20px,2.5vw,28px)}
.game-surface .game-layout>.panel:nth-child(2) p{color:var(--muted);font-size:14px}
.game-surface .game-scene-slot:before{inset:16px;border:1px solid #dfff8a33;border-radius:12px;box-shadow:inset 0 0 35px #b8f5420b,0 0 28px #b8f54208}
.game-surface .game-scene-slot .slot-reel{overflow:hidden;border-color:#e0bf67;background:linear-gradient(180deg,#f7edcf 0%,#c8b579 8%,#eee3c2 18%,#b8a76b 50%,#f6edcf 84%,#8e7848 100%);color:#182017;text-shadow:0 1px #fff9}
.game-surface .game-scene-slot .slot-reel:after{content:"";position:absolute;inset:42% -10% auto;height:1px;background:#fff9;box-shadow:0 5px 12px #0005;pointer-events:none}
.game-surface .game-scene-dice:before{content:"";position:absolute;width:min(70%,420px);height:55%;border:1px solid #b8f5422a;border-radius:50%;transform:rotateX(68deg);box-shadow:0 0 0 18px #b8f54208,0 20px 35px #0008}
.game-surface .game-scene-keno:before{content:"";position:absolute;inset:14% 18%;border:1px solid #d2b06033;border-radius:50%;transform:rotateX(64deg);box-shadow:0 0 0 16px #d2b06008,inset 0 0 30px #d2b0600a}
.game-surface .game-scene-keno .keno-balls span{width:clamp(44px,6vw,62px);height:clamp(44px,6vw,62px);border-color:#f3dc91;background:radial-gradient(circle at 30% 22%,#fff7d7 0 7%,#edc95f 32%,#9d6d27 72%,#48351e 100%);box-shadow:inset 3px 4px 8px #fff9,inset -5px -7px 9px #553c20,0 8px 0 #45321d,0 17px 22px #000a}
.game-surface .game-scene-mines:before{content:"";position:absolute;inset:15%;border:1px solid #d6a66b33;border-radius:16px;transform:perspective(700px) rotateX(52deg);box-shadow:inset 0 0 32px #ffad4a0b,0 25px 25px #0008}
.game-surface .mines-board{gap:clamp(5px,1vw,9px);padding:clamp(9px,1.5vw,16px);border-color:#99734c66;background:linear-gradient(145deg,#241d18,#0c100e)}
.game-surface .mines-board button{min-height:clamp(42px,5vw,58px);border-color:#8c633e;background:linear-gradient(145deg,#604326,#291e17);box-shadow:inset 0 1px #fff2,0 5px 0 #130f0c,0 9px 15px #0007}
.game-surface .game-scene-baccarat .keno-balls span{position:relative;border:1px solid #e2c16e;background:linear-gradient(135deg,#fffdf3 0%,#e4e0d4 47%,#b2b4ae 100%);box-shadow:inset 0 0 0 4px #fff8,0 14px 20px #000b,0 0 18px #d6b26416}
.game-surface .game-scene-baccarat .keno-balls span:nth-child(even){color:#a52d36}
.game-surface .game-scene-baccarat .keno-balls span:nth-child(odd){color:#18241c}
.game-surface .cascade-stage{position:relative;overflow:hidden}
.game-surface .cascade-stage:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,#ffffff06,transparent 34%,transparent 70%,#b8f54205)}
.game-surface .cascade-grid .cell{box-shadow:inset 0 1px #ffffff55,inset 0 -10px 18px #0003,0 6px 12px #0006}
@media(max-width:760px){.game-surface .game-scene-keno .keno-balls span{width:40px;height:40px}.game-surface .game-scene-baccarat .keno-balls span{width:48px;height:72px}.game-surface .game-page .page-head{padding-bottom:10px}}


/* Metprobet lobby art: local SVG covers with a calm casino floor treatment. */
.casino-lobby .game-art{background:#0d1418;border-bottom:1px solid var(--line)}
.casino-lobby .game-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#080b0fb8);pointer-events:none}
.casino-lobby .game-art img{object-fit:cover;transition:transform 260ms ease,filter 260ms ease}
.casino-lobby .game-card:hover .game-art img{transform:scale(1.035);filter:saturate(1.08) brightness(1.06)}
.casino-lobby .game-card:focus-within{outline:2px solid var(--accent);outline-offset:3px}
@media (prefers-reduced-motion: reduce){.casino-lobby .game-art img,.game-card{transition:none}.casino-lobby .game-card:hover .game-art img{transform:none}}
