:root{color-scheme:dark;--bg:#080b12;--card:#121824;--line:#2a3446;--purple:#ae39ff;--muted:#9caac1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#eef1f8;font:15px system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:#171e2d;border-radius:9px;padding:11px 16px}button:hover{border-color:var(--purple)}button:disabled{opacity:.5;cursor:wait}.primary{background:linear-gradient(110deg,#8020ed,#b544fa);border-color:#b75aff;font-weight:650}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #c880ff;outline-offset:3px}input,select,textarea{background:#0a0f19;border:1px solid #35415a;border-radius:7px;padding:11px;width:100%;margin-top:7px}label{display:block;color:#c4ccdc;font-size:13px}textarea{font-family:monospace;resize:vertical}h1,h2,h3{margin:0 0 13px;font-weight:700}h1{font-size:35px}h2{font-size:25px}h3{font-size:18px}p{line-height:1.6;color:var(--muted)}small,.eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--muted)}.brand{font-size:28px;font-style:italic;font-weight:900;letter-spacing:-1px;color:#d19dff}.eyebrow{margin:8px 0 30px}.login-card{width:min(470px,92vw);padding:35px;border:1px solid #4b3268;border-radius:18px;background:linear-gradient(140deg,#1f1630,#101722);box-shadow:0 25px 100px #511d6c30}.login-card label{margin:18px 0}.login-card button{width:100%}#login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 30%,#29153c,transparent 65%)}.hint{font-size:12px}#app:not([hidden]){display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;background:#0b101a}nav{display:grid;gap:10px}nav button{text-align:left;border-color:transparent;background:none}nav button.active{background:linear-gradient(100deg,#6e18b9,#40225d);border-color:#a735ef}.side-bottom{margin-top:auto;padding-top:40px}.workspace{min-width:0}header{display:flex;align-items:center;gap:20px;padding:23px 30px;border-bottom:1px solid var(--line)}header h2{margin:7px 0 0}header>div{flex:1}.live{font-size:12px;color:#6ce5ae}main{padding:28px;max-width:1450px;margin:auto}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{border:1px solid var(--line);border-radius:13px;padding:23px;background:linear-gradient(120deg,#151b29,#101521);margin-bottom:20px}.metric{font-size:35px;font-weight:750;margin:13px 0;color:#ce99ff}.card p:last-child{margin-bottom:0}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.toolbar input,.toolbar select{width:220px;margin:0}.toolbar h3{margin:0;margin-right:auto}.notice{border:1px solid #715224;background:#2a2110;border-radius:9px;padding:14px 18px;color:#e4c48c;font-size:13px;margin:18px 0}.badge{display:inline-block;color:#d5a4ff;background:#381b54;border:1px solid #653389;padding:5px 9px;border-radius:5px;font-size:11px;font-weight:650}.vehicles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.vehicle{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}.vehicle .image{height:180px;display:grid;place-items:center;background:radial-gradient(ellipse,#29243b,#0c1422);overflow:hidden}.vehicle img{width:100%;height:100%;object-fit:contain}.placeholder{text-align:center;color:#8c81ad;font-size:13px}.placeholder span{font-size:45px;display:block;margin-bottom:8px}.vehicle .info{padding:18px}.vehicle h3{margin:7px 0}.vehicle .meta{font-size:12px;color:var(--muted)}.vehicle .stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0;color:#c1cadd;font-size:13px}.vehicle button{width:100%}.inactive{opacity:.65}.empty{padding:40px;text-align:center;color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}td,th{padding:13px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted)}.balance{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.balance label{padding:17px;background:#101723;border:1px solid var(--line);border-radius:9px}.sum{font-size:24px;color:#c791ff;margin:20px 0}dialog{width:min(850px,96vw);max-height:90vh;background:#111824;color:inherit;border:1px solid #65358d;border-radius:14px;padding:25px}dialog::backdrop{background:#03050bba;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h2{margin:0}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.form-grid .stat-field{border-top:1px solid var(--line);padding-top:12px}.form-grid small{display:block;margin-top:8px}.asset{display:flex;gap:20px;align-items:center;margin:22px 0;padding:15px;border:1px dashed #4d3e66;border-radius:9px}.asset img{width:90px;height:110px;object-fit:contain}.asset p{font-size:12px}.asset label{flex:1}.modal-actions{display:flex;align-items:center;gap:20px;margin-top:20px}.modal-actions p{font-size:12px;flex:1}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);border:1px solid #9251be;background:#281838;padding:16px 23px;border-radius:10px;z-index:100;max-width:90vw;display:none}#toast.show{display:block}.architecture{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.architecture .card{border-top:3px solid #ac4bea}.architecture ul{padding-left:20px;color:var(--muted);line-height:1.8}[hidden]{display:none!important}@media(max-width:1000px){.vehicles{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.architecture{grid-template-columns:1fr}#app:not([hidden]){grid-template-columns:190px 1fr}header{padding:20px}.live{display:none}}@media(max-width:650px){#app:not([hidden]){grid-template-columns:1fr}aside{padding:15px;border-right:0;border-bottom:1px solid var(--line)}aside .eyebrow,.side-bottom p{display:none}nav{display:flex;overflow:auto;gap:5px;margin-top:15px}nav button{white-space:nowrap}.side-bottom{margin:12px 0 0;padding:0;display:flex;justify-content:space-between;align-items:center}.side-bottom button{padding:7px 12px}header{padding:17px}main{padding:15px}.vehicles{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.balance{grid-template-columns:1fr 1fr}.asset,.modal-actions{flex-wrap:wrap}.asset p{width:100%}.toolbar input,.toolbar select{width:100%}.card{padding:17px}.metric{font-size:30px}h1{font-size:29px}}
aside,.card{min-width:0}.card{overflow-wrap:anywhere}header>div{min-width:0}nav{max-width:100%}@media(max-width:650px){header{gap:10px}header small{font-size:9px;letter-spacing:.8px}header button{flex-shrink:0;padding:10px}.grid{gap:10px}.grid .card{padding:13px}.grid h3{font-size:16px}.grid small{letter-spacing:.7px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
#research-dialog{width:min(720px,95vw)}#research-dialog a{color:#ca91ff;overflow-wrap:anywhere}#research-result{margin-top:22px}.research-candidate{margin:4px}#ai-review{display:flex;gap:12px;align-items:start}#ai-review input{width:20px;flex-shrink:0;margin:0}#research-dialog ul{padding-left:20px}#research-start{margin-top:18px}

.character-avatar{display:block;width:100%;max-width:100%;height:240px;object-fit:contain}.character-avatar-preview{height:300px}

.import-preview{display:block;width:100%;max-width:640px;height:230px;object-fit:contain}#import-list button{margin:5px;max-width:100%;white-space:normal;overflow-wrap:anywhere}

.confirm-rule{display:flex;align-items:flex-start;gap:8px;margin:10px 0}.confirm-rule input{width:18px;flex-shrink:0;margin:0}#compatibility-match{overflow-wrap:anywhere}

.vehicle-variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;min-width:0;padding:12px;background:radial-gradient(ellipse,#29243b,#0c1422);box-sizing:border-box}.vehicle-variants figure{margin:0;min-width:0;display:flex;flex-direction:column;gap:8px}.vehicle-variants figcaption{font-size:12px;color:#d5a4ff;overflow-wrap:anywhere}.vehicle-variants a{display:block;width:100%;min-width:0}.vehicle-variants img,.asset .vehicle-variants img{display:block;width:100%;height:150px;object-fit:contain}.variant-placeholder{display:grid;place-items:center;min-height:150px;font-size:12px;color:#a09aac;text-align:center}.asset:has(.vehicle-variants){flex-wrap:wrap}#image-preview:has(.vehicle-variants){width:100%;flex-basis:100%;min-width:0}@media(max-width:450px){.vehicle-variants{grid-template-columns:1fr}.vehicle-variants img,.asset .vehicle-variants img{height:180px}}

.brand .octane-logo{display:block;width:160px;height:160px;max-width:100%;object-fit:contain;margin:auto}.login-card .octane-logo{width:220px;height:220px}@media(max-width:700px){.brand .octane-logo{width:100px;height:100px}}
