.firearms-shop{box-sizing:border-box;width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #b6aa8b;border-radius:8px;padding:26px;color:#e7e3d6;background:#18231fee;box-shadow:0 30px 90px #0009;font:15px/1.4 system-ui,sans-serif}.firearms-shop::backdrop{background:#060b0aa8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.gun-shop-head{display:flex;justify-content:space-between;gap:20px}.gun-shop-head h2{font:clamp(24px,4vw,36px)/1.1 Georgia,serif;margin:5px 0 10px}.gun-shop-head p{margin:0;color:#bcbda9}.gun-shop-head .gun-shop-kicker{font-size:10px;letter-spacing:.18em;color:#d7bd7a}.firearms-shop button{font:inherit;color:#f0e9d3;border:1px solid #5a685e;background:#304639;border-radius:4px;padding:9px 12px;cursor:pointer;min-height:42px}.firearms-shop button:hover{background:#405e49}.firearms-shop button:focus-visible{outline:3px solid #eed080;outline-offset:2px}.firearms-shop button:disabled{opacity:.45;cursor:default}.firearms-shop .gun-shop-close{font-size:19px;align-self:flex-start;min-width:42px;background:transparent}.gun-shop-bar{display:flex;align-items:center;gap:22px;border-top:1px solid #677461;border-bottom:1px solid #677461;padding:14px 0;margin-top:22px}.gun-shop-bar strong{font-size:24px;font-variant-numeric:tabular-nums;color:#ecdba3}.gun-shop-bar button{margin-left:auto}.gun-shop-item{display:flex;gap:19px;padding:20px 0;border-bottom:1px solid #526052}.gun-shop-number{font:24px Georgia,serif;color:#af9b60;padding-top:15px;min-width:30px}.gun-shop-desc{flex:1}.gun-shop-desc h3{font:25px Georgia,serif;margin:2px 0 8px}.gun-shop-desc small{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#c7b783}.gun-shop-desc p{margin:0 0 8px;color:#c1c7bc;font-size:13px}.gun-shop-desc span{font-size:12px;color:#9dad9f}.gun-shop-actions{display:flex;flex-direction:column;justify-content:center;gap:7px;min-width:160px}.gun-shop-foot{color:#aab7aa;font-size:12px;margin:20px 0 0}.gun-shop-feedback{min-height:20px;color:#e8cd7c;font-size:13px;margin:8px 0 0}.gun-shop-empty{padding:20px;color:#c5c8b8}@media(max-width:550px){.firearms-shop{padding:16px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.gun-shop-item{gap:10px;flex-wrap:wrap}.gun-shop-number{min-width:22px}.gun-shop-actions{flex-direction:row;flex-wrap:wrap;margin-left:32px;min-width:0}.gun-shop-actions button{font-size:12px}.gun-shop-bar{gap:12px}.gun-shop-bar strong{font-size:21px}.gun-shop-bar span{font-size:12px}.gun-shop-desc h3{font-size:22px}}.combat-reticle{position:fixed;left:50%;top:50%;width:5px;height:5px;border:1px solid #fff;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:11;box-shadow:0 0 2px #000}.combat-reticle.hit{width:13px;height:13px;border-radius:0;transform:translate(-50%,-50%) rotate(45deg);border-color:#f2dba6}.combat-scope{position:fixed;inset:0;pointer-events:none;z-index:12;background:radial-gradient(circle at center,transparent 0 25vmin,#080b09 25.4vmin)}.combat-scope:before,.combat-scope:after{content:"";position:absolute;left:50%;top:50%;background:#0b100c}.combat-scope:before{width:1px;height:50vmin;transform:translate(-50%,-50%)}.combat-scope:after{height:1px;width:50vmin;transform:translate(-50%,-50%)}.combat-hurt{position:fixed;inset:0;pointer-events:none;z-index:14;box-shadow:inset 0 0 90px #8b211c99}.combat-readout{position:fixed;right:22px;bottom:26px;z-index:11;pointer-events:none;text-align:right;color:#f7f1dc;text-shadow:0 2px 3px #000;font:13px system-ui,sans-serif}.combat-readout strong{display:block;font-size:24px}.combat-readout small{display:block;color:#d8d0b8}@media(max-width:700px){.combat-readout{right:14px;bottom:160px;font-size:11px}.combat-readout strong{font-size:19px}}.wanted-readout{position:fixed;right:78px;top:23px;color:#eee5ca;text-align:right;z-index:15;pointer-events:none;text-shadow:0 2px 5px #000}.wanted-stars{font:26px/1.2 system-ui;letter-spacing:4px}.wanted-readout small{display:block;font:10px/1.5 system-ui;letter-spacing:.05em;max-width:320px}.wanted-readout[data-phase=searching] .wanted-stars{color:#b7c7cc}.arrest-progress{width:100%;height:3px;margin-top:7px}.arrest-progress i{display:block;height:100%;background:#dedbb8}.ui-open .wanted-readout,.ui-open .combat-reticle,.ui-open .combat-readout,.ui-open .combat-scope{display:none}.street-actions{display:flex;gap:7px;pointer-events:auto}.street-actions button{touch-action:none}#touch-fire{font-weight:700;background:#763f32bb;min-width:78px;min-height:74px;border-radius:50%}#touch-aim{min-height:50px}#touch-street{position:absolute;right:20px;bottom:25px;display:flex;align-items:end;gap:9px}body:not([data-mode=walk]) #touch-street,body[data-mode=walk] #touch-pedals,body[data-mode=walk] #touch-handbrake{display:none}body:not(.armed) #touch-fire,body:not(.armed) #touch-aim,body:not(.armed) #touch-reload{display:none}#touch-street .street-minor{display:flex;flex-direction:column;gap:6px}#touch-surrender{position:absolute;top:80px;right:20px;pointer-events:auto;touch-action:none;font-size:11px}body[data-mode=walk] .combat-readout{bottom:145px}body:not(.touch)[data-mode=walk] .combat-readout{bottom:25px}@media(max-width:700px){.wanted-readout{right:65px;top:19px;max-width:220px}.wanted-stars{font-size:21px}.wanted-readout small{font-size:9px}#touch-street{right:12px;bottom:20px}#touch-street button{font-size:11px;padding:8px}#touch-fire{min-width:66px;min-height:66px}}@media(max-height:500px){.combat-readout{bottom:120px!important}.wanted-readout{top:12px}#touch-street{bottom:12px}}body.touch.wanted #touch-utilities{top:140px}body.touch.wanted #toast{top:196px}@media(max-width:600px){body.wanted #drive-readout .drive-location{display:none}body.touch.wanted #toast{top:190px}body.touch.wanted #touch-utilities{top:120px}}:root{--paper:#efe5ca;--ink:#172820;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#172222;color:var(--paper);font-family:Arial,sans-serif}body{overscroll-behavior:none}canvas{display:block;width:100%;height:100%;touch-action:none}button,select,input{font:inherit}button{cursor:pointer;border:0;touch-action:manipulation}button:focus-visible,summary:focus-visible{outline:2px solid #e7bd72;outline-offset:3px}[hidden]{display:none!important}button:disabled{opacity:.35;cursor:default}#loading{position:absolute;inset:0;background:#182623;z-index:100;display:flex;flex-direction:column;justify-content:center;padding:10vw}#loading span,.eyebrow{font-size:10px;letter-spacing:.22em;line-height:1.6}#loading h1{font:italic 80px Georgia;margin:20px 0}#loading p{font-size:13px;color:#b8c5b9}#intro{position:absolute;inset:0;padding:8vh 7vw;background:linear-gradient(90deg,#10201fe8,transparent 70%);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;overflow:auto}#intro h1{font:clamp(76px,10vw,156px)/.8 Georgia;margin:30px 0 28px;letter-spacing:-.07em;font-weight:400}#intro h1 i{font-weight:400;color:#dec79b}#intro .intro-copy{line-height:1.8;font-size:14px;color:#d3d6c7;margin:0 0 24px}#intro button{padding:17px 24px;background:#e8d7af;color:#253530;min-width:205px;text-align:left;margin-bottom:10px;font-size:14px}#intro button span{float:right;margin-left:50px}#intro .text-button{display:block;background:transparent;color:#e7dec7;padding:11px 0;margin:0;min-height:44px}#intro summary{font-size:12px;min-height:44px;padding-top:14px;cursor:pointer;color:#d5d4c4}#intro-more[open]{background:#14251fed;padding:0 18px 8px;margin-left:-18px;border-radius:3px}#intro small{font-size:9px;letter-spacing:.18em;margin-top:26px;color:#a8b6ad}#crosshair{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:100%;background:#eee9d0a0;pointer-events:none}#help{position:absolute;top:calc(18px + var(--safe-t));right:calc(20px + var(--safe-r));border:1px solid #e6e2c85c;border-radius:50%;width:48px;height:48px;background:#14251fc9;color:#ebe2c9;z-index:5;font-size:18px}#hint{position:absolute;bottom:calc(22px + var(--safe-b));left:28px;right:28px;text-align:center;font-size:12px;line-height:1.5;text-shadow:0 1px 5px #000,0 0 15px #000;pointer-events:none}#toast{position:absolute;top:calc(82px + var(--safe-t));left:50%;transform:translate(-50%);width:max-content;max-width:min(540px,calc(100vw - 40px));padding:10px 16px;border-left:2px solid #dab982;background:#162a24ed;font-size:12px;line-height:1.55;pointer-events:none;z-index:8;box-shadow:0 3px 12px #0002}#subtitle{position:absolute;bottom:calc(112px + var(--safe-b));left:50%;transform:translate(-50%);width:min(740px,85vw);text-align:center;pointer-events:none;text-shadow:0 2px 5px #000;z-index:9}#subtitle b{font-size:10px;letter-spacing:.18em;color:#efd6a2}#subtitle p{font-size:var(--subtitle,18px);line-height:1.5;background:#14201deb;display:table;margin:8px auto;padding:8px 15px}#drive-readout{position:absolute;left:calc(24px + var(--safe-l));top:calc(20px + var(--safe-t));max-width:calc(100% - 104px - var(--safe-r));color:#f2dfb7;text-shadow:0 2px 5px #000;pointer-events:none;display:flex;align-items:center;gap:14px}#drive-readout strong{font:30px/1 Georgia;white-space:nowrap;font-variant-numeric:tabular-nums}#drive-readout strong small{font:10px Arial;margin-left:4px}#drive-readout .drive-location{font-size:10px;letter-spacing:.1em;text-transform:uppercase;line-height:1.5}#drive-readout .drive-objective{font-size:11px;letter-spacing:0;display:block;text-transform:none;color:#fff3d7}#drive-readout .drive-fault{color:#ffd397;display:block;text-transform:none;letter-spacing:0;font-size:11px}#document,#pause{position:absolute;inset:0;z-index:25;background:#13221ff7;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:calc(40px + var(--safe-t)) max(24px,calc((100vw - 590px)/2)) calc(32px + var(--safe-b));scrollbar-color:#6e7965 #13221f}#document{background:#e2d6bd;color:#26352e}#document h2,#pause h2{font:46px/1.05 Georgia;margin:16px 0 28px;font-weight:400}#document p,#pause p:not(.eyebrow){font-size:14px;line-height:1.65;max-width:590px;white-space:pre-line}#document button,#pause button{display:block;width:100%;text-align:left;padding:16px 4px;min-height:50px;background:transparent;color:inherit;border-bottom:1px solid #9f9a852a;font-size:15px;line-height:1.4}#document button:hover,#pause button:hover{background:#8f967811}#document button small,#pause button small{display:block;font-size:11px;line-height:1.6;opacity:.7;margin-top:4px}#document .primary,#pause .primary{background:#e8d7af;color:#253530;padding:16px 20px;margin:8px 0 12px;border:0}#document .primary{background:#2d4538;color:#f6eacf}#pause button span{float:right}#document .document-close,#pause .menu-back{margin-top:22px;border:0;font-size:13px;opacity:.8}#document .tool-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}#document .tool-list button{font-size:12px}#document svg{width:100%;height:auto}#pause label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;min-height:54px;padding:10px 0;border-bottom:1px solid #9f9a852a}#pause label:has(select),#pause label:has([type=range]){justify-content:space-between}#pause select{max-width:100%;background:#31483d;color:#e5dcc5;padding:10px;border:0;border-radius:2px}#pause input[type=checkbox]{width:20px;height:20px;accent-color:#dbbc81;margin:0}#pause input[type=range]{max-width:55%;accent-color:#dbbc81}#pause .fine{font-size:12px;color:#98aea0}#death{position:absolute;inset:0;padding:calc(12vh + var(--safe-t)) 9vw;background:#261e19ee;z-index:30;overflow:auto}#death h2{font:clamp(42px,8vw,68px)/1 Georgia}#death button{display:block;margin-top:14px;padding:16px 23px;background:#e4d1ab;color:#2b3028}#flash{position:absolute;inset:0;background:#fff1c0;pointer-events:none;opacity:0}#touch{position:absolute;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none}#touch button,#touch-steer{pointer-events:auto;touch-action:none;color:#f6ecd3;background:#152821b3;border:1px solid #ece7d35c;border-radius:7px;min-height:48px;transition:background .1s}#touch button.pressed{background:#dccb9edb;color:#26372d}#touch-steer{position:absolute;bottom:calc(22px + var(--safe-b));left:calc(24px + var(--safe-l));width:136px;height:136px;border-radius:50%;background:#14291e4d;display:flex;align-items:center;justify-content:center}#touch-steer .stick-track{width:82%;height:1px;background:#f0dfb43b}#touch-steer .stick-knob{position:absolute;width:48px;height:48px;border:1px solid #eee2bc8a;background:#d5d2b54d;border-radius:50%;box-shadow:0 3px 12px #0002}#touch-steer .stick-label{position:absolute;bottom:12px;font-size:9px;letter-spacing:.15em;color:#e9e0c5ab}#touch-steer.pressed{border-color:#e9e0c5aa;background:#14291e70}#touch-pedals{position:absolute;bottom:calc(23px + var(--safe-b));right:calc(24px + var(--safe-r));display:flex;align-items:flex-end;gap:12px}#touch-pedals button{font-size:10px;letter-spacing:.08em;width:66px;height:68px}#touch-pedals button[data-pedal=gas]{height:116px;width:68px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:20px 0 13px}#touch-pedals button span{font-size:23px;opacity:.65}#touch-pedals button small{font-size:8px;display:block;margin-top:5px;letter-spacing:0}#touch-handbrake{position:absolute;bottom:calc(147px + var(--safe-b));right:calc(24px + var(--safe-r));font-size:8px;letter-spacing:.04em;padding:0 12px;min-height:38px!important}#touch-context{position:absolute;bottom:calc(32px + var(--safe-b));left:50%;transform:translate(-50%);display:flex;gap:8px}#touch-context button{font-size:11px;padding:0 15px;max-width:130px}#touch-utilities{position:absolute;right:calc(20px + var(--safe-r));top:calc(80px + var(--safe-t));display:flex;gap:8px}#touch-utilities button{font-size:10px;width:48px;height:48px;border-radius:50%}body.touch #hint{bottom:calc(183px + var(--safe-b));left:calc(24px + var(--safe-l));right:calc(130px + var(--safe-r));text-align:left;font-size:11px;max-width:380px}body.touch #toast{top:calc(80px + var(--safe-t));left:calc(24px + var(--safe-l));transform:none;max-width:calc(100vw - 160px - var(--safe-l) - var(--safe-r));font-size:11px;padding:8px 12px}body.touch #subtitle{bottom:calc(215px + var(--safe-b));width:min(680px,90vw)}body.touch #subtitle p{font-size:var(--subtitle,18px)}body.ui-open #touch,body.ui-open #hint,body.ui-open #drive-readout,body.ui-open #crosshair,body.ui-open #help{visibility:hidden}body.ui-open #toast{z-index:28;top:auto;bottom:calc(14px + var(--safe-b));max-width:calc(100vw - 40px);left:50%;transform:translate(-50%)}body.replaying #touch,body.replaying #hint,body.replaying #help,body.replaying #drive-readout{visibility:hidden}#replay-exit{position:absolute;z-index:15;bottom:calc(24px + var(--safe-b));left:50%;transform:translate(-50%);padding:15px 24px;color:#eee3c8;background:#172d23dd;border:1px solid #c6bfa475}body[data-mode=walk] #touch-pedals,body[data-mode=walk] #touch-handbrake,body[data-mode=workshop] #touch-pedals,body[data-mode=workshop] #touch-handbrake,body[data-mode=workshop] #touch-steer{display:none}@media(max-width:600px){#intro{padding:calc(7vh + var(--safe-t)) 8vw calc(25px + var(--safe-b));justify-content:flex-start;background:linear-gradient(180deg,#10201fdf,transparent 72%)}#intro h1{font-size:82px;margin:25px 0 20px}#intro .intro-copy{font-size:13px;margin-bottom:17px}#intro small{margin-top:16px}#intro-more[open]{position:relative;z-index:1}#touch-steer{left:calc(15px + var(--safe-l));width:124px;height:124px}#touch-pedals{right:calc(15px + var(--safe-r));gap:9px}#touch-pedals button{width:57px}#touch-pedals button[data-pedal=gas]{width:62px;height:110px}#touch-handbrake{right:calc(15px + var(--safe-r));bottom:calc(141px + var(--safe-b))}#touch-context{bottom:calc(160px + var(--safe-b));left:calc(15px + var(--safe-l));transform:none}body.touch #hint{bottom:calc(222px + var(--safe-b));left:20px;right:20px;max-width:none}body.touch #subtitle{bottom:calc(255px + var(--safe-b))}body.touch #toast{top:calc(141px + var(--safe-t));max-width:calc(100vw - 40px);left:20px}#drive-readout{left:20px;gap:10px}#drive-readout strong{font-size:28px}#drive-readout .drive-location{font-size:9px}#document,#pause{padding:calc(30px + var(--safe-t)) 24px calc(35px + var(--safe-b))}#document h2,#pause h2{font-size:39px}#loading h1{font-size:64px}}@media(max-height:550px){#intro{padding:calc(15px + var(--safe-t)) 5vw 15px;justify-content:center;background:linear-gradient(90deg,#10201fec,transparent 70%)}#intro h1{font-size:64px;margin:14px 0 18px}#intro .intro-copy{font-size:12px;line-height:1.6;margin-bottom:13px}#intro button{padding:13px 18px;margin-bottom:0}#intro small{display:none}#intro .eyebrow{margin:0}#intro-more[open]{position:absolute;left:calc(5vw + 235px);top:15px;bottom:15px;max-width:280px;overflow:auto}#document,#pause{padding-top:calc(22px + var(--safe-t))}#document h2,#pause h2{font-size:35px;margin:12px 0 20px}#touch-steer{width:118px;height:118px;bottom:calc(15px + var(--safe-b))}#touch-pedals{bottom:calc(15px + var(--safe-b))}#touch-pedals button[data-pedal=gas]{height:99px}#touch-handbrake{bottom:calc(124px + var(--safe-b))}body.touch #hint{bottom:calc(150px + var(--safe-b));font-size:10px}body.touch #subtitle{bottom:calc(145px + var(--safe-b));width:55vw}body.touch #subtitle p{font-size:var(--subtitle,18px);padding:6px 10px}#toast{font-size:11px}#touch-utilities{top:calc(77px + var(--safe-t))}#help{top:calc(16px + var(--safe-t))}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}body:has(#subtitle:not([hidden])) #hint{visibility:hidden}#document button.primary,#document button.primary:hover{background:#2d4538;color:#f6eacf}
