*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;overflow:hidden}
body{background:#06040f;color:rgba(255,255,255,.85);font-family:'Jost',sans-serif;font-weight:300;transition:background .4s,color .4s}
[data-theme="light"] body{background:#f5f2ff;color:rgba(0,0,0,.85)}

:root{
--bg:#06040f;--card:rgba(255,255,255,.04);--border:rgba(255,255,255,.07);--bordh:rgba(255,255,255,.14);
--t:rgba(255,255,255,.85);--tm:rgba(255,255,255,.48);--th:rgba(255,255,255,.25);--td:rgba(255,255,255,.35);--tb:rgba(255,255,255,.92);
--acc:#a855f7;--acc2:#ec4899;--acc3:#f97316;--accg:rgba(168,85,247,.15);--tag:#a855f7;
--code:rgba(192,132,252,.7);--codebg:rgba(168,85,247,.08);--scroll:rgba(255,255,255,.1);--hover:rgba(255,255,255,.02);
}
[data-theme="light"]{
--bg:#f5f2ff;--card:rgba(0,0,0,.04);--border:rgba(0,0,0,.08);--bordh:rgba(0,0,0,.15);
--t:rgba(0,0,0,.85);--tm:rgba(0,0,0,.5);--th:rgba(0,0,0,.25);--td:rgba(0,0,0,.4);--tb:rgba(0,0,0,.92);
--acc:#7c3aed;--acc2:#db2777;--acc3:#ea580c;--accg:rgba(124,58,237,.1);--tag:#7c3aed;
--code:rgba(124,58,237,.8);--codebg:rgba(124,58,237,.06);--scroll:rgba(0,0,0,.12);--hover:rgba(0,0,0,.02);
}

/* CURSOR PARTICLES */
#fx-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9000}
#cursor-ring{position:fixed;width:22px;height:22px;border:1px solid rgba(168,85,247,.5);border-radius:50%;pointer-events:none;z-index:9001;transform:translate(-50%,-50%);transition:transform .08s ease}
#cursor-dot{position:fixed;width:5px;height:5px;background:var(--acc);border-radius:50%;pointer-events:none;z-index:9002;transform:translate(-50%,-50%);box-shadow:0 0 8px var(--acc)}

/* GLOBE */
#globe-wrap{position:fixed;left:-18%;bottom:-30%;width:110vmin;height:110vmin;z-index:0;pointer-events:none;transform:rotate(-14deg);opacity:.8;transition:opacity .4s}
[data-theme="light"] #globe-wrap{opacity:.35}
#globe-canvas{width:100%;height:100%}

/* TOPBAR */
.topbar{position:fixed;top:0;left:0;right:0;z-index:300;display:flex;align-items:center;padding:0 1rem;height:52px;background:rgba(6,4,15,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}
[data-theme="light"] .topbar{background:rgba(245,242,255,.92)}
.hamburger{background:none;border:none;cursor:pointer;padding:.4rem;margin-right:.6rem;display:flex;flex-direction:column;gap:4px}
.hamburger span{display:block;width:18px;height:1.5px;background:var(--td);transition:all .3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.logo-area{display:flex;align-items:center;gap:.6rem;margin-right:1.2rem}
.logo-mark{width:26px;height:26px;background:linear-gradient(135deg,var(--acc),var(--acc2));border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;color:#fff;letter-spacing:.03em}
.logo-area .divider{width:1px;height:18px;background:var(--bordh)}
.logo-area .brand{font-size:.88rem;font-weight:600;letter-spacing:.12em;color:var(--t)}
.logo-area .brand span{color:var(--acc)}
.logo-area .sub{font-size:.55rem;letter-spacing:.18em;color:var(--th);text-transform:uppercase}
.topnav{display:flex;gap:0;flex:1}
.topnav a{padding:.4rem .7rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--td);text-decoration:none;cursor:pointer;transition:color .3s;position:relative}
.topnav a:hover,.topnav a.active{color:var(--tb)}
.topnav a.active::after{content:'';position:absolute;bottom:0;left:.7rem;right:.7rem;height:2px;background:var(--tag)}
.search-wrap{margin-left:auto;position:relative}
.search-wrap input{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:.35rem .7rem .35rem 1.8rem;font-size:.68rem;color:var(--tm);font-family:'Jost',sans-serif;width:140px;outline:none;transition:border-color .3s,width .3s}
.search-wrap input:focus{border-color:var(--tag);width:200px}
.search-wrap svg{position:absolute;left:7px;top:50%;transform:translateY(-50%);width:13px;height:13px;stroke:var(--th);fill:none;stroke-width:2}
.theme-toggle{margin-left:.6rem;display:flex;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:2px}
.theme-btn{padding:.15rem .45rem;border-radius:14px;border:none;font-family:'Jost',sans-serif;font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .3s;background:transparent;color:var(--td)}
.theme-btn.active{background:linear-gradient(135deg,var(--acc),var(--acc2));color:#fff}
.btn-cta-top{margin-left:.5rem;padding:.3rem .9rem;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#fff;border-radius:5px;font-size:.62rem;font-weight:400;letter-spacing:.06em;text-decoration:none;transition:opacity .2s}
.btn-cta-top:hover{opacity:.85}

/* SIDEBAR */
.sidebar{position:fixed;top:52px;left:0;bottom:0;width:230px;z-index:200;background:rgba(6,4,15,.85);backdrop-filter:blur(18px);border-right:1px solid var(--border);overflow-y:auto;transform:translateX(0);transition:transform .3s;padding:.6rem 0}
[data-theme="light"] .sidebar{background:rgba(240,236,255,.95)}
.sidebar.closed{transform:translateX(-100%)}
.sidebar::-webkit-scrollbar{width:3px}
.sidebar::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:4px}
.cat-label{display:flex;align-items:center;gap:.4rem;padding:.5rem .8rem;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--th);cursor:pointer;user-select:none;transition:color .2s}
.cat-label:hover{color:var(--tm)}
.cat-label .arrow{font-size:.42rem;margin-left:auto;transition:transform .2s}
.cat-label.collapsed .arrow{transform:rotate(-90deg)}
.cat-pages{overflow:hidden;max-height:600px;transition:max-height .3s}
.cat-pages.collapsed{max-height:0!important}
.page-link{display:block;padding:.38rem .8rem .38rem 1.4rem;font-size:.76rem;color:var(--td);text-decoration:none;border-left:2px solid transparent;cursor:pointer;transition:all .15s}
.page-link:hover{color:var(--t);background:var(--card)}
.page-link.active{color:var(--tb);border-left-color:var(--tag);background:var(--card)}

/* CONTENT */
.content-area{position:fixed;top:52px;left:230px;right:0;bottom:0;overflow-y:auto;padding:1.8rem 2.5rem 6rem;z-index:1;transition:left .3s}
.content-area.full{left:0}
.content-area::-webkit-scrollbar{width:4px}
.content-area::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:4px}
.page-content{max-width:100%;opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}
.page-content.out-up{opacity:0;transform:translateY(-50px)}
.page-content.out-down{opacity:0;transform:translateY(50px)}
.page-content.in-up{animation:slideUp .4s ease-out both}
.page-content.in-down{animation:slideDown .4s ease-out both}
@keyframes slideUp{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideDown{from{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}

/* BOTTOM NAV */
.bottom-nav{position:fixed;bottom:0;left:230px;right:0;z-index:250;height:56px;display:flex;align-items:center;justify-content:center;gap:1.5rem;background:linear-gradient(to top,var(--bg) 70%,transparent);transition:left .3s}
.content-area.full~.bottom-nav{left:0}
.arrow-btn{background:var(--card);border:1px solid var(--border);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;position:relative;color:var(--td);overflow:hidden}
.arrow-btn:hover{border-color:var(--tag);color:var(--tb);background:rgba(168,85,247,.1)}
.arrow-btn svg{width:18px;height:18px;position:absolute;transition:opacity .3s}
.arrow-btn .c2{opacity:.5;transform:translateX(3px)}
.arrow-btn .c3{opacity:.2;transform:translateX(6px)}
#btnPrev .c2{transform:translateX(-3px)}
#btnPrev .c3{transform:translateX(-6px)}
.arrow-btn:hover svg{animation:arrowPulse .8s ease-in-out infinite}
.arrow-btn:hover .c2{animation-delay:.15s}
.arrow-btn:hover .c3{animation-delay:.3s}
@keyframes arrowPulse{0%,100%{opacity:.2}50%{opacity:1}}
.page-indicator{font-size:.72rem;letter-spacing:.12em;color:var(--th);min-width:70px;text-align:center}

/* FOOTER */
.footer{position:fixed;bottom:0;left:0;width:230px;z-index:250;height:56px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 .5rem;font-size:.58rem;letter-spacing:.06em;color:var(--th);line-height:1.4;transition:width .3s}

/* PAGE ELEMENTS */
.section{margin-bottom:2rem;animation:fadeIn .5s ease both}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.section-tag{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--tag);margin-bottom:.4rem;font-weight:400}
.section h2{font-size:1.9rem;font-weight:300;color:var(--tb);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.section h2 strong{font-weight:600;background:linear-gradient(115deg,var(--acc),var(--acc2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section h3{font-size:1.15rem;font-weight:400;color:var(--tm);margin:1.2rem 0 .6rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}
.section p{font-size:1.05rem;line-height:2;color:var(--tm);margin-bottom:1rem}

.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin:1.2rem 0}
.info-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1rem;transition:border-color .3s;animation:fadeIn .4s ease both}
.info-card:hover{border-color:var(--bordh)}
.info-card .label{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--th);margin-bottom:.3rem}
.info-card .value{font-size:1rem;color:var(--t);word-break:break-all}
.info-card.accent{background:var(--accg);border-color:rgba(168,85,247,.3)}

.doc-table{width:100%;border-collapse:collapse;margin:1rem 0}
.doc-table th{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--th);text-align:left;padding:.5rem .7rem;border-bottom:1px solid var(--border);font-weight:400}
.doc-table td{font-size:.88rem;padding:.5rem .7rem;color:var(--tm);border-bottom:1px solid var(--border)}
.doc-table tr:hover td{background:var(--hover)}

.badge{display:inline-block;padding:.12rem .45rem;border-radius:4px;font-size:.68rem}
.badge-ok{background:rgba(34,178,76,.12);color:rgba(34,178,76,.8)}
.badge-warn{background:rgba(178,150,34,.12);color:rgba(178,150,34,.8)}
.badge-off{background:rgba(178,34,34,.12);color:rgba(178,34,34,.8)}
.badge-info{background:var(--accg);color:var(--acc)}

.tag-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.tag-pill{padding:.25rem .75rem;background:var(--card);border:1px solid var(--border);border-radius:100px;font-size:.78rem;color:var(--tm);transition:all .2s}
.tag-pill:hover{border-color:rgba(168,85,247,.4);color:var(--acc);background:var(--accg)}

.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:1.5rem 0}
.feature-tile{background:var(--bg);padding:1.5rem;transition:background .25s}
.feature-tile:hover{background:var(--card)}
.feature-tile .ico{font-size:1.5rem;margin-bottom:.8rem}
.feature-tile .title{font-size:.9rem;font-weight:500;color:var(--t);margin-bottom:.4rem}
.feature-tile .desc{font-size:.82rem;color:var(--tm);line-height:1.7}

.check-list{list-style:none;margin:1rem 0}
.check-list li{display:flex;align-items:flex-start;gap:.6rem;padding:.4rem 0;font-size:.9rem;color:var(--tm);line-height:1.6}
.check-list li::before{content:'✓';color:var(--acc);font-weight:500;flex-shrink:0;margin-top:.1rem}

/* HERO BANNER */
.hero-banner{position:relative;margin:-1.8rem -2.5rem 2rem;padding:4rem 2.5rem;overflow:hidden}
.hero-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(168,85,247,.06),rgba(236,72,153,.04),rgba(249,115,22,.03));z-index:0}
.hero-banner::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(168,85,247,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(168,85,247,.03) 1px,transparent 1px);background-size:60px 60px;z-index:0}
.hero-banner *{position:relative;z-index:1}
.hero-banner .eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);padding:.3rem .8rem;border:1px solid rgba(168,85,247,.35);border-radius:100px;background:var(--accg);margin-bottom:1.2rem}
.hero-banner h1{font-size:clamp(2rem,4vw,3.5rem);font-weight:200;line-height:1.1;letter-spacing:-.02em;margin-bottom:1.2rem}
.hero-banner h1 em{font-style:normal;font-weight:600;background:linear-gradient(115deg,var(--acc),var(--acc2),var(--acc3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-banner .desc{font-size:1rem;color:var(--tm);max-width:540px;line-height:1.9}
.hero-banner .stats{display:flex;gap:2.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.hero-banner .stat .n{font-size:1.6rem;font-weight:600;background:linear-gradient(135deg,var(--acc),var(--acc2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-banner .stat .l{font-size:.68rem;color:var(--th);letter-spacing:.1em;text-transform:uppercase;margin-top:.15rem}

/* FORM */
.rn-form{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;max-width:500px;margin:1.5rem 0}
.rn-form label{display:block;font-size:.68rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--th);margin-bottom:.35rem}
.rn-form input,.rn-form textarea,.rn-form select{width:100%;padding:.65rem .9rem;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:6px;color:var(--t);font-family:'Jost',sans-serif;font-size:.88rem;font-weight:300;outline:none;margin-bottom:1rem;transition:border-color .2s;resize:none}
[data-theme="light"] .rn-form input,[data-theme="light"] .rn-form textarea,[data-theme="light"] .rn-form select{background:rgba(0,0,0,.03)}
.rn-form input:focus,.rn-form textarea:focus{border-color:var(--acc)}
.rn-form textarea{height:100px}
.rn-form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.rn-form .btn{padding:.65rem 1.5rem;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#fff;border:none;border-radius:6px;font-family:'Jost',sans-serif;font-size:.85rem;cursor:pointer;transition:opacity .2s;width:100%}
.rn-form .btn:hover{opacity:.85}

@media(max-width:768px){
  .topnav{display:none}
  .sidebar{width:200px}
  .content-area{left:0}
  .content-area.full~.bottom-nav{left:0}
  .bottom-nav{left:0}
  .footer{width:0;opacity:0}
  .hero-banner{padding:2rem 1.5rem}
  .rn-form .row{grid-template-columns:1fr}
}
