@font-face{font-family:Legacy Display;src:url('./roboto-condensed-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--bg:#090b0a;--surface:#161817;--surface-raised:#242625;--line:#343735;--text:#f5f5f2;--muted:#b7bab6;--accent:#ffdf28;--radius:10px}
.topbar,.sidebar,.site-footer{background:#0c0e0d}.sidebar nav a,.sidebar nav button{font-family:Legacy Display,Manrope,sans-serif;text-transform:uppercase;font-size:18px;letter-spacing:.2px;min-height:54px;border-radius:4px}.sidebar nav a[aria-current=page]{background:#2a2d2b;color:#fff;box-shadow:inset 3px 0 var(--accent)}.sidebar nav a[aria-current=page] svg{color:var(--accent)}
h1,h2,.vehicle-title h3,.vehicle-detail-dialog h3{font-family:Legacy Display,Manrope,sans-serif;font-weight:700;text-transform:uppercase}h1,.page-heading h1{font-size:clamp(36px,4vw,52px);letter-spacing:.2px}.panel-heading h2{font-size:23px;letter-spacing:.3px}.eyebrow{color:var(--accent);font-weight:800}.panel{padding:22px;background:var(--surface);border-color:#2c2f2d}.overview-main,.overview-side,.overview-top,.dashboard-grid{gap:22px}
.button{border-radius:5px;min-height:46px;font-size:14px}.button.primary{background:var(--accent);border-color:var(--accent);color:#10110e;font-weight:800}.button.primary:hover{background:#ffe966}.text-link{color:var(--accent);font-size:14px}.icon-tile.violet{color:#d4c8ff;background:#342957}.icon-tile.pink{color:#ff9bcf;background:#4a2539}.character-panel{border-top:3px solid #ca4094}.finance-panel{border-top:3px solid var(--accent)}.activity-panel{border-top:3px solid #9e74ea}.support-panel{border-top:3px solid #6eac98}
.vehicle-card{position:relative;cursor:pointer;background:#202321;border-color:#303430;border-radius:10px;transition:transform .18s,border-color .18s}.vehicle-card:hover{transform:translateY(-3px);border-color:var(--accent)}.vehicle-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.vehicle-image{height:205px;background:#252826}.vehicle-image img{padding:14px;object-fit:contain}.vehicle-title h3{font-size:22px;letter-spacing:.2px}.vehicle-copy{padding:17px}.vehicle-details{font-size:14px}.vehicle-details dd{color:#f0f1ed}.vehicle-open{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid #44483f;font-size:14px;font-weight:800;color:var(--accent)}.vehicles-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}.property-card{background:#202321}.portrait{background:#202321}.sidebar-signature{font-size:12px}.sidebar-signature span{font-size:12px}.preview-label{color:#e3e5de;background:#242722}
.vehicle-detail-dialog{padding:0;width:min(1060px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto;background:#111412;border:1px solid #363a35;border-radius:12px;color:var(--text)}.vehicle-detail-dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}.vehicle-detail-dialog .vehicle-dialog-close{position:absolute;right:18px;top:18px;z-index:2;color:#fff;width:40px;height:40px}.vehicle-detail-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1.3fr);min-height:490px}.vehicle-detail-copy{padding:48px 32px 32px}.vehicle-detail-copy h2{font-size:36px;line-height:1.15;margin:10px 0 18px;overflow-wrap:anywhere}.vehicle-detail-copy>.status{margin-bottom:25px}.vehicle-detail-copy dl{font-size:16px}.vehicle-detail-copy dl>div{padding:12px 0;margin:0;border-bottom:1px solid #32372f}.vehicle-detail-copy .button{margin-top:28px;width:100%}.vehicle-detail-copy p:last-of-type{margin-top:20px;color:var(--muted);font-size:14px}.vehicle-detail-visual{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:56px 30px 30px;background:#202421;min-width:0}.vehicle-detail-visual .vehicle-image{background:transparent;width:100%;height:310px}.vehicle-detail-visual .vehicle-image img{padding:0}.vehicle-detail-visual h3{font-size:30px;text-align:center;margin-top:20px}.vehicle-detail-visual>span{margin-top:12px;background:#111512;padding:9px 16px;font-size:18px;letter-spacing:2px;border:1px solid #454b41;border-radius:4px}
@media(min-width:1450px){main{padding:36px 42px 90px}.overview-top{grid-template-columns:1.2fr 1fr}.vehicle-image{height:235px}}
@media(max-width:1100px){.overview-top{grid-template-columns:1fr}.vehicle-detail-layout{grid-template-columns:1fr 1.15fr}.vehicle-detail-copy{padding:48px 24px 24px}}
@media(max-width:700px){.panel{padding:18px}.page-heading h1{font-size:36px}.panel-heading h2{font-size:22px}.vehicles-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.vehicle-detail-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.vehicle-detail-layout{display:flex;flex-direction:column-reverse;min-height:0}.vehicle-detail-visual{padding:38px 22px 22px}.vehicle-detail-visual .vehicle-image{height:220px}.vehicle-detail-visual h3{font-size:27px}.vehicle-detail-copy{padding:25px 22px}.vehicle-detail-copy h2{font-size:30px}.vehicle-detail-copy dl{font-size:15px}}
@media(prefers-reduced-motion:reduce){.vehicle-card{transition:none}.vehicle-card:hover{transform:none}}
body:has(.vehicle-detail-dialog[open]){overflow:hidden}.vehicle-detail-dialog[open]{animation:none;transform:none;filter:none}
.vehicle-card,.vehicle-detail-visual{--vehicle-glow:radial-gradient(ellipse 140% 120% at 0% 100%,#eb2690d9 0%,#cc2b7db8 26%,#a8336c66 53%,#77355224 76%,transparent 100%)}.vehicle-card{isolation:isolate;transition:border-color .22s ease,box-shadow .22s ease}.vehicle-card:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--vehicle-glow);opacity:0;transition:opacity .22s ease;pointer-events:none}.vehicle-card .vehicle-image{background:transparent}.vehicle-card:focus-visible{box-shadow:0 0 0 1px var(--accent),0 0 35px #d26a9e30}.vehicle-card:focus-visible:before{opacity:1}
.panel,.property-card,.character-choice{transition:border-color .22s ease,box-shadow .22s ease}.character-choice:focus-visible{box-shadow:0 0 25px #ca40942e}
@media(hover:hover) and (pointer:fine){.vehicle-card:hover{border-color:#72cce1;background:#19292a;box-shadow:0 0 0 1px #65cee53b,0 0 42px #4dbdde2a,0 12px 30px #0005;transform:translateY(-3px)}.vehicle-card:hover:before{opacity:1}.vehicle-card:hover .vehicle-image{background:#20282555}.property-card:hover{border-color:#c1ab70;box-shadow:0 0 30px #ffdf281c}.character-choice:hover{border-color:#d67ab3;box-shadow:0 0 30px #ca409427}.character-panel:hover{box-shadow:0 0 32px #ca40941c}.finance-panel:hover{box-shadow:0 0 32px #ffdf2815}.sidebar nav a:hover{box-shadow:inset 3px 0 var(--accent),0 0 22px #ffdf2812}.button.primary:hover{box-shadow:0 0 24px #ffdf2835}}
@media(hover:none){.vehicle-card:hover{transform:none;box-shadow:none;border-color:#303430}}
@media(prefers-reduced-motion:reduce){.vehicle-card,.vehicle-card:before,.vehicle-card .vehicle-image,.panel,.property-card,.character-choice{transition:none}.vehicle-card:hover{transform:none}}
