:root{--ps1-ink:#1d181d;--ps1-deep:#101a29;--ps1-panel:#27394a;--ps1-panel-low:#182735;--ps1-paper:#fff0c8;--ps1-orange:#f3672c;--ps1-yellow:#ffd452;--ps1-blue:#59b9f8;--ps1-red:#f04f43;--ps1-green:#9abd68;--ps1-muted:#aab7ad;--ps1-display-font:Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif;--ps1-menu-font:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ps1-copy-font:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ps1-border:3px;--ps1-shadow:6px 6px 0 #0e0c12d6;color:var(--ps1-paper);background:var(--ps1-deep);font-family:var(--ps1-copy-font);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#app{overscroll-behavior:none;width:100%;height:100%;min-height:100vh;margin:0;overflow:hidden}html{background:var(--ps1-deep);min-width:320px;min-height:100%;position:relative}body{touch-action:none;background:var(--ps1-deep);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-width:320px;min-height:100%;position:fixed;inset:0}#app{background:var(--ps1-deep);min-height:100%;position:fixed;inset:0}@supports (height:100dvh){body,#app{height:100dvh;min-height:100dvh}}.game-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.game-canvas:focus-visible{outline:3px solid var(--ps1-yellow);outline-offset:-3px}.ps1-screen{isolation:isolate;color:var(--ps1-paper);font-family:var(--ps1-menu-font)}.ps1-screen__raster{z-index:20;mix-blend-mode:multiply;pointer-events:none;background:repeating-linear-gradient(0deg,#1911181f 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#ffe6b206 0 1px,#0000 1px 4px);position:absolute;inset:0}.ps1-panel{border:var(--ps1-border) solid var(--ps1-paper);background:var(--ps1-panel);box-shadow:var(--ps1-shadow);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}.ps1-kicker{color:var(--ps1-yellow);font:900 .63rem/1 var(--ps1-menu-font);letter-spacing:.14em;text-transform:uppercase}.ps1-action{border:3px solid var(--ps1-ink);background:var(--ps1-orange);min-height:48px;box-shadow:4px 4px 0 var(--ps1-ink);color:var(--ps1-paper);font:900 .72rem/1 var(--ps1-menu-font);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;border-radius:0}.ps1-action:hover,.ps1-action:focus-visible{background:var(--ps1-yellow);color:var(--ps1-ink);outline:3px solid var(--ps1-paper);outline-offset:2px}.ps1-action:active{box-shadow:1px 1px 0 var(--ps1-ink);transform:translate(3px,3px)}.ps1-action:disabled{filter:grayscale();opacity:.55;cursor:wait}.ps1-action kbd{background:var(--ps1-ink);color:var(--ps1-yellow);font:inherit;border:1px solid;padding:2px 5px}.boot-state{z-index:30;background:radial-gradient(circle at 52% 46%, #4b5c79b8 0 4%, transparent 32%), repeating-linear-gradient(135deg, #ffd68c09 0 2px, transparent 2px 8px), var(--ps1-deep);place-items:center;padding:28px;display:grid;position:absolute;inset:0}.world-loading__card,.boot-error__card{z-index:4;text-align:left;width:min(660px,100%);max-height:100%;padding:28px 32px 26px;position:relative}.world-loading__header,.world-loading__footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.world-loading__memory,.world-loading__footer{color:var(--ps1-muted);font:800 .58rem/1 var(--ps1-menu-font);letter-spacing:.1em}.world-loading h1,.boot-state--error h1{color:var(--ps1-paper);font:italic 900 clamp(3.8rem, 9vw, 7rem)/.78 var(--ps1-display-font);letter-spacing:-.035em;-webkit-text-stroke:2px var(--ps1-ink);text-shadow:5px 5px 0 var(--ps1-orange);margin:14px 0 0}.world-loading__location{max-width:100%;color:var(--ps1-blue);font:900 .86rem/1.2 var(--ps1-menu-font);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin:22px 0 0;overflow:hidden}.world-loading__activity{align-items:center;gap:12px;margin-top:24px;display:flex}.world-loading__spinner,.spawn-picker__loading-pixels{grid-template-columns:repeat(4,6px);gap:3px;display:grid}.world-loading__spinner i,.spawn-picker__loading-pixels i{background:var(--ps1-orange);width:6px;height:10px;animation:.8s step-end infinite ps1-loading-pixels}.world-loading__spinner i:nth-child(2),.spawn-picker__loading-pixels i:nth-child(2){animation-delay:.1s}.world-loading__spinner i:nth-child(3),.spawn-picker__loading-pixels i:nth-child(3){animation-delay:.2s}.world-loading__spinner i:nth-child(4),.spawn-picker__loading-pixels i:nth-child(4){animation-delay:.3s}@keyframes ps1-loading-pixels{0%,50%{background:var(--ps1-orange);transform:scaleY(1)}51%,to{background:var(--ps1-yellow);transform:scaleY(.55)}}.world-loading__phase{color:var(--ps1-paper);font:900 .72rem/1 var(--ps1-menu-font);letter-spacing:.08em;text-transform:uppercase}.world-loading__message{min-height:1.2rem;color:var(--ps1-muted);font:700 .67rem/1.35 var(--ps1-menu-font);text-transform:uppercase;margin-top:10px;display:block}.world-loading__progress-row{grid-template-columns:minmax(0,1fr) 54px;align-items:center;gap:12px;margin-top:15px;display:grid}.world-loading__progress{border:2px solid var(--ps1-paper);background:repeating-linear-gradient(90deg, var(--ps1-ink) 0 14px, #354352 14px 16px);height:20px;padding:3px;overflow:hidden}.world-loading__progress i{background:repeating-linear-gradient(90deg, var(--ps1-orange) 0 14px, var(--ps1-ink) 14px 16px);transform-origin:0;width:100%;height:100%;transition:transform .18s steps(20,end);display:block;transform:scaleX(0)}.world-loading__percentage{color:var(--ps1-yellow);font:italic 900 1rem/1 var(--ps1-display-font);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-align:right}.world-loading__footer{border-top:2px solid #fff0c83d;margin-top:19px;padding-top:10px}.boot-state--error{background:repeating-linear-gradient(135deg, #f04f431a 0 4px, transparent 4px 12px), var(--ps1-deep)}.boot-state--error h1{color:var(--ps1-red);text-shadow:4px 4px 0 var(--ps1-ink);font-size:clamp(3.3rem,8vw,6rem)}.boot-error__message{max-width:52ch;color:var(--ps1-paper);font:700 .76rem/1.55 var(--ps1-copy-font);margin:24px 0}.boot-error__retry{justify-content:space-between;align-items:center;width:100%;padding:0 16px;display:flex}.boot-error__card>small{color:var(--ps1-muted);font:700 .58rem/1.3 var(--ps1-menu-font);text-transform:uppercase;margin-top:12px;display:block}.spawn-picker{--spawn-map-focus-x:0;--spawn-map-focus-y:0;z-index:20;background:var(--ps1-deep);width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}@supports (height:100dvh){.spawn-picker{height:100dvh}}.spawn-picker>.spawn-picker__map{background:#a7af78;width:100%;height:100%;position:absolute;inset:0}.spawn-picker__map .maplibregl-canvas{image-rendering:pixelated}.spawn-picker__map-tone{z-index:1;background:repeating-conic-gradient(from 45deg, #fff0c809 0 25%, transparent 0 50%) 0 0 / 4px 4px, linear-gradient(90deg, #0d151f8f, transparent 38%, transparent 67%, #0d151f59), linear-gradient(180deg, #0d151f47, transparent 28%, transparent 72%, #0d151f75);pointer-events:none;position:absolute;inset:0}.spawn-picker__map .maplibregl-canvas-container,.spawn-picker__map .maplibregl-control-container{opacity:0;transition:opacity .16s steps(4,end)}.spawn-picker[data-map-ready=true] .spawn-picker__map .maplibregl-canvas-container,.spawn-picker[data-map-ready=true] .spawn-picker__map .maplibregl-control-container{opacity:1}.spawn-picker__map-loading{z-index:2;background:var(--ps1-deep);color:var(--ps1-paper);font:900 .68rem/1 var(--ps1-menu-font);letter-spacing:.1em;pointer-events:none;justify-content:center;align-items:center;gap:12px;transition:opacity .16s steps(4,end),visibility .16s;display:flex;position:absolute;inset:0}.spawn-picker[data-map-ready=true] .spawn-picker__map-loading,.spawn-picker__map-loading[aria-hidden=true]{opacity:0;visibility:hidden}.spawn-picker__hero{z-index:4;pointer-events:none;width:360px;position:absolute;top:24px;left:28px}.spawn-picker__hero h1{color:var(--ps1-paper);font:italic 900 clamp(3.2rem, 5vw, 4.8rem)/.76 var(--ps1-display-font);letter-spacing:-.045em;-webkit-text-stroke:2px var(--ps1-ink);text-shadow:5px 5px 0 var(--ps1-ink);margin:0}.spawn-picker__hero h1 span{color:var(--ps1-orange)}.spawn-search,.spawn-selection{z-index:4;color:var(--ps1-paper);position:absolute}.spawn-search{width:min(330px,100vw - 56px);box-shadow:4px 4px 0 var(--ps1-ink);border-width:2px;padding:7px;top:112px;left:28px}.spawn-search:has(.spawn-search__result){z-index:12}.spawn-search__label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.spawn-search__row{grid-template-columns:minmax(0,1fr) 54px;gap:6px;display:grid}.spawn-search input{border:3px solid var(--ps1-ink);outline:2px solid var(--ps1-paper);outline-offset:-2px;background:var(--ps1-panel-low);min-width:0;min-height:46px;color:var(--ps1-paper);font:800 .68rem/1 var(--ps1-menu-font);letter-spacing:.03em;-webkit-user-select:text;user-select:text;border-radius:0;padding:0 10px}.spawn-search input::placeholder{color:#84918b}.spawn-search input:focus{outline-color:var(--ps1-yellow);caret-color:var(--ps1-orange)}.spawn-search__status{color:var(--ps1-blue);font:800 .57rem/1.35 var(--ps1-menu-font);letter-spacing:.03em;margin:7px 3px 1px}.spawn-search__status:empty,.spawn-search__results:empty{display:none}.spawn-search__results{border-left:4px solid var(--ps1-orange);max-height:min(42vh,320px);margin-top:7px;display:grid;overflow:auto}.spawn-search .spawn-search__result{background:var(--ps1-panel-low);min-height:44px;color:var(--ps1-paper);font:750 .64rem/1.25 var(--ps1-copy-font);text-align:left;cursor:pointer;border:0;border-bottom:1px solid #fff0c838;padding:9px 10px}.spawn-search .spawn-search__result:hover,.spawn-search .spawn-search__result:focus-visible{background:var(--ps1-yellow);color:var(--ps1-ink);outline:2px solid var(--ps1-ink);outline-offset:-3px}.data-credits__full{display:none}.data-credits__compact{display:inline}.spawn-selection{grid-template-columns:48px 48px minmax(0,1fr);gap:6px 8px;width:min(380px,100vw - 56px);padding:14px;display:grid;bottom:28px;right:28px}.spawn-selection__header{border-bottom:2px solid #fff0c847;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding-bottom:7px;display:flex}.spawn-selection__kind,.spawn-selection__index{color:var(--ps1-yellow);font:900 .64rem/1 var(--ps1-menu-font);letter-spacing:.1em}.spawn-selection__index{color:var(--ps1-paper);font-variant-numeric:tabular-nums;white-space:nowrap}.spawn-selection__index:empty{display:none}.spawn-selection__kind[data-kind=scenic]{color:var(--ps1-blue)}.spawn-selection__kind[data-kind=track]{color:var(--ps1-red)}.spawn-selection__kind[data-kind=custom]{color:var(--ps1-green)}.spawn-selection strong{color:var(--ps1-paper);font:italic 900 clamp(1.65rem, 3vw, 2.4rem)/.98 var(--ps1-display-font);letter-spacing:.015em;text-overflow:ellipsis;text-shadow:3px 3px 0 var(--ps1-ink);white-space:nowrap;grid-column:1/-1;overflow:hidden}.spawn-selection__region{color:var(--ps1-yellow);font:800 .63rem/1.2 var(--ps1-menu-font);letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1}.spawn-selection__browse{grid-column:1/3;grid-template-columns:1fr 1fr;gap:6px;display:grid}.spawn-selection__browse button{border:2px solid var(--ps1-paper);background:var(--ps1-panel-low);min-height:44px;color:var(--ps1-paper);font:900 .58rem/1 var(--ps1-menu-font);cursor:pointer;border-radius:0}.spawn-selection__browse button:hover,.spawn-selection__browse button:focus-visible{border-color:var(--ps1-yellow);color:var(--ps1-yellow);outline:2px solid var(--ps1-orange);outline-offset:2px}.spawn-selection__browse span{color:var(--ps1-orange);font:900 .78rem/1 var(--ps1-menu-font)}.spawn-selection__start>span:last-child,.boot-error__retry>span{color:var(--ps1-ink);font:inherit}.spawn-selection__start{grid-column:3;justify-content:space-between;align-items:center;width:100%;margin:0;padding:0 14px;display:flex}.spawn-picker__error{z-index:22;border:3px solid var(--ps1-paper);background:var(--ps1-red);max-width:min(460px,100vw - 56px);box-shadow:5px 5px 0 var(--ps1-ink);color:var(--ps1-paper);font:900 .58rem/1.35 var(--ps1-menu-font);opacity:0;text-align:center;pointer-events:none;margin:0;padding:10px 14px;transition:opacity .14s steps(3,end),transform .14s steps(3,end);position:absolute;bottom:30px;left:50%;transform:translate(-50%,8px)}.spawn-picker__error--visible{opacity:1;transform:translate(-50%)}.spawn-picker__selected-marker{border:3px solid var(--ps1-yellow);width:30px;height:30px;box-shadow:3px 3px 0 var(--ps1-ink), inset 0 0 0 3px #1d181d73;pointer-events:none;background:#1d181d29}.spawn-picker__selected-marker:before,.spawn-picker__selected-marker:after{background:var(--ps1-orange);content:"";position:absolute}.spawn-picker__selected-marker:before{width:38px;height:3px;top:11px;left:-7px}.spawn-picker__selected-marker:after{width:3px;height:38px;top:-7px;left:11px}.spawn-picker .maplibregl-ctrl-top-right{top:124px;right:28px}.spawn-picker .maplibregl-ctrl-group{border:2px solid var(--ps1-paper);background:var(--ps1-panel);box-shadow:4px 4px 0 var(--ps1-ink);border-radius:0;overflow:visible}.spawn-picker .maplibregl-ctrl-group button{border-bottom:1px solid var(--ps1-paper);width:44px;height:44px}.spawn-picker .maplibregl-ctrl-icon{filter:invert()sepia(.3)}.data-credits{z-index:22;color:var(--ps1-paper);font:850 .52rem/1 var(--ps1-menu-font);letter-spacing:.045em;text-transform:uppercase;align-items:center;gap:7px;display:flex;position:absolute;bottom:28px;left:28px}.data-credits a{color:inherit;text-decoration:none}.data-credits__primary,.data-credits__details>summary{border:2px solid var(--ps1-paper);background:var(--ps1-ink);align-items:center;min-height:44px;padding:6px 8px;display:flex;box-shadow:2px 2px #1d181d80}.data-credits__primary:hover,.data-credits__primary:focus-visible,.data-credits__details>summary:hover,.data-credits__details>summary:focus-visible{border-color:var(--ps1-yellow);color:var(--ps1-yellow);outline:2px solid var(--ps1-orange);outline-offset:2px}.data-credits__details{position:relative}.data-credits__details>summary{cursor:pointer;list-style:none}.data-credits__details>summary::-webkit-details-marker{display:none}.data-credits__panel{border:3px solid var(--ps1-paper);background:var(--ps1-panel-low);width:248px;box-shadow:var(--ps1-shadow);display:grid;position:absolute;bottom:calc(100% + 8px);left:0}.data-credits__panel a{color:var(--ps1-paper);font-family:var(--ps1-copy-font);letter-spacing:0;text-transform:none;border-bottom:1px solid #fff0c840;gap:3px;padding:9px 10px;font-size:.62rem;display:grid}.data-credits__panel a:last-child{border-bottom:0}.data-credits__panel a:hover{background:var(--ps1-orange)}.data-credits__panel span{color:var(--ps1-yellow);font:850 .5rem/1 var(--ps1-menu-font);letter-spacing:.08em;text-transform:uppercase}.hud{z-index:4;color:var(--ps1-paper);pointer-events:none;touch-action:none;position:fixed;inset:0;overflow:hidden}.hud__location{flex-direction:column;align-items:flex-start;gap:4px;width:clamp(180px,100vw - 338px,420px);min-width:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;position:absolute;top:24px;left:24px}.hud__location strong{color:#fff8dd;letter-spacing:-.035em;text-overflow:ellipsis;max-width:100%;text-shadow:-1px -1px 0 var(--ps1-ink), 1px -1px 0 var(--ps1-ink), -1px 1px 0 var(--ps1-ink), 1px 1px 0 var(--ps1-ink), 2px 2px 0 #1d181d75;white-space:nowrap;font-size:1.08rem;font-weight:850;line-height:1.05;display:block;overflow:hidden}.hud__change-location{border:2px solid var(--ps1-ink);background:var(--ps1-orange);min-height:30px;box-shadow:3px 3px 0 var(--ps1-ink);color:#fff6d8;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;pointer-events:auto;touch-action:manipulation;border-radius:2px;align-self:flex-start;margin-top:3px;padding:0 10px;font:800 .58rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hud__change-location:hover,.hud__change-location:focus-visible{background:var(--ps1-yellow);color:var(--ps1-ink);outline:2px solid var(--ps1-paper);outline-offset:2px}.hud__change-location:active{box-shadow:1px 1px 0 var(--ps1-ink);transform:translate(2px,2px)}.hud__eyebrow,.hud__source,.hud__weather,.minimap__heading,.speedometer__unit{letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:800}.hud__eyebrow{background:var(--ps1-ink);color:var(--ps1-orange);padding:3px 6px 2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hud__source{color:#fff1cd;letter-spacing:.045em;text-shadow:1px 1px 0 var(--ps1-ink), -1px -1px 0 var(--ps1-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.52rem}.hud__weather{color:#bfe0e4;letter-spacing:.055em;text-transform:uppercase;width:fit-content;text-shadow:1px 1px 0 var(--ps1-ink);background:#1b2537c7;padding:2px 5px;font:800 .5rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hud__weather[data-condition=snow]{color:#edf4ef}.hud__weather[data-condition=storm]{color:#c7d2ff}.speedometer{min-width:154px;font-family:Impact,Haettenschweiler,Arial Narrow Bold,Arial Narrow,sans-serif;position:absolute;bottom:24px;left:24px;transform:skew(-5deg)}.speedometer__row{align-items:flex-end;gap:10px;display:flex}.speedometer__value{color:#fff8da;font-variant-numeric:tabular-nums;letter-spacing:-.065em;-webkit-text-stroke:2px var(--ps1-ink);min-width:2.1ch;text-shadow:3px 0 0 var(--ps1-ink), -3px 0 0 var(--ps1-ink), 0 3px 0 var(--ps1-ink), 0 -3px 0 var(--ps1-ink), 5px 5px 0 #1d181d8a;font-size:clamp(3.8rem,6.8vw,6.2rem);font-weight:900;line-height:.78}.speedometer__unit{color:var(--ps1-orange);text-shadow:-1px -1px 0 var(--ps1-ink), 1px -1px 0 var(--ps1-ink), -1px 1px 0 var(--ps1-ink), 1px 1px 0 var(--ps1-ink);margin-bottom:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem}.speedometer__surface{background:var(--ps1-ink);width:max-content;color:var(--ps1-paper);letter-spacing:.1em;align-items:center;gap:6px;margin-top:9px;padding:3px 7px 3px 5px;font:800 .58rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex}.speedometer__surface i{background:var(--ps1-yellow);width:8px;height:8px}.speedometer__surface[data-surface=grass] i{background:var(--ps1-green)}.speedometer__surface[data-surface=shoulder] i{background:#d9bd7d}.speedometer__surface[data-surface=gravel] i,.speedometer__surface[data-surface=dirt] i,.speedometer__surface[data-surface=forest] i,.speedometer__surface[data-surface=farmland] i{background:#b78a56}.speedometer__surface[data-surface=sand] i{background:#f0b65d}.speedometer__surface[data-surface=mud] i{background:#76513e}.speedometer__surface[data-surface=snow] i,.speedometer__surface[data-surface=ice] i{background:#c8dcda}.speedometer__surface[data-surface=water] i{background:#61a5b2}.minimap{border:3px solid var(--ps1-ink);background:var(--ps1-paper);border-radius:2px;width:242px;padding:4px;position:absolute;top:24px;right:24px;box-shadow:5px 5px #1d181db8}.minimap__heading{background:var(--ps1-orange);color:#fff5d7;text-shadow:1px 1px 0 var(--ps1-ink);justify-content:space-between;padding:5px 6px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.57rem;display:flex}.hud-fps{border:1px solid var(--ps1-ink);background:var(--ps1-ink);min-width:6.5ch;color:var(--ps1-paper);font:inherit;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-align:right;text-shadow:none;padding:1px 3px}.hud-fps[data-tone=stable]{color:var(--ps1-green)}.hud-fps[data-tone=strained]{color:var(--ps1-yellow)}.hud-fps[data-tone=slow]{color:var(--ps1-red)}.minimap__mount{border:2px solid var(--ps1-ink);background:#a7af78;place-items:center;display:grid;overflow:hidden}.minimap__canvas{width:224px;height:224px;image-rendering:pixelated;display:block}.controls-hint{border:2px solid var(--ps1-paper);background:var(--ps1-ink);color:var(--ps1-paper);opacity:0;visibility:hidden;white-space:nowrap;border-radius:2px;align-items:center;gap:14px;padding:7px 9px;font:700 .61rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;transition:opacity .18s steps(2,end),transform .18s steps(2,end);display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%,8px);box-shadow:4px 4px #1d181d80}.controls-hint--visible{opacity:1;visibility:visible;transform:translate(-50%)}.controls-hint__drive{align-items:center;gap:4px;display:flex}.controls-hint__drive kbd:last-of-type{margin-right:4px}.hud kbd,.handling-tuner kbd{border:1px solid var(--ps1-paper);min-height:22px;color:var(--ps1-orange);letter-spacing:.06em;background:#332a31;border-radius:1px;align-items:center;margin-right:4px;padding:0 7px;font-family:inherit;font-size:.59rem;font-weight:800;display:inline-flex}.hud kbd[data-active=true]{border-color:var(--ps1-ink);background:var(--ps1-yellow);color:var(--ps1-ink);box-shadow:2px 2px 0 var(--ps1-orange)}.recovery-toast{border:2px solid var(--ps1-paper);background:var(--ps1-ink);color:var(--ps1-yellow);letter-spacing:.08em;text-transform:uppercase;opacity:0;border-radius:2px;padding:10px 14px;font:800 .66rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;transition:opacity .18s,transform .18s;position:absolute;top:24px;left:50%;transform:translate(-50%,-8px);box-shadow:4px 4px #1d181d80}.recovery-toast--visible{opacity:1;transform:translate(-50%)}.hud[data-drifting=true] .speedometer__value{color:var(--ps1-yellow)}.handling-tuner{z-index:9;color:#f5f7f2;text-shadow:0 1px 1px #0003;-webkit-backdrop-filter:blur(22px)saturate(120%);backdrop-filter:blur(22px)saturate(120%);background:linear-gradient(155deg,#141f19f7,#0e1712f2);border:1px solid #fff3;border-radius:18px;flex-direction:column;width:min(370px,100vw - 36px);max-height:calc(100dvh - 36px);font-family:inherit;display:flex;position:fixed;top:18px;right:18px;overflow:hidden;box-shadow:0 24px 80px #050a076b,inset 0 1px #ffffff14}.handling-tuner[hidden]{display:none}.handling-tuner__header{justify-content:space-between;align-items:flex-start;padding:17px 17px 10px;display:flex}.handling-tuner__header>div{flex-direction:column;gap:3px;display:flex}.handling-tuner__header span{color:var(--ps1-yellow);letter-spacing:.12em;font-size:.57rem;font-weight:800}.handling-tuner__header strong{letter-spacing:-.035em;font-size:1.3rem}.handling-tuner__close{color:#ffffffc2;width:30px;height:30px;font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:9px;place-items:center;font-size:1.1rem;display:grid}.handling-tuner__intro{color:#f5f7f294;margin:0;padding:0 17px 13px;font-size:.68rem}.handling-tuner__intro kbd{min-height:19px;padding:0 5px;font-size:.52rem}.handling-tuner__sections{scrollbar-color:#f3d55f6b transparent;scrollbar-width:thin;flex-direction:column;gap:15px;padding:0 17px 16px;display:flex;overflow:auto}.handling-tuner__section{border-top:1px solid #ffffff17;flex-direction:column;gap:10px;padding-top:14px;display:flex}.handling-tuner__section h2{color:#f5f7f294;letter-spacing:.12em;text-transform:uppercase;margin:0 0 1px;font-size:.59rem;font-weight:800}.handling-tuner__control{cursor:ew-resize;flex-direction:column;gap:5px;display:flex}.handling-tuner__control-heading{justify-content:space-between;align-items:baseline;gap:12px;font-size:.72rem;font-weight:650;display:flex}.handling-tuner__control output{color:var(--ps1-yellow);font-variant-numeric:tabular-nums;font-size:.66rem;font-weight:760}.handling-tuner input[type=range]{width:100%;height:16px;accent-color:var(--ps1-yellow);cursor:ew-resize;margin:0}.handling-tuner__footer{background:#09100c42;border-top:1px solid #ffffff1a;grid-template-columns:1fr 1fr;gap:8px;padding:13px 17px 15px;display:grid}.handling-tuner__footer button{color:#f4f7f1;min-height:34px;font:inherit;cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;border-radius:9px;font-size:.65rem;font-weight:720}.handling-tuner__footer button:first-child{background:var(--ps1-yellow);color:#1c2a22;border-color:#f3d55f6b}.handling-tuner__status{color:#f5f7f280;text-align:center;grid-column:1/-1;min-height:1em;font-size:.58rem}.handling-tuner__copy-field{opacity:0;position:fixed;left:-9999px}@media (width<=1100px),(height<=760px){.hud__location{top:16px;left:16px}.minimap{width:242px;top:16px;right:16px}.minimap__canvas{width:224px;height:224px}.speedometer{bottom:16px;left:16px}.controls-hint{bottom:16px}}.touch-controls{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);z-index:6;pointer-events:none;touch-action:none;visibility:hidden;opacity:0;-webkit-tap-highlight-color:transparent;transition:opacity .16s;position:fixed;inset:0;overflow:hidden}html[data-input-mode=touch] .touch-controls{visibility:visible;opacity:1}html[data-input-mode=touch] .controls-hint{visibility:hidden;opacity:0}.touch-arrow-group,.touch-arrow,.touch-action,.orientation-prompt{pointer-events:auto;touch-action:none}.touch-arrow-group{bottom:calc(var(--safe-bottom) + 18px);gap:9px;display:flex;position:absolute}.touch-arrow-group--steer{left:calc(var(--safe-left) + 18px)}.touch-arrow-group--throttle{right:calc(var(--safe-right) + 18px);flex-direction:column}.touch-arrow{border:3px solid var(--ps1-ink);appearance:none;width:clamp(62px,9vw,76px);height:clamp(62px,9vw,76px);color:var(--ps1-yellow);cursor:pointer;font:inherit;background:#1d181dd1;border-radius:5px;place-items:center;font-size:2rem;font-weight:700;line-height:1;transition:transform .1s,background .1s,border-color .1s;display:grid;box-shadow:4px 4px #1d181d8c}.touch-arrow[data-active=true]{border-color:var(--ps1-ink);background:var(--ps1-yellow);color:var(--ps1-ink);transform:scale(.94)}.touch-arrow-group__caption{background:var(--ps1-ink);color:var(--ps1-paper);letter-spacing:.13em;padding:2px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.54rem;font-weight:800;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.touch-action{border:3px solid var(--ps1-ink);appearance:none;min-width:56px;min-height:56px;color:var(--ps1-paper);letter-spacing:.07em;background:#1d181dd1;border-radius:5px;place-content:center;font:800 .64rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:grid;position:absolute;box-shadow:4px 4px #1d181d8c}.touch-action[data-active=true]{border-color:var(--ps1-ink);background:var(--ps1-orange);color:var(--ps1-paper);transform:scale(.94)}.touch-action--recover{top:calc(var(--safe-top) + 15px);border-radius:5px;align-items:center;gap:6px;min-width:92px;min-height:52px;padding:0 12px;display:flex;left:50%;transform:translate(-50%)}.touch-action--recover[data-active=true]{transform:translate(-50%)scale(.95)}.touch-action--recover span{color:var(--ps1-orange);font-size:1.25rem}.touch-action--recover[data-active=true] span{color:inherit}.touch-action--recover small{letter-spacing:.09em;font-size:.52rem}.touch-controls[data-compact-recovery=true] .touch-action--recover{width:52px;min-width:52px;padding:0;left:calc(50% + 8px)}.touch-controls[data-compact-recovery=true] .touch-action--recover small{display:none}.touch-action--drift{right:calc(var(--safe-right) + clamp(176px, 25vw, 216px));bottom:calc(var(--safe-bottom) + 30px);min-width:70px;padding:0 12px;font-size:.64rem}.orientation-prompt{z-index:10;padding:calc(var(--safe-top) + 30px) calc(var(--safe-right) + 30px) calc(var(--safe-bottom) + 30px) calc(var(--safe-left) + 30px);color:var(--ps1-paper);text-align:center;background:#1d181df7;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex;position:fixed;inset:0}.orientation-prompt[hidden]{display:none}.orientation-prompt strong{letter-spacing:-.025em;margin-top:10px;font-size:1.25rem}.orientation-prompt>span:last-child{color:#f5f7f2a8;max-width:270px;font-size:.78rem;line-height:1.45}.orientation-prompt__phone{border:3px solid var(--ps1-orange);border-radius:3px;width:37px;height:64px;transform:rotate(90deg);box-shadow:5px 5px #ff64242e}html[data-input-mode=touch] .hud__location{top:calc(env(safe-area-inset-top,0px) + 14px);left:calc(env(safe-area-inset-left,0px) + 14px);min-width:0;max-width:min(240px,42vw);padding:0}html[data-input-mode=touch] .hud__location strong{font-size:.88rem}html[data-input-mode=touch] .hud__source{display:none}html[data-input-mode=touch] .hud__weather{text-overflow:ellipsis;white-space:nowrap;max-width:172px;font-size:.46rem;overflow:hidden}html[data-input-mode=touch] .hud__change-location{min-width:52px;min-height:52px}html[data-input-mode=touch] .speedometer{top:calc(env(safe-area-inset-top,0px) + 140px);bottom:auto;left:calc(env(safe-area-inset-left,0px) + 14px);min-width:112px;padding:0}html[data-input-mode=touch] .speedometer__value{font-size:clamp(2.3rem,6vw,3.2rem)}html[data-input-mode=touch] .speedometer__surface{margin-top:8px}html[data-input-mode=touch] .minimap{top:calc(env(safe-area-inset-top,0px) + 14px);right:calc(env(safe-area-inset-right,0px) + 14px);border-width:2px;width:126px;padding:3px}html[data-input-mode=touch] .minimap__heading{padding:4px;font-size:.5rem}html[data-input-mode=touch] .minimap__canvas{width:112px;height:112px}@media (width<=720px){html:not([data-input-mode=touch]) .hud__location{width:auto;min-width:0;max-width:calc(100vw - 162px);top:12px;left:12px}html:not([data-input-mode=touch]) .minimap{border-width:2px;width:126px;padding:3px;top:12px;right:12px}html:not([data-input-mode=touch]) .minimap__canvas{width:112px;height:112px}html:not([data-input-mode=touch]) .controls-hint{display:none}}@media (width<=600px) and (height<=500px){.touch-arrow-group{bottom:calc(var(--safe-bottom) + 10px)}.touch-arrow-group--steer{left:calc(var(--safe-left) + 12px)}.touch-arrow-group--throttle{right:calc(var(--safe-right) + 12px)}.touch-arrow{border-radius:4px;width:58px;height:58px;font-size:1.7rem}.touch-action--drift{right:calc(var(--safe-right) + 142px);bottom:calc(var(--safe-bottom) + 18px)}html[data-input-mode=touch] .hud__location{max-width:220px}.handling-tuner{max-height:calc(100dvh - 16px);top:8px;right:8px}}@media (width<=520px){.handling-tuner{top:max(10px, env(safe-area-inset-top,0px));width:calc(100vw - 20px);max-height:calc(100dvh - max(20px, env(safe-area-inset-top,0px)));right:10px}}@media (width<=360px) and (height<=420px){html[data-input-mode=touch] .minimap{display:none}html[data-input-mode=touch] .hud__location{max-width:calc(100vw - 86px)}}.car-garage{--garage-edge:clamp(18px, 2.6vw, 42px);padding:var(--garage-edge);background:var(--ps1-deep);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1.75fr) minmax(310px,.75fr);gap:clamp(14px,2vw,28px);display:grid;position:absolute;inset:0;overflow:hidden}.car-garage__backdrop{z-index:-1;background:linear-gradient(112deg,#0000 0 53%,#080f1ab8 53% 100%),repeating-linear-gradient(135deg,#ffe8c009 0 2px,#0000 2px 14px),linear-gradient(#273e57 0 38%,#132238 38% 100%);position:absolute;inset:0}.car-garage__backdrop:before,.car-garage__backdrop:after{content:"";pointer-events:none;position:absolute}.car-garage__backdrop:before{background:linear-gradient(90deg, var(--selected-vehicle-color) 0 63%, var(--ps1-paper) 63% 65%, transparent 65%);height:3px;inset:39% 0 auto;box-shadow:0 8px #080e19b8}.car-garage__backdrop:after{border:2px solid #fff0c821;width:46vw;height:58vh;bottom:-10vh;right:-7vw;transform:skew(-19deg)}.car-garage__header{z-index:2;grid-area:1/1;align-self:start}.car-garage__header h1{color:var(--ps1-paper);font:italic 900 clamp(3.4rem, 6.4vw, 7.2rem)/.72 var(--ps1-display-font);letter-spacing:-.045em;-webkit-text-stroke:2px var(--ps1-ink);text-shadow:5px 5px 0 var(--selected-vehicle-color);margin:8px 0 0}.car-garage__header h1 span{color:var(--ps1-yellow)}.car-garage__header p{color:var(--ps1-blue);font:900 .64rem/1 var(--ps1-menu-font);letter-spacing:.14em;margin:12px 0 0 4px}.garage-preview{z-index:1;border-bottom:2px solid #fff0c83d;grid-area:2/1;min-height:0;position:relative;overflow:hidden}.garage-preview:before{content:"";pointer-events:none;border:2px solid #fff0c81f;border-radius:50%;height:28%;position:absolute;inset:auto 4% 4% 7%;transform:perspective(320px)rotateX(66deg)}.garage-preview:after{content:"";mix-blend-mode:soft-light;opacity:.48;pointer-events:none;background-image:radial-gradient(#fff0c824 .7px,#0000 .8px);background-size:4px 4px;position:absolute;inset:0}.garage-preview__mount,.garage-preview__canvas{width:100%;height:100%}.garage-preview__canvas{cursor:grab;filter:contrast(1.08)saturate(.92);image-rendering:pixelated;touch-action:none;display:block}.garage-preview__canvas:active{cursor:grabbing}.garage-preview__status{background:var(--ps1-ink);color:var(--ps1-yellow);font:900 .58rem/1 var(--ps1-menu-font);letter-spacing:.1em;padding:8px 12px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.garage-preview__controls{color:var(--ps1-muted);font:800 .52rem/1 var(--ps1-menu-font);letter-spacing:.1em;align-items:center;gap:8px;display:flex;position:absolute;bottom:10px;right:12px}.garage-preview__controls button{border:2px solid var(--ps1-paper);width:44px;min-height:44px;color:var(--ps1-paper);cursor:pointer;touch-action:manipulation;background:#101a29d1;border-radius:0}.garage-preview__controls button:hover,.garage-preview__controls button:focus-visible{border-color:var(--ps1-yellow);color:var(--ps1-yellow);outline:2px solid var(--ps1-ink)}.garage-spec{z-index:2;border-color:var(--selected-vehicle-color);background:#1b2a39f2;grid-area:1/2/3;align-self:stretch;min-height:0;padding:clamp(20px,2.6vw,36px);position:relative;overflow:auto}.garage-spec:before{background:var(--selected-vehicle-color);content:"";height:8px;position:absolute;top:0;left:0;right:0}.garage-spec__index{color:var(--ps1-yellow);font:900 .62rem/1 var(--ps1-menu-font);letter-spacing:.13em}.garage-spec h2{color:var(--ps1-paper);font:italic 900 clamp(2.8rem, 4.4vw, 5.4rem)/.76 var(--ps1-display-font);letter-spacing:-.04em;text-transform:uppercase;margin:clamp(18px,3vh,30px) 0 0}.garage-spec__archetype{color:var(--selected-vehicle-color);font:900 .68rem/1.2 var(--ps1-menu-font);letter-spacing:.1em;margin:13px 0 0}.garage-spec__description{max-width:36ch;color:var(--ps1-muted);font:700 .68rem/1.55 var(--ps1-copy-font);margin:18px 0 0}.garage-spec__facts{color:var(--ps1-blue);font:900 .58rem/1.2 var(--ps1-menu-font);letter-spacing:.08em;border-block:1px solid #fff0c847;margin-top:clamp(18px,3vh,30px);padding:10px 0}.garage-spec__stats{gap:clamp(10px,1.8vh,16px);margin-top:clamp(18px,3vh,30px);display:grid}.garage-stat{font:900 .55rem/1 var(--ps1-menu-font);letter-spacing:.05em;grid-template-columns:76px minmax(100px,1fr) 24px;align-items:center;gap:10px;display:grid}.garage-stat__track{grid-template-columns:repeat(5,1fr);gap:3px;height:12px;display:grid}.garage-stat__track i{background:#080f1acc;border:1px solid #fff0c83d;transform:skew(-12deg)}.garage-stat__track i.is-active{border-color:var(--selected-vehicle-color);background:var(--selected-vehicle-color)}.garage-stat>b{color:var(--ps1-yellow);text-align:right}.garage-roster{z-index:2;grid-area:3/1;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid;position:relative}.garage-roster button{min-width:0;min-height:70px;color:var(--ps1-paper);text-align:left;cursor:pointer;touch-action:manipulation;background:#0f1b2be6;border:2px solid #fff0c857;border-radius:0;grid-template-rows:auto auto;grid-template-columns:auto 1fr;padding:11px 10px 10px 22px;display:grid;position:relative}.garage-roster button>i{background:var(--vehicle-color);width:10px;position:absolute;inset:0 auto 0 0}.garage-roster button>span{color:var(--ps1-muted);font:800 .5rem/1 var(--ps1-menu-font)}.garage-roster button>b{font:900 clamp(.56rem, .8vw, .72rem)/1.1 var(--ps1-menu-font);letter-spacing:.02em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;grid-column:1/-1;overflow:hidden}.garage-roster button:hover,.garage-roster button:focus-visible,.garage-roster button.is-active{border-color:var(--vehicle-color);background:var(--ps1-panel);outline:none}.garage-roster button.is-active{box-shadow:inset 0 -4px 0 var(--vehicle-color), 4px 4px 0 var(--ps1-ink);transform:translateY(-4px)}.car-garage__continue{z-index:2;background:var(--selected-vehicle-color);grid-area:3/2;justify-content:space-between;align-items:center;min-height:70px;padding:0 20px;display:flex;position:relative}.spawn-picker__vehicle{z-index:11;top:max(24px, env(safe-area-inset-top,0px));right:max(24px, env(safe-area-inset-right,0px));border-color:var(--vehicle-color);width:min(260px,100vw - 48px);min-height:64px;color:var(--ps1-paper);text-align:left;cursor:pointer;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 12px 8px 0;display:grid;position:absolute}.spawn-picker__vehicle>i{background:var(--vehicle-color);align-self:stretch}.spawn-picker__vehicle>span{gap:5px;min-width:0;display:grid}.spawn-picker__vehicle small,.spawn-picker__vehicle em{color:var(--ps1-muted);font:900 .48rem/1 var(--ps1-menu-font);letter-spacing:.08em;font-style:normal}.spawn-picker__vehicle b{font:900 .68rem/1 var(--ps1-menu-font);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.spawn-picker__vehicle:hover,.spawn-picker__vehicle:focus-visible{border-color:var(--ps1-yellow);outline:3px solid var(--ps1-ink)}.spawn-picker .maplibregl-ctrl-top-right{top:88px}@media (width<=800px){.car-garage{--garage-edge:max(12px, env(safe-area-inset-left,0px));padding:max(12px, env(safe-area-inset-top,0px)) var(--garage-edge) max(12px, env(safe-area-inset-bottom,0px));grid-template-rows:auto minmax(180px,.9fr) minmax(236px,1fr) auto auto;grid-template-columns:minmax(0,1fr);gap:8px}.car-garage__header{grid-area:1/1}.car-garage__header h1{margin-top:5px;font-size:clamp(2.8rem,14vw,4.2rem)}.car-garage__header p{display:none}.garage-preview{grid-area:2/1}.garage-preview__controls{bottom:4px;right:4px}.garage-preview__controls span{display:none}.garage-spec{grid-area:3/1;padding:14px 16px;overflow:hidden}.garage-spec h2{margin-top:9px;font-size:clamp(2.4rem,12vw,3.4rem)}.garage-spec__archetype{margin-top:7px}.garage-spec__description{display:none}.garage-spec__facts{margin-top:9px;padding:7px 0}.garage-spec__stats{grid-auto-rows:19px;gap:8px;margin-top:10px}.garage-stat{grid-template-columns:66px minmax(80px,1fr) 22px;gap:8px;font-size:.64rem}.garage-stat__track{height:11px}.garage-roster{grid-area:4/1;gap:4px}.garage-roster button{grid-template-columns:1fr;min-height:48px;padding:8px 4px 7px 10px}.garage-roster button>span{display:none}.garage-roster button>b{text-align:center;font-size:clamp(.43rem,2.3vw,.58rem)}.garage-roster button>i{width:6px}.car-garage__continue{grid-area:5/1;min-height:50px}.spawn-picker__vehicle{width:188px;min-height:52px;top:136px;right:12px}.spawn-picker .maplibregl-ctrl-top-right{right:2px;top:200px!important}}@media (width<=800px) and (height<=560px){.car-garage{grid-template-rows:auto minmax(0,1fr) 48px;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:6px 10px}.car-garage__header{grid-area:1/1}.car-garage__header .ps1-kicker,.car-garage__header p,.garage-spec__description{display:none}.car-garage__header h1{margin:0;font-size:clamp(2.2rem,8vw,3.2rem)}.garage-preview{grid-area:2/1}.garage-spec{grid-area:1/2/3;padding:10px 12px}.garage-spec h2{margin-top:7px;font-size:clamp(1.8rem,6vw,2.6rem)}.garage-spec__archetype,.garage-spec__facts{margin-top:5px}.garage-spec__facts{padding:5px 0;font-size:.46rem}.garage-spec__stats{grid-auto-rows:13px;gap:4px;margin-top:6px}.garage-stat{grid-template-columns:55px minmax(60px,1fr) 18px;gap:5px;font-size:.5rem}.garage-stat__track{gap:2px;height:7px}.garage-roster{grid-area:3/1}.car-garage__continue{grid-area:3/2;min-height:48px}}@media (prefers-reduced-motion:reduce){.garage-roster button,.ps1-action,.touch-controls,.touch-arrow,.touch-action,.controls-hint,.recovery-toast,.world-loading__progress i,.spawn-picker__map .maplibregl-canvas-container,.spawn-picker__map .maplibregl-control-container,.spawn-picker__map-loading,.spawn-picker__error{transition:none}.world-loading__spinner i,.spawn-picker__loading-pixels i{background:var(--ps1-yellow);animation:none;transform:none}}@media (width<=1100px){.spawn-picker__hero{width:340px}.spawn-picker__hero h1{font-size:4.1rem}.spawn-search{width:330px;top:112px}.spawn-selection{width:380px}}@media (width<=760px){.ps1-screen__raster{opacity:.68}.spawn-picker__hero{top:max(12px, env(safe-area-inset-top,0px));width:calc(100% - 24px);left:12px}.spawn-picker__hero h1{text-shadow:3px 3px 0 var(--ps1-ink);-webkit-text-stroke-width:1px;margin-top:0;font-size:clamp(2.35rem,12vw,3.15rem)}.data-credits{top:max(12px, env(safe-area-inset-top,0px));gap:5px;font-size:.56rem;bottom:auto;left:auto;right:12px}.data-credits__full,.data-credits__full{display:none}.data-credits__compact{display:inline}.data-credits__primary,.data-credits__details>summary{border-width:1px;padding:5px 6px}.data-credits__panel{width:min(248px,100vw - 24px);inset:calc(100% + 7px) 0 auto auto}.spawn-search{top:calc(max(12px, env(safe-area-inset-top,0px)) + 66px);width:calc(100% - 24px);padding:6px;left:12px}.spawn-search__row{grid-template-columns:minmax(0,1fr) 68px;gap:7px}.spawn-search input,.spawn-search .ps1-action{min-height:44px}.spawn-search__results{max-height:220px}.spawn-picker .maplibregl-ctrl-top-right{top:calc(max(12px, env(safe-area-inset-top,0px)) + 130px);right:12px}.spawn-selection{right:12px;bottom:max(12px, env(safe-area-inset-bottom));width:calc(100% - 24px);box-shadow:4px 4px 0 var(--ps1-ink);border-width:2px;padding:12px}.spawn-selection__header{padding-bottom:6px}.spawn-selection strong{font-size:1.7rem}.spawn-selection__browse button{min-height:44px}.spawn-picker__error{top:calc(max(12px, env(safe-area-inset-top,0px)) + 276px);width:calc(100% - 48px);bottom:auto}.world-loading__card,.boot-error__card{padding:20px 18px}.world-loading h1,.boot-state--error h1{font-size:clamp(3.15rem,18vw,4.6rem)}.world-loading__location{margin-top:18px}.world-loading__footer{font-size:.56rem}.boot-error__card>small{font-size:.62rem}}@media (width>=801px) and (height<=560px){.spawn-picker{--spawn-map-focus-x:-.12;--spawn-map-focus-y:0}.spawn-picker .maplibregl-control-container{display:none}.spawn-picker__hero{top:18px;left:20px}.spawn-search{top:96px;left:20px}.data-credits{bottom:18px;left:20px}.spawn-selection{width:min(380px,48vw - 20px);bottom:18px;right:20px}}@media (width>=801px) and (height<=430px){.spawn-picker__hero h1{margin-top:0;font-size:3rem}.spawn-search{top:86px}.spawn-selection{padding:12px}}@media (width<=800px) and (height<=760px){.spawn-picker{--picker-edge:clamp(8px, 2vw, 12px);--picker-rail:clamp(138px, 43vw, 250px);--spawn-map-focus-x:-.25;--spawn-map-focus-y:.14}.spawn-picker__hero{top:max(var(--picker-edge), env(safe-area-inset-top,0px));left:max(var(--picker-edge), env(safe-area-inset-left,0px));width:var(--picker-rail)}.spawn-picker__hero h1{margin:0;font-size:clamp(1.85rem,7vw,2.55rem)}.spawn-search{top:calc(max(var(--picker-edge), env(safe-area-inset-top,0px)) + 58px);left:max(var(--picker-edge), env(safe-area-inset-left,0px));width:var(--picker-rail);padding:8px}.spawn-search input,.spawn-search .ps1-action{min-height:44px}.spawn-search input{padding-inline:7px;font-size:.59rem}.spawn-search__results{max-height:min(30dvh,160px)}.spawn-picker .maplibregl-control-container{display:none}.data-credits{top:auto;right:auto;bottom:max(var(--picker-edge), env(safe-area-inset-bottom,0px));left:max(var(--picker-edge), env(safe-area-inset-left,0px))}.data-credits__panel{inset:auto auto calc(100% + 7px) 0}.spawn-selection{top:max(var(--picker-edge), env(safe-area-inset-top,0px));right:max(var(--picker-edge), env(safe-area-inset-right,0px));width:calc(100vw - var(--picker-rail) - var(--picker-edge) - var(--picker-edge) - var(--picker-edge));padding:10px;bottom:auto}.spawn-selection__header{padding-bottom:5px}.spawn-selection__kind{margin-top:2px}.spawn-selection strong{font-size:1.55rem}.spawn-selection__browse{margin-top:4px}.spawn-selection__browse button,.spawn-selection__start{min-height:44px}.spawn-picker__error{top:auto;bottom:calc(var(--picker-edge) + 52px);left:max(var(--picker-edge), env(safe-area-inset-left,0px));width:var(--picker-rail);max-width:var(--picker-rail);transform:translateY(8px)}.spawn-picker__error--visible{transform:translateY(0)}.boot-state{padding:clamp(8px,2vw,12px)}.world-loading__card,.boot-error__card{overscroll-behavior:contain;scrollbar-width:thin;width:min(640px,100%);padding:14px 18px;overflow:auto}.world-loading h1,.boot-state--error h1{margin-top:8px;font-size:3.2rem}.world-loading__location,.world-loading__activity{margin-top:10px}.world-loading__message,.world-loading__footer{margin-top:6px}.world-loading__progress-row{margin-top:8px}}@media (width<=480px) and (height<=760px),(width<=760px) and (height<=420px){.spawn-picker__hero h1{font-size:clamp(1.65rem,8vw,2.1rem)}.spawn-search{top:calc(max(var(--picker-edge), env(safe-area-inset-top,0px)) + 52px);padding:6px}.spawn-search__row{grid-template-columns:minmax(0,1fr) 48px;gap:4px}.spawn-search input{padding-inline:4px;font-size:.5rem}.spawn-search .ps1-action{padding:0 4px;font-size:.55rem}.spawn-search__results{max-height:108px}.spawn-search .spawn-search__result{-webkit-line-clamp:2;-webkit-box-orient:vertical;height:54px;min-height:54px;display:-webkit-box;overflow:hidden}.spawn-selection{gap:3px;padding:8px}.spawn-selection__header{gap:4px;padding-bottom:4px}.spawn-selection__kind,.spawn-selection__index{letter-spacing:.06em;font-size:.5rem}.spawn-selection__kind{margin-top:1px;font-size:.5rem}.spawn-selection strong{font-size:1.3rem}.spawn-selection__region{font-size:.54rem}.spawn-selection__browse{gap:4px;margin-top:2px}.spawn-selection__browse button{padding-inline:2px;font-size:.5rem}.spawn-selection__start{min-height:44px;margin-top:3px;padding-inline:8px;font-size:.6rem}.world-loading h1,.boot-state--error h1{font-size:clamp(2.45rem,16vw,3.2rem)}.boot-error__message{margin-block:12px;font-size:.68rem}}@media (width<=360px) and (height<=420px){.boot-error__card>small{display:none}.world-loading__header,.world-loading__footer{gap:8px}.world-loading__memory,.world-loading__footer{font-size:.5rem}}
