
:root{font-family:Arial,sans-serif;color:#eef5ff;background:#071322;font-size:16px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -30%,#244463 0,#0b1c2c 52%,#071322 100%)}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.shell{max-width:1720px;margin:auto;padding:18px clamp(12px,2vw,32px) 40px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.brand{display:flex;align-items:center;gap:12px}.brandmark{background:#f6bf4c;color:#102234;font:700 28px Arial;padding:3px 12px;transform:skew(-8deg);box-shadow:4px 4px 0 #c66f2c}.brand span{display:block;font:700 20px Arial;letter-spacing:.09em}.brand small,.muted{color:#9db2c5;font-size:13px}.wallet{border:1px solid #587b89;background:#102737;padding:9px 15px;border-radius:9px;color:#f6cb64;font-weight:700;white-space:nowrap}.layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(330px,1fr);gap:18px}.stage-card,.bet-card,.results{border:1px solid #9bcfab;background:#0c1d2d;box-shadow:0 16px 40px #0005;border-radius:16px;overflow:hidden}.stage-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 17px;background:#132d3d;border-bottom:1px solid #9bcfab}.stage-head strong{font:700 21px Arial;letter-spacing:.07em}.badge{font:700 14px Arial;color:#0b1b2a;background:#f5c554;border-radius:4px;padding:5px 9px;letter-spacing:.06em}.viewport{position:relative;aspect-ratio:1.83;min-height:380px;overflow:hidden;background:#599368}canvas{display:block;width:100%;height:100%}.race-overlay{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.readout{background:#091725db;border:1px solid #a9d9b2;padding:8px 12px;border-radius:7px;font:700 19px Arial;letter-spacing:.04em;color:#ffe196}.route-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:9px 12px;background:#132936;border-bottom:1px solid #9bcfab}.route-step{min-width:0;padding:6px 4px;border-radius:5px;background:#1c3949;color:#a9c0c8;text-align:center;font:700 11px Arial}.route-step strong{display:block;font:700 14px Arial;color:#eff7f1}.route-step.active{background:#f3be52;color:#102332}.route-step.active strong{color:#102332}.route-step.done{background:#477765;color:#fff}.track-note{padding:11px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#bcd1d9;font-size:13px}.track-note b{color:#f7cb69}.bet-card{padding:17px;align-self:start}.bet-card h1{font:700 clamp(25px,3vw,33px) Arial;line-height:1;margin:2px 0 4px;letter-spacing:.04em}.bet-card p{font-size:13px;line-height:1.45;color:#aac0ce;margin:0 0 13px}.section-label{display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px;font:700 15px Arial;letter-spacing:.06em;color:#e8d395}.odds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pair{position:relative;border:1px solid #8bbda2;background:#163249;color:#f2f5f8;border-radius:7px;min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:7px 9px;transition:background .15s,transform .15s}.pair:hover:not(:disabled){transform:translateY(-2px);background:#234867}.pair.selected{border-color:#f6cb66;background:#4c3d1d;box-shadow:inset 0 0 0 1px #f6cb66,0 0 12px #e3ae3a55}.pair.has-bet{padding-bottom:19px}.wager{position:absolute;left:7px;bottom:3px;color:#ffe6a8;font:700 11px Arial}.wager[hidden]{display:none}.pair .nums{font:700 21px Arial;white-space:nowrap}.pair .mult{font:700 20px Arial;color:#ffcf54}.chips{display:flex;gap:7px}.chip{flex:1;border:1px solid #90c8a8;border-radius:50px;background:#153649;color:#e7f5ff;font:700 16px Arial;min-height:40px}.chip.selected{background:#f4c257;color:#152330;border-color:#fff4b7;box-shadow:0 0 0 2px #f4c25755}.ticket{margin-top:16px;background:#0a1825;border:1px dashed #6c8794;border-radius:9px;padding:11px 13px;min-height:77px}.ticket-top{display:flex;justify-content:space-between;gap:8px;color:#9eb3be;font-size:13px}.ticket-value{font:700 23px Arial;color:#fff1c7;margin-top:5px}.action{width:100%;min-height:49px;margin-top:11px;background:#f5bd45;color:#162738;border:0;border-radius:8px;font:700 19px Arial;letter-spacing:.06em;box-shadow:0 4px 0 #a76124}.action:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #a76124}.action.cancel{background:#bb5160;color:#fff2ee;box-shadow:0 4px 0 #68323d}.selection-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.selection-list span{font:700 12px Arial;color:#ffe6ad;background:#263b45;border-radius:4px;padding:4px 6px}.slip{min-height:22px;margin-top:12px;color:#bcd2dd;font-size:13px;line-height:1.4}.results{margin-top:16px;padding:14px 17px}.results-head{display:flex;align-items:center;justify-content:space-between;font:700 19px Arial;letter-spacing:.06em}.results-head small{font:700 12px Arial;color:#91aab9;letter-spacing:0}.history{display:flex;gap:8px;overflow:auto;margin-top:10px}.history-item{border:1px solid #91c8a7;background:#142d40;border-radius:6px;min-width:86px;padding:8px;text-align:center;font:700 19px Arial}.history-item small{display:block;font:700 11px Arial;color:#9fb6c1;margin-top:3px}.legend{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.horse-label{font:700 13px Arial;border-radius:4px;padding:4px 8px;color:#081725}.footer{margin-top:13px;color:#849eac;font-size:12px;line-height:1.5}@media(max-width:900px){.layout{grid-template-columns:1fr}.viewport{aspect-ratio:1.75}.bet-card{order:2}.shell{padding-top:10px}}@media(max-width:560px){.top{align-items:flex-start}.brand span{font-size:16px}.brandmark{font-size:22px}.wallet{font-size:13px;padding:8px}.viewport{aspect-ratio:1.3;min-height:340px}.odds{gap:5px}.pair{padding:6px;min-height:49px}.pair .nums,.pair .mult{font-size:17px}.race-overlay{left:9px;right:9px;top:9px}.readout{font-size:14px;padding:6px 8px}.route-timeline{gap:2px;padding:6px 4px}.route-step{font-size:10px;padding:4px 1px}.route-step strong{font-size:12px}.track-note{font-size:12px;align-items:flex-start}}

.rank-panel{position:absolute;z-index:3;top:13px;right:13px;display:flex;gap:5px;pointer-events:none}.rank{display:flex;align-items:center;gap:4px;border:1px solid #c9d6c5aa;border-radius:6px;background:#0b2537dc;padding:4px 5px}.rank.first{border-color:#ffcf67}.rank em{font:700 14px Arial;font-style:normal;color:#f9dd91}.rank b{display:grid;place-items:center;width:23px;height:23px;border-radius:4px;color:#071c27;font:700 17px Arial}
.splash{position:fixed;inset:0;z-index:100;overflow:hidden;background:#0c2230;display:grid;place-items:center;transition:opacity .6s ease,visibility .6s ease}.splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-photo{position:absolute;inset:0;background:url('assets/loading-horses.webp') center / cover no-repeat;animation:splashZoom 3.5s ease-out both}.splash:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#081622dd 0%,transparent 35%,#0b293622 100%);pointer-events:none}.splash-wind,.splash-dust{position:absolute;inset:-30%;pointer-events:none}.splash-wind{background:repeating-linear-gradient(175deg,transparent 0 55px,#fff6d71a 56px 58px,transparent 60px 95px);animation:windDrift 2s linear infinite}.splash-dust{background:radial-gradient(circle at 10% 77%,#ebc28270 0 2px,transparent 4px),radial-gradient(circle at 33% 70%,#f5d19460 0 3px,transparent 6px),radial-gradient(circle at 63% 82%,#d9a56e70 0 2px,transparent 5px),radial-gradient(circle at 82% 68%,#f6c89280 0 4px,transparent 8px);background-size:220px 150px;animation:dustDrift 1.6s linear infinite}.splash-bottom{position:absolute;z-index:2;bottom:max(7vh,28px);width:min(460px,82vw);display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center;color:#ffe6ae;text-shadow:0 2px 5px #000;font:700 17px Arial;letter-spacing:.07em}.splash-bottom strong{grid-column:1/3;text-align:center;font-size:clamp(30px,5vw,52px);letter-spacing:.18em}.loading-track{height:13px;border:2px solid #f3d491;border-radius:20px;background:#071c2b;overflow:hidden;box-shadow:0 0 20px #0009}.loading-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#d9813c,#ffcf61,#fff2af);transition:width .08s linear}.splash-bottom>span{text-align:right}@keyframes splashZoom{from{transform:scale(1.055)}to{transform:scale(1)}}@keyframes windDrift{from{transform:translateX(-7%)}to{transform:translateX(7%)}}@keyframes dustDrift{from{transform:translate(-6%,3%)}to{transform:translate(9%,-4%)}}@media(max-width:600px){.splash-photo{background-size:contain;background-color:#102738}.rank-panel{top:8px;right:8px}.rank{padding:2px 3px}.rank b{width:21px;height:21px}}

.betting-visual[hidden],.result-overlay[hidden]{display:none}.betting-visual{position:absolute;inset:0;z-index:4;background:#183447 url('assets/loading-horses.webp') center/cover no-repeat;display:flex;justify-content:center;text-align:center}.betting-visual:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#081c2be8 0%,#0c2b3b77 34%,transparent 68%,#07192777 100%)}.betting-top{position:relative;z-index:1;padding-top:clamp(14px,4%,34px);display:flex;align-items:center;flex-direction:column;gap:0}.betting-caption{font:700 clamp(16px,2.9vw,25px) Arial;letter-spacing:.07em;color:#fff4cc;text-shadow:0 3px 10px #000}.betting-count{font:700 clamp(86px,15vw,160px)/.9 Arial;color:#ffda70;-webkit-text-stroke:2px #57371b;text-shadow:0 5px 0 #674326,0 11px 25px #000;min-width:2ch}.betting-visual.closing:before{background:linear-gradient(180deg,#310f18eb 0%,#4b182077 40%,transparent 78%)}.betting-visual.closing .betting-caption{color:#ffe3dd;max-width:90%;font-size:clamp(17px,2.7vw,25px);line-height:1.12}.betting-visual.closing .betting-count{color:#ff4d49;-webkit-text-stroke:2px #4b0813;text-shadow:0 5px 0 #7c1c26,0 0 28px #ff463bcc;animation:urgentPulse .75s ease-in-out infinite alternate}@keyframes urgentPulse{to{transform:scale(1.06)}}
.result-overlay{position:absolute;inset:0;z-index:8;background:#06131edb;display:grid;place-items:center;padding:clamp(8px,2vw,20px);backdrop-filter:blur(5px)}.result-card{width:min(680px,100%);min-height:min(340px,96%);display:grid;grid-template-columns:42% 58%;border:2px solid #d3ad5a;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 20% 28%,#517666 0,#193a42 40%,#0c2133 100%);box-shadow:0 12px 40px #000c,inset 0 0 0 3px #f2d68122}.result-art{position:relative;display:grid;place-items:center;background:radial-gradient(circle at 45% 52%,#cfb16666,transparent 62%);overflow:hidden}.result-art img{width:120%;height:95%;object-fit:contain;filter:drop-shadow(0 12px 12px #0008);animation:horseReveal .8s ease-out both}.result-art>span{position:absolute;left:13%;bottom:12%;display:grid;place-items:center;width:52px;height:52px;border:3px solid #ffe5a6;border-radius:12px;color:#122330;font:700 38px Arial;box-shadow:0 5px 16px #0008}.result-details{position:relative;padding:clamp(14px,3vw,26px);color:#e8f3ec}.result-time{position:absolute;right:16px;top:14px;color:#ecd094;font:700 16px Arial}.result-title{color:#f4d787;font:700 clamp(19px,2.8vw,28px) Arial;letter-spacing:.08em}.result-pair{display:flex;gap:8px;margin:7px 0 12px}.result-pair span{flex:1;border:1px solid #d4b97699;border-radius:7px;background:#0b2435aa;padding:6px;color:#f7df9b;font:700 14px Arial}.result-pair b{display:block;font:700 clamp(23px,3.2vw,31px) Arial;color:#fff}.result-rows{border-top:1px solid #a2b9aa55}.result-rows>div{display:flex;justify-content:space-between;gap:9px;padding:5px 0;border-bottom:1px solid #a2b9aa33;font-size:13px}.result-rows span{color:#bcd0c8}.result-rows b{white-space:nowrap}.result-net{margin-top:12px;padding:8px 12px;border:1px solid #d3bc72;border-radius:9px;background:#42693eaa;color:#f8e3a3;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.result-net.loss{background:#783244aa;color:#ffd5d7;border-color:#e1757e}.result-net.even{background:#526476aa;color:#e8f1fa;border-color:#9bb5c5}.result-net small{font:700 14px Arial;white-space:nowrap}.result-net strong{font:700 clamp(27px,4vw,43px)/1 Arial;white-space:nowrap;text-shadow:0 2px 9px #0009}@keyframes horseReveal{from{transform:translateX(-24px) scale(.94);opacity:0}to{transform:translateX(0) scale(1);opacity:1}}@media(max-width:600px){.betting-visual{background-size:contain;background-color:#153245}.betting-top{padding-top:18px}.betting-count{font-size:95px}.result-card{grid-template-columns:36% 64%;min-height:280px}.result-art img{width:145%;height:80%;transform:translateX(5%)}.result-art>span{width:37px;height:37px;font-size:27px;left:8%;bottom:12%}.result-details{padding:12px 10px}.result-title{font-size:19px}.result-time{right:10px;top:10px;font-size:13px}.result-pair{margin:5px 0 8px;gap:4px}.result-pair span{padding:4px;font-size:11px}.result-pair b{font-size:22px}.result-rows>div{padding:4px 0;font-size:11px}.result-net{margin-top:8px;padding:6px;display:block}.result-net small{display:block;font-size:12px}.result-net strong{display:block;font-size:26px}}

/* The opening betting board occupies the first screen and reuses the live controls. */
.betting-visual{position:fixed;inset:0;z-index:70;display:block;overflow-y:auto;overscroll-behavior:contain;background-position:center 28%;background-size:cover;padding:10px clamp(8px,2vw,22px) 24px}
.betting-visual:before{position:fixed;background:linear-gradient(180deg,#061824e8 0%,#082331a6 24%,#071b29df 68%,#061824 100%);pointer-events:none}
.betting-top{padding-top:0;gap:0;position:relative}
.betting-count{font-size:clamp(68px,11vh,112px);line-height:.78}
.betting-caption{font-size:clamp(16px,2.6vw,24px)}
.betting-balance{font:700 17px Arial;color:#ffe39b;text-shadow:0 2px 7px #000}
.betting-board{position:relative;z-index:1;margin:5px auto 0;width:min(930px,100%)}
.betting-board .bet-card{padding:12px 16px;background:#0a2235ed;border:2px solid #a4d7b6;box-shadow:0 12px 35px #0009}
.betting-board .bet-card h1{font-size:24px;margin:0}
.betting-board .bet-card p{display:none}
.betting-board .section-label{margin:7px 0 5px}
.betting-board .odds{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.betting-board .pair{min-height:45px}
.betting-board .ticket{margin-top:8px;padding:7px 10px;min-height:0}
.betting-board .ticket-value{font-size:19px;margin-top:1px}
.betting-board .action{min-height:37px;margin-top:6px;font-size:17px}
.betting-board .slip{margin-top:7px;min-height:0}
@media(max-width:650px){.betting-visual{padding:8px 7px 18px}.betting-count{font-size:75px}.betting-board .bet-card{padding:8px}.betting-board .odds{grid-template-columns:repeat(3,minmax(0,1fr))}.betting-board .pair{min-height:42px}.betting-board .section-label{font-size:13px;margin:5px 0 3px}.betting-board .pair .nums,.betting-board .pair .mult{font-size:18px}.betting-board .chip{min-height:33px}.betting-board .ticket{margin-top:6px}.betting-board .selection-list{max-height:45px;overflow:auto}.betting-board .slip{font-size:12px}}

/* Forest green game palette */
:root{color:#ecf7eb;background:#081c13}body{background:radial-gradient(circle at 50% -20%,#245a3f 0,#102f22 48%,#071a12 100%)}
.stage-card,.bet-card,.results{background:#10291e;border-color:#9ccdab}.stage-head{background:#1c4733;border-color:#9ccdab}.route-timeline{background:#153927;border-color:#9ccdab}.route-step{background:#27543a;color:#c6e4cf}.route-step.done{background:#4a8d58}.track-note{color:#d1e8d2}.wallet{background:#194832;border-color:#85ba92}.readout,.rank{background:#0e3323e6}.bet-card p,.slip{color:#c7dbcb}.section-label{color:#d8e8a3}.pair{background:#1c4932;border-color:#7caf88}.pair:hover:not(:disabled){background:#316a46}.pair.selected{background:#4c5525}.chip{background:#1e5337;border-color:#94c69b}.ticket{background:#0c261b;border-color:#84b78e}.selection-list span{background:#28543a}.results{background:#10291e}.history-item{background:#245038;border-color:#81b88d}.footer{color:#aac9ae}
.betting-board .bet-card{background:#0d2e20ed}.betting-visual{background-color:#0d321f}.betting-visual:before{background:linear-gradient(180deg,#071c13dd,#102f20a8 30%,#071d15ef 100%)}.betting-visual.closing:before{background:linear-gradient(180deg,#2e1617e8,#1f3524aa 45%,#071d15ef 100%)}
.splash{background:#0b2b1c}.splash:after{background:linear-gradient(0deg,#071c13dd 0%,transparent 35%,#15382722 100%)}.loading-track{background:#102b1c}.rank{border-color:#a9d6ac}
.top-actions{display:flex;align-items:center;gap:8px}.admin-open{border:1px solid #90c99d;border-radius:8px;background:#1d5238;color:#e9f5e2;padding:9px 13px;font:700 16px Arial;letter-spacing:.06em}
.admin-overlay[hidden]{display:none}.admin-overlay{position:fixed;inset:0;z-index:110;background:#03150ded;display:grid;place-items:center;padding:12px;overflow-y:auto;backdrop-filter:blur(6px)}.admin-panel{width:min(680px,100%);max-height:calc(100svh - 24px);overflow:auto;background:linear-gradient(145deg,#173f2c,#0a251b);border:2px solid #a6d4a8;border-radius:15px;padding:18px;box-shadow:0 22px 55px #000b;color:#f0f7ec}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-head h2{margin:0;font:700 27px Arial;letter-spacing:.05em}.admin-head button{border:1px solid #8fbb99;border-radius:6px;background:#214a34;color:#fff;width:34px;height:34px}.admin-note{margin:4px 0 14px;color:#bbd6c0;font-size:13px}.admin-modes{border:1px solid #6e9d78;border-radius:8px;display:flex;gap:12px;flex-wrap:wrap;padding:11px;margin:0 0 12px}.admin-modes legend,.admin-panel h3{font:700 17px Arial;letter-spacing:.06em;color:#f0d884}.admin-modes label{display:flex;align-items:center;gap:7px;font-size:14px}.admin-modes input{accent-color:#e9c96e}.rtp-field{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;margin:7px 0 14px}.rtp-field input,.admin-odds input{background:#0a2419;border:1px solid #9bcaa2;border-radius:5px;color:#fff;font:700 17px Arial;padding:6px;width:74px;text-align:center}.rtp-field.is-disabled{opacity:.45}.admin-panel h3{margin:8px 0}.admin-odds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.admin-odds label{display:flex;align-items:center;justify-content:space-between;gap:4px;border:1px solid #4f855c;border-radius:7px;background:#19462e;padding:5px 7px;font:700 14px Arial}.admin-odds input{width:min(62px,60%)}.admin-stats{display:flex;gap:7px;margin:14px 0;flex-wrap:wrap}.admin-stats span{flex:1;min-width:115px;background:#092519;border:1px solid #568d61;border-radius:7px;padding:8px;color:#b8d4bd;font:700 13px Arial}.admin-stats b{display:block;color:#fff;font-size:20px}.admin-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-actions button{border:1px solid #8dc597;border-radius:7px;padding:9px 12px;background:#26573a;color:#fff;font:700 15px Arial}.admin-actions #adminSave{background:#dbb962;color:#12291b;border-color:#f7d984}.admin-message{min-height:18px;color:#e8d89a;font-size:13px;margin:8px 0 0}
@media(max-width:650px){.top-actions{gap:4px}.admin-open{font-size:13px;padding:7px}.admin-panel{padding:12px}.admin-odds{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-modes{display:block}.admin-modes label{margin:6px 0}}
.betting-admin{position:absolute;z-index:2;top:9px;right:12px;border:1px solid #9bd4a7;border-radius:7px;background:#163f2edb;color:#f1f7e5;padding:6px 10px;font:700 14px Arial}
@media(max-width:650px){.brand span,.brand small{display:none}.brandmark{font-size:18px;padding:3px 8px}.splash-bottom strong{font-size:clamp(23px,6vw,32px);letter-spacing:.08em;white-space:nowrap}}
.bet-actions{display:flex;gap:9px}.bet-actions .action{flex:1;min-width:0;width:auto}.action.repeat{background:#379f58;color:#fff;box-shadow:0 4px 0 #1b6135}.action.repeat:active:not(:disabled){box-shadow:0 1px 0 #1b6135}@media(max-width:560px){.bet-actions{gap:6px}.bet-actions .action{font-size:16px}}
.sound-toggle,.betting-sound{border:1px solid #90c99d;border-radius:8px;background:#1d5238;color:#e9f5e2;padding:9px 11px;font:700 16px Arial;letter-spacing:.04em;white-space:nowrap}.betting-sound{position:absolute;z-index:2;top:9px;right:88px;padding:6px 9px;font-size:14px}@media(max-width:650px){.sound-toggle{font-size:12px;padding:7px 5px}.top-actions{gap:3px}.wallet{font-size:12px;padding:7px 5px}}


.admin-open,.betting-admin,.admin-overlay{display:none!important}

.sound-toggle,.betting-sound{width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;border-radius:50%!important;font-size:22px!important;line-height:1!important}

.exit-lobby{position:fixed;z-index:90;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:38px;padding:0 11px;border:1px solid #a8d8b2;border-radius:20px;background:#123e2ddd;color:#f4f8e9;text-decoration:none;font-family:Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:.04em;box-shadow:0 4px 14px #0007;backdrop-filter:blur(5px)}.exit-lobby:hover,.exit-lobby:focus-visible{background:#286a47;color:#fff;outline:2px solid #f4d67b;outline-offset:2px}@media(max-width:650px){.exit-lobby{min-width:62px;height:34px;padding:0 9px;font-size:13px}}

.horse-color-1{background:#f04c49!important}.horse-color-2{background:#4f9fff!important}.horse-color-3{background:#ffcf50!important}.horse-color-4{background:#58d68e!important}.horse-color-5{background:#c27bff!important}.horse-color-6{background:#65e0e0!important}.horse-color-1,.horse-color-2,.horse-color-5{color:#fff!important;text-shadow:0 1px 2px #0008}.horse-color-3,.horse-color-4,.horse-color-6{color:#071725!important;text-shadow:none}.horse-label{display:inline-flex;align-items:center;justify-content:center;min-height:27px;border:1px solid #ffffff55;letter-spacing:.03em}.rank b[class*=horse-color-],#championNumber[class*=horse-color-]{border:2px solid #fff7}

.layout>*{min-width:0}.layout>div,.stage-card,.results,.bet-card{min-width:0;max-width:100%}.stage-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Typography and compact history: Vietnamese-safe native font, no horizontal scroll. */
:root,body,button,input,select,textarea,.shell,.splash,.admin-overlay{font-family:system-ui,-apple-system,"Segoe UI","Noto Sans",Arial,sans-serif!important;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.history{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;overflow:hidden}
.history-item{min-width:0;width:auto;white-space:nowrap}
@media(max-width:1100px){.history{grid-template-columns:repeat(6,minmax(0,1fr))}.history-item:nth-child(n+7){display:none}}
@media(max-width:560px){.history{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.history-item{font-size:16px;padding:7px 3px}.history-item:nth-child(n+5){display:none}}
body,body *{font-family:system-ui,-apple-system,"Segoe UI","Noto Sans",Arial,sans-serif!important}
.history>.history-item:nth-child(n+9){display:none}
