:root{color-scheme:dark;font:14px/1.5 system-ui,sans-serif;background:#0b1018;color:#dce5f2}*{box-sizing:border-box}body{margin:0}header{height:72px;border-bottom:1px solid #253043;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#101722}.brand{font-size:17px;font-weight:800;letter-spacing:.16em;color:#70e4bf}.subtitle{margin-left:24px;color:#b7c6dc}.connection{display:flex;gap:9px;align-items:center;color:#9babbe}#light{width:8px;height:8px;border-radius:100%;background:#e9bd6c}#light.live{background:#5fe3b3}main{max-width:1640px;padding:24px 32px;margin:auto}.toolbar{display:flex;gap:18px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.toolbar a{color:#8bb8f8;text-decoration:none}.toolbar #stream{color:#7e90aa;flex:1;font-size:12px;overflow-wrap:anywhere}select,input,button{font:inherit;border:1px solid #2c3b51;border-radius:6px;color:#dce5f2;background:#131e2d;padding:7px 12px}button{cursor:pointer}button.active{border-color:#5dc3a4;color:#78e4c1;background:#18372f}#notice{background:#242317;color:#dfcc8b;border:1px solid #4b452b;border-radius:8px;padding:12px 16px;margin-bottom:18px}#notice:empty{display:none}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metrics article,.panel{border:1px solid #263349;background:#111a27;border-radius:10px;overflow:hidden}.metrics article{padding:18px 20px;display:flex;flex-direction:column;gap:5px;min-width:0}.metrics small{font-size:10px;letter-spacing:.13em;color:#90a2bc}.metrics strong{font-size:23px;font-weight:600;overflow-wrap:anywhere}.metrics article>span{font-size:12px;color:#8fa3bf}.bar{background:#243043;height:5px;border-radius:4px;margin-top:5px;overflow:hidden}.bar i{display:block;background:#5fe3b3;height:100%;width:0;transition:width .4s}.world{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;margin-bottom:20px}.panel-head{display:flex;gap:10px;align-items:center;justify-content:flex-end;border-bottom:1px solid #263349;padding:12px 16px}.panel-head h2{font-size:14px;margin:0 auto 0 0;font-weight:600}.map-wrap{height:480px;position:relative;overflow:hidden;background:#0c1420}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}#map-empty{position:absolute;inset:45% 0 auto;text-align:center;pointer-events:none;color:#7f94ad}#map-label{position:absolute;bottom:12px;left:16px;font:12px ui-monospace,monospace;color:#8fa9c2;pointer-events:none}.legend{display:flex;gap:16px;padding:10px 16px;flex-wrap:wrap;font-size:11px;color:#8da2bc}.detail{padding:18px;overflow:auto;max-height:520px}.detail dl{margin:0}.detail dt{color:#7f95b2;font-size:11px;margin-top:14px}.detail dd{margin:3px 0;overflow-wrap:anywhere}.detail h3{margin:0;font-size:18px}.detail pre{font:11px/1.5 ui-monospace,monospace;white-space:pre-wrap;color:#a3b7cc}.panel nav{margin-right:auto;display:flex;gap:6px;flex-wrap:wrap}nav button{border-color:transparent;background:transparent}input{width:200px}#content{overflow:auto;max-height:510px;min-height:150px}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{position:sticky;top:0;background:#172234;color:#859ab6;font-size:10px;letter-spacing:.05em;font-weight:600}th,td{padding:11px 16px;border-bottom:1px solid #202c40}tr:hover td{background:#172436}td small{display:block;color:#7d94b1}td{max-width:480px;overflow-wrap:anywhere}.empty{padding:32px;color:#8da2bc;text-align:center}.event{padding:12px 18px;border-bottom:1px solid #202c40}.event summary{cursor:pointer;font-size:12px}.event time{color:#7e95b1;margin-right:16px}.event pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;color:#a0b5cf}.badge{border-radius:4px;padding:3px 6px;background:#1d3143;color:#91bce3}footer{display:flex;justify-content:space-between;gap:24px;padding:18px 0;color:#7187a3;font-size:11px}#diagnostics{color:#91a5be}@media(max-width:950px){.world{grid-template-columns:1fr}.inspector{display:none}.metrics{grid-template-columns:repeat(2,1fr)}main{padding:18px}.map-wrap{height:400px}.panel-head{flex-wrap:wrap}header{padding:0 18px}footer{display:block}}@media(max-width:500px){.subtitle{margin-left:12px}.metrics strong{font-size:18px}.toolbar select{width:100%}input{width:100%}}
.quest-tracker{margin-bottom:20px}.quest-tracker .panel-head span{font-size:12px;color:#8da2bc}#quest-tracker{display:flex;flex-wrap:wrap;gap:12px;padding:16px}.quest-card{flex:1;min-width:260px;border-left:3px solid #e1c372;padding:10px 16px;background:#1b2330}.quest-card small{color:#91a5be}.quest-card h3{margin:4px 0 12px;font-size:17px;color:#f1d988}.quest-objective{display:flex;justify-content:space-between;gap:24px;margin:6px 0}.quest-objective strong{white-space:nowrap;color:#f1d988}.quest-objective strong.done{color:#5fe3b3}.quest-note{width:100%;color:#dfcc8b;font-size:12px}.quest-controls{padding:10px 16px}.quest-objectives details{font-size:11px;color:#859ab6;margin-top:10px}.quest-objectives pre{white-space:pre-wrap;max-width:600px}.graph-controls,.route-controls{display:flex;gap:12px;padding:10px 16px;align-items:center;flex-wrap:wrap}.graph-controls label{font-size:12px;white-space:nowrap}.graph-controls input{width:auto;vertical-align:middle}.graph-controls span{margin-left:auto;font-size:11px;color:#90a2bc}.route-controls{border-top:1px solid #263349}.route-controls select{flex:1;min-width:150px;max-width:100%}#view-zone{max-width:250px}#route-result{padding:0 16px 16px;color:#a2b5cf;font-size:12px;max-height:180px;overflow:auto}.route-steps{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.route-steps button{font-size:11px;text-align:left;padding:5px 8px}@media(max-width:500px){#view-zone{max-width:100%;width:100%}.quest-card{min-width:0;width:100%;flex-basis:100%}.quest-objective{gap:10px}.route-controls select{flex-basis:100%}.graph-controls span{width:100%;margin:0}}
.quest-plan{margin-bottom:20px}.quest-plan label{font-size:12px;white-space:nowrap}.quest-plan input{width:auto;vertical-align:middle}.quest-plan select{max-width:360px}#plan-status{font-size:11px;color:#91a5be}#plan-content{padding:16px 20px;color:#a9bbd0}#plan-content h3{color:#e6d19c;margin:5px 0 10px;font-size:17px}#plan-content small{display:block;color:#7e97b4;font-size:11px}#plan-content ol{padding-left:22px;margin:12px 0}#plan-content li{padding:3px 0}#plan-content details{font-size:11px;margin-top:14px}#plan-content summary{cursor:pointer;color:#91aed3}#plan-content pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto}@media(max-width:500px){.quest-plan select{width:100%;max-width:100%}.quest-plan .panel-head h2{width:100%}}
#content.headless-content{max-height:none}.headless-session{padding:20px}.headless-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.headless-heading h3{margin:0 0 8px;font-size:18px}.headless-heading p,.headless-source{color:var(--muted,#94a6b8);margin:0 0 16px;font-size:13px}.headless-heading .badge{white-space:nowrap}.headless-heading .badge.connected{color:#5fe3b3;border:1px solid #32684f}.headless-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}#headless-start{background:#214e42;border-color:#3c876e;color:#9bf0cf}button:disabled{opacity:.45;cursor:default}.headless-notice:empty{display:none}.headless-notice{color:#fc927c;margin:0 0 18px}.headless-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.headless-metrics>div{background:#101d29;border:1px solid #293b4c;border-radius:6px;padding:12px}.headless-metrics small{display:block;color:#94a6b8;font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px}.headless-metrics strong{display:block;font-size:14px;overflow-wrap:anywhere}.headless-session h4{margin:16px 0 10px}.headless-activity{list-style:none;padding:0;margin:0;font-size:13px}.headless-activity li{display:flex;gap:18px;padding:6px 0}.headless-activity time{color:#94a6b8;font-variant-numeric:tabular-nums}.headless-source{line-height:1.6}@media(max-width:700px){.headless-heading{flex-direction:column;gap:0;margin-bottom:16px}.headless-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.headless-session{padding:14px}#tabs{flex-wrap:wrap}}
.movement-controls{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #263349;font-size:12px;color:#91b5aa}.movement-controls{flex-wrap:wrap}.movement-controls span{flex:1;min-width:180px}.movement-controls button{white-space:nowrap;font-size:12px}.movement-error{color:#fc927c}

.characters-panel{margin-bottom:20px}.character-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:12px 0 20px}.character-card{display:flex;flex-direction:column;gap:9px;text-align:left;padding:16px;border:1px solid #35485a;border-radius:10px;background:#15212d;color:#e3edf5;cursor:pointer}.character-card.selected{border-color:#5fe3b3;box-shadow:inset 0 0 0 1px #5fe3b3}.character-title{display:flex;justify-content:space-between;gap:12px}.character-title strong{font-size:18px}.character-activity{color:#a6b8c9}.character-activity.active{color:#5fe3b3}.character-card small{color:#a6b8c9}.character-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.character-field{display:flex;flex-direction:column;gap:6px;padding:12px;background:#14212c;border-radius:8px}.character-field small{color:#9cabb9}.character-status{color:#b7cbdc}.character-warning,#character-error:not(:empty){color:#f1ce77;padding:8px 0}.character-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;max-height:440px;overflow:auto;padding:2px}.character-item{display:flex;flex-direction:column;gap:8px;padding:13px;border:1px solid #324253;border-radius:8px;background:#14212c}.character-item.equipped{border-color:#507b6c}.character-item small{color:#a6b8c9}.item-tags{display:flex;gap:5px;flex-wrap:wrap}.upgrade-badge{color:#5fe3b3;font-size:12px}.item-stats{font-size:12px;color:#c4d4e0;line-height:1.5}.item-uid{overflow-wrap:anywhere;font-size:10px}#character-workers{margin-top:18px}#character-workers p{color:#a6b8c9}#character-item-search{max-width:240px} @media(max-width:600px){.character-roster{grid-template-columns:1fr}.characters-panel .panel-head{flex-wrap:wrap}.character-items{grid-template-columns:1fr}}

.item-icon{object-fit:contain;align-self:flex-start;border-radius:6px;background:#0b1620;padding:4px}

[hidden]{display:none!important}
/* Character roster and inventory dialog share a single profile selection. */
.characters-panel #character-roster{margin:0;padding:0 16px 16px}
.fleet-controls{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin:12px 16px 16px}
.fleet-controls #fleet-state{color:#91a5be;font-size:12px}
.character-hint{color:#91a5be;font-size:12px;margin:12px 16px}
.characters-panel #character-error,.characters-panel #run-error{margin:8px 16px}
#run-error{color:#fc927c}#run-error:empty,#character-error:empty{display:none}
.character-card{padding:0;gap:0;cursor:default;min-width:0;overflow:hidden}
.character-open{display:flex;flex-direction:column;gap:9px;flex:1;width:100%;padding:16px;border:0;border-radius:0;background:transparent;text-align:left}
.character-open:hover{background:#1b2c3c}.character-open small,.character-title strong{overflow-wrap:anywhere}
.character-title{align-items:flex-start}.character-title .badge{white-space:nowrap}
.character-actions{display:flex;gap:8px;padding:0 16px 16px}.character-actions button{flex:1}
.character-start:not(:disabled){background:#214e42;border-color:#3c876e;color:#9bf0cf}
button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #70e4bf;outline-offset:-3px}
#character-workers:empty{display:none}#character-workers{padding:0 16px}
#character-dialog{color:#dce5f2;background:#111a27;border:1px solid #35485a;border-radius:12px;padding:0;width:min(1000px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-shadow:0 24px 90px #0009}
#character-dialog::backdrop{background:#050b14bd;backdrop-filter:blur(3px)}
#character-dialog>.panel-head{position:sticky;top:0;background:#111a27;z-index:1}
#character-dialog-title{font-size:18px;overflow-wrap:anywhere}
.character-dialog-body{padding:18px}.inventory-search{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:#a6b8c9;flex-wrap:wrap}
#character-dialog .character-items{max-height:none;overflow:visible}
#character-run-settings{border-top:1px solid #263349;margin-top:22px;padding-top:16px}
#character-run-settings summary{cursor:pointer;color:#a6b8c9}#character-run-settings .character-hint{margin:12px 0}
.run-settings-fields{display:flex;flex-wrap:wrap;gap:14px}.run-settings-fields label{display:flex;flex-direction:column;gap:6px;color:#a6b8c9;font-size:12px}
.run-settings-fields input[type=number]{width:110px}#run-history{padding-left:20px;color:#91a5be;font-size:12px}
@media(max-width:600px){#character-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.character-dialog-body{padding:12px}.character-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-search input{max-width:none;width:100%}}

.account-management{padding:16px}.account-pool-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.account-pool-heading h3{margin:0}.account-pool-heading span,.account-pool-list span{color:#91a5be;font-size:12px}.account-management .character-hint{margin:12px 0}.account-pool-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.account-pool-list li{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid #263349;border-radius:6px;overflow-wrap:anywhere}#account-pool-error{color:#f1ce77}#account-pool-error:empty{display:none}

.fleet-health-panel { margin-bottom: 16px; }
.fleet-health-panel > .character-facts, .fleet-health-panel > p, .fleet-health-panel > small { margin: 12px 16px; }
.fleet-health-panel > small { display: block; color: var(--muted, #a5b4c4); }

#account-batch-history{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));max-height:600px;overflow:auto}.account-batch progress{width:100%;height:12px;accent-color:#5fe3b3}.account-batch strong{color:#c8d9f0}.account-batch span{line-height:1.6}

/* Dense, keyboard-accessible roster; inventory remains in the character dialog. */
.roster-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}.roster-toolbar label{display:flex;flex-direction:column;gap:5px;color:#a6b8c9;font-size:12px}.roster-toolbar input{min-width:230px}.roster-toolbar button{height:36px}.character-roster{display:block;overflow:auto;max-height:70vh;border:1px solid #324253;border-radius:8px}.character-table{width:100%;min-width:1080px;border-collapse:collapse;font-size:13px}.character-table th{position:sticky;top:0;z-index:1;background:#1b2b39;color:#a6b8c9;text-align:left;font-weight:600;white-space:nowrap;padding:12px}.character-table td{padding:10px 12px;border-top:1px solid #293a49;vertical-align:middle;max-width:260px;overflow-wrap:anywhere}.character-table tr:nth-child(even){background:#13212b}.character-table tr:hover{background:#203442}.character-table tr.selected{background:#1d3a38;box-shadow:inset 3px 0 #5fe3b3}.character-table td small{display:block;color:#91a5be;font-size:11px;margin-top:4px}.character-name{border:0;background:transparent;color:#7ae9c0;font-weight:600;text-align:left;padding:2px 0}.character-table .character-actions{display:flex;padding:0;gap:6px;border:0;flex-wrap:nowrap}.character-table .character-actions button{font-size:12px;padding:6px 9px}.character-table .character-warning{padding:0;color:#f1ce77}#character-page-info{font-size:12px;color:#a6b8c9;align-self:center;white-space:nowrap}.character-table button:focus-visible{outline:2px solid #5fe3b3;outline-offset:3px}
