:root{--bg:#101a2b;--bg-soft:#1a2b46;--ink:#f2f4f8;--muted:#b5c0d4;--line:#2f4670;--accent:#ffb45f;--accent-strong:#ff8f3f;--ok:#63f0b3;--error:#ff7b7b;--idle:#a8b3c7;--player-connected:#5bd6ff;--player-disconnected:#ffbe55;--player-dead:#ff6f8f;--mono:"IBM Plex Mono", "Consolas", "Courier New", monospace;--display:"Sora", "Segoe UI", sans-serif}*{box-sizing:border-box;scrollbar-width:none}::-webkit-scrollbar{width:0;height:0}html,body{min-height:100%;margin:0}#app{min-height:100dvh}body{font-family:var(--display);color:var(--ink);background:#101a2b}body:before{content:none}.site{grid-template-columns:minmax(0,1fr);gap:.7rem;width:100%;max-width:none;min-height:100dvh;margin:0 auto;padding:.7rem;display:grid}.site[hidden]{display:none!important}.auth-gate{z-index:120;background:#0d1524;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.auth-gate[hidden]{display:none!important}.auth-card{gap:.58rem;width:min(420px,100%);padding:1rem;display:grid}.auth-card h1{font-size:1.16rem}.auth-card p{color:var(--muted);margin:0;font-size:.82rem}.auth-form{gap:.35rem;margin-top:.32rem;display:grid}.auth-form button{width:100%;margin-top:.24rem}.auth-error{color:var(--error);margin:.2rem 0 0;font-size:.76rem}h1,h2,h3{margin:0}.panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(160deg,#16243de6,#111c2ff2);border-radius:18px;min-height:0}.map-stage{min-height:52dvh;padding:.52rem}.panel-head{justify-content:space-between;align-items:center;gap:.55rem;display:flex}.badge{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:.26rem .55rem;font-size:.68rem;font-weight:700}.badge.idle{color:var(--idle)}.badge.loading{color:var(--accent)}.badge.ok{color:var(--ok)}.badge.error{color:var(--error)}.map-frame{border:1px solid var(--line);touch-action:none;cursor:default;background:#101a2c;border-radius:14px;height:clamp(420px,65dvh,860px);position:relative;overflow:hidden}.map-frame.is-ready{cursor:grab}.map-frame.dragging{cursor:grabbing}.map-frame.mission-pin-dragging{cursor:default}.map-frame.mission-pin-dragging .map-mission-pin-marker{cursor:grabbing}#map-image{transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;image-rendering:auto;background:#0e1828;position:absolute;top:50%;left:50%}.map-grid{transform-origin:50%;pointer-events:none;background-image:linear-gradient(#adc0df3d 1px,#0000 1px),linear-gradient(90deg,#adc0df3d 1px,#0000 1px);background-size:var(--map-grid-cell-width,calc(100% / 26)) var(--map-grid-cell-height,calc(100% / 26)), var(--map-grid-cell-width,calc(100% / 26)) var(--map-grid-cell-height,calc(100% / 26));background-position:var(--map-grid-origin-x,0%) var(--map-grid-origin-y,0%), var(--map-grid-origin-x,0%) var(--map-grid-origin-y,0%);position:absolute;top:50%;left:50%}.map-grid-cell-labels{pointer-events:none;position:absolute;inset:0}.map-grid-cell-label{color:#adc0df75;text-shadow:0 1px 1px #00000061;font-family:var(--mono);letter-spacing:.01em;font-size:.64rem;font-weight:500;line-height:1;position:absolute;transform:translate(-3px,-2px)}.map-players-layer{transform-origin:50%;pointer-events:none;z-index:3;position:absolute;top:50%;left:50%}.map-shop-pins-layer{transform-origin:50%;pointer-events:none;z-index:4;position:absolute;top:50%;left:50%}.map-mission-pins-layer{transform-origin:50%;pointer-events:auto;z-index:5;position:absolute;top:50%;left:50%}.map-player-marker{width:0;height:0;color:var(--muted);position:absolute;transform:translate(-50%,-50%)}.map-player-marker.is-connected{color:var(--ok)}.map-player-marker.is-disconnected{color:var(--accent-strong)}.map-player-marker.is-dead{color:var(--error)}.map-player-name{color:currentColor;max-width:9.5rem;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #000000b8;background:0 0;border:0;padding:0;font-size:.62rem;font-weight:600;line-height:1.2;position:absolute;top:8px;left:0;overflow:hidden;transform:translate(-50%)}.map-player-name.is-cycle-hidden{opacity:1}.map-shop-pin-marker{background:var(--player-connected);pointer-events:none;z-index:2;border:2px solid #080d17e6;border-radius:999px;width:16px;height:16px;position:absolute;transform:translate(-50%,-100%)}.map-shop-pin-name{max-width:11rem;color:var(--player-connected);font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #000c;font-size:.6rem;font-weight:700;line-height:1.2;position:absolute;top:-8px;left:50%;overflow:hidden;transform:translate(-50%,-100%)}.map-mission-pin-marker{pointer-events:auto;cursor:grab;background:#ffc467f2;border:2px solid #080d17e6;border-radius:999px;width:16px;height:16px;position:absolute;transform:translate(-50%,-100%);box-shadow:0 0 0 2px #ffc4674d}.map-mission-pin-marker.is-combat{background:#ff7961f2;box-shadow:0 0 0 2px #ff796147}.map-mission-pin-marker.is-gather{background:#6bdda0f2;box-shadow:0 0 0 2px #6bdda047}.map-mission-pin-marker.is-intel{background:#76c3fff2;box-shadow:0 0 0 2px #76c3ff4d}.map-mission-pin-marker.is-build{background:#ffc467f2;box-shadow:0 0 0 2px #ffc4674d}.map-mission-pin-name{color:#ffe9c8;max-width:12rem;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #000000d1;font-size:.6rem;font-weight:700;line-height:1.2;position:absolute;top:-8px;left:50%;overflow:hidden;transform:translate(-50%,-100%)}.map-device-marker{background:var(--idle);pointer-events:none;z-index:1;border:2px solid #080d17e6;border-radius:999px;width:14px;height:14px;position:absolute;transform:translate(-50%,-100%)}.map-device-marker.is-switch.is-on,.map-device-marker.is-alarm.is-on{background:var(--ok)}.map-device-marker.is-switch.is-off,.map-device-marker.is-alarm.is-off{background:var(--error)}.map-device-marker.is-switch.is-unknown,.map-device-marker.is-alarm.is-unknown{background:var(--accent)}.map-device-marker.is-alarm{box-shadow:0 0 0 2px #ffc4673d}.map-device-marker.is-selected{box-shadow:0 0 0 3px #5bd6ff59}.map-device-name{color:#d7e7ff;max-width:11rem;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #000c;font-size:.6rem;font-weight:700;line-height:1.2;position:absolute;top:-8px;left:50%;overflow:hidden;transform:translate(-50%,-100%)}.map-empty{color:var(--muted);font-family:var(--mono);text-align:center;justify-content:center;align-items:center;height:100%;margin:0;padding:4rem 1rem 3.2rem;font-size:.84rem;display:flex}.map-overlay{pointer-events:none;gap:.55rem;padding:.65rem;display:flex;position:absolute;left:0;right:0}.map-overlay-top{justify-content:space-between;align-items:flex-start;top:0}.map-overlay-bottom{align-items:flex-end;bottom:0}.map-overlay-left{justify-content:flex-start}.map-overlay-split{justify-content:space-between}.overlay-card{pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f192ad6;border:1px solid #2f4670db;border-radius:12px}.map-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .55rem;display:flex}.map-controls{gap:.35rem;display:flex}.map-tool{border:1px solid var(--line);min-width:2.2rem;color:var(--ink);background:#14223a;border-radius:9px;padding:.36rem .62rem;font-size:.78rem;font-weight:700}.map-tool-icon{justify-content:center;align-items:center;width:2.2rem;min-width:2.2rem;height:2.2rem;padding:0;display:inline-flex}.map-tool-icon svg{width:1.05rem;height:1.05rem;display:block}.map-tool-icon[aria-pressed=true],.map-tool-icon.is-active{border-color:var(--accent);color:var(--accent)}.map-tool:disabled{opacity:.45}.map-zoom-value{text-align:right;min-width:2.8rem;font-family:var(--mono);color:var(--muted);margin:0;font-size:.75rem}.map-session{max-width:min(72vw,900px);padding:.3rem .44rem}.map-session-metrics{align-items:stretch;gap:.32rem;margin:0;display:flex;overflow:hidden}.map-session-metrics div{border:1px solid var(--line);background:#111d31e6;border-radius:9px;min-width:0;padding:.28rem .44rem}.map-session-metrics dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem}.map-session-metrics dd{font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;margin:.08rem 0 0;font-size:.7rem;line-height:1.15;overflow:hidden}.map-presence-feed{gap:.35rem;width:min(26rem,48vw);max-width:100%;padding:.42rem .5rem;display:grid}.map-presence-feed h3{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.64rem}.map-presence-feed-list{gap:.26rem;display:grid}.map-presence-row{background:#111d31e6;border:1px solid #2f4670d6;border-radius:9px;padding:.3rem .4rem}.map-presence-row.is-joined{border-color:#63f0b37a}.map-presence-row.is-left{border-color:#ffb45f85}.map-presence-line{color:var(--ink);margin:0;font-size:.72rem;line-height:1.22}.map-presence-age{font-family:var(--mono);color:var(--muted);margin:.16rem 0 0;font-size:.66rem}.map-presence-empty{color:var(--muted);margin:0;font-size:.72rem}.console-column{grid-template-rows:auto minmax(0,1fr);align-content:start;gap:0;height:100%;min-height:0;display:grid;overflow:hidden}.compact-panel{padding:.72rem}.sidebar-menu{z-index:2;background:linear-gradient(#19283ee0,#111c2f94),linear-gradient(160deg,#16243deb,#111c2ff5);border:1px solid #95b1d638;border-radius:18px 18px 0 0;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.2rem;margin:0 0 -1px;padding:.46rem .6rem 0;display:grid;position:relative}.sidebar-tab{color:#c7d7ef;text-align:center;letter-spacing:.025em;text-transform:none;background:linear-gradient(#18273df5,#0e1828f7);border:1px solid #95b1d652;border-bottom:none;border-radius:10px 10px 0 0;justify-content:center;align-items:center;min-height:1.9rem;padding:.3rem .2rem .24rem;font-size:.66rem;font-weight:700;line-height:1.1;transition:border-color .14s,background-color .14s,color .14s,box-shadow .14s;display:flex;box-shadow:inset 0 -8px 14px #02070d33}.sidebar-tab.is-active{color:#f9efe1;background:linear-gradient(#ce975457,#212b3ce6),linear-gradient(135deg,#132134f7,#0d1826fc);border-color:#ffc174c7;margin-bottom:-1px;box-shadow:inset 0 1px #ffdfb36b,0 -1px #ffbf6f52}.sidebar-tab:hover{color:#dcecff;border-color:#abc9eb8f;box-shadow:inset 0 -8px 14px #02070d3d}@media (width<=620px){.sidebar-menu{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=420px){.sidebar-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-logout{color:#f9d3d7;background:#2b1821;border-color:#f07b8259}.profile-logout:hover{background:#3a1f2b;border-color:#f07b82bf}.sidebar-section{border-top-left-radius:0;border-top-right-radius:0;height:100%;min-height:0;display:none;overflow:auto}.sidebar-section.is-active{display:block}.sidebar-section[data-sidebar-section=shops].is-active,.sidebar-section[data-sidebar-section=dossier].is-active{flex-direction:column;display:flex;overflow:hidden}.sidebar-section.console-log-panel.is-active{display:flex}.sidebar-section[hidden]{display:none!important}.panel-head h2{font-size:.98rem}.panel-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.73rem}.probe-form{gap:.4rem;margin-top:.65rem;display:grid}label{color:var(--muted);font-size:.78rem}.row{flex-wrap:wrap;gap:.45rem;display:flex}input,button{font:inherit}input{border:1px solid var(--line);color:var(--ink);background:#121f35;border-radius:10px;padding:.55rem .68rem;font-size:.84rem}.row>input{flex:210px;min-width:0}input:focus{outline-offset:1px;outline:2px solid #ffb45f99}button{color:#2f1a00;background:linear-gradient(135deg, var(--accent), var(--accent-strong));cursor:pointer;border:0;border-radius:10px;flex:none;padding:.55rem .75rem;font-size:.8rem;font-weight:700}button:disabled{opacity:.6;cursor:not-allowed}.metrics{grid-template-columns:1fr;gap:.4rem;margin:.62rem 0 0;display:grid}.metrics div{border:1px solid var(--line);background:#111d31;border-radius:10px;padding:.5rem .58rem}dt{color:var(--muted);font-size:.74rem}dd{font-family:var(--mono);word-break:break-word;margin:.16rem 0 0;font-size:.78rem}.payload{border:1px solid var(--line);white-space:pre-wrap;font-size:.74rem;font-family:var(--mono);color:#d8e0ed;background:#101a2c;border-radius:11px;margin:.6rem 0 0;padding:.68rem}.console-log-panel{flex-direction:column;min-height:0;display:flex}.quick-actions{flex-wrap:wrap;gap:.33rem;margin-top:.6rem;display:flex}.chip-action{color:var(--ink);border:1px solid var(--line);background:#14223a;padding:.28rem .6rem;text-decoration:none;display:inline-block}.chip-action:hover{border-color:var(--accent);background:#1a2b49}.chip{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#14223a;border-radius:999px;padding:.27rem .56rem;font-size:.73rem;font-weight:600}.chip:hover{border-color:var(--accent);background:#1a2b49}.switches-meta,.teams-meta,.shops-meta{color:var(--muted);margin:.62rem 0 0;font-size:.75rem}#shops-search-input{width:100%;margin-top:.36rem}.shops-search-mode{gap:.34rem;margin-top:.34rem;display:flex}.shops-search-mode-option{text-align:center;flex:1 1 0}.shops-search-mode-option.is-active{border-color:var(--accent);color:#1f1200;background:linear-gradient(135deg, var(--accent), var(--accent-strong))}.dossier-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:.34rem;display:flex}.dossier-controls{gap:.34rem;margin-top:.52rem;display:grid}#dossier-search-input{width:100%}.dossier-results{flex:auto;grid-auto-rows:max-content;align-content:start;gap:.42rem;min-height:0;padding-right:.14rem;display:grid;overflow:hidden auto}.dossier-clear-search{margin-top:.35rem}.dossier-player-card{cursor:pointer;width:100%;min-width:0}.dossier-player-card:hover{border-color:#74b7ff75}.dossier-player-card:focus-visible{outline-offset:2px;outline:2px solid #74b7ffa8}.dossier-player-card .team-copy{width:100%;min-width:0}.dossier-player-card .team-title-line{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:.28rem;min-width:0;display:grid}.dossier-player-card .team-copy h4{width:100%;min-width:0}.dossier-player-card .team-pill-list{justify-content:flex-end;align-self:flex-start;width:auto;max-width:100%}.dossier-player-card .team-copy p{overflow-wrap:anywhere;word-break:break-word}.profile-password-modal-card.dossier-player-modal-card{width:min(99.5vw,1400px,104.76dvh);max-height:97dvh;padding:.85rem;overflow:auto}.dossier-player-form{align-content:start;gap:.42rem;min-height:0;margin-top:0}.dossier-player-modal-layout{grid-template-columns:minmax(0,1fr);gap:.8rem;min-height:0;margin-top:.24rem;display:grid}.dossier-player-tabs-panel{grid-template-rows:auto minmax(0,1fr);gap:.42rem;min-height:0;display:grid;overflow:hidden}.dossier-player-tabs{border-bottom:1px solid #95b1d63d;align-items:end;gap:.16rem;padding:0 .18rem;display:flex}.dossier-player-tab{text-align:center;color:#b6cae7;background:linear-gradient(#19283ef0,#0f1a2bf2);border:1px solid #95b1d64d;border-bottom:none;border-radius:10px 10px 0 0;flex:1 1 0;margin-bottom:-1px;padding:.32rem .46rem .28rem;box-shadow:inset 0 -8px 14px #02070d38}.dossier-player-tab.is-active{color:#f9efe1;background:linear-gradient(#ce975452,#212b3ce0),linear-gradient(135deg,#132134f5,#0d1826fa);border-color:#ffc174b3;box-shadow:inset 0 1px #ffdfb36b,0 -1px #ffbf6f52}.dossier-player-tab:hover{color:#d9e8fb;border-color:#abc9eb80}.dossier-player-modal-main{gap:.42rem;min-width:0;min-height:0;padding-right:.14rem;display:grid;overflow:auto}.dossier-player-notes-panel,.dossier-player-feed-panel{grid-template-rows:auto minmax(0,1fr);gap:.4rem;min-width:0;min-height:0;padding-right:.14rem;display:grid;overflow:auto}.dossier-player-modal-main[hidden],.dossier-player-notes-panel[hidden],.dossier-player-feed-panel[hidden]{display:none}.dossier-player-network-panel{background:linear-gradient(165deg,#0e1828f2,#0a121ff5);border:1px solid #9fafc940;border-radius:14px;align-content:start;gap:.4rem;min-width:0;padding:.52rem;display:grid;position:relative}.dossier-network-head{gap:.12rem;display:grid}.dossier-network-head h5{color:#dcecff;font-size:.7rem;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;margin:0}.dossier-network-head p{color:#9ab0d1;font-size:.63rem;font-family:var(--mono);margin:0;line-height:1.35}.dossier-network-map{aspect-ratio:1;background:radial-gradient(circle,#4a79c02e,#0000 52%),linear-gradient(160deg,#09111df5,#070d18f7);border:1px solid #84bdfd33;border-radius:12px;width:100%;position:relative;overflow:hidden}.dossier-network-ring{pointer-events:none;border:1px dashed #8aaad73d;border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dossier-network-ring.is-layer-1{width:36%;height:36%}.dossier-network-ring.is-layer-2{width:62%;height:62%}.dossier-network-ring.is-layer-3{width:88%;height:88%}.dossier-network-edge{transform-origin:0;pointer-events:none;height:1px;position:absolute}.dossier-network-edge.is-layer-1{background:linear-gradient(90deg,#84bdfd24,#84bdfd94)}.dossier-network-edge.is-layer-2{background:linear-gradient(90deg,#84bdfd1a,#84bdfd70)}.dossier-network-edge.is-layer-3{background:linear-gradient(90deg,#84bdfd14,#84bdfd52)}.dossier-network-node{color:#def;text-align:center;cursor:pointer;background:#101d2feb;border:1px solid #84bdfd61;border-radius:10px;align-content:center;justify-items:stretch;gap:.14rem;min-width:8rem;max-width:12rem;padding:.24rem .34rem;transition:border-color .12s,background-color .12s,color .12s;display:grid;position:absolute;transform:translate(-50%,-50%)}.dossier-network-node:hover{color:#f2f8ff;background:#182943f2;border-color:#9fd4ffb3}.dossier-network-node:focus-visible{outline-offset:1px;outline:2px solid #74b7ffb8}.dossier-network-node.is-focus{color:#f0fcff;z-index:4;background:#182e3af0;border-color:#84f1c6a8;min-width:10rem;max-width:14rem}.dossier-network-node.is-focus:disabled{cursor:default}.dossier-network-node.is-banned{color:#ffe4e4;background:linear-gradient(135deg,#b0202057,#101d2ff2 70%);border-color:#ff5f5fd1}.dossier-network-node.is-banned:hover{color:#fff1f1;background:linear-gradient(135deg,#c42a2a6b,#182943f2 70%);border-color:#ff7f7feb}.dossier-network-node.is-selected{color:#f2fbff;background:#18304af7;border-color:#5bd6ffeb;box-shadow:0 0 0 1px #5bd6ff5c}.dossier-network-node.is-selected .dossier-network-node-meta{color:#c6eaff}.dossier-network-node.is-layer-1{z-index:3}.dossier-network-node.is-layer-2{z-index:2}.dossier-network-node.is-layer-3{z-index:1}.dossier-network-node-name{width:100%;font-size:.6rem;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.dossier-network-node-meta{width:100%;font-size:.52rem;font-family:var(--mono);color:#9ab0d1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dossier-network-tooltip{z-index:140;pointer-events:none;background:linear-gradient(165deg,#0e1828f5,#0a121ffa);border:1px solid #9fafc957;border-radius:11px;width:fit-content;max-width:min(26rem,100vw - 1rem);padding:.34rem .38rem;position:absolute;box-shadow:0 10px 28px #00000057}.dossier-network-tooltip-content{gap:.2rem;max-width:100%;display:grid}.dossier-network-tooltip-tags{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.16rem;display:flex}.dossier-network-tooltip .team-pill{align-items:center;padding:.08rem .28rem;font-size:.56rem;line-height:1.15;display:inline-flex}.dossier-network-tooltip .team-pill.is-private,.dossier-network-tooltip .team-pill.is-banned{border-color:var(--line);color:var(--muted);background:#14223a}.dossier-network-tooltip .dossier-intel-row{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.16rem;margin-top:0}.dossier-network-tooltip .dossier-intel-badge{gap:.14rem;padding:.08rem .26rem;font-size:.56rem}.dossier-network-tooltip .dossier-intel-badge svg{width:.58rem;height:.58rem}.dossier-network-empty{margin-top:0}.dossier-player-related{gap:.34rem;margin-top:.28rem;display:grid}.dossier-related-group{gap:.24rem;display:grid}.dossier-related-group>span{color:#9ab0d1;text-transform:uppercase;letter-spacing:.035em;font-size:.63rem;font-family:var(--mono)}.dossier-related-list{flex-wrap:wrap;gap:.28rem;display:flex}.dossier-related-list>.profile-summary{margin:0}.dossier-related-manage-picker{gap:.28rem;display:grid}.dossier-related-manage-input-row{align-items:stretch;width:100%;display:flex}.dossier-related-manage-input{color:#d4e5ff;width:auto;min-height:2rem;font-family:var(--mono);background:#111d31d1;border:1px solid #9bb0d147;border-right:0;border-radius:.5rem 0 0 .5rem;flex:auto;padding:.35rem .42rem;font-size:.68rem}.dossier-related-add-icon{background:#182842f2;border:1px solid #9bb0d159;border-left:0;border-radius:0 .5rem .5rem 0;justify-content:center;align-items:center;min-width:2rem;min-height:2rem;padding:.2rem;display:inline-flex}.dossier-related-add-icon svg{stroke:currentColor;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:.95rem;height:.95rem}.dossier-related-search-dropdown{background:#0f1a2bf5;border:1px solid #9bb0d147;border-radius:.5rem;max-height:11.5rem;display:grid;overflow:auto}.dossier-related-search-dropdown:empty{display:none}.dossier-related-search-option{color:#d4e5ff;text-align:left;width:100%;font-family:var(--mono);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #9bb0d133;gap:.1rem;padding:.34rem .42rem;display:grid}.dossier-related-search-option:last-child{border-bottom:0}.dossier-related-search-option:hover{color:#f0f7ff;background:#182842e6}.dossier-related-search-option:focus-visible{outline-offset:-2px;outline:2px solid #74b7ff94}.dossier-related-search-option-name{font-size:.65rem;line-height:1.2}.dossier-related-search-option-id{color:var(--muted);font-size:.57rem;line-height:1.2}.dossier-related-search-empty{color:var(--muted);margin:0;padding:.36rem .42rem;font-size:.63rem}.dossier-related-manage-actions{flex-wrap:wrap;gap:.3rem;display:flex}.dossier-related-actions-footer{margin-top:.06rem}.dossier-related-player-chip{color:#d4e5ff;font-size:.66rem;font-family:var(--mono);letter-spacing:.015em;cursor:pointer;background:#111d31db;border:1px solid #9bb0d142;border-radius:999px;padding:.24rem .5rem;line-height:1.2;transition:border-color .12s,background-color .12s,color .12s}.dossier-related-player-chip:hover{color:#f0f7ff;background:#182842f2;border-color:#84bdfd9e}.dossier-related-player-chip:focus-visible{outline-offset:1px;outline:2px solid #74b7ff94}.dossier-related-player-chip.is-selected{border-color:#73aae6b8;box-shadow:0 0 0 2px #4a7dba3d}.dossier-related-player-chip.is-team-confirmed{color:#d5fff1;background:#12312beb;border-color:#5acea79e}.dossier-related-player-chip.is-team-stale{color:#ffe9cd;background:#3a2818eb;border-color:#ebab5a9e}.dossier-related-player-chip.is-selected,.dossier-related-player-chip.is-selected.is-team-confirmed,.dossier-related-player-chip.is-selected.is-team-stale{color:#deecff;background:#183152eb;border-color:#6ca5e4c7;box-shadow:0 0 0 2px #5a91cc42}.dossier-related-player-chip.is-wipe-seen{box-shadow:inset 0 0 0 1px #56b79680}.dossier-related-player-chip.is-wipe-unseen{box-shadow:inset 0 0 0 1px #d6806a80}.dossier-related-player-chip.is-wipe-unknown{box-shadow:inset 0 0 0 1px #9bb0d152}.dossier-player-intel-grid{border-top:1px solid #9fafc933;border-bottom:1px solid #9fafc933;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.22rem 1.4rem;margin-top:.28rem;padding:.46rem 0 .4rem;display:grid}.dossier-player-intel-item{align-items:baseline;gap:.32rem;min-width:0;display:flex}.dossier-player-intel-item.is-block{flex-direction:column;align-items:flex-start;gap:.24rem}.dossier-player-intel-item.is-aliases{grid-column:1/-1}.dossier-player-intel-subgroup{gap:.18rem;display:grid}.dossier-player-intel-item span{color:#9ab0d1;text-transform:uppercase;letter-spacing:.035em;font-size:.63rem;font-family:var(--mono);white-space:nowrap}.dossier-player-intel-item p{color:#e3efff;font-size:.73rem;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.dossier-player-intel-item p.dossier-player-intel-value.is-wrap{text-overflow:unset;white-space:normal;word-break:break-word;overflow:visible}.dossier-player-combat-summary{margin-top:.44rem}.dossier-combat-map{margin-top:.3rem}.dossier-combat-map-canvas{aspect-ratio:16/9;border:1px solid var(--line);background:#0f1a2c 50%/cover no-repeat;border-radius:12px;width:100%;position:relative;overflow:hidden}.dossier-combat-map-canvas.is-no-map-image{background-color:#101a2c;background-image:linear-gradient(#adc0df1f 1px,#0000 1px),linear-gradient(90deg,#adc0df1f 1px,#0000 1px);background-size:30px 30px}.dossier-combat-marker{border:1px solid #ffffffd1;border-radius:999px;width:.58rem;height:.58rem;margin-top:-.29rem;margin-left:-.29rem;position:absolute;box-shadow:0 0 0 1px #070c16db}.dossier-combat-marker.is-killer{background:#63f0b3}.dossier-combat-marker.is-victim{background:#ff7b7b}.dossier-combat-marker.is-unknown{background:#ffbe55}.dossier-combat-map-legend{margin-top:.22rem}.dossier-combat-list{gap:.56rem;max-height:none;margin-top:.22rem;display:grid}.dossier-combat-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;min-height:0;display:grid}.dossier-combat-section{min-width:0;min-height:0}.dossier-combat-section-head{border-bottom:1px solid #9fafc93d;justify-content:space-between;align-items:baseline;gap:.4rem;margin-bottom:.24rem;padding-bottom:.2rem;display:flex}.dossier-combat-section-head h4{color:#c9dcfa;font-size:.7rem;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;margin:0}.dossier-combat-section-head p{color:#9ab0d1;font-size:.67rem;font-family:var(--mono);margin:0}.dossier-combat-section-list{gap:.18rem;max-height:36dvh;padding-right:.12rem;display:grid;overflow:auto}.dossier-combat-event-row{border-bottom:1px solid #9fafc933;border-left:2px solid #0000;gap:.11rem;padding:.24rem .28rem;display:grid}.dossier-combat-event-row.is-killer{border-left-color:#63f0b3bf}.dossier-combat-event-row.is-victim{border-left-color:#ff7b7bc7}.dossier-combat-event-row.is-unknown{border-left-color:#ffbe55bd}.dossier-combat-event-head{justify-content:space-between;align-items:center;gap:.34rem;display:flex}.dossier-combat-event-head h5{color:#d7e6ff;text-transform:uppercase;letter-spacing:.04em;font-size:.64rem;font-family:var(--mono);margin:0}.dossier-combat-event-head p{color:var(--muted);font-size:.62rem;font-family:var(--mono);margin:0}.dossier-combat-event-row p{color:#a5bcdd;font-size:.63rem;font-family:var(--mono);margin:0}.dossier-modal-note-input{resize:vertical;border:1px solid var(--line);width:100%;min-height:6rem;color:var(--ink);font-size:.72rem;font-family:var(--mono);background:#0e1728;border-radius:8px;padding:.42rem .46rem}.dossier-modal-note-input:focus{border-color:#74b7ff;outline:none;box-shadow:0 0 0 1px #74b7ff57}.dossier-modal-note-list{border:1px solid var(--line);background:#0b1321;border-radius:8px;gap:.34rem;width:100%;min-height:10rem;max-height:18rem;padding:.42rem .46rem;display:grid;overflow-y:auto}.dossier-modal-note-item{color:#bacce8;font-size:.72rem;line-height:1.4;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;background:#0e1728e6;border:1px solid #587eae5c;border-radius:6px;margin:0;padding:.34rem .42rem}@media (width>=901px){.dossier-player-modal-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start}.dossier-player-modal-main{grid-column:1}.dossier-player-network-panel{grid-column:2;position:relative;top:auto}}@media (width<=900px){.profile-password-modal-card.dossier-player-modal-card{width:min(99vw,100%);height:97dvh;max-height:97dvh}.dossier-player-modal-layout{gap:.64rem}.dossier-player-network-panel{padding:.46rem}.dossier-network-node{min-width:6.8rem;max-width:9.8rem;padding:.2rem .24rem}.dossier-network-node.is-focus{min-width:8.4rem;max-width:11.6rem}.dossier-combat-columns{grid-template-columns:minmax(0,1fr);gap:.62rem}.dossier-combat-section-list{max-height:24dvh}.dossier-player-tabs-panel,.dossier-player-modal-main,.dossier-player-notes-panel,.dossier-player-feed-panel,.dossier-player-network-panel{padding-right:0;overflow:visible}}.switches-hint{color:var(--muted);margin:.45rem 0 0;font-size:.68rem;line-height:1.35}.switch-group-form{flex-wrap:wrap;gap:.34rem;margin-top:.52rem;display:flex}.switch-group-form input{flex:170px;min-width:0}.switch-group-form .chip-action{padding-inline:.68rem}.profile-summary{color:var(--muted);margin:.62rem 0 0;font-size:.75rem}.dossier-steam-link{color:#84bdfd;font-size:.72rem;font-family:var(--mono);text-underline-offset:2px;-webkit-text-decoration:underline #84bdfd73;text-decoration:underline #84bdfd73}.dossier-steam-link:hover{color:#b7d8ff;text-decoration-color:#b7d8ffcc}.dossier-private-pill{color:#ffc4c4;font-size:.68rem;font-family:var(--mono);letter-spacing:.02em;vertical-align:middle;text-transform:uppercase;background:#7a2b2b42;border:1px solid #ff7b7b70;border-radius:999px;width:fit-content;margin-left:.38rem;padding:.1rem .46rem;display:inline-flex}.servers-list,.admin-users-list{gap:.42rem;margin-top:.62rem;display:grid}.server-empty{color:var(--muted);margin:0;font-size:.73rem}.admin-user-row{border:1px solid var(--line);background:#111d31;border-radius:12px;gap:.2rem;padding:.5rem .56rem;display:grid}.admin-user-row.is-current-user{border-color:var(--ok)}.admin-user-title-line{justify-content:space-between;align-items:center;gap:.38rem;display:flex}.admin-user-title-line h4{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.8rem;line-height:1.2;overflow:hidden}.admin-user-row p{color:var(--muted);font-size:.67rem;font-family:var(--mono);margin:0}.admin-user-actions{flex-wrap:wrap;gap:.34rem;margin-top:.26rem;display:flex}.admin-user-actions .chip-action{width:100%}.admin-user-role{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#14223a;border-radius:999px;padding:.1rem .34rem;font-size:.6rem}.admin-user-role-admin{color:var(--ok)}.admin-user-role-user{color:var(--muted)}.server-card{border:1px solid var(--line);width:100%;color:var(--ink);padding:.5rem .56rem;background:#111d31;border-radius:12px;gap:.16rem;padding-right:1.5rem;transition:border-color .12s,background-color .12s;display:grid;position:relative}.server-card-shell{gap:.18rem;display:grid}.server-card-select{text-align:left;width:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;gap:.16rem;margin:0;padding:0;display:grid}.server-card:hover{border-color:var(--accent)}.server-card.is-active{background:linear-gradient(135deg,#63f0b31f,#111d31f5 55%);border-color:#63f0b36b}.server-card-title{font-size:.77rem;font-weight:600}.server-card-active-dot{background:var(--ok);border:1px solid #ffffff59;border-radius:999px;width:.62rem;height:.62rem;position:absolute;top:.48rem;right:.52rem}.server-card-badges{flex-wrap:wrap;gap:.22rem;display:flex}.server-card-badge{width:fit-content;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:.04rem;font-size:.64rem;display:inline-block}.server-card-badge.is-connected{color:var(--ok)}.server-card-badge.is-disconnected{color:#f4b5bd}.server-card-meta{color:var(--muted);font-size:.68rem;font-family:var(--mono)}.profile-watch-alert-list{gap:.34rem;display:grid}.profile-watch-alert-row{color:var(--muted);font-size:.68rem;font-family:var(--mono);border-top:1px solid #2f46708c;justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem 0;display:flex}.server-watch-toggle-copy{gap:.14rem;min-width:0;display:grid}.server-watch-toggle-label{line-height:1.25}.server-watch-toggle-state{letter-spacing:.04em;text-transform:uppercase;font-size:.62rem}.server-watch-toggle-control{flex:none;justify-content:flex-end;align-items:center;display:flex}.server-watch-toggle-btn{transform-origin:50%}.server-watch-toggle-btn:disabled{cursor:wait}.profile-form{gap:.34rem;margin-top:.62rem;display:grid}.profile-actions{gap:.4rem;margin-top:.72rem;display:grid}.profile-actions button{width:100%}.profile-inline-actions{gap:.4rem;margin-top:.3rem;display:grid}.profile-inline-actions button{width:100%}.profile-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem}.profile-message{margin:.7rem 0 0;font-size:.75rem}.profile-message[data-state=success]{color:var(--ok)}.profile-message[data-state=error]{color:var(--error)}.profile-password-modal{z-index:140;place-items:center;padding:.9rem;display:grid;position:fixed;inset:0}.profile-password-modal[hidden]{display:none!important}.profile-password-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#070c16b8;position:absolute;inset:0}.profile-password-modal-card{z-index:1;width:min(460px,100%);padding:.78rem;position:relative}.profile-password-form{margin-top:0}.profile-password-message{margin:.08rem 0 .02rem;font-size:.75rem}.profile-password-message[data-state=success]{color:var(--ok)}.profile-password-message[data-state=error]{color:var(--error)}.profile-password-message[data-state=info]{color:var(--muted)}.profile-password-modal-actions{gap:.4rem;margin-top:.2rem;display:grid}.profile-password-modal-actions button{width:100%}.switches-list{gap:.46rem;margin-top:.52rem;display:grid}.missions-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:.34rem;display:flex}.mission-type-buttons{display:flex}.mission-type-option{border:1px solid var(--line);color:var(--muted);text-align:center;background:#121f35;border-radius:0;flex:1 1 0;padding:.46rem .34rem;font-size:.74rem;font-weight:700;position:relative}.mission-type-option+.mission-type-option{margin-left:-1px}.mission-type-option:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.mission-type-option:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}.mission-type-option:hover{z-index:1;color:#d9e8fb;border-color:#abc9eb80}.mission-type-option.is-active{z-index:1;color:#f9efe1;background:linear-gradient(#ce975452,#212b3ce0),linear-gradient(135deg,#132134f5,#0d1826fa);border-color:#ffc174b3}.mission-type-option:focus-visible{z-index:1;outline-offset:1px;outline:2px solid #ffb45f99}.mission-description-input{resize:vertical;border:1px solid var(--line);min-height:4.6rem;color:var(--ink);font:inherit;background:#121f35;border-radius:10px;padding:.55rem .68rem;font-size:.8rem}.mission-description-input:focus{outline-offset:1px;outline:2px solid #ffb45f99}.missions-list{grid-auto-rows:max-content;align-content:start;gap:.42rem;margin-top:.52rem;display:grid}.mission-row{--mission-accent:#95b1d68f;border:1px solid var(--line);border-left:3px solid var(--mission-accent);cursor:pointer;background:#111d31;border-radius:12px;align-items:center;gap:.52rem;padding:.5rem .56rem;display:flex}.mission-row.is-type-combat{--mission-accent:#ff7961c2}.mission-row.is-type-gather{--mission-accent:#6bdda0bd}.mission-row.is-type-intel{--mission-accent:#76c3ffc2}.mission-row.is-type-build{--mission-accent:#ffc467c2}.mission-row.is-completed{background:linear-gradient(135deg,#6f809f1f,#111d31f5 60%);border-color:#9fafc95c}.mission-row.is-selected{border-color:#76c3ffc7;box-shadow:0 0 0 1px #76c3ff42}.mission-checkbox-wrap{flex:none;justify-content:center;align-items:center;width:2.1875rem;height:2.1875rem;margin:0;display:inline-flex;position:relative}.mission-checkbox{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.mission-checkbox-visual{color:#b5c6dec7;background:linear-gradient(160deg,#17253af0,#101b2cf5);border-radius:10px;justify-content:center;align-items:center;width:100%;height:100%;transition:color .14s,background .14s;display:inline-flex}.mission-checkbox-icon{width:1.35rem;height:1.35rem;display:block}.mission-checkbox-icon-complete{display:none}.mission-checkbox:checked+.mission-checkbox-visual{color:var(--ok);background:linear-gradient(160deg,#143931eb,#102823f0)}.mission-checkbox:checked+.mission-checkbox-visual .mission-checkbox-icon-open{display:none}.mission-checkbox:checked+.mission-checkbox-visual .mission-checkbox-icon-complete{display:block}.mission-checkbox:focus-visible+.mission-checkbox-visual{outline-offset:2px;outline:2px solid #ffb45f99}.mission-copy{flex:auto;gap:.18rem;min-width:0;display:grid}.mission-row-top{align-items:center;gap:.44rem;display:flex}.mission-row-top .mission-title{flex:auto}.mission-edit-completed-row{align-items:center;gap:.42rem;display:flex}.mission-edit-completed-label{color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.74rem}.mission-title{word-break:break-word;margin:0;font-size:.82rem;line-height:1.25}.mission-row.is-completed .mission-title{color:var(--muted);text-decoration:line-through}.mission-description{color:var(--ink);word-break:break-word;margin:0;font-size:.7rem;line-height:1.3}.mission-pin-line{color:var(--muted);font-size:.64rem;font-family:var(--mono);margin:0}.mission-type-pill{white-space:nowrap;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;background:#14223a;border-radius:999px;flex:none;padding:.08rem .34rem;font-size:.58rem}.mission-type-pill.is-combat{color:#ffd4cc;background:#732c1f6b;border-color:#ff7961a3}.mission-type-pill.is-gather{color:#ccf8e1;background:#235c4259;border-color:#6bdda094}.mission-type-pill.is-intel{color:#d4eeff;background:#254e745c;border-color:#76c3ff9e}.mission-type-pill.is-build{color:#ffe8c4;background:#7452225c;border-color:#ffc46794}.shops-results{flex:auto;grid-auto-rows:max-content;align-content:start;gap:.42rem;min-height:0;margin-top:.52rem;display:grid;overflow:auto}.teams-results{gap:.42rem;margin-top:.52rem;display:grid}.switch-groups{gap:.42rem;margin-top:.55rem;display:grid}.switch-group-empty{border:1px dashed var(--line);color:var(--muted);border-radius:10px;margin:0;padding:.56rem;font-size:.72rem}.switch-group-row{border:1px solid var(--line);background:#111d31;border-radius:11px;grid-template-columns:minmax(0,1fr);gap:.48rem;padding:.46rem .54rem;display:grid}.switch-group-row.group-all-on{background:linear-gradient(135deg,#63f0b31f,#111d31f5 55%);border-color:#63f0b36b}.switch-group-row.group-all-off{background:linear-gradient(135deg,#ff7b7b1f,#111d31f5 55%);border-color:#ff7b7b70}.switch-group-copy{flex:auto;min-width:0}.switch-group-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.48rem;width:100%;display:flex}.switch-group-title{align-items:center;gap:.38rem;min-width:0;display:flex}.group-status-dot{background:#6f809f;border:1px solid #ffffff59;border-radius:999px;flex:none;width:.62rem;height:.62rem}.group-status-dot.on{background:var(--ok)}.group-status-dot.off{background:var(--error)}.group-status-dot.mixed{background:var(--accent-strong)}.switch-group-copy h4{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.76rem;line-height:1.2;overflow:hidden}.switch-group-copy p{color:var(--muted);font-size:.67rem;font-family:var(--mono);margin:.1rem 0 0}.switch-group-actions{gap:.32rem;margin-left:auto;display:flex}.switch-group-members,.switch-group-members-list{gap:.34rem;width:100%;display:grid}.switch-group-members-empty{color:var(--muted);font-size:.67rem;font-family:var(--mono);margin:0}.switch-group-member-row{margin:0}.switch-group-member-row.is-dragging{opacity:.45}.switch-group-drop{transition:border-color .13s,box-shadow .13s,transform .13s}.switch-group-drop.drop-active{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 0 0 1px #ffb45f66}.switch-group-row.ungrouped{border-style:dashed}.switch-empty,.team-empty,.shop-empty,.mission-empty{border:1px dashed var(--line);color:var(--muted);border-radius:10px;margin:0;padding:.62rem;font-size:.75rem}.shop-row{border:1px solid var(--line);cursor:pointer;background:#111d31;border-radius:12px;align-items:center;gap:.44rem;padding:.5rem .56rem;display:flex}.shop-row.is-in{background:linear-gradient(135deg,#63f0b314,#111d31f5 60%);border-color:#63f0b342}.shop-row.is-out{background:linear-gradient(135deg,#ff7b7b1a,#111d31f5 60%);border-color:#ff7b7b59}.shop-row.is-best-scrap-deal{border-color:#ffc467b8;box-shadow:inset 0 0 0 1px #ffc46738}.shop-row.is-selected{border-color:#76c3ffc7;box-shadow:0 0 0 1px #76c3ff42}.shop-item-image{flex:none}.shop-copy{flex:auto;min-width:0}.shop-copy h4{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;line-height:1.2;overflow:hidden}.shop-copy p{color:var(--muted);font-size:.68rem;font-family:var(--mono);margin:.14rem 0 0}.shop-copy .shop-scrap-line{color:var(--ok)}.shop-copy .shop-scrap-line.is-unresolved{color:var(--muted)}.shop-copy .shop-stock-line{color:var(--ink)}.shop-trade-path-modal-card{width:min(94vw,760px)}.shop-trade-path-steps{gap:.36rem;max-height:min(55dvh,460px);display:grid;overflow:auto}.shop-trade-path-step{background:#111d31e6;border:1px solid #9fafc94d;border-radius:10px;padding:.42rem .48rem}.shop-trade-path-step-title{color:var(--ink);font-size:.71rem;font-family:var(--mono);margin:0}.shop-trade-path-step-meta{color:var(--muted);font-size:.63rem;font-family:var(--mono);margin:.2rem 0 0}.shop-trade-path-empty{border:1px dashed var(--line);color:var(--muted);border-radius:10px;margin:0;padding:.62rem;font-size:.75rem}.team-row{border:1px solid var(--line);background:#111d31;border-radius:12px;align-items:center;gap:.44rem;padding:.5rem .56rem;display:flex}.team-row.is-online{background:linear-gradient(135deg,#63f0b31a,#111d31f5 60%);border-color:#63f0b35c}.team-row.is-offline{background:linear-gradient(135deg,#ffb45f1a,#111d31f5 60%);border-color:#ffb45f57}.team-row.is-dead{background:linear-gradient(135deg,#ff7b7b1f,#111d31f5 60%);border-color:#ff7b7b66}.team-row.is-self{box-shadow:0 0 0 1px #5bd6ff6b}.team-status-dot{background:#6f809f;border:1px solid #ffffff59;border-radius:999px;flex:none;width:.62rem;height:.62rem;margin-top:.12rem}.team-status-dot.online{background:var(--ok)}.team-status-dot.offline{background:var(--accent-strong)}.team-status-dot.dead{background:var(--error)}.team-copy{flex:auto;min-width:0}.team-title-line{justify-content:space-between;align-items:center;gap:.42rem;display:flex}.team-copy h4{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;line-height:1.2;overflow:hidden}.team-pill-list{flex-wrap:wrap;justify-content:flex-end;gap:.24rem;display:inline-flex}.team-pill{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#14223a;border-radius:999px;padding:.1rem .34rem;font-size:.6rem}.team-pill.is-private{color:#ffd3d3;background:#9732325c;border-color:#ff7b7b99}.team-pill.is-banned{color:#ffe0e0;background:#b0202059;border-color:#ff5f5fd1}.team-copy p{color:var(--muted);font-size:.68rem;font-family:var(--mono);margin:.14rem 0 0}.team-copy .team-id-line{color:#9ab0d1}.dossier-intel-row{flex-wrap:wrap;gap:.26rem;margin-top:.24rem;display:flex}.dossier-intel-badge{border:1px solid var(--line);letter-spacing:.03em;font-size:.6rem;font-family:var(--mono);border-radius:999px;align-items:center;gap:.24rem;padding:.1rem .34rem;display:inline-flex}.dossier-intel-badge svg{fill:currentColor;flex:none;width:.68rem;height:.68rem}.dossier-intel-badge.is-inactive{color:#8a9cbb;background:#14223ab3}.dossier-intel-badge.is-active.is-ok{color:#84f1c6;background:#36a87d42;border-color:#84f1c666}.dossier-intel-badge.is-active.is-warn{color:#ffd49b;background:#bb85413d;border-color:#ffd49b73}.dossier-intel-badge.is-active.is-danger{color:#ffb3b3;background:#b24a4a3d;border-color:#ffb3b370}@keyframes switch-alarm-border-pulse{0%{box-shadow:0 0 #63f0b38f}70%{box-shadow:0 0 0 8px #63f0b300}to{box-shadow:0 0 #63f0b300}}.switch-row{border:1px solid var(--line);background:#111d31;border-radius:12px;align-items:center;gap:.44rem;padding:.5rem .56rem;display:flex}.switch-row.switch-state-on{background:linear-gradient(135deg,#63f0b31f,#111d31f5 55%);border-color:#63f0b36b}.switch-row.switch-state-off{background:linear-gradient(135deg,#ff7b7b1f,#111d31f5 55%);border-color:#ff7b7b70}.switch-row.switch-state-unknown{background:linear-gradient(135deg,#6f809f29,#111d31f5 55%);border-color:#9fafc95c}.switch-row.switch-alarm-triggered{background:linear-gradient(135deg,#63f0b333,#111d31f2 58%);border-color:#63f0b3eb;animation:1.1s ease-out infinite switch-alarm-border-pulse}.switch-row.draggable-switch{cursor:grab}.switch-row.switch-map-selectable{cursor:pointer}.switch-row.draggable-switch.switch-map-selectable{cursor:grab}.switch-row.draggable-switch.is-dragging{opacity:.45}.switch-row.switch-map-selected{border-color:#5bd6ffc7;box-shadow:0 0 0 1px #5bd6ff4d}.switch-item-image{object-fit:contain;flex:none;width:clamp(2.6rem,10vw,3.45rem);height:clamp(2.6rem,10vw,3.45rem);display:block}.switch-heading{flex:auto;justify-content:space-between;align-items:center;gap:.48rem;width:100%;min-width:0;display:flex}.switch-copy{flex:auto;min-width:0}.switch-copy h4{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.84rem;line-height:1.2;overflow:hidden}.switch-copy p{color:var(--muted);font-size:.7rem;font-family:var(--mono);margin:.14rem 0 0}.switch-group-line{margin-top:.22rem}.switch-trailing{flex:none;justify-content:flex-end;align-self:center;align-items:center;margin-left:auto;display:flex}.switch-row .switch-trailing{transform:none}.switch-btn{--switch-btn-accent:var(--accent);color:var(--switch-btn-accent);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.08rem;line-height:0;transition:transform .13s,opacity .13s;display:inline-flex}.switch-btn:hover:not(:disabled){transform:translateY(-1px)scale(1.03)}.switch-btn:active:not(:disabled){transform:scale(.97)}.switch-btn:focus-visible{outline:2px solid var(--switch-btn-accent);outline-offset:2px}.switch-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.switch-btn.state-on{--switch-btn-accent:var(--ok)}.switch-btn.state-off{--switch-btn-accent:var(--error)}.switch-btn.state-unknown{--switch-btn-accent:var(--accent)}.switch-btn-icon{transform-origin:50%;flex:none;width:2rem;height:2rem;transition:transform .16s;display:block}.switch-btn-icon-knob{fill:var(--switch-btn-accent);stroke:none}.switch-btn-icon-track{fill:none;stroke:#a8b3c785;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round}.switch-btn-icon-up{transform:rotate(-90deg)}.switch-btn-icon-down{transform:rotate(90deg)}.switch-context-menu{z-index:50;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e1828f5;border-radius:10px;gap:.2rem;min-width:140px;padding:.3rem;display:grid;position:fixed;box-shadow:0 10px 24px #00000059}.switch-context-menu[hidden]{display:none!important}.switch-context-item{color:var(--ink);text-align:left;background:#14223a;border:1px solid #0000;border-radius:7px;padding:.35rem .5rem;font-size:.74rem;font-weight:600}.switch-context-item:hover{border-color:var(--accent);background:#1a2b49}.console-output{min-height:180px;max-height:45dvh;overflow:auto}code{font-family:var(--mono);color:var(--ok);word-break:break-all}.animate-in{opacity:0;animation:.52s ease-out forwards rise;transform:translateY(14px)}.delay-1{animation-delay:.12s}.delay-2{animation-delay:.22s}.delay-3{animation-delay:.32s}@keyframes rise{to{opacity:1;transform:translateY(0)}}@media (width<=620px){.map-overlay{gap:.42rem;padding:.5rem}.map-overlay-top{flex-direction:column;align-items:stretch}.map-toolbar{width:fit-content}.map-overlay-bottom{align-items:stretch}.map-overlay-split{flex-direction:column;justify-content:flex-end}.map-session,.map-presence-feed{width:min(100%,92vw)}.map-session-metrics{grid-template-columns:1fr;gap:.24rem;display:grid}.map-player-name{max-width:7.8rem;font-size:.58rem}}@media (width>=540px){.profile-actions{grid-template-columns:1fr auto;align-items:center}.profile-actions button{width:auto}.profile-inline-actions{grid-template-columns:1fr auto;align-items:center}.profile-inline-actions button,.admin-user-actions .chip-action{width:auto}.profile-password-modal-actions{grid-template-columns:1fr 1fr}}@media (width>=960px){body{overflow:hidden}#app{height:100dvh}.site{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(320px,28vw,460px);gap:.75rem;height:100dvh;min-height:0;padding:.8rem}.map-stage{min-height:0;padding:.55rem}.map-frame{height:100%;min-height:0}.console-column{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) max-content;align-content:stretch;gap:0;overflow:hidden}.sidebar-menu{background:0 0;border:none;border-radius:0;grid-area:1/2;grid-template-columns:max-content;grid-auto-rows:max-content;align-content:start;place-items:start;gap:.12rem;margin:0 0 0 -1px;padding:.72rem .06rem .16rem}.sidebar-tab{text-align:center;writing-mode:vertical-lr;text-orientation:mixed;letter-spacing:.03em;text-transform:none;background:linear-gradient(#18273df5,#0e1828f7);border:1px solid #95b1d657;border-left:none;border-radius:0 12px 12px 0;justify-content:center;min-height:0;padding-block:.6rem;padding-inline:.6rem;font-size:.76rem;font-weight:700;line-height:1.1;box-shadow:inset 7px 0 10px #02070d38}.sidebar-tab.is-active{color:#f9efe1;z-index:1;box-shadow:none;background:linear-gradient(160deg,#16243de6,#111c2ff2);border-color:#ffc174c7;border-left-style:none;border-left-width:medium;margin-bottom:0;margin-left:-1px}.sidebar-section{border-right:1px solid var(--line);border-radius:18px;grid-area:1/1;margin-right:0}.console-log-panel{overflow:hidden}.console-output{flex:1;min-height:0;max-height:none}}
