:root {
  color-scheme: dark;
  --ink: #090807;
  --panel: rgba(17, 14, 12, .82);
  --panel-strong: rgba(12, 10, 9, .95);
  --bronze: #775439;
  --gold: #c7a96a;
  --gold-bright: #edd49a;
  --cream: #eee4d0;
  --muted: #9b9081;
  --line: rgba(211, 180, 119, .18);
  --danger: #b74d3f;
  --success: #8cad79;
  --shadow: 0 24px 80px rgba(0, 0, 0, .5);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body {
  background: #090807;
  color: var(--cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}
button, input { font: inherit; }
button { color: inherit; }

.game-shell {
  min-height: 100dvh;
  position: relative;
  display: grid;
  grid-template-rows: 72px minmax(520px, 1fr) auto;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(6,5,4,.35), rgba(6,5,4,.05) 40%, rgba(6,5,4,.68)),
    url('/games/russian-roulette/assets/gunroom.webp') center / cover fixed;
}
.game-shell::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(circle at 50% 43%, transparent 20%, rgba(3,2,2,.68) 112%);
}
.topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 0 clamp(16px, 3vw, 46px);
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(10,8,7,.95), rgba(10,8,7,.72));
  backdrop-filter: blur(18px); z-index: 20;
}
.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; letter-spacing: .1em; }
.brand-seal {
  width: 40px; height: 40px; border: 1px solid rgba(231,205,145,.5); border-radius: 50%;
  display: grid; place-items: center; font: 700 14px Georgia, serif; color: var(--gold-bright);
  box-shadow: inset 0 0 0 4px rgba(197,161,94,.07), 0 0 30px rgba(195,153,74,.08);
}
.brand b { display: block; font: 600 14px Georgia, serif; }
.brand small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; letter-spacing: .22em; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.balance-card {
  height: 46px; min-width: 174px; display: flex; align-items: center; gap: 10px; padding: 0 15px;
  border: 1px solid var(--line); border-radius: 4px; background: rgba(255,255,255,.035);
}
.balance-card small { display: block; color: var(--muted); font-size: 8px; letter-spacing: .14em; }
.balance-card b { display: block; margin-top: 2px; font-size: 14px; letter-spacing: .04em; }
.token {
  display: inline-grid; place-items: center; width: 24px; height: 24px; flex: 0 0 auto;
  border: 1px solid #c49c50; border-radius: 50%; color: #241a0b; background: linear-gradient(135deg,#f3d991,#9e7433);
  font-size: 11px; font-weight: 900; box-shadow: inset 0 0 0 2px rgba(54,35,10,.22);
}
.token.small { width: 21px; height: 21px; font-size: 10px; }
.icon-button {
  width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 4px; cursor: pointer;
  background: rgba(255,255,255,.025); color: #b9ae9e; transition: .2s ease;
}
.icon-button:hover, .icon-button[aria-pressed="true"] { color: var(--gold-bright); border-color: rgba(218,184,112,.45); background: rgba(199,164,97,.08); }

.arena {
  min-height: 520px; position: relative; display: grid; align-items: center;
  grid-template-columns: minmax(290px, 1fr) minmax(340px, 440px) minmax(290px, 1fr);
  padding: 24px clamp(18px, 4vw, 74px); overflow: hidden;
}
.atmosphere, .atmosphere::before, .atmosphere::after { content: ""; position: absolute; pointer-events: none; }
.atmosphere { inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.18), transparent 35%, transparent 65%, rgba(0,0,0,.18)); }
.atmosphere::before { width: 42vw; height: 42vw; left: -20vw; top: 15%; border-radius: 50%; background: rgba(174,116,54,.07); filter: blur(60px); animation: haze 9s ease-in-out infinite alternate; }
.atmosphere::after { width: 40vw; height: 28vw; right: -16vw; top: 5%; border-radius: 50%; background: rgba(182,117,51,.055); filter: blur(70px); animation: haze 12s ease-in-out infinite alternate-reverse; }
@keyframes haze { to { transform: translate3d(5vw, 2vw, 0) scale(1.12); opacity: .6; } }

