:root {
    color-scheme: dark;
    --ink: #eef4ff;
    --muted: #7f8ca8;
    --line: rgba(147, 171, 218, .14);
    --panel: #111a2f;
    --panel-2: #17223b;
    --navy: #071020;
    --cyan: #55e5ef;
    --cyan-2: #1db9d0;
    --green: #5be0a0;
    --amber: #f5b85b;
    --danger: #ff6b79;
    --purple: #9a8cff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; background: var(--navy); color: var(--ink); }
button, input { font: inherit; }
button, summary { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }

.brand { display: inline-flex; align-items: center; gap: 13px; position: relative; z-index: 2; }
.brand-mark { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(85,229,239,.65); border-radius: 14px; background: linear-gradient(145deg, rgba(85,229,239,.25), rgba(29,185,208,.06)); color: var(--cyan); box-shadow: inset 0 0 20px rgba(85,229,239,.15), 0 0 24px rgba(85,229,239,.08); font-weight: 900; font-size: 22px; font-style: italic; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 17px; letter-spacing: -.02em; }
.brand small { color: var(--muted); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; margin-top: 2px; }
.brand--small .brand-mark { width: 38px; height: 38px; border-radius: 11px; font-size: 18px; }

.eyebrow { color: var(--cyan); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.muted { color: var(--muted); line-height: 1.6; font-size: 13px; }

/* Login */
.login-page { overflow: hidden; }
.login-wrap { min-height: 100vh; display: grid; grid-template-columns: minmax(460px, 1.15fr) minmax(420px, .85fr); background: #071020; }
.login-art { position: relative; isolation: isolate; overflow: hidden; padding: 56px 7vw; display: flex; flex-direction: column; background: radial-gradient(circle at 60% 50%, rgba(24,155,166,.14), transparent 38%), linear-gradient(135deg,#091529,#071020 70%); }
.login-art::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.2; background-image: linear-gradient(rgba(85,229,239,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(85,229,239,.08) 1px, transparent 1px); background-size: 48px 48px; transform: perspective(600px) rotateX(58deg) scale(1.5) translateY(24%); }
.login-art::after { content:""; position:absolute; width:420px; height:420px; border:1px solid rgba(85,229,239,.16); border-radius:50%; right:8%; top:27%; box-shadow: 0 0 0 58px rgba(85,229,239,.025),0 0 0 116px rgba(85,229,239,.018); z-index:-1; }
.login-art__glow { position:absolute; width:440px; height:440px; border-radius:50%; background:rgba(33,216,207,.08); filter:blur(80px); right:5%; top:25%; }
.login-copy { margin: auto 0; max-width: 680px; position: relative; z-index:2; }
.login-copy h1 { font-size: clamp(50px, 5.4vw, 82px); line-height: .99; letter-spacing: -.065em; margin: 18px 0 28px; }
.login-copy h1 em { color: var(--cyan); font-style: normal; text-shadow: 0 0 42px rgba(85,229,239,.22); }
.login-copy p { color: #9aa8c2; line-height: 1.8; max-width: 500px; font-size: 16px; }
.animal-orbit { position: absolute; width: 440px; height: 440px; right: 7%; top: 25%; animation: orbit 32s linear infinite; }
.animal-orbit span { position:absolute; font-size:52px; filter:drop-shadow(0 12px 20px rgba(0,0,0,.6)); animation: counter-orbit 32s linear infinite; }
.animal-orbit span:nth-child(1){left:43%;top:-4%}.animal-orbit span:nth-child(2){right:-3%;top:36%}.animal-orbit span:nth-child(3){right:12%;bottom:2%}.animal-orbit span:nth-child(4){left:4%;bottom:10%}.animal-orbit span:nth-child(5){left:-5%;top:27%}
@keyframes orbit { to { transform:rotate(360deg); } }
@keyframes counter-orbit { to { transform:rotate(-360deg); } }
.login-panel { display:grid; place-items:center; padding:48px; border-left:1px solid var(--line); background:linear-gradient(180deg,rgba(14,25,45,.95),rgba(7,16,32,.98)); }
.login-card { width:min(100%,430px); }
.login-card__heading h2 { font-size:36px; letter-spacing:-.04em; margin:10px 0 9px; }
.login-card__heading p { color:var(--muted); margin:0 0 34px; line-height:1.55; }
.field { display:flex; flex-direction:column; gap:8px; margin-bottom:17px; }
.field > span { color:#acb8cd; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.field input { width:100%; height:48px; padding:0 14px; color:var(--ink); background:#0c1628; border:1px solid var(--line); border-radius:10px; outline:none; transition:.2s; }
.field input:focus { border-color:rgba(85,229,239,.65); box-shadow:0 0 0 3px rgba(85,229,239,.08); }
.check { display:flex; align-items:center; gap:9px; color:#aab6ca; font-size:13px; margin:12px 0 20px; }
.check input { accent-color:var(--cyan-2); }
.form-error { color:#ff9aa4; background:rgba(255,107,121,.08); border:1px solid rgba(255,107,121,.2); padding:11px 13px; border-radius:8px; font-size:13px; margin-bottom:15px; }
.primary-button,.danger-button,.outline-button { border:0; border-radius:9px; font-weight:800; cursor:pointer; transition:.2s; }
.primary-button { color:#061016; background:linear-gradient(135deg,var(--cyan),#36c7d8); padding:13px 18px; box-shadow:0 8px 24px rgba(43,199,216,.12); }
.primary-button:hover { transform:translateY(-1px); box-shadow:0 10px 28px rgba(43,199,216,.22); }
.primary-button:disabled { opacity:.42;cursor:not-allowed;transform:none;box-shadow:none; }
.primary-button--wide { width:100%; display:flex; justify-content:center; gap:14px; font-size:14px; }
.demo-accounts { margin-top:26px; padding:15px; border:1px solid var(--line); background:rgba(255,255,255,.02); border-radius:10px; display:grid; gap:6px; color:var(--muted); font-size:11px; }
.demo-accounts strong { color:#b8c3d7; text-transform:uppercase; letter-spacing:.1em; font-size:9px; margin-bottom:2px; }
.demo-accounts code { color:var(--cyan); font-family:inherit; }

/* Player game */
.game-page { height:100vh; min-height:690px; overflow:hidden; background:radial-gradient(circle at 45% 45%,#122846 0,#091426 45%,#050c18 100%); }
.game-noise { pointer-events:none; position:fixed; inset:0; opacity:.28; background-image:linear-gradient(rgba(127,179,223,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(127,179,223,.018) 1px,transparent 1px); background-size:26px 26px; }
.game-app { position:relative; height:100vh; min-height:690px; display:grid; grid-template-rows:76px minmax(0,1fr) 102px; }
.game-topbar { display:grid; grid-template-columns:minmax(210px,1fr) auto minmax(270px,1fr); align-items:center; padding:0 25px; background:rgba(5,13,27,.84); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); z-index:5; }
.brand--game .brand-mark { width:42px;height:42px;border-radius:12px; }
.round-meta { display:flex; align-items:center; gap:24px; padding:0 24px; height:46px; border-left:1px solid var(--line); border-right:1px solid var(--line); }
.round-meta > div { display:grid; gap:4px; }
.round-meta small,.wallet small,.arena-total small,.bet-summary small,.chip-label small { color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.14em; }
.round-meta strong { font-size:13px; letter-spacing:.03em; }
.live-chip { color:#76eaae; font-size:9px; font-weight:900; letter-spacing:.14em; }
.live-chip i { display:inline-block; width:7px;height:7px;border-radius:50%;background:#5be0a0;box-shadow:0 0 0 5px rgba(91,224,160,.08),0 0 12px #5be0a0;margin-right:6px; }
.countdown strong { color:var(--cyan); font-size:22px; font-variant-numeric:tabular-nums; line-height:1; }
.player-meta { justify-self:end; display:flex; align-items:center; gap:11px; }
.wallet { display:grid; justify-items:end; padding-right:13px; margin-right:2px; border-right:1px solid var(--line); }
.wallet strong { color:#fff; font-size:17px; }
.avatar { width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#294466,#15253d);border:1px solid #3f5878;font-size:12px;font-weight:900; }
.player-name { display:grid; gap:2px; min-width:90px; }
.player-name strong { font-size:11px; }.player-name small{color:var(--muted);font-size:9px}
.icon-button { width:31px;height:31px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--muted);cursor:pointer; }
.game-layout { min-height:0; display:grid; grid-template-columns:minmax(0,1fr) 255px; }
.arena-panel { min-width:0; padding:22px 26px 20px; display:grid; grid-template-rows:auto minmax(0,1fr); }
.arena-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:16px; }
.arena-heading h1 { font-size:25px; margin:5px 0 0; letter-spacing:-.035em; }
.arena-total { display:grid;justify-items:end;gap:2px; }.arena-total strong{font-size:18px;color:#c8f7fb}
.animal-grid { min-height:0; display:grid; grid-template-columns:repeat(4,minmax(135px,1fr)); grid-template-rows:repeat(3,minmax(140px,1fr)); gap:11px; }
.animal-card { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-rows:auto 1fr auto auto; align-items:center; padding:11px 13px 12px; color:var(--ink); background:linear-gradient(155deg,rgba(26,45,76,.88),rgba(10,22,42,.94)); border:1px solid rgba(133,170,219,.16); border-radius:14px; cursor:pointer; box-shadow:inset 0 1px rgba(255,255,255,.025),0 12px 24px rgba(0,0,0,.12); transition:transform .16s,border-color .16s,box-shadow .16s; }
.animal-card::after { content:"";position:absolute;inset:auto 10% -1px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.55; }
.animal-card:hover { transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:inset 0 1px rgba(255,255,255,.035),0 12px 30px rgba(0,0,0,.22),0 0 24px color-mix(in srgb,var(--accent) 8%,transparent); }
.animal-card:active { transform:translateY(0) scale(.985); }
.animal-card.is-pending { border-color:color-mix(in srgb,var(--accent) 70%,transparent); }
.animal-grid.is-result-cycling .animal-card{pointer-events:none;opacity:.42;filter:saturate(.55) brightness(.72);transform:scale(.965);transition:opacity .08s,filter .08s,transform .08s,border-color .08s,box-shadow .08s}
.animal-grid.is-result-cycling .animal-card.is-result-highlight{z-index:4;opacity:1;filter:saturate(1.25) brightness(1.16);transform:scale(1.045);border-color:#ffe265;box-shadow:inset 0 0 0 2px rgba(255,236,122,.72),0 0 0 3px rgba(255,189,45,.16),0 0 34px rgba(255,197,49,.68);animation:result-card-flash .18s ease-out}
.animal-grid.is-result-cycling .animal-card.is-result-winner{opacity:1;filter:saturate(1.35) brightness(1.22);border-color:#fff2a0;box-shadow:inset 0 0 0 3px #ffe263,0 0 0 5px rgba(255,217,67,.24),0 0 52px rgba(255,197,49,.9);animation:result-card-winner .48s ease-in-out infinite alternate}
@keyframes result-card-flash{from{transform:scale(.94);filter:saturate(.7) brightness(.8)}to{transform:scale(1.045);filter:saturate(1.25) brightness(1.16)}}
@keyframes result-card-winner{from{transform:scale(1.035)}to{transform:scale(1.075)}}
.animal-card__halo { position:absolute;z-index:-1;width:105px;height:105px;border-radius:50%;left:50%;top:45%;transform:translate(-50%,-50%);background:radial-gradient(circle,color-mix(in srgb,var(--accent) 17%,transparent),transparent 68%);filter:blur(2px); }
.animal-card__top { align-self:start; width:100%;display:flex;justify-content:space-between;align-items:center; }
.animal-number { color:#53657f;font-size:9px;font-weight:900;letter-spacing:.1em; }
.animal-multiplier { color:var(--accent);font-size:10px;font-weight:900;background:color-mix(in srgb,var(--accent) 9%,transparent);padding:3px 7px;border-radius:99px; }
.animal-emoji { align-self:center;font-size:clamp(37px,3.4vw,57px);line-height:1;filter:drop-shadow(0 12px 13px rgba(0,0,0,.45));transition:transform .2s; }
.animal-card:hover .animal-emoji { transform:scale(1.07); }
.animal-name { font-weight:850;font-size:13px;letter-spacing:.01em;margin-bottom:7px; }
.animal-stats { display:flex;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:7px;color:#71819d;font-size:8px; }
.animal-stats span{display:grid;gap:2px}.animal-stats span:last-child{text-align:right}.animal-stats b{color:#abb8cd;font-size:9px}
.pending-badge { position:absolute;left:10px;top:34px;color:#071020;background:var(--accent);font-size:9px;font-weight:900;padding:4px 7px;border-radius:99px;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 25%,transparent); }
.history-panel { min-height:0; display:flex;flex-direction:column;padding:22px 18px 17px;border-left:1px solid var(--line);background:rgba(5,13,26,.47); }
.side-heading { display:flex;justify-content:space-between;align-items:end;margin-bottom:13px; }.side-heading h2{font-size:20px;margin:4px 0 0}.history-count{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:9px}
.history-list { min-height:0;overflow:auto;display:flex;flex-direction:column;gap:7px;padding-right:3px;scrollbar-width:thin;scrollbar-color:#263958 transparent; }
.history-item { position:relative;min-height:47px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;padding:6px 8px;background:rgba(20,35,59,.48);border:1px solid rgba(126,156,204,.09);border-radius:9px; }
.history-item--latest { background:linear-gradient(90deg,rgba(85,229,239,.10),rgba(20,35,59,.5));border-color:rgba(85,229,239,.24); }
.history-emoji { width:34px;height:34px;display:grid;place-items:center;font-size:23px;border-radius:8px;background:rgba(255,255,255,.035); }
.history-item div{display:grid;gap:2px}.history-item strong{font-size:10px}.history-item small{color:#65748f;font-size:7px}.history-item time{color:#8e9ab0;font-size:8px}
.history-bonus{position:absolute;z-index:3;top:3px;right:3px;padding:2px 4px;border:1px solid rgba(255,192,56,.5);border-radius:4px;background:#df8b17;color:#281300;font-size:6px;font-weight:1000;line-height:1}.history-bonus--base{border-color:rgba(75,103,137,.32);background:#526a85;color:#edf5ff}
.history-empty { display:grid;place-items:center;text-align:center;color:var(--muted);margin:auto;font-size:12px; }.history-empty span{font-size:28px}.history-empty p{line-height:1.5}
.fair-note { display:flex;gap:9px;padding:12px 4px 0;margin-top:10px;border-top:1px solid var(--line);color:#71809a;font-size:8px;line-height:1.55; }.fair-note span{color:var(--cyan)}.fair-note p{margin:0}.fair-note strong{color:#98a8bf;font-size:9px}
.bet-dock { position:relative;z-index:5;display:grid;grid-template-columns:228px minmax(0,1fr) auto;align-items:center;gap:18px;padding:10px 25px;background:rgba(5,12,24,.96);border-top:1px solid var(--line);box-shadow:0 -12px 35px rgba(0,0,0,.22); }
.chip-area,.bet-summary { display:flex;align-items:center;gap:20px; }.chip-label{display:grid;gap:4px;min-width:135px}.chip-label strong{font-size:10px;color:#adb9cd}
.chips { display:flex;gap:10px; }.bet-chip{width:58px;height:58px;border-radius:50%;padding:5px;position:relative;display:grid;place-items:center;color:#dbe6f3;background:conic-gradient(#58708f,#22364f,#69809d,#22364f,#58708f);border:0;box-shadow:0 5px 14px rgba(0,0,0,.38);cursor:pointer;transition:.18s}.bet-chip::before{content:"";position:absolute;inset:5px;border-radius:50%;border:2px dashed rgba(255,255,255,.37);background:#1a2b43}.bet-chip span{position:relative;z-index:1;font-size:10px;font-weight:900}.bet-chip:nth-child(2n){background:conic-gradient(#c77b75,#5c3034,#e08a81,#5c3034,#c77b75)}.bet-chip:nth-child(3n){background:conic-gradient(#7cbfa6,#31594d,#8dd0b4,#31594d,#7cbfa6)}.bet-chip:nth-child(4n){background:conic-gradient(#b58bc8,#50365f,#c79ada,#50365f,#b58bc8)}.bet-chip.is-selected{transform:translateY(-8px);box-shadow:0 9px 22px rgba(85,229,239,.22),0 0 0 2px var(--cyan)}.bet-chip.is-selected::before{background:#173850}
.terminal-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:228px}.terminal-key{height:35px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 6px;border:1px solid rgba(126,156,204,.16);border-radius:6px;background:linear-gradient(#1b2a42,#111d31);color:#91a0b8;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.035);text-transform:uppercase}.terminal-key span{font-size:10px;color:#7f92af}.terminal-key b{font-size:7px;letter-spacing:.06em}.terminal-key:hover:not(:disabled){color:#eafcff;border-color:rgba(85,229,239,.32);transform:translateY(-1px)}.terminal-key:disabled{opacity:.34;cursor:not-allowed}.terminal-key--print{color:#b8f8fb;background:linear-gradient(#167f8c,#0e5661);border-color:rgba(85,229,239,.34)}.terminal-key--print span{color:#d7fdff}.terminal-key--danger{color:#ffd0d4;background:linear-gradient(#843341,#4f202c);border-color:rgba(255,107,121,.32)}.terminal-key--danger span{color:#ffb2bb}.terminal-key--purple{color:#e1d8ff;background:linear-gradient(#594579,#372c50);border-color:rgba(154,140,255,.3)}.terminal-key--purple span{color:#c7baff}.terminal-key--history{color:#dce7f7;background:linear-gradient(#334861,#1c2b40)}
.bet-summary>div{display:grid;gap:3px;min-width:90px;text-align:right}.bet-summary>div strong{font-size:24px}.clear-button{color:var(--muted);background:transparent;border:0;cursor:pointer;font-weight:700;font-size:11px}.clear-button:disabled{opacity:.35;cursor:default}.place-button{height:54px;min-width:145px;display:flex;align-items:center;justify-content:center;gap:16px;border:0;border-radius:10px;color:#051015;background:linear-gradient(135deg,var(--cyan),#27becd);font-weight:900;cursor:pointer;box-shadow:0 8px 25px rgba(38,194,207,.18);transition:.2s}.place-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px rgba(38,194,207,.28)}.place-button:disabled{background:#1b2a3e;color:#65758d;box-shadow:none;cursor:not-allowed}.place-button b{font-size:18px}
.toast { position:fixed;z-index:40;left:50%;bottom:120px;transform:translate(-50%,15px);opacity:0;pointer-events:none;padding:11px 17px;border:1px solid rgba(85,229,239,.3);border-radius:9px;background:#102239;color:#c9f9fc;font-size:12px;box-shadow:0 12px 35px rgba(0,0,0,.4);transition:.25s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}.toast.is-error{border-color:rgba(255,107,121,.4);color:#ffc3ca}
.winner-overlay { position:fixed;inset:0;z-index:35;display:grid;place-items:center;background:rgba(4,10,20,.76);backdrop-filter:blur(9px);animation:winner-backdrop .3s ease-out }.winner-overlay[hidden]{display:none}.winner-overlay>div{position:relative;overflow:hidden;text-align:center;min-width:340px;padding:31px 38px 34px;border:1px solid rgba(85,229,239,.4);border-radius:22px;background:radial-gradient(circle at 50% 28%,rgba(85,229,239,.2),transparent 52%),#0d192c;box-shadow:0 30px 90px rgba(0,0,0,.65),0 0 55px rgba(85,229,239,.12);animation:winner-pop .55s cubic-bezier(.2,.9,.25,1.25)}.winner-overlay>div::before,.winner-overlay>div::after{content:"";position:absolute;width:150px;height:150px;border:2px solid rgba(255,215,88,.22);transform:rotate(45deg);animation:winner-orbit 3s linear infinite}.winner-overlay>div::before{top:-95px;left:-80px}.winner-overlay>div::after{right:-80px;bottom:-95px;animation-direction:reverse}.winner-overlay small{color:var(--cyan);font-weight:900;letter-spacing:.18em}.winner-overlay span{display:block;font-size:92px;margin:18px}.winner-overlay h2{font-size:30px;margin:7px 0 0}.winner-overlay p{color:#92a3bb;margin:9px 0 0;font-size:10px}.winner-multiplier{position:relative;z-index:2;display:inline-flex;padding:8px 16px;border:1px solid #ffe57b;border-radius:99px;background:linear-gradient(135deg,#ffdd54,#ff982f);color:#351600;font-size:15px;font-weight:1000;letter-spacing:.08em;box-shadow:0 0 26px rgba(255,190,57,.35);animation:winner-bonus-pulse .85s ease-in-out infinite alternate}.winner-multiplier--base{border-color:rgba(85,229,239,.65);background:linear-gradient(135deg,#73eff4,#31aebd);color:#06202a;box-shadow:0 0 25px rgba(85,229,239,.25)}
@keyframes winner-backdrop{from{opacity:0}to{opacity:1}}@keyframes winner-pop{0%{opacity:0;transform:scale(.68) translateY(26px)}70%{transform:scale(1.035) translateY(-3px)}100%{opacity:1;transform:scale(1) translateY(0)}}@keyframes winner-bonus-pulse{from{transform:scale(1);filter:brightness(1)}to{transform:scale(1.06);filter:brightness(1.12)}}@keyframes winner-orbit{to{transform:rotate(405deg)}}
.ticket-drawer{position:fixed;inset:0;z-index:45}.ticket-drawer[hidden]{display:none}.ticket-drawer__backdrop{position:absolute;inset:0;border:0;background:rgba(2,7,14,.68);backdrop-filter:blur(5px)}.ticket-drawer>aside{position:absolute;right:0;top:0;bottom:0;width:min(390px,92vw);padding:24px 18px;background:linear-gradient(180deg,#101d32,#081222);border-left:1px solid rgba(147,171,218,.18);box-shadow:-24px 0 65px rgba(0,0,0,.48);overflow:auto}.ticket-drawer__heading{display:flex;align-items:start;justify-content:space-between;margin-bottom:18px}.ticket-drawer__heading h2{margin:4px 0 0}.ticket-drawer__heading button{width:31px;height:31px;border:1px solid var(--line);border-radius:8px;background:#15243a;color:#93a1b7;font-size:20px;cursor:pointer}.ticket-list{display:grid;gap:9px}.ticket-row{padding:12px;border:1px solid rgba(147,171,218,.12);border-radius:10px;background:#0b1729}.ticket-row--cancelled{opacity:.65}.ticket-row__top,.ticket-row footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.ticket-row__top strong{font-size:10px}.ticket-row__top span{padding:4px 7px;border-radius:99px;color:var(--green);background:rgba(91,224,160,.08);font-size:7px;font-weight:900;text-transform:uppercase}.ticket-row--cancelled .ticket-row__top span{color:#ff9aa4;background:rgba(255,107,121,.09)}.ticket-row--settled .ticket-row__top span{color:#a9b4c7;background:rgba(169,180,199,.08)}.ticket-row>small{display:block;margin-top:4px;color:#65748d;font-size:7px}.ticket-row__animals{display:flex;gap:5px;overflow:auto;margin:10px 0;padding-bottom:3px}.ticket-row__animals>span{min-width:76px;display:grid;grid-template-columns:24px 1fr;align-items:center;padding:5px;border-radius:7px;background:#111f34}.ticket-row__animals img{grid-row:1/3;width:22px;height:22px;object-fit:contain}.ticket-row__animals b{font-size:7px}.ticket-row__animals em{font-size:7px;color:#7e8ca3;font-style:normal}.ticket-row footer{padding-top:9px;border-top:1px solid var(--line);color:#718098;font-size:8px}.ticket-row footer strong{color:#eef5ff;font-size:12px}
.print-ticket{display:none}

@media print{
    @page{size:80mm auto;margin:4mm}
    body *{visibility:hidden!important}
    .print-ticket,.print-ticket *{visibility:visible!important}
    .print-ticket{display:block!important;position:absolute;left:0;top:0;width:72mm;padding:4mm;color:#000;background:#fff;font:11px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace}
    .print-ticket header{text-align:center;padding-bottom:3mm;border-bottom:1px dashed #000}.print-ticket header strong,.print-ticket header small{display:block}.print-ticket header strong{font-size:17px}.print-ticket dl{margin:3mm 0}.print-ticket dl div{display:flex;justify-content:space-between;gap:4mm}.print-ticket dt{font-weight:400}.print-ticket dd{margin:0;font-weight:700;text-align:right}.receipt-barcode{display:grid;justify-items:center;gap:1mm;margin:2.5mm 0 3mm;padding:2mm 0;border-top:1px dashed #000}.receipt-barcode svg{display:block;width:66mm;height:16mm;background:#fff}.receipt-barcode small{font-size:10px;font-weight:800;letter-spacing:.18em}.receipt-lines{border-top:1px dashed #000;border-bottom:1px dashed #000;padding:2mm 0}.receipt-lines>div{display:flex;justify-content:space-between;gap:3mm;padding:1.5mm 0}.receipt-lines span{display:grid}.receipt-lines small{font-size:9px}.print-ticket>footer{display:grid;grid-template-columns:1fr auto;align-items:center;padding-top:3mm}.print-ticket>footer strong{font-size:16px}.print-ticket>footer small{grid-column:1/-1;text-align:center;margin-top:4mm;font-weight:800;letter-spacing:.1em}
}

/* Shared portals */
.app-shell { background:linear-gradient(145deg,#081223,#070e1b 70%);min-height:100vh; }
.portal-topbar { height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1420px)/2));border-bottom:1px solid var(--line);background:rgba(7,15,29,.82);backdrop-filter:blur(15px);position:sticky;top:0;z-index:20; }
.account-strip{display:flex;align-items:center;gap:10px;color:#aeb9cb;font-size:11px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.role-pill,.active-badge,.inactive-badge,.source-badge{border-radius:99px;padding:4px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.role-pill{color:var(--cyan);background:rgba(85,229,239,.08)}.text-button{color:var(--muted);background:transparent;border:0;border-left:1px solid var(--line);padding-left:13px;cursor:pointer;font-size:10px}.portal-main{width:min(1420px,calc(100% - 48px));margin:0 auto;padding:32px 0 60px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.page-heading h1{font-size:34px;margin:6px 0 6px;letter-spacing:-.045em}.page-heading p{color:var(--muted);margin:0;font-size:13px}.open-round-badge{display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(18,32,54,.75);border:1px solid var(--line);border-radius:11px}.open-round-badge>span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.open-round-badge div{display:grid;gap:3px}.open-round-badge small{font-size:7px;color:var(--muted);letter-spacing:.14em}.open-round-badge strong{font-size:10px}.open-round-badge>b{font-size:20px;color:var(--cyan);padding-left:15px;border-left:1px solid var(--line);font-variant-numeric:tabular-nums}.flash{padding:12px 15px;border-radius:9px;margin-bottom:18px;font-size:12px}.flash--success{color:#baf7d6;background:rgba(91,224,160,.08);border:1px solid rgba(91,224,160,.2)}.flash--error{color:#ffc1c7;background:rgba(255,107,121,.08);border:1px solid rgba(255,107,121,.2)}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.metric-grid--three{grid-template-columns:repeat(3,1fr)}.metric-card{display:flex;align-items:center;gap:14px;min-height:106px;padding:17px;background:linear-gradient(145deg,rgba(19,32,54,.86),rgba(13,24,43,.82));border:1px solid var(--line);border-radius:12px}.metric-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;color:var(--cyan);background:rgba(85,229,239,.08);border:1px solid rgba(85,229,239,.13);font-size:18px}.metric-icon--green{color:var(--green);background:rgba(91,224,160,.08)}.metric-icon--purple{color:var(--purple);background:rgba(154,140,255,.08)}.metric-icon--amber{color:var(--amber);background:rgba(245,184,91,.08)}.metric-card>div{display:grid;gap:4px}.metric-card small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.12em}.metric-card strong{font-size:23px}.metric-card em{color:#62718b;font-size:9px;font-style:normal}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.65fr);gap:16px;margin-bottom:16px}.admin-grid--equal{grid-template-columns:1fr 1fr}.panel{background:linear-gradient(145deg,rgba(18,31,52,.9),rgba(11,21,38,.92));border:1px solid var(--line);border-radius:13px;padding:18px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-heading h2{font-size:18px;margin:4px 0 0}.panel-note{color:#697993;font-size:9px}.exposure-table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:10px}.data-table th{text-align:left;color:#65738d;font-size:8px;letter-spacing:.1em;text-transform:uppercase;padding:0 11px 10px;border-bottom:1px solid var(--line)}.data-table td{padding:9px 11px;border-bottom:1px solid rgba(147,171,218,.075);white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:0}.table-animal{display:flex;align-items:center;gap:9px}.table-animal i{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--accent) 9%,transparent);font-style:normal;font-size:20px}.table-animal>span{display:grid;gap:2px}.table-animal small{color:var(--accent);font-size:8px}.share-bar{width:65px;height:4px;border-radius:9px;background:#1d2c43;display:inline-block;margin-right:5px;overflow:hidden;vertical-align:middle}.share-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan-2),var(--cyan));border-radius:9px}.text-danger{color:#ff8e99}.text-success{color:#77e6ab}
.result-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:16px 0}.result-picker input{position:absolute;opacity:0}.result-picker label span{display:grid;place-items:center;gap:3px;height:58px;border:1px solid var(--line);background:#0d192c;border-radius:8px;cursor:pointer;transition:.15s}.result-picker b{font-size:24px}.result-picker small{font-size:7px;color:#8998af}.result-picker input:checked+span{border-color:var(--danger);background:rgba(255,107,121,.09);box-shadow:0 0 0 2px rgba(255,107,121,.08)}.danger-button{width:100%;padding:12px;color:#fff;background:linear-gradient(135deg,#e24e60,#c83b4d)}.auto-result-note{display:flex;gap:10px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line);color:#697994;font-size:9px;line-height:1.5}.auto-result-note span{color:var(--cyan);font-size:17px}.auto-result-note p{margin:0}.auto-result-note strong{color:#99a8bd}
.round-multiplier-form{display:flex;align-items:end;gap:12px;padding:15px;margin-bottom:12px;background:#0c182a;border:1px solid rgba(85,229,239,.14);border-radius:10px}.round-multiplier-form label{display:grid;gap:5px;flex:1}.round-multiplier-form label>span{font-size:9px;color:#92a2ba}.round-multiplier-form label>div{height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#101d31;color:var(--cyan)}.round-multiplier-form input{width:100%;border:0;background:transparent;color:#eaf2ff;outline:none;font-size:18px;font-weight:900}.round-multiplier-form input:disabled{color:#6e7c91}.round-multiplier-form small{font-size:8px;color:#64738c}.round-rate-preview{grid-template-columns:repeat(4,1fr)!important}.text-cyan{color:var(--cyan)}.round-list{display:grid;gap:6px}.round-row{display:grid;grid-template-columns:38px 1fr auto 70px;align-items:center;gap:9px;padding:8px;background:#0c182a;border-radius:8px;border:1px solid rgba(147,171,218,.08)}.round-result{width:34px;height:34px;display:grid;place-items:center;background:rgba(255,255,255,.03);border-radius:8px;font-size:22px}.round-row div{display:grid;gap:2px}.round-row strong{font-size:10px}.round-row small{color:#62728c;font-size:7px}.round-row>b{text-align:right;font-size:10px}.source-badge--auto{color:var(--green);background:rgba(91,224,160,.08)}.source-badge--admin{color:var(--amber);background:rgba(245,184,91,.08)}.empty-state{color:var(--muted);padding:30px;text-align:center;font-size:11px}
.payout-formula{display:grid;grid-template-columns:1fr auto 1fr auto 1.2fr;align-items:center;gap:10px;padding:14px;border:1px solid rgba(85,229,239,.14);border-radius:10px;background:#0c182a}.payout-formula>span{display:grid;gap:4px;padding:10px;border-radius:8px;background:#101f35;text-align:center}.payout-formula>span small{color:#73839b;font-size:7px;font-weight:900;letter-spacing:.11em}.payout-formula>span strong{font-size:18px}.payout-formula>b{color:#60728b;font-size:17px}.payout-formula .payout-formula__effective{border:1px solid rgba(85,229,239,.25);background:rgba(85,229,239,.08)}.payout-formula .payout-formula__effective strong{color:var(--cyan)}
.retailer-panel{margin-top:16px}.outline-button{color:var(--cyan);background:rgba(85,229,239,.06);border:1px solid rgba(85,229,239,.2);padding:9px 13px}.retailer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.retailer-card{background:#0c182a;border:1px solid rgba(147,171,218,.1);border-radius:10px;overflow:hidden}.retailer-card summary{list-style:none;display:grid;grid-template-columns:38px 1fr auto 80px 14px;align-items:center;gap:10px;padding:11px;cursor:pointer}.retailer-card summary::-webkit-details-marker{display:none}.retailer-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(145deg,#24445b,#162840);color:var(--cyan);font-weight:900;font-size:10px}.retailer-card summary div{display:grid;gap:3px}.retailer-card summary strong{font-size:10px}.retailer-card summary small{font-size:8px;color:#697994}.retailer-card summary>b{text-align:right;font-size:10px}.retailer-card summary>i{color:#63738c;transition:.2s}.retailer-card[open] summary>i{transform:rotate(180deg)}.active-badge{color:var(--green);background:rgba(91,224,160,.08)}.inactive-badge{color:#9aa5b7;background:rgba(154,165,183,.08)}.retailer-edit{padding:12px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px}.retailer-edit .field{margin:0}.retailer-edit .field input{height:39px;font-size:11px}.retailer-edit .check{margin:0}.retailer-edit .primary-button{justify-self:end}.delete-form{padding:0 12px 12px;text-align:right}.delete-form button{color:#df7480;background:transparent;border:0;font-size:9px;cursor:pointer}.modal{width:min(480px,calc(100% - 30px));padding:0;border:1px solid rgba(147,171,218,.22);border-radius:14px;background:#101d32;color:var(--ink);box-shadow:0 25px 90px rgba(0,0,0,.65)}.modal::backdrop{background:rgba(3,8,17,.76);backdrop-filter:blur(5px)}.modal-card{padding:22px}.modal-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.modal-heading h2{margin:5px 0 0}.modal-heading button{color:var(--muted);background:transparent;border:0;font-size:25px;cursor:pointer}.retailer-wallet{display:grid;justify-items:end;gap:4px}.retailer-wallet small{color:var(--muted);font-size:8px;letter-spacing:.13em}.retailer-wallet strong{font-size:28px;color:var(--cyan)}

@media (max-width:1100px){
    .game-topbar{grid-template-columns:200px 1fr auto}.round-meta{justify-content:center}.player-name{display:none}.animal-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,minmax(115px,1fr))}.animal-stats{display:none}.game-app{min-height:760px}.game-page{min-height:760px;overflow:auto}.chips{gap:6px}.bet-chip{width:48px;height:48px}.chip-label{display:none}.admin-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
    .login-page{overflow:auto}.login-wrap{display:block}.login-art{min-height:330px;padding:28px}.login-copy{margin-top:75px}.login-copy h1{font-size:45px}.login-copy p,.animal-orbit{display:none}.login-panel{padding:36px 24px;border:0}.game-page{height:auto;overflow:auto}.game-app{height:auto;min-height:100vh;display:block;padding-bottom:128px}.game-topbar{height:auto;min-height:70px;padding:12px 15px;grid-template-columns:1fr auto}.round-meta{grid-row:2;grid-column:1/-1;width:100%;height:auto;margin-top:10px;padding:10px 0 0;border:0;border-top:1px solid var(--line);justify-content:space-between}.round-meta>div:not(.countdown){display:none}.player-meta{gap:8px}.wallet{border:0;margin:0;padding:0}.avatar,.icon-button,.brand small{display:none}.game-layout{display:block}.arena-panel{padding:18px 12px}.arena-heading h1{font-size:21px}.animal-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:none;gap:8px}.animal-card{min-height:155px}.animal-emoji{font-size:47px}.history-panel{border:0;border-top:1px solid var(--line);padding:18px 12px}.history-list{display:grid;grid-template-columns:repeat(2,1fr);max-height:220px}.fair-note{display:none}.bet-dock{position:fixed;bottom:0;left:0;right:0;display:block;padding:9px 10px}.chip-area{display:block}.chips{justify-content:center}.bet-chip{width:43px;height:43px}.bet-chip.is-selected{transform:translateY(-4px)}.bet-summary{margin-top:8px;justify-content:flex-end}.bet-summary>div{margin-right:auto;text-align:left}.place-button{height:44px;min-width:120px}.toast{bottom:132px}.portal-topbar{padding:0 16px}.account-strip>span:not(.status-dot),.role-pill{display:none}.portal-main{width:calc(100% - 24px);padding-top:22px}.page-heading{align-items:start;gap:16px}.page-heading h1{font-size:27px}.page-heading p{display:none}.open-round-badge{padding:9px}.open-round-badge div{display:none}.metric-grid,.metric-grid--three{grid-template-columns:1fr 1fr}.metric-card{min-height:88px}.metric-card strong{font-size:18px}.metric-icon{display:none}.admin-grid--equal{grid-template-columns:1fr}.result-picker{grid-template-columns:repeat(4,1fr)}.multiplier-grid{grid-template-columns:repeat(2,1fr)}.retailer-grid{grid-template-columns:1fr}.retailer-card summary{grid-template-columns:38px 1fr auto 14px}.retailer-card summary>b{display:none}.retailer-edit{grid-template-columns:1fr}.round-row{grid-template-columns:38px 1fr auto}.round-row>b{display:none}.data-table{font-size:9px}
}

/* Sidebar portal navigation */
.portal-layout { min-height:100vh; display:grid; grid-template-columns:232px minmax(0,1fr); }
.portal-sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:20px 14px 14px; border-right:1px solid var(--line); background:linear-gradient(180deg,#0a1426,#070f1e); z-index:30; }
.sidebar-brand { padding:2px 8px 22px; border-bottom:1px solid var(--line); }
.sidebar-nav { display:flex; flex-direction:column; gap:4px; padding:17px 0; }
.sidebar-nav>small { color:#53627b; font-size:8px; font-weight:900; letter-spacing:.16em; padding:12px 12px 6px; }
.sidebar-nav a { height:43px; display:grid; grid-template-columns:27px 1fr auto; align-items:center; gap:7px; padding:0 11px; border-radius:9px; color:#7e8ca5; transition:.17s; }
.sidebar-nav a span { width:25px; height:25px; display:grid; place-items:center; color:#6e819e; font-size:14px; }
.sidebar-nav a b { font-size:11px; font-weight:700; }.sidebar-nav a i{font-size:10px;font-style:normal}
.sidebar-nav a:hover { color:#d5e2f3; background:rgba(255,255,255,.025); }
.sidebar-nav a.is-active { color:#eafcff; background:linear-gradient(90deg,rgba(85,229,239,.14),rgba(85,229,239,.04)); border:1px solid rgba(85,229,239,.13); box-shadow:inset 3px 0 var(--cyan); }
.sidebar-nav a.is-active span { color:var(--cyan); }
.sidebar-spacer { flex:1; }
.sidebar-support { display:flex; gap:9px; padding:11px; margin:0 3px 11px; border:1px solid rgba(85,229,239,.1); border-radius:9px; background:rgba(85,229,239,.035); }
.sidebar-support>span { color:var(--cyan); }.sidebar-support div{display:grid;gap:3px}.sidebar-support strong{font-size:9px}.sidebar-support small{color:#63728b;font-size:8px;line-height:1.45}
.sidebar-user { display:grid; grid-template-columns:34px 1fr 27px; align-items:center; gap:8px; padding:12px 7px 2px; border-top:1px solid var(--line); }
.sidebar-user>div { display:grid; gap:2px; min-width:0; }.sidebar-user strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user small{font-size:8px;color:#62718a}.sidebar-user button{width:27px;height:27px;border:1px solid var(--line);border-radius:7px;background:transparent;color:#73819a;cursor:pointer}
.portal-content { min-width:0; }
.portal-content .portal-topbar { position:sticky; top:0; width:100%; height:64px; padding:0 24px; }
.portal-topbar>div:first-of-type { display:grid; gap:3px; }.portal-topbar>div:first-of-type small{color:#5f6e87;font-size:7px;font-weight:900;letter-spacing:.15em}.portal-topbar>div:first-of-type strong{font-size:13px}
.portal-content .portal-main { width:min(1500px,calc(100% - 42px)); padding:27px 0 55px; }
.mobile-menu { display:none; border:0; background:transparent; color:var(--ink); font-size:20px; }
.heading-actions { display:flex; align-items:center; gap:10px; }
.game-switch { display:flex;align-items:center;gap:9px;height:48px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#101d31;color:var(--ink);cursor:pointer }.game-switch>i,.settings-live>i{width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 12px var(--danger)}.game-switch.is-on>i,.settings-live.is-on>i{background:var(--green);box-shadow:0 0 12px var(--green)}.game-switch span,.settings-live span{display:grid;gap:2px;text-align:left}.game-switch small,.settings-live small{font-size:7px;color:#65748d;letter-spacing:.12em}.game-switch strong,.settings-live strong{font-size:10px}
.date-pill { color:#9eacc1; font-size:9px; padding:9px 13px; border:1px solid var(--line); border-radius:99px; background:rgba(255,255,255,.025); }

/* Automatic payout target */
.auto-payout-panel{margin-bottom:20px}.auto-payout-help{color:#98a7bd;font-size:11px;line-height:1.7;margin:14px 0}.auto-payout-help a{color:var(--cyan)}.auto-payout-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.auto-payout-stats>span{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#0d192b}.auto-payout-stats small{color:#91a1b8;font-size:8px;letter-spacing:.08em}.auto-payout-stats strong{font-size:20px;color:var(--cyan)}.auto-payout-candidates{display:flex;flex-wrap:wrap;gap:9px}.auto-payout-candidates>span{display:grid;grid-template-columns:36px 1fr;gap:3px 8px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#0d192b}.auto-payout-candidates img{grid-row:span 2;width:36px;height:36px;object-fit:contain;border-radius:4px}.auto-payout-candidates b{font-size:11px}.auto-payout-candidates small{color:var(--cyan);font-size:10px}.auto-payout-audit{grid-column:1/-1}.auto-payout-audit p{font-size:11px;color:#98a7bd;line-height:1.6}.auto-payout-audit strong{color:var(--ink)}@media(max-width:600px){.auto-payout-stats{grid-template-columns:1fr}.auto-payout-stats strong{font-size:18px}}

/* Reports, rounds and settings */
.table-animal img { width:31px;height:31px;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(0,0,0,.45)); }
.bar-chart { height:220px; display:grid; grid-template-columns:repeat(7,1fr); gap:10px; align-items:end; padding:18px 10px 0; border-bottom:1px solid var(--line); background:repeating-linear-gradient(to top,transparent 0,transparent 54px,rgba(147,171,218,.055) 55px); }
.bar-group { height:100%; display:grid;grid-template-rows:1fr 24px;gap:7px;align-items:end;text-align:center }.bar-pair{height:100%;display:flex;gap:4px;align-items:end;justify-content:center}.bar-pair i{width:12px;min-height:2px;border-radius:4px 4px 0 0}.bar-stake{background:linear-gradient(var(--cyan),#1d8fb0)}.bar-payout{background:linear-gradient(var(--purple),#514aa0)}.bar-group small{font-size:8px;color:#65748d}.chart-legend{display:flex;gap:18px;justify-content:center;margin-top:14px;color:#8491a8;font-size:8px}.chart-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px}.legend-cyan{background:var(--cyan)}.legend-purple{background:var(--purple)}
.report-list { display:grid;gap:7px }.report-list>div{display:grid;grid-template-columns:36px 1fr 80px 80px;align-items:center;gap:9px;padding:9px;background:#0c182a;border:1px solid rgba(147,171,218,.08);border-radius:8px}.report-list p{display:grid;gap:2px;margin:0}.report-list strong{font-size:9px}.report-list small{font-size:7px;color:#687791}.report-list b{font-size:9px}.rounds-table td{height:50px}.pagination{display:flex;justify-content:space-between;align-items:center;padding-top:16px;margin-top:8px;border-top:1px solid var(--line);font-size:9px}.pagination a{color:var(--cyan)}.pagination span{color:#4f5e76}.pagination small{color:#75839a}
.settings-live { display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#101d31 }.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-form-contents{display:contents}.settings-panel{padding:20px}.settings-panel--animals,.settings-save{grid-column:1/-1}.setting-toggle{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}.setting-toggle>span{display:grid;gap:4px}.setting-toggle strong{font-size:11px}.setting-toggle small{color:#6d7b93;font-size:9px}.setting-toggle input{position:absolute;opacity:0}.setting-toggle>i{width:40px;height:22px;border-radius:99px;background:#23334b;position:relative;transition:.2s}.setting-toggle>i::after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;left:3px;top:3px;background:#7c899c;transition:.2s}.setting-toggle input:checked+i{background:rgba(85,229,239,.25)}.setting-toggle input:checked+i::after{left:21px;background:var(--cyan)}.setting-operation{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;margin-top:8px;border:1px solid var(--line);border-radius:10px;background:#0d192b;color:var(--ink);text-align:left;cursor:pointer}.setting-operation>span{display:grid;gap:5px}.setting-operation strong{font-size:11px}.setting-operation small{color:#72819a;font-size:8px}.setting-operation>b{min-width:145px;padding:11px 12px;border-radius:7px;text-align:center;font-size:8px;letter-spacing:.08em}.setting-operation.is-stop>b{background:#b82d3e;color:#fff;box-shadow:0 5px 18px rgba(184,45,62,.25)}.setting-operation.is-start>b{background:#1b9b6d;color:#fff;box-shadow:0 5px 18px rgba(27,155,109,.25)}.setting-operation:hover{border-color:rgba(85,229,239,.35);background:#112139}.operation-warning{margin:10px 0 0;color:#77869e;font-size:8px}.settings-panel>.field{margin-top:16px}.field>small{color:#5f6f88;font-size:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.boxed-check{padding:12px;border:1px solid var(--line);border-radius:8px;background:#0d192b}.settings-animals{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.settings-animals>span{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-items:center;padding:7px;background:#0c182a;border:1px solid rgba(147,171,218,.08);border-radius:8px}.settings-animals img{grid-row:1/3;width:35px;height:35px;object-fit:contain}.settings-animals b{font-size:8px}.settings-animals small{font-size:8px;color:var(--cyan)}.settings-save{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:4px}.settings-save p{color:#64738c;font-size:9px;margin:0}

/* Reference-matched photographic game board */
.arena-panel { overflow:hidden; }
.animal-grid { height:100%; overflow:hidden; grid-template-columns:repeat(6,minmax(90px,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:10px; }
.animal-card { min-height:0; height:100%; grid-template-rows:auto minmax(0,1fr) auto auto; padding:9px 10px 10px; border-radius:17px; background:radial-gradient(circle at 50% 48%,rgba(27,77,131,.88),rgba(13,33,65,.94) 56%,rgba(7,20,41,.98) 75%); }
.animal-card__halo { width:142px;height:142px;top:47%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 15%,rgba(29,93,159,.16)),transparent 67%);border:1px solid color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:inset 0 0 30px rgba(76,154,236,.12) }
.animal-photo-wrap { min-height:0;width:100%;height:112px;max-height:100%;display:grid;place-items:center;overflow:hidden;contain:size layout paint; }
.animal-photo { display:block;width:112px!important;height:112px!important;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 13px 10px rgba(0,0,0,.5));transition:transform .2s; }
.animal-card:hover .animal-photo { transform:scale(1.06) translateY(-2px); }
.history-emoji img { width:31px;height:31px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.45)); }
.winner-overlay img { position:relative;z-index:1;display:block;width:170px;height:170px;object-fit:contain;margin:8px auto;filter:drop-shadow(0 18px 18px rgba(0,0,0,.45));animation:winner-image-arrive .8s cubic-bezier(.2,.9,.3,1.18) }.winner-overlay h2,.winner-overlay p{position:relative;z-index:2}@keyframes winner-image-arrive{0%{opacity:0;transform:translateY(-25px) rotate(-7deg) scale(.55)}65%{opacity:1;transform:translateY(4px) rotate(2deg) scale(1.08)}100%{transform:none}}
.game-pause-banner,.preview-ribbon{position:absolute;z-index:20;top:82px;left:50%;transform:translateX(-50%);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.35)}.game-pause-banner{display:flex;align-items:center;gap:8px;padding:9px 13px;color:#ffd1d6;background:#3b1822;border:1px solid rgba(255,107,121,.3);font-size:9px}.game-pause-banner[hidden]{display:none}.game-pause-banner p{margin:0;color:#d6969e}.preview-ribbon{top:84px;padding:7px 12px;background:#132b3d;border:1px solid rgba(85,229,239,.24);color:#8da7bb;font-size:8px}.preview-ribbon span{color:var(--cyan);font-weight:900;margin-right:7px}.icon-button--link{display:grid;place-items:center}

@media(max-width:1250px){.animal-grid{grid-template-columns:repeat(6,minmax(82px,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:7px}.animal-photo-wrap{height:92px}.animal-photo{width:92px!important;height:92px!important}.animal-card{padding-left:7px;padding-right:7px}.settings-animals{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.portal-layout{display:block}.portal-sidebar{position:fixed;left:-245px;width:232px;transition:.2s}.sidebar-open .portal-sidebar{left:0;box-shadow:20px 0 50px rgba(0,0,0,.55)}.mobile-menu{display:block}.portal-topbar{display:grid;grid-template-columns:35px 1fr auto}.portal-content .portal-main{width:calc(100% - 28px)}.settings-layout{grid-template-columns:1fr}.settings-panel--animals,.settings-save{grid-column:auto}.settings-animals{grid-template-columns:repeat(3,1fr)}.game-layout{grid-template-columns:minmax(0,1fr) 210px}.animal-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,155px)}.animal-photo{width:82px;height:82px}}
@media(max-width:760px){.game-app{padding-bottom:176px}.arena-panel{overflow:visible}.game-layout{display:block}.animal-grid{height:auto;overflow:visible;grid-template-columns:repeat(2,1fr);grid-template-rows:none}.animal-card{height:180px;min-height:180px}.animal-photo-wrap{height:96px}.animal-photo{width:96px!important;height:96px!important}.bet-dock{display:block;padding:7px 9px}.terminal-actions{grid-template-columns:repeat(6,1fr);width:100%;gap:4px;margin-bottom:7px}.terminal-key{height:32px;padding:0 2px}.terminal-key span{display:none}.terminal-key b{font-size:6px}.chip-area{display:block}.chips{justify-content:center}.bet-summary{margin-top:7px}.toast{bottom:184px}.preview-ribbon,.game-pause-banner{position:fixed;top:128px;max-width:calc(100% - 24px);white-space:nowrap}.settings-layout{display:block}.settings-panel{margin-bottom:12px}.settings-animals{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.report-list>div{grid-template-columns:36px 1fr 72px}.report-list p:last-child{display:none}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.page-heading{flex-wrap:wrap}.portal-content .portal-topbar{padding:0 14px}.bar-chart{height:180px}}

/* Reference terminal layout: board above, controls and result history below */
.game-app{grid-template-rows:72px minmax(0,1fr) 170px}
.game-topbar{grid-template-columns:minmax(175px,.9fr) minmax(125px,.62fr) auto minmax(125px,.58fr) minmax(225px,1fr);gap:16px;padding:0 20px}
.terminal-session,.top-transaction{display:grid;gap:3px;padding-left:16px;border-left:1px solid var(--line)}
.terminal-session small,.top-transaction small{color:#61728d;font-size:7px;font-weight:900;letter-spacing:.15em}
.terminal-session strong{font-size:11px;letter-spacing:.08em}.terminal-session time{color:#90a0b7;font-size:8px}
.top-transaction strong{font-size:18px;color:#d7f9fb}.top-transaction strong span{color:var(--cyan)}
.game-layout{display:block;min-height:0}.arena-panel{height:100%;padding:14px 22px 12px}.arena-heading{margin-bottom:10px}.arena-heading h1{font-size:22px}
.animal-grid{grid-template-columns:repeat(6,minmax(90px,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px}
.animal-photo-wrap{height:132px}.animal-photo{width:132px!important;height:132px!important}
.bet-dock{grid-template-columns:minmax(255px,300px) minmax(450px,1fr) minmax(390px,520px);align-items:stretch;gap:11px;padding:8px 14px}
.terminal-console{min-width:0;display:grid;grid-template-rows:36px 25px 1fr;gap:4px}
.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.quick-stats>span{min-width:0;display:grid;place-items:center;align-content:center;gap:2px;border:1px solid rgba(117,157,209,.18);border-radius:5px;background:linear-gradient(#162844,#0d1a2e)}.quick-stats small{color:#8293ad;font-size:6px;font-weight:800;letter-spacing:.06em}.quick-stats b{font-size:9px;color:#c9e8eb}.quick-stats em{font-style:normal}
.terminal-ticket-strip{min-width:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 8px;border:1px solid rgba(85,229,239,.2);border-radius:5px;background:linear-gradient(90deg,rgba(85,229,239,.1),rgba(19,35,58,.8));color:#d9f8fa;cursor:pointer}.terminal-ticket-strip:disabled{opacity:.42;cursor:not-allowed}.terminal-ticket-strip>span{min-width:0;display:flex;align-items:center;gap:7px}.terminal-ticket-strip small{flex:none;color:#72aeb8;font-size:6px;font-weight:900;letter-spacing:.1em}.terminal-ticket-strip strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.terminal-ticket-strip em{flex:none;padding:3px 5px;border-radius:4px;background:rgba(91,224,160,.1);color:var(--green);font-size:6px;font-style:normal;font-weight:900}
.terminal-actions{width:auto;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:4px}.terminal-key{height:auto;min-height:31px;border-radius:5px}.terminal-key b{font-size:7px}.terminal-key span{font-size:10px}.terminal-key--repeat{color:#d5f8e8;background:linear-gradient(#23634f,#163c32);border-color:rgba(91,224,160,.28)}.terminal-key--repeat span{color:#8ff0bd}
.wager-console{min-width:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:27px 1fr;column-gap:12px;align-items:center;padding:0 4px}
.wager-console__heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 4px}.wager-console__heading small{color:#71839e;font-size:7px;font-weight:900;letter-spacing:.14em}.wager-console__heading strong{color:#9dadc2;font-size:8px}
.wager-console .chip-area{display:block}.wager-console .chips{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.wager-console .bet-chip{width:100%;height:64px;border-radius:7px;border:1px solid rgba(193,224,248,.55);background:linear-gradient(180deg,#edf7ff,#8bb8d8);color:#092039;box-shadow:inset 0 1px rgba(255,255,255,.9),0 4px 10px rgba(0,0,0,.25)}
.wager-console .bet-chip::before{display:none}.wager-console .bet-chip small,.wager-console .bet-chip span{position:relative;z-index:1}.wager-console .bet-chip small{align-self:end;font-size:7px;font-weight:900;color:#49657d}.wager-console .bet-chip span{align-self:start;font-size:18px;color:#0a2d4d}
.wager-console .bet-chip:nth-child(2){background:linear-gradient(180deg,#f0f5ff,#a4bce2)}.wager-console .bet-chip:nth-child(3){background:linear-gradient(180deg,#ecfff8,#8fcbb6)}.wager-console .bet-chip:nth-child(4){background:linear-gradient(180deg,#f6efff,#b7a0d7)}.wager-console .bet-chip:nth-child(5){background:linear-gradient(180deg,#fff7e6,#d8b473)}.wager-console .bet-chip:nth-child(6){background:linear-gradient(180deg,#fff0f3,#d5a0aa)}
.wager-console .bet-chip.is-selected{transform:translateY(-3px);border-color:#fff78c;box-shadow:0 0 0 2px rgba(255,243,112,.85),0 7px 16px rgba(0,0,0,.32)}
.wager-console .bet-summary{display:grid;grid-template-rows:auto 38px;gap:6px;min-width:116px}.wager-console .bet-summary>div{text-align:center;min-width:0}.wager-console .bet-summary>div strong{font-size:18px}.wager-console .place-button{min-width:116px;height:38px;border-radius:6px;font-size:10px}
.bet-dock .history-panel{min-width:0;padding:7px 8px 8px;border:1px solid rgba(126,156,204,.12);border-radius:7px;background:linear-gradient(180deg,#0d1a2d,#081323)}
.bet-dock .side-heading{min-height:28px;margin:0 0 5px;align-items:center}.bet-dock .side-heading>div{display:flex;align-items:baseline;gap:8px}.bet-dock .side-heading h2{font-size:12px;margin:0}.bet-dock .side-heading .eyebrow{font-size:6px}.bet-dock .history-count{width:20px;height:20px;font-size:7px}
.bet-dock .history-list{display:grid;grid-template-columns:repeat(8,minmax(48px,1fr));gap:4px;overflow:hidden;padding:0;flex:1}
.bet-dock .history-item{min-width:0;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto;place-items:center;gap:2px;padding:4px 3px 3px;border-radius:5px;background:linear-gradient(180deg,rgba(238,246,255,.94),rgba(157,187,214,.94));color:#0a1c32;border-color:rgba(232,248,255,.7)}
.bet-dock .history-item--latest{box-shadow:inset 0 0 0 2px #77e7ef}.bet-dock .history-emoji{width:48px;height:48px;background:transparent}.bet-dock .history-emoji img{width:46px;height:46px}.bet-dock .history-item div{display:grid;justify-items:center;min-width:0}.bet-dock .history-item strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:7px;color:#13243a}.bet-dock .history-item small{display:none}.bet-dock .history-item time{width:100%;padding-top:2px;border-top:1px solid rgba(16,38,63,.18);text-align:center;color:#10243b;font-size:7px;font-weight:900}.bet-dock .history-empty{grid-column:1/-1;font-size:8px}.bet-dock .history-empty span{font-size:18px}.bet-dock .history-empty p{margin:2px}
.toast{bottom:180px}

@media(max-width:1250px){.game-topbar{grid-template-columns:170px 110px auto 110px minmax(185px,1fr);gap:9px;padding:0 14px}.round-meta{gap:14px;padding:0 14px}.player-name{display:none}.bet-dock{grid-template-columns:245px minmax(410px,1fr) minmax(335px,410px);padding-left:9px;padding-right:9px}.animal-photo-wrap{height:108px}.animal-photo{width:108px!important;height:108px!important}.bet-dock .history-list{grid-template-columns:repeat(6,minmax(45px,1fr))}.bet-dock .history-item:nth-child(n+7){display:none}}
@media(max-width:980px){.game-page{height:auto;min-height:100vh;overflow:auto}.game-app{height:auto;min-height:100vh;grid-template-rows:auto auto auto}.game-topbar{grid-template-columns:1fr auto auto;min-height:72px}.terminal-session,.top-transaction{display:none}.round-meta{grid-column:2}.player-meta{grid-column:3}.game-layout{min-height:620px}.bet-dock{grid-template-columns:260px minmax(430px,1fr);grid-template-rows:150px 140px}.bet-dock .history-panel{grid-column:1/-1;grid-row:2}.bet-dock .history-list{grid-template-columns:repeat(8,1fr)}.bet-dock .history-item:nth-child(n){display:grid}.animal-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,145px)}.animal-photo-wrap{height:86px}.animal-photo{width:86px!important;height:86px!important}}
@media(max-width:760px){.game-app{display:block;padding-bottom:0}.game-topbar{grid-template-columns:1fr auto;height:auto}.round-meta{grid-column:1/-1;grid-row:2}.player-meta{grid-column:2;grid-row:1}.game-layout{min-height:0}.arena-panel{height:auto;overflow:visible}.animal-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:none;height:auto;overflow:visible}.animal-card{height:176px}.bet-dock{position:relative;display:flex;flex-direction:column;padding:9px}.terminal-console{order:2;min-height:142px}.wager-console{order:1;grid-template-columns:1fr;grid-template-rows:auto auto auto}.wager-console__heading{margin-bottom:6px}.wager-console .bet-summary{grid-template-columns:1fr auto;grid-template-rows:44px;margin-top:7px}.wager-console .chips{gap:4px}.wager-console .bet-chip{height:50px}.wager-console .bet-chip span{font-size:13px}.bet-dock .history-panel{order:3;min-height:150px}.bet-dock .history-list{grid-template-columns:repeat(4,1fr);overflow:auto}.bet-dock .history-item:nth-child(n){display:grid}.toast{bottom:18px}.preview-ribbon,.game-pause-banner{top:128px}}

/* Image-only selection cards */
.animal-card{display:block;padding:5px}
.animal-card__top{position:absolute;z-index:3;top:9px;left:10px;width:auto}
.animal-photo-wrap{position:absolute;inset:5px;width:auto;height:auto;max-height:none}
.animal-photo{width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain}

/* Ticket desk: lookup, full ticket details and one-time claims */
.ticket-drawer>aside.ticket-info-panel{width:min(520px,96vw);padding:22px;background:linear-gradient(180deg,#101e34,#07111f 78%)}
.ticket-drawer__heading{margin-bottom:14px}.ticket-drawer__heading h2{font-size:24px}.ticket-drawer__heading p{margin:5px 0 0;color:#71819a;font-size:9px}.ticket-drawer__heading>button:hover{color:#fff;border-color:rgba(85,229,239,.35)}
.ticket-lookup{display:grid;gap:6px;margin-bottom:13px;padding:11px;border:1px solid rgba(85,229,239,.15);border-radius:10px;background:#0a1729}.ticket-lookup>label{color:#8091aa;font-size:7px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.ticket-lookup>div{display:grid;grid-template-columns:1fr auto;gap:7px}.ticket-lookup input{min-width:0;height:38px;padding:0 11px;border:1px solid rgba(137,164,207,.2);border-radius:7px;outline:0;background:#101f35;color:#eaf3ff;font:800 10px/1 inherit;text-transform:uppercase;letter-spacing:.05em}.ticket-lookup input:focus{border-color:rgba(85,229,239,.52);box-shadow:0 0 0 2px rgba(85,229,239,.07)}.ticket-lookup button{padding:0 13px;border:1px solid rgba(85,229,239,.25);border-radius:7px;background:linear-gradient(#187b87,#0f5661);color:#d9fcff;font-size:8px;font-weight:900;text-transform:uppercase;cursor:pointer}.ticket-lookup>small{color:#61718a;font-size:7px}.ticket-lookup>small.is-error{color:#ff909c}
.ticket-detail{margin-bottom:16px}.ticket-detail-empty{display:grid;place-items:center;gap:5px;min-height:95px;padding:18px;border:1px dashed rgba(136,163,203,.18);border-radius:10px;text-align:center;color:#6e7e96}.ticket-detail-empty span{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#14253d;color:var(--cyan);font-weight:900}.ticket-detail-empty p{max-width:260px;margin:0;font-size:8px;line-height:1.5}
.ticket-card{overflow:hidden;border:1px solid rgba(142,170,212,.18);border-radius:11px;background:#0b182a;box-shadow:0 12px 30px rgba(0,0,0,.18)}.ticket-detail--claimable .ticket-card{border-color:rgba(91,224,160,.38);box-shadow:0 0 0 2px rgba(91,224,160,.05),0 12px 30px rgba(0,0,0,.22)}.ticket-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;background:linear-gradient(90deg,#132641,#0e1c31)}.ticket-card>header div{display:grid;gap:3px}.ticket-card>header small,.ticket-card__meta small,.ticket-card__totals small,.ticket-result small{color:#687a96;font-size:6px;font-weight:900;letter-spacing:.13em}.ticket-card>header strong{font-size:12px;letter-spacing:.06em}.ticket-card>header>span{padding:5px 8px;border-radius:99px;background:rgba(149,166,190,.09);color:#aab5c5;font-size:7px;font-weight:900;text-transform:uppercase}.ticket-detail--claimable .ticket-card>header>span{background:rgba(91,224,160,.11);color:#76ecad}.ticket-detail--cancelled .ticket-card>header>span{background:rgba(255,107,121,.1);color:#ff9da7}.ticket-detail--claimed .ticket-card>header>span{background:rgba(85,229,239,.1);color:var(--cyan)}
.ticket-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;border-bottom:1px solid rgba(135,162,201,.1);background:rgba(135,162,201,.1)}.ticket-card__meta>span{display:grid;gap:3px;padding:9px 12px;background:#0b182a}.ticket-card__meta strong{font-size:8px}.ticket-result{display:flex;align-items:center;gap:9px;margin:10px 12px;padding:7px;border-radius:8px;background:rgba(85,229,239,.055)}.ticket-result img{width:38px;height:38px;object-fit:contain}.ticket-result span{display:grid;gap:3px}.ticket-result strong{font-size:10px}.ticket-result--pending{min-height:43px;color:#8191a7}
.ticket-selection-heading,.ticket-selection{display:grid;grid-template-columns:minmax(0,1fr) 52px 42px 60px;align-items:center;gap:6px}.ticket-selection-heading{padding:2px 13px 6px;color:#5e708b;font-size:6px;font-weight:900;letter-spacing:.09em}.ticket-selection-heading span:not(:first-child){text-align:right}.ticket-selection-list{border-top:1px solid rgba(137,164,204,.1);border-bottom:1px solid rgba(137,164,204,.1)}.ticket-selection{padding:7px 13px;border-bottom:1px solid rgba(137,164,204,.07);font-size:8px}.ticket-selection:last-child{border-bottom:0}.ticket-selection>span{display:flex;align-items:center;gap:7px;min-width:0}.ticket-selection img{width:27px;height:27px;object-fit:contain}.ticket-selection strong,.ticket-selection em,.ticket-selection>b{text-align:right}.ticket-selection em{color:#8b9ab0;font-style:normal}.ticket-selection--won{background:rgba(91,224,160,.045)}.ticket-selection--won>span b,.ticket-selection--won>b{color:#77e8ac}.ticket-selection--lost{opacity:.72}.ticket-selection--cancelled{opacity:.46;text-decoration:line-through}
.ticket-card__totals{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(137,164,204,.1)}.ticket-card__totals>span{display:grid;gap:3px;padding:10px 13px;background:#0c1a2d}.ticket-card__totals>span:last-child{text-align:right}.ticket-card__totals strong{font-size:16px}.ticket-card__totals em{color:#6e8099;font-size:6px;font-style:normal}.ticket-detail--claimable .ticket-card__totals>span:last-child strong{color:var(--green)}
.ticket-card__actions{display:flex;justify-content:flex-end;gap:7px;padding:10px 12px}.ticket-card__actions button{height:33px;padding:0 13px;border:1px solid rgba(141,167,207,.18);border-radius:7px;background:#14243a;color:#c4d0df;font-size:7px;font-weight:900;text-transform:uppercase;cursor:pointer}.ticket-card__actions button:hover{border-color:rgba(85,229,239,.4)}.ticket-card__actions .is-danger{color:#ffadb5;background:rgba(255,107,121,.08);border-color:rgba(255,107,121,.18)}.ticket-card__actions .is-claim{margin-left:auto;color:#052016;background:linear-gradient(135deg,#76edb0,#42bd81);border-color:#7df0b5;font-size:8px}.ticket-card__actions button:disabled{opacity:.55;cursor:wait}
.ticket-list-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 8px;color:#6f819b;font-size:7px;font-weight:900;letter-spacing:.12em}.ticket-list-heading small{font-size:7px;font-weight:700;letter-spacing:0}.ticket-row{width:100%;display:block;color:inherit;text-align:left;font:inherit;cursor:pointer}.ticket-row:hover,.ticket-row.is-selected{border-color:rgba(85,229,239,.27);background:#102039}.ticket-row--cancelled{opacity:.62}.ticket-row--claimable .ticket-row__top span{color:var(--green);background:rgba(91,224,160,.1)}.ticket-row--claimed .ticket-row__top span{color:var(--cyan);background:rgba(85,229,239,.09)}.ticket-row--lost .ticket-row__top span{color:#8a99af;background:rgba(138,153,175,.08)}
@media(max-width:560px){.ticket-drawer>aside.ticket-info-panel{width:100%;padding:16px}.ticket-selection-heading,.ticket-selection{grid-template-columns:minmax(0,1fr) 45px 35px 53px}.ticket-card__actions{flex-wrap:wrap}.ticket-card__actions .is-claim{width:100%;order:-1;margin:0}.ticket-lookup>div{grid-template-columns:1fr}.ticket-lookup button{height:34px}}

/* Centered ticket-information screen, matching the legacy game terminals */
.ticket-drawer__backdrop{background:rgba(3,6,12,.8);backdrop-filter:blur(7px)}
.ticket-drawer>aside.ticket-info-panel{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(1160px,calc(100vw - 38px));height:min(660px,calc(100vh - 34px));padding:15px 17px 12px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto 58px;overflow:hidden;border:2px solid #e8a93c;border-radius:12px;background:linear-gradient(145deg,#9c2b20,#721911);box-shadow:0 28px 95px rgba(0,0,0,.72),inset 0 0 45px rgba(255,139,52,.08)}
.ticket-info-panel .ticket-drawer__heading{display:grid;grid-template-columns:minmax(300px,1fr) auto 38px;align-items:center;gap:16px;margin:0 0 12px}.ticket-info-panel .ticket-drawer__heading h2{display:none}.ticket-info-panel .ticket-drawer__heading p{margin:3px 0 0;color:#ffd5bd;font-size:9px}.ticket-game-name{display:block;color:#ffd735;font-size:25px;font-weight:1000;letter-spacing:.02em;text-shadow:1px 2px 0 #42110e}.ticket-game-name small{color:#fff;font-size:15px}.ticket-date-filter{height:47px;display:flex;align-items:center;gap:10px;padding:6px 9px 6px 12px;border:2px solid #f1bd52;border-radius:8px;background:#661611;color:#ffe463}.ticket-date-filter span{font-size:10px;font-weight:900;text-transform:uppercase}.ticket-date-filter input{height:32px;padding:0 8px;border:0;border-radius:5px;outline:0;background:#fff7dd;color:#5a1d16;font-weight:800}.ticket-info-panel .ticket-drawer__heading>button{width:36px;height:36px;border:2px solid #f5be42;border-radius:5px;background:linear-gradient(#d72b23,#96130f);color:#ffe85b;font-size:23px;font-weight:900;box-shadow:0 2px 0 #50100d}
.ticket-scanner{display:grid;grid-template-columns:minmax(200px,1fr) minmax(320px,1.2fr) minmax(190px,.9fr);align-items:center;gap:12px;margin:0 0 10px;padding:8px 10px;border:2px solid #efbd51;border-radius:8px;background:#651510}.ticket-scanner>label{display:flex;align-items:center;gap:9px;color:#fff;cursor:text}.ticket-scanner>label>span:last-child{display:grid;gap:2px}.ticket-scanner label strong{color:#ffe55d;font-size:11px;text-transform:uppercase}.ticket-scanner label small{color:#ffd6c2;font-size:7px}.ticket-scanner__icon{width:31px;height:31px;display:grid;place-items:center;border:2px solid #ffe55d;border-radius:5px;color:#ffe55d;font-size:19px}.ticket-scanner>div{display:grid;grid-template-columns:1fr auto;gap:7px}.ticket-scanner input{height:38px;min-width:0;padding:0 12px;border:2px solid #ffb0a8;border-radius:5px;outline:0;background:#fff;color:#32100d;font:900 15px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em}.ticket-scanner input:focus{border-color:#ffe65f;box-shadow:0 0 0 3px rgba(255,226,79,.2)}.ticket-scanner button{height:38px;padding:0 18px;border:2px solid #f2c34f;border-radius:5px;background:linear-gradient(#e42d24,#a8120d);color:#fffbd1;font-size:10px;font-weight:1000;text-transform:uppercase;cursor:pointer}.ticket-scanner button:disabled{opacity:.5;cursor:wait}.ticket-scanner output{color:#ffd8c3;font-size:9px;font-weight:800}.ticket-scanner output.is-success{color:#87f5ba}.ticket-scanner output.is-error{color:#ffb3b3}
.ticket-table-shell{position:relative;min-height:0;overflow:auto;background:#fff;border:1px solid #ff9a9a}.ticket-info-table{width:100%;min-width:980px;border-collapse:collapse;color:#191919;background:#fff;font-size:11px}.ticket-info-table thead{position:sticky;top:0;z-index:2}.ticket-info-table th{height:36px;padding:7px 9px;border-right:1px solid #fff1f1;background:#ffb9b7;color:#d82727;text-align:center;font-size:11px;font-weight:900}.ticket-info-table td{height:40px;padding:6px 9px;border-right:1px solid #ffadad;border-bottom:1px solid #ffadad;text-align:center;white-space:nowrap}.ticket-info-table th:first-child,.ticket-info-table td:first-child{text-align:left}.ticket-info-table th:last-child,.ticket-info-table td:last-child{border-right:0}.ticket-info-table .ticket-row{display:table-row;width:auto;color:#111;background:#fff;cursor:pointer}.ticket-info-table .ticket-row:nth-child(even){background:#fffafa}.ticket-info-table .ticket-row:hover{background:#e8f7ff}.ticket-info-table .ticket-row.is-selected{background:#b8eaff;box-shadow:inset 4px 0 #1a9ec7}.ticket-info-table .ticket-row:focus{outline:2px solid #1a9ec7;outline-offset:-2px}.ticket-info-table td:first-child strong{display:block;font-size:11px;letter-spacing:.04em}.ticket-info-table td:first-child small{display:block;margin-top:2px;color:#787878;font-size:7px}.ticket-result-cell{display:inline-flex;align-items:center;justify-content:center;gap:5px}.ticket-result-cell img{width:25px;height:25px;object-fit:contain}.ticket-result-cell b{font-size:9px}.ticket-status-pill{display:inline-block;padding:4px 7px;border-radius:99px;background:#ebeff3;color:#505a65;font-size:7px;font-weight:900;text-transform:uppercase}.ticket-row--claimable .ticket-status-pill{background:#ccf5dd;color:#087b43}.ticket-row--claimed .ticket-status-pill{background:#d8f4f7;color:#087785}.ticket-row--cancelled .ticket-status-pill{background:#ffe0e2;color:#b52331}.ticket-table-empty{position:absolute;inset:37px 0 0;display:grid;place-items:center;color:#747474;background:#fff;font-size:13px}.ticket-table-empty[hidden]{display:none}
.ticket-selected-note{display:flex;align-items:center;justify-content:center;min-height:30px;color:#ffd9c7;font-size:9px;font-weight:800}.ticket-modal-actions{display:grid;grid-template-columns:repeat(3,minmax(150px,225px));justify-content:center;align-items:end;gap:24px}.ticket-modal-action{height:45px;border:4px solid #f0b43d;border-radius:7px;background:linear-gradient(#e2211b,#a90000);color:#130707;font-size:18px;font-weight:1000;text-transform:uppercase;box-shadow:0 3px 0 #5a130e,inset 0 1px rgba(255,255,255,.28);cursor:pointer}.ticket-modal-action:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.ticket-modal-action--claim:not(:disabled){background:linear-gradient(#65e59d,#1caa64);color:#052415}.ticket-modal-action:disabled{filter:grayscale(1);opacity:.42;cursor:not-allowed}
.receipt-lines>div{display:grid;grid-template-columns:12mm minmax(0,1fr) auto;align-items:center;gap:2mm}.receipt-lines>div>img{width:11mm;height:11mm;object-fit:contain;filter:grayscale(1) contrast(1.25)}.receipt-notice{margin-top:3mm;padding:2.5mm 1mm;border-top:2px solid #000;border-bottom:2px solid #000;text-align:center}.receipt-notice strong,.receipt-notice span{display:block}.receipt-notice strong{font-size:12px;letter-spacing:.04em}.receipt-notice span{margin-top:1mm;font-size:14px;font-weight:1000;letter-spacing:.12em}
@media(max-width:820px){.ticket-drawer>aside.ticket-info-panel{width:calc(100vw - 16px);height:calc(100vh - 16px);padding:11px;grid-template-rows:auto auto minmax(0,1fr) auto 52px}.ticket-info-panel .ticket-drawer__heading{grid-template-columns:1fr 34px}.ticket-date-filter{grid-column:1/-1;grid-row:2;height:42px;justify-content:space-between}.ticket-info-panel .ticket-drawer__heading>button{grid-column:2;grid-row:1}.ticket-game-name{font-size:18px}.ticket-game-name small{font-size:11px}.ticket-scanner{grid-template-columns:1fr;margin-bottom:7px;padding:7px}.ticket-scanner>label{display:none}.ticket-scanner>div{grid-template-columns:1fr auto}.ticket-scanner output{min-height:12px}.ticket-modal-actions{grid-template-columns:repeat(3,1fr);gap:7px}.ticket-modal-action{height:40px;border-width:3px;font-size:12px}}

/* Filterable and expandable round/report ledgers */
.ledger-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) minmax(190px,1.35fr) auto auto;align-items:end;gap:10px;margin-bottom:16px;padding:13px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,rgba(18,31,52,.92),rgba(11,21,38,.95))}.ledger-filters--reports{grid-template-columns:repeat(2,minmax(150px,.7fr)) minmax(220px,1.4fr) auto auto}.ledger-filters label{display:grid;gap:6px}.ledger-filters label>span{color:#6e7e97;font-size:7px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.ledger-filters input,.ledger-filters select{width:100%;height:39px;padding:0 10px;border:1px solid rgba(147,171,218,.18);border-radius:7px;outline:0;background:#0c192b;color:#dce7f6;font-size:10px}.ledger-filters input:focus,.ledger-filters select:focus{border-color:rgba(85,229,239,.55);box-shadow:0 0 0 2px rgba(85,229,239,.07)}.ledger-filters .primary-button{height:39px;white-space:nowrap}.filter-reset{height:39px;display:grid;place-items:center;padding:0 10px;color:#8493a9;font-size:9px}.filter-reset:hover{color:#fff}.round-ledger-shell{min-width:0;overflow:auto;border:1px solid rgba(147,171,218,.09);border-radius:10px;background:#091525}.round-ledger-head,.round-ledger-entry>summary{min-width:1080px;display:grid;grid-template-columns:1.08fr 1.08fr 1.2fr .55fr 1.1fr .9fr .76fr;align-items:center;gap:12px}.round-ledger-head{padding:10px 13px;color:#64738c;background:#0d1a2d;font-size:7px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.round-ledger-entry{border-top:1px solid rgba(147,171,218,.09)}.round-ledger-entry>summary{min-height:64px;padding:8px 13px;list-style:none;cursor:pointer;transition:.15s}.round-ledger-entry>summary::-webkit-details-marker{display:none}.round-ledger-entry>summary:hover{background:#102039}.round-ledger-entry[open]>summary{background:#13243a;box-shadow:inset 3px 0 var(--cyan)}.round-ledger-entry>summary>span{min-width:0;display:grid;gap:3px}.round-ledger-entry>summary strong{font-size:10px}.round-ledger-entry>summary small{overflow:hidden;color:#64738c;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.round-ledger-entry .table-animal{display:grid;grid-template-columns:34px minmax(0,1fr)}.round-ledger-entry .table-animal img{width:32px;height:32px}.round-entry-toggle{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--cyan);font-size:8px}.round-entry-toggle i,.round-entry-toggle em{font-style:normal}.round-entry-toggle em{display:none}.round-entry-toggle span{font-size:14px;transition:.2s}.round-ledger-entry[open] .round-entry-toggle i{display:none}.round-ledger-entry[open] .round-entry-toggle em{display:inline}.round-ledger-entry[open] .round-entry-toggle span{transform:rotate(180deg)}.round-ledger-detail{min-width:1080px;padding:14px 15px 16px;border-top:1px solid rgba(85,229,239,.12);background:#07111f}.round-detail-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:13px}.round-detail-stats>span{display:grid;gap:5px;padding:10px;border:1px solid rgba(147,171,218,.09);border-radius:8px;background:#0c192b}.round-detail-stats small{color:#60718b;font-size:6px;font-weight:900;letter-spacing:.12em}.round-detail-stats strong{font-size:9px}.round-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.round-detail-grid>section{min-width:0;padding:12px;border:1px solid rgba(147,171,218,.09);border-radius:9px;background:#0a1728}.round-detail-grid h3{margin:0 0 11px;font-size:12px}.table-subline{display:block;margin-top:2px;color:#65758d;font-size:7px}.bar-chart{overflow-x:auto}
@media(max-width:1100px){.ledger-filters{grid-template-columns:repeat(3,1fr)}.ledger-filter-search{grid-column:span 2}.ledger-filters--reports{grid-template-columns:repeat(2,1fr)}.ledger-filters--reports .ledger-filter-search{grid-column:span 2}}
@media(max-width:620px){.ledger-filters,.ledger-filters--reports{grid-template-columns:1fr 1fr}.ledger-filter-search,.ledger-filters--reports .ledger-filter-search{grid-column:1/-1}.ledger-filters .primary-button{grid-column:1}.round-detail-grid{grid-template-columns:1fr}.round-detail-stats{grid-template-columns:repeat(2,1fr)}}

/* Twelve-card board: six cards per row, image-only buttons. */
.animal-grid{align-self:center;justify-self:center;width:min(100%,1400px,calc(300vh - 948px));height:auto;aspect-ratio:3/1;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:3px;overflow:visible}
.animal-card{width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:7px;background:#fff;box-shadow:0 8px 18px rgba(0,0,0,.24)}
.animal-card::after,.animal-card__halo,.animal-card__top{display:none}
.animal-photo-wrap{position:absolute;inset:0;width:auto;height:auto;max-height:none;overflow:hidden}
.animal-photo{width:100%!important;height:100%!important;max-width:none;max-height:none;object-fit:fill;filter:none}
.animal-card:hover .animal-photo{transform:none}
.pending-badge{z-index:6;left:50%;top:50%;min-width:88px;padding:10px 16px;transform:translate(-50%,-50%);border:3px solid #ffe46d;border-radius:12px;background:rgba(5,15,31,.94);color:#fff8c9;font-size:clamp(19px,2vw,28px);font-weight:1000;line-height:1;text-align:center;text-shadow:0 2px 2px #000;box-shadow:0 0 0 3px rgba(5,15,31,.5),0 8px 25px rgba(0,0,0,.6),0 0 28px rgba(255,216,63,.48)}
.animal-grid.is-result-cycling .animal-card.is-result-highlight{border-color:#ffe265;box-shadow:inset 0 0 0 4px #ffe263,0 0 0 3px rgba(255,189,45,.35),0 0 34px rgba(255,197,49,.8)}
@media(max-width:980px){.animal-grid{width:100%;aspect-ratio:3/1;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.animal-card{height:100%}.animal-photo-wrap{height:auto}.animal-photo{width:100%!important;height:100%!important}}
@media(max-width:760px){.animal-grid{width:100%;aspect-ratio:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,170px);gap:5px}.animal-card{height:170px}.animal-photo-wrap{height:auto}}
