
:root{
 --bg:#080a0f;--bg2:#0d1119;--panel:#121720;--panel2:#171d28;--text:#f8fafc;--muted:#94a0b3;--line:rgba(255,255,255,.085);
 --accent:#f0b23d;--accent2:#ffd47b;--green:#42d27d;--red:#ff7171;--blue:#68a8ff;--purple:#a88cff;
 --shadow:0 24px 70px rgba(0,0,0,.34);--radius:24px;--rail:88px;--top:86px;--content-max:1640px;
 --safeT:env(safe-area-inset-top,0px);--safeR:env(safe-area-inset-right,0px);--safeB:env(safe-area-inset-bottom,0px);--safeL:env(safe-area-inset-left,0px);
 font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;color-scheme:dark;
}
*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{margin:0;min-width:320px;min-height:100%;background:radial-gradient(circle at 85% -10%,#2a2130 0,#0d1118 34%,#080a0f 70%);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select{font:inherit}button{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}.app-shell{min-height:100dvh;display:grid;grid-template-columns:var(--rail) minmax(0,1fr);grid-template-rows:var(--top) minmax(0,1fr)}
.glass{background:rgba(14,18,26,.82);backdrop-filter:blur(28px) saturate(1.15);-webkit-backdrop-filter:blur(28px) saturate(1.15);border:1px solid var(--line)}
.side-rail{position:fixed;z-index:40;left:0;top:0;bottom:0;width:var(--rail);padding:calc(14px + var(--safeT)) 10px max(14px,var(--safeB));display:flex;flex-direction:column;align-items:center;gap:16px;background:rgba(10,13,19,.97);border-right:1px solid var(--line)}
.brand-mark{border:0;width:58px;height:58px;border-radius:20px;background:linear-gradient(145deg,#ffd77c,#dc921a);color:#1a140a;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:950;box-shadow:0 12px 34px rgba(240,178,61,.18);cursor:pointer}.brand-mark b{display:none}.brand-mark span{letter-spacing:-1px}.side-rail nav{display:flex;flex:1;flex-direction:column;gap:7px;width:100%;align-items:center}.rail-bottom{width:100%;display:flex;justify-content:center}
.nav-btn{border:0;color:#8591a4;background:transparent;border-radius:17px;width:58px;min-height:54px;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;cursor:pointer;font-size:19px;position:relative}.nav-btn span{font-size:9px;font-weight:700}.nav-btn:hover,.nav-btn.active{color:#fff;background:#1b2230}.nav-btn.active:before{content:"";position:absolute;left:-10px;top:13px;bottom:13px;width:3px;border-radius:9px;background:var(--accent)}
.topbar{position:fixed;z-index:30;left:var(--rail);right:0;top:0;height:calc(var(--top) + var(--safeT));padding:calc(12px + var(--safeT)) max(24px,var(--safeR)) 12px 28px;border-width:0 0 1px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent2);font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-title{font-size:20px;font-weight:850;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clock-zone{text-align:center;min-width:100px}.game-clock{font-size:24px;font-variant-numeric:tabular-nums;font-weight:900}.game-date{font-size:9px;letter-spacing:.14em;color:var(--muted);margin-top:2px}.top-actions{display:flex;justify-content:flex-end;gap:9px}.pill,.profile-chip,.btn,.select{border:1px solid var(--line);background:#181f2a;color:white;border-radius:999px;padding:10px 14px;cursor:pointer}.pill{min-width:52px;font-weight:850}.profile-chip{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(66,210,125,.08)}
.main-view{grid-column:2;grid-row:2;padding:26px 28px calc(72px + var(--safeB));max-width:var(--content-max);width:100%;margin:0 auto;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head h1{margin:0;font-size:clamp(26px,2vw,34px);letter-spacing:-.045em}.page-head p{margin:7px 0 0;color:var(--muted);line-height:1.5;max-width:820px}.page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.grid{display:grid;gap:16px;min-width:0}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{min-width:0;background:linear-gradient(180deg,rgba(24,30,41,.96),rgba(16,21,29,.97));border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.metric{min-height:126px}.metric-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:clamp(24px,2vw,30px);font-weight:900;letter-spacing:-.04em;margin-top:15px;overflow-wrap:anywhere}.metric-delta{font-size:11px;margin-top:8px;color:var(--green)}.metric-delta.bad{color:var(--red)}
.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:16px;margin-bottom:16px}.hero-main{min-height:318px;position:relative;overflow:hidden;padding:26px}.hero-main:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(240,178,61,.14),rgba(240,178,61,0) 70%);right:-115px;top:-155px;pointer-events:none}.hero-main h2{font-size:clamp(32px,3.2vw,48px);line-height:.99;margin:12px 0 13px;max-width:800px;letter-spacing:-.055em;position:relative;z-index:1}.hero-main p{color:var(--muted);max-width:720px;line-height:1.58;position:relative;z-index:1}.hero-actions{display:flex;gap:9px;margin-top:23px;flex-wrap:wrap;position:relative;z-index:1}.btn{border-radius:14px;padding:12px 15px;font-weight:800}.btn.primary{background:var(--accent);color:#1b150a;border-color:transparent}.btn.secondary{background:#202838}.btn.ghost{background:transparent}.btn.danger{color:#ffb0b0}.btn.small{padding:8px 10px;font-size:11px}.btn:disabled{opacity:.4;cursor:not-allowed}
.badge{display:inline-flex;gap:7px;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid var(--line);font-size:10px;color:#dce3ed;max-width:100%}.badge.accent{background:rgba(240,178,61,.12);color:#ffda8b;border-color:rgba(240,178,61,.2)}.badge.green{background:rgba(66,210,125,.1);color:#7ee7a7}.badge.red{background:rgba(255,113,113,.1);color:#ff9d9d}.badge.blue{background:rgba(104,168,255,.1);color:#a9cbff}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.section-title h3{margin:0;font-size:16px}.section-title span{font-size:10px;color:var(--muted)}.live-feed{max-height:318px;overflow:auto;scrollbar-width:thin}.feed-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.feed-item:last-child{border-bottom:0}.feed-time{color:var(--accent2);font-size:10px;font-weight:850}.feed-title{font-size:12px;font-weight:800}.feed-text{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.45}
.job-list,.vehicle-list,.npc-list,.ledger-list,.contract-list,.zone-list{display:grid;gap:12px}.job-card,.vehicle-card,.npc-card,.ledger-row,.contract-card,.zone-card{background:#141a24;border:1px solid var(--line);border-radius:20px;padding:15px}.job-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px}.job-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.company-token{width:40px;height:40px;border-radius:13px;background:#242d3b;display:grid;place-items:center;font-weight:950;font-size:11px;flex:0 0 auto}.job-name{font-weight:850}.job-meta{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.45}.job-pay{font-size:20px;font-weight:900;text-align:right}.job-risk{font-size:10px;color:#ffcd70;text-align:right;margin-top:4px}.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.tag{font-size:9px;padding:6px 8px;border-radius:999px;background:#202837;color:#c0cad7}.filter-row{display:flex;gap:8px;overflow:auto;padding:1px 1px 6px;margin-bottom:14px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter{white-space:nowrap;border:1px solid var(--line);background:#151b25;color:var(--muted);padding:10px 12px;border-radius:999px;cursor:pointer}.filter.active{color:#1b1409;background:var(--accent);border-color:var(--accent);font-weight:850}
.operation-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:16px}.route-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.route-step{padding:12px;border:1px solid var(--line);border-radius:16px;background:#121823;min-height:78px}.route-step.active{border-color:rgba(240,178,61,.5);background:rgba(240,178,61,.08)}.route-step.done{opacity:.62}.route-step b{display:block;font-size:11px}.route-step span{font-size:9px;color:var(--muted);display:block;margin-top:4px}.progress-track{height:9px;background:#262f3d;border-radius:999px;overflow:hidden;margin-top:12px}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#ffd77a)}
.vehicle-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:13px}.vehicle-icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#283142,#171d28);display:grid;place-items:center;font-size:27px}.vehicle-name{font-weight:900}.vehicle-meta{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.45}.health{max-width:180px;height:8px;background:#283142;border-radius:999px;overflow:hidden;margin-top:8px}.health span{display:block;height:100%;background:var(--green);border-radius:inherit}.vehicle-cost{text-align:right}.vehicle-cost strong{display:block}.vehicle-cost span{font-size:9px;color:var(--muted)}
.npc-card{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:13px}.npc-avatar{width:62px;height:62px;border-radius:19px;object-fit:cover;background:#222}.npc-name{font-weight:900}.npc-meta{font-size:10px;color:var(--muted);margin-top:3px;line-height:1.4}.npc-wallet{text-align:right}.npc-wallet strong{display:block;font-size:16px}.npc-wallet span{font-size:9px;color:var(--muted)}.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.mini-kpi{background:#10151e;border-radius:14px;padding:10px}.mini-kpi b{font-size:12px}.mini-kpi span{display:block;color:var(--muted);font-size:8px;margin-top:4px}
.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.ledger-title{font-weight:800;font-size:12px}.ledger-sub{font-size:9px;color:var(--muted);margin-top:4px}.money{font-weight:900;font-size:13px;text-align:right}.money.pos{color:#75e39f}.money.neg{color:#ff9191}.money.neutral{color:#d7deea}.finance-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--accent) 0 31%,#68a8ff 31% 51%,#a88cff 51% 67%,#ff7171 67% 83%,#42d27d 83% 100%);margin:16px auto;position:relative}.donut:after{content:"";position:absolute;inset:24px;border-radius:50%;background:#151b25}.legend{display:grid;gap:7px}.legend-row{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
.profile-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:16px}.profile-card{text-align:center;padding:28px}.player-avatar{width:94px;height:94px;border-radius:31px;background:linear-gradient(145deg,#f2b135,#9b5d07);display:grid;place-items:center;margin:0 auto 14px;font-size:32px;font-weight:950;color:#18120a}.profile-name{font-size:24px;font-weight:950}.profile-role{color:var(--muted);margin-top:4px}.balance{margin-top:22px;padding:18px;border-radius:20px;background:#10151e}.balance .label{font-size:9px;color:var(--muted)}.balance .value{font-size:28px;font-weight:950;margin-top:5px}.career-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.career-option{border:1px solid var(--line);background:#171e29;padding:10px;border-radius:14px;font-size:10px;color:var(--muted);cursor:pointer}.career-option.active{border-color:rgba(240,178,61,.45);color:#ffd77d;background:rgba(240,178,61,.09)}
.zone-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.zone-name{font-weight:900}.zone-meta{font-size:10px;color:var(--muted);margin-top:4px}.demand{font-size:18px;font-weight:900;text-align:right}.heat{display:flex;gap:3px;margin-top:6px;justify-content:flex-end}.heat i{width:8px;height:16px;border-radius:4px;background:#2a3341}.heat i.on{background:var(--accent)}
.release-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:14px}.version-search{width:100%;border:1px solid var(--line);background:#131a24;color:#fff;padding:12px 14px;border-radius:15px}.milestone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.milestone{background:#141a24;border:1px solid var(--line);border-radius:20px;padding:16px;min-height:155px}.milestone-range{font-size:9px;color:var(--accent2);font-weight:900}.milestone h3{font-size:15px;margin:8px 0 5px}.milestone p{font-size:10px;color:var(--muted);line-height:1.5;margin:0}.release-result{margin-top:14px;border:1px solid rgba(240,178,61,.28);background:rgba(240,178,61,.07);border-radius:18px;padding:16px}.release-result b{color:var(--accent2)}
.device-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.device-icon{width:56px;height:56px;border-radius:18px;background:#202838;display:grid;place-items:center;font-size:26px}.device-name{font-weight:900}.device-meta{font-size:10px;color:var(--muted);margin-top:4px}.breakpoint-list{display:grid;gap:8px;margin-top:14px}.breakpoint-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:10px}.breakpoint-row span{color:var(--muted)}.breakpoint-row b{font-size:9px}.ok{color:#7ee7a7}
.empty{padding:32px;text-align:center;color:var(--muted)}.empty strong{display:block;color:#fff;font-size:17px;margin-bottom:6px}.legal{font-size:9px;color:#7f8a9c;line-height:1.55;margin-top:18px}.bottom-nav{display:none}.toast{position:fixed;z-index:100;left:50%;bottom:28px;transform:translate(-50%,20px);background:#f7f7f8;color:#15171a;padding:11px 15px;border-radius:999px;font-weight:800;font-size:11px;opacity:0;pointer-events:none;transition:.22s;box-shadow:0 15px 50px rgba(0,0,0,.4);max-width:min(92vw,520px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.sheet-backdrop{position:fixed;z-index:80;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;padding:14px}.sheet{width:min(620px,100%);background:#121721;border:1px solid var(--line);border-radius:28px;padding:16px max(16px,var(--safeR)) calc(18px + var(--safeB)) max(16px,var(--safeL));box-shadow:0 -20px 80px rgba(0,0,0,.5)}.sheet-handle{width:42px;height:5px;background:#3a4353;border-radius:999px;margin:0 auto 14px}.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.more-item{border:1px solid var(--line);background:#171e29;color:#fff;border-radius:18px;padding:14px 9px;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.more-item b{font-size:18px}.more-item span{font-size:9px;color:#c6ced9}
@media(min-width:1440px){:root{--rail:226px}.side-rail{align-items:stretch;padding-left:16px;padding-right:16px}.brand-mark{width:100%;justify-content:flex-start;padding:0 16px}.brand-mark b{display:block;font-size:14px}.side-rail nav{align-items:stretch}.nav-btn{width:100%;padding:0 14px;flex-direction:row;justify-content:flex-start;gap:12px}.nav-btn span{font-size:11px}.nav-btn.active:before{left:-16px}.rail-bottom .nav-btn{width:100%}.main-view{padding-left:34px;padding-right:34px}}
@media(max-width:1199px){.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.profile-layout,.finance-layout{grid-template-columns:1fr}.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-layout{grid-template-columns:1fr}.route-strip{grid-template-columns:repeat(4,minmax(120px,1fr));overflow:auto;padding-bottom:4px}}
@media(min-width:768px) and (max-width:1023px){:root{--rail:74px;--top:80px;--radius:21px}.side-rail{padding-left:8px;padding-right:8px}.brand-mark{width:52px;height:52px}.nav-btn{width:52px;min-height:50px}.topbar{padding-left:20px;padding-right:18px}.main-view{padding:20px 20px 70px}.top-title{font-size:17px}.game-clock{font-size:21px}.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-main{min-height:280px}.hero-main h2{font-size:38px}.job-card{grid-template-columns:1fr auto}.milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.npc-card{grid-template-columns:56px minmax(0,1fr)}.npc-avatar{width:56px;height:56px}.npc-wallet{grid-column:2;text-align:left}.vehicle-card{grid-template-columns:54px minmax(0,1fr)}.vehicle-cost{grid-column:2;text-align:left}.page-head{align-items:flex-start}.page-actions{justify-content:flex-start}}
@media(max-width:767px){:root{--radius:20px}.app-shell{display:block;min-height:100dvh}.side-rail{display:none}.topbar{left:0;height:calc(72px + var(--safeT));padding:calc(10px + var(--safeT)) max(13px,var(--safeR)) 10px max(13px,var(--safeL));grid-template-columns:minmax(0,1fr) auto}.clock-zone{display:none}.top-actions{gap:6px}.profile-chip{padding:10px}.profile-chip span:last-child{display:none}.top-title{font-size:16px}.eyebrow{font-size:8px}.main-view{display:block;padding:calc(88px + var(--safeT)) max(12px,var(--safeR)) calc(98px + var(--safeB)) max(12px,var(--safeL));max-width:none}.bottom-nav{display:grid;position:fixed;z-index:50;left:max(9px,var(--safeL));right:max(9px,var(--safeR));bottom:max(8px,var(--safeB));min-height:68px;border-radius:23px;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px}.bottom-nav .nav-btn{width:auto;min-height:54px;font-size:18px;gap:3px}.bottom-nav .nav-btn span{font-size:8px}.bottom-nav .nav-btn.active:before{display:none}.bottom-nav .nav-btn.active{background:#242c39;color:#ffd77d}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:25px}.page-head p{font-size:11px}.page-actions{width:100%;justify-content:flex-start}.cols-4,.cols-3,.cols-2{grid-template-columns:1fr}.hero-main{min-height:350px;padding:20px}.hero-main h2{font-size:34px}.hero-main p{font-size:12px}.job-card{grid-template-columns:1fr}.job-pay,.job-risk{text-align:left}.vehicle-card{grid-template-columns:52px minmax(0,1fr)}.vehicle-icon{width:52px;height:52px}.vehicle-cost{grid-column:2;text-align:left}.npc-card{grid-template-columns:54px minmax(0,1fr)}.npc-avatar{width:54px;height:54px}.npc-wallet{grid-column:2;text-align:left}.finance-layout,.profile-layout,.operation-layout{grid-template-columns:1fr}.milestone-grid{grid-template-columns:1fr}.release-toolbar{grid-template-columns:1fr}.route-strip{display:flex;overflow:auto}.route-step{min-width:145px}.metric{min-height:108px}.card{padding:15px}.profile-card{padding:22px}.career-switch{grid-template-columns:1fr 1fr}.mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.breakpoint-row{grid-template-columns:82px minmax(0,1fr)}.breakpoint-row b{grid-column:2}.more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.toast{bottom:calc(92px + var(--safeB))}}
@media(max-width:380px){.main-view{padding-left:10px;padding-right:10px}.hero-main h2{font-size:31px}.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.career-switch{grid-template-columns:1fr}.mini-grid{grid-template-columns:1fr 1fr}.metric-value{font-size:24px}}
@media(orientation:landscape) and (max-height:520px) and (max-width:950px){.topbar{height:60px}.main-view{padding-top:72px}.bottom-nav{min-height:56px}.bottom-nav .nav-btn{min-height:44px}.hero-main{min-height:260px}.hero-main h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
