@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#151817;--panel:#202522;--line:#384039;--yellow:#e7f34b;--muted:#a9b1aa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f4f4eb;font:15px Inter,Arial,sans-serif}header,main{max-width:1180px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:28px 24px;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{font:800 32px 'Barlow Condensed',sans-serif;letter-spacing:1px}.brand span{color:var(--yellow)}.brand small{display:block;font:9px Inter;letter-spacing:3px}nav{display:flex;gap:24px;align-items:center}main{padding:32px 24px}h1,h2{font-family:'Barlow Condensed',Impact,sans-serif;margin:0}h1{font-size:clamp(58px,8vw,100px);line-height:.98;letter-spacing:-1px}h2{font-size:34px}p{line-height:1.65;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--yellow);font-weight:700}.badge{font-size:10px;letter-spacing:1.5px;display:inline-block;padding:9px 12px;border:1px solid var(--line);border-radius:4px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;padding:48px 0 64px;align-items:center}.hero p{max-width:470px}.hero-art{position:relative;min-height:320px;overflow:hidden;border-radius:12px;background:repeating-linear-gradient(0deg,transparent 0 39px,#ffffff08 40px),repeating-linear-gradient(90deg,transparent 0 39px,#ffffff08 40px),#303a2d;border:1px solid #526047;display:grid;place-items:center}.hero-art>span{position:absolute;left:22px;top:8px;font:800 100px 'Barlow Condensed';color:#ffffff0e}.digger{font-size:130px;filter:drop-shadow(8px 16px 5px #0005)}.hero-art p{position:absolute;bottom:8px;font-size:10px;letter-spacing:3px}button,.button{font:600 13px Inter,sans-serif;padding:13px 18px;border:1px solid var(--line);border-radius:6px;background:#2d352f;color:#fff;cursor:pointer;display:inline-block}button:hover,.button:hover{filter:brightness(1.12)}button:disabled{opacity:.4;cursor:not-allowed}.yellow{background:var(--yellow);border-color:var(--yellow);color:#17200c}.panel{padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:10px}#auth{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:48px}label{display:block;font-size:12px;margin-bottom:14px}input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #4b564d;border-radius:5px;background:#151a16;color:white}.actions{display:flex;gap:8px;flex-wrap:wrap}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:32px 0 20px}.section-head>span{color:var(--muted);font-size:12px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.vehicle{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}.vehicle-art{font-size:82px;text-align:center;padding:26px;background:#2b3328}.vehicle-body{padding:24px}.vehicle-body h3{font:700 30px 'Barlow Condensed';margin:0}.status{float:right;font-size:11px;color:var(--yellow)}.vehicle button{width:100%}.booking{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.booking:last-child{border:0}.booking small{display:block;color:var(--muted);margin-top:6px}#cockpit{margin-top:28px}#cockpit .section-head{margin-top:0}#timer{font:700 38px 'Barlow Condensed';color:var(--yellow)}.camera{height:280px;background:linear-gradient(#53634c 0 65%,#b09d73 65%);position:relative;overflow:hidden;border-radius:8px}.camera span{position:absolute;left:14px;top:14px;font-size:11px;background:#0009;padding:8px;border-radius:4px}#machine{position:absolute;left:45%;top:45%;font-size:75px;transition:transform .12s}.control-row{display:flex;gap:32px;align-items:center;margin-top:24px}.pad{display:grid;grid-template-columns:repeat(3,55px);gap:7px}.pad button{font-size:24px}.pad button:first-child{grid-column:2}.pad button:nth-child(2){grid-column:1}.danger{background:#752d29}#notice:not(:empty){margin-bottom:20px;padding:15px;border:1px solid #899437;background:#303623;border-radius:6px}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;border-top:1px solid var(--line);padding:28px 0;margin-top:50px}[hidden]{display:none!important}@media(max-width:700px){nav{gap:12px;font-size:12px}.hero{grid-template-columns:1fr;padding-top:30px}.hero-art{min-height:220px}.grid,#auth{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.control-row{flex-direction:column;align-items:flex-start}.booking{flex-wrap:wrap}footer{gap:16px;flex-direction:column}}
.sim-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px}.sim-hud{display:flex;justify-content:space-between;gap:12px;padding:14px;background:#111b16;border-radius:6px 6px 0 0;font-size:11px}.sim-hud strong{color:var(--yellow);font-size:16px}canvas{display:block;width:100%;aspect-ratio:1.8;border-radius:0 0 6px 6px;outline:none}canvas:focus{outline:2px solid var(--yellow)}.sim-note{font-size:10px;color:var(--muted);padding:10px 0}.wide{display:block;width:100%;margin-top:12px}aside h3{margin-top:0}aside small{color:var(--muted);line-height:1.6}.pad button,#brake{touch-action:none;user-select:none}.pad button:active{background:var(--yellow);color:#17200c}select{background:#151a16;color:#fff;padding:12px;border:1px solid #4b564d;border-radius:5px;width:100%}input[type=checkbox]{display:inline-block;width:auto;margin-right:8px}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px}.stat strong{font:700 40px 'Barlow Condensed';display:block;color:var(--yellow)}.stat span{color:var(--muted);font-size:12px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th,td{padding:12px 8px;border-bottom:1px solid var(--line)}th{color:var(--muted)}td button{padding:8px;font-size:11px}details{margin-top:20px}summary{cursor:pointer;padding-bottom:8px}#admin{margin-top:45px}#admin-filter{max-width:230px}.availability{color:#f2c674}.account-label{font-size:12px;color:var(--muted)}@media(max-width:850px){.sim-layout{grid-template-columns:1fr}.sim-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sim-layout aside h3,.sim-layout aside>p,.sim-layout aside>small{grid-column:1/-1}.sim-layout .pad{grid-row:4/7}.admin-columns{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:12px}.sim-hud{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.fleet-grid{grid-template-columns:repeat(4,1fr)}.fleet-grid .vehicle-body{padding:18px}.fleet-grid .vehicle-body h3{font-size:25px}.fleet-grid .vehicle-art{font-size:58px}.account-row{display:grid;grid-template-columns:1fr 1fr;gap:40px}.world-card{position:relative;padding:28px;cursor:pointer}.world-card.selected{border-color:var(--yellow);box-shadow:inset 0 0 0 1px var(--yellow)}.world-card h3{font:700 34px 'Barlow Condensed';margin:12px 0}.world-card .world-icon{font-size:42px}.world-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}.form-pair,.tool-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tool-controls{margin-top:12px}.tool-controls button{padding:10px 8px;font-size:11px}#zoom{width:auto}#account{margin-bottom:30px}#admin-worlds,#admin-vehicles{margin:20px 0}#connection{font-size:12px}input[type=color]{height:48px}.sim-layout{grid-template-columns:minmax(0,1fr) 240px}#simulation{background:#c3ad80;aspect-ratio:1.6}#paypal-buttons{max-width:350px}.tiny-label{font-size:11px;letter-spacing:1px;color:var(--yellow)}@media(max-width:950px){.fleet-grid{grid-template-columns:repeat(2,1fr)}.sim-layout{grid-template-columns:1fr}}@media(max-width:650px){.account-row{grid-template-columns:1fr}.fleet-grid{grid-template-columns:1fr 1fr}.fleet-grid .vehicle-body h3{font-size:21px}.fleet-grid .vehicle-body p{font-size:12px}nav{gap:8px}.hero-art .digger{font-size:90px}.sim-layout aside{display:block}.sim-layout .pad{margin:0 auto}.tool-controls{margin-top:15px}.world-card{padding:20px}}
.fleet-grid .vehicle-art{height:190px;display:flex;align-items:center;justify-content:center;padding:18px 12px;background:radial-gradient(ellipse at 50% 75%,#435039,#2b3328 75%)}.vehicle-art svg{display:block;width:100%;max-width:320px;height:auto}.fleet-grid .vehicle-body .status{float:none;display:block;margin-bottom:8px;font-size:10px;letter-spacing:1px}@media(max-width:650px){.fleet-grid .vehicle-art{height:140px;padding:12px 4px}}

.renewal{position:fixed;inset:0;z-index:50;background:#08110cbb;display:grid;place-items:center;padding:20px}.renewal[hidden]{display:none}.renewal>.panel{width:min(480px,100%);max-height:90vh;overflow:auto}.renewal button{margin-top:12px}#simulation:focus{outline:3px solid #e7f34b;outline-offset:3px}
#play button,#play button *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
#play [data-drive],#play [data-tool],#brake,#scoop{touch-action:none}
#play button:active{filter:brightness(1.25)}
body.map-expanded{overflow:hidden}
#play.large-view{position:fixed;inset:0;z-index:40;margin:0;border-radius:0;overflow:auto;padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}
#play.large-view .section-head{margin:0 0 12px}
#play.large-view .sim-layout aside>h3,#play.large-view .sim-layout aside>p:not(#command),#play.large-view .sim-layout aside>small,#play.large-view #sync{display:none}
#play.large-view canvas{height:60vh;height:60svh;aspect-ratio:auto}
@media(max-width:650px){
 #play{padding:12px;margin-left:-12px;margin-right:-12px}
 #play .section-head{flex-wrap:wrap;margin-top:0}
 #play canvas{height:42vh;height:42svh;min-height:280px;aspect-ratio:auto}
 #play .sim-layout aside>h3,#play .sim-layout aside>p:not(#command),#play .sim-layout aside>small{display:none}
 #play .sim-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 #play .sim-layout .pad{grid-column:1;grid-row:auto;margin:0 auto;grid-template-columns:repeat(3,minmax(42px,1fr));width:100%;max-width:210px;gap:5px}
 #play .pad button{padding:14px 0;font-size:26px}
 #play #keyboard{grid-column:1/-1}
 #play #scoop{grid-column:2;align-self:center;padding:18px 8px}
 #play .tool-controls,#play #command{grid-column:1/-1}
 #play .wide{margin:0}
 #play.large-view canvas{height:45vh;height:45svh;min-height:200px}
 #play.large-view #keyboard{display:none}
 #play.large-view .sim-layout{gap:10px}
}
