*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#00d4aa;--secondary-color:#36c;--accent-color:#6a11cb;--bg-primary:#0a1929;--bg-secondary:#ffffff0d;--bg-tertiary:#ffffff08;--text-primary:#fff;--text-secondary:#fffc;--text-tertiary:#ffffffb3;--text-quaternary:#ffffff80;--border-color:#ffffff1a;--success-color:#52c41a;--warning-color:#faad14;--error-color:#f5222d;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 2px 4px #0000004d;--shadow-lg:0 8px 32px #00000080}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:1000;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;width:100%;height:60px;margin:0 auto;padding:0;display:flex}.header-brand .brand-title{background:linear-gradient(90deg, var(--primary-color), var(--secondary-color));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:20px;font-weight:600}.header-nav{gap:16px;display:flex}.nav-item{color:var(--text-tertiary);white-space:nowrap;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .3s;position:relative}.nav-item:hover{color:var(--text-primary);background:#ffffff1a}.nav-item.router-link-active{color:var(--primary-color);background:#00d4aa1a}.nav-item.router-link-active:after{content:"";background:var(--primary-color);border-radius:1px;width:20px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.header-actions{align-items:center;gap:16px;display:flex}.btn-login{color:var(--bg-primary);background:linear-gradient(135deg, var(--primary-color), #2a8f7a);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:600;transition:filter .2s,transform .15s}.btn-login:hover{filter:brightness(1.08)}.btn-login:active{transform:scale(.98)}.fatal-overlay{z-index:2000;background:#000000bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.fatal-card{width:min(960px,100%);box-shadow:var(--shadow-lg);background:#0a1929fa;border:1px solid #ffffff1f;border-radius:12px;padding:18px 18px 16px}.fatal-title{margin-bottom:10px;font-size:16px;font-weight:700}.fatal-message{white-space:pre-wrap;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;max-height:45vh;padding:12px;font-size:12px;overflow:auto}.fatal-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.btn{color:var(--text-primary);cursor:pointer;background:#00d4aa26;border:1px solid #ffffff2e;border-radius:8px;padding:8px 14px}.btn:hover{filter:brightness(1.08)}.btn-secondary{background:#ffffff14}.fatal-hint{color:#ffffffb3;margin-top:10px;font-size:12px}.app-main{flex:1;padding:32px 0}.main-container{width:100%;min-height:calc(100vh - 140px);margin:0 auto;padding:0}.app-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:20px 0}.footer-container{text-align:center;width:100%;margin:0 auto;padding:0}.footer-text{color:var(--text-quaternary);margin:0;font-size:12px}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}@media (width<=1200px){.header-container,.main-container,.footer-container{width:100%;padding:0}.header-nav{gap:12px}.nav-item{padding:6px 12px;font-size:13px}}@media (width<=768px){.app-header{position:relative}.header-container{flex-direction:column;gap:12px;height:auto;padding:15px 20px}.header-brand .brand-title{font-size:18px}.header-nav{flex-wrap:wrap;justify-content:center;width:100%}.app-main{padding:16px 0}.main-container,.footer-container{padding:0 16px}}@media (width<=480px){.header-nav{gap:8px}.nav-item{padding:4px 8px;font-size:12px}.app-main{padding:12px 0}.main-container{padding:0 12px}}.map-container[data-v-cafdcf8e]{width:100%;height:100%;position:relative}#mapChart[data-v-cafdcf8e]{width:100%;height:100%}.map-controls-container[data-v-cafdcf8e]{z-index:100;flex-direction:column;gap:10px;display:flex;position:absolute;top:20px;left:20px}.toggle-controls[data-v-cafdcf8e]{color:#fff;cursor:pointer;background:#0066cce6;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .3s;display:flex;box-shadow:0 2px 8px #0066cc4d}.toggle-controls[data-v-cafdcf8e]:hover{background:#0052a4e6;transform:translateY(-2px);box-shadow:0 4px 12px #06c6}.toggle-icon[data-v-cafdcf8e]{font-size:12px;transition:transform .3s}.map-controls[data-v-cafdcf8e]{background:#fffffff2;border-radius:8px;flex-direction:column;gap:8px;padding:12px;animation:.3s slideIn-cafdcf8e;display:flex;box-shadow:0 4px 12px #00000026}@keyframes slideIn-cafdcf8e{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.map-controls button[data-v-cafdcf8e]{cursor:pointer;text-align:left;background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .3s}.map-controls button[data-v-cafdcf8e]:hover{background:#f0f0f0;border-color:#06c;transform:translate(4px)}.map-controls button.active[data-v-cafdcf8e]{color:#fff;background:#06c;border-color:#06c;transform:translate(4px);box-shadow:0 2px 4px #0066cc4d}.statistics-panel[data-v-cafdcf8e]{z-index:100;background:#fffffff2;border-radius:8px;min-width:280px;padding:15px;animation:.3s fadeIn-cafdcf8e;position:absolute;top:20px;right:20px;box-shadow:0 4px 12px #00000026}@keyframes fadeIn-cafdcf8e{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.statistics-panel h3[data-v-cafdcf8e]{color:#333;margin:0 0 10px;font-size:16px;font-weight:600}.stats-grid[data-v-cafdcf8e]{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.stat-item[data-v-cafdcf8e]{background:#0066cc0d;border-radius:4px;flex-direction:column;padding:8px;display:flex}.stat-label[data-v-cafdcf8e]{color:#666;margin-bottom:2px;font-size:12px;font-weight:500}.stat-value[data-v-cafdcf8e]{color:#06c;font-size:16px;font-weight:700}@media (width<=768px){.map-controls-container[data-v-cafdcf8e]{top:10px;left:10px}.statistics-panel[data-v-cafdcf8e]{min-width:200px;padding:10px;top:10px;right:10px}.map-controls button[data-v-cafdcf8e]{padding:6px 12px;font-size:12px}}.dashboard[data-v-b191dc9c]{--dash-gap:24px;--dash-radius:16px;color:#fff;box-sizing:border-box;background:#000d4a url(/visualization/images/bg.jpg) 50%/cover;max-width:1920px;min-height:100vh;margin:0 auto;padding:20px 24px 28px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dashboard-header[data-v-b191dc9c]{margin-bottom:var(--dash-gap);border-bottom:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;padding-bottom:18px;display:flex}.header-left[data-v-b191dc9c]{flex-wrap:wrap;align-items:center;gap:12px 20px;min-width:0;display:flex}.logo[data-v-b191dc9c]{align-items:center;gap:15px;display:flex}.workbench-type-selector[data-v-b191dc9c]{align-items:center;gap:10px;min-width:0;margin-left:18px;display:flex}.selector-label[data-v-b191dc9c]{color:#fffc;white-space:nowrap;font-size:14px}.workbench-type-tags[data-v-b191dc9c]{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.workbench-type-tag[data-v-b191dc9c]{color:#ffffffe0;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;outline:none;align-items:center;gap:6px;margin:0;padding:6px 12px 6px 8px;font-size:13px;line-height:1.3;transition:background .2s,border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.workbench-type-check[data-v-b191dc9c]{accent-color:#00b4ff;cursor:pointer;flex-shrink:0;width:15px;height:15px;margin:0}.workbench-type-text[data-v-b191dc9c]{white-space:nowrap}.workbench-type-tag[data-v-b191dc9c]:hover{background:#ffffff24;border-color:#ffffff47}.workbench-type-tag.active[data-v-b191dc9c]{color:#fff;background:#0066cc80;border-color:#00c8ff8c;box-shadow:0 0 0 1px #00b4ff33}.workbench-type-tag[data-v-b191dc9c]:focus-within{box-shadow:0 0 0 2px #00c8ff73}.logo-icon[data-v-b191dc9c]{font-size:32px;animation:2s infinite pulse-b191dc9c}@keyframes pulse-b191dc9c{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.logo h1[data-v-b191dc9c]{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#00d4aa,#36c);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(18px,2vw,24px);font-weight:700;line-height:1.25}.system-subtitle[data-v-b191dc9c]{color:#ffffffb3;margin:4px 0 0;font-size:14px;font-weight:400}.header-info[data-v-b191dc9c]{text-align:right;flex-direction:column;gap:8px;display:flex}.header-tools[data-v-b191dc9c]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.tool-btn[data-v-b191dc9c]{color:#ffffffeb;cursor:pointer;background:#00d4aa24;border:1px solid #ffffff2e;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:600;transition:filter .2s,transform .15s}.tool-btn[data-v-b191dc9c]:hover{filter:brightness(1.08)}.tool-btn[data-v-b191dc9c]:active{transform:scale(.98)}.tool-btn[data-v-b191dc9c]:disabled{opacity:.6;cursor:not-allowed}.tool-btn-secondary[data-v-b191dc9c]{background:#ffffff14}.date-time[data-v-b191dc9c]{color:#ffffffe6;font-size:16px;font-weight:500}.system-status[data-v-b191dc9c]{color:#ffffffb3;justify-content:flex-end;align-items:center;gap:8px;font-size:14px;display:flex}.status-indicator[data-v-b191dc9c]{background-color:#00d4aa;border-radius:50%;width:8px;height:8px;animation:2s infinite blink-b191dc9c}@keyframes blink-b191dc9c{0%,to{opacity:1}50%{opacity:.5}}.status-online[data-v-b191dc9c]{color:#00d4aa;font-weight:500}.kpi-section[data-v-b191dc9c]{gap:var(--dash-gap);margin-bottom:var(--dash-gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.kpi-card[data-v-b191dc9c]{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;align-items:center;gap:20px;padding:24px;transition:all .3s;display:flex;position:relative;overflow:hidden}.kpi-card[data-v-b191dc9c]:before{content:"";opacity:0;background:linear-gradient(135deg,#00d4aa,#36c);width:4px;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.kpi-card[data-v-b191dc9c]:hover{border-color:#00d4aa4d;transform:translateY(-8px);box-shadow:0 12px 32px #00d4aa33}.kpi-card[data-v-b191dc9c]:hover:before{opacity:1}.kpi-icon[data-v-b191dc9c]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:70px;height:70px;display:flex;box-shadow:0 4px 12px #0003}.kpi-icon .icon[data-v-b191dc9c]{font-size:28px}.icon-image[data-v-b191dc9c]{object-fit:contain;width:40px;height:40px}.icon-svg[data-v-b191dc9c]{color:#fff;stroke-width:1.5px;width:40px;height:40px}.kpi-content[data-v-b191dc9c]{flex:1}.kpi-title[data-v-b191dc9c]{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:14px}.kpi-value[data-v-b191dc9c]{color:#fff;margin-bottom:8px;font-family:Arial,sans-serif;font-size:32px;font-weight:700}.kpi-change[data-v-b191dc9c]{align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.kpi-change[data-v-b191dc9c]:before{content:"";background-repeat:no-repeat;background-size:contain;width:8px;height:8px;display:inline-block}.kpi-change.positive[data-v-b191dc9c]{color:#00d4aa}.kpi-change.positive[data-v-b191dc9c]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24' fill='none' stroke='%2300d4aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'%3E%3C/polyline%3E%3C/svg%3E")}.kpi-change.negative[data-v-b191dc9c]{color:#ff6b35}.kpi-change.negative[data-v-b191dc9c]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24' fill='none' stroke='%23ff6b35' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2 12 6 12 9 3 15 21 18 12 22 12'%3E%3C/polyline%3E%3C/svg%3E")}.kpi-trend[data-v-b191dc9c]{background:#ffffff1a;border-radius:2px;width:4px;height:60px;position:relative;overflow:hidden}.trend-line[data-v-b191dc9c]{background:linear-gradient(#00d4aa,#36c);border-radius:2px;width:100%;transition:height 1s;position:absolute;bottom:0;left:0}.dashboard-content[data-v-b191dc9c]{gap:var(--dash-gap);grid-template-columns:minmax(260px,.95fr) minmax(360px,1.25fr) minmax(260px,.95fr);align-items:stretch;display:grid}.left-section[data-v-b191dc9c],.center-section[data-v-b191dc9c],.right-section[data-v-b191dc9c]{min-width:0}.left-section[data-v-b191dc9c],.right-section[data-v-b191dc9c]{gap:var(--dash-gap);flex-direction:column;display:flex}.left-section .chart-card[data-v-b191dc9c]{flex-direction:column;flex:auto;min-height:280px;display:flex}.left-section .chart-card .chart[data-v-b191dc9c]{flex:auto;height:auto;min-height:240px}.chart-card[data-v-b191dc9c],.warning-card[data-v-b191dc9c],.rank-card[data-v-b191dc9c],.map-card[data-v-b191dc9c]{border-radius:var(--dash-radius);background:#ffffff0d;border:1px solid #ffffff1a;transition:all .3s;overflow:hidden}.chart-card[data-v-b191dc9c]:hover,.warning-card[data-v-b191dc9c]:hover,.rank-card[data-v-b191dc9c]:hover,.map-card[data-v-b191dc9c]:hover{border-color:#00d4aa33;box-shadow:0 8px 24px #00d4aa26}.warning-card[data-v-b191dc9c],.rank-card[data-v-b191dc9c]{flex-direction:column;flex:300px;min-height:0;display:flex}.card-header[data-v-b191dc9c]{background:#ffffff08;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-header h3[data-v-b191dc9c]{color:#fff;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:flex}.header-content[data-v-b191dc9c]{flex-direction:column;gap:8px;display:flex}.type-selector[data-v-b191dc9c]{margin-top:4px}.type-select[data-v-b191dc9c]{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;padding:6px 12px;font-size:12px;transition:all .3s}.type-select[data-v-b191dc9c]:hover{background:#ffffff26;border-color:#ffffff4d}.type-select[data-v-b191dc9c]:focus{border-color:#00d4aa;outline:none;box-shadow:0 0 0 2px #00d4aa33}.type-select option[data-v-b191dc9c]{color:#fff;background:#0a1929;border:none}.toggle-btn[data-v-b191dc9c]{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;padding:6px 12px;font-size:12px;transition:all .3s}.toggle-btn[data-v-b191dc9c]:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.toggle-btn[data-v-b191dc9c]:active{transform:translateY(0)}.card-actions[data-v-b191dc9c]{gap:8px;display:flex}.action-btn[data-v-b191dc9c]{color:#ffffffb3;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .3s;display:flex}.action-btn[data-v-b191dc9c]:hover{color:#fff;background:#fff3;transform:translateY(-2px)}.action-btn .icon[data-v-b191dc9c]{font-size:14px}.chart[data-v-b191dc9c]{box-sizing:border-box;width:100%;height:300px;padding:16px 20px 20px}.map-card[data-v-b191dc9c]{flex-direction:column;flex:auto;min-height:0;display:flex}.map-container[data-v-b191dc9c]{flex:auto;justify-content:center;align-items:center;height:clamp(380px,42vh,560px);min-height:clamp(380px,42vh,560px);display:flex;position:relative;overflow:hidden}.map[data-v-b191dc9c]{z-index:9;width:100%;height:100%;position:relative}.map1[data-v-b191dc9c]{z-index:2;width:643px;animation:15s linear infinite myfirst2-b191dc9c;top:50%;left:50%;transform:translate(-50%,-50%)scale(.8)}.map2[data-v-b191dc9c]{z-index:3;opacity:.2;width:566px;animation:10s linear infinite myfirst-b191dc9c;top:50%;left:50%;transform:translate(-50%,-50%)scale(.8)}.map3[data-v-b191dc9c]{z-index:1;opacity:.6;width:518px;top:50%;left:50%;transform:translate(-50%,-50%)scale(.8)}.map1[data-v-b191dc9c],.map2[data-v-b191dc9c],.map3[data-v-b191dc9c]{position:absolute}.map4[data-v-b191dc9c]{z-index:5;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.map-compliance[data-v-b191dc9c]{color:#fff9;text-align:right;z-index:1000;background:#000000b3;border-radius:4px;max-width:300px;padding:8px 12px;font-size:11px;position:absolute;bottom:10px;right:10px}@keyframes myfirst2-b191dc9c{0%{transform:translate(-50%,-50%)rotate(0)scale(.8)}to{transform:translate(-50%,-50%)rotate(359deg)scale(.8)}}@keyframes myfirst-b191dc9c{0%{transform:translate(-50%,-50%)rotate(0)scale(.8)}to{transform:translate(-50%,-50%)rotate(-359deg)scale(.8)}}.statistics-panel[data-v-b191dc9c]{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-shrink:0;margin:16px 20px 20px;padding:16px 18px;animation:.3s fadeIn-b191dc9c}@keyframes fadeIn-b191dc9c{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.statistics-panel h3[data-v-b191dc9c]{color:#fff;margin:0 0 16px;font-size:16px;font-weight:600}.stats-grid[data-v-b191dc9c]{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-item[data-v-b191dc9c]{background:#ffffff08;border-radius:8px;flex-direction:column;align-items:center;padding:12px;transition:all .3s;display:flex}.stat-item[data-v-b191dc9c]:hover{background:#ffffff0d;transform:translateY(-2px)}.stat-label[data-v-b191dc9c]{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px}.stat-value[data-v-b191dc9c]{color:#00d4aa;font-family:Arial,sans-serif;font-size:18px;font-weight:700}.warning-count[data-v-b191dc9c]{color:#fff;text-align:center;background:#ff6b35;border-radius:10px;min-width:20px;padding:2px 8px;font-size:12px;font-weight:600}.warning-list[data-v-b191dc9c]{flex:auto;min-height:160px;max-height:min(380px,42vh);padding:0 20px 20px;overflow-y:auto}.warning-list[data-v-b191dc9c]::-webkit-scrollbar{width:4px}.warning-list[data-v-b191dc9c]::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.warning-list[data-v-b191dc9c]::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.warning-item[data-v-b191dc9c]{background:#ffffff08;border-left:4px solid #ff6b35;border-radius:12px;margin:12px 0;padding:16px;transition:all .3s;display:flex}.warning-item[data-v-b191dc9c]:hover{background:#ffffff0d;transform:translate(4px)}.warning-level[data-v-b191dc9c]{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:4px;margin-right:12px}.warning-level.high[data-v-b191dc9c]{background-color:#ff6b35;box-shadow:0 0 8px #ff6b3580}.warning-level.medium[data-v-b191dc9c]{background-color:#f39c12;box-shadow:0 0 8px #f39c1280}.warning-level.low[data-v-b191dc9c]{background-color:#36c;box-shadow:0 0 8px #3366cc80}.warning-content[data-v-b191dc9c]{flex:1}.warning-title[data-v-b191dc9c]{color:#fff;margin-bottom:6px;font-size:14px;font-weight:600}.warning-desc[data-v-b191dc9c]{color:#ffffffb3;margin-bottom:8px;font-size:13px;line-height:1.4}.warning-meta[data-v-b191dc9c]{justify-content:space-between;align-items:center;display:flex}.warning-time[data-v-b191dc9c]{color:#ffffff80;font-size:11px}.warning-action[data-v-b191dc9c]{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:12px;padding:4px 12px;font-size:11px;transition:all .3s}.warning-action[data-v-b191dc9c]:hover{color:#fff;background:#ffffff1a;border-color:#ffffff80}.rank-list[data-v-b191dc9c]{flex:auto;min-height:160px;max-height:min(380px,42vh);padding:0 20px 20px;overflow-y:auto}.rank-title-row[data-v-b191dc9c]{justify-content:space-between;align-items:center;gap:12px;display:flex}.rank-controls[data-v-b191dc9c]{gap:8px;display:flex}.rank-list[data-v-b191dc9c]::-webkit-scrollbar{width:4px}.rank-list[data-v-b191dc9c]::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.rank-list[data-v-b191dc9c]::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.rank-item[data-v-b191dc9c]{background:#ffffff08;border-radius:12px;align-items:center;margin:8px 0;padding:14px;transition:all .3s;display:flex}.rank-item[data-v-b191dc9c]:hover{background:#ffffff0d;transform:translate(4px)}.rank-number[data-v-b191dc9c]{color:#fff;background:#ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-right:16px;font-size:16px;font-weight:700;transition:all .3s;display:flex}.rank-number.top-three[data-v-b191dc9c]{color:#0a1929;background:linear-gradient(135deg,gold,#ffed4e);box-shadow:0 4px 12px #ffd7004d}.rank-content[data-v-b191dc9c]{flex:1;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rank-name[data-v-b191dc9c]{color:#fff;flex:1;font-size:14px}.rank-score[data-v-b191dc9c]{flex-direction:column;align-items:flex-end;gap:6px;min-width:80px;display:flex}.score-value[data-v-b191dc9c]{color:#00d4aa;font-size:16px;font-weight:600}.score-bar[data-v-b191dc9c]{background:#ffffff1a;border-radius:2px;width:60px;height:4px;overflow:hidden}.score-fill[data-v-b191dc9c]{background:linear-gradient(90deg,#36c,#6199dc);border-radius:2px;height:100%;transition:width 1s}@media (width<=1200px){.dashboard-content[data-v-b191dc9c]{gap:var(--dash-gap);grid-template-columns:1fr}.center-section[data-v-b191dc9c]{order:-1}.kpi-section[data-v-b191dc9c],.stats-grid[data-v-b191dc9c]{grid-template-columns:repeat(2,minmax(0,1fr))}.map-container[data-v-b191dc9c]{height:clamp(320px,38vh,480px);min-height:clamp(320px,38vh,480px)}}@media (width<=768px){.dashboard[data-v-b191dc9c]{padding:16px}.kpi-section[data-v-b191dc9c]{grid-template-columns:minmax(0,1fr)}.dashboard-header[data-v-b191dc9c]{flex-direction:column;align-items:flex-start;gap:15px}.header-info[data-v-b191dc9c]{text-align:left;width:100%}.header-left[data-v-b191dc9c]{width:100%}.workbench-type-selector[data-v-b191dc9c]{flex-direction:column;align-items:stretch;width:100%;margin-left:0}.workbench-type-tags[data-v-b191dc9c]{width:100%}.logo h1[data-v-b191dc9c]{font-size:20px}.kpi-card[data-v-b191dc9c]{padding:20px}.kpi-value[data-v-b191dc9c]{font-size:28px}.map-container[data-v-b191dc9c]{height:min(52vh,380px);min-height:300px}.stats-grid[data-v-b191dc9c]{grid-template-columns:minmax(0,1fr);gap:12px}.statistics-panel[data-v-b191dc9c]{margin:12px 14px 16px;padding:14px}}.graphiti-section[data-v-85a34834]{border-top:1px solid #ffffff1a;margin-top:28px;padding-top:24px}.graphiti-head[data-v-85a34834]{margin-bottom:18px}.graphiti-title[data-v-85a34834]{color:#fff;margin:0 0 10px;font-size:18px;font-weight:600}.graphiti-desc[data-v-85a34834]{color:#ffffff94;max-width:58em;margin:0;font-size:13px;line-height:1.65}.graphiti-desc-note[data-v-85a34834]{color:#00d4aabf;margin-top:8px;font-size:12px;display:block}.inline-code[data-v-85a34834]{color:#ffffffe0;background:#00000047;border-radius:4px;padding:1px 5px;font-size:11px}.graphiti-warn[data-v-85a34834]{color:#fac878f2;max-width:58em;margin:0 0 10px;font-size:12px;line-height:1.5}.graphiti-toolbar[data-v-85a34834]{margin-bottom:14px}.graphiti-row-types[data-v-85a34834]{grid-template-columns:minmax(140px,1fr) minmax(200px,2fr);margin-bottom:14px}.type-select[data-v-85a34834]{box-sizing:border-box;color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;width:100%;padding:8px 12px;font-size:14px}.type-select[data-v-85a34834]:focus{border-color:#00d4aa8c;outline:none;box-shadow:0 0 0 2px #00d4aa26}.type-select[data-v-85a34834]:disabled{opacity:.5;cursor:not-allowed}.type-select option[data-v-85a34834]{color:#fff;background:#0a1929}.graphiti-row[data-v-85a34834]{grid-template-columns:minmax(140px,1fr) minmax(200px,2fr) auto;align-items:end;gap:14px 18px;display:grid}.field[data-v-85a34834]{flex-direction:column;gap:6px;min-width:0;display:flex}.field-grow[data-v-85a34834]{min-width:0}.field-label[data-v-85a34834]{color:#ffffff85;font-size:12px}.field-static[data-v-85a34834]{color:#ffffffeb;text-overflow:ellipsis;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;padding:9px 12px;font-size:14px;overflow:hidden}.combo[data-v-85a34834]{z-index:3;position:relative}.combo-input[data-v-85a34834]{box-sizing:border-box;color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;width:100%;padding:8px 12px;font-size:14px}.combo-input[data-v-85a34834]:focus{border-color:#00d4aa8c;outline:none;box-shadow:0 0 0 2px #00d4aa26}.combo-input[data-v-85a34834]:disabled{opacity:.5}.combo-list[data-v-85a34834]{background:#0d2137;border:1px solid #fff3;border-radius:8px;max-height:240px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.combo-list li[data-v-85a34834]{cursor:pointer;color:#ffffffe6;padding:8px 12px;font-size:13px}.combo-list li.active[data-v-85a34834],.combo-list li[data-v-85a34834]:hover{background:#00d4aa26}.combo-empty[data-v-85a34834]{cursor:default;color:#ffffff73;font-size:12px}.btn-run[data-v-85a34834]{cursor:pointer;color:#061018;white-space:nowrap;background:linear-gradient(135deg,#00d4aa,#2a8f7a);border:none;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600;transition:opacity .2s,transform .15s}.btn-run[data-v-85a34834]:disabled{opacity:.45;cursor:not-allowed}.btn-run[data-v-85a34834]:not(:disabled):hover{filter:brightness(1.06)}.graphiti-error[data-v-85a34834]{color:#ff9c9e;margin:0 0 10px;font-size:13px}.graphiti-summary[data-v-85a34834]{color:#ffffffb8;max-width:58em;margin:0 0 8px;font-size:13px;line-height:1.6}.graphiti-source[data-v-85a34834]{color:#00d4aabf;margin:0 0 12px;font-size:12px}.graphiti-chart[data-v-85a34834]{background:#00000026;border:1px solid #ffffff14;border-radius:10px;width:100%;height:min(480px,52vh);min-height:320px}@media (width<=900px){.graphiti-row[data-v-85a34834]{grid-template-columns:1fr}.btn-run[data-v-85a34834]{width:100%}}.credit-portrait[data-v-8f1b8757]{--cp-primary:#00d4aa;--cp-secondary:#36c;--cp-gap:24px;--cp-radius:12px;border-radius:var(--cp-radius);color:#fff;box-sizing:border-box;background:linear-gradient(165deg,#060d18 0%,#0a1929 40%,#102a44 100%);border:1px solid #ffffff0f;max-width:1320px;margin:0 auto;padding:24px 24px 28px;box-shadow:0 8px 32px #00000059}.portrait-page-head[data-v-8f1b8757]{margin-bottom:var(--cp-gap);border-bottom:1px solid #ffffff1a;padding-bottom:18px}.portrait-brand[data-v-8f1b8757]{letter-spacing:.06em;color:#ffffff73;text-transform:none;margin:0 0 8px;font-size:13px}.portrait-title[data-v-8f1b8757]{color:#fff;letter-spacing:.02em;margin:0 0 12px;font-size:clamp(22px,2.4vw,26px);font-weight:600;line-height:1.25}.portrait-desc[data-v-8f1b8757]{color:#ffffffad;max-width:920px;margin:0;font-size:14px;line-height:1.65}.panel-toolbar[data-v-8f1b8757]{margin-bottom:var(--cp-gap)}.toolbar-row[data-v-8f1b8757]{grid-template-columns:minmax(160px,auto) minmax(0,1fr);align-items:end;gap:16px 24px;display:grid}.control-group[data-v-8f1b8757]{flex-direction:column;gap:6px;display:flex}.control-label[data-v-8f1b8757]{color:#ffffff8c;letter-spacing:.02em;font-size:12px}.enterprise-select.wide[data-v-8f1b8757]{min-width:220px;max-width:min(420px,100%)}.combobox-group[data-v-8f1b8757]{z-index:2;min-width:0;position:relative}.enterprise-combobox[data-v-8f1b8757]{position:relative}.enterprise-combobox.wide[data-v-8f1b8757]{width:100%;max-width:none}.combobox-input[data-v-8f1b8757]{cursor:text;box-sizing:border-box;width:100%}.combobox-dropdown[data-v-8f1b8757]{z-index:50;background:#0d2137;border:1px solid #fff3;border-radius:6px;max-height:280px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.combobox-dropdown li[data-v-8f1b8757]{cursor:pointer;color:#ffffffeb;padding:8px 14px;font-size:13px;display:block}.combobox-dropdown li[data-v-8f1b8757]:hover,.combobox-dropdown li.is-active[data-v-8f1b8757]{background:#00d4aa26}.combobox-empty[data-v-8f1b8757]{cursor:default;color:#ffffff73;font-size:12px}.ent-name[data-v-8f1b8757]{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.enterprise-selector[data-v-8f1b8757]{align-items:center;display:flex}.enterprise-select[data-v-8f1b8757]{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;padding:8px 16px;font-size:14px;transition:all .3s}.enterprise-select[data-v-8f1b8757]:hover{background:#ffffff26;border-color:#ffffff4d}.enterprise-select[data-v-8f1b8757]:focus{border-color:#00d4aa;outline:none;box-shadow:0 0 0 2px #00d4aa33}.enterprise-select option[data-v-8f1b8757]{color:#fff;background:#0a1929;border:none}.panel-summary[data-v-8f1b8757]{margin-bottom:var(--cp-gap);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;padding:18px 20px}.summary-head[data-v-8f1b8757]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.summary-name[data-v-8f1b8757]{color:#fff;margin:0;font-size:20px;font-weight:600}.level-badge[data-v-8f1b8757]{letter-spacing:.04em;border-radius:6px;justify-content:center;align-items:center;min-width:36px;height:32px;padding:0 10px;font-size:15px;font-weight:700;display:inline-flex}.level-a[data-v-8f1b8757]{color:#73d13d;background:#52c41a33;border:1px solid #52c41a73}.level-b[data-v-8f1b8757]{color:#69b1ff;background:#36c3;border:1px solid #3366cc73}.level-c[data-v-8f1b8757]{color:#ffc53d;background:#faad1426;border:1px solid #faad1466}.level-d[data-v-8f1b8757]{color:#ff9c9e;background:#ff4d4f26;border:1px solid #ff4d4f66}.level-unknown[data-v-8f1b8757]{color:#ffffffa6;background:#ffffff14;border:1px solid #ffffff26}.summary-metrics[data-v-8f1b8757]{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:14px 18px;display:grid}.metric-cell[data-v-8f1b8757]{flex-direction:column;gap:4px;display:flex}.metric-label[data-v-8f1b8757]{color:#ffffff80;font-size:12px}.metric-value[data-v-8f1b8757]{color:#fffffff2;font-size:16px;font-weight:600}.portrait-content[data-v-8f1b8757]{gap:var(--cp-gap);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=1100px){.portrait-content[data-v-8f1b8757]{grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:28px 32px}}.chart-card[data-v-8f1b8757]{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;min-width:0;padding:16px 18px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.chart-card[data-v-8f1b8757]:hover{border-color:#00d4aa40;box-shadow:0 4px 24px #0003}.card-header[data-v-8f1b8757]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 12px;margin-bottom:12px;display:flex}.card-header h3[data-v-8f1b8757]{color:#fff;margin:0;font-size:16px;font-weight:600}.card-hint[data-v-8f1b8757]{color:#ffffff73;text-align:right;max-width:42ch;font-size:12px;line-height:1.45}@media (width<=640px){.card-hint[data-v-8f1b8757]{text-align:left;max-width:none}}.evaluation-records-card[data-v-8f1b8757]{flex:auto;min-height:0}.eval-table-wrap[data-v-8f1b8757]{-webkit-overflow-scrolling:touch;border:1px solid #ffffff14;border-radius:8px;max-height:min(420px,55vh);overflow:auto}.eval-table[data-v-8f1b8757]{border-collapse:collapse;width:100%;font-size:13px}.eval-table th[data-v-8f1b8757],.eval-table td[data-v-8f1b8757]{text-align:left;border-bottom:1px solid #ffffff14;padding:10px 12px}.eval-table th[data-v-8f1b8757]{color:#ffffffa6;background:#0003;font-weight:600}.eval-table tbody tr:last-child td[data-v-8f1b8757]{border-bottom:none}.eval-table tbody tr:hover td[data-v-8f1b8757]{background:#3366cc1f}.eval-empty[data-v-8f1b8757]{color:#ffffff73;text-align:center;flex:1;justify-content:center;align-items:center;margin:auto;padding:32px 16px;font-size:13px;display:flex}.portrait-footnote[data-v-8f1b8757]{margin:var(--cp-gap) 0 0;color:#ffffff6b;max-width:56em;font-size:12px;line-height:1.6}.chart[data-v-8f1b8757]{box-sizing:border-box;flex:none;width:100%;height:clamp(300px,36vh,420px);min-height:280px}@media (width<=1099px){.chart[data-v-8f1b8757]{height:clamp(300px,42vh,400px)}}@media (width<=768px){.credit-portrait[data-v-8f1b8757]{max-width:none;padding:18px 16px 24px}.toolbar-row[data-v-8f1b8757]{grid-template-columns:1fr;gap:14px}.summary-metrics[data-v-8f1b8757]{grid-template-columns:repeat(2,minmax(0,1fr))}.chart[data-v-8f1b8757]{height:min(360px,48vh);min-height:260px}.eval-table-wrap[data-v-8f1b8757]{max-height:min(320px,50vh)}}@media (width<=400px){.summary-metrics[data-v-8f1b8757]{grid-template-columns:1fr}}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;margin:0;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
