/* City-only game skin. Shared site navigation keeps its existing appearance. */
.city-page{
 --city-ink:#244c42;
 --city-muted:#60786d;
 --city-paper:#fffdf4;
 --city-green:#338b64;
 --city-edge:#b1c9b7;
 --city-round:"Trebuchet MS",ui-rounded,system-ui,sans-serif;
 background:#f4f3e8;
 color:var(--city-ink);
}
.city-page .city-workspace{background:radial-gradient(ellipse at 90% 0,#dfeee3 0,transparent 54%),#f4f3e8}
.city-main{padding:22px 30px 44px;max-width:1520px}
.city-main :is(h1,h2,h3){font-family:var(--city-round);font-weight:800}
.city-main button{touch-action:manipulation}
.sim-heading{margin-bottom:23px;gap:12px}
.sim-heading>a{font-size:12px;font-weight:650}
.sim-heading>.sim-place-tag{display:inline-flex;align-items:center;gap:8px;border:1px solid #d4ddc9;border-radius:99px;background:#fffdf2;padding:9px 14px;letter-spacing:.1em;font-size:10px;font-weight:750;color:#597365}
.sim-place-tag i{width:7px;height:7px;border-radius:50%;background:#62a67a;box-shadow:0 0 0 3px #e4efd9}
.sim-heading>button{min-height:40px;padding:8px 15px;border:1px solid #c4d4c4;border-bottom-width:3px;border-radius:13px;background:var(--city-paper);font-size:12px;font-weight:650}

/* An illustrated welcome, with no scene or renderer dependency. */
.sim-hero{
 position:relative;isolation:isolate;
 display:grid;grid-template-columns:minmax(0,1.3fr) minmax(210px,.8fr);
 gap:22px;align-items:center;
 padding:30px 34px;margin-bottom:32px;
 border:2px solid #bbd3b5;border-radius:32px;
 background:radial-gradient(ellipse at 94% 3%,#fcf5c6 0,transparent 50%),linear-gradient(120deg,#e8f3d8,#d6ecda);
 box-shadow:0 6px 0 #ceddc3,inset 0 2px 0 #ffffffc9;
}
.sim-hero-copy{min-width:0;position:relative;z-index:1}
.sim-hero .sim-eyebrow{display:inline-block;background:#fffdf0;border:1px solid #c7d8b6;border-radius:8px;padding:7px 10px;color:#536d45;font-size:9px;letter-spacing:.1em}
.sim-hero h1{font-size:clamp(42px,4.6vw,65px);line-height:1.03;letter-spacing:-.045em;margin:16px 0 15px;color:#254b3d;text-shadow:0 2px 0 #ffffffa0}
.sim-hero h1 em{color:#368868}
.sim-hero p{font-size:14px;line-height:1.65;max-width:460px;color:#526c5c;margin:0}
.sim-facts{gap:7px;margin-top:20px}
.sim-facts>span{background:#ffffff80;border:1px solid #c6dcbf;border-radius:10px;padding:7px 10px;font-size:10px;color:#4d6d50}
.sim-hero-art{min-height:265px;align-self:center;margin:0;position:relative}
.sim-hero-art:before{width:230px;height:230px;border:2px solid #ffffffe0;background:#ffffff70;box-shadow:0 12px 0 #a8c48e30;border-radius:43% 57% 55% 45% / 48% 47% 53% 52%;transform:rotate(-9deg)}
.sim-hero-art img{width:100%;max-width:255px;height:255px;object-fit:contain;filter:drop-shadow(0 10px 3px #3e654c14);animation:city-welcome-bob 5s ease-in-out 2}
.sim-hero-art>span{bottom:0;right:0;padding:12px 17px;background:#fffdf4;border:2px solid #a3c5a4;border-radius:17px;box-shadow:0 4px 0 #bdd4ad;font-family:var(--city-round);font-size:14px;font-weight:700;color:#355742;transform:rotate(-4deg)}
.sim-hero-art>span:before{content:"";position:absolute;top:-8px;left:26px;width:12px;height:12px;background:#fffdf4;border-top:2px solid #a3c5a4;border-left:2px solid #a3c5a4;transform:rotate(45deg)}
.sim-spark{position:absolute;z-index:1;color:#e7b53c;font-style:normal;text-shadow:0 2px #fff7cb;font-size:32px;pointer-events:none}
.spark-one{left:3%;top:13%;transform:rotate(12deg)}
.spark-two{right:3%;top:10%;font-size:21px;transform:rotate(-9deg)}
.sim-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 2px 17px}
.sim-section-heading h2{font-size:26px;letter-spacing:-.035em;margin:0}
.sim-section-heading>span{font-size:11px;color:#728174}

/* Three tangible mode cards. The full card remains a single real button. */
.sim-modes{gap:18px}
.sim-mode{
 --mode-bg:#edf6e3;--mode-line:#9fbf99;--mode-depth:#c1d7b7;--mode-accent:#35835d;--mode-cta:#35835d;--mode-cta-ink:#fffdf4;
 position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:stretch;
 background:linear-gradient(155deg,#fffef6 30%,var(--mode-bg));
 border:2px solid var(--mode-line);border-radius:25px;padding:20px;min-width:0;
 color:var(--city-ink);box-shadow:0 6px 0 var(--mode-depth),inset 0 2px 0 #fff;
 transition:transform .18s ease,box-shadow .18s ease;
}
.sim-mode[data-mode=taxi]{--mode-bg:#fff1c9;--mode-line:#d6be80;--mode-depth:#e8d69e;--mode-accent:#8b6626;--mode-cta:#f5cd65;--mode-cta-ink:#5e491c}
.sim-mode[data-mode=exam]{--mode-bg:#e6f1f5;--mode-line:#a4c4cc;--mode-depth:#c2d9df;--mode-accent:#437c90;--mode-cta:#437c90}
.sim-mode:hover{transform:translateY(-4px);box-shadow:0 10px 0 var(--mode-depth),0 16px 20px #3553410a}
.sim-mode:active{transform:translateY(4px);box-shadow:0 2px 0 var(--mode-depth)}
.sim-mode .mode-art{position:relative;display:flex;align-items:center;justify-content:center;align-self:center;grid-area:auto;width:100%;height:123px;background:transparent;border-radius:0;margin:0 0 15px;color:var(--mode-accent)}
.mode-art:before{content:"";position:absolute;width:110px;height:87px;bottom:0;border-radius:50%;background:var(--mode-bg);border:1px solid var(--mode-line);opacity:.7}
.mode-art img{position:relative;display:block;width:139px;height:139px;object-fit:contain;filter:drop-shadow(0 4px 2px #334d301a);transition:transform .2s ease}
.mode-art i{position:absolute;left:5px;top:2px;display:grid;place-items:center;font-family:var(--city-round);font-style:normal;font-weight:850;background:var(--mode-bg);border:2px solid var(--mode-line);border-radius:12px;min-width:36px;height:36px;padding:0 5px;box-shadow:0 3px 0 var(--mode-depth);transform:rotate(-7deg);font-size:21px;letter-spacing:0}
.mode-art.art-taxi i{font-size:11px;transform:rotate(6deg);letter-spacing:.04em}
.sim-mode:hover .mode-art img{transform:translateY(-3px) rotate(-2deg)}
.sim-mode small{align-self:start;border-radius:6px;padding:5px 7px;background:var(--mode-bg);color:var(--mode-accent);font-size:8px;line-height:1.3;font-weight:750;letter-spacing:.09em}
.sim-mode h2{font-size:22px;line-height:1.15;letter-spacing:-.035em;margin:11px 0 9px;min-width:0}
.sim-mode p{font-size:12px;line-height:1.65;color:#617365;margin:0 0 21px;flex:1}
.sim-mode>strong{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:12px 13px;min-height:46px;margin-top:auto;border:1px solid var(--mode-accent);border-bottom-width:3px;border-radius:13px;background:var(--mode-cta);color:var(--mode-cta-ink);font-size:12px;line-height:1.35;box-shadow:inset 0 2px 0 #ffffff42}
.sim-mode>strong>span{font-size:18px;line-height:1}
.sim-home-bottom{padding:17px 19px;gap:14px;margin:27px 0 12px;border:1px solid #d8dfcb;border-radius:19px;background:#fffdf4}
.sim-home-bottom>div{flex:1;min-width:0}
.sim-home-bottom b{font-size:13px;color:#42624f}
.sim-home-bottom p{font-size:11px;margin:6px 0 0;line-height:1.55}
.sim-control-key{flex:0 0 58px;border:1px solid #c1cfb6;border-bottom:4px solid #c1cfb6;border-radius:11px;background:#f0f5e6;padding:7px 4px;text-align:center;font-family:var(--city-round);font-size:15px;line-height:1.3;color:#607c4b}
.sim-home-bottom>.sim-link{flex-shrink:0;min-height:44px;font-weight:700;font-size:12px;color:#387d59}
.sim-disclaimer{max-width:780px;color:#7d877b;font-size:10px;margin:13px 4px}
#sim-saved .sim-stat-line{border:1px dashed #bdcbb5;border-radius:14px;background:#f9f9ee;padding:13px 16px;margin-top:20px}

/* In-game panels stay small, opaque and legible against the moving world. */
.sim-toolbar{padding:10px 12px;border:1px solid #c4d4bc;border-radius:19px;background:#fffdf4;box-shadow:0 3px 0 #d8e1ca;gap:12px;margin-bottom:17px}
.sim-toolbar>strong{font-family:var(--city-round);font-size:16px;letter-spacing:-.02em}
.sim-toolbar button{min-height:38px;padding:8px 12px;border:1px solid #c3d4bd;border-bottom-width:3px;background:#edf4e4;border-radius:11px;font-weight:650;font-size:11px}
.sim-toolbar button:active,.sim-map-controls button:active{transform:translateY(2px);border-bottom-width:1px}
.sim-stage{border:3px solid #9cb5a1;border-radius:25px;box-shadow:0 5px 0 #c4d4be,inset 0 2px 0 #fff}
.sim-speed{top:17px;left:17px;border:3px solid #fdfcf2;outline:2px solid #719b83;border-radius:24px;background:linear-gradient(150deg,#fffef9,#e3efda);box-shadow:0 5px 0 #496e5155;padding:12px 13px 8px;grid-template-columns:44px 20px;gap:0 8px}
.sim-speed strong{font-family:var(--city-round);font-size:37px;font-weight:850;letter-spacing:-.07em;color:#315b41}
.sim-speed small{font-weight:650;color:#688060;font-size:9px}
.sim-speed b{display:grid;place-items:center;border:1px solid #b3c6a7;border-radius:7px;background:#f9fbf1;color:#4b6a44;width:24px;height:29px;font-family:var(--city-round);font-size:14px}
.sim-speed>span{top:13px;left:calc(100% + 13px);width:43px;height:43px;border:4px solid #db705b;background:#fffdf4;box-shadow:0 3px 0 #7d4e3a2e;color:#3d4d41;font-size:17px}
.sim-speed.is-speeding{outline-color:#bd7257;background:#fff1dd}
.sim-speed.is-speeding strong{color:#b4523d}
.sim-desktop-signals{gap:7px;margin-top:6px}
.sim-desktop-signals button{pointer-events:auto;flex:1;min-height:26px;background:#dce9d2;border:1px solid #a4bc99;border-radius:7px;color:#59764a;font-size:16px}
.sim-map-controls{top:17px;right:16px;gap:5px}
.sim-map-controls button{border:1px solid #a9bfa7;border-bottom:3px solid #a9bfa7;border-radius:11px;background:#fffdf2;font-weight:700;min-height:38px;box-shadow:0 2px 4px #3554400d}
.sim-map-controls button[aria-pressed=true]{background:#dcebc9;color:#2b694c}
.sim-street{top:137px;left:17px;max-width:calc(100% - 34px);background:#fffdf1ed;border:1px solid #b0c5a9;box-shadow:0 2px 0 #6f8f5430;border-radius:10px;font-size:10px;font-weight:650;padding:7px 10px;color:#486b4a}
.sim-keyboard{background:#fffdf3ed;border:1px solid #b4c8ac;border-radius:12px;gap:8px 13px;padding:11px 12px;color:#627258}
.sim-keyboard kbd{display:inline-block;padding:2px 5px;margin-right:2px;border:1px solid #bdc9b1;border-bottom:2px solid #b3c2a6;border-radius:4px;background:#f0f3e7;font-size:10px}
.sim-view-tag{border:1px solid #c3d7b0;border-radius:7px;background:#eff6dce8;color:#5c7853;font-weight:750;letter-spacing:.08em}
.sim-mini,.sim-instruction,.city-adventure-active,.city-adventure-complete{background:var(--city-paper);border:2px solid #b7cdb0;border-radius:20px;box-shadow:0 4px 0 #d6e2ca}
.sim-mini>div{padding:11px 12px;background:#f1f4df;border-bottom:1px solid #c6d4ba}
.sim-mini b{font-family:var(--city-round);font-size:13px;font-weight:750}
.sim-mini button{color:#547f55;font-size:10px;font-weight:700;min-height:28px}
.sim-mini>p{font-weight:700;color:#638255}
.sim-instruction{padding:20px}
.sim-instruction h2{font-size:23px;letter-spacing:-.035em}
.sim-instruction>p{font-size:12px;color:#657862}
.sim-primary,.sim-dialog-buttons .sim-primary,.city-adventure-actions button:not(.is-quiet){background:linear-gradient(#43986b,#35875f);color:#fffef4;border:1px solid #327653;border-bottom:4px solid #246444;border-radius:13px;box-shadow:inset 0 2px 0 #ffffff36;padding:11px 15px;min-height:45px;font-weight:750;font-size:12px;transition:filter .15s,transform .15s}
.sim-primary:hover,.sim-dialog-buttons .sim-primary:hover{background:linear-gradient(#4ca375,#3b9068);filter:brightness(1.03)}
.sim-primary:active,.sim-dialog-buttons .sim-primary:active{transform:translateY(2px);border-bottom-width:2px}
.sim-car-switches{gap:7px;padding:3px 0}
.sim-car-switches button{border:1px solid #c0cbb4;border-bottom:3px solid #b4c4a7;background:#fffdf3;border-radius:11px;color:#5d7154;min-height:41px;font-size:10px;font-weight:650;padding:7px 5px}
.sim-car-switches button[aria-pressed=true]{background:#dbeccf;border-color:#8eb280;color:#3c744c;box-shadow:inset 0 2px #eff9e8}
.sim-car-switches button[data-action=handbrake][aria-pressed=true]{background:#f9e5b6;border-color:#d5b36a;color:#886026}
.sim-progress{border-top:1px dashed #c6d1ba;padding:9px 3px 0;font-size:11px}
.sim-progress ol{list-style:none;padding:0;margin:8px 0;display:grid;gap:7px}
.sim-progress li{position:relative;margin:0;padding-left:17px;font-size:11px}
.sim-progress li:before{content:"";position:absolute;left:1px;top:.45em;width:7px;height:7px;border:1px solid #b1c1a8;border-radius:50%;background:#f8f7ec}
.sim-progress li.done:before{background:#65a774;border-color:#4e9860}
.sim-progress li.current:before{background:#e6bd56;border-color:#b18c33}
.sim-progress .sim-stat-line{padding:0;gap:8px 16px;font-size:10px}
.sim-panel>.sim-link{color:#74816b;font-size:11px;padding:9px 4px;min-height:35px}
.sim-stage #sim-rule-toast{background:#fff8df;border:2px solid #d4b96e;box-shadow:0 4px 0 #c4a55640;border-radius:15px;color:#73572e}
.sim-stage:after{box-shadow:0 3px 0 #9cae8150;border:1px solid #b8cda8}
.sim-touch button{border:2px solid #fffef6;background:#eff5e3f2;outline:1px solid #97b08e;border-radius:14px;box-shadow:0 4px 0 #5878529c;color:#385d3f;font-weight:750}
.sim-touch-pedals button:last-child{background:#add88ff2;color:#2c5933}
.sim-touch button.pressed{background:#82bd78;box-shadow:0 1px 0 #5878529c;transform:translateY(3px)}

/* Dialogs, orders and the lightweight loading state use the same materials. */
.sim-dialog{border:2px solid #9fb99f;border-radius:26px;background:#fffdf1;box-shadow:0 8px 0 #c0d1af,0 24px 80px #17382538;padding:26px;animation:city-dialog-in .22s ease-out}
.sim-dialog::backdrop{background:#284b3d91;backdrop-filter:blur(3px)}
.sim-dialog h2{font-size:29px;font-family:var(--city-round);font-weight:850;color:#2b5240}
.sim-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 0 15px;margin-bottom:15px;border-bottom:1px dashed #c5d0b4}
.sim-dialog-head>div{min-width:0;flex:1}
.sim-dialog-head h2{margin-bottom:0}
.sim-dialog-head>img{width:88px;height:88px;object-fit:contain;flex:0 0 88px;filter:drop-shadow(0 4px 1px #3e674b12)}
.sim-dialog p{color:#62745a;line-height:1.65}
.sim-dialog label:not(.sim-select-label){padding:11px 13px;margin:8px 0;background:#eff4e4;border:1px solid #cfddc2;border-radius:12px;color:#4a6748}
.sim-dialog input[type=checkbox]{width:21px;height:21px;flex-shrink:0;accent-color:#378560}
.sim-dialog .sim-select-label{font-size:12px;font-weight:700;color:#59734f}
.sim-select-label select{background:#f7f8e9;border:1px solid #b7c9a8;border-bottom:3px solid #b7c9a8;border-radius:12px;font-size:13px;color:#365a3e}
.sim-dialog-buttons button:not(.sim-primary){background:#edf2df;border:1px solid #b9ccac;border-bottom:4px solid #b9ccac;font-weight:700;border-radius:13px;color:#57744d}
.sim-dialog :is(button,a):focus-visible{outline-color:#368367;outline-offset:3px}
.sim-job{background:linear-gradient(130deg,#fff6db,#f7edca);border:1px solid #d9c27f;border-bottom:4px solid #d9c27f;border-radius:16px;transition:transform .15s}
.sim-job:hover{transform:translateY(-2px)}
.sim-job b{color:#635431;font-family:var(--city-round);font-size:16px}
.sim-job small{color:#7b7358;line-height:1.5}
.sim-job>strong{font-family:var(--city-round);color:#886727;font-size:20px}
.city-taxi-stages span{font-size:9px;border-radius:7px}
.city-taxi-stages .is-current{background:#f1d47f;color:#715821}
.city-taxi-progress,.sim-exam-score{background:#f3edd4;border:1px solid #e1d3a6;border-radius:12px}
.city-adventure-route{border:1px solid #b4cba9;border-bottom:4px solid #bdcfad;background:#fffef5;border-radius:15px;box-shadow:none}
.city-adventure-route:hover{box-shadow:none;background:#eff6e4}
.city-adventure-route-icon{border:1px solid #c3d6b5;background:#e9f2d9;border-radius:13px;color:#568454}
.city-passport{border:1px solid #c9d5ba;background:#f9faee;border-radius:16px}
.city-passport-stamp{border-radius:13px}
.sim-loading{background:#f1f3e9f7}
.sim-loading-card{border:2px solid #acc49e;border-radius:30px;background:linear-gradient(145deg,#fffef4,#eef5df);box-shadow:0 7px 0 #cadcb9,0 24px 80px #314f361a}
.sim-loading h2{font-family:var(--city-round);font-size:29px;font-weight:850;color:#31563e}
.sim-loading-art{filter:drop-shadow(0 5px 2px #33553612)}
.sim-loading-track{height:12px;border:2px solid #c1d4ac;border-radius:9px;background:#dce9cd;box-shadow:inset 0 2px 0 #b7cc9e50;margin-top:22px}
.sim-loading-track:after{background:linear-gradient(#8ac878,#4c995f);box-shadow:inset 0 2px #b9e299}

@keyframes city-welcome-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes city-dialog-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

@media(min-width:901px){
 .sim-layout{grid-template-columns:minmax(0,1fr) 250px}
 .sim-stage{height:calc(100dvh - 130px);min-height:510px}
}
@media(min-width:601px) and (max-width:1050px){
 .sim-hero{padding:25px;grid-template-columns:minmax(0,1.3fr) minmax(145px,.7fr);gap:12px}
 .sim-hero h1{font-size:clamp(34px,4.6vw,48px)}
 .sim-hero-art{min-height:215px}
 .sim-hero-art:before{width:175px;height:175px}
 .sim-hero-art img{height:205px}
 .sim-hero-art>span{font-size:11px;padding:9px 11px}
 .sim-hero p{font-size:12px}
 .sim-modes{gap:12px}
 .sim-mode{padding:14px;border-radius:20px}
 .sim-mode h2{font-size:19px}
 .sim-mode p{font-size:11px}
 .sim-mode>strong{font-size:10px;padding:10px 9px}
 .sim-mode small{font-size:7px}
 .mode-art i{left:0}
}
@media(max-width:1050px) and (min-width:601px){
 .sim-modes{grid-template-columns:1fr}
 .sim-mode{display:grid;grid-template-columns:minmax(0,1fr) 125px;gap:0 14px;padding:20px}
 .sim-mode .mode-art{grid-column:2;grid-row:1/5;align-self:center;height:130px;margin:0}
 .sim-mode small,.sim-mode h2,.sim-mode p,.sim-mode>strong{grid-column:1}
 .sim-mode h2{font-size:23px}.sim-mode p{font-size:12px;margin-bottom:14px}
 .sim-mode>strong{font-size:12px;max-width:230px}
}
@media(max-width:600px){
 .city-main{padding:15px 14px 100px}
 .sim-heading{margin-bottom:18px;gap:8px}
 .sim-heading>.sim-place-tag{display:none}
 .sim-hero{padding:21px 19px 20px;grid-template-columns:minmax(0,1fr) 94px;gap:0 5px;border-radius:25px;margin-bottom:27px;box-shadow:0 5px 0 #ceddc3}
 .sim-hero-copy{display:contents}
 .sim-hero .sim-eyebrow{grid-column:1/-1;justify-self:start;font-size:7px;padding:6px 8px;margin-bottom:14px}
 .sim-hero h1{grid-column:1;grid-row:2;font-size:clamp(30px,9.2vw,42px);margin:0;line-height:1.06;letter-spacing:-.045em;align-self:center}
 .sim-hero p{grid-column:1/-1;grid-row:3;max-width:none;font-size:12px;line-height:1.65;margin-top:18px}
 .sim-facts{grid-column:1/-1;grid-row:4;margin-top:15px;gap:5px}
 .sim-facts>span{font-size:9px;padding:6px 8px;border-radius:8px}
 .sim-hero-art{grid-column:2;grid-row:2;min-height:120px;width:100%;margin:0;align-self:center}
 .sim-hero-art:before{width:90px;height:100px}
 .sim-hero-art img{width:110px;max-width:110px;height:116px}
 .sim-hero-art>span{font-size:8px;padding:7px 9px;bottom:-9px;right:-4px;white-space:nowrap;border-width:1px;border-radius:10px;box-shadow:0 3px 0 #bdd4ad}
 .sim-hero-art>span:before{border-width:1px;width:9px;height:9px;top:-5px;left:20px}
 .spark-one{font-size:18px;left:0;top:5px}.spark-two{font-size:14px;top:5px;right:0}
 .sim-section-heading{gap:8px;margin-bottom:14px;align-items:center}
 .sim-section-heading h2{font-size:23px}
 .sim-section-heading>span{display:none}
 .sim-modes{grid-template-columns:1fr;gap:17px}
 .sim-mode{display:grid;grid-template-columns:minmax(0,1fr) 98px;gap:0 12px;padding:19px;border-radius:23px}
 .sim-mode .mode-art{grid-column:2;grid-row:1/4;width:100%;height:115px;align-self:center;margin:0}
 .mode-art img{width:110px;height:120px}
 .mode-art:before{width:88px;height:72px}
 .mode-art i{left:auto;right:-4px;top:-7px;min-width:27px;height:27px;font-size:17px;border-radius:8px;border-width:1px;box-shadow:0 2px 0 var(--mode-depth)}
 .mode-art.art-taxi i{font-size:8px}
 .sim-mode small,.sim-mode h2,.sim-mode p{grid-column:1}
 .sim-mode small{font-size:7px;padding:4px 5px;max-width:100%}
 .sim-mode h2{font-size:22px;margin:9px 0 8px;line-height:1.12}
 .sim-mode p{font-size:11px;line-height:1.55;margin:0 0 16px}
 .sim-mode>strong{grid-column:1/-1;font-size:12px;padding:11px 13px;min-height:44px}
 .sim-home-bottom{display:grid;grid-template-columns:41px minmax(0,1fr);padding:14px;gap:10px 12px;margin-top:24px}
 .sim-control-key{width:41px;font-size:12px;padding:6px 3px;align-self:start}
 .sim-home-bottom b{font-size:12px}
 .sim-home-bottom p{font-size:10px}
 .sim-home-bottom>.sim-link{grid-column:2;justify-self:start;padding:2px 0;min-height:36px;font-size:12px}
 .sim-disclaimer{font-size:9px}
 .sim-running .city-main{padding-top:10px}
 .sim-toolbar{padding:7px 8px;border-radius:13px;gap:4px;margin-bottom:11px}
 .sim-toolbar>div{gap:4px}
 .sim-toolbar button{font-size:9px;min-height:35px;padding:6px 8px;border-radius:9px}
 .sim-toolbar [data-action=fullscreen]{max-width:69px}
 .sim-stage{border-width:2px;border-radius:20px}
 .sim-speed{top:13px;left:13px;border-width:2px;border-radius:18px;padding:7px 9px;grid-template-columns:32px 18px;gap:0 5px}
 .sim-speed strong{font-size:29px}
 .sim-speed b{width:20px;height:24px;font-size:12px}
 .sim-speed small{font-size:8px}
 .sim-speed>span{left:calc(100% + 10px);top:9px;width:34px;height:34px;border-width:3px;font-size:13px}
 .sim-map-controls{top:14px;right:11px;gap:4px}
 .sim-map-controls button{min-width:32px;min-height:36px;height:36px;padding:0 7px;font-size:10px;border-radius:9px}
 .sim-street{top:88px;left:13px;font-size:9px;max-width:calc(100% - 26px);padding:6px 8px}
 .sim-expanded #sim-game{padding:9px 10px max(10px,env(safe-area-inset-bottom));background:#eff3e5}
 .sim-expanded .sim-panel{top:58px}
 .sim-expanded .sim-panel .sim-car-switches{top:136px;right:0;max-width:210px;gap:5px}
 .sim-expanded .sim-car-switches button{min-height:31px;font-size:9px;border-radius:8px;padding:5px 7px}
 .sim-expanded .sim-mobile-command{padding:10px 5px;background:#eff3e5}
 .sim-mobile-command button{background:#36845e;border:1px solid #276e4c;border-bottom:3px solid #276e4c;border-radius:10px;min-height:41px;font-size:11px;font-weight:700}
 .sim-view-tag{font-size:7px}
 .sim-dialog{padding:21px;border-radius:23px}
 .sim-dialog-head{gap:9px;padding-bottom:13px;margin-bottom:13px}
 .sim-dialog-head>img{width:68px;height:68px;flex-basis:68px}
 .sim-dialog h2{font-size:24px;line-height:1.12}
 .sim-dialog p{font-size:12px}
 .sim-dialog-head .sim-eyebrow{font-size:8px}
 .sim-dialog label{font-size:12px}
 .sim-dialog-buttons button{min-width:105px;padding:11px 12px}
 .city-taxi-orders .sim-job{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px}
 .city-taxi-orders .sim-job>strong{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;border-top:1px solid #e1d3a6;padding-top:9px;font-size:19px}
 .city-taxi-orders .sim-job b{font-size:15px}
 .city-taxi-orders .sim-job>span{min-width:0}
}
@media(max-width:360px){
 .city-main{padding-left:11px;padding-right:11px}
 .sim-hero{padding:18px 15px;grid-template-columns:minmax(0,1fr) 79px}
 .sim-hero h1{font-size:28px}
 .sim-hero-art{min-height:107px}
 .sim-hero-art img{width:96px;max-width:96px;height:104px}
 .sim-hero-art:before{width:78px;height:88px}
 .sim-hero-art>span{font-size:7px;right:-7px;padding:6px 7px}
 .sim-mode{padding:16px;grid-template-columns:minmax(0,1fr) 79px;gap:0 9px}
 .sim-mode h2{font-size:21px}
 .mode-art img{width:92px;height:108px}
 .mode-art:before{width:74px;height:63px}
 .sim-mode p{font-size:11px}
 .sim-map-controls{gap:3px;right:8px}
 .sim-map-controls button{min-width:32px;padding:0 5px;font-size:10px}
 .sim-toolbar{padding:6px;gap:3px}
 .sim-toolbar>div{gap:3px}
 .sim-toolbar button{padding:6px;font-size:9px}
 .sim-toolbar [data-action=help]{min-width:30px}
 .sim-touch{left:10px;right:10px;gap:10px}
 .sim-touch-wheel button{width:49px}
 .sim-touch-pedals button{width:54px;font-size:10px;padding:4px}
 .sim-dialog{padding:18px}
 .sim-dialog-head>img{width:58px;height:58px;flex-basis:58px}
 .sim-dialog h2{font-size:22px}
}
@media(prefers-reduced-motion:reduce){
 .sim-hero-art img,.sim-dialog{animation:none}
 .sim-mode,.mode-art img,.sim-primary,.sim-dialog-buttons .sim-primary,.sim-job{transition:none}
 .sim-mode:hover,.sim-mode:hover .mode-art img{transform:none}
}
