:root {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --accent: #f5a9b8; --accent-rgb:245,169,184;
  --bg:#f6f5f7; --surface:#fff; --surface2:#faf8fb; --text:#26232c;
  --muted:#736f7b; --border:#e8e3eb; --edge:var(--border);
  --option-bg:var(--surface2); --option-hover:#f2eaf0; --input-bg:var(--surface2);
  --incorrect:#fae5e9; --incorrect-edge:#df8199;
  --shadow:0 14px 42px #321f3c0c; --accent-text:#251d24;
}
html[data-mode="dark"] {
  color-scheme:dark; --bg:#16171a; --surface:#222329; --surface2:#2a2b32;
  --text:#f3f1f5; --muted:#aaa8b4; --border:#383942;
  --option-hover:#34363d; --incorrect:#4c2836; --incorrect-edge:#a14a68;
  --shadow:0 18px 50px #0004;
}
html[data-mode="light"]{color-scheme:light}
html[data-theme="sakura"]{--accent:#e4adc8;--accent-rgb:228,173,200}
html[data-theme="gameboy"]{--accent:#a6c46c;--accent-rgb:166,196,108}
html[data-theme="chrome"]{--accent:#8cb6e8;--accent-rgb:140,182,232}
html[data-theme="vignette"]{--accent:#c99ed9;--accent-rgb:201,158,217}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);background-image:radial-gradient(ellipse 66% 26% at 50% -13%,rgba(var(--accent-rgb),.12),transparent);line-height:1.5}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.shell{width:min(100% - 36px,1140px);margin:auto}
.topbar{border-bottom:1px solid var(--border);background:var(--surface)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:76px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px;font-size:1.25rem;font-weight:850;letter-spacing:-.04em;white-space:nowrap}
.brand-mark{width:42px;height:42px;border:1px solid rgba(var(--accent-rgb),.4);border-radius:12px;display:grid;place-items:center;background:rgba(var(--accent-rgb),.11);color:var(--accent);font-size:1.6rem}
.brand-accent,.h1-accent{color:var(--accent)}
.navlinks,.top-actions{display:flex;align-items:center;gap:19px}
.navlinks{font-size:.88rem;font-weight:700;color:var(--muted)}
.navlinks a:hover{color:var(--accent)}
.top-actions{gap:9px}
.theme-select,.subtle-btn{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:10px;min-height:39px;padding:7px 13px}
.theme-select{max-width:146px}
.subtle-btn:hover,.theme-select:hover{border-color:var(--accent)}
.mode-switch{min-width:42px;font-size:1.1rem}
.page-main{padding:45px 0 82px}
.hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:14px 8px 34px}
.eyebrow{font-weight:800;letter-spacing:.13em;font-size:.7rem;color:var(--accent);text-transform:uppercase;display:flex;gap:8px;align-items:center}
.status-dot{background:var(--accent);width:8px;height:8px;display:inline-block;border-radius:50%;box-shadow:0 0 0 4px rgba(var(--accent-rgb),.12)}
h1{font-size:clamp(2.2rem,5vw,3.85rem);letter-spacing:-.052em;line-height:1.06;margin:14px 0 17px;font-weight:850}
h2{font-size:1.7rem;letter-spacing:-.035em;line-height:1.2;margin:7px 0 8px}
h3{font-size:1rem;margin:0}
p{line-height:1.55}
.subtitle{font-size:1.04rem;color:var(--muted);max-width:600px;margin:0 0 17px}
.hero-meta{font-size:.82rem;color:var(--muted)}
.hero-meta strong{color:var(--text);font-variant-numeric:tabular-nums}
.meta-divider{padding:0 11px}
.hero-gem{font-size:6.4rem;display:grid;place-items:center;width:180px;height:180px;flex-shrink:0;border:1px solid rgba(var(--accent-rgb),.24);border-radius:34px;background:radial-gradient(circle,rgba(var(--accent-rgb),.22),rgba(var(--accent-rgb),.04) 68%,transparent);color:var(--accent);transform:rotate(9deg);text-shadow:0 10px 28px rgba(var(--accent-rgb),.23)}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.stat{display:flex;align-items:center;gap:16px;padding:20px 22px}
.stat-icon{font-size:1.35rem;background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.25);color:var(--accent);border-radius:13px;width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}
.stat>div{display:grid;gap:2px}.stat-label,.stat-note{font-size:.77rem;color:var(--muted)}
.stat-value{font-size:1.67rem;font-weight:850;letter-spacing:-.04em;line-height:1.3;font-variant-numeric:tabular-nums}
.stat-value span{font-size:.8em}
.muted{color:var(--muted)}.small{font-size:.79rem}.centre{text-align:center}
.message{margin:18px 0 0;padding:13px 16px;border:1px solid rgba(var(--accent-rgb),.6);border-radius:11px;background:rgba(var(--accent-rgb),.1);font-size:.9rem}
.message.error{color:#ff939d;border-color:#ac435b;background:#46252a}
.game-section{padding-top:50px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:19px}
.section-head p,.game-panel-head p{margin:0;font-size:.89rem}
.game-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.game-tile{display:flex;text-align:left;align-items:center;gap:15px;background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:20px;min-width:0;color:var(--text);box-shadow:var(--shadow)}
.game-tile-active{border-color:rgba(var(--accent-rgb),.5)}
.game-tile-active:hover{background:var(--surface2)}
.game-tile-icon{width:49px;height:49px;border-radius:13px;display:grid;place-items:center;background:rgba(var(--accent-rgb),.12);font-size:1.6rem;flex-shrink:0}
.game-tile strong,.game-tile small{display:block}.game-tile strong{font-size:1.05rem}.game-tile small{color:var(--muted);font-size:.75rem}
.game-tag{font-size:.68rem;letter-spacing:.04em;font-weight:900;color:var(--accent);margin-left:auto;white-space:nowrap}
.game-tile-soon{opacity:.67}
.roulette-panel{margin-top:25px;padding:27px}
.game-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border);padding-bottom:25px;margin-bottom:25px}
.spin-remaining{font-weight:850;color:var(--accent);font-size:.72rem;border-radius:50px;background:rgba(var(--accent-rgb),.12);padding:9px 14px;white-space:nowrap}
.roulette-layout{display:grid;grid-template-columns:minmax(240px, .77fr) minmax(0,1.55fr);gap:32px}
.roulette-side{min-width:0}
.wheel-wrap{padding:15px 8px 10px;border-radius:14px;background:var(--surface2);border:1px solid var(--border)}
.wheel-stage{width:min(100%,300px);margin:auto;position:relative;aspect-ratio:1}
#roulette-wheel{width:100%;height:100%;filter:drop-shadow(0 13px 16px #0003);transition:transform 3400ms cubic-bezier(.09,.65,.14,1)}
.wheel-pointer{position:absolute;top:4px;left:50%;z-index:5;transform:translateX(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:22px solid var(--accent);filter:drop-shadow(0 2px 4px #0005)}
.wheel-centre{position:absolute;left:50%;top:50%;width:39%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:radial-gradient(circle,#38323c,#121317);border:6px solid #c7a783;color:var(--accent);font-size:2.5rem;box-shadow:inset 0 0 10px #0008,0 0 0 2px #0005;pointer-events:none}
.last-result{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--border);margin:8px 6px 0;padding:11px;font-size:.82rem;color:var(--muted)}
.last-result strong{display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);border-radius:50%;height:37px;min-width:37px;font-size:1rem;color:var(--text)}
.last-result strong.red-result{background:#ae303f;color:white}.last-result strong.black-result{background:#19191d;color:white}.last-result strong.green-result{background:#16815e;color:white}
.tips{font-size:.79rem;color:var(--muted);padding:23px 5px 15px}.tips strong{font-size:.86rem;color:var(--text)}.tips p{margin:10px 0}
.recent-section{border-top:1px solid var(--border);padding-top:19px}.recent-section h3{margin-bottom:10px}
.spin-history{display:grid;gap:8px}.spin-history-row{display:flex;gap:9px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);font-size:.8rem}.spin-history-row .result-ball{flex-shrink:0}
.spin-history-row .spin-amount{margin-left:auto;text-align:right;font-weight:800;white-space:nowrap}
.spin-details{font-size:.73rem;color:var(--muted);margin:0 5px 7px;padding:4px 10px;border-bottom:1px solid var(--border)}
.spin-details summary{cursor:pointer}.spin-details>div{display:flex;justify-content:space-between;gap:10px;padding:4px 0}
.positive{color:#4ebf8b}.negative{color:#e27a83}
.result-ball{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#282930;color:white;font-weight:800}
.result-ball.red{background:#bc3746}.result-ball.green{background:#158861}
.betting-side{min-width:0}.bet-controls{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:13px}.bet-controls>div:first-child{display:grid;gap:3px}.bet-controls strong{font-size:.9rem}
.chips{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.chip{width:39px;height:39px;border-radius:50%;border:3px dashed rgba(255,255,255,.7);background:#4d515d;box-shadow:0 0 0 2px #4d515d;color:#fff;font-weight:800;font-size:.78rem;margin:3px}
.chip:nth-child(2){background:#357abb;box-shadow:0 0 0 2px #357abb}.chip:nth-child(3){background:#ad414e;box-shadow:0 0 0 2px #ad414e}.chip:nth-child(4){background:#4c9b78;box-shadow:0 0 0 2px #4c9b78}.chip:nth-child(5){background:#7d579a;box-shadow:0 0 0 2px #7d579a}.chip:nth-child(6){background:#bb8641;box-shadow:0 0 0 2px #bb8641}
.chip.selected{outline:3px solid var(--accent);outline-offset:3px;transform:translateY(-2px)}
.custom-chip-label{font-size:.71rem;display:flex;flex-direction:column;gap:2px;color:var(--muted);margin-left:7px}.custom-chip-label input{width:88px;padding:6px;border-radius:7px;background:var(--surface2);color:var(--text);border:1px solid var(--border)}
.board-heading{border-top:1px solid var(--border);padding-top:19px;display:grid}
.board-scroll{overflow-x:auto;max-width:100%;padding:4px 2px 12px}
.table-board{min-width:455px;display:grid;grid-template-columns:43px minmax(0,1fr) 46px;grid-template-areas:'zero nums col' 'empty dozens empty2' 'empty outs empty2';gap:4px;background:#196a50;border:3px solid #b48b59;border-radius:11px;padding:9px;box-shadow:inset 0 0 0 2px #155740}
#zero-cell{grid-area:zero}.zero-cell{width:100%;height:100%;min-height:127px;background:#1e8c63;color:white;border:1px solid #add9ae;border-radius:5px;font-weight:800}
.number-grid{grid-area:nums;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,43px);gap:3px}
.bet-square{border:1px solid #cfcac3;color:white;font-size:.75rem;min-height:40px;min-width:0;border-radius:4px;font-weight:850;transition:filter .14s,transform .14s}
.bet-square:hover{filter:brightness(1.35);transform:translateY(-1px)}
.bet-square.red{background:#ad303b}.bet-square.black{background:#20222b}.bet-square.green{background:#17805c}
.bet-square.staked{box-shadow:inset 0 0 0 3px #ffdf84}
/* The landing number is unmistakable even if it also has a chip on it. */
#table-board .bet-square.winning-number{
  position:relative;z-index:2;outline:3px solid #ffe5a1;outline-offset:0;
  box-shadow:0 0 0 4px #ffd77773,0 0 24px 7px #ffe69a8c,inset 0 0 0 2px #fff9;
  filter:brightness(1.3);animation:winning-glow 1000ms ease-out 2;
}
#table-board .bet-square.winning-number::after{
  content:'★';position:absolute;top:-10px;right:-6px;display:grid;place-items:center;
  width:20px;height:20px;font-size:12px;border-radius:50%;background:#ffde8b;color:#372b15;
  box-shadow:0 2px 9px #0008;pointer-events:none;
}
@keyframes winning-glow{
  0%{box-shadow:0 0 0 2px #ffe5a199,0 0 8px 2px #ffe69a75}
  65%{box-shadow:0 0 0 6px #ffe5a17a,0 0 30px 10px #ffe69aba}
  100%{box-shadow:0 0 0 4px #ffd77773,0 0 24px 7px #ffe69a8c,inset 0 0 0 2px #fff9}
}
.column-bets{grid-area:col;display:grid;grid-template-rows:repeat(3,43px);gap:3px}
.outside-bets{grid-area:outs;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.dozen-bets{grid-area:dozens;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.outside-cell{min-height:36px;background:#17664b;border:1px solid #b5caa8;border-radius:4px;color:white;font-weight:750;font-size:.72rem;padding:4px;white-space:nowrap}
.outside-cell.red{background:#ad303b}.outside-cell.black{background:#22242b}.outside-cell:hover{filter:brightness(1.3)}.outside-cell.staked{box-shadow:inset 0 0 0 2px #ffdf84}
.advanced-bets{margin:11px 0 20px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}
.advanced-bets summary{font-size:.85rem;font-weight:800;cursor:pointer}.advanced-bets summary span{font-size:.73rem;color:var(--muted);font-weight:400;display:block;margin-left:16px}
.advanced-form{display:grid;grid-template-columns:1fr 1.1fr auto;gap:10px;align-items:end;margin-top:14px}.advanced-form label{font-size:.76rem;color:var(--muted);display:grid;gap:5px}
.advanced-form select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px;max-width:100%;min-width:0}
.primary-btn{padding:11px 18px;border:1px solid transparent;border-radius:10px;background:var(--accent);color:var(--accent-text);font-weight:850;display:inline-block;text-align:center;white-space:nowrap}
.primary-btn:hover:not(:disabled){filter:brightness(1.06)}
.bets-cart{border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--surface2)}
.cart-head,.bet-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px}
.cart-head{border-bottom:1px solid var(--border)}.cart-head h3{margin:0}.cart-head h3 span{color:var(--muted);font-weight:500}
.text-btn{border:0;background:none;color:var(--accent);font-weight:800;font-size:.8rem;padding:5px;cursor:pointer}
.bet-list{padding:5px 14px;max-height:177px;overflow:auto}.bet-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:.82rem}.bet-row:last-child{border:0}.bet-row .bet-label{flex:1}.bet-odds{font-size:.7rem;color:var(--muted)}.bet-amount{font-weight:800}.remove-bet{border:0;background:transparent;color:var(--muted);font-size:1rem;padding:0 5px}.remove-bet:hover{color:#dc5c6b}
.bet-summary{border-top:1px solid var(--border);font-size:.88rem}.bet-summary strong{font-size:1.07rem}
.spin-btn{width:calc(100% - 28px);margin:0 14px;min-height:48px;font-size:1rem}.bets-cart .centre{margin:8px 0 13px}
/* Ease from the table to today's results and the live leaderboard. */
.game-section,.roulette-panel{transition:opacity 560ms ease,transform 560ms ease}
.game-section.finishing-out,.roulette-panel.finishing-out{opacity:0;transform:translateY(-12px);pointer-events:none}
.finished-reveal{animation:finished-arrive 760ms cubic-bezier(.2,.8,.2,1) both}
@keyframes finished-arrive{from{opacity:0;transform:translateY(19px)}to{opacity:1;transform:translateY(0)}}
.day-finished{padding:28px;margin-top:32px;scroll-margin-top:20px}
.day-finished h2{margin:10px 0 8px}
.day-finished p{margin:0 0 17px}
.finished-spins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.finished-spin{display:flex;align-items:center;gap:9px;padding:12px;background:var(--surface2);border:1px solid var(--border);border-radius:11px;font-size:.87rem}
.finished-spin strong{margin-left:auto;font-variant-numeric:tabular-nums}
.finished-details{margin-top:14px;border-top:1px solid var(--border);padding-top:13px}
.finished-details summary{cursor:pointer;font-weight:750;color:var(--accent)}
.finished-details .spin-history{margin-top:13px}
.live-leaderboard-note{color:var(--accent);margin-top:8px!important}
.leaderboard-section{padding:28px;margin-top:35px}.leader-tag{font-weight:850;font-size:.7rem;border:1px solid var(--border);border-radius:30px;padding:8px 14px;color:var(--accent);background:var(--surface2)}
.table-wrap{overflow:auto}.leader-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.leader-table th{color:var(--muted);font-size:.73rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.leader-table th,.leader-table td{padding:13px;border-bottom:1px solid var(--border)}.leader-table th:last-child,.leader-table td:last-child{text-align:right}
.leader-table tr.you{background:rgba(var(--accent-rgb),.09)}.leader-table td strong{font-size:.9rem}.leader-table .socials{font-size:.76rem;color:var(--muted);margin-left:8px}.leader-table .socials a{color:var(--accent)}
.site-footer{padding:22px 0 31px;border-top:1px solid var(--border);font-size:.76rem;color:var(--muted);display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.site-footer a{color:var(--accent)}
.name-dialog{width:min(100% - 28px,500px);border:1px solid var(--border);padding:28px;background:var(--surface);color:var(--text);border-radius:16px;box-shadow:0 20px 90px #0007}
.name-dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(3px)}
.name-dialog h2{margin:8px 0}.name-dialog p{font-size:.86rem}
.name-dialog label,.form-page label{display:grid;gap:7px;font-size:.83rem;font-weight:750;margin:15px 0}
.name-dialog input,.form-page input,.form-page textarea,.text-input{width:100%;padding:11px 12px;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:9px}
.profile-cols{display:grid;grid-template-columns:1fr;gap:0}
.social-url-field{display:flex;align-items:stretch;min-width:0;width:100%}
.social-prefix{display:flex;align-items:center;flex-shrink:0;padding:0 11px;background:var(--surface2);border:1px solid var(--border);border-right:0;border-radius:9px 0 0 9px;font-size:.83rem;color:var(--muted);white-space:nowrap;user-select:none}
.social-url-field .social-username-input{flex:1;width:100%;min-width:0;border-radius:0 9px 9px 0;margin:0}
.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}
.error{color:#e96079;font-size:.83rem}.notice-success{color:#5fbe83;font-size:.83rem}
.form-page{max-width:730px;margin:0 auto;padding:34px}.form-page h1{font-size:2.2rem}.form-page form{margin:25px 0}.form-page textarea{resize:vertical}
/* Adapted Anagramdle administrator controls */
.layout{width:min(100% - 35px,1020px);margin:50px auto 90px}.card{padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow)}
.admin-card{width:100%}.admin-nav{display:flex;justify-content:space-between;gap:15px;margin-bottom:23px;font-size:.87rem}.admin-nav a{color:var(--accent);font-weight:750}.admin-nav span{color:var(--muted)}
.admin-card .brand{font-size:1.6rem;color:var(--accent);margin-bottom:5px}.admin-card h1{font-size:2.3rem;margin:8px 0}.admin-card .intro{margin:8px 0 24px}
.admin-section{border-top:1px solid var(--border);padding:24px 0}.admin-section h2{font-size:1.2rem;margin:0 0 12px}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-section>.muted{margin-top:0}
.field-label{font-size:.82rem;font-weight:750;display:block;margin:0 0 7px}.text-input{margin:0 0 12px}.primary{border:0;background:var(--accent);color:var(--accent-text);border-radius:10px;font-weight:850;padding:12px 17px}.plain{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:9px;padding:9px 11px}.plain:hover{border-color:var(--accent)}
.admin-status{padding:11px;background:var(--surface2);border:1px solid var(--border);border-radius:9px}.admin-bottom-note{margin-top:25px}.admin-add-key{margin-top:19px}.admin-add-key .text-input{max-width:480px}
.admin-keys{display:grid;gap:9px}.admin-key{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px}.admin-key-info{flex:1 1 220px;display:grid;gap:3px}.admin-key .danger{color:#e27a83}
.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.admin-stats>div{display:grid;gap:5px;padding:13px;background:var(--surface2);border:1px solid var(--border);border-radius:10px}.admin-stats strong{font-size:1.15rem}
.admin-date-control{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:15px 0}.admin-date-control .text-input{width:auto;max-width:220px;padding:8px 10px;margin:0}.admin-table-wrap{overflow:auto;max-height:400px}.admin-table{border-collapse:collapse;width:100%;text-align:left;font-size:.81rem}.admin-moderation-table{min-width:950px}.admin-table th,.admin-table td{white-space:nowrap;border-bottom:1px solid var(--border);padding:10px}.admin-table td .small{display:block}.admin-social-input{width:130px;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text)}
.admin-social-url{display:flex;align-items:stretch;width:215px}
.admin-social-url .social-prefix{font-size:.72rem;padding:0 7px}
.admin-social-url .admin-social-input{min-width:0;width:100%;flex:1;border-radius:0 8px 8px 0}
.admin-blocked-tag{display:inline-block;padding:2px 7px;border-radius:30px;background:var(--incorrect);border:1px solid var(--incorrect-edge);font-size:.72rem;margin-top:3px}.admin-action-buttons{display:flex;gap:5px;flex-wrap:wrap}.admin-action-buttons .plain{padding:7px;font-size:.78rem}.admin-action-buttons .danger{color:#e27a83}
.admin-block-list{display:grid;gap:9px}.admin-block-row{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;padding:12px;background:var(--surface2);border:1px solid var(--border);border-radius:10px}.admin-block-row>div{display:grid;gap:3px}
/* Hold-to-confirm, integrated from the original admin behaviour. */
.charge-button{position:relative;isolation:isolate;overflow:visible}.charge-button-label{position:relative;z-index:2}.charge-button-fill{position:absolute;inset:0;width:0;z-index:0;background:rgba(var(--accent-rgb),.25);border-radius:inherit;pointer-events:none}.charge-button.is-charging .charge-button-fill{width:100%;transition:width 1200ms linear}.charge-sparks{position:absolute;inset:0;pointer-events:none}.charge-spark{display:none;position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:0}.charge-button.is-exploding .charge-spark{display:block;animation:charge-burst .48s ease-out forwards;animation-delay:var(--spark-delay,0ms)}
@keyframes charge-burst{0%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--spark-angle,0deg)) translateX(32px)}}
.admin-charge .charge-spark:nth-child(1){--spark-angle:0deg}.admin-charge .charge-spark:nth-child(2){--spark-angle:45deg}.admin-charge .charge-spark:nth-child(3){--spark-angle:90deg}.admin-charge .charge-spark:nth-child(4){--spark-angle:135deg}.admin-charge .charge-spark:nth-child(5){--spark-angle:180deg}.admin-charge .charge-spark:nth-child(6){--spark-angle:225deg}.admin-charge .charge-spark:nth-child(7){--spark-angle:270deg}.admin-charge .charge-spark:nth-child(8){--spark-angle:315deg}
@media(max-width:950px){.roulette-layout{grid-template-columns:minmax(215px,.8fr) minmax(0,1.6fr);gap:18px}.roulette-panel{padding:21px}.wheel-centre{font-size:2rem}.navlinks{gap:10px}}
@media(max-width:750px){.topbar-inner{padding:13px 0}.navlinks{order:3;width:100%;justify-content:center;padding-bottom:5px}.hero-gem{width:105px;height:105px;font-size:4.2rem;border-radius:20px}.stats{grid-template-columns:1fr 1fr}.stats .stat:last-child{grid-column:1/-1}.roulette-layout{grid-template-columns:1fr}.roulette-side{display:grid;grid-template-columns:1fr 1fr;gap:13px;align-items:start}.tips{padding-top:5px}.recent-section{grid-column:1/-1}.game-cards{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.finished-spins{grid-template-columns:1fr}.social-prefix{font-size:.75rem;padding:0 8px}.page-main{padding-top:25px}.hero{padding:7px 0 25px}.hero-gem{display:none}.stats{grid-template-columns:1fr}.stats .stat:last-child{grid-column:auto}.stat{padding:14px}.game-section{padding-top:35px}.roulette-panel{padding:16px}.roulette-side{grid-template-columns:1fr}.wheel-stage{max-width:245px}.recent-section{grid-column:auto}.game-panel-head{flex-direction:column}.advanced-form{grid-template-columns:1fr}.profile-cols{grid-template-columns:1fr;gap:0}.site-footer{flex-direction:column}.form-page{padding:21px}.leaderboard-section{padding:18px}.admin-card{padding:18px}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  #roulette-wheel{transition-duration:100ms!important}
  #table-board .bet-square.winning-number{animation:none}
  .game-section,.roulette-panel{transition:none}
  .finished-reveal{animation:none}
}

/* Blackjack: felt table, responsive playing cards and a simple chip bar */
.stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.blackjack-panel{padding:28px;margin-top:22px;scroll-margin-top:25px}
.bj-felt{border:3px solid #916b45;border-radius:28px;background:radial-gradient(ellipse at 50% 12%,#267654,#103e30 70%,#082d26);color:#fff;box-shadow:inset 0 2px 20px #0005,0 13px 29px #0002;margin-top:21px;padding:22px 20px 19px;text-align:center}
.bj-table-label{font-weight:850;letter-spacing:.14em;font-size:clamp(.82rem,2vw,1.15rem);color:#d9cbab}
.bj-table-label span{color:#f2c66c;padding:0 3px}.bj-table-label small{display:block;letter-spacing:.16em;font-size:.6rem;margin-top:5px;color:#d1b88f}
.bj-position{padding:19px 0 13px}.bj-position-head{display:flex;align-items:center;justify-content:center;gap:15px;margin:0 auto 13px;font-size:.91rem}
.bj-position-head span{background:#ffffff25;color:#fff;border-radius:99px;padding:4px 11px;font-variant-numeric:tabular-nums;min-width:35px;font-weight:800}
.bj-card-row{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;min-height:103px}
.bj-card{width:70px;height:101px;border-radius:8px;display:flex;align-items:center;flex-direction:column;justify-content:space-between;padding:7px 9px;background:#fdfcf7;border:2px solid #ede3d7;box-shadow:1px 5px 8px #0005;color:#202329;font-weight:900;animation:bj-deal .24s ease-out both}
.bj-card .bj-card-face{font-size:1.7rem;line-height:1.1}.bj-card .bj-card-corner{align-self:flex-start;font-size:1rem;line-height:1}.bj-card .bj-card-end{align-self:flex-end;font-size:.88rem;line-height:1}
.bj-card.bj-red{color:#bf314e}.bj-card.bj-hidden{justify-content:center;color:#efdae5;background:repeating-linear-gradient(45deg,#293b57 0,#293b57 6px,#405f82 6px,#405f82 12px);border:5px solid #ece9d6;box-shadow:inset 0 0 0 2px #d8b873,1px 5px 8px #0005;font-size:1.65rem}
.bj-card-placeholder{font-size:.86rem;color:#b8d7c6;border:1px dashed #9eccaa65;border-radius:10px;padding:19px 25px}
.bj-divider{height:1px;width:65%;margin:auto;background:#ffffff34}.bj-result{min-height:26px;font-weight:750;margin:13px 0 3px;color:#f1d69a}
.bj-actions{max-width:720px;margin:20px auto 0}.bj-wager{margin-bottom:14px}.bj-wager label{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.87rem;margin-bottom:9px}
.bj-bet-line{display:flex;gap:9px}.bj-bet-line input{width:100%;min-width:0;flex:1;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:9px;padding:12px}
.bj-bet-quick{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.bj-bet-quick button{flex:1;min-width:50px;padding:7px 10px;border-radius:8px;background:var(--surface2);color:var(--text);border:1px solid var(--border)}
.bj-bet-quick button:hover{border-color:var(--accent)}
.bj-buttons{display:flex;justify-content:center;gap:10px}.bj-buttons button{flex:1;max-width:220px;padding:13px}.bj-rules{text-align:center;margin:14px auto 0;max-width:670px}
.bj-history{border-top:1px solid var(--border);padding-top:17px;margin-top:24px}.bj-history h3{margin-bottom:12px}.bj-history-list{display:grid;gap:9px}
.bj-history-row{display:flex;align-items:center;gap:9px;padding:12px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;font-size:.88rem}
.bj-history-row strong{min-width:65px}.bj-history-row .bj-history-cards{flex:1;color:var(--muted);font-size:.83rem}.bj-history-row .bj-history-net{font-weight:800;white-space:nowrap}
@keyframes bj-deal{from{opacity:0;transform:translateY(-18px) rotate(-4deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(max-width:930px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .stat:last-child{grid-column:auto}}
@media(max-width:500px){.stats{grid-template-columns:1fr}.bj-felt{padding:17px 9px;border-radius:20px}.bj-card{width:54px;height:79px;padding:4px 5px}.bj-card .bj-card-face{font-size:1.3rem}.bj-card-row{gap:5px;min-height:80px}.blackjack-panel{padding:16px}.bj-history-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.bj-card{animation:none}}

/* Blackjack optional bets */
.bj-insurance{background:var(--surface2);border:1px solid var(--border);padding:15px;border-radius:12px;margin-bottom:13px;text-align:center}
.bj-insurance strong{display:block;margin-bottom:5px}.bj-insurance p{margin:4px 0 13px}
.bj-buttons{flex-wrap:wrap}.bj-buttons button{min-width:115px}