.duelist { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; }
.opponent-zone { grid-column: 1; }
.player-zone { grid-column: 3; }
.duelist-label { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; text-shadow: 0 2px 10px #000; }
.duelist-label small { display: block; color: var(--muted); letter-spacing: .18em; font-size: 8px; }
.duelist-label b { display: block; margin-top: 2px; font: 600 14px Georgia, serif; letter-spacing: .12em; }
.status-dot, .dock-meta i { width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 14px rgba(140,173,121,.65); }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(222,190,122,.42); color: var(--gold-bright); background: rgba(23,18,13,.82); font: 700 14px Georgia, serif; }
.player-label { margin: 24px 0 0; }
.player-label em { margin-left: 16px; padding: 6px 9px; border: 1px solid var(--line); color: var(--muted); font-size: 8px; font-style: normal; letter-spacing: .16em; }
.player-label em.active { border-color: rgba(220,182,104,.5); color: var(--gold-bright); background: rgba(190,143,54,.09); }

.weapon { --weapon-scale: 1; width: min(36vw, 420px); height: 230px; position: relative; filter: drop-shadow(0 28px 24px rgba(0,0,0,.62)); transform-origin: center; animation: weaponIdle 4.8s ease-in-out infinite; }
.player-weapon { transform: scaleX(-1) scale(var(--weapon-scale)); animation-name: weaponIdlePlayer; }
@keyframes weaponIdle { 0%,100% { transform:scale(var(--weapon-scale)) translateY(0); } 50% { transform:scale(var(--weapon-scale)) translateY(-4px) rotate(-.25deg); } }
@keyframes weaponIdlePlayer { 0%,100% { transform:scaleX(-1) scale(var(--weapon-scale)) translateY(0); } 50% { transform:scaleX(-1) scale(var(--weapon-scale)) translateY(-4px) rotate(-.25deg); } }
.gun-barrel { position: absolute; left: 152px; top: 61px; width: 238px; height: 48px; border-radius: 4px 20px 12px 3px; background: linear-gradient(180deg,#706d68 0,#252728 20%,#444544 47%,#171819 78%,#585551 100%); border: 1px solid #74706a; box-shadow: inset 0 3px 5px rgba(255,255,255,.16), inset 0 -8px 14px rgba(0,0,0,.58); }
.gun-barrel::after { content: ""; position: absolute; right: -3px; top: 7px; width: 14px; height: 33px; border-radius: 50%; background: radial-gradient(circle,#050505 35%,#353433 40%,#87817a 55%,#111 70%); }
.gun-barrel i { position: absolute; left: 28px; right: 22px; top: 11px; height: 4px; border-radius: 50%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent); }
.gun-frame { position: absolute; left: 98px; top: 73px; width: 126px; height: 84px; background: linear-gradient(145deg,#5f5e5a,#1b1c1c 32%,#464542 58%,#131414); clip-path: polygon(4% 8%,84% 0,100% 35%,77% 62%,42% 66%,31% 100%,0 84%); border-radius: 12px; box-shadow: inset 0 2px rgba(255,255,255,.14); }
.gun-grip { position: absolute; left: 92px; top: 139px; width: 69px; height: 88px; transform: skewX(-12deg) rotate(3deg); transform-origin: top; border-radius: 8px 11px 24px 16px; background: repeating-linear-gradient(110deg,rgba(255,255,255,.025) 0 2px,transparent 2px 7px), linear-gradient(90deg,#26160f,#68402c 48%,#2b1910); border: 2px solid #16100d; box-shadow: inset 10px 0 16px rgba(0,0,0,.35), inset -5px 0 7px rgba(200,128,69,.14); }
.trigger-guard { position: absolute; left: 167px; top: 126px; width: 78px; height: 61px; border: 9px solid #242525; border-top-width: 7px; border-radius: 10% 10% 55% 55%; box-shadow: inset 0 0 8px #000, 0 2px 2px rgba(255,255,255,.08); }
.trigger-guard i { position: absolute; left: 14px; top: -3px; width: 22px; height: 35px; border-left: 6px solid #5b5954; border-radius: 50%; transform: rotate(-20deg); }
.gun-sight { position: absolute; right: 53px; top: 52px; width: 18px; height: 10px; background: #333; border-radius: 2px 2px 0 0; }
.cylinder-shell { position: absolute; left: 75px; top: 36px; width: 132px; height: 132px; padding: 7px; border-radius: 50%; z-index: 3; background: conic-gradient(from 15deg,#77736d,#1a1b1b,#4b4a47,#171818,#817b72,#252525,#77736d); border: 2px solid #292a29; box-shadow: inset 0 0 15px rgba(255,255,255,.12), inset 0 0 0 8px #222, 0 9px 20px rgba(0,0,0,.52); }
.cylinder { width: 100%; height: 100%; position: relative; border-radius: 50%; background: radial-gradient(circle,#1a1b1b 0 10%,#4d4d4a 11% 18%,#1c1d1d 19% 63%,#55524e 67%,#252626 72%); transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.cylinder.spinning { animation: cylinderSpin .72s cubic-bezier(.12,.68,.18,1); }
@keyframes cylinderSpin { to { transform: rotate(760deg); } }
.chamber {
  --angle: calc(var(--i) * 40deg); position: absolute; width: 21px; height: 21px; left: calc(50% - 10.5px); top: calc(50% - 10.5px);
  border: 1px solid rgba(182,176,165,.38); border-radius: 50%; padding: 0; cursor: default;
  transform: rotate(var(--angle)) translateY(-42px) rotate(calc(var(--angle) * -1));
  background: radial-gradient(circle at 40% 35%,#090909 0 40%,#242424 49%,#5a5752 62%,#141414 69%);
  box-shadow: inset 0 2px 5px #000, 0 1px rgba(255,255,255,.12); transition: .2s ease;
}
button.chamber.selectable { cursor: pointer; }
button.chamber.selectable:hover { border-color: var(--gold); box-shadow: 0 0 18px rgba(211,173,93,.34), inset 0 2px 5px #000; transform: rotate(var(--angle)) translateY(-42px) rotate(calc(var(--angle) * -1)) scale(1.14); }
.chamber.selected { border-color: var(--gold-bright); background: radial-gradient(circle,#39270e 15%,#a47833 48%,#e0bd72 56%,#25170a 68%); box-shadow: 0 0 22px rgba(231,187,97,.7); }
.chamber.used { opacity: .4; background: radial-gradient(circle,#202020 12%,#0b0b0b 45%,#373737 60%,#111 69%); }
.weapon.recoil { animation: recoil .46s cubic-bezier(.12,.7,.2,1); }
.player-weapon.recoil { animation: recoilPlayer .46s cubic-bezier(.12,.7,.2,1); }
@keyframes recoil { 0%,100% { transform:scale(var(--weapon-scale)); } 30% { transform:translateX(-24px) scale(var(--weapon-scale)) rotate(-4deg); } }
@keyframes recoilPlayer { 0%,100% { transform:scaleX(-1) scale(var(--weapon-scale)); } 30% { transform:translateX(24px) scaleX(-1) scale(var(--weapon-scale)) rotate(4deg); } }

.round-console { grid-column: 2; z-index: 5; width: 100%; text-align: center; align-self: center; }
.commitment-chip { display: inline-flex; max-width: 100%; align-items: center; gap: 10px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 3px; background: rgba(9,8,7,.55); color: var(--muted); }
.commitment-chip span { font-size: 7px; letter-spacing: .18em; }
.commitment-chip code { max-width: 190px; overflow: hidden; text-overflow: ellipsis; color: #c8bda9; font-size: 9px; }
.round-message { min-height: 135px; display: flex; flex-direction: column; justify-content: center; }
.eyebrow, .modal-eyebrow { color: var(--gold); font-size: 8px; letter-spacing: .25em; }
.round-message h1 { margin: 8px 0 4px; font: 500 clamp(29px,3vw,48px)/1 Georgia, serif; letter-spacing: .035em; text-shadow: 0 5px 25px #000; }
.round-message p { min-height: 17px; margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.round-console.is-live .round-message h1 { color: #f1d2c4; text-shadow: 0 0 35px rgba(170,45,31,.6); }
.round-console.is-win .round-message h1 { color: var(--gold-bright); text-shadow: 0 0 35px rgba(199,155,72,.45); }
.round-stats { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid var(--line); background: rgba(10,8,7,.38); backdrop-filter: blur(8px); }
.round-stats div { padding: 12px 8px; }
.round-stats div + div { border-left: 1px solid var(--line); }
.round-stats small { display: block; color: var(--muted); font-size: 7px; letter-spacing: .16em; }
.round-stats b { display: block; margin-top: 5px; font: 500 15px Georgia, serif; }
.round-stats .gold { color: var(--gold-bright); }
.trigger-button { width: 100%; height: 58px; margin-top: 14px; display: flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid rgba(221,183,102,.48); border-radius: 3px; background: linear-gradient(180deg,rgba(147,105,45,.28),rgba(75,48,20,.34)); cursor: pointer; box-shadow: inset 0 1px rgba(255,255,255,.12), 0 10px 30px rgba(0,0,0,.2); transition: .2s ease; }
.trigger-button:hover:not(:disabled) { border-color: var(--gold-bright); background: linear-gradient(180deg,rgba(176,130,59,.4),rgba(88,54,20,.42)); transform: translateY(-1px); }
.trigger-button:disabled { opacity: .42; cursor: not-allowed; }
.trigger-button small { display: block; color: #c1ad84; font-size: 7px; letter-spacing: .18em; }
.trigger-button b { display: block; margin-top: 2px; font: 600 14px Georgia,serif; letter-spacing: .14em; }
.trigger-icon { font-size: 25px; color: var(--gold-bright); }

.betting-dock { z-index: 15; display: grid; grid-template-columns: minmax(250px,360px) minmax(240px,1fr) minmax(260px,330px); align-items: center; gap: 18px; min-height: 116px; padding: 14px clamp(16px,4vw,68px) calc(14px + env(safe-area-inset-bottom)); background: linear-gradient(180deg,rgba(15,12,10,.88),rgba(8,7,6,.97)); border-top: 1px solid rgba(209,170,91,.22); backdrop-filter: blur(18px); box-shadow: 0 -18px 60px rgba(0,0,0,.25); }
.bet-field label { display: flex; justify-content: space-between; color: var(--muted); font-size: 8px; letter-spacing: .15em; }
.bet-field label span { letter-spacing: .06em; }
.amount-input { height: 48px; margin-top: 7px; display: flex; align-items: center; border: 1px solid var(--line); border-radius: 3px; background: rgba(255,255,255,.035); overflow: hidden; }
.amount-input > .token { margin-left: 12px; }
.amount-input input { min-width: 0; flex: 1; height: 100%; border: 0; outline: 0; padding: 0 10px; background: transparent; color: var(--cream); font: 600 16px Georgia,serif; }
.amount-input button { align-self: stretch; padding: 0 11px; border: 0; border-left: 1px solid var(--line); background: transparent; color: var(--muted); font-size: 8px; cursor: pointer; }
.amount-input button:hover { color: var(--gold-bright); background: rgba(255,255,255,.03); }
.quick-bets { display: flex; justify-content: center; gap: 7px; flex-wrap: wrap; }
.quick-bets button { min-width: 54px; height: 34px; padding: 0 10px; border: 1px solid var(--line); border-radius: 3px; background: rgba(255,255,255,.025); color: #c2b6a4; font-size: 10px; cursor: pointer; }
.quick-bets button:hover { color: var(--gold-bright); border-color: rgba(211,172,91,.46); }
.place-bet { height: 58px; border: 1px solid #c49c55; border-radius: 3px; cursor: pointer; color: #1a1108; background: linear-gradient(135deg,#f0d18e,#b98842 58%,#d4ae67); box-shadow: inset 0 1px rgba(255,255,255,.5),0 9px 28px rgba(109,66,22,.23); transition: .2s ease; }
.place-bet:hover:not(:disabled) { filter: brightness(1.08); transform: translateY(-1px); }
.place-bet:disabled { opacity: .38; cursor: not-allowed; filter: grayscale(.5); }
.place-bet small { display: block; opacity: .7; font-size: 7px; letter-spacing: .15em; }
.place-bet b { display: block; margin-top: 3px; font: 700 15px Georgia,serif; letter-spacing: .12em; }
.dock-meta { grid-column: 1/-1; display: flex; justify-content: space-between; margin-top: -8px; color: var(--muted); font-size: 8px; letter-spacing: .13em; }
.dock-meta button { border: 0; padding: 0; background: transparent; color: var(--gold); cursor: pointer; font-size: inherit; letter-spacing: inherit; }
.dock-meta span { display: flex; align-items: center; gap: 7px; }

.modal { width: min(820px,calc(100vw - 28px)); max-height: min(760px,calc(100dvh - 28px)); padding: 32px; border: 1px solid rgba(213,177,104,.27); border-radius: 5px; color: var(--cream); background: linear-gradient(145deg,rgba(29,23,18,.98),rgba(10,9,8,.99)); box-shadow: var(--shadow); overflow: auto; }
.modal::backdrop { background: rgba(3,3,3,.76); backdrop-filter: blur(9px); }
.modal h2 { margin: 8px 0 24px; font: 500 32px Georgia,serif; }
.modal-close { position: absolute; right: 18px; top: 16px; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.03); color: var(--muted); cursor: pointer; font-size: 20px; }
.rules-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rules-grid section { position: relative; min-height: 145px; padding: 20px; border: 1px solid var(--line); background: rgba(255,255,255,.025); }
.rules-grid section > b { color: rgba(211,176,102,.34); font: 400 32px Georgia,serif; }
.rules-grid h3 { margin: -12px 0 7px 42px; font: 500 16px Georgia,serif; }
.rules-grid p, .rules-note p, .fair-intro p { color: var(--muted); font-size: 12px; line-height: 1.65; }
.rules-note { margin-top: 12px; padding: 15px 18px; border-left: 2px solid var(--gold); background: rgba(190,145,62,.055); }
.rules-note p { margin: 4px 0 0; }
.toggle-row { min-height: 64px; display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.toggle-row b,.toggle-row small { display: block; }.toggle-row small { color: var(--muted); margin-top: 3px; font-size: 10px; }
.toggle-row input { width: 42px; height: 22px; accent-color: var(--gold); }
.settings-facts { display: flex; gap: 8px; margin-top: 22px; }.settings-facts span { flex:1; padding: 14px; border:1px solid var(--line); color:var(--muted); font-size:10px; }.settings-facts b { display:block;color:var(--cream);margin-top:5px; }
.history-list { display: grid; gap: 7px; }
.history-row { display: grid; grid-template-columns: minmax(120px,1.3fr) repeat(3,1fr) auto; align-items: center; gap: 10px; padding: 13px 15px; border: 1px solid var(--line); background: rgba(255,255,255,.02); }
.history-row small { display:block;color:var(--muted);font-size:7px;letter-spacing:.12em; }.history-row b,.history-row code { display:block;margin-top:3px;font-size:11px; }.history-row code { color:#cbbda6; }
.history-row time { display:block;margin-top:4px;color:#776f64;font-size:8px; }
.history-row .won { color:var(--success); }.history-row .lost { color:#ce7568; }
.history-row button { height:30px;border:1px solid rgba(207,170,94,.4);background:transparent;color:var(--gold-bright);font-size:8px;letter-spacing:.1em;cursor:pointer; }
.empty-state { color:var(--muted);text-align:center;padding:36px 0; }
.fair-modal { width:min(1040px,calc(100vw - 28px)); }
.fair-layout { display:grid;grid-template-columns:.75fr 1.25fr;gap:34px; }
.formula { display:grid;gap:6px;margin-top:24px; }.formula span { margin-top:8px;color:var(--muted);font-size:7px;letter-spacing:.16em; }.formula code { padding:10px;border:1px solid var(--line);color:#cdbd9d;background:rgba(0,0,0,.25);font-size:10px; }
.verify-panel { padding:22px;border:1px solid var(--line);background:rgba(0,0,0,.2); }
.verify-panel > label { color:var(--muted);font-size:8px;letter-spacing:.14em; }
.verify-search { display:flex;margin-top:7px; }.verify-search input { min-width:0;flex:1;height:44px;padding:0 12px;border:1px solid var(--line);outline:0;background:#0c0b0a;color:var(--cream);font-family:monospace; }.verify-search button { border:0;padding:0 16px;background:linear-gradient(135deg,#d5b371,#9b6c32);color:#181008;font-size:8px;font-weight:800;letter-spacing:.12em;cursor:pointer; }
.verify-status { display:flex;gap:10px;align-items:center;margin:15px 0;padding:12px;border:1px solid var(--line); }.verify-status i { width:9px;height:9px;border-radius:50%;background:#777; }.verify-status b,.verify-status small { display:block; }.verify-status small { margin-top:3px;color:var(--muted);font-size:9px; }.verify-status.valid { border-color:rgba(140,173,121,.4); }.verify-status.valid i { background:var(--success);box-shadow:0 0 14px var(--success); }.verify-status.invalid { border-color:rgba(183,77,63,.5); }.verify-status.invalid i { background:var(--danger); }
.proof-grid { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0; }.proof-grid div { min-width:0;padding:10px;border:1px solid rgba(211,180,119,.11); }.proof-grid dt { color:var(--muted);font-size:8px; }.proof-grid dd { margin:5px 0 0;font-size:11px; }.proof-grid code { display:block;overflow:hidden;text-overflow:ellipsis;color:#cfbea0; }
.toast-stack { position:fixed;right:18px;bottom:18px;z-index:100;display:grid;gap:8px; }.toast { max-width:360px;padding:13px 16px;border:1px solid var(--line);border-left:2px solid var(--gold);background:rgba(16,13,11,.95);box-shadow:var(--shadow);font-size:11px;animation:toastIn .25s ease; }.toast.error { border-left-color:var(--danger); }
@keyframes toastIn { from { opacity:0;transform:translateY(8px); } }
.impact-flash { position:fixed;inset:0;z-index:90;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(255,228,188,.9),rgba(176,54,35,.5) 20%,transparent 65%); }.impact-flash.live { animation:impact .6s ease-out; }
@keyframes impact { 0% { opacity:0; } 8% { opacity:1; } 100% { opacity:0; } }

@media (max-width: 1050px) {
  .game-shell { grid-template-rows:64px minmax(570px,1fr) auto; }
  .arena { grid-template-columns:1fr minmax(300px,380px) 1fr;padding-inline:8px; }
  .weapon { --weapon-scale:.84; }
}

@media (max-width: 780px) {
  .game-shell { display:block; min-height:100dvh; padding-bottom:190px; background-attachment:scroll; }
  .topbar { height:58px;padding:0 10px;position:sticky;top:0; }.brand-seal { width:34px;height:34px; }.brand b { font-size:11px; }.brand small { display:none; }
  .balance-card { min-width:122px;height:38px;padding:0 8px; }.balance-card small { font-size:6px; }.balance-card b { font-size:11px; }.balance-card .token { display:none; }
  .header-actions { gap:4px; }.icon-button { width:34px;height:34px; }.header-actions .icon-button:nth-of-type(2) { display:none; }
  .arena { min-height:680px;display:flex;flex-direction:column;padding:14px 10px 18px;overflow:visible; }
  .duelist { width:100%; }.opponent-zone { order:1; }.round-console { order:2;width:min(100%,430px);margin:-12px auto 0; }.player-zone { order:3; }
  .duelist-label { margin:0 0 3px;align-self:flex-start;margin-left:10px; }.player-label { margin:0 10px 0 auto;align-self:flex-end; }
  .weapon { --weapon-scale:.72;width:min(360px,100vw);height:186px;margin:-20px 0; }
  .commitment-chip { display:flex;margin:auto;width:92%; }.commitment-chip code { max-width:160px; }
  .round-message { min-height:100px; }.round-message h1 { font-size:31px; }.round-message p { font-size:10px;padding:0 10px; }
  .trigger-button { width:92%;margin:10px auto 0; }.round-stats { width:100%; }.round-stats div { padding:9px 4px; }.round-stats b { font-size:13px; }
  .betting-dock { position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:8px;min-height:0;padding:10px 10px calc(10px + env(safe-area-inset-bottom)); }
  .bet-field { grid-column:1;min-width:0; }.quick-bets { grid-column:1/-1;grid-row:2;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:2px; }.quick-bets button { flex:0 0 auto;min-width:48px;height:30px; }.place-bet { grid-column:2;grid-row:1;height:48px;min-width:0; }.dock-meta { grid-row:3;margin:0; }.amount-input { height:44px;margin-top:4px; }.amount-input input { width:0; }.amount-input button { padding-inline:8px; }.bet-field label { font-size:7px;overflow:hidden; }.bet-field label span { white-space:nowrap; }.place-bet small { display:none; }
  .modal { padding:25px 18px; }.modal h2 { font-size:27px; }.rules-grid,.fair-layout { grid-template-columns:1fr; }.rules-grid section { min-height:120px; }.history-row { grid-template-columns:1fr 1fr; }.history-row > div:nth-child(3),.history-row > div:nth-child(4) { display:none; }.proof-grid { grid-template-columns:1fr; }
}

@media (max-width: 430px) {
  .brand span:last-child { display:none; }.balance-card { min-width:112px; }.arena { min-height:650px; }
  .weapon { --weapon-scale:.64;margin:-27px 0; }
  .round-message h1 { font-size:27px; }.round-message { min-height:94px; }.player-label em { margin-left:7px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important; }
}
