.taxi-game{--cab-yellow:#ffd23c;--cab-ink:#111716;box-sizing:border-box;max-width:900px;margin:28px auto;padding:22px clamp(9px,3vw,28px) 16px;border:3px solid #bd942b;border-radius:24px;background:radial-gradient(ellipse at 45% 0,#334039,#111a18 52%,#090e0d);box-shadow:0 24px 60px #000b,inset 0 0 0 4px #090c09,inset 0 0 0 6px #746445;color:#f6f0df;font-family:Arial,Helvetica,sans-serif;text-align:center}
.taxi-game *{box-sizing:border-box}.taxi-game button{font-family:inherit;cursor:pointer}.taxi-game button:disabled{cursor:default;opacity:.46}.taxi-game button:focus-visible,.taxi-rules summary:focus-visible{outline:3px solid #fff;outline-offset:4px}
.taxi-game .taxi-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:4px 3px 18px;background:none;border:0}.taxi-header-note{text-align:left;color:#daca9b;font-size:10px;font-weight:800;line-height:1.8;letter-spacing:.12em}.taxi-header-note span{font-size:8px;color:#939e91;letter-spacing:.04em}
.taxi-game .taxi-logo{display:flex;align-items:center;justify-content:center;gap:0;margin:0;color:#ffd23c;font:1000 clamp(62px,10vw,95px)/1 Arial Black,Arial,sans-serif;letter-spacing:-.07em;text-shadow:0 4px 0 #7e5411,0 7px 9px #0009}.taxi-logo svg{height:.99em;width:.57em;fill:currentColor;filter:drop-shadow(0 4px #7e5411);margin-left:4px}
.taxi-game .taxi-sound{justify-self:end;padding:9px 8px;border:1px solid #7e866d;border-radius:7px;background:#0b1210;color:#d0d8c6;font-size:9px;letter-spacing:.07em}.taxi-sound[aria-pressed=false]{color:#91978d}
.taxi-checker{height:12px;margin:0 0 10px;border:1px solid #0b1110;background:repeating-conic-gradient(#171d17 0 25%,#dbb749 0 50%) 0 0/22px 22px;opacity:.9}
.taxi-paystrip{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;min-height:54px;margin-bottom:10px;border:1px solid #5a654e;border-radius:9px;background:#080f0ce0;color:#d5daca;font-size:13px}.taxi-paystrip>span{display:flex;align-items:center;justify-content:center;gap:6px}.taxi-paystrip b{color:#ffd23c;font-size:24px}.taxi-paystrip .taxi-line-note{color:#abb19b;font-size:9px;letter-spacing:.1em}.taxi-symbol{display:block;background:center/contain no-repeat}.taxi-car{background-image:var(--taxi-image)}.taxi-light{background-image:var(--light-image)}.taxi-paystrip i{width:52px;height:43px}
.taxi-reel-frame{position:relative;padding:9px 20px;border:3px solid #f2d27c;border-radius:15px;background:linear-gradient(135deg,#b58e3c,#f7e2a0 25%,#80612b 52%,#d7b151 80%);box-shadow:0 8px 20px #0008,inset 0 0 0 2px #3f3115}.taxi-reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;height:clamp(290px,50vw,390px);padding:5px;border:3px solid #111d19;border-radius:8px;background:#0b1511;overflow:hidden}.taxi-reel{position:relative;overflow:hidden;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));background:linear-gradient(#aaa991,#fffced 18%,#f8f3df 50%,#fffced 80%,#aca995);border-radius:4px;isolation:isolate}.taxi-reel::after{content:"";position:absolute;z-index:2;top:33.333%;left:0;right:0;height:33.334%;border-top:2px solid #d8a228b0;border-bottom:2px solid #d8a228b0;pointer-events:none}.taxi-reel>.taxi-symbol{position:relative;background-size:auto 94%;min-height:0}.taxi-reel>.taxi-symbol.winner{background-color:#fff19b9c;animation:taxiWin .35s ease-in-out 3 alternate}.taxi-track{position:absolute;z-index:3;top:0;left:0;width:100%;background:#f9f2dd;will-change:transform}.taxi-track .taxi-symbol{display:block;width:100%;background-size:auto 94%}.taxi-line-arrow{position:absolute;top:50%;z-index:5;transform:translateY(-50%);color:#111c13;font-size:30px;line-height:1}.taxi-line-left{left:2px}.taxi-line-right{right:2px}
.taxi-game .taxi-message{min-height:34px;margin:8px 0 7px;display:grid;place-items:center;color:#efdd9e;font-size:12px;font-weight:800;letter-spacing:.07em}
.taxi-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:0}.taxi-dashboard>div{min-width:0;padding:10px 5px 8px;border:1px solid #64724e;border-radius:7px;background:linear-gradient(#070f08,#101d12);box-shadow:inset 0 2px 7px #0009}.taxi-dashboard span{display:block;color:#9fae8d;font-size:10px;letter-spacing:.17em}.taxi-dashboard b{display:block;overflow-wrap:anywhere;margin-top:3px;color:#d5ffa9;font:700 clamp(24px,4.5vw,38px)/1.12 Consolas,monospace;font-variant-numeric:tabular-nums;text-shadow:0 0 9px #a8ff5840}
.taxi-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:9px 0 23px}.taxi-controls button{min-width:0;min-height:70px;padding:10px 4px;border:2px solid #f2db91;border-radius:10px;color:#fff9df;font-weight:900;font-size:clamp(14px,2.8vw,23px);box-shadow:inset 0 1px #fff6,0 5px 0 #080d09}.taxi-controls small{display:block;margin-top:5px;font-size:9px;letter-spacing:.08em;font-weight:700}.taxi-deposit{background:linear-gradient(#427755,#1b3e2e)}.taxi-controls .taxi-start{background:linear-gradient(#ffe979,#ffc229 55%,#c08210);color:#202918;font-size:clamp(19px,3.6vw,31px)}.taxi-payout{background:linear-gradient(#506071,#202e3b)}
.taxi-meters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 19px}.taxi-meter{position:relative;min-width:0;padding:13px 7px 10px;border:1px solid #7e826f;border-radius:7px;background:linear-gradient(130deg,#5d645a,#29352c 45%,#384236);box-shadow:inset 0 1px #cfd2b455,0 3px 8px #0008}.taxi-meter::before,.taxi-meter::after{position:absolute;top:5px;content:"−";color:#222b20;background:#99a18c;border:1px solid #202b1e;border-radius:50%;width:6px;height:6px;font:7px/4px Arial}.taxi-meter::before{left:5px}.taxi-meter::after{right:5px}.taxi-game .taxi-meter h3{margin:0 0 9px;color:#ebebd7;font-size:clamp(9px,1.5vw,12px);font-weight:800;letter-spacing:.08em}.taxi-counter{display:flex;justify-content:center;gap:1px;padding:4px 3px;border:2px solid #0a120c;border-radius:4px;background:#10170f;box-shadow:inset 0 1px 5px #000}.taxi-counter>span{position:relative;flex:1;min-width:0;max-width:26px;height:32px;border-radius:2px;background:linear-gradient(#9c9c89,#f6f0d5 35%,#e2dcc6 49%,#7f806e 50%,#e6dfc8 53%,#fffae2 73%,#a6a792);color:#142117;font:800 clamp(16px,2.6vw,24px)/32px Consolas,monospace;text-align:center;text-shadow:0 1px #fff7}.taxi-counter>span.changed{animation:taxiCounter .32s ease-out}.taxi-counter.negative>span{color:#813b29}.taxi-meter small{display:block;margin-top:7px;color:#bac1ac;font-size:8px;letter-spacing:.04em}.taxi-result-meter{border-color:#c5a65b}
.taxi-volatility{padding:17px 12px 10px;border:1px solid #54634c;border-radius:10px;background:#090f0ce8;box-shadow:inset 0 1px #a1af8733}.taxi-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.taxi-game .taxi-chart-heading h3{margin:0;color:#efdfab;font-size:16px;font-weight:800;letter-spacing:.13em}.taxi-chart-heading>span{color:#919d88;font-size:9px;letter-spacing:.1em}.taxi-volatility p{margin:7px 0 2px;color:#8f9c88;text-align:left;font-size:10px}.taxi-chart{display:block;width:100%;height:auto;overflow:visible}.taxi-chart text{font-family:Consolas,monospace;fill:#b0bba8;font-size:13px}.taxi-chart .taxi-chart-value{font-size:11px;fill:#e0e7d7}.taxi-chart-key{display:flex;gap:18px;justify-content:center;font-size:9px;letter-spacing:.1em;color:#98c889}.taxi-chart-key span+span{color:#e6a64e}
.taxi-rules{margin-top:14px;border:1px solid #57614b;border-radius:8px;background:#111a13;text-align:left}.taxi-rules summary{cursor:pointer;padding:12px;color:#dcc98e;font-size:11px;font-weight:800;letter-spacing:.12em;text-align:center}.taxi-rules p{margin:0;padding:0 16px 13px;color:#b4c0ab;font-size:12px;line-height:1.6}.taxi-footer{display:flex;justify-content:space-between;gap:8px;margin-top:14px;color:#8e9881;font-size:8px;letter-spacing:.1em}
@keyframes taxiWin{to{filter:brightness(1.18);box-shadow:inset 0 0 25px #ffd32d}}@keyframes taxiCounter{from{filter:blur(2px);transform:translateY(-3px)}to{filter:none;transform:none}}
@media(max-width:570px){.taxi-game{padding:13px 8px 13px;border-radius:17px;margin:12px auto}.taxi-game .taxi-header{gap:5px;padding-bottom:12px;grid-template-columns:1fr auto 1fr}.taxi-header-note{font-size:6px;letter-spacing:0}.taxi-header-note span{font-size:5px}.taxi-game .taxi-sound{font-size:7px;padding:8px 4px}.taxi-game .taxi-logo{font-size:65px}.taxi-paystrip{gap:2px}.taxi-paystrip .taxi-line-note{max-width:85px;font-size:7px;line-height:1.5}.taxi-paystrip i{width:36px;height:34px}.taxi-paystrip>span{gap:3px;font-size:10px}.taxi-paystrip b{font-size:19px}.taxi-reel-frame{padding:6px 14px;border-width:2px}.taxi-reels{height:clamp(215px,68vw,340px);gap:3px;padding:3px;border-width:2px}.taxi-line-arrow{font-size:23px}.taxi-reel>.taxi-symbol,.taxi-track .taxi-symbol{background-size:96% 96%}.taxi-game .taxi-message{font-size:9px;letter-spacing:.03em;min-height:29px}.taxi-controls{gap:5px;margin-bottom:17px}.taxi-controls button{min-height:62px;border-radius:8px}.taxi-controls small{font-size:7px}.taxi-dashboard{gap:5px}.taxi-dashboard span{font-size:8px}.taxi-meters{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.taxi-meter h3{font-size:10px!important}.taxi-counter>span{font-size:22px}.taxi-volatility{padding:13px 8px 9px}.taxi-game .taxi-chart-heading h3{font-size:12px}.taxi-chart-heading>span{font-size:7px}.taxi-chart text{font-size:16px}.taxi-chart .taxi-chart-value{font-size:13px}.taxi-footer{font-size:6px}.taxi-rules p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.taxi-game *{animation:none!important;scroll-behavior:auto!important}}

/* v1.1.0: premium symbols and five individually displayed winlines. */
.taxi-game{background:radial-gradient(ellipse at 50% 0,#294154,#10212a 45%,#091314 85%);border-color:#d3ae52;box-shadow:0 22px 55px #000a,inset 0 0 0 3px #050f16,inset 0 0 0 6px #9c7c36}.taxi-game .taxi-logo{color:#ffdf58;text-shadow:0 2px #fff2a5,0 5px #9c6010,0 8px 14px #000a}.taxi-reel-frame{padding:9px;border-color:#ffe4a0;background:linear-gradient(135deg,#a87a28,#fff0b0 18%,#bc8f36 40%,#644119 65%,#f4d582)}.taxi-reel::after{display:none}.taxi-reel>.taxi-symbol,.taxi-track .taxi-symbol{display:flex;align-items:center;justify-content:center;background-image:none}.taxi-reel>.taxi-symbol::before,.taxi-track .taxi-symbol::before{content:"";display:block;width:95%;height:95%;background:var(--taxi-art) center/contain no-repeat}.taxi-car{--taxi-art:var(--taxi-image)}.taxi-light{--taxi-art:var(--light-image)}.taxi-paylines{position:absolute;inset:17px;width:calc(100% - 34px);height:calc(100% - 34px);z-index:6;pointer-events:none}.taxi-paylines polyline{fill:none;stroke:#e6a521;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px #fff3a2)}.taxi-paylines [hidden]{display:none}
.taxi-game .taxi-dashboard>div{padding:5px 5px 4px}.taxi-game .taxi-dashboard b{font-size:29px;margin-top:2px;line-height:1}.taxi-game .taxi-dashboard span{font-size:9px}.taxi-game .taxi-controls{margin-top:7px}
@media(max-width:570px){.taxi-game .taxi-dashboard b{font-size:24px}.taxi-game .taxi-dashboard span{font-size:7px}.taxi-reel-frame{padding:6px}.taxi-paylines{inset:12px;width:calc(100% - 24px);height:calc(100% - 24px)}.taxi-paystrip .taxi-line-note{max-width:94px}}

/* Typography follows the polished city-cab cabinet; mechanical meter styling stays intact. */
.taxi-game{font-family:"Avenir Next","Segoe UI",Arial,sans-serif}.taxi-game .taxi-logo{font-family:"Arial Black","Avenir Next",Arial,sans-serif;font-weight:900;letter-spacing:-.055em}.taxi-game .taxi-controls button{letter-spacing:.035em;font-weight:800}.taxi-game .taxi-dashboard b{font-family:"Avenir Next","Segoe UI",Arial,sans-serif;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.025em}.taxi-game .taxi-dashboard span{font-weight:600;letter-spacing:.12em}.taxi-reel,.taxi-track{background:#081426}.taxi-reels{background:#081426}.taxi-paystrip{background:#081426}.taxi-reel>.taxi-symbol.winner{background-color:#081426;box-shadow:inset 0 0 0 3px #ffe483}

@media(min-width:571px){.taxi-game{max-width:800px;margin:14px auto;padding-top:12px}.taxi-game .taxi-header{padding-bottom:10px}.taxi-game .taxi-logo{font-size:68px}.taxi-paystrip{min-height:44px;margin-bottom:8px}.taxi-reels{height:clamp(270px,calc(100svh - 355px),345px)}.taxi-game .taxi-controls button{min-height:58px}.taxi-game .taxi-message{min-height:27px;margin:6px 0}}

/* v1.1.1: uniform cabinet inset, compact mobile reels and five visible line keys. */
.taxi-game .taxi-line-key{display:flex;justify-content:center;gap:8px;margin:0 0 7px}.taxi-line-key>span{display:flex;align-items:center;gap:3px;padding:3px 6px;border:1px solid #65737a;border-radius:5px;font:800 10px Arial;color:#b0c1c9;background:#101f2b}.taxi-line-key svg{display:block;width:28px;height:19px}.taxi-line-key path{fill:none;stroke:#466071;stroke-width:.7}.taxi-line-key polyline{fill:none;stroke:#b5c9d5;stroke-width:2}.taxi-line-key .active{color:#ffe594;border-color:#ffe594;background:#493d21}.taxi-line-key .active polyline{stroke:#ffe594}.taxi-game .taxi-reel-frame{height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:6px!important}.taxi-game .taxi-paylines{position:absolute!important;inset:17px;width:calc(100% - 34px)!important;height:calc(100% - 34px)!important;max-width:none;max-height:none;margin:0!important}.taxi-game .taxi-reels{margin:0!important}.taxi-game .taxi-reel{min-height:0;contain:paint}
@media(max-width:570px){.taxi-game{margin:8px auto;padding-top:9px}.taxi-game .taxi-header{padding-bottom:7px}.taxi-game .taxi-logo{font-size:53px}.taxi-game .taxi-checker{height:9px;margin-bottom:6px}.taxi-game .taxi-paystrip{min-height:39px;margin-bottom:6px}.taxi-game .taxi-paystrip i{height:30px}.taxi-game .taxi-reels{height:clamp(192px,31svh,270px)!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important}.taxi-game .taxi-paylines{inset:13px;width:calc(100% - 26px)!important;height:calc(100% - 26px)!important}.taxi-game .taxi-message{min-height:23px;margin:5px 0}.taxi-game .taxi-controls button{min-height:56px;padding:7px 3px}.taxi-game .taxi-line-key{gap:5px}.taxi-game .taxi-dashboard>div{padding:5px}.taxi-game .taxi-dashboard b{font-size:23px}}
