:root{--primary-color: #00ffcc;--secondary-color: #ff00ff;--accent-color: #ffcc00;--danger-color: #ff3366;--bg-dark: #0a0a0f;--bg-panel: rgba(15, 15, 25, .95);--text-primary: #ffffff;--text-secondary: #a0a0b0;--border-color: rgba(255, 255, 255, .1);--glow-color: #00ffcc}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-dark);color:var(--text-primary);overflow:hidden;position:relative}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(ellipse at center,#0a0a1f,#000005);display:flex;align-items:center;justify-content:center;z-index:10000;transition:opacity .5s ease}.loading-screen.hidden{opacity:0;pointer-events:none}.loading-content{text-align:center}.loading-globe{width:120px;height:120px;margin:0 auto 30px;position:relative}.orbit{position:absolute;border:2px solid var(--primary-color);border-radius:50%;opacity:.3;animation:rotate 3s linear infinite}.orbit-1{width:100%;height:100%;animation-duration:3s}.orbit-2{width:80%;height:80%;top:10%;left:10%;animation-duration:2.5s;animation-direction:reverse}.orbit-3{width:60%;height:60%;top:20%;left:20%;animation-duration:2s}.core{position:absolute;width:40%;height:40%;top:30%;left:30%;background:radial-gradient(circle,var(--primary-color) 0%,transparent 70%);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}.loading-screen h1{font-size:2rem;font-weight:300;margin-bottom:10px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.loading-status{color:var(--text-secondary);margin-bottom:20px}.loading-bar{width:300px;height:2px;background:#ffffff1a;margin:0 auto;overflow:hidden}.loading-progress{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));animation:loading 2s ease-in-out infinite}@keyframes loading{0%{width:0%}50%{width:70%}to{width:100%}}.header{position:fixed;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(10,10,15,.95) 0%,transparent 100%);padding:20px 30px;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:15px}.logo-icon{width:32px;height:32px;stroke:var(--primary-color);stroke-width:1.5;filter:drop-shadow(0 0 10px var(--primary-color))}.logo h1{font-size:1.5rem;font-weight:500;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.stats-bar{display:flex;gap:40px}.stat{display:flex;flex-direction:column;align-items:center;position:relative}.stat-value{font-size:1.8rem;font-weight:600;font-family:JetBrains Mono,monospace;color:var(--primary-color);text-shadow:0 0 20px rgba(0,255,204,.5)}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-top:5px}.accuracy-indicator{position:absolute;top:0;right:-15px;font-size:8px;color:var(--primary-color);animation:blink 2s ease-in-out infinite}.accuracy-indicator.estimated{color:var(--accent-color)}.accuracy-indicator.offline{color:var(--text-secondary);animation:none}.accuracy-indicator.live{animation:blink .5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.stat.pulse .stat-value{animation:pulse-value 2s ease-in-out infinite}@keyframes pulse-value{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.globe-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(ellipse at center,#0a0a1f,#000005)}.control-panel{position:fixed;right:20px;top:100px;width:320px;background:linear-gradient(135deg,#0f0f19f2,#0a0a14fa);border:1px solid rgba(255,255,255,.08);border-radius:16px;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:24px;z-index:100;box-shadow:0 20px 60px #0009,0 0 80px #00ffcc08,inset 0 1px #ffffff0d;transition:all .3s cubic-bezier(.4,0,.2,1);max-height:calc(100vh - 140px);overflow-y:auto;overflow-x:hidden}.control-panel::-webkit-scrollbar{width:6px}.control-panel::-webkit-scrollbar-track{background:#ffffff05;border-radius:3px}.control-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.control-panel::-webkit-scrollbar-thumb:hover{background:#ffffff26}.control-panel .controls,.control-panel h3{transition:opacity .2s ease,visibility .2s ease;opacity:1;visibility:visible}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06);position:relative}.panel-header:after{content:"";position:absolute;bottom:-1px;left:0;width:60px;height:2px;background:linear-gradient(90deg,var(--primary-color),transparent)}.panel-header h3{font-size:.95rem;font-weight:600;color:#fffffff2;text-transform:uppercase;letter-spacing:1.5px;margin:0}.panel-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.control-panel.collapsed .panel-controls{flex-direction:column;gap:8px}.data-table-toggle,.rotation-toggle{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#fff9;cursor:pointer;padding:6px 8px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:4px;font-size:.68rem;position:relative;overflow:hidden;white-space:nowrap;min-width:fit-content}.data-table-toggle:before,.rotation-toggle:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(0,255,204,.2),transparent);transform:translate(-50%,-50%);transition:width .3s,height .3s}.data-table-toggle:hover,.rotation-toggle:hover{background:#ffffff14;color:#00ffcce6;border-color:#00ffcc4d;transform:translateY(-1px);box-shadow:0 4px 12px #00ffcc1a}.data-table-toggle:hover:before,.rotation-toggle:hover:before{width:100%;height:100%}.data-table-toggle:active,.rotation-toggle:active{transform:translateY(0)}.data-table-toggle svg,.rotation-toggle svg{width:16px;height:16px;stroke-width:2}.button-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.panel-toggle{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#fff9;cursor:pointer;padding:7px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.panel-toggle:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(0,255,204,.2),transparent);transform:translate(-50%,-50%);transition:width .3s,height .3s}.panel-toggle:hover{background:#ffffff14;color:#00ffcce6;border-color:#00ffcc4d;transform:scale(1.05)}.panel-toggle:hover:before{width:100%;height:100%}.panel-toggle:active{transform:scale(.98)}.panel-toggle svg{width:18px;height:18px;stroke-width:2;transition:transform .3s ease}.control-panel.collapsed .panel-toggle svg{transform:rotate(180deg)}.control-panel.collapsed{width:auto;min-width:auto;padding:12px;background:linear-gradient(135deg,#0f0f19fa,#0a0a14fc)}.control-panel.collapsed .controls,.control-panel.collapsed h3{display:none}.control-panel.collapsed .panel-header{margin-bottom:0;padding-bottom:0;border-bottom:none;justify-content:center}.control-panel.collapsed .panel-header:after{display:none}.control-group{margin-bottom:24px;padding:16px;background:#ffffff05;border-radius:12px;border:1px solid rgba(255,255,255,.04);transition:all .3s ease}.control-group:hover{background:#ffffff08;border-color:#ffffff0f}.control-group h4{font-size:.82rem;font-weight:600;color:#fffc;margin-bottom:16px;text-transform:uppercase;letter-spacing:1.2px;display:flex;align-items:center;gap:8px}.control-group h4:before{content:"";width:3px;height:12px;background:var(--primary-color);border-radius:2px}.toggle{display:flex;align-items:center;cursor:pointer;margin-bottom:10px}.toggle input{display:none}.toggle-slider{width:40px;height:20px;background:#ffffff1a;border-radius:20px;position:relative;transition:background .3s ease;margin-right:10px}.toggle-slider:after{content:"";position:absolute;width:18px;height:18px;background:linear-gradient(135deg,#fff,#f0f0f0);border-radius:50%;top:3px;left:3px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0003,0 0 0 1px #ffffff1a}.toggle input:checked+.toggle-slider{background:var(--primary-color)}.toggle input:checked+.toggle-slider:after{left:23px;background:linear-gradient(135deg,#0fc,#00e6b3);box-shadow:0 2px 8px #0fc6,0 0 0 1px #0fc3}.toggle-label{font-size:.875rem;color:var(--text-primary)}.sub-controls{margin-left:12px;margin-top:12px;padding-left:20px;border-left:2px solid rgba(255,255,255,.05);position:relative}.sub-controls:before{content:"";position:absolute;left:-2px;top:0;width:2px;height:20px;background:linear-gradient(180deg,var(--primary-color),transparent)}.filter-select,#datacenter-filter{width:100%;margin-top:10px;padding:10px 32px 10px 12px;background:linear-gradient(135deg,#14142399,#0f0f1ecc);color:#ffffffe6;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M6 9L2 5h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.filter-select:hover,#datacenter-filter:hover{border-color:#0fc6;background:linear-gradient(135deg,#191928b3,#141423e6);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.filter-select:focus,#datacenter-filter:focus{outline:none;border-color:#0fc9;box-shadow:0 0 0 3px #00ffcc1a,0 4px 12px #0003}.filter-select option,#datacenter-filter option{background:#0a0a0f;color:#fff;padding:5px}.slider-control{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.slider-control span{font-size:.75rem;color:var(--text-secondary);margin-right:10px}.slider-control input[type=range]{flex:1;height:4px;background:#ffffff1a;border-radius:2px;outline:none;-webkit-appearance:none}.slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--primary-color);border-radius:50%;cursor:pointer}select{width:100%;padding:8px;background:#14141ee6;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--text-primary);font-size:.875rem;outline:none;cursor:pointer;transition:all .3s ease}select:hover{border-color:var(--primary-color);background:#1e1e28}select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 10px #0fc3}select option{background:#0a0a0f;color:#fff;padding:5px}.checkbox-group{margin-top:12px;padding:10px;background:#ffffff05;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.checkbox-label{display:flex;align-items:center;font-size:.75rem;color:#ffffffb3;cursor:pointer;transition:color .2s ease}.checkbox-label:hover{color:#ffffffe6}.checkbox-label input[type=checkbox]{margin-right:8px;width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.checkbox-label span{flex:1;letter-spacing:.3px}.checkbox-label .info-icon{margin-left:8px}.tip-box{margin-top:12px;padding:12px;background:linear-gradient(135deg,#00ffcc0d,#00c8a008);border-radius:8px;border:1px solid rgba(0,255,204,.15);position:relative;overflow:hidden}.tip-box:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--primary-color),rgba(0,255,204,.3))}.tip-text{font-size:.75rem;color:#fff9;margin:0;line-height:1.5;padding-left:8px}.tip-text strong{color:#0fcc;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-panel{position:fixed;left:30px;top:120px;width:320px;max-width:calc(100vw - 60px);max-height:calc(100vh - 140px);background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:20px;z-index:1000;box-shadow:0 10px 40px #00000080;transition:all .3s ease;overflow-y:auto;overflow-x:hidden}.info-panel.hidden{opacity:0;transform:translate(-20px);pointer-events:none}.info-close{position:absolute;top:15px;right:15px;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;transition:color .3s ease}.info-close:hover{color:var(--text-primary)}#info-title{font-size:1.125rem;margin-bottom:15px;color:var(--primary-color)}#info-content{font-size:.875rem;line-height:1.6;color:var(--text-secondary)}#info-content strong{color:var(--text-primary);display:block;margin-top:10px}.accuracy-notice{display:flex;align-items:center;gap:8px;margin-top:15px;padding-top:15px;border-top:1px solid var(--border-color);font-size:.75rem;color:var(--text-secondary)}.accuracy-icon{color:var(--accent-color)}.list-view-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:opacity .3s ease}.list-view-modal.hidden{display:none}.modal-content{width:90%;max-width:1200px;height:80vh;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.5rem;font-weight:500;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.modal-controls{display:flex;gap:15px;align-items:center}.export-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .3s ease}.export-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--bg-dark)}.export-btn svg{width:16px;height:16px;stroke-width:2}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:2rem;cursor:pointer;transition:color .3s ease;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary)}.modal-stats{padding:15px 20px;background:#0000004d;font-size:.875rem;color:var(--text-secondary)}.modal-stats strong{color:var(--primary-color);font-weight:600}.table-container{flex:1;overflow:auto;padding:0}#cable-table{width:100%;border-collapse:collapse}#cable-table thead{position:sticky;top:0;background:#0a0a14f2;z-index:10}#cable-table th{padding:12px;text-align:left;font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid var(--border-color);white-space:nowrap}#cable-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}#cable-table th.sortable:hover{color:var(--primary-color)}.sort-icon{margin-left:5px;font-size:.75rem;color:#ffffff4d}#cable-table tbody tr{border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s ease}#cable-table tbody tr:hover{background:#ffffff05}#cable-table td{padding:12px;font-size:.875rem;color:var(--text-primary)}.status-active{color:var(--primary-color)}.status-inactive{color:var(--text-secondary)}.accuracy-live{color:var(--primary-color);font-weight:500}.accuracy-estimated{color:var(--accent-color)}.accuracy-historical{color:var(--text-secondary)}.tier-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.tier-badge.tier1{background:#0fc3;color:var(--primary-color);border:1px solid var(--primary-color)}.tier-badge.tier2{background:#fc03;color:var(--accent-color);border:1px solid var(--accent-color)}.tier-badge.tier3{background:#f0f3;color:var(--secondary-color);border:1px solid var(--secondary-color)}.legend{position:fixed;bottom:30px;left:30px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;padding:15px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;max-width:280px}.legend h4{font-size:.875rem;font-weight:500;margin-bottom:15px;color:var(--text-primary)}.legend-section{margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.05)}.legend-section:last-of-type{border-bottom:none}.legend h5{font-size:.7rem;font-weight:500;margin-bottom:8px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.legend-items{display:flex;flex-direction:column;gap:6px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.7rem;color:var(--text-secondary)}.cable-indicator{display:inline-block;width:20px;height:3px;border-radius:2px}.cable-indicator.high-capacity{background:linear-gradient(90deg,#0fc,#0f8);box-shadow:0 0 8px #0fc9}.cable-indicator.medium-capacity{background:linear-gradient(90deg,#fc0,#f90);box-shadow:0 0 8px #fc09}.cable-indicator.low-capacity{background:linear-gradient(90deg,#f0f,#f08);box-shadow:0 0 8px #f0f9}.datacenter-indicator{display:inline-block;width:10px;height:10px;border-radius:50%}.datacenter-indicator.tier1{background:radial-gradient(circle,#00ffcc,transparent);border:2px solid #00ffcc;box-shadow:0 0 10px #0fcc}.datacenter-indicator.tier2{background:radial-gradient(circle,#ffcc00,transparent);border:2px solid #ffcc00;box-shadow:0 0 8px #fc09}.datacenter-indicator.tier3{background:radial-gradient(circle,#ff00ff,transparent);border:2px solid #ff00ff;box-shadow:0 0 6px #f0f6}.data-sources ul{list-style:none;font-size:.75rem;color:var(--text-secondary)}.data-sources li{padding:2px 0}.data-sources a{color:#fff9;text-decoration:none;transition:all .2s ease}.data-sources a:hover{color:var(--primary-color);text-decoration:underline;text-shadow:0 0 10px rgba(0,255,204,.3)}.info-icon{background:none;border:none;color:#fff6;cursor:pointer;padding:2px;transition:color .2s ease;display:inline-flex;align-items:center;justify-content:center}.info-icon:hover{color:var(--primary-color)}.tooltip-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;transition:opacity .3s ease;cursor:pointer}.tooltip-overlay.hidden{display:none}.info-tooltip{position:fixed;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;padding:0;z-index:10000;box-shadow:0 12px 48px #000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease,transform .3s ease}.info-tooltip.visible{opacity:1;visibility:visible;pointer-events:auto}.tooltip-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);background:#0003;border-radius:8px 8px 0 0;position:sticky;top:0;z-index:1}.tooltip-header h4{margin:0;font-size:.9rem;color:var(--primary-color);font-weight:500}.tooltip-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.tooltip-close:hover{background:#ffffff1a;color:var(--text-primary)}.tooltip-content{padding:16px;font-size:.8rem;line-height:1.5;max-height:calc(100vh - 120px);overflow-y:auto;overflow-x:hidden;word-wrap:break-word}.tooltip-content::-webkit-scrollbar,.info-panel::-webkit-scrollbar{width:6px}.tooltip-content::-webkit-scrollbar-track,.info-panel::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.tooltip-content::-webkit-scrollbar-thumb,.info-panel::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.tooltip-content::-webkit-scrollbar-thumb:hover,.info-panel::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.tooltip-content p{margin:0 0 12px;color:var(--text-secondary)}.tooltip-content ul{margin:0 0 12px;padding-left:20px;color:var(--text-secondary)}.tooltip-content ul ul{margin:4px 0;font-size:.75rem}.tooltip-content li{margin:4px 0}.tooltip-content strong{color:var(--text-primary);font-weight:500}.tooltip-note{font-size:.75rem;color:var(--text-secondary);padding-top:8px;border-top:1px solid var(--border-color);font-style:italic;margin:12px 0 0}.control-group-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.control-group-title{font-size:.85rem;color:var(--text-secondary);font-weight:500}@media (max-width: 768px){.stats-bar{display:none}.control-panel{right:10px;top:80px;width:240px}.info-panel{left:10px;right:10px;top:80px;width:auto;max-width:90vw;max-height:60vh}.legend{bottom:10px;left:10px}}:root{--kb-primary: #00ffcc;--kb-secondary: #ffcc00;--kb-accent: #ff00ff;--kb-bg-dark: rgba(10, 10, 20, .95);--kb-bg-light: rgba(20, 20, 40, .9);--kb-border: rgba(255, 255, 255, .1);--kb-text: #ffffff;--kb-text-muted: rgba(255, 255, 255, .6);--kb-difficulty-beginner: #00ff88;--kb-difficulty-intermediate: #ffcc00;--kb-difficulty-advanced: #ff6b6b}.kb-tooltip{position:fixed;z-index:10000;max-width:400px;pointer-events:all;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.kb-tooltip:not(.hidden){opacity:1;transform:translateY(0)}.kb-tooltip-content{background:linear-gradient(135deg,var(--kb-bg-dark),var(--kb-bg-light));border:2px solid var(--kb-primary);border-radius:12px;padding:16px;box-shadow:0 8px 32px #00000080,0 0 40px #0fc3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.kb-tooltip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--kb-border)}.kb-tooltip-title{margin:0;font-size:15px;font-weight:600;color:var(--kb-primary);text-shadow:0 0 10px var(--kb-primary)}.kb-tooltip-close{background:none;border:none;color:var(--kb-text-muted);font-size:24px;line-height:1;cursor:pointer;padding:0;margin-left:12px;transition:color .2s}.kb-tooltip-close:hover{color:var(--kb-text)}.kb-tooltip-body{font-size:13px;line-height:1.6;color:var(--kb-text)}.kb-tooltip-summary{margin:0 0 12px}.kb-tooltip-facts{list-style:none;padding:0;margin:0}.kb-tooltip-facts li{padding-left:20px;position:relative;margin-bottom:6px}.kb-tooltip-facts li:before{content:"→";position:absolute;left:0;color:var(--kb-primary)}.kb-tooltip-footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--kb-border)}.kb-tooltip-learn-more{background:linear-gradient(135deg,var(--kb-primary),#00ccaa);color:#000;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;width:100%}.kb-tooltip-learn-more:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00ffcc4d}.kb-sidebar{position:fixed;right:0;top:0;bottom:0;width:450px;background:var(--kb-bg-dark);border-left:2px solid var(--kb-primary);z-index:9999;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease;box-shadow:-4px 0 32px #00000080}.kb-sidebar:not(.hidden){transform:translate(0)}.kb-sidebar-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--kb-border)}.kb-sidebar-back,.kb-sidebar-bookmark,.kb-sidebar-close{background:#ffffff0d;border:1px solid var(--kb-border);color:var(--kb-text);width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.kb-sidebar-back:hover,.kb-sidebar-bookmark:hover,.kb-sidebar-close:hover{background:#ffffff1a;border-color:var(--kb-primary)}.kb-sidebar-bookmark.active svg{fill:var(--kb-secondary)}.kb-sidebar-title{margin:0;font-size:18px;font-weight:600;color:var(--kb-text);flex:1}.kb-sidebar-tabs{display:flex;border-bottom:1px solid var(--kb-border);background:#0003}.kb-sidebar-tab{flex:1;background:none;border:none;color:var(--kb-text-muted);padding:12px;font-size:14px;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.kb-sidebar-tab.active{color:var(--kb-primary);border-bottom-color:var(--kb-primary)}.kb-sidebar-tab:hover:not(.active){color:var(--kb-text);background:#ffffff0d}.kb-sidebar-content{flex:1;overflow-y:auto;position:relative}.kb-sidebar-pane{display:none;padding:20px;height:100%}.kb-sidebar-pane.active{display:block}.kb-article-meta{margin-bottom:20px}.kb-meta-badges{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.kb-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.kb-badge-category{background:#0fc3;color:var(--kb-primary);border:1px solid var(--kb-primary)}.kb-badge-difficulty{background:#ffffff1a;border:1px solid currentColor}.kb-badge-time{background:#ffffff0d;color:var(--kb-text-muted);border:1px solid var(--kb-border)}.kb-article-title{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--kb-text);line-height:1.3}.kb-article-description{margin:0;font-size:14px;color:var(--kb-text-muted);line-height:1.6}.kb-article-content{font-size:15px;line-height:1.7;color:var(--kb-text)}.kb-article-content h1,.kb-article-content h2,.kb-article-content h3{color:var(--kb-primary);margin-top:1.5em;margin-bottom:.5em}.kb-article-content code{background:#0000004d;padding:2px 6px;border-radius:3px;font-family:Fira Code,Consolas,monospace;font-size:.9em;color:var(--kb-secondary)}.kb-article-content pre{background:#00000080;border:1px solid var(--kb-border);border-radius:8px;padding:16px;overflow-x:auto;margin:16px 0}.kb-article-content pre code{background:none;padding:0;color:var(--kb-text)}.kb-article-content a{color:var(--kb-primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.kb-article-content a:hover{border-bottom-color:var(--kb-primary)}.kb-search-box{position:relative;margin-bottom:16px}.kb-search-input{width:100%;padding:12px 40px 12px 12px;background:#0000004d;border:1px solid var(--kb-border);border-radius:8px;color:var(--kb-text);font-size:14px;transition:border-color .2s}.kb-search-input:focus{outline:none;border-color:var(--kb-primary)}.kb-search-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--kb-text-muted);cursor:pointer;padding:4px;transition:color .2s}.kb-search-button:hover{color:var(--kb-primary)}.kb-search-results,.kb-related-articles{font-size:14px}.kb-no-results{text-align:center;padding:40px 20px;color:var(--kb-text-muted)}.kb-related-list{list-style:none;padding:0;margin:0}.kb-related-item{padding:12px;border:1px solid var(--kb-border);border-radius:8px;margin-bottom:12px;cursor:pointer;transition:all .2s}.kb-related-item:hover{border-color:var(--kb-primary);background:#00ffcc0d}.kb-related-item h4{margin:0 0 6px;font-size:15px;color:var(--kb-text)}.kb-related-item p{margin:0 0 6px;font-size:13px;color:var(--kb-text-muted);line-height:1.5}.kb-related-meta{font-size:11px;color:var(--kb-text-muted)}.kb-sidebar-footer{padding:16px;border-top:1px solid var(--kb-border);display:flex;justify-content:flex-end}.kb-expand-fullscreen{background:#ffffff0d;border:1px solid var(--kb-border);color:var(--kb-text);padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.kb-expand-fullscreen:hover{background:#ffffff1a;border-color:var(--kb-primary)}.kb-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.kb-modal:not(.hidden){opacity:1;pointer-events:all}.kb-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.kb-modal-container{position:relative;max-width:800px;width:90%;max-height:80vh;background:var(--kb-bg-dark);border:2px solid var(--kb-primary);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 16px 64px #000c}.kb-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--kb-border)}.kb-modal-title{margin:0;font-size:24px;font-weight:700;color:var(--kb-text)}.kb-modal-close{background:none;border:none;color:var(--kb-text-muted);font-size:32px;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;transition:color .2s}.kb-modal-close:hover{color:var(--kb-text)}.kb-modal-content{flex:1;overflow-y:auto;padding:24px}.kb-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997;background:#0a0a14;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .4s ease}.kb-fullscreen:not(.hidden){transform:translateY(0)}.kb-fullscreen-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--kb-border);background:#00000080}.kb-fullscreen-back,.kb-fullscreen-close{background:none;border:1px solid var(--kb-border);color:var(--kb-text);padding:8px 16px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:all .2s}.kb-fullscreen-back:hover,.kb-fullscreen-close:hover{border-color:var(--kb-primary);background:#00ffcc1a}.kb-fullscreen-container{flex:1;overflow-y:auto;display:grid;grid-template-columns:1fr 300px;gap:32px;padding:32px;max-width:1400px;margin:0 auto;width:100%}.kb-fullscreen-article{min-width:0}.kb-fullscreen-header{margin-bottom:32px}.kb-fullscreen-meta{margin-bottom:16px}.kb-fullscreen-title{margin:0;font-size:36px;font-weight:800;color:var(--kb-text);line-height:1.2}.kb-fullscreen-content{font-size:16px;line-height:1.8;color:var(--kb-text)}.kb-fullscreen-sidebar{position:sticky;top:0;height:fit-content;max-height:calc(100vh - 64px);overflow-y:auto}.kb-fullscreen-toc,.kb-fullscreen-related{margin-bottom:32px}.kb-fullscreen-toc h3,.kb-fullscreen-related h3{margin:0 0 16px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--kb-text-muted)}.kb-fullscreen-toc-nav{display:flex;flex-direction:column;gap:4px}.kb-toc-item{color:var(--kb-text-muted);text-decoration:none;padding:6px 12px;border-radius:4px;font-size:13px;transition:all .2s;display:block}.kb-toc-item:hover{color:var(--kb-text);background:#ffffff0d}.kb-toc-level-2{padding-left:24px}.kb-toc-level-3{padding-left:36px;font-size:12px}.kb-fullscreen-related-item{padding:12px;border:1px solid var(--kb-border);border-radius:8px;margin-bottom:12px;cursor:pointer;transition:all .2s}.kb-fullscreen-related-item:hover{border-color:var(--kb-primary);background:#00ffcc0d}.kb-fullscreen-related-item h4{margin:0 0 6px;font-size:14px;color:var(--kb-text)}.kb-fullscreen-related-item p{margin:0;font-size:12px;color:var(--kb-text-muted)}.learning-tour-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;pointer-events:none}.learning-tour-container:not(.hidden){pointer-events:all}.tour-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tour-modal{position:absolute;bottom:40px;left:50%;transform:translate(-50%);width:90%;max-width:600px;background:var(--kb-bg-dark);border:2px solid var(--kb-primary);border-radius:16px;box-shadow:0 16px 64px #000c;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(40px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tour-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--kb-border)}.tour-title{margin:0;font-size:18px;font-weight:600;color:var(--kb-text)}.tour-close{background:none;border:none;color:var(--kb-text-muted);font-size:28px;line-height:1;cursor:pointer;transition:color .2s}.tour-close:hover{color:var(--kb-text)}.tour-progress{padding:16px 20px;background:#0000004d}.tour-progress-bar{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:8px}.tour-progress-fill{height:100%;background:linear-gradient(90deg,var(--kb-primary),var(--kb-secondary));border-radius:2px;transition:width .4s ease}.tour-progress-text{font-size:12px;color:var(--kb-text-muted)}.tour-content{padding:24px 20px}.tour-step-title{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--kb-primary)}.tour-step-content{font-size:15px;line-height:1.7;color:var(--kb-text)}.tour-controls{display:flex;justify-content:space-between;gap:12px;padding:20px;border-top:1px solid var(--kb-border)}.tour-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;border:1px solid var(--kb-border)}.tour-prev,.tour-kb{background:#ffffff0d;color:var(--kb-text)}.tour-prev:hover:not(:disabled),.tour-kb:hover{background:#ffffff1a;border-color:var(--kb-primary)}.tour-prev:disabled{opacity:.3;cursor:not-allowed}.tour-next{background:linear-gradient(135deg,var(--kb-primary),#00ccaa);color:#000;border-color:var(--kb-primary)}.tour-next:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00ffcc4d}.tour-highlight-overlay{position:absolute;pointer-events:none;z-index:10000}.kb-search-widget{position:relative;width:100%;max-width:600px}.kb-search-bar{position:relative;display:flex;align-items:center;gap:8px;background:#00000080;border:1px solid var(--kb-border);border-radius:12px;padding:12px 16px;transition:border-color .2s}.kb-search-bar:focus-within{border-color:var(--kb-primary)}.kb-search-icon{color:var(--kb-text-muted);flex-shrink:0}.kb-search-input{flex:1;background:none;border:none;color:var(--kb-text);font-size:15px;outline:none}.kb-search-input::placeholder{color:var(--kb-text-muted)}.kb-search-clear{background:none;border:none;color:var(--kb-text-muted);font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.kb-search-clear:hover{background:#ffffff1a;color:var(--kb-text)}.kb-search-filters{background:none;border:none;color:var(--kb-text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.kb-search-filters:hover{background:#ffffff1a;color:var(--kb-text)}.kb-search-filters-panel{margin-top:12px;padding:16px;background:var(--kb-bg-dark);border:1px solid var(--kb-border);border-radius:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.kb-filter-group label{display:block;font-size:12px;color:var(--kb-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.kb-filter-group select{width:100%;padding:8px;background:#0000004d;border:1px solid var(--kb-border);border-radius:6px;color:var(--kb-text);font-size:14px;cursor:pointer}.kb-filter-group select:focus{outline:none;border-color:var(--kb-primary)}.kb-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--kb-bg-dark);border:1px solid var(--kb-border);border-radius:12px;max-height:500px;overflow-y:auto;box-shadow:0 8px 32px #00000080;z-index:1000}.kb-results-header{padding:12px 16px;border-bottom:1px solid var(--kb-border);background:#0000004d}.kb-results-count{font-size:12px;color:var(--kb-text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.kb-results-list{list-style:none;padding:8px;margin:0}.kb-result-item{padding:16px;border:1px solid var(--kb-border);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s}.kb-result-item:hover{border-color:var(--kb-primary);background:#00ffcc0d}.kb-result-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.kb-result-title{margin:0;font-size:16px;font-weight:600;color:var(--kb-text)}.kb-result-badges{display:flex;gap:6px;flex-shrink:0}.kb-result-snippet{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--kb-text-muted)}.kb-result-snippet mark{background:#ffcc004d;color:var(--kb-secondary);padding:0 2px;border-radius:2px}.kb-result-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--kb-text-muted)}.kb-result-meta{display:flex;align-items:center;gap:4px}.kb-result-tags{display:flex;gap:4px}.kb-tag{background:#ffffff1a;padding:2px 8px;border-radius:3px;font-size:11px}.kb-search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--kb-bg-dark);border:1px solid var(--kb-border);border-radius:12px;padding:16px;box-shadow:0 8px 32px #00000080;z-index:1000}.kb-suggestions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.kb-suggestions-header h4{margin:0;font-size:12px;color:var(--kb-text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.kb-clear-recent{background:none;border:none;color:var(--kb-text-muted);font-size:12px;cursor:pointer;transition:color .2s}.kb-clear-recent:hover{color:var(--kb-text)}.kb-recent-list{list-style:none;padding:0;margin:0}.kb-recent-item{margin-bottom:4px}.kb-recent-search{width:100%;text-align:left;background:none;border:none;color:var(--kb-text);padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:background .2s}.kb-recent-search:hover{background:#ffffff0d}.kb-recent-empty{padding:12px;text-align:center;color:var(--kb-text-muted);font-size:14px}.kb-no-results{text-align:center;padding:32px 20px;color:var(--kb-text-muted)}.kb-no-results svg{margin-bottom:16px;opacity:.5}.kb-no-results p{margin:8px 0}.kb-no-results-hint{font-size:13px;opacity:.7}.hidden{display:none!important}@media (max-width: 768px){.kb-sidebar{width:100%}.kb-fullscreen-container{grid-template-columns:1fr;padding:16px}.kb-fullscreen-sidebar{position:static}.tour-modal{width:95%}.kb-search-filters-panel{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--kb-primary);outline-offset:2px}@media (prefers-contrast: high){.kb-tooltip-content,.kb-sidebar,.kb-modal-container,.kb-fullscreen{border-width:3px}}.hljs{background:transparent!important}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-section,.hljs-link{color:var(--kb-primary)}.hljs-string,.hljs-title,.hljs-name,.hljs-type,.hljs-attribute,.hljs-symbol,.hljs-bullet,.hljs-addition,.hljs-variable,.hljs-template-tag,.hljs-template-variable{color:var(--kb-secondary)}.hljs-comment,.hljs-quote,.hljs-deletion,.hljs-meta{color:var(--kb-text-muted)}.hljs-number,.hljs-regexp,.hljs-selector-id,.hljs-selector-class,.hljs-selector-pseudo{color:var(--kb-accent)}
