:root{color-scheme:dark;--bg-0:#040404;--bg-1:#121212;--surface:#101010;--surface-2:#191919;--line:#2f2f2f;--line-strong:#fff;--text:#f6f6f6;--muted:#c7c7c7;--accent:#74ffdf;--accent-2:#e2ff5a;--danger:#ff8f8f}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{background:radial-gradient(circle at 84% -8%,rgba(116,255,223,.17),transparent 42%),radial-gradient(circle at 10% 118%,rgba(226,255,90,.14),transparent 45%),repeating-linear-gradient(115deg,hsla(0,0%,100%,.03) 0 2px,transparent 2px 12px),linear-gradient(170deg,var(--bg-0),var(--bg-1));color:var(--text);font-family:Trebuchet MS,Segoe UI,sans-serif;letter-spacing:.01em;animation:fadeIn .28s ease-out;position:relative}body:before{z-index:-2;background:radial-gradient(ellipse at 22% 24%,rgba(86,164,255,.18),transparent 46%),radial-gradient(ellipse at 72% 66%,rgba(88,244,212,.14),transparent 50%),radial-gradient(ellipse at 58% 14%,rgba(226,255,90,.08),transparent 42%);filter:blur(22px);animation:nebulaDrift 30s ease-in-out infinite alternate}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{z-index:-1;background-image:radial-gradient(circle at 6% 11%,hsla(0,0%,100%,.7) 0 1px,transparent 2px),radial-gradient(circle at 17% 70%,hsla(0,0%,100%,.6) 0 1px,transparent 2px),radial-gradient(circle at 32% 24%,hsla(0,0%,100%,.65) 0 1px,transparent 2px),radial-gradient(circle at 48% 82%,hsla(0,0%,100%,.55) 0 1px,transparent 2px),radial-gradient(circle at 62% 36%,hsla(0,0%,100%,.7) 0 1px,transparent 2px),radial-gradient(circle at 79% 21%,hsla(0,0%,100%,.58) 0 1px,transparent 2px),radial-gradient(circle at 90% 61%,hsla(0,0%,100%,.62) 0 1px,transparent 2px);opacity:.28;animation:starDrift 48s linear infinite}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:var(--text);background:#0c0c0c;border:2px solid var(--line);border-radius:12px;padding:8px 10px}button{cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease,filter .16s ease}button:hover{background:#171717;border-color:var(--accent);box-shadow:0 0 0 2px rgba(116,255,223,.22);transform:translateY(-1px);filter:brightness(1.03)}pre{margin:0;white-space:pre-wrap;word-break:break-word}.app-shell{width:min(1220px,93vw);margin:0 auto;padding:28px 0 56px}.hero{position:relative;overflow:hidden;border:3px solid #fff;border-radius:20px;padding:24px;background:radial-gradient(circle at 78% 18%,rgba(116,255,223,.14),transparent 32%),linear-gradient(145deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.01));box-shadow:10px 10px 0 #000,0 16px 45px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero:after{content:"";position:absolute;inset:-120% auto -120% -18%;width:24%;transform:rotate(16deg);background:linear-gradient(180deg,transparent,hsla(0,0%,100%,.14),transparent);animation:heroSweep 6.5s ease-in-out infinite;pointer-events:none}.hero-badge{display:inline-flex;border:2px solid #fff;border-radius:999px;padding:4px 10px;font-size:.7rem;color:var(--accent-2);background:#050505;letter-spacing:.12em}.hero h1{margin:12px 0 0;font-size:clamp(1.8rem,3.4vw,2.9rem);letter-spacing:.03em;text-transform:uppercase}.hero p{margin:8px 0 0;color:var(--muted)}.nav-grid{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px}.nav-grid a{padding:10px 12px;border:2px solid var(--line);border-radius:12px;background:#0b0b0b;font-size:.92rem;font-weight:650;text-align:center;transition:border-color .16s ease,transform .16s ease,background-color .16s ease,box-shadow .16s ease}.nav-grid a:hover{border-color:var(--accent);background:#121212;transform:translateY(-1px) scale(1.01)}.page-panel{position:relative;overflow:hidden;margin-top:18px;border:2px solid #fff;border-radius:16px;padding:18px;background:radial-gradient(circle at 8% 10%,rgba(226,255,90,.08),transparent 18%),linear-gradient(145deg,#0f0f0f,#131313);animation:panelIn .32s ease-out}.page-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 38%,hsla(0,0%,100%,.055) 49%,transparent 61%),radial-gradient(circle at 18% 88%,rgba(116,255,223,.08),transparent 22%);animation:panelSweep 7.2s ease-in-out infinite}.kpi-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:12px;gap:12px}.kpi{border:2px solid var(--line);border-radius:12px;padding:12px;background:linear-gradient(170deg,#0c0c0c,#111);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;opacity:0;transform:translateY(8px);animation:kpiIn .32s ease forwards}.kpi:first-child{animation-delay:20ms}.kpi:nth-child(2){animation-delay:50ms}.kpi:nth-child(3){animation-delay:80ms}.kpi:nth-child(4){animation-delay:.11s}.kpi:nth-child(5){animation-delay:.14s}.kpi:nth-child(6){animation-delay:.17s}.kpi:nth-child(n+7){animation-delay:.2s}.kpi:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.28)}.kpi .label{color:var(--muted);font-size:.82rem}.kpi .value{margin-top:4px;font-size:1.12rem;font-weight:700;color:var(--accent-2);text-shadow:0 0 10px rgba(226,255,90,.12);animation:valueBreath 2.6s ease-in-out infinite}.map-wrap{margin-top:10px}.map-surface{position:relative;height:340px;border:2px solid #fff;border-radius:14px;overflow:hidden;background:radial-gradient(ellipse at 55% 45%,rgba(120,198,255,.35),rgba(81,71,180,.18) 28%,transparent 58%),radial-gradient(ellipse at 35% 62%,rgba(154,255,224,.18),transparent 48%),radial-gradient(ellipse at 78% 25%,rgba(255,214,120,.16),transparent 46%),linear-gradient(180deg,#030306,#0d0f1d 48%,#0b0a12);animation:mapGlow 10s ease-in-out infinite alternate}.map-surface:before{background-image:radial-gradient(circle at 11% 21%,hsla(0,0%,100%,.85) 0 1px,transparent 1.5px),radial-gradient(circle at 24% 77%,hsla(0,0%,100%,.75) 0 1px,transparent 1.5px),radial-gradient(circle at 39% 36%,hsla(0,0%,100%,.65) 0 1px,transparent 1.5px),radial-gradient(circle at 52% 66%,hsla(0,0%,100%,.8) 0 1px,transparent 1.5px),radial-gradient(circle at 67% 14%,hsla(0,0%,100%,.7) 0 1px,transparent 1.5px),radial-gradient(circle at 84% 58%,hsla(0,0%,100%,.75) 0 1px,transparent 1.5px),radial-gradient(circle at 92% 33%,hsla(0,0%,100%,.65) 0 1px,transparent 1.5px),linear-gradient(hsla(0,0%,100%,.05) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.05) 1px,transparent 0);background-size:auto,auto,auto,auto,auto,auto,auto,42px 42px,42px 42px;opacity:.36;mix-blend-mode:screen}.map-surface:after,.map-surface:before{content:"";position:absolute;inset:0;pointer-events:none}.map-surface:after{background:radial-gradient(ellipse at 53% 48%,hsla(0,0%,100%,.16),hsla(0,0%,100%,.03) 30%,transparent 62%),radial-gradient(ellipse at 55% 46%,rgba(120,198,255,.26),transparent 58%);filter:blur(2px)}.map-node{position:absolute;transform:translate(-50%,-50%);border-radius:999px;border:2px solid #505050;background:hsla(0,0%,5%,.92);padding:8px 12px;font-size:.78rem;white-space:nowrap;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.map-node:active,.map-node:focus-visible,.map-node:hover{transform:translate(-50%,-50%);border-color:var(--accent);background:hsla(0,0%,7%,.96)}.map-node.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset,0 0 16px rgba(116,255,223,.3);animation:nodePulse 2.4s ease-in-out infinite}.notice{margin-top:12px;border:2px solid #5d5d5d;border-radius:10px;padding:10px 12px;background:#111;color:var(--danger);animation:noticePulse 2.8s ease-in-out infinite}.progress-track{margin-top:6px;width:100%;height:8px;border:1px solid #2f2f2f;border-radius:999px;overflow:hidden;background:#0d0d0d}.progress-fill{position:relative;height:100%;background:linear-gradient(90deg,#56f5d8,#e2ff5a);transition:width .22s ease}.progress-fill:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-55deg,hsla(0,0%,100%,.2) 0 6px,hsla(0,0%,100%,.04) 6px 12px);animation:progressStripes 1.6s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes nebulaDrift{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,1.5%,0) scale(1.05)}}@keyframes starDrift{0%{transform:translateX(0)}to{transform:translateX(-18px)}}@keyframes panelIn{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes kpiIn{to{opacity:1;transform:translateY(0)}}@keyframes nodePulse{0%{box-shadow:0 0 0 1px var(--accent) inset,0 0 12px rgba(116,255,223,.18)}50%{box-shadow:0 0 0 1px var(--accent) inset,0 0 22px rgba(116,255,223,.34)}to{box-shadow:0 0 0 1px var(--accent) inset,0 0 12px rgba(116,255,223,.18)}}@keyframes heroSweep{0%{left:-28%;opacity:0}14%{opacity:1}32%{left:118%;opacity:0}to{left:118%;opacity:0}}@keyframes panelSweep{0%{transform:translateX(-14px);opacity:.52}50%{transform:translateX(12px);opacity:.9}to{transform:translateX(-14px);opacity:.52}}@keyframes valueBreath{0%,to{filter:brightness(1)}50%{filter:brightness(1.1)}}@keyframes mapGlow{0%{filter:saturate(1) brightness(.98)}to{filter:saturate(1.08) brightness(1.04)}}@keyframes noticePulse{0%,to{box-shadow:0 0 0 0 hsla(0,100%,78%,.18)}50%{box-shadow:0 0 0 6px hsla(0,100%,78%,.06)}}@keyframes progressStripes{0%{background-position:0 0}to{background-position:24px 0}}.motion-off,.motion-off *,.motion-off :after,.motion-off :before{animation:none!important;transition:none!important}.filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.grid-table{width:100%;border-collapse:collapse;min-width:560px}.grid-table th{text-align:left;background:#090909;color:#d4d4d4;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:10px}.grid-table td{border-bottom:1px solid #202020;padding:10px;color:#efefef}.grid-table tbody tr{transition:background-color .14s ease,transform .14s ease}.grid-table tbody tr:hover{background:rgba(116,255,223,.05)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(116,255,223,.24)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}