[hidden]{display:none!important}
:root{--lime:#dfefac;--cream:#eef0dd;--muted:#a9bab4;--panel:rgba(13,26,32,.88);--border:rgba(211,233,219,.17);--red:#f0a18d;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#152530;color:var(--cream);font-family:Inter,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;touch-action:none;overscroll-behavior:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button:disabled{opacity:.4;cursor:not-allowed}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}#game{position:fixed;inset:0;width:100%;height:100%;display:block;outline:0}#vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,19,24,.28),transparent 25%,transparent 60%,rgba(4,18,23,.42));z-index:1}#hud{position:fixed;inset:0;z-index:3;pointer-events:none}#hud button{pointer-events:auto}.topbar{position:absolute;top:max(25px,env(safe-area-inset-top));left:30px;right:30px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;font-size:26px;font-weight:800;font-style:italic;border:1px solid #d4e6af70;background:#15232aa1;color:var(--lime);border-radius:4px;box-shadow:0 3px 15px #08161722}.brand-name{font-size:15px;letter-spacing:2.2px;font-weight:750}.brand-sub{margin-top:5px;font-family:var(--mono);font-size:9px;letter-spacing:2.7px;color:#c4d2c6}.top-left{display:flex;align-items:center;gap:30px}.nav{display:flex;gap:5px}.nav button,.icon-button{width:40px;height:40px;border:1px solid var(--border);border-radius:5px;background:#13242aa1;display:grid;place-items:center;transition:.15s}.nav button:hover,.icon-button:hover{background:#283b40;border-color:#c6dfac80}.economy{text-align:right}.money{font-family:var(--mono);font-size:29px;letter-spacing:-1.5px;color:var(--lime);text-shadow:0 2px 18px #0b1b21;line-height:1.1}.money small{font-size:13px;margin-right:8px;color:#c0cfbf}.rep-line{display:flex;align-items:center;justify-content:flex-end;gap:8px;font:10px var(--mono);letter-spacing:1px;margin-top:9px;color:#d3dbd0}.rep-track{height:3px;width:78px;background:#52646688}.rep-track i{display:block;height:100%;background:var(--lime);width:0}.wanted{font-size:14px;letter-spacing:4px;color:#91a2a57d;margin-top:10px;min-height:20px}.wanted.active{color:var(--red);text-shadow:0 0 15px #eb7d7d66}.task-panel{position:absolute;top:132px;left:30px;width:255px;padding:18px 18px 16px;background:linear-gradient(110deg,#10252be8,#12262acc);border:1px solid var(--border);border-left:2px solid var(--lime);border-radius:0 7px 7px 0;backdrop-filter:blur(12px)}.eyebrow{font:9px var(--mono);letter-spacing:2.2px;color:var(--lime);text-transform:uppercase}.task-panel h2{font-size:16px;font-weight:600;margin:10px 0 8px;letter-spacing:-.4px}.task-panel p{font-size:11px;color:#bdc9c0;line-height:1.65;margin:0}.task-foot{margin-top:17px;display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);color:#bccebf}.task-foot b{color:var(--lime);font-weight:500}.progress-bar{height:2px;background:#a4b89f26;margin-top:12px}.progress-bar i{display:block;height:100%;background:var(--lime);transition:width .2s}.mission-cancel{background:transparent;color:var(--muted);font-size:10px;text-decoration:underline;padding:9px 0 0}.city-status{position:absolute;left:30px;top:92px;display:flex;gap:8px;align-items:center;color:#d2ddce;font:9px var(--mono);letter-spacing:1.2px}.status-dot{height:5px;width:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime)}.minimap-panel{position:absolute;left:30px;bottom:31px;width:195px}.map-top{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:1.7px;margin-bottom:9px;color:#d9e3d3}.map-button{position:relative;display:block;width:195px;height:167px;padding:0;background:#122b32;border:1px solid #9cbda847;border-radius:4px;overflow:hidden;box-shadow:0 12px 25px #07161b22}.map-button canvas{width:100%;height:100%;display:block}.map-button:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 30px #142a33;pointer-events:none}.map-north{position:absolute;top:8px;right:9px;font:9px var(--mono);z-index:1;color:var(--lime)}.health-row{display:flex;gap:3px;margin-top:8px}.health-line{height:3px;background:#c4ddab33;flex:1}.health-line i{display:block;height:100%;background:var(--lime)}.district-caption{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:10px;color:#d7e3d6}.district-caption small{font:9px var(--mono);color:#bac9bd}.location{position:absolute;left:50%;bottom:78px;transform:translateX(-50%);text-align:center;transition:opacity .5s;pointer-events:none}.location h1{font-weight:400;font-size:clamp(25px,3vw,44px);letter-spacing:9px;margin:0 0 9px;text-shadow:0 4px 25px #12242a}.location p{font-size:10px;letter-spacing:5px;margin:0;color:#d7e4d1}.tutorial{position:absolute;bottom:29px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;letter-spacing:.5px;color:#e0e6d5b3;text-shadow:0 2px 8px #10252a}.right-bottom{position:absolute;bottom:30px;right:30px;display:flex;flex-direction:column;align-items:flex-end;gap:15px}.mode-label{font:9px var(--mono);letter-spacing:2.2px;color:#dfecd5}.speedometer{font-family:var(--mono);display:flex;align-items:baseline;gap:9px}.speedometer strong{font-size:54px;font-weight:300;line-height:1;letter-spacing:-3px}.speedometer span{font-size:10px;color:var(--muted)}.actions{display:flex;gap:8px;align-items:center}.action{display:flex;align-items:center;gap:8px;background:#13282fd9;border:1px solid var(--border);border-radius:5px;padding:10px 12px;font-size:10px;min-height:42px;backdrop-filter:blur(8px)}kbd{font:10px var(--mono);padding:3px 5px;min-width:20px;border:1px solid #bdd2b747;border-radius:3px;color:var(--lime);text-align:center}.action.primary{border-color:#dfefac70;background:#dcedaa;color:#243233}.action.primary kbd{border-color:#24323344;color:#243233}.context{position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);max-width:350px;transition:opacity .12s}.context button{box-shadow:0 6px 30px #10212866;font-size:11px;min-height:44px}.context[hidden]{display:none}.footnote{font:8px var(--mono);letter-spacing:.6px;color:#b7c9b9aa}.joystick{display:none;pointer-events:auto;position:absolute;left:28px;bottom:34px;width:112px;height:112px;border:1px solid #dbebba44;background:#11283040;border-radius:50%;backdrop-filter:blur(3px)}.joystick:before{content:'';position:absolute;inset:24px;border:1px solid #d5e3bc18;border-radius:50%}.stick-knob{position:absolute;width:46px;height:46px;left:32px;top:32px;border:1px solid #dcecbd77;border-radius:50%;background:#d2e9b044;pointer-events:none}.stick-label{position:absolute;bottom:-21px;width:100%;text-align:center;font:8px var(--mono);letter-spacing:2px;color:#d3e3bf88}.touch-extra{display:none}.touch .joystick{display:block}.touch .touch-extra{display:flex}.touch kbd{display:none}.touch .minimap-panel{bottom:210px;width:145px}.touch .map-button{width:145px;height:118px}.touch .location{bottom:40px}.touch .tutorial{display:none}.touch .actions{max-width:210px;flex-wrap:wrap;justify-content:flex-end}.touch .action{padding:12px;min-width:48px;justify-content:center;font-size:10px}.touch .right-bottom{bottom:32px}.touch .context{top:62%}.touch .footnote{display:none}#labels{position:fixed;inset:0;z-index:2;pointer-events:none}.world-label{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:5px;white-space:nowrap}.label-text{font-size:9px;background:#11272bd9;border:1px solid #d4edb533;border-radius:3px;padding:5px 8px;box-shadow:0 3px 10px #162b3422}.label-dot{width:4px;height:4px;border-radius:50%;background:var(--lime)}.label-distance{font:9px var(--mono);color:#dff2b6;text-shadow:0 1px 3px #000}#toast{position:fixed;z-index:12;left:50%;top:95px;transform:translate(-50%,-12px);opacity:0;pointer-events:none;background:#14272fec;border:1px solid #d7efae38;border-left:3px solid var(--lime);padding:14px 20px;border-radius:5px;max-width:min(520px,88vw);font-size:12px;line-height:1.6;transition:opacity .2s,transform .2s;box-shadow:0 10px 30px #09192144}#toast.visible{opacity:1;transform:translate(-50%,0)}#toast b{color:var(--lime);margin-left:12px;font-family:var(--mono)}#modal{position:fixed;inset:0;z-index:10;background:#0a1a24b3;display:grid;place-items:center;padding:30px;backdrop-filter:blur(12px);touch-action:auto}#modal[hidden]{display:none}.sheet{width:min(930px,100%);max-height:90vh;overflow:auto;background:#14282d;border:1px solid #c4dcc037;border-radius:12px;box-shadow:0 25px 100px #0006;padding:32px;position:relative}.sheet-top{display:flex;justify-content:space-between;align-items:start;gap:20px}.sheet h1{font-size:31px;font-weight:450;letter-spacing:-1.5px;margin:12px 0}.sheet p{color:#aebfb5;font-size:12px;line-height:1.8}.sheet .close{flex-shrink:0}.sheet-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);margin-top:24px;padding-top:19px;color:var(--muted);font-size:11px}.sheet-foot strong{font:20px var(--mono);color:var(--lime)}.car-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}.car-card{border:1px solid var(--border);background:#1b3034;border-radius:7px;overflow:hidden;padding:15px;display:flex;flex-direction:column}.car-card h3{font:14px var(--mono);margin:0 0 8px;letter-spacing:-.3px}.car-card p{font-size:10px;min-height:50px;margin:0 0 16px}.car-art{height:96px;width:100%;display:block;margin:0 0 18px}.car-stat{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:7px}.car-stat b{font-family:var(--mono);color:#d6e5cf;font-weight:400}.buy-button{border-radius:4px;background:var(--lime);color:#23362e;font-size:11px;padding:12px 9px;display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:6px}.buy-button.owned{background:#304744;color:#d4e6bd}.home-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;margin-top:20px}.home-art{min-height:230px;position:relative;overflow:hidden;border-radius:7px;background:linear-gradient(140deg,#719088,#bfbaa0)}.home-art:before{content:'';position:absolute;left:17%;top:10%;width:64%;height:100%;background:repeating-linear-gradient(0deg,transparent 0 12px,#abc3b6 13px 14px),repeating-linear-gradient(90deg,#2b4a50 0 23px,#81948c 24px 27px);transform:perspective(500px) rotateY(-20deg);box-shadow:35px 25px 0 #26464b}.home-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#142c32 0%,transparent 50%)}.home-art span{position:absolute;z-index:1;bottom:20px;left:22px;font:12px var(--mono);letter-spacing:3px;color:var(--lime)}.home-info h2{font-size:22px;font-weight:400}.home-price{font:32px var(--mono);color:var(--lime);margin:20px 0 10px}.home-info .buy-button{width:100%;margin-top:25px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.stat-box{border:1px solid var(--border);border-radius:5px;padding:17px 12px}.stat-box b{font:24px var(--mono);display:block;color:var(--lime);margin-bottom:8px}.stat-box small{font-size:10px;color:var(--muted)}.asset-section{display:grid;grid-template-columns:1fr 1fr;gap:26px}.asset-section h3,.roster h3{font-size:12px;font-weight:500;color:var(--muted)}.asset-row{border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:12px}.text-button{background:transparent;color:var(--lime);font-size:10px;padding:8px}.roster{margin-top:22px}.roster-items{display:flex;gap:10px;flex-wrap:wrap}.person{border:1px solid var(--border);border-radius:4px;padding:10px 14px;font:11px var(--mono);display:flex;align-items:center;gap:12px}.person small{font-size:8px;letter-spacing:1px;color:var(--lime)}.help-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.help-list div{font-size:12px;background:#1c3337;padding:15px;border-radius:4px}.help-note{border-left:2px solid var(--lime);padding-left:14px;margin-top:20px}.map-layout{display:grid;grid-template-columns:1fr 220px;gap:25px;margin-top:20px}.big-map-wrap{position:relative;border:1px solid var(--border);border-radius:7px;overflow:hidden;min-width:0;aspect-ratio:1;background:#132b33}.big-map-wrap canvas{width:100%;height:100%}.place-list{display:flex;flex-direction:column;gap:5px}.place-list button{background:#1b3338;text-align:left;padding:11px;border-radius:4px;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid transparent}.place-list button:hover{border-color:#dfefac77}.place-list small{font:9px var(--mono);color:var(--muted)}.interior-overlay{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);text-align:center;max-width:400px}.interior-overlay h2{font-size:30px;font-weight:400}.interior-overlay p{font-size:12px;line-height:1.7}.interior-overlay button{margin:20px auto 0}.interior-mode .task-panel,.interior-mode .minimap-panel,.interior-mode .joystick,.interior-mode .context,.interior-mode .location{display:none}#loading{position:fixed;inset:0;background:#14262e;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;transition:opacity .4s}.loading-logo{font-size:65px;font-style:italic;letter-spacing:-9px;font-weight:800;color:var(--lime)}.loading-logo span{font-style:normal;font-size:33px;vertical-align:top;letter-spacing:0}.loading-line{height:2px;width:200px;background:#cee2ad26;overflow:hidden}.loading-line i{height:100%;width:40%;display:block;background:var(--lime);animation:load 1s infinite ease-in-out}#loading-title{font-size:12px;letter-spacing:2px}#loading-sub{font-size:10px;color:var(--muted)}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
@media(max-width:800px){.topbar{left:20px;right:20px;top:20px}.top-left{gap:18px}.brand-name{font-size:12px;letter-spacing:1.5px}.brand-sub{font-size:7px;letter-spacing:1.8px}.brand-mark{height:36px;width:36px;font-size:23px}.nav button{height:34px;width:34px}.money{font-size:23px}.city-status{left:20px;top:75px;font-size:8px}.task-panel{left:20px;top:112px;width:223px;padding:14px}.minimap-panel{left:20px;bottom:23px;width:160px}.map-button{width:160px;height:136px}.right-bottom{right:20px;bottom:23px}.location h1{font-size:27px;letter-spacing:7px}.tutorial{font-size:8px}.sheet{padding:24px}.car-grid{grid-template-columns:repeat(2,1fr)}.car-card p{min-height:34px}.map-layout{grid-template-columns:1fr 175px;gap:16px}.place-list button{font-size:10px;padding:9px}.sheet h1{font-size:27px}}
@media(max-width:540px){.topbar{left:16px;right:16px;top:max(16px,env(safe-area-inset-top));gap:7px}.brand-mark{width:30px;height:30px;font-size:20px}.brand{gap:8px}.brand-name{font-size:10px;letter-spacing:1.2px}.brand-sub{font-size:6px;letter-spacing:1.3px}.top-left{display:block}.nav{margin-top:15px;gap:7px}.nav button{width:33px;height:31px}.nav svg{width:16px;height:16px}.money{font-size:23px}.money small{font-size:9px;margin-right:5px}.rep-track{width:50px}.rep-line{font-size:8px;margin-top:7px}.wanted{margin-top:8px;font-size:12px}.city-status{top:104px;left:16px;font-size:7px;letter-spacing:.4px}.task-panel{left:16px;top:129px;width:205px;padding:12px 13px}.task-panel h2{font-size:13px;margin:8px 0 6px}.task-panel p{font-size:10px}.eyebrow{font-size:8px;letter-spacing:1.5px}.task-foot{margin-top:10px;font-size:9px}.task-panel .progress-bar{margin-top:8px}.location{bottom:60px}.location h1{font-size:21px;letter-spacing:5px}.location p{font-size:8px;letter-spacing:3px}.touch .minimap-panel{left:16px;bottom:193px;width:116px}.touch .map-button{width:116px;height:99px}.map-top{font-size:7px;margin-bottom:6px}.district-caption{font-size:8px;margin-top:6px}.district-caption small{display:none}.touch .joystick{left:22px;bottom:calc(36px + var(--safe));width:108px;height:108px}.touch .right-bottom{right:16px;bottom:calc(25px + var(--safe));gap:10px}.touch .actions{max-width:183px;gap:6px}.touch .action{font-size:9px;padding:11px;min-height:42px}.touch .action svg{width:17px;height:17px}.touch .context{top:57%;max-width:88vw}.context button{font-size:10px;white-space:nowrap}.speedometer strong{font-size:36px}.mode-label{font-size:7px}.touch .location{bottom:28px}.health-row{margin-top:6px}.mission-cancel{font-size:9px;padding-top:6px}#toast{top:81px;font-size:10px;padding:10px 14px;width:88vw;max-width:none}#modal{padding:12px}.sheet{padding:20px;max-height:94dvh;border-radius:9px}.sheet h1{font-size:24px}.sheet p{font-size:11px}.car-grid{gap:9px;margin-top:15px}.car-card{padding:11px}.car-art{height:69px;margin-bottom:12px}.car-card h3{font-size:11px}.car-card p{font-size:9px;min-height:49px}.car-stat{font-size:8px}.buy-button{font-size:10px}.sheet-foot strong{font-size:17px}.home-grid{grid-template-columns:1fr;gap:10px}.home-art{min-height:160px}.home-info h2{font-size:20px}.home-price{font-size:26px;margin:15px 0 8px}.home-info .buy-button{margin-top:17px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-box{padding:12px}.stat-box b{font-size:21px}.asset-section{grid-template-columns:1fr;gap:10px}.help-list{grid-template-columns:1fr;gap:7px;margin:18px 0}.help-list div{font-size:11px;padding:11px}.map-layout{grid-template-columns:1fr;gap:15px}.big-map-wrap{max-height:42vh;aspect-ratio:1;width:100%}.place-list{display:grid;grid-template-columns:1fr 1fr}.place-list button{font-size:9px;padding:10px}.place-list small{font-size:8px}.interior-overlay{bottom:100px;width:85vw}.interior-overlay h2{font-size:24px}}
@media(max-height:540px) and (min-width:541px){.topbar{top:12px}.city-status{top:67px}.task-panel{top:92px;width:208px;padding:12px}.task-panel p{display:none}.task-panel h2{font-size:13px}.task-foot{margin-top:8px}.touch .minimap-panel{left:155px;bottom:20px;width:110px}.touch .map-button{height:80px;width:110px}.map-top,.district-caption{display:none}.touch .joystick{bottom:25px;width:102px;height:102px}.touch .right-bottom{bottom:22px}.location{display:none}.sheet{max-height:95vh}.sheet h1{font-size:22px}.car-grid{grid-template-columns:repeat(4,1fr)}.car-art{height:66px}.map-layout{grid-template-columns:1fr 220px}.big-map-wrap{max-height:55vh;aspect-ratio:auto}.place-list{display:grid;grid-template-columns:1fr 1fr}.place-list button{font-size:9px;padding:6px}.touch .context{top:61%}}

body.modal-open{touch-action:pan-y}body.modal-open #modal,body.modal-open .sheet{touch-action:pan-y}.sheet{overscroll-behavior:contain}

/* City life: real activities, services and equipment. */
.city-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0 18px;border-bottom:1px solid var(--border);padding-bottom:14px}
.city-tabs button{padding:10px 19px;border-radius:24px;background:#213b40;color:var(--muted);font-size:12px;border:1px solid transparent}
.city-tabs button[aria-selected=true]{color:#24352e;background:var(--lime);border-color:var(--lime)}
.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.activity-card{position:relative;padding:20px;background:linear-gradient(155deg,#223d42,#152a30);border:1px solid #cee5c42b;border-radius:9px;display:flex;flex-direction:column;min-height:274px;overflow:hidden}
.activity-card.crime{background:linear-gradient(155deg,#433333,#202a30)}.activity-card.life{background:linear-gradient(155deg,#30413c,#192e36)}
.activity-card-top{display:flex;align-items:center;gap:11px}.activity-glyph{display:grid;place-items:center;width:36px;height:36px;border:1px solid #dfecc24a;border-radius:9px;font:23px var(--mono);color:var(--lime)}
.activity-tag{font-size:10px;color:#d0dccc}.activity-number{margin-left:auto;color:#95b3a54d;font:30px var(--mono)}
.activity-card h2,.gear-card h2,.upgrade-card h2,.business-card h2,.approach-card h2{font-size:18px;font-weight:550;letter-spacing:-.5px;margin:19px 0 5px}.activity-card p{font-size:11px;line-height:1.8;margin-bottom:20px}
.activity-meta{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-top:auto;font-size:10px;color:var(--muted)}.activity-meta b{font:15px var(--mono);color:var(--lime)}
.activity-card-foot{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--border);padding-top:12px}.activity-card-foot small{font-size:9px;color:#a9beb0}.activity-card-foot .text-button{padding:8px 0;text-align:left}
.small-primary,.secondary-button{padding:11px 14px;border-radius:5px;font-size:11px;line-height:1.5;background:var(--lime);color:#22362e;min-height:39px}.secondary-button{background:#2b4547;color:#e3eacc;border:1px solid var(--border)}
.business-grid,.approach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.business-card,.approach-card{padding:23px;background:#1c3338;border:1px solid var(--border);border-radius:9px;margin-top:14px}.business-card .eyebrow{margin-top:4px}.business-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.business-price{font:32px var(--mono);color:var(--lime);margin:19px 0}
.business-meters{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.business-meters small{display:block;color:var(--muted);font-size:10px}.business-meters strong{display:block;font:23px var(--mono);color:var(--lime);margin-top:7px}.business-meters i{display:block;height:4px;background:linear-gradient(90deg,var(--lime) var(--stock),#29464b var(--stock));margin-top:9px}
.service-links{display:flex;gap:10px}.service-links button{background:#284447;border:1px solid var(--border);padding:15px 22px;border-radius:7px;font-size:12px;color:var(--lime)}
.gear-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.gear-card,.upgrade-card{display:flex;flex-direction:column;padding:20px;border:1px solid var(--border);border-radius:8px;background:#20383c}.gear-card h2{font-size:16px}.gear-card p{font-size:11px;min-height:58px}.gear-symbol{font:40px var(--mono);color:var(--lime);display:block;height:65px;padding:10px 0}.gear-card .text-button{margin-top:auto;text-align:left}
.equipment-summary{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.equipment-summary span{background:#10252c;border:1px solid var(--border);border-radius:5px;padding:10px 14px;font-size:11px;color:var(--muted)}.equipment-summary b{font-family:var(--mono);margin-left:12px;color:var(--lime)}
.car-select-label{display:flex;align-items:center;gap:20px;font-size:12px;color:var(--muted);margin:23px 0}.car-select-label select{background:#1e393d;border:1px solid #dcefaa55;border-radius:5px;padding:12px 18px;color:var(--lime);font:13px var(--mono);min-width:190px}
.upgrade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.upgrade-levels{display:flex;gap:6px;margin:7px 0}.upgrade-levels i{height:7px;background:#446158;flex:1;border-radius:2px}.upgrade-levels .filled{background:var(--lime)}.upgrade-card p{min-height:60px}.upgrade-card .buy-button{width:100%}
.approach-card{padding:25px}.approach-card.loud{background:linear-gradient(145deg,#453738,#1b3038)}.approach-card p{min-height:65px}.approach-card .buy-button{width:100%;justify-content:center}
.home-bank{padding:25px;margin:23px 0;background:#203b3d;border:1px solid var(--border);border-radius:8px}.home-bank small{display:block;color:var(--muted);font-size:12px}.home-bank strong{display:block;font:39px var(--mono);color:var(--lime);margin-top:12px}.home-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.home-service-grid button{padding:18px;background:#2b4848;border:1px solid var(--border);border-radius:6px;text-align:left;font-size:12px}
.combat-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end}.combat-actions .action{font-size:10px;min-height:36px;padding:8px 11px}.danger-action{background:#974f45e8;border-color:#ffc2a8a1;color:#fff1dd}.armed .right-bottom{gap:10px}#equipment-hud{display:flex;align-items:center;gap:15px;background:#122b32cc;padding:8px 12px;border-radius:6px;border:1px solid var(--border)}#equipment-hud>span{font-size:9px;color:var(--muted)}#equipment-hud strong{font:26px var(--mono);color:var(--lime)}#equipment-hud small{font-size:12px;color:var(--muted)}
#skill-panel{position:absolute;left:50%;bottom:170px;transform:translateX(-50%);width:340px;background:#11262ff2;border:1px solid #ddefad70;border-radius:9px;padding:18px;box-shadow:0 10px 50px #091b2677;text-align:center;pointer-events:auto}.skill-header{display:flex;align-items:center;justify-content:space-between;font-size:12px}.skill-header span{font:14px var(--mono);color:var(--lime)}#skill-panel p{font-size:10px;line-height:1.6;color:var(--muted);margin:10px 0}.skill-track{position:relative;height:22px;background:#294951;border-radius:4px;overflow:hidden;margin:15px 0}.skill-track span{position:absolute;top:0;bottom:0;background:#dcefaa88;border-left:1px solid var(--lime);border-right:1px solid var(--lime)}.skill-track i{position:absolute;top:0;bottom:0;width:4px;margin-left:-2px;background:#fff6d9;box-shadow:0 0 9px #fff}#skill-action{margin:0 auto;min-width:135px;justify-content:center}
.interior-mode .combat-actions,.interior-mode .right-bottom,.interior-mode .tutorial{display:none}.interior-overlay{background:linear-gradient(0deg,#132933df,#19323b99);padding:20px 26px;border:1px solid #e6edcb33;border-radius:10px;backdrop-filter:blur(8px);bottom:35px;min-width:350px}.interior-overlay h2{margin:13px 0}.interior-overlay button{margin:13px auto 0}.interior-overlay #home-services{font-size:11px}#jail-actions button{display:inline-flex;margin:10px 5px 0}#jail-sentence{font:15px var(--mono);color:var(--lime)}
@media(max-width:900px){.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gear-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-grid{grid-template-columns:1fr}.activity-card{min-height:245px}.upgrade-grid{gap:8px}.upgrade-card{padding:15px}}
@media(max-width:540px){.city-tabs{gap:5px;margin:15px 0}.city-tabs button{font-size:10px;padding:9px 12px}.activity-grid{grid-template-columns:1fr}.activity-card{padding:18px;min-height:230px}.activity-card h2{font-size:19px}.activity-card p{font-size:12px}.activity-card-foot{margin-top:13px}.activity-meta{font-size:11px}.activity-number{font-size:36px}.upgrade-grid,.approach-grid{grid-template-columns:1fr}.upgrade-card p{min-height:0}.gear-card{padding:14px}.gear-card h2{font-size:14px}.gear-card p{font-size:10px;min-height:52px}.gear-symbol{font-size:33px;height:50px}.car-select-label{display:block;font-size:11px}.car-select-label select{width:100%;margin-top:9px}.business-card{padding:19px}.business-actions{flex-direction:column}.service-links button{padding:13px;font-size:11px;flex:1}.equipment-summary{gap:6px}.equipment-summary span{font-size:10px;padding:8px 10px}.home-service-grid{gap:7px}.home-service-grid button{font-size:11px;padding:15px 12px}.combat-actions{max-width:182px;flex-wrap:wrap;gap:5px}.touch .combat-actions .action{padding:9px;min-height:44px;min-width:46px;font-size:9px}.touch .right-bottom{gap:7px}.touch .armed .actions{max-width:182px}#equipment-hud{padding:6px 8px;gap:10px;flex-wrap:wrap;max-width:182px}#equipment-hud>span:first-child{flex-basis:100%;font-size:8px}#equipment-hud strong{font-size:22px}#equipment-hud>span{font-size:8px}#skill-panel{width:min(330px,88vw);bottom:auto;top:38%;padding:16px;z-index:5}.interior-overlay{bottom:25px;min-width:0;width:90vw;padding:18px}.interior-overlay h2{font-size:22px}.interior-overlay p{font-size:11px}.interior-mode #skill-panel{top:22%;}#skill-panel .action{font-size:11px}}
@media(max-height:540px) and (min-width:541px){.activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-card{padding:14px;min-height:240px}.gear-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.combat-actions{gap:5px}.combat-actions .action{padding:7px 9px;min-height:44px}#skill-panel{bottom:30px;width:285px;padding:12px}#skill-panel p{margin:7px 0}.skill-track{margin:10px 0}.interior-overlay{left:auto;right:20px;transform:none;bottom:20px;max-width:340px;min-width:300px;padding:15px}.interior-overlay h2{font-size:22px;margin:8px 0}.interior-mode #skill-panel{left:24%;bottom:30px}.touch .right-bottom{gap:7px}}
#police-status{font-size:11px;color:#ffc8a4;letter-spacing:.06em;margin-top:5px;max-width:220px}#police-status[data-phase="search"]{color:#bbd9ff}.wanted.searching{animation:search-pulse 1.2s infinite alternate}@keyframes search-pulse{to{opacity:.35}}.repair-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0 22px}.repair-row b{color:var(--accent)}#crosshair{position:fixed;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 1px 2px #000)}#crosshair i{position:absolute;background:#efffd6;border-radius:2px}#crosshair i:nth-child(1){width:2px;height:6px;top:0;left:10px}#crosshair i:nth-child(2){width:2px;height:6px;bottom:0;left:10px}#crosshair i:nth-child(3){height:2px;width:6px;left:0;top:10px}#crosshair i:nth-child(4){height:2px;width:6px;right:0;top:10px}.taking-hit #hud{box-shadow:inset 0 0 100px #d9433966}@media(max-width:600px){#police-status{font-size:9px;max-width:160px}}
.modal-open #toast{opacity:0;pointer-events:none}
#route-guidance{position:absolute;left:50%;bottom:84px;transform:translateX(-50%);display:flex;gap:12px;align-items:center;padding:11px 17px;background:#142d32e8;border:1px solid #d1eca44a;border-radius:8px;box-shadow:0 8px 25px #0002;max-width:280px}#route-direction{font-size:31px;color:var(--lime);line-height:1;display:block;transition:transform .15s}#route-guidance strong{display:block;font-size:12px;white-space:nowrap}#route-guidance small{display:block;font-size:10px;color:#b8c7bc;margin-top:4px}.modal-open #route-guidance{display:none}@media(max-width:600px){#route-guidance{top:calc(310px + env(safe-area-inset-top));bottom:auto;left:16px;transform:none;padding:8px 11px;gap:9px;max-width:240px}#route-guidance strong{font-size:10px}#route-guidance small{font-size:9px}#route-direction{font-size:23px}}@media(max-height:500px){#route-guidance{bottom:12px;top:auto;padding:7px 10px}#route-guidance strong{font-size:10px}}
.police-encounter .task-panel{display:none}.armed .location,.armed .tutorial{display:none}
