:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0c1017;color:#e7eef8}*{box-sizing:border-box}body{margin:0;background:#0c1017}button,input,textarea{font:inherit}.shell{min-height:100vh;padding:28px;max-width:1420px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.brand h1{margin:0;font-size:24px;font-weight:700}.brand p{margin:4px 0 0;color:#8da0b8}.actions{display:flex;gap:10px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.card,.panel,.modal{background:#141b26;border:1px solid #243044;border-radius:8px}.card{padding:16px;display:grid;gap:14px}.card-head{display:flex;justify-content:space-between;gap:12px}.title-row{display:flex;align-items:flex-start;gap:10px;min-width:0}.collapse-btn{width:32px;height:32px;padding:0;justify-content:center;flex:0 0 auto}.card h2{margin:0;font-size:18px}.meta{color:#8da0b8;font-size:13px}.status{padding:4px 8px;border-radius:999px;background:#263247;color:#bcd1eb;font-size:12px;height:fit-content}.status.running,.status.starting{background:#123a2e;color:#70f0bd}.status.crashed,.status.error{background:#4a1b25;color:#ff8ea0}.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kv div{background:#101722;border:1px solid #202b3c;padding:8px;border-radius:6px;min-height:54px}.kv span{display:block;color:#8194ad;font-size:12px}.kv strong{display:block;margin-top:4px;overflow-wrap:anywhere}.live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.info-section{background:#101722;border:1px solid #202b3c;border-radius:6px;padding:10px;min-width:0}.info-section h3{margin:0 0 8px;font-size:13px;color:#c9d8ea;font-weight:700}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.section-head h3{margin:0}.section-head span{color:#8194ad;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-section{padding:12px}.map-canvas{position:relative;width:100%;min-height:240px;max-height:460px;background:#07101a;border:1px solid #26344a;border-radius:6px;overflow:hidden}.map-grid-lines{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.34;background-image:linear-gradient(#223047 1px,transparent 1px),linear-gradient(90deg,#223047 1px,transparent 1px);background-size:10% 10%}.map-dot{position:absolute;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);border:1px solid #07101a;z-index:2}.map-dot.spawn{width:5px;height:5px;background:#4b6380;opacity:.75;z-index:1}.map-dot.spawn.selected{width:8px;height:8px;background:#56d483;opacity:1;z-index:2}.map-dot.warp{width:9px;height:9px;border-radius:2px;background:#b887ff}.map-dot.npc{background:#e4a23a}.map-dot.npc.targetable{background:#56d483;box-shadow:0 0 0 3px #56d4832e}.map-dot.clickable{cursor:crosshair}.map-dot.clickable:hover{transform:translate(-50%,-50%) scale(1.75);box-shadow:0 0 0 5px #60a5fa33;z-index:8}.map-dot.player{background:#60a5fa}.map-dot.target{width:14px;height:14px;background:transparent;border:2px solid #ff6b86;box-shadow:0 0 0 3px #ff6b8629;z-index:4}.map-dot.self{width:14px;height:14px;background:#f7f7fb;border:2px solid #21d6a3;box-shadow:0 0 0 4px #21d6a32e;z-index:5}.map-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;color:#91a4bd;font-size:12px}.map-legend span{display:inline-flex;align-items:center;gap:5px}.legend{display:inline-block;width:9px;height:9px;border-radius:50%;background:#91a4bd}.legend.self{background:#f7f7fb;border:2px solid #21d6a3}.legend.player{background:#60a5fa}.legend.spawn{background:#4b6380}.legend.warp{border-radius:2px;background:#b887ff}.mini-kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 10px;font-size:12px}.mini-kv span{color:#8194ad}.mini-kv strong{color:#e7eef8;overflow-wrap:anywhere;font-weight:600}.table-list,.event-list{display:grid;gap:6px;max-height:210px;overflow:auto}.table-list.compact{max-height:150px}.table-row{display:grid;grid-template-columns:1.4fr .7fr .7fr .9fr;gap:8px;align-items:center;border-bottom:1px solid #202b3c;padding-bottom:5px;font-size:12px}.table-row.npc-row{grid-template-columns:1.3fr .55fr .55fr .85fr 92px}.table-list.compact .table-row{grid-template-columns:1.2fr .7fr .7fr}.table-row strong,.table-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-row span,.event-list,.empty,.profile-help{color:#91a4bd;font-size:12px}.event-list div{border-bottom:1px solid #202b3c;padding-bottom:5px;overflow-wrap:anywhere}.npc-actions{display:flex;gap:4px;justify-content:flex-end}.btn.tiny{width:26px;height:26px;justify-content:center;padding:0;border-radius:5px}.btn.tiny.selected{background:#1f6f5b;border-color:#2f9b7c;color:#fff}.btn{border:1px solid #31415c;background:#1a2433;color:#e7eef8;border-radius:6px;padding:9px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.btn:hover{background:#223049}.btn.primary{background:#1f6f5b;border-color:#2f9b7c}.btn.danger{background:#612033;border-color:#96344e}.btn.icon{width:38px;justify-content:center;padding:9px}.button-row{display:flex;flex-wrap:wrap;gap:8px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login form,.form{width:min(760px,100%);display:grid;gap:14px}.login form{max-width:380px;background:#141b26;border:1px solid #243044;border-radius:8px;padding:22px}label{display:grid;gap:6px;color:#b8c6d8;font-size:13px}input,textarea{width:100%;background:#0e1520;color:#eef5ff;border:1px solid #2b3a52;border-radius:6px;padding:10px}textarea{min-height:150px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.form-section{border:1px solid #202b3c;background:#101722;border-radius:6px;padding:12px}.form-section h2{margin:0 0 12px;font-size:15px}.form-grid.inner{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.inner textarea{min-height:82px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000009e;display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(900px,100%);max-height:90vh;overflow:auto;padding:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full{grid-column:1 / -1}.logs{height:520px;overflow:auto;background:#070b11;border:1px solid #202b3c;padding:12px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;white-space:pre-wrap}.error{color:#ff8ea0}@media(max-width:760px){.shell{padding:16px}.form-grid,.form-grid.inner,.live-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.table-row,.table-row.npc-row,.table-list.compact .table-row{grid-template-columns:1fr 1fr}.npc-actions{justify-content:flex-start}}.bot-grid,.bots-grid,.dashboard-grid,.bot-list,.cards-grid,.grid-shell,main .grid,section .grid{align-items:start!important;align-content:start!important;grid-auto-rows:max-content!important}.bot-card,.bot-panel,.card.bot,.card.bot-card,.bot,.dashboard-card{align-self:start!important;height:auto!important;min-height:0!important}.bot-card.expanded,.bot-panel.expanded,.card.bot.expanded{align-self:start!important;height:auto!important}.bot-card.minimized,.bot-card.collapsed,.bot-panel.minimized,.bot-panel.collapsed,.card.bot.minimized,.card.bot.collapsed{align-self:start!important;height:fit-content!important;min-height:unset!important}.live-map,.map-panel,.logs-panel,.bot-card pre,.bot-panel pre{max-height:none}.chatter-events,.chat-events,.event-log,.logs,.bot-log{max-height:280px;overflow:auto}.loot-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.loot-strip span{display:inline-flex;max-width:220px;padding:4px 8px;border-radius:999px;background:#5fe6b41a;border:1px solid rgba(95,230,180,.22);color:#d8fff1;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enhanced-map-section{overflow:hidden}.map-canvas.enhanced-map{position:relative;width:100%;min-height:360px;max-height:none;border-radius:14px;border:1px solid rgba(94,234,212,.22);background:radial-gradient(circle at 50% 50%,rgba(45,212,191,.08),transparent 38%),linear-gradient(180deg,#060e1afa,#040911fa);box-shadow:inset 0 0 40px #00000073,0 16px 45px #00000040;overflow:hidden}.map-canvas.enhanced-map.large{min-height:520px}.map-canvas.enhanced-map.compact{min-height:300px}.map-canvas.enhanced-map .map-grid-lines{opacity:.42;background-image:linear-gradient(rgba(74,102,140,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(74,102,140,.28) 1px,transparent 1px),linear-gradient(rgba(94,234,212,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(94,234,212,.1) 1px,transparent 1px);background-size:10% 10%,10% 10%,2% 2%,2% 2%}.map-route{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;pointer-events:none}.map-route polyline{fill:none;stroke:#ffde59e0;stroke-width:.35;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(255,222,89,.45))}.map-tile.safe{position:absolute;width:2px;height:2px;border-radius:1px;transform:translate(-50%,-50%);background:#5dffb21c;z-index:1}.map-dot{display:inline-flex;align-items:center;justify-content:center}.map-dot em{position:absolute;left:12px;top:-10px;font-style:normal;font-size:10px;font-weight:800;white-space:nowrap;color:#eaf6ff;text-shadow:0 1px 3px #000,0 0 8px #000;pointer-events:none}.map-dot.path{width:5px;height:5px;background:#ffde59;border:0;opacity:.85;z-index:3;box-shadow:0 0 8px #ffde59a6}.map-dot.path.first,.map-dot.path.last{width:9px;height:9px}.map-dot.drop{width:10px;height:10px;background:#46f5a7;border:2px solid #07101a;border-radius:3px;z-index:5;box-shadow:0 0 0 3px #46f5a726,0 0 10px #46f5a752}.map-dot.npc{width:12px;height:12px;background:#e4a23a;border:2px solid #07101a;z-index:6;box-shadow:0 0 0 3px #e4a23a29}.map-dot.npc.targetable{background:#56d483;box-shadow:0 0 0 4px #56d48338,0 0 14px #56d48352}.map-dot.npc.priority{background:#ffe45c}.map-dot.npc.avoid{background:#ff6b86}.map-dot.player{width:11px;height:11px;background:#60a5fa;z-index:7;box-shadow:0 0 0 3px #60a5fa33}.map-dot.spawn{width:6px;height:6px;background:#7891b3;opacity:.8;z-index:2}.map-dot.spawn.selected{width:9px;height:9px;background:#56d483;opacity:1}.map-dot.warp{width:11px;height:11px;border-radius:3px;background:#b887ff;z-index:4;transform:translate(-50%,-50%) rotate(45deg)}.map-dot.target{width:18px;height:18px;background:transparent;border:2px solid #ff6b86;box-shadow:0 0 0 4px #ff6b862e,0 0 18px #ff6b8659;z-index:9}.map-dot.self{width:22px;height:22px;background:#f7f7fb;color:#07101a;border:3px solid #21d6a3;box-shadow:0 0 0 5px #21d6a333,0 0 18px #21d6a373;z-index:10}.map-dot.self b{font-size:12px;line-height:1}.actions a.btn,.button-row a.btn{text-decoration:none}.loot-stats{border-color:#5fe6b447}.loot-stats{max-height:430px;overflow:hidden}.iso-tile.safe{fill:url(#isoTileGradient)}.iso-route{fill:none;stroke:#ffee80f5;stroke-width:.22;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:url(#isoGlow);pointer-events:none}.iso-actor.clickable,.iso-npc,.iso-spawn.selected{cursor:pointer}.iso-warp polygon{fill:#b887ff;stroke:#fff9;stroke-width:.08;filter:url(#isoGlow)}.iso-spawn.selected circle{fill:#56d483;opacity:1;filter:url(#isoGlow)}.map-tools{gap:6px}#proxy-pool-dashboard-link{position:fixed;right:18px;top:14px;z-index:99999;display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:999px;background:#55e6fff2;color:#06111f;font-weight:900;font-size:13px;text-decoration:none;border:1px solid rgba(255,255,255,.25);box-shadow:0 12px 34px #00000059}#proxy-pool-dashboard-link:hover{filter:brightness(1.08)}.loot-stats{max-height:430px;overflow:hidden;border-color:#5fe6b447}.loot-tally-box{margin-top:10px;border:1px solid rgba(95,230,180,.22);background:#08141a8c;border-radius:12px;padding:10px;max-height:165px;overflow:auto}.loot-tally-box.compact{max-height:130px}.loot-tally-title{font-size:12px;font-weight:900;color:#9fffd7;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.loot-tally-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:5px 0;border-bottom:1px solid rgba(130,170,210,.12)}.loot-tally-row:last-child{border-bottom:0}.loot-tally-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loot-tally-row strong{white-space:nowrap;color:#eafff6}.loot-tally-row em{font-style:normal;color:#8fb3cc;font-size:11px;margin-left:4px}.loot-tally-more{margin-top:7px;color:#9fb3d1;font-size:12px;font-weight:700}.bot-card{align-self:start!important;height:auto!important}.iso-map-section{overflow:hidden}.map-head{align-items:center}.map-tools{display:flex;gap:6px;flex-wrap:wrap}.btn.tiny{padding:5px 8px;font-size:12px;min-height:0}.map-status-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.map-status-row span{display:inline-flex;border:1px solid rgba(120,160,220,.22);background:#0a1423b8;color:#cfe1ff;border-radius:999px;padding:4px 8px;font-size:12px}.iso-map-wrap{position:relative;width:100%;min-height:560px;border-radius:18px;overflow:hidden;border:1px solid rgba(94,234,212,.22);background:radial-gradient(circle at 50% 34%,rgba(45,212,191,.1),transparent 38%),linear-gradient(180deg,#050c16fa,#02060cfa);box-shadow:inset 0 0 54px #00000085,0 20px 70px #00000057}.iso-map-svg{display:block;width:100%;height:560px;touch-action:none}.iso-bg{fill:#03080ef5}.iso-tile{stroke:#5eead414;stroke-width:.035;vector-effect:non-scaling-stroke}.iso-tile.safe{fill:url(#isoTileGradient)}.iso-tile.path-tile{fill:#ffde5938;stroke:#ffde5985}.iso-tile.path-tile.last{fill:#ff6b8647;stroke:#ff6b86bf}.iso-route{fill:none;stroke:#ffee80f5;stroke-width:.22;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:url(#isoGlow);pointer-events:none}.iso-actor{cursor:default;transition:transform .12s linear,opacity .12s linear}.iso-npc,.iso-spawn.selected{cursor:pointer}.iso-shadow{fill:#00000061}.iso-self circle{fill:#f7f7fb;stroke:#21d6a3;stroke-width:.18}.iso-self path{fill:#e7fff7;stroke:#21d6a3;stroke-width:.16}.iso-self text{text-anchor:middle;dominant-baseline:middle;font-size:.72px;font-weight:1000;fill:#06111f;pointer-events:none}.iso-npc circle,.iso-npc path{fill:#e4a23a;stroke:#120a02;stroke-width:.12}.iso-npc.targetable circle,.iso-npc.targetable path{fill:#56d483}.iso-npc.priority circle,.iso-npc.priority path{fill:#ffe45c}.iso-npc.avoid circle,.iso-npc.avoid path{fill:#ff6b86}.iso-player circle,.iso-player rect{fill:#60a5fa;stroke:#06111f;stroke-width:.12}.iso-drop rect{fill:#46f5a7;stroke:#06111f;stroke-width:.1}.iso-warp polygon{fill:#b887ff;stroke:#fff9;stroke-width:.08;filter:url(#isoGlow)}.iso-spawn circle{fill:#7891b3;opacity:.78}.iso-spawn.selected circle{fill:#56d483;opacity:1;filter:url(#isoGlow)}.iso-target polygon{fill:#ff6b8624;stroke:#ff6b86;stroke-width:.14;vector-effect:non-scaling-stroke}.iso-target circle{fill:#ff6b86}.iso-actor text{font-size:1.05px;font-weight:900;paint-order:stroke;stroke:#000000e0;stroke-width:.28;fill:#f8fbff;pointer-events:none}.proxy-info a{color:#7dd3fc;text-decoration:none}.proxy-info a:hover{text-decoration:underline}.button-row a.btn{text-decoration:none}@media(max-width:760px){.iso-map-wrap{min-height:420px}.iso-map-svg{height:420px}.map-tools{width:100%;margin-top:8px}}.better-map-panel{overflow:hidden}.better-map-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.better-map-tools{display:flex;gap:6px;flex-wrap:wrap}.better-map-wrap{width:100%;height:520px;border-radius:16px;overflow:hidden;border:1px solid rgba(94,234,212,.22);background:radial-gradient(circle at 50% 35%,rgba(32,214,170,.1),transparent 36%),linear-gradient(180deg,#050b14,#02060c);box-shadow:inset 0 0 40px #00000073,0 20px 60px #00000047}.better-map-canvas{width:100%;height:100%;display:block}.legend.drop{background:#46f5a7}.legend.path{background:#ffde59}@media(max-width:760px){.better-map-wrap{height:380px}}.upgraded-map-wrap{height:620px;border-radius:18px;border:1px solid rgba(94,234,212,.24);background:radial-gradient(circle at 50% 34%,rgba(38,214,174,.12),transparent 36%),linear-gradient(180deg,#060e18,#02070d);box-shadow:inset 0 0 42px #0000006b,0 18px 44px #0000003d}@media(max-width:760px){.upgraded-map-wrap{height:420px}}.combat-stats{border-color:#ffde5947}.combat-stats h3{color:#ffeaa0}.upgraded-map-wrap{height:640px;border-radius:18px;border:1px solid rgba(94,234,212,.24);background:radial-gradient(circle at 50% 34%,rgba(38,214,174,.12),transparent 36%),linear-gradient(180deg,#060e18,#02070d);box-shadow:inset 0 0 42px #0000006b,0 18px 44px #0000003d}.upgraded-map-panel{overflow:hidden}.upgraded-map-wrap{height:650px;border-radius:18px;border:1px solid rgba(94,234,212,.24);background:radial-gradient(circle at 50% 34%,rgba(38,214,174,.12),transparent 36%),linear-gradient(180deg,#060e18,#02070d);box-shadow:inset 0 0 42px #0000006b,0 18px 44px #0000003d}.upgraded-map-canvas{width:100%;height:100%;display:block;cursor:crosshair}.map-click-note{margin-top:10px;padding:8px 10px;border-radius:10px;background:#0a121ed1;border:1px solid rgba(105,150,220,.18);color:#cde3ff;font-size:12px;font-weight:700}.legend.self{background:#6ef3d0}.legend.npc{background:#e4a23a}.legend.targetable{background:#56d483}.legend.player{background:#5ea9ff}.legend.drop{background:#47f4a8}.legend.path{background:#f5d463}.legend.warp{background:#b78cff}.legend.blocked{background:#ff6b86}@media(max-width:760px){.upgraded-map-wrap{height:440px}}.hp-monitor{border-color:#7dd3fc47}.hp-monitor h3{color:#bae6fd}.hp-action-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.hp-action-row .btn{min-height:34px}
