.default-minigame{margin:10px 0 18px}.mg-panel{padding:24px;border:1px solid #7a9165;border-radius:18px;background:#10291f;color:#f7f1d9}.mg-head{text-align:center}.mg-kicker{font-size:9px;letter-spacing:2px;color:#d8d191}.mg-head h2{margin:5px 0;font-size:clamp(28px,4vw,46px)}.mg-head p,.mg-controls p{color:#c8d5c3}.mg-controls{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px;text-align:center}.mg-controls p{width:100%}.mg-button{border:1px solid #dec96d;border-radius:9px;padding:10px 14px;background:#f1e3a8;color:#253625;font-weight:900}.mg-button:disabled{opacity:.5}.red-btn,.roulette-grid .red{background:#b42631!important;color:#fff}.black-btn,.roulette-grid .black{background:#1b2024!important;color:#fff}.mg-countdown{animation:pulse 1s infinite}.horse-track{margin:22px auto;max-width:830px;border:8px solid #d1aa69;border-radius:12px;background:repeating-linear-gradient(0deg,#518245 0 42px,#c8b575 43px 45px)}.horse-lane{height:72px;position:relative;border-bottom:2px solid #eee2ae}.horse-label{position:absolute;z-index:3;left:8px;top:10px;color:#fff;text-shadow:1px 2px #18341d}.horse-label b,.horse-label small{display:block}.horse-label small{font-size:10px}.finish{position:absolute;right:5%;top:0;height:100%;box-sizing:border-box;padding:26px 4px;background:repeating-linear-gradient(45deg,#fff 0 7px,#222 7px 14px);font:800 9px sans-serif;color:#c52124;writing-mode:vertical-rl}.horse-runner{position:absolute;z-index:2;left:22%;top:10px;display:flex;align-items:center;gap:4px;color:var(--horse-color)}.horse-svg{width:100px;height:54px;overflow:visible}.horse-svg .horse-fill{fill:currentColor}.horse-svg .horse-dark,.horse-svg .tail,.horse-svg .leg{fill:none;stroke:#35231c;stroke-width:7;stroke-linecap:round}.horse-svg .tail{stroke:currentColor;stroke-width:9}.horse-rider{max-width:100px;padding:2px 5px;border-radius:4px;background:#132c28;color:#fff;font-size:9px;overflow-wrap:anywhere}.is-racing .horse-runner{animation:horse-run 10.5s cubic-bezier(.23,.77,.25,1) var(--race-seek,0ms) forwards}.is-racing .horse-svg .leg{animation:gallop .25s linear infinite alternate}.is-racing .horse-runner.winner{animation-name:horse-win}.roulette-stage{display:grid;grid-template-columns:minmax(190px,270px) minmax(240px,1fr);gap:25px;align-items:center;max-width:800px;margin:20px auto}.roulette-wheel{position:relative;aspect-ratio:1;border:16px solid #d5ae59;border-radius:50%;background:#1d573a;box-shadow:inset 0 0 0 35px #e0c273,inset 0 0 0 48px #1c4837}.roulette-wheel:after{content:'';position:absolute;inset:38%;border-radius:50%;background:#bc9a55}.wheel-pocket{position:absolute;left:47%;top:4%;width:18px;height:32px;transform-origin:50% 115px;transform:rotate(calc(var(--pocket)*9.7297deg));font:700 7px sans-serif;text-align:center;padding-top:4px;color:#fff}.wheel-pocket.red{background:#a8202f}.wheel-pocket.black{background:#171a1d}.wheel-pocket.zero,.roulette-grid .zero{background:#197242;color:#fff}.roulette-ball{position:absolute;z-index:4;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff;left:47%;top:7%}.spinning{animation:wheel-spin 5s cubic-bezier(.1,.7,.1,1) var(--spin-seek,0ms) forwards}.spinning .roulette-ball{animation:ball-spin 5s linear var(--spin-seek,0ms) forwards}.roulette-board{padding:11px;border:7px solid #bb9360;border-radius:8px;background:#17603a}.roulette-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.roulette-grid span{padding:7px 1px;border:1px solid #e5d59e;text-align:center;font-size:11px;font-weight:900}.number-bets{display:flex;max-width:640px;gap:3px;flex-wrap:wrap;justify-content:center}.number-bets .mg-button{min-width:31px;padding:6px}.slot-machine{display:flex;gap:8px;justify-content:center;width:min(520px,100%);margin:25px auto;padding:20px;border:12px solid #e1ad41;border-radius:24px;background:#632445}.slot-machine.won{box-shadow:0 0 35px #fff08b}.slot-reel{height:120px;flex:1;overflow:hidden;border:6px solid #202536;border-radius:7px;background:#f9edbd;text-align:center;color:#51223a;font-size:58px;line-height:120px}.slot-reel span{display:block}.spinning .slot-reel span{animation:slot-spin .35s linear infinite}.spin-btn{background:#ff5e48;color:#fff}.market-ticker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:700px;margin:25px auto}.stock-tile{padding:18px;border:1px solid #396050;border-radius:10px;background:#152f2b;color:#9ab9a7}.stock-tile b,.stock-tile strong{display:block}.stock-tile strong{margin-top:14px;font-size:20px}.stock-chart{display:block;width:100%;height:34px;margin-top:7px}.stock-chart path{fill:none;stroke:#88a99b;stroke-width:3}.stock-chart .chart-fill{stroke:none;fill:#88a99b22}.stock-tile.active{animation:market-pop .7s ease-in-out infinite alternate;background:#214c3c;color:#e6ff9a}@keyframes horse-run{0%{left:22%}70%{left:72%}100%{left:82%}}@keyframes horse-win{0%{left:22%}70%{left:77%}100%{left:88%}}@keyframes gallop{to{transform:translate(2px,-5px) rotate(14deg)}}@keyframes wheel-spin{to{transform:rotate(1920deg)}}@keyframes ball-spin{50%{left:76%;top:16%}75%{left:57%;top:72%}to{left:48%;top:45%}}@keyframes slot-spin{to{transform:translateY(-120px)}}@keyframes market-pop{to{transform:translateY(-5px)}}@keyframes pulse{50%{opacity:.55}}@media(max-width:650px){.mg-panel{padding:16px}.roulette-stage{grid-template-columns:1fr}.roulette-wheel{width:220px;margin:auto}.stock-tile{padding:10px;font-size:9px}.slot-reel{font-size:40px;height:90px;line-height:90px}.slot-machine{padding:12px}}

.slot-machine.spinning{animation:none}.slot-machine:not(.spinning) .slot-reel span:not(:last-child){display:none}.roulette-wheel.spinning,.roulette-wheel.spinning .roulette-ball{animation-duration:8s}.roulette-wheel{width:270px;max-width:100%;box-sizing:border-box}.wheel-pocket{left:calc(50% - 9px);top:calc(50% - 115px)}.roulette-ball{transform:translate(-50%,-50%)}@keyframes ball-spin{0%{left:50%;top:8%}20%{left:92%;top:50%}40%{left:50%;top:92%}60%{left:8%;top:50%}80%{left:50%;top:8%}100%{left:var(--ball-x);top:var(--ball-y)}}.is-racing .horse-runner{animation-timing-function:linear}@keyframes horse-run{0%{left:22%}30%{left:40%}60%{left:59%}95%{left:71%}100%{left:78%}}@keyframes horse-win{0%{left:22%}30%{left:38%}60%{left:60%}95%{left:72%}100%{left:84%}}.stock-tile.active .stock-chart path{stroke:#91e59d}.down .stock-tile.active .stock-chart{transform:scaleY(-1)}.down .stock-tile.active .stock-chart path{stroke:#ff8d7e}.mg-panel{animation:mini-enter .5s ease-out}@keyframes mini-enter{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mg-panel,.stock-tile.active,.horse-svg .leg{animation:none}}

/* Auto: silhouette leggibile, ruote animate e traguardo esplicito. */
.horse-track{background:repeating-linear-gradient(0deg,#42494d 0 42px,#f1df99 43px 45px);box-shadow:inset 0 0 0 3px #2b3032}.horse-lane{height:82px}.horse-label{top:12px}.horse-runner{top:14px}.car-svg{width:116px;height:62px;overflow:visible}.car-body{fill:currentColor;stroke:#f7f1d9;stroke-width:3;stroke-linejoin:round}.car-glass{fill:#d8f3ff;stroke:#163644;stroke-width:3}.car-line,.spoiler{fill:none;stroke:#172630;stroke-width:4;stroke-linecap:round}.wheel{fill:#141a20;stroke:#d4d7d7;stroke-width:4;transform-box:fill-box;transform-origin:center}.hub{fill:#f6d660}.is-racing .car-svg .wheel{animation:wheel-roll .22s linear infinite}.race-winner{position:absolute;z-index:5;right:9%;top:8px;padding:4px 8px;border-radius:5px;background:#f8db65;color:#26352a;font-size:12px;box-shadow:0 2px 8px #0008;opacity:0}.is-racing .race-winner{animation:winner-arrives .25s ease-out calc(9.35s + var(--race-seek,0ms)) forwards}.race-winner.is-final{opacity:1;animation:none}.finish{right:3%;padding:29px 4px;font-size:9px}.is-racing .horse-runner.winner{filter:drop-shadow(0 0 7px #ffdf67)}@keyframes wheel-roll{to{transform:rotate(360deg)}}@keyframes winner-arrives{to{opacity:1;transform:translateY(-3px)}}

/* Tavolo francese: zero laterale, numeri in tre righe, chance esterne. */
.roulette-stage{grid-template-columns:minmax(190px,270px) minmax(320px,1fr);max-width:1000px}.roulette-board{display:grid;grid-template-columns:38px minmax(0,1fr);padding:8px;gap:4px;background:#0d5b36;border-color:#c6a06a;overflow-x:auto}.roulette-grid{grid-column:2;display:grid;grid-template-columns:repeat(12,minmax(25px,1fr));gap:2px;min-width:322px}.roulette-cell,.roulette-zero,.outside-bet{position:relative;min-height:32px;border:1px solid #e9d99e;color:#fff;font:800 12px ui-monospace,monospace;cursor:pointer}.roulette-cell.red{background:#b42631!important}.roulette-cell.black{background:#1b2024!important}.roulette-cell:disabled,.roulette-zero:disabled,.outside-bet:disabled{cursor:default}.roulette-cell:hover:not(:disabled),.roulette-zero:hover:not(:disabled),.outside-bet:hover:not(:disabled){outline:3px solid #f4d969;z-index:2}.roulette-zero{grid-column:1;grid-row:1;padding:0;background:#197242;font-size:18px}.roulette-outside{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:2px;min-width:360px}.outside-bet{min-height:34px;background:#17603a}.outside-bet.red{background:#b42631}.outside-bet.black{background:#1b2024}.roulette-chip{position:absolute;z-index:3;left:50%;top:50%;display:grid;place-items:center;width:30px;height:30px;transform:translate(-50%,-50%) rotate(-9deg);border:3px dashed #fff;border-radius:50%;background:#175da5;color:#fff;font:900 8px ui-monospace,monospace;box-shadow:0 2px 4px #0009;pointer-events:none}.roulette-bet-note{color:#f5da74!important;font-weight:800}.number-bets{display:none}

.market-impact-title{text-align:center;margin:19px 0 8px;font-size:16px;color:#e6ff9a}.market-impacts{display:grid;gap:7px;max-width:700px;margin:0 auto}.market-impact{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:10px;padding:10px 13px;border-radius:8px;background:#173a2f;border-left:5px solid #8fe69e}.market-impact.negative{border-left-color:#ff8d7e}.market-impact span{font-size:12px;color:#cfdbce}.market-impact strong{font:900 16px ui-monospace,monospace}.market-impact.positive strong{color:#b7ffad}.market-impact.negative strong{color:#ff9e90}
@media(max-width:650px){.roulette-stage{grid-template-columns:1fr}.roulette-board{grid-template-columns:30px 1fr}.roulette-cell{min-height:26px;font-size:10px}.roulette-outside{grid-template-columns:repeat(3,1fr)}.market-impact{grid-template-columns:1fr auto}.market-impact span{grid-column:1/-1;grid-row:2}.car-svg{width:94px}.horse-rider{max-width:65px}.race-winner{right:7%;font-size:9px}}

.market-impact{animation:mini-enter .7s ease-out}.market-impact:nth-child(2){animation-delay:.1s}.market-impact:nth-child(3){animation-delay:.2s}.market-impact:nth-child(4){animation-delay:.3s}
@media(prefers-reduced-motion:reduce){.market-impact,.is-racing .car-svg .wheel{animation:none}}

.horse-label small{font-size:12px}.horse-rider{font-size:12px;position:absolute;top:100%;left:14px;max-width:110px;white-space:nowrap}.horse-label{padding:4px 7px;border-radius:5px;background:#1b292dda}.horse-track{background:#333e44}.horse-lane{background:linear-gradient(0deg,transparent 47%,#c4d0cc22 48%,#c4d0cc22 50%,transparent 51%)}.finish{font-size:0;width:18px}.market-impact span{font-size:15px}.mg-kicker{font-size:12px}

.horse-rider{top:-8px;left:14px}
