.map-page-wrap{display:flex;flex-direction:column;gap:16px}.view-switch-btns{display:flex;align-items:center;gap:8px}.map-control-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--line);padding:10px 14px;border-radius:var(--r-btn);flex-wrap:wrap}.status-chips{display:flex;align-items:center;gap:6px}.chip-filter{background:var(--btn);border:1px solid var(--line-btn);color:var(--text-muted);font:600 12px var(--f-ui);padding:5px 10px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:color .14s var(--ease-out),background-color .14s var(--ease-out),border-color .14s var(--ease-out)}.chip-filter:hover{background:var(--surface-3);color:var(--text)}.chip-filter.active{background:var(--accent-ghost);border-color:var(--accent-deep);color:var(--accent-hover)}.chip-num{font:700 11px var(--f-mono);background:#ffffff12;padding:1px 6px;border-radius:4px}.map-meta-info{display:flex;align-items:center;gap:10px;font:500 12.5px var(--f-ui);color:var(--text-dim)}.dot-sep{color:var(--line-hover)}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}@media(max-width:1100px){.map-layout{grid-template-columns:1fr}}.map-canvas-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card, 12px);overflow:hidden;box-shadow:0 8px 32px #00000059;display:flex;flex-direction:column}.map-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--surface-2);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:10px}.map-title-row{display:flex;align-items:center;gap:10px}.pulse-dot-green{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok);animation:pulse-glow 2s infinite ease-in-out}@keyframes pulse-glow{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.3);opacity:1}to{transform:scale(.95);opacity:.8}}.map-card-title{font:700 14px var(--f-ui);color:var(--text)}.map-card-hint{font:500 11.5px var(--f-ui);color:var(--text-faint)}.svg-map-wrapper{position:relative;background:#14181a;width:100%;min-height:440px;display:flex;align-items:center;justify-content:center}.world-svg{width:100%;height:auto;display:block;-webkit-user-select:none;user-select:none}.world-svg.crosshair{cursor:crosshair!important}.country-poly{transition:fill .15s ease,stroke .15s ease}.country-poly:hover{fill:#262d32;stroke:#6fb79c73}.route-flow-line{animation:route-flow 1.5s linear infinite}@keyframes route-flow{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}.map-node-pin{transition:transform .15s ease}.map-node-pin:hover{filter:brightness(1.25)}.map-quick-presets{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface-3);border-top:1px solid var(--line-soft);overflow-x:auto}.preset-label{font:600 11.5px var(--f-ui);color:var(--text-muted);white-space:nowrap}.preset-scroll{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.preset-pill{background:var(--btn);border:1px solid var(--line-btn);color:var(--text-3);font:500 11px var(--f-ui);padding:3px 9px;border-radius:12px;white-space:nowrap;cursor:pointer;transition:color .14s var(--ease-out),background-color .14s var(--ease-out),border-color .14s var(--ease-out)}.preset-pill:hover{background:var(--accent-ghost);border-color:var(--accent);color:var(--accent-hover)}.map-sidebar{display:flex;flex-direction:column;gap:16px}.node-detail-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card, 12px);padding:16px;display:flex;flex-direction:column;gap:14px}.card-top-row{display:flex;justify-content:space-between;align-items:flex-start}.node-card-name{margin:0;font:700 15px var(--f-ui);color:var(--text)}.node-card-loc{font:500 12px var(--f-ui);color:var(--text-dim);margin-top:2px}.node-metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric-box{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:3px}.m-label{font:600 10.5px var(--f-ui);color:var(--text-faint)}.m-val{font:700 13px var(--f-mono);color:var(--text)}.node-info-rows{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line-soft);padding-top:10px}.info-row{display:flex;justify-content:space-between;font-size:12px}.ir-label{color:var(--text-faint)}.ir-val{color:var(--text-2)}.card-actions-row{display:flex;gap:8px;margin-top:4px}.node-placeholder-card{background:var(--surface);border:1px dashed var(--line-btn);border-radius:var(--r-card, 12px);padding:28px 20px;text-align:center;color:var(--text-faint);display:flex;flex-direction:column;align-items:center;gap:10px;font:500 12.5px var(--f-ui)}.unmapped-nodes-list{display:flex;flex-direction:column;gap:8px}.unmapped-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:6px;gap:10px}.ui-title{font:600 13px var(--f-ui);color:var(--text)}.ui-sub{font-size:11px;color:var(--text-dim)}.nodes-quick-scroll{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.node-quick-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .12s ease}.node-quick-item:hover{background:var(--surface-3)}.node-quick-item.active{background:var(--accent-ghost);outline:1px solid var(--accent-deep)}.status-pip{width:8px;height:8px;border-radius:50%;flex-shrink:0}.nqi-body{flex:1}.nqi-name{font:600 13px var(--f-ui);color:var(--text)}.nqi-sub{font-size:11px;color:var(--text-faint)}.nqi-ping{font-size:11px;color:var(--text-dim)}.topology-view-wrap{display:flex;flex-direction:column;gap:16px}.topology-pipeline-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card, 12px);padding:20px}.tp-header h2{margin:0 0 4px;font:700 18px var(--f-ui);color:var(--text)}.pipeline-columns{display:flex;align-items:center;gap:12px;overflow-x:auto;padding:16px 0 8px}.p-col{flex:1;min-width:170px;display:flex;flex-direction:column;gap:8px}.col-tag{font:700 10px var(--f-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.col-title{font:600 13px var(--f-ui);color:var(--text-muted)}.col-box{display:flex;flex-direction:column;gap:8px}.p-card{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px;transition:border-color .14s var(--ease-out),transform .14s var(--ease-out),box-shadow .14s var(--ease-out)}.p-card.node-card{cursor:pointer}.p-card.node-card:hover{border-color:var(--accent);transform:translateY(-2px)}.nc-top{display:flex;justify-content:space-between;align-items:center}.metric-mini-bar{display:flex;justify-content:space-between;font:500 10.5px var(--f-mono);color:var(--text-dim);border-top:1px solid var(--line-row);padding-top:4px;margin-top:2px}.flow-arrow{color:var(--accent-line-2);font-size:16px;padding:0 4px;flex-shrink:0}.client-card,.internet-card{display:flex;flex-direction:row;align-items:center;gap:10px}.empty-card{border:1px dashed var(--line-btn);color:var(--text-faint);font-size:11px;padding:16px 10px;text-align:center}.chains-list{display:flex;flex-direction:column;gap:8px}.chain-item-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:8px;gap:14px}.cir-info strong{display:block;font:600 14px var(--f-ui);color:var(--text)}.world-svg.draggable{cursor:grab}.world-svg.dragging{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.map-floating-controls{position:absolute;top:14px;right:14px;z-index:10;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.zoom-btn-group,.region-presets-group{display:flex;gap:4px;background:#121619e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);padding:4px;border-radius:8px;box-shadow:0 4px 16px #00000073;pointer-events:auto}.zoom-btn{width:28px;height:28px;background:var(--surface-3);border:1px solid var(--line-btn);color:var(--text);font:700 15px var(--f-mono);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .14s var(--ease-out),background-color .14s var(--ease-out),border-color .14s var(--ease-out)}.zoom-btn.reset{width:auto;padding:0 8px;font-size:11px}.zoom-btn:hover{background:var(--accent-ghost);border-color:var(--accent);color:var(--accent-hover)}.region-btn{background:transparent;border:none;color:var(--text-muted);font:600 11.5px var(--f-ui);padding:4px 8px;border-radius:5px;cursor:pointer;transition:color .14s var(--ease-out),background-color .14s var(--ease-out)}.region-btn:hover{background:#ffffff14;color:var(--text)}.traffic-topology-canvas-wrap{display:flex;flex-direction:column;gap:16px}.topology-top-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card, 12px);overflow:hidden;box-shadow:0 8px 32px #00000059}.ttc-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line-soft);background:var(--surface-2);flex-wrap:wrap;gap:12px}.ttc-header h2{margin:0 0 4px;font:700 18px var(--f-ui);color:var(--text)}.ttc-actions{display:flex;align-items:center;gap:10px}.topology-board-scroll{padding:24px;overflow-x:auto;background:#111517;min-height:480px}.topology-lanes-board{display:flex;flex-direction:column;gap:18px;min-width:900px}.lane-group-title{font:700 11px var(--f-mono);color:var(--text-faint);letter-spacing:.8px;text-transform:uppercase;border-bottom:1px solid var(--line-row);padding-bottom:6px;margin-bottom:2px}.topology-lane-row{display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 20px;transition:border-color .15s ease}.topology-lane-row:hover{border-color:var(--line-hover)}.lane-label-col{flex:0 0 170px;width:170px}.llc-name{font:700 14px var(--f-ui);color:var(--text);margin-bottom:4px}.llc-sub{font-size:11px;color:var(--text-faint);line-height:1.4}.lane-flow-line{display:flex;align-items:center;flex:1;overflow-x:auto}.c32-card{width:140px;height:140px;flex:0 0 140px;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line-btn);background:var(--surface-2);transition:border-color .14s var(--ease-out),transform .14s var(--ease-out),box-shadow .14s var(--ease-out);-webkit-user-select:none;user-select:none}.c32-card.server-node{cursor:pointer}.c32-card.server-node:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 20px #0006}.c32-card.server-node.is-ok{border-color:#6fb79c59}.c32-card.server-node.is-crit{border-color:#c9857a73}.sn-head{display:flex;justify-content:space-between;align-items:flex-start;gap:4px}.sn-name{font:700 12.5px var(--f-ui);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sn-status{font:700 9px var(--f-mono);padding:1px 5px;border-radius:3px;text-transform:uppercase}.sn-status.ok{background:var(--ok-bg);color:var(--ok)}.sn-status.crit{background:var(--risk-bg);color:var(--risk)}.sn-loc{font-size:10.5px;color:var(--text-muted)}.sn-metrics{font-size:10px;color:var(--text-dim);display:flex;flex-direction:column;gap:2px;border-top:1px dashed var(--line-row);padding-top:4px}.sn-footer{display:flex;justify-content:space-between;font-size:9.5px;color:var(--text-faint);border-top:1px solid var(--line-row);padding-top:4px}.sn-role{color:var(--accent);font-weight:600}.sn-ip{overflow:hidden;text-overflow:ellipsis;max-width:75px}.c32-card.client-node,.c32-card.internet-node{background:#14191c;border-style:dashed}.cn-top{display:flex;align-items:center;gap:6px}.cn-icon{font-size:18px}.cn-title{font:700 13px var(--f-ui);color:var(--text-2)}.cn-val{font-size:14px;font-weight:700}.cn-sub{font-size:10.5px}.c32-corridor{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:90px;flex:0 0 90px;padding:0 6px;gap:3px}.corridor-arrow{color:var(--accent-deep);font-size:16px;animation:arrow-pulse 2s infinite ease-in-out}@keyframes arrow-pulse{0%{transform:translate(-2px);opacity:.7}50%{transform:translate(2px);opacity:1;color:var(--accent)}to{transform:translate(-2px);opacity:.7}}.corridor-flow{font-size:10px;color:var(--text-faint);background:#ffffff0a;padding:1px 6px;border-radius:4px;white-space:nowrap}:root{color-scheme:dark;--canvas: #070b10;--rail: #090e14;--surface: #0e151d;--surface-2: #111a23;--surface-3: #16212c;--surface-4: #1b2834;--terminal: #080c11;--chip: #192631;--btn: #14202a;--btn-2: #0d151d;--disabled: #1b2730;--toggle-off: #34424d;--stripe: #111b24;--dots: #18242e;--line: #23313c;--line-soft: #192630;--line-row: #18242d;--line-mid: #2b3c49;--line-strong: #354956;--line-btn: #304451;--line-input: #334956;--line-hover: #486170;--edge: #3e5664;--text: #f2f7f5;--text-2: #d8e2df;--text-3: #c5d0ce;--text-muted: #96a6a3;--text-dim: #849490;--text-mono: #9aa9a6;--text-faint: #687975;--text-off: #64736f;--accent: #68f6bd;--accent-hover: #8bffd1;--accent-soft: #a4f7d6;--accent-soft-2: #baf9df;--accent-deep: #178c67;--accent-num: #7ff4c6;--on-mark: #07110d;--accent-deeper: #14543f;--accent-dim: #72998a;--on-accent: #05120d;--link-hover: #a1ffda;--accent-line: #285b49;--accent-line-2: #234838;--accent-line-dashed: #2b4f42;--accent-line-hover: #3d6b5b;--accent-ghost: rgba(104,246,189,.1);--accent-ghost-hover: rgba(104,246,189,.17);--nav-active: rgba(104,246,189,.1);--ok: #68f6bd;--ok-text: #9df6d2;--ok-bg: rgba(104,246,189,.11);--ok-tint: rgba(104,246,189,.055);--ok-icon: rgba(104,246,189,.12);--ok-line: #285745;--warn: #f4bf69;--warn-text: #f5cf91;--warn-bg: rgba(244,191,105,.12);--warn-tint: rgba(244,191,105,.055);--warn-icon: rgba(244,191,105,.13);--warn-line: #57472e;--risk: #ff7e83;--risk-text: #ffabb0;--risk-bg: rgba(255,126,131,.12);--risk-tint: rgba(255,126,131,.055);--risk-icon: rgba(255,126,131,.14);--risk-ghost: rgba(255,126,131,.08);--risk-ghost-hover: rgba(255,126,131,.16);--risk-line: #573336;--risk-line-strong: #754248;--info: #83b9ff;--info-text: #a9cdff;--info-bg: rgba(131,185,255,.11);--info-line: #334f70;--overlay: rgba(3,7,10,.78);--scrim: rgba(7,11,16,.9);--shadow-modal: 0 40px 100px rgba(0,0,0,.68);--shadow-pop: 0 24px 60px rgba(0,0,0,.55);--shadow-float: 0 16px 44px rgba(0,0,0,.32);--shadow-toast: 0 20px 55px rgba(0,0,0,.58);--r-key: 6px;--r-chip: 8px;--r-badge: 9px;--r-btn-sm: 9px;--r-btn: 11px;--r-input: 12px;--r-plate: 13px;--r-plate-lg: 14px;--r-card: 16px;--r-section: 18px;--r-modal: 20px;--r-pill: 999px;--s-1: 4px;--s-2: 6px;--s-3: 8px;--s-4: 10px;--s-5: 12px;--s-6: 14px;--s-7: 16px;--s-8: 20px;--s-9: 22px;--s-10: 26px;--f-ui: "General Sans", "Geist", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--f-display: "Cabinet Grotesk", "General Sans", "Geist", system-ui, sans-serif;--f-mono: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ease-out: cubic-bezier(.23,1,.32,1);--ease-in-out: cubic-bezier(.77,0,.175,1);--ease-drawer: cubic-bezier(.32,.72,0,1);--ease-spring: cubic-bezier(.34,1.42,.44,1);--cy: #4fd8ff;--cy-deep: #1b8fb8;--accent-cy: #45e0d8;--grad-brand: linear-gradient(115deg, var(--accent) 0%, var(--accent-cy) 46%, var(--cy) 100%);--grad-brand-soft: linear-gradient(115deg, rgba(104,246,189,.9), rgba(69,224,216,.9), rgba(79,216,255,.9));--grad-hair: linear-gradient(120deg, rgba(104,246,189,.55), rgba(69,224,216,.18) 38%, rgba(79,216,255,.5));--grad-sheen: linear-gradient(125deg, transparent 28%, rgba(255,255,255,.12) 46%, transparent 62%);--glow-em: 0 0 0 1px rgba(104,246,189,.18), 0 12px 40px rgba(23,180,124,.2);--glow-em-lg: 0 0 44px rgba(104,246,189,.3), 0 0 110px rgba(69,224,216,.16);--glow-cy: 0 0 34px rgba(79,216,255,.26);--glow-text: 0 0 18px rgba(104,246,189,.42);--glass: rgba(14,22,31,.62);--glass-2: rgba(18,28,38,.72);--glass-line: rgba(255,255,255,.075);--t-press: .12s;--t-fast: .16s;--t-ui: .22s;--t-slow: .32s}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--canvas);color:var(--text);font:14px/1.5 var(--f-ui);-webkit-font-smoothing:antialiased}body{min-width:320px}button,input,select,textarea{font:inherit}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}a:hover{color:var(--link-hover)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--canvas)}::-webkit-scrollbar-thumb{background:var(--line-mid);border-radius:var(--r-pill);border:3px solid var(--canvas)}::-webkit-scrollbar-thumb:hover{background:var(--line-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--accent-deeper);color:var(--text)}.mark{width:36px;height:36px;border-radius:10px;background:var(--surface-3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:0 0 36px}.mark i{display:block;border-radius:1.5px}.mark i.a{width:16px;height:3px;background:var(--accent)}.mark i.b{width:11px;height:3px;background:var(--accent-deep)}.mark span{font:800 12px var(--f-ui);letter-spacing:-.5px;color:var(--text);line-height:1;margin-top:2px}.app{min-height:100vh;display:flex;background:var(--canvas)}.rail{flex:0 0 252px;width:252px;height:100vh;position:sticky;top:0;z-index:60;background:var(--rail);border-right:1px solid var(--line-soft);display:flex;flex-direction:column;overflow-y:auto}.rail-head{display:flex;align-items:center;gap:11px;padding:18px 18px 16px}.brand{font:700 17px var(--f-ui);letter-spacing:-.2px;color:var(--text)}.group{padding:14px 14px 5px;font:600 10.5px var(--f-ui);letter-spacing:1.1px;color:var(--text-faint);text-transform:uppercase}.group.tight{padding-top:16px}.nav{display:flex;flex-direction:column;gap:2px;padding:0 12px}.nav.last{padding-bottom:18px}.nav-item{position:relative;display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;border:0;border-radius:var(--r-btn);background:transparent;color:var(--text-3);font:500 13.5px var(--f-ui);cursor:pointer;text-align:left}.nav-item:hover{color:var(--text);background:#ffffff08}.nav-item svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nav-item .lbl{flex:1}.nav-item .dot{width:7px;height:7px;border-radius:50%;flex:0 0 7px}.nav-item.active{color:var(--text);background:var(--nav-active)}.nav-item.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:3px;background:var(--accent)}.nav-item.active svg{stroke:var(--accent)}.rail-foot{margin-top:auto;padding:12px 12px 14px;border-top:1px solid var(--line-soft)}.version{font:500 11px var(--f-mono);color:var(--text-faint);padding:0 4px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:16px;padding:12px 26px;background:#121415db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.topbar .crumb{font:600 15px var(--f-ui);color:var(--text)}.topbar .crumb-sub{font:500 12.5px var(--f-ui);color:var(--text-faint);margin-left:2px}.topbar .spacer{flex:1}.topbar .who{display:flex;align-items:center;gap:9px}.av{width:30px;height:30px;border-radius:9px;background:var(--accent-deep);color:var(--on-mark);font:700 12px var(--f-ui);display:flex;align-items:center;justify-content:center}.who .nm{font:600 13px var(--f-ui);color:var(--text-2)}.who .rl{font:500 11px var(--f-mono);color:var(--text-faint)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-btn);border:1px solid var(--line-btn);background:var(--btn);color:var(--text-3);cursor:pointer;transition:color .14s var(--ease-out),background-color .14s var(--ease-out),border-color .14s var(--ease-out),transform .12s var(--ease-out)}.icon-btn:hover{color:var(--text);border-color:var(--line-hover);background:var(--surface-3)}.icon-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.content{padding:30px 34px 48px;max-width:1600px;width:100%;margin:0 auto}.page-head,.form-actions,.frow{flex-wrap:wrap}.page-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.page-title{font:700 20px var(--f-ui);letter-spacing:-.3px;color:var(--text);margin:0}.page-title small{font:500 13px var(--f-ui);color:var(--text-faint);margin-left:10px}.page-head .actions{margin-left:auto;display:flex;gap:8px}.btn{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 16px;border-radius:var(--r-btn);border:1px solid var(--line-btn);background:var(--btn);color:var(--text-2);font:600 13px var(--f-ui);cursor:pointer;transition:color .14s var(--ease-out),background-color .14s var(--ease-out),border-color .14s var(--ease-out),box-shadow .14s var(--ease-out),transform .12s var(--ease-out);white-space:nowrap}.btn:hover{color:var(--text);border-color:var(--line-hover);background:var(--surface-3)}.btn:disabled{opacity:.5;cursor:default}.btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--risk-text);border-color:var(--risk-line);background:transparent}.btn.danger:hover{background:var(--risk-ghost-hover)}.btn.sm{padding:5px 10px;font-size:12px;border-radius:var(--r-btn-sm)}.btn.icon{padding:7px 9px}.btn .spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.25);border-top-color:currentColor;border-radius:50%;animation:c32spin .7s linear infinite}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--r-pill);font:700 10.5px var(--f-ui);letter-spacing:.4px;text-transform:uppercase}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.ok{color:var(--ok);background:var(--ok-bg)}.badge.warn{color:var(--warn);background:var(--warn-bg)}.badge.danger{color:var(--risk-text);background:var(--risk-bg)}.badge.info{color:var(--info-text);background:var(--info-bg)}.badge.flat{background:var(--chip);color:var(--text-muted)}.badge .pulse{animation:c32pulse 1.6s ease-in-out infinite}@keyframes c32pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes c32spin{to{transform:rotate(360deg)}}@keyframes c32in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-card);padding:18px}.card+.card{margin-top:16px}.card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.card-title{font:600 13.5px var(--f-ui);color:var(--text-2);margin:0}.card-desc{font:500 12px var(--f-ui);color:var(--text-faint)}.section{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-section);overflow:hidden}.section+.section{margin-top:16px}.section-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line-soft)}.section-title{font:600 13.5px var(--f-ui);color:var(--text-2)}.section-body{padding:18px}.section .tabs{margin-top:-1px}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-5{grid-template-columns:repeat(5,1fr)}.stat{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-card);padding:16px 18px;cursor:pointer;transition:border-color .12s ease}.stat:hover{border-color:var(--line-mid)}.stat .k{font:500 12px var(--f-ui);color:var(--text-faint);margin-bottom:6px}.stat .v{font:700 24px var(--f-ui);letter-spacing:-.5px;color:var(--text);display:flex;align-items:baseline;gap:6px}.stat .v .u{font:600 13px var(--f-ui);color:var(--text-dim)}.stat .sub{font:500 11.5px var(--f-ui);color:var(--text-faint);margin-top:4px}.stat .v.accent{color:var(--accent-num)}.stat .v.warn{color:var(--warn-text)}.stat .v.danger{color:var(--risk-text)}.stat .icon-wrap{width:30px;height:30px;border-radius:var(--r-plate);background:var(--ok-icon);display:flex;align-items:center;justify-content:center;margin-bottom:10px}.stat .icon-wrap svg{width:15px;height:15px;fill:none;stroke:var(--ok);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.meter{display:flex;flex-direction:column;gap:5px}.meter .row{display:flex;justify-content:space-between;font:600 11.5px var(--f-mono)}.meter .row .lbl{color:var(--text-faint);font-family:var(--f-ui);font-weight:500}.meter .row .val{color:var(--text-2)}.meter .bar{height:6px;border-radius:var(--r-pill);background:var(--disabled);overflow:hidden}.meter .bar>i{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width .5s ease}.meter .bar>i.warn{background:var(--warn)}.meter .bar>i.danger{background:var(--risk)}.table-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;padding:9px 14px;font:600 10.5px var(--f-ui);letter-spacing:.8px;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.tbl td{padding:11px 14px;border-bottom:1px solid var(--line-row);color:var(--text-2);vertical-align:middle}.tbl tbody tr{transition:background .1s ease}.tbl tbody tr:hover{background:var(--surface-2)}.tbl tbody tr:last-child td{border-bottom:0}.tbl .mono{font-family:var(--f-mono);font-size:12px;color:var(--text-mono)}.tbl .dim{color:var(--text-dim)}.tbl .num{text-align:right;font-family:var(--f-mono);font-size:12.5px}.tbl .row-click{cursor:pointer}.tbl .group-row td{padding:7px 14px;font:600 11px var(--f-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);background:var(--surface-2)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font:600 12px var(--f-ui);color:var(--text-2)}.field .hint{font:500 11.5px var(--f-ui);color:var(--text-faint)}.field input,.field select,.field textarea{padding:9px 12px;border-radius:var(--r-input);border:1px solid var(--line-input);background:var(--surface-2);color:var(--text);font:500 13.5px var(--f-ui);transition:border-color .12s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ghost)}.field select option{background:var(--surface-2)}.frow{display:flex;gap:12px}.frow>.field{flex:1}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);padding:0 4px}.tab{padding:10px 14px;border:0;background:transparent;color:var(--text-dim);font:600 13px var(--f-ui);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;position:relative;transition:color .12s ease}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.tab .cnt{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:var(--r-pill);background:var(--chip);color:var(--text-muted);font:700 10.5px var(--f-mono)}.empty{padding:30px 20px;text-align:center;color:var(--text-faint);font:500 13px var(--f-ui);border:1px dashed var(--line);border-radius:var(--r-plate)}.skel{display:block;border-radius:var(--r-key);background:linear-gradient(90deg,var(--disabled) 25%,var(--surface-3) 50%,var(--disabled) 75%);background-size:200% 100%;animation:c32shine 1.4s linear infinite}@keyframes c32shine{0%{background-position:200% 0}to{background-position:-200% 0}}.toasts{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{min-width:240px;max-width:360px;padding:12px 16px;border-radius:var(--r-plate-lg);background:var(--surface-3);border:1px solid var(--line-mid);color:var(--text-2);font:500 13px var(--f-ui);box-shadow:var(--shadow-toast);animation:c32in .18s ease;display:flex;gap:10px;align-items:flex-start}.toast.ok{border-color:var(--ok-line)}.toast.warn{border-color:var(--warn-line)}.toast.danger{border-color:var(--risk-line-strong)}.toast .t-icon{flex:0 0 16px;margin-top:1px}.toast .t-body{flex:1}.toast .t-title{font:700 12.5px var(--f-ui);margin-bottom:2px}.toast .t-msg{color:var(--text-dim);font-size:12.5px}.toast .t-x{cursor:pointer;color:var(--text-faint);font-size:13px;border:0;background:transparent;padding:0;line-height:1.2}.toast .t-x:hover{color:var(--text)}.setup-stepper{display:flex;gap:6px;margin-bottom:20px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:100%;max-width:560px;max-height:86vh;overflow-y:auto;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-modal);box-shadow:var(--shadow-modal);animation:c32in .18s ease;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-title{font:700 16px var(--f-ui);color:var(--text)}.modal-body{padding:20px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--canvas);padding:24px}.login-card{width:100%;max-width:380px;padding:30px 28px;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-section);box-shadow:var(--shadow-float)}.login-mark{display:flex;align-items:center;gap:12px;margin-bottom:22px}.login-title{font:700 19px var(--f-ui);letter-spacing:-.3px;color:var(--text)}.login-sub{font:500 12.5px var(--f-ui);color:var(--text-faint);margin-top:2px}.login-error{padding:9px 12px;margin-bottom:14px;border-radius:var(--r-input);background:var(--risk-tint);border:1px solid var(--risk-line);color:var(--risk-text);font:500 12.5px var(--f-ui)}.pager{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:16px}.pager .page-info{font:500 12px var(--f-mono);color:var(--text-faint)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.toolbar .search{padding:7px 12px 7px 32px;border-radius:var(--r-input);border:1px solid var(--line-input);background:var(--surface-2);color:var(--text);font:500 13px var(--f-ui);min-width:220px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' fill='none' stroke='%238A908E' stroke-width='1.8'%3E%3Ccircle cx='5.5' cy='5.5' r='4'/%3E%3Cpath d='M8.5 8.5 11 11'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:11px 50%}.toolbar select{padding:7px 10px;border-radius:var(--r-input);border:1px solid var(--line-input);background:var(--surface-2);color:var(--text-2);font:500 12.5px var(--f-ui)}.kv{display:grid;grid-template-columns:180px 1fr;gap:8px 16px;font-size:13px}.kv dt{color:var(--text-faint);font-weight:500}.kv dd{margin:0;color:var(--text-2);font-family:var(--f-mono);font-size:12.5px}.mono{font-family:var(--f-mono)}.link{color:var(--accent);cursor:pointer;font-weight:600}.link:hover{color:var(--link-hover)}@media(max-width:900px){.rail{flex-basis:64px;width:64px}.rail .brand,.rail .group,.rail .nav-item .lbl,.rail .nav-item .dot,.rail-foot .version{display:none}.rail-head{justify-content:center;padding:14px 8px}.grid.cols-2,.grid.cols-3,.grid.cols-4,.grid.cols-5{grid-template-columns:1fr}.content{padding:16px 14px 40px}.topbar{padding:10px 14px}}.app{background:radial-gradient(circle at 82% -10%,rgba(104,246,189,.08),transparent 28rem),linear-gradient(135deg,#070b10,#091018 48%,#070b10)}.rail{flex-basis:264px;width:264px;background:linear-gradient(180deg,#0d141cfa,#070c11fc);border-right-color:#68f6bd17;box-shadow:18px 0 48px #00000029}.rail-head{padding:20px 18px 18px}.brand{font-family:var(--f-display);font-size:18px;font-weight:700;letter-spacing:-.5px}.mark{position:relative;overflow:hidden;border:1px solid rgba(104,246,189,.26);background:linear-gradient(145deg,#68f6bd38,#68f6bd0f);box-shadow:inset 0 1px #ffffff14,0 8px 24px #19be8214}.mark:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(125deg,transparent 30%,rgba(255,255,255,.11),transparent 64%);pointer-events:none}.mark i{display:none}.mark span{margin:0;font-family:var(--f-display);font-size:11px;letter-spacing:.5px;color:var(--accent)}.group{padding-inline:18px;letter-spacing:1.3px}.nav{padding-inline:10px;gap:3px}.nav-item{min-height:38px;border:1px solid transparent;border-radius:10px;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .14s var(--ease-out)}.nav-item.active{border-color:#68f6bd17;box-shadow:inset 0 1px #ffffff06}.nav-item.active:before{left:5px;top:10px;bottom:10px;width:2px;box-shadow:0 0 12px #68f6bd99}.nav-item:active{transform:scale(.98)}.nav-item svg{width:17px;height:17px;flex-basis:17px}.rail-foot{background:#00000014}.topbar{min-height:64px;padding:12px clamp(16px,2vw,30px);background:#070c11c2;border-bottom-color:#68f6bd14;-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)}.topbar .crumb{font-family:var(--f-display);font-size:15px;letter-spacing:-.15px}.av{border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent-deep));color:var(--on-accent);box-shadow:0 0 0 3px #68f6bd14}.content{max-width:1540px;padding:clamp(20px,3vw,42px) clamp(16px,3vw,44px) 64px}.page-head{margin-bottom:24px}.page-title{font-family:var(--f-display);font-size:clamp(22px,2vw,29px);font-weight:700;letter-spacing:-.7px;line-height:1.1}.page-title small{display:inline-block;font-size:12px;font-weight:500;letter-spacing:0}.btn,.icon-btn{box-shadow:inset 0 1px #ffffff09;transition:transform .14s var(--ease-out),color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.btn:hover,.icon-btn:hover{box-shadow:inset 0 1px #ffffff0f,0 8px 24px #0000002e}.btn:active:not(:disabled),.icon-btn:active{transform:scale(.97)}.btn.primary{box-shadow:inset 0 1px #ffffff40,0 8px 26px #24dc991f}.badge{border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 25%,transparent);letter-spacing:.55px}.card,.section,.stat{background:linear-gradient(145deg,#111a23f7,#0c131bf7);border-color:#8eaebe21;box-shadow:inset 0 1px #ffffff06,0 18px 50px #0000001f}.card,.section{position:relative}.card-head,.section-head{min-height:48px}.card-title,.section-title{font-family:var(--f-display);font-size:14px;font-weight:650;color:var(--text-2);letter-spacing:-.15px}.section-head{background:#ffffff03}.grid{gap:18px}.stat{position:relative;overflow:hidden;padding:18px 19px;cursor:pointer;transition:transform .18s var(--ease-out),border-color .18s ease,box-shadow .18s ease}.stat:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,rgba(104,246,189,.42),transparent);opacity:.3}.stat:active{transform:scale(.985)}.stat .k,.section-body .k{font-size:10.5px;font-weight:650;letter-spacing:.75px;text-transform:uppercase}.stat .v,.section-body .v{font-family:var(--f-display);font-size:28px;letter-spacing:-1px}.stat .icon-wrap{width:34px;height:34px;border:1px solid rgba(255,255,255,.035)}.meter .bar{height:7px;padding:1px}.meter .bar>i{transition:width .24s var(--ease-out);box-shadow:0 0 12px #68f6bd33}.table-wrap{scrollbar-width:thin}.tbl th{background:#ffffff05;letter-spacing:1px}.tbl tbody tr{transition:background-color .14s ease}.field input,.field select,.field textarea,.toolbar .search,.toolbar select{min-height:42px;background:#0b131b;box-shadow:inset 0 1px #ffffff05;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.field input:hover,.field select:hover,.field textarea:hover,.toolbar .search:hover,.toolbar select:hover{border-color:var(--line-hover)}.tabs{gap:4px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;transition:color .16s ease,background-color .16s ease}.tab.active{background:linear-gradient(180deg,transparent,rgba(104,246,189,.035))}.empty{min-height:110px;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(104,246,189,.035),transparent 66%)}.toast{animation:c32in .18s var(--ease-out)}.modal{animation:c32in .22s var(--ease-out);transform-origin:center}.login-wrap{background:radial-gradient(circle at 50% 30%,rgba(104,246,189,.1),transparent 28rem),var(--canvas)}.login-card{background:linear-gradient(145deg,#111a23fa,#090f15fa);border-color:#68f6bd24}@media(hover:hover)and (pointer:fine){.stat:hover{transform:translateY(-2px);border-color:#68f6bd3d;box-shadow:inset 0 1px #ffffff0a,0 24px 58px #0003}}@media(max-width:1100px){.grid.cols-5,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.rail{flex-basis:68px;width:68px}.rail-head{padding:14px 8px}.nav{padding-inline:8px}.nav-item{justify-content:center;padding:9px}.nav-item.active:before{left:1px}.content{padding:20px 14px 46px}}@media(max-width:600px){.rail{flex-basis:58px;width:58px}.mark{width:34px!important;height:34px!important;flex-basis:34px!important}.topbar{min-height:56px;padding:9px 12px}.topbar .who .nm,.topbar .who .rl{display:none}.page-head{align-items:flex-start;margin-bottom:18px}.page-head .actions{width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.page-title small{display:block;margin:7px 0 0;line-height:1.35}.grid.cols-5,.grid.cols-4{grid-template-columns:1fr;gap:12px}.card,.section,.stat{border-radius:14px}.frow{flex-direction:column;gap:0}.kv{grid-template-columns:1fr;gap:3px}.toasts{left:12px;right:12px;bottom:12px}.toast{min-width:0;max-width:none}.modal-scrim{padding:12px;align-items:flex-end}.modal{max-height:92vh;border-radius:20px 20px 14px 14px}}@media(prefers-reduced-motion:reduce){.stat:hover{transform:none}}.terminal-maximized-wrap{position:fixed;top:16px;right:16px;bottom:16px;left:16px;z-index:1000;display:flex;flex-direction:column}.terminal-window{background:#0b0e10;border:1px solid #252D31;border-radius:10px;overflow:hidden;box-shadow:0 16px 48px #000000a6,0 0 0 1px #6fb79c1a;display:flex;flex-direction:column}.terminal-maximized-wrap .terminal-window{flex:1;height:100%}.terminal-titlebar{background:#15191c;border-bottom:1px solid #232A2E;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.window-dots{display:flex;align-items:center;gap:7px}.window-dots .dot{width:11px;height:11px;border-radius:50%;display:block}.dot-close{background:#ff5f56}.dot-minimize{background:#ffbd2e}.dot-maximize{background:#27c93f;cursor:pointer}.terminal-title{font:600 12.5px var(--f-mono);color:var(--text-muted);display:flex;align-items:center;gap:8px}.terminal-status-badge{display:flex;align-items:center;gap:6px;font:700 10.5px var(--f-mono);color:var(--ok);background:#6fb79c1a;padding:3px 8px;border-radius:4px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 6px var(--ok)}.terminal-screen{background:#090c0d;padding:18px 20px;min-height:480px;max-height:620px;overflow-y:auto;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:13px;line-height:1.55;color:var(--text-2);cursor:text}.terminal-maximized-wrap .terminal-screen{max-height:none;flex:1}.terminal-banner{color:var(--accent);font-size:11px;line-height:1.25;margin:0 0 16px;opacity:.95;-webkit-user-select:none;user-select:none}.terminal-entry{margin-bottom:12px}.command-prompt-line{display:flex;align-items:baseline;gap:2px;font-weight:600}.p-user{color:#6fb79c}.p-colon{color:var(--text-faint)}.p-dir{color:#82c6ac}.p-char{color:#4e8871;margin-right:6px}.p-cmd{color:#eceeed;font-weight:700}.p-time{margin-left:auto;color:var(--text-faint);font-size:11px;font-weight:400}.command-output{margin:4px 0 10px;color:#d2dad7;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:12.5px}.output-error{color:#ff7b72}.command-active-line{display:flex;align-items:center;gap:2px;margin-top:6px}.terminal-active-input{flex:1;background:transparent;border:none;outline:none;color:#eceeed;font-family:inherit;font-size:13.5px;font-weight:600;caret-color:var(--accent);padding:0 4px}.terminal-active-input::placeholder{color:#fff3}.terminal-spinner{color:var(--accent);animation:c32spin 1s infinite linear}.terminal-keybar{background:#111517;border-top:1px solid #1E2529;padding:10px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.keybar-label{font:700 10.5px var(--f-mono);color:var(--text-faint);letter-spacing:.6px}.keybar-keys{display:flex;gap:6px;flex-wrap:wrap}.terminal-key-btn{background:#1a2024;border:1px solid #2B353A;border-bottom:2px solid #20272B;color:var(--text-3);font:600 11.5px var(--f-mono);padding:3px 10px;border-radius:5px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:color .14s var(--ease-out),background-color .14s var(--ease-out),border-color .14s var(--ease-out),transform .12s var(--ease-out)}.terminal-key-btn:hover{background:var(--accent-ghost);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px)}.terminal-key-btn .key-prefix{color:var(--accent);font-weight:700}.phone-mockup-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.phone-frame{width:380px;height:680px;background:#000;border-radius:44px;box-shadow:0 20px 60px #000000b3,0 0 0 10px #1e2326,0 0 0 12px #2e363b;position:relative;overflow:hidden;display:flex;flex-direction:column}.phone-island{position:absolute;top:10px;left:50%;transform:translate(-50%);width:100px;height:24px;background:#000;border-radius:14px;z-index:10;display:flex;align-items:center;justify-content:flex-end;padding-right:12px}.phone-cam{width:9px;height:9px;border-radius:50%;background:#0f172a;box-shadow:inset 0 0 2px #38bdf8}.phone-screen{flex:1;width:100%;height:100%;background:#04080d;overflow:hidden;border-radius:36px}.phone-iframe{width:100%;height:100%;border:none;display:block}.phone-home-bar{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:120px;height:4px;background:#fff6;border-radius:2px;z-index:10;pointer-events:none}.phone-caption{display:flex;align-items:center;gap:12px;font:500 12px var(--f-ui);color:var(--text-dim)}.phone-app-container{display:flex;flex-direction:column;background:#090e11;color:#eceeed;position:relative;-webkit-user-select:none;user-select:none}.phone-status-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px 4px;font-size:11px;font-weight:600;color:#eceeed;letter-spacing:.2px}.tg-webapp-header{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 8px;background:#0e1418;border-bottom:1px solid rgba(255,255,255,.06)}.tg-close-btn,.tg-menu-btn{font-size:16px;color:#8e9e98;cursor:pointer;padding:4px}.tg-title-box{display:flex;flex-direction:column;align-items:center}.tg-title-main{font-size:12.5px;font-weight:700;color:#fff}.tg-title-sub{font-size:9.5px;color:#00fe7a}.tg-app-content{flex:1;overflow-y:auto;padding:12px 14px 60px;display:flex;flex-direction:column;gap:12px}.tg-app-content::-webkit-scrollbar{display:none}.miniapp-user-bar{display:flex;justify-content:space-between;align-items:center;background:#131a1e;padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.miniapp-avatar{width:28px;height:28px;border-radius:50%;background:#1c262b;display:flex;align-items:center;justify-content:center;font-size:14px}.miniapp-pro-tag{background:#00fe7a;color:#000;font-size:9px;font-weight:800;padding:1px 4px;border-radius:4px}.miniapp-balance-chip{background:#00fe7a1f;border:1px solid rgba(0,254,122,.3);color:#00fe7a;font-weight:700;font-size:11.5px;padding:3px 8px;border-radius:12px}.miniapp-tab-anim{display:flex;flex-direction:column;gap:10px;animation:c32in .18s ease}.miniapp-power-section{display:flex;flex-direction:column;align-items:center;padding:12px 0 6px}.miniapp-power-btn{width:76px;height:76px;border-radius:50%;border:none;outline:none;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),background .22s var(--ease-out)}.miniapp-power-btn.connected{background:radial-gradient(circle,#00fe7a,#059669);box-shadow:0 0 30px #00fe7a73}.miniapp-power-btn.disconnected{background:#1e262b;box-shadow:0 4px 15px #00000080}.power-symbol{font-size:32px;color:#090e11;font-weight:900}.miniapp-power-btn.disconnected .power-symbol{color:#64748b}.miniapp-status-text{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;letter-spacing:.5px}.status-dot-pulse{width:8px;height:8px;border-radius:50%}.status-dot-pulse.on{background:#00fe7a;box-shadow:0 0 8px #00fe7a}.status-dot-pulse.off{background:#ef4444}.miniapp-substatus{font-size:10.5px;color:#8e9e98;margin-top:2px}.miniapp-card{background:#131a1e;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:10px 12px}.miniapp-card-title{display:flex;justify-content:space-between;font-size:11.5px;font-weight:700;margin-bottom:8px}.miniapp-servers-list{display:flex;flex-direction:column;gap:4px}.miniapp-server-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:8px;background:#182227;cursor:pointer;border:1px solid transparent;transition:background .15s}.miniapp-server-row:hover,.miniapp-server-row.selected{background:#1f2b31;border-color:#00fe7a59}.miniapp-ping-badge{font-size:9.5px;font-family:monospace;background:#00fe7a1f;color:#00fe7a;padding:1px 5px;border-radius:4px}.miniapp-progress-bar{height:6px;background:#1c262b;border-radius:3px;overflow:hidden}.miniapp-progress-fill{height:100%;background:#00fe7a;border-radius:3px;transition:width .3s ease}.miniapp-action-btn{background:#1c262b;border:1px solid rgba(255,255,255,.08);color:#eceeed;font-size:11px;font-weight:600;padding:6px;border-radius:8px;cursor:pointer;transition:background .15s}.miniapp-action-btn:hover{background:#243137;color:#00fe7a}.miniapp-tariffs-stack{display:flex;flex-direction:column;gap:8px}.miniapp-tariff-card{background:#131a1e;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;position:relative}.miniapp-tariff-card.hit{border-color:#00fe7a;background:#142021}.tariff-hit-badge{position:absolute;top:-7px;right:12px;background:#00fe7a;color:#000;font-size:8.5px;font-weight:800;padding:1px 6px;border-radius:4px}.miniapp-buy-btn{width:100%;margin-top:8px;background:#00fe7a;color:#000;border:none;font-weight:700;font-size:12px;padding:6px 0;border-radius:8px;cursor:pointer;transition:opacity .15s}.miniapp-buy-btn:hover{opacity:.9}.miniapp-qr-box{display:flex;flex-direction:column;align-items:center;padding:10px;background:#131a1e;border-radius:12px}.miniapp-qr-mock{width:110px;height:110px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;background-image:radial-gradient(#000 25%,transparent 25%),radial-gradient(#000 25%,transparent 25%);background-size:8px 8px;background-position:0 0,4px 4px}.qr-center-logo{width:24px;height:24px;background:#00fe7a;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 0 6px #00000080}.miniapp-key-snippet{font-family:monospace;font-size:9.5px;word-break:break-all;background:#090e11;padding:6px 8px;border-radius:6px;color:#00fe7a;border:1px solid rgba(0,254,122,.2)}.miniapp-copy-btn{width:100%;margin-top:8px;background:#1c262b;border:1px solid rgba(255,255,255,.1);color:#00fe7a;font-size:11px;font-weight:700;padding:7px 0;border-radius:8px;cursor:pointer}.miniapp-apps-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.app-badge{background:#131a1e;font-size:9.5px;color:#eceeed;padding:6px 8px;border-radius:6px;text-align:center;border:1px solid rgba(255,255,255,.05)}.miniapp-input{flex:1;background:#090e11;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 8px;font-size:11px;color:#fff}.miniapp-submit-btn{background:#00fe7a;color:#000;font-weight:700;font-size:11px;border:none;padding:0 10px;border-radius:6px;cursor:pointer}.tg-tabbar{position:absolute;bottom:0;left:0;right:0;height:52px;background:#0e1418;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-around;z-index:10;padding-bottom:4px}.tg-tab-item{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:#64748b;transition:color .15s}.tg-tab-item.active{color:#00fe7a}.tg-tab-icon{font-size:15px}.tg-tab-label{font-size:9.5px;font-weight:600}.phone-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:20;display:flex;align-items:flex-end;animation:c32in .15s ease}.phone-modal-sheet{width:100%;background:#131a1e;border-top-left-radius:20px;border-top-right-radius:20px;padding:12px 14px 20px;border-top:1px solid rgba(255,255,255,.1)}.sheet-handle{width:36px;height:4px;background:#fff3;border-radius:2px;margin:0 auto 10px}.sheet-close{font-size:14px;color:#8e9e98;cursor:pointer;padding:2px}.sheet-tariff-summary{display:flex;justify-content:space-between;align-items:center;background:#182227;padding:8px 10px;border-radius:8px;border:1px solid rgba(0,254,122,.3)}.sheet-payments-list{display:flex;flex-direction:column;gap:6px}.sheet-payment-row{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;background:#182227;border-radius:6px;border:1px solid transparent;cursor:pointer}.sheet-payment-row.active{border-color:#00fe7a;background:#1f2e2a}.sheet-confirm-btn{width:100%;margin-top:12px;background:#00fe7a;color:#000;border:none;font-weight:800;font-size:13px;padding:10px 0;border-radius:8px;cursor:pointer}body{background:radial-gradient(ellipse 60% 50% at 18% -8%,rgba(104,246,189,.07),transparent 50%),radial-gradient(ellipse 50% 40% at 85% 10%,rgba(69,224,216,.05),transparent 50%),radial-gradient(ellipse 40% 50% at 60% 110%,rgba(79,216,255,.04),transparent 50%),var(--canvas);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23n)'/%3E%3C/svg%3E")}#root{position:relative;z-index:1}.rail{background:linear-gradient(175deg,#0e1620e0,#080d13f0);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-right-color:#68f6bd1f;box-shadow:1px 0 #ffffff08 inset,24px 0 60px #00000040}.rail:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 10%,rgba(104,246,189,.5),rgba(69,224,216,.3),transparent 90%);pointer-events:none}.mark{position:relative;overflow:hidden;border:1px solid rgba(104,246,189,.35);background:linear-gradient(135deg,#68f6bd47,#45e0d81f);box-shadow:inset 0 1px #ffffff1f,0 0 20px #68f6bd26,0 8px 28px #19be821f;animation:markGlow 3s ease-in-out infinite}@keyframes markGlow{0%,to{box-shadow:inset 0 1px #ffffff1f,0 0 20px #68f6bd26,0 8px 28px #19be821f}50%{box-shadow:inset 0 1px #ffffff1f,0 0 32px #68f6bd4d,0 8px 32px #19be8233}}.mark:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.15) 50%,transparent 65%);animation:sheenSweep 4s ease-in-out infinite;pointer-events:none}@keyframes sheenSweep{0%,70%{transform:translate(-110%)}to{transform:translate(110%)}}.nav-item{position:relative;transition:color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),transform var(--t-press) var(--ease-spring),box-shadow var(--t-fast) var(--ease-out)}.nav-item:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.nav-item:hover{background:#68f6bd0f;box-shadow:inset 0 0 0 1px #68f6bd14;transform:translate(2px)}.nav-item:active{transform:scale(.97)}}.nav-item.active{background:linear-gradient(135deg,#68f6bd1f,#45e0d80f);border-color:#68f6bd26;box-shadow:inset 0 1px #ffffff0a,0 4px 16px #68f6bd14}.nav-item.active:before{box-shadow:0 0 16px #68f6bdcc,0 0 32px #68f6bd4d}.topbar{background:#070c12b8;backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border-bottom-color:#68f6bd1a;box-shadow:0 4px 24px #0003}.topbar:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 5%,rgba(104,246,189,.3) 30%,rgba(69,224,216,.2) 60%,transparent 95%);pointer-events:none}.av{background:linear-gradient(135deg,var(--accent),var(--accent-cy));box-shadow:0 0 0 2px #68f6bd26,0 0 18px #68f6bd40}.btn,.icon-btn{position:relative;overflow:hidden;transition:transform var(--t-press) var(--ease-spring),color var(--t-fast) ease,background-color var(--t-fast) ease,border-color var(--t-fast) ease,box-shadow var(--t-fast) var(--ease-out)}.btn:active:not(:disabled){transform:scale(.96)}.icon-btn:active{transform:scale(.94)}@media(hover:hover)and (pointer:fine){.btn:hover:not(:disabled){transform:translateY(-1px)}.icon-btn:hover{transform:translateY(-1px)}}.btn:after,.icon-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 65%);transform:translate(-110%);pointer-events:none}@media(hover:hover)and (pointer:fine){.btn:hover:after{animation:btnSheen .5s var(--ease-out) forwards}.icon-btn:hover:after{animation:btnSheen .5s var(--ease-out) forwards}}@keyframes btnSheen{to{transform:translate(110%)}}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-cy));border-color:#68f6bd80;color:#05120d;box-shadow:inset 0 1px #ffffff4d,0 4px 20px #68f6bd4d,0 8px 40px #45e0d826}.btn.primary:hover{background:linear-gradient(135deg,var(--accent-hover),#5ae0d8);box-shadow:inset 0 1px #ffffff59,0 6px 28px #68f6bd66,0 12px 48px #45e0d833}.card,.section{position:relative;background:linear-gradient(145deg,#121c26d1,#0b1119e0);backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);border:1px solid transparent;box-shadow:inset 0 1px #ffffff0a,0 8px 32px #00000026}.card:before,.section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(145deg,#68f6bd33,#4fd8ff14 40%,#ffffff08);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.stat{position:relative;overflow:hidden;background:linear-gradient(150deg,#14202ce6,#0c131ceb);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid transparent;transition:transform var(--t-ui) var(--ease-spring),border-color var(--t-ui) ease,box-shadow var(--t-ui) var(--ease-out)}.stat:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#68f6bd38,#45e0d80f 50%,#4fd8ff26);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.stat:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,rgba(104,246,189,.5),rgba(69,224,216,.3),transparent);opacity:.4}.stat:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.stat:hover{transform:translateY(-4px) scale(1.01);box-shadow:inset 0 1px #ffffff0f,0 16px 48px #00000040,0 0 30px #68f6bd14}.stat:hover:after{opacity:.7}}.stat .icon-wrap{position:relative;box-shadow:inset 0 1px #ffffff0f,0 4px 12px #0003}.stat .icon-wrap:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;background:radial-gradient(circle,currentColor 0%,transparent 70%);opacity:.06;pointer-events:none}.badge .pulse{animation:dotPulse 1.6s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:1;box-shadow:0 0 4px currentColor}50%{opacity:.5;box-shadow:0 0 12px currentColor,0 0 20px currentColor}}.meter .bar{background:#23313c80;box-shadow:inset 0 1px 3px #0000004d}.meter .bar>i{position:relative;box-shadow:0 0 10px #68f6bd66,0 0 20px #68f6bd26;transition:width .6s var(--ease-out)}.meter .bar>i:after{content:"";position:absolute;right:0;top:-1px;width:4px;height:calc(100% + 2px);border-radius:50%;background:inherit;filter:brightness(1.4);box-shadow:0 0 8px #68f6bd99}.meter .bar>i.warn{box-shadow:0 0 10px #f4bf6966,0 0 20px #f4bf6926}.meter .bar>i.danger{box-shadow:0 0 10px #ff7e8366,0 0 20px #ff7e8326}.tbl tbody tr{transition:background-color var(--t-fast) ease,box-shadow var(--t-fast) ease}@media(hover:hover)and (pointer:fine){.tbl tbody tr:hover{background:#68f6bd0a;box-shadow:inset 2px 0 #68f6bd66}}.field input,.field select,.field textarea{background:#080e14d9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color var(--t-fast) ease,box-shadow var(--t-fast) var(--ease-out),background-color var(--t-fast) ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:#68f6bd99;box-shadow:0 0 0 3px #68f6bd1f,0 0 20px #68f6bd1a}.toolbar .search,.toolbar select{background:#080e14d9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.toolbar .search:focus,.toolbar select:focus{border-color:#68f6bd80;box-shadow:0 0 0 3px #68f6bd1a;outline:none}.tab{transition:color var(--t-fast) ease,background-color var(--t-fast) ease,transform var(--t-press) var(--ease-spring)}.tab:active{transform:scale(.96)}.tab.active{color:var(--text);border-bottom-color:var(--accent);text-shadow:0 0 12px rgba(104,246,189,.5);background:linear-gradient(180deg,transparent 60%,rgba(104,246,189,.06))}.modal-scrim{background:#04080ecc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal{background:linear-gradient(160deg,#16222ef2,#0c121af7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(104,246,189,.15);box-shadow:inset 0 1px #ffffff0d,var(--shadow-modal),0 0 60px #68f6bd0f;animation:modalIn var(--t-slow) var(--ease-spring);transform-origin:center}@keyframes modalIn{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:none}}.toast{background:linear-gradient(145deg,#182430e6,#0e151eeb);backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-toast),0 0 30px #0000004d;animation:toastIn var(--t-ui) var(--ease-spring)}@keyframes toastIn{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}.toast.ok{border-color:#68f6bd40;box-shadow:var(--shadow-toast),0 0 20px #68f6bd14}.toast.danger{border-color:#ff7e8340;box-shadow:var(--shadow-toast),0 0 20px #ff7e8314}.toast.warn{border-color:#f4bf6933;box-shadow:var(--shadow-toast),0 0 20px #f4bf690f}.login-wrap{background:radial-gradient(ellipse 50% 40% at 50% 20%,rgba(104,246,189,.1),transparent 55%),radial-gradient(ellipse 40% 30% at 80% 70%,rgba(69,224,216,.06),transparent 50%),radial-gradient(ellipse 35% 35% at 20% 80%,rgba(79,216,255,.05),transparent 50%),var(--canvas)}.login-card{background:linear-gradient(160deg,#14202ce6,#0a1018f0);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(104,246,189,.18);box-shadow:inset 0 1px #ffffff0d,0 32px 80px #00000080,0 0 60px #68f6bd14;animation:modalIn .35s var(--ease-spring)}.skel{background:linear-gradient(90deg,#1e2d3a99 25%,#68f6bd14,#1e2d3a99 75%);background-size:200% 100%;animation:c32shine 1.4s linear infinite}@keyframes sparkPulse{0%,to{r:6;opacity:.14}50%{r:9;opacity:.06}}.sparkline{display:block;overflow:visible}.terminal-window{background:#0b0e10eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:#68f6bd1f;box-shadow:0 16px 48px #000000a6,0 0 0 1px #68f6bd0f,0 0 40px #68f6bd0a}.icon-3d{filter:drop-shadow(0 4px 12px rgba(0,0,0,.4));transition:transform var(--t-ui) var(--ease-spring),filter var(--t-ui) ease}@media(hover:hover)and (pointer:fine){.icon-3d:hover{transform:translateY(-3px) scale(1.05);filter:drop-shadow(0 8px 20px rgba(0,0,0,.5)) drop-shadow(0 0 12px rgba(104,246,189,.3))}}@keyframes staggerIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.stagger>*{animation:staggerIn .3s var(--ease-out) backwards}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:40ms}.stagger>*:nth-child(3){animation-delay:80ms}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(6){animation-delay:.2s}.stagger>*:nth-child(7){animation-delay:.24s}.stagger>*:nth-child(8){animation-delay:.28s}.live-indicator{display:inline-flex;align-items:center;gap:6px}.live-indicator:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 6px var(--ok),0 0 12px #68f6bd66;animation:livePing 2s ease-in-out infinite}@keyframes livePing{0%,to{box-shadow:0 0 4px var(--ok),0 0 8px #68f6bd4d}50%{box-shadow:0 0 8px var(--ok),0 0 18px #68f6bd80}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.stat:hover,.nav-item:hover,.btn:hover,.icon-btn:hover{transform:none!important}}
