:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-tertiary: #242836;--bg-hover: #2d3244;--border: #2e3348;--text-primary: #e4e6ed;--text-secondary: #9ba1b4;--text-muted: #6b7186;--accent: #cd412b;--accent-hover: #e04e38;--accent-subtle: rgba(205, 65, 43, .15);--success: #34d058;--warning: #f0b429;--danger: #e04e38;--info: #4a9eff;--sidebar-width: 240px;--header-height: 56px;--radius: 8px;--radius-sm: 4px;--shadow: 0 2px 8px rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.app-layout{display:flex;height:100vh}.main-content{flex:1;overflow-y:auto;padding:24px 32px}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-header h2{font-size:1rem;font-weight:600;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#111}.btn-sm{padding:4px 10px;font-size:.8125rem}.input,.select,.textarea{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:8px 12px;font-size:.875rem;width:100%;transition:border-color .15s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent)}.textarea{min-height:80px;resize:vertical}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.table tbody tr:hover{background:var(--bg-hover)}.badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:.75rem;font-weight:600}.badge-online{background:#34d05826;color:var(--success)}.badge-offline{background:#6b718626;color:var(--text-muted)}.badge-warning{background:#f0b42926;color:var(--warning)}.toggle{display:inline-block;position:relative;width:40px;height:22px;cursor:pointer;vertical-align:middle}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:11px;transition:background .2s}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-secondary);border-radius:50%;transition:transform .2s,background .2s}.toggle input:checked+.toggle-slider{background:var(--accent-subtle);border-color:var(--accent)}.toggle input:checked+.toggle-slider:after{transform:translate(18px);background:var(--accent)}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h1{font-size:1.5rem;font-weight:700}.stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:1.5rem;font-weight:700}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:24px}.login-page h1{font-size:2rem;font-weight:800;color:var(--accent)}.login-page p{color:var(--text-secondary);max-width:420px;text-align:center}.activity-shell{position:relative;height:100vh;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:16px}.activity-content{display:flex;flex:1;min-height:0;width:100%;position:relative}.activity-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--text-secondary)}.activity-fallback h1{font-size:1.4rem;color:var(--text-primary)}.activity-debug-panel{position:absolute;top:16px;left:16px;z-index:5000;width:min(420px,calc(100vw - 32px));max-height:min(48vh,420px);display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#0c0f16eb;box-shadow:0 10px 30px #00000059;backdrop-filter:blur(12px);color:var(--text-primary);font-size:.75rem}.activity-debug-header,.activity-debug-meta,.activity-debug-entry{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.activity-debug-header{font-size:.8125rem}.activity-debug-header span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.activity-debug-meta{flex-direction:column;gap:2px;color:var(--text-secondary)}.activity-debug-log{display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0}.activity-debug-entry{padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.activity-debug-entry.info .activity-debug-time{color:#7fc6ff}.activity-debug-entry.error .activity-debug-time{color:#ff8d8d}.activity-debug-time{min-width:52px;font-variant-numeric:tabular-nums}.activity-debug-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.activity-debug-inline{display:block;overflow-wrap:anywhere;color:#f3c98b;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;white-space:pre-wrap}.activity-debug-alert{padding:8px 10px;border-radius:8px;background:#e04e3829;border:1px solid rgba(224,78,56,.35);color:#ffd0ca}.btn-discord{background:#5865f2;color:#fff;padding:12px 24px;font-size:1rem;border-radius:var(--radius)}.btn-discord:hover{background:#4752c4}.view-toggle-group{display:inline-flex;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);margin-left:auto}.map-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.map-toolbar.activity{margin-bottom:12px}.view-toggle-btn{padding:4px 14px;font-size:.8125rem;font-weight:600;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.view-toggle-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.view-toggle-btn.active{background:var(--accent);color:#fff}.view-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.leaflet-container{background:#142337!important;border-radius:var(--radius)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-muted);text-align:center;gap:12px}.empty-state h3{font-size:1.125rem;color:var(--text-secondary)}.events-subtitle{margin-top:6px;color:var(--text-muted);font-size:.9375rem}.events-toolbar-card{margin-bottom:18px;background:linear-gradient(135deg,#2a537638,#172036eb),var(--bg-secondary)}.events-toolbar-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(160px,1fr));gap:14px}.events-toolbar-meta{display:flex;gap:14px;margin-top:14px;color:var(--text-muted);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}.events-table-shell{padding:0;overflow:hidden}.events-table-scroll{max-height:72vh;overflow:auto}.events-table thead th{position:sticky;top:0;z-index:1;background:#0e1321f5;backdrop-filter:blur(10px)}.events-type-cell{display:flex;align-items:center}.events-badge{padding:5px 10px;font-size:.72rem;letter-spacing:.03em}.events-badge-patrol_helicopter{background:#ff7a452e;color:#ff9b61}.events-badge-cargo_ship{background:#58b6ff2e;color:#7ac9ff}.events-badge-ch47{background:#ffc04c2e;color:#ffca6a}.events-badge-crate{background:#67d3892e;color:#7ce3a0}.events-badge-explosion,.events-badge-smart_alarm{background:#ff63842e;color:#ff8aa4}.events-details-cell{max-width:420px;color:var(--text-secondary);font-size:.8125rem;line-height:1.45}.events-empty-detail{color:var(--text-muted)}@media(max-width:1080px){.events-toolbar-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.events-toolbar-grid{grid-template-columns:1fr}.events-toolbar-meta{flex-wrap:wrap}.events-details-cell{max-width:240px}}.marker-cluster{border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;border:2px solid rgba(255,255,255,.8);box-shadow:0 2px 6px #00000080}.marker-cluster-small{width:32px;height:32px}.marker-cluster-medium{width:38px;height:38px;font-size:13px}.marker-cluster-large{width:44px;height:44px;font-size:14px}.marker-cluster div{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.marker-cluster span{line-height:1}.team-marker{position:relative;display:flex;flex-direction:column;align-items:center}.team-marker-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;box-shadow:0 1px 4px #00000080}.team-marker-name{margin-top:2px;font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.7);white-space:nowrap;text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis}.team-marker-leader .team-marker-avatar{border:2.5px solid #FFD700}.team-marker-leader .team-marker-star{position:absolute;top:-6px;right:-4px;font-size:10px;line-height:1}.map-note-marker{display:flex;flex-direction:column;align-items:center}.map-note-pin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.7);box-shadow:0 1px 3px #00000080}.map-note-label{margin-top:2px;font-size:9px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.7);white-space:nowrap;text-align:center;text-transform:uppercase;letter-spacing:.03em;max-width:90px;overflow:hidden;text-overflow:ellipsis}.dark-popup .leaflet-popup-content-wrapper{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #00000080}.dark-popup .leaflet-popup-tip{background:var(--bg-secondary);border:1px solid var(--border);border-top:none;border-left:none}.dark-popup .leaflet-popup-close-button{color:var(--text-muted)}.dark-popup .leaflet-popup-close-button:hover{color:var(--text-primary)}.map-popup{min-width:180px;max-width:280px}.popup-title{font-size:.875rem;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:6px}.popup-badge{display:inline-block;padding:1px 6px;border-radius:100px;font-size:.6875rem;font-weight:600;white-space:nowrap;flex-shrink:0}.popup-badge-instock{background:#34d05826;color:var(--success)}.popup-badge-outofstock{background:#e04e3826;color:var(--danger)}.popup-badge-online{background:#34d05826;color:var(--success)}.popup-badge-offline{background:#6b718626;color:var(--text-muted)}.popup-badge-dead{background:#e04e3826;color:var(--danger)}.popup-divider{height:1px;background:var(--border);margin:6px 0}.popup-orders{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.popup-order{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.05)}.popup-order:last-child{border-bottom:none}.popup-order-item{color:var(--text-primary);font-weight:500}.popup-order-price{color:var(--text-secondary)}.popup-order-stock{color:var(--text-muted);font-size:.6875rem}.popup-status{font-size:.8125rem;color:var(--text-secondary)}.popup-lastseen{font-size:.75rem;color:var(--text-muted);margin-top:2px}.map-sidebar{position:absolute;top:0;right:0;bottom:0;z-index:1000;display:flex;transition:width .25s ease;pointer-events:none}.map-sidebar.open{width:260px}.map-sidebar.collapsed{width:0}.map-sidebar-toggle{pointer-events:auto;position:absolute;top:12px;right:100%;width:24px;height:36px;background:var(--bg-secondary);border:1px solid var(--border);border-right:none;border-radius:var(--radius) 0 0 var(--radius);color:var(--text-muted);font-size:.625rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:-2px 2px 8px #0000004d}.map-sidebar-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.map-sidebar-content{pointer-events:auto;width:260px;height:100%;overflow-y:auto;overflow-x:hidden;background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.map-sidebar.collapsed .map-sidebar-content{display:none}.map-sidebar.activity{top:0;bottom:0;pointer-events:none}.map-sidebar.activity .map-sidebar-toggle,.map-sidebar.activity .map-sidebar-content{pointer-events:auto;background:#0c1322eb;backdrop-filter:blur(14px)}.sidebar-section{border-bottom:1px solid var(--border)}.sidebar-section:last-child{border-bottom:none}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;user-select:none;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.sidebar-section-header:hover{background:var(--bg-hover)}.sidebar-chevron{font-size:.5625rem;color:var(--text-muted)}.sidebar-section-body{padding:4px 12px 10px;display:flex;flex-direction:column;gap:4px}.sidebar-section-scroll{max-height:300px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.layer-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.8125rem;color:var(--text-secondary);user-select:none}.layer-item:hover{color:var(--text-primary)}.layer-item input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.layer-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.layer-label{flex:1}.layer-section-divider{height:1px;background:var(--border);margin:4px 0 2px}.map-grid-label{background:transparent;border:none}.map-grid-label span{display:inline-block;padding:0 2px;color:#e8f4ffad;font-size:.5rem;font-weight:600;letter-spacing:.04em;line-height:1;text-shadow:0 1px 1px rgba(0,0,0,.7);pointer-events:none}.map-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}.map-workspace.activity-mode{display:flex;flex-direction:column;width:100%;flex:1;min-height:0}.map-activity-stage{position:relative;flex:1;min-height:0;pointer-events:none}.rustbot-activity-overlay-root{position:absolute;inset:0;z-index:2;pointer-events:none}.map-activity-overlay-shell{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;padding:16px;min-height:0;pointer-events:none}.map-activity-left-sidebar{position:absolute;top:0;left:0;bottom:0;z-index:1000;display:flex;transition:width .25s ease;pointer-events:none}.map-activity-left-sidebar.open{width:min(320px,calc(100vw - 120px))}.map-activity-left-sidebar.collapsed{width:0}.map-activity-left-toggle{pointer-events:auto;position:absolute;top:12px;left:100%;width:24px;height:36px;background:#0c1322eb;backdrop-filter:blur(14px);border:1px solid var(--border);border-left:none;border-radius:0 var(--radius) var(--radius) 0;color:var(--text-muted);font-size:.625rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px 8px #0000004d}.map-activity-left-toggle:hover{color:var(--text-primary);background:#121b2ef5}.map-activity-left-content{pointer-events:auto;width:min(320px,calc(100vw - 120px));height:100%;overflow-y:auto;padding-right:6px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.map-activity-left-sidebar.collapsed .map-activity-left-content{display:none}.map-left-panel{display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 140px);overflow:auto;padding-right:4px}.map-left-card{border:1px solid var(--border);border-radius:var(--radius);background:#0e1729e0;padding:10px;display:flex;flex-direction:column;gap:8px}.map-left-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.map-left-card-header h3{margin:0;font-size:.88rem;letter-spacing:.02em}.map-inline-actions{display:inline-flex;align-items:center;gap:8px}.map-toggle-inline{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.75rem}.map-toggle-inline input{margin:0}.map-muted{color:var(--text-muted);font-size:.75rem;line-height:1.4}.map-left-error{color:#ff8a80;font-size:.75rem;line-height:1.4}.map-phase-badge{border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.map-phase-badge.day{background:#ffd0662e;color:#ffd066}.map-phase-badge.night{background:#749aff2e;color:#9ab7ff}.map-time-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.map-time-clock{font-size:1.35rem;font-weight:700;line-height:1.1}.map-time-cycle{display:flex;flex-direction:column;gap:6px}.map-time-cycle-bar{height:10px;border-radius:999px;overflow:hidden;background:linear-gradient(90deg,#fcd34d26,#3b82f626);border:1px solid rgba(255,255,255,.06)}.map-time-cycle-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#38bdf8)}.map-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-time-grid div{border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:8px;background:#ffffff05}.map-time-grid span{display:block;color:var(--text-muted);font-size:.72rem;margin-bottom:4px}.map-time-grid strong{display:block;font-size:.9rem}.map-team-list,.map-chat-log,.map-event-list{display:flex;flex-direction:column;gap:6px;overflow:auto}.map-chat-log,.map-event-list{max-height:220px}.map-team-member,.map-chat-message,.map-event-row{border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:7px 9px;background:#ffffff05}.map-chat-message.archived{opacity:.72}.map-empty-state{border:1px dashed rgba(255,255,255,.08);border-radius:10px;padding:12px 10px;color:var(--text-muted);font-size:.78rem;text-align:center}.map-team-member{display:flex;align-items:center;justify-content:space-between;gap:10px}.map-team-member-name{display:flex;align-items:center;gap:6px;font-weight:600}.map-leader-chip{display:inline-flex;align-items:center;border-radius:999px;padding:2px 6px;font-size:.65rem;font-weight:700;background:#ffd06629;color:#ffd066}.map-chat-message-meta,.map-event-row-head,.map-events-sort-row,.map-chat-compose{display:flex;align-items:center;justify-content:space-between;gap:8px}.map-chat-message-meta span,.map-event-row-head span{color:var(--text-muted);font-size:.72rem}.map-events-filters{display:flex;flex-direction:column;gap:8px}.map-canvas-wrap{position:relative;min-width:0;min-height:0;width:100%}.map-canvas-wrap.activity-mode{flex:1;height:100%}@media(max-width:1200px){.map-workspace{grid-template-columns:1fr}.map-left-panel{max-height:none;overflow:visible}}.map-server-header{display:flex;align-items:center;gap:16px;margin-bottom:12px;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius)}.map-server-header.activity{margin-bottom:10px}.map-server-header h2{font-size:1rem;font-weight:700;color:var(--text-primary)}.map-server-meta{display:flex;gap:16px;font-size:.8125rem;color:var(--text-secondary)}.map-server-meta span{display:flex;align-items:center;gap:4px}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:transform .3s ease-out,opacity .3s ease-in}.biome-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--bg-tertiary)}.biome-segment{min-width:2px;transition:width .3s ease}.biome-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:6px}.biome-legend-item{display:flex;align-items:center;gap:4px;font-size:.6875rem;color:var(--text-secondary)}.biome-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.server-description{font-size:.8125rem;color:var(--text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;padding:6px 0}.server-description:hover{color:var(--text-primary)}.server-description.expanded{white-space:normal;overflow:visible}.monument-marker{display:flex;flex-direction:column;align-items:center;pointer-events:auto}.monument-pin{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.8);box-shadow:0 1px 4px #0009}.monument-label{margin-top:1px;font-size:9px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.7);white-space:nowrap;text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}.monument-category{padding:0 10px;margin-bottom:4px}.monument-category-header{display:flex;align-items:center;gap:6px;font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 0 2px}.monument-list-item{font-size:.8125rem;color:var(--text-secondary);padding:3px 0 3px 14px;cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monument-list-item:hover{color:var(--text-primary);background:var(--bg-hover)}.map-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 10px}.map-meta-item{display:flex;flex-direction:column}.map-meta-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.map-meta-value{font-size:.8125rem;font-weight:700;color:var(--text-primary)}.vending-search-wrap{z-index:1001}.map-page.activity-mode{height:100%;display:flex;flex-direction:column;min-height:0;width:100%;padding:16px;gap:12px;position:relative}.map-page.activity-mode .map-server-header,.map-page.activity-mode .map-toolbar,.map-page.activity-mode .vending-search-wrap,.map-activity-overlay-shell .map-server-header,.map-activity-overlay-shell .map-toolbar,.map-activity-overlay-shell .vending-search-wrap{position:relative;z-index:1001;pointer-events:auto}.map-page.activity-mode .map-left-card,.map-activity-overlay-shell .map-left-card{background:#0c1322eb;backdrop-filter:blur(14px)}.map-page.activity-mode .vending-search-results,.map-activity-overlay-shell .vending-search-results{background:#0c1322f5;backdrop-filter:blur(14px)}.vending-search-wrap.activity{margin-bottom:12px}.vending-search-input{background:var(--bg-secondary)!important;border:1px solid var(--border)!important;padding:10px 14px!important;font-size:.875rem!important}.vending-search-input:focus{border-color:var(--accent)!important}.vending-search-input::placeholder{color:var(--text-muted)}.vending-search-results{position:absolute;top:100%;left:0;right:0;max-height:400px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);box-shadow:0 8px 24px #00000080;z-index:1002}.vending-search-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:.8125rem}.vending-result-group{border-bottom:1px solid var(--border)}.vending-result-group:last-child{border-bottom:none}.vending-result-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s}.vending-result-header:hover{background:var(--bg-hover)}.vending-result-name{font-weight:600;font-size:.875rem;color:var(--text-primary);flex:1}.vending-result-meta{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.vending-result-chevron{font-size:.625rem;color:var(--text-muted)}.vending-result-machines{background:var(--bg-tertiary);border-top:1px solid var(--border)}.vending-machine-row{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 24px;cursor:pointer;font-size:.8125rem;transition:background .1s}.vending-machine-row:hover{background:var(--bg-hover)}.vending-machine-name{flex:1;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vending-machine-price{color:var(--text-muted);font-size:.75rem;white-space:nowrap}.vending-machine-stock{font-size:.75rem;font-weight:600;white-space:nowrap}.vending-machine-stock.in-stock{color:var(--success)}.vending-machine-stock.out-of-stock{color:var(--danger)}.vending-pulse{position:relative;width:60px;height:60px}.vending-pulse-ring{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid #43a047;border-radius:50%;animation:vending-ping 1.5s cubic-bezier(0,0,.2,1) infinite}.vending-pulse-ring.delay{animation-delay:.5s}@keyframes vending-ping{0%{transform:scale(1);opacity:.8}to{transform:scale(4);opacity:0}}.terrain-toolbar{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:4px;background:#0a0c12e0;border:1px solid var(--border);border-radius:20px;padding:3px 6px;z-index:10}.terrain-toolbar-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--text-muted);font-size:.7rem;font-family:JetBrains Mono,Fira Code,monospace;cursor:pointer;transition:all .15s ease;white-space:nowrap}.terrain-toolbar-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.terrain-toolbar-btn:disabled{opacity:.5;cursor:wait}.terrain-toolbar-btn.active.tree{background:#22c55e2e;border-color:#22c55e66;color:#4ade80}.terrain-toolbar-btn.active.rock{background:#94a3b82e;border-color:#94a3b866;color:#94a3b8}.terrain-toolbar-btn.active.bush{background:#2dd4bf2e;border-color:#2dd4bf66;color:#2dd4bf}.terrain-toolbar-btn.active.grass{background:#a3e6352e;border-color:#a3e63566;color:#a3e635}.terrain-toolbar-icon{font-weight:700;font-size:.75rem}.terrain-toolbar-sep{width:1px;height:18px;background:var(--border);margin:0 2px}.terrain-toolbar-loading{color:var(--text-muted);font-size:.65rem;font-family:JetBrains Mono,Fira Code,monospace;padding:0 6px;animation:toolbar-pulse 1s ease-in-out infinite}@keyframes toolbar-pulse{0%,to{opacity:.5}50%{opacity:1}}.tooltip{position:relative;display:inline-flex}.tooltip-content{visibility:hidden;position:absolute;bottom:140%;left:50%;transform:translate(-50%);background:var(--bg-secondary);color:var(--text-primary);padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:.75rem;line-height:1.5;white-space:nowrap;box-shadow:0 8px 32px #0009;z-index:1000;opacity:0;transition:opacity .2s,transform .15s;pointer-events:none}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border-width:6px;border-style:solid;border-color:var(--border) transparent transparent transparent}.tooltip:hover .tooltip-content{visibility:visible;opacity:1;transform:translate(-50%) translateY(-4px)}
