:root{color-scheme:dark;--bg:#0e1717;--ink:#f2eee2;--muted:#a0b3ab;--gold:#dfbd79;--line:#ffffff16}*{box-sizing:border-box}body{ margin:0; background:radial-gradient(ellipse at 50% 25%,#223b32,transparent 65%),var(--bg); color:var(--ink); font-family:'Trebuchet MS',sans-serif; min-height:100vh; }
body.racing{ background:#080c10; }
body.racing::before{ background:radial-gradient(ellipse at 20% 30%, rgba(255,107,0,0.06) 0%, transparent 50%), radial-gradient(ellipse at 80% 70%, rgba(200,100,50,0.04) 0%, transparent 50%); }
button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #f4d98f;outline-offset:4px}a{color:inherit;text-decoration:none}.topbar{min-height:88px;border-bottom:1px solid var(--line);padding:20px 5%;display:flex;align-items:center;gap:32px}.topbar>a:nth-child(2){margin-left:auto;font-size:13px;color:var(--muted)}.brand{font-size:26px;font-weight:900;letter-spacing:-1px}.brand span{color:var(--gold)}.brand small{display:block;font-size:8px;letter-spacing:3.3px;margin-top:4px;color:var(--muted)}.tag{font-size:10px;letter-spacing:1.4px;border:1px solid #ffffff25;border-radius:20px;padding:9px 12px;white-space:nowrap}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:2.4px;font-weight:bold}.muted{color:var(--muted);font-size:13px;line-height:1.7}.primary,.secondary,.actions button{padding:13px 22px;border:1px solid #dcc18860;border-radius:7px;background:var(--gold);color:#1a261e;font-weight:bold;transition:transform .15s,background .15s}.primary:hover:not(:disabled){background:#f2d797;transform:translateY(-2px)}.secondary,.actions .secondary{background:#ffffff09;color:var(--ink);border-color:#ffffff25}.text-link{font-size:12px;color:var(--gold)}.game-wrap{max-width:1280px;margin:auto;padding:32px 32px 24px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px}.game-heading h1{font-family:Georgia,serif;font-weight:400;font-size:42px;letter-spacing:-1.5px;margin:8px 0}.game-heading p{color:var(--muted);margin:0;font-size:13px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px}.table{border:1px solid #dbbc7445;box-shadow:inset 0 0 0 7px #00000015,0 18px 60px #0004;border-radius:30px;background:radial-gradient(ellipse at 50% 35%,#26736355,transparent 70%),repeating-linear-gradient(45deg,#ffffff02 0 1px,transparent 1px 4px),#165347;padding:25px;min-height:510px;position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;overflow:hidden}.opponent{display:flex;align-items:center;gap:10px;font-size:12px}.avatar{width:37px;height:37px;display:grid;place-items:center;border:1px solid #d8c08e88;border-radius:50%;background:#0c352b;font-family:Georgia,serif;color:var(--gold);font-size:20px}.opponent small{display:block;color:#b7d2c3;font-size:10px;margin-top:4px}.hand{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;max-width:100%;padding:8px 0}.card{border:1px solid #dbd5c3;border-radius:7px;width:70px;height:100px;flex-shrink:0;padding:7px;background:linear-gradient(130deg,#fffef7,#e9e4d7);color:#192c2c;font-family:Georgia,serif;font-size:19px;font-weight:bold;box-shadow:0 4px 8px #0003;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;position:relative;transition:transform .17s}.card .suit{font-size:27px;align-self:center}.card .corner{transform:rotate(180deg);align-self:flex-end;font-size:13px}.card.red{color:#bc423a}.card.back{background:repeating-linear-gradient(45deg,#d7bc7720 0 1px,transparent 1px 7px),#173f36;border:3px solid #d7c28d;box-shadow:inset 0 0 0 3px #173f36,inset 0 0 0 4px #d7bc7755,0 4px 8px #0003;align-items:center;justify-content:center;color:#d7bc77;font-size:30px}.card:disabled{opacity:1}.card.selected{transform:translateY(-10px);outline:3px solid var(--gold)}button.card:hover:not(:disabled){transform:translateY(-7px)}.mini-hand .card{width:42px;height:59px;font-size:17px}.table-center{display:flex;align-items:center;justify-content:center;gap:35px;flex:1;width:100%;min-height:130px}.played{display:flex;gap:18px;align-items:center;justify-content:center}.card-slot{width:70px;height:100px;border:1px dashed #e5e5ca55;border-radius:7px;display:grid;place-items:center;color:#bdd3c066;font-size:11px}.pile-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:#c0d7ca;margin:9px 0;text-align:center}.status{background:#092f2877;border:1px solid #ffffff15;border-radius:8px;padding:11px 16px;text-align:center;min-height:43px;font-size:13px;line-height:1.5;width:100%;color:#f4ead3}.actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.side-panel{background:#ffffff03;border:1px solid var(--line);padding:22px;border-radius:14px;align-self:start}.side-panel h2{font-size:12px;text-transform:uppercase;letter-spacing:1.8px;margin:0 0 22px}.score-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.score-row strong{font-size:30px;font-family:Georgia,serif;color:var(--gold)}.side-note{font-size:12px;line-height:1.8;color:var(--muted)}.round-dots{font-size:13px;color:var(--gold);margin:17px 0;line-height:1.8}.rules{margin-top:22px;border-top:1px solid var(--line);padding-top:18px;font-size:13px;line-height:1.8;color:var(--muted)}summary{color:var(--ink);cursor:pointer}.rules ul{padding-left:20px}.game-footer{display:flex;justify-content:space-between;gap:15px;margin:20px 0;font-size:11px;color:var(--muted)}.melds{display:flex;flex-wrap:wrap;gap:10px;width:100%;min-height:42px}.meld{border:1px solid #b6c99a55;border-radius:6px;background:#082f2477;padding:8px;color:var(--ink);font-size:12px;line-height:1.7;max-width:100%;overflow-wrap:anywhere}.meld.clean{border-color:#e0c079}.buraco-table{gap:12px}.buraco-table .hand{gap:5px}.buraco-table .hand .card{width:54px;height:79px;font-size:15px}.buraco-table .hand .suit{font-size:22px}.buraco-table .table-center{flex:initial;min-height:100px}.table-label{align-self:flex-start;color:#c2d7c8;font-size:9px;letter-spacing:2px}.racing{--gold:#bded67;--bg:#101619;--muted:#91a0a5;background:radial-gradient(ellipse at 50% 50%,#20303a55,transparent 65%),#101619}.race-layout{max-width:1440px;display:grid;grid-template-columns:1fr minmax(300px,450px) .65fr;gap:5%;align-items:center;margin:auto;padding:40px 5%}.race-intro h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(65px,7.5vw,112px);line-height:.88;letter-spacing:-2px;font-weight:400;margin:26px 0}.race-intro h1 em{font-style:normal;color:var(--gold)}.race-intro>p{line-height:1.6;font-size:18px}.race-intro .muted{font-size:13px;max-width:265px}.intro-line{width:46px;height:3px;background:var(--gold);margin:25px 0}.instructions{margin:30px 0;font-size:11px;color:var(--muted);line-height:1.8}.instructions b{color:#d6dee0;font-size:10px;letter-spacing:1.8px}kbd{display:inline-block;border:1px solid #ffffff30;padding:2px 7px;border-radius:4px;color:#e1e9e9;font-size:11px}.race-machine{border:1px solid #ffffff25;border-radius:18px;background:#162126;box-shadow:0 24px 90px #0007;overflow:hidden;width:100%}.race-hud{display:flex;align-items:center;justify-content:space-between;padding:16px 22px}.race-hud small{font-size:9px;letter-spacing:1.5px;color:var(--muted);display:block}.race-hud strong{font-size:27px;display:block;margin-top:5px;font-variant-numeric:tabular-nums}.race-hud i{font-size:14px;font-style:normal;color:var(--gold)}.icon-btn{background:#ffffff0a;border:1px solid #ffffff25;border-radius:50%;width:40px;height:40px;color:#fff}.track{position:relative}canvas{display:block;width:100%;height:auto}.race-overlay{position:absolute;inset:0;background:linear-gradient(#101c2477,#101c24ee);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px}.race-overlay[hidden]{display:none}.race-overlay h2{font-family:Impact,'Arial Narrow',sans-serif;font-size:48px;letter-spacing:1px;font-weight:400;margin:22px 0}.race-overlay p{font-size:12px;color:#b3c2c5;line-height:1.6}.race-overlay button{margin-top:20px}.drive-controls{display:flex;align-items:center;justify-content:space-between;padding:12px;gap:10px}.drive-controls button{touch-action:none;background:#26343a;color:#d7e7eb;border:1px solid #ffffff22;width:58px;height:42px;border-radius:7px;font-size:25px;user-select:none}.drive-controls span{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.drive-controls b{color:var(--gold)}.record{border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;padding:27px 0}.record strong{display:block;font-family:Impact,'Arial Narrow',sans-serif;font-size:60px;font-weight:400;margin:12px 0 0}.record>span:last-of-type{font-size:9px;letter-spacing:3px;color:var(--muted)}.race-tip{margin:38px 0}.race-tip span{color:var(--gold);font-size:9px;letter-spacing:2px}.race-tip h3{font-family:Georgia,serif;font-size:26px;font-weight:400}.race-tip p{font-size:12px;line-height:1.8;color:var(--muted)}@media(max-width:1000px){.race-aside{display:none}.race-layout{grid-template-columns:1fr minmax(300px,440px)}.game-layout{grid-template-columns:minmax(0,1fr) 205px}.game-wrap{padding:24px 20px}.table{padding:18px}}@media(max-width:650px){.topbar{padding:15px 20px;min-height:72px;gap:12px}.topbar .tag{display:none}.game-wrap{padding:22px 12px}.game-heading h1{font-size:31px}.game-heading .secondary{padding:10px;font-size:11px}.game-heading p{font-size:11px}.game-layout{display:flex;flex-direction:column;gap:15px}.side-panel{width:100%;padding:16px}.score-row{display:inline-flex;width:48%;gap:10px;padding:8px}.side-panel h2{margin-bottom:6px}.table{padding:16px 10px;border-radius:19px;min-height:485px}.table-center{gap:20px}.game-footer{flex-wrap:wrap}.race-layout{display:flex;flex-direction:column;padding:24px 16px;gap:24px}.race-intro{width:100%}.race-intro h1{font-size:54px;margin:10px 0}.race-intro h1 br{display:none}.race-intro>p,.race-intro .intro-line,.race-intro .instructions,.race-intro .text-link{display:none}.race-machine{max-width:400px}.race-hud{padding:12px 20px}.race-overlay h2{font-size:40px}.buraco-table .hand .card{width:43px;height:66px;font-size:13px;padding:4px}.buraco-table .hand .suit{font-size:18px}.actions button{padding:11px 12px;font-size:12px}.buraco-table .table-center{gap:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ── Blitz Rush Turbo Bar ── */
.turbo-bar-container {
    display:flex; align-items:center; gap:12px; padding:8px 16px;
    background:#1a1a2e; border:1px solid #2a2a40; border-radius:12px;
    margin:0 0 8px 0; max-width:480px;
}
.turbo-label { font-family:'Bebas Neue',sans-serif; font-size:10px; color:#8888aa; text-transform:uppercase; letter-spacing:1px; white-space:nowrap; }
.turbo-label small { color:#ff6b00; }
.turbo-bar-bg { flex:1; height:14px; background:#0d0d15; border-radius:7px; overflow:hidden; border:1px solid #2a2a40; }
.turbo-bar-fill { height:100%; width:100%; border-radius:7px; transition:width 0.1s, background 0.3s; background:linear-gradient(90deg,#00ff88,#00cc66); }
.turbo-bar-fill.active { background:linear-gradient(90deg,#ffd600,#ff6b00); animation:pulse 0.5s infinite alternate; }
.turbo-bar-fill.cooldown { background:linear-gradient(90deg,#444,#555); }
@keyframes pulse { 0%{opacity:0.7} 100%{opacity:1} }
.combo-display { font-family:'Bebas Neue',sans-serif; font-size:14px; color:#ff6b00; white-space:nowrap; min-width:60px; text-align:right; }
.turbo-btn-fire { background:linear-gradient(135deg,#ffd600,#ff6b00) !important; color:#000 !important; border-color:#ffd600 !important; font-weight:bold; }
.race-tip { margin-top:6px; font-size:12px; color:#8888aa; }
.race-tip strong { color:#ffd600; }
#scoreDisplay { color:#ffd600; }
/* ── End Blitz Rush Turbo Bar ── */
