*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:clamp(16px,2.75vw,18px)}body{margin:0;font-family:Poppins,system-ui,sans-serif;line-height:1.45;background:#f4f6f5;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#root{min-height:100dvh}.app-layout{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:#f4f6f5}.app-main{flex:1;padding:clamp(12px,3vw,18px);min-width:0}@media(min-width:901px){.app-layout{flex-direction:row;align-items:stretch}.app-sidebar-wrap{flex:0 0 280px;width:280px;min-height:100vh;min-height:100dvh}.app-main{flex:1}}.app-mobile-header{display:none;align-items:center;gap:12px;padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top));background:linear-gradient(90deg,#020f07,#061a0d);color:#b0ffcc;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px #00ff641a,0 1px #00ff641f;border-bottom:1px solid rgba(0,255,100,.15);flex-shrink:0}.app-menu-toggle{min-width:48px;min-height:48px;border:none;border-radius:12px;background:#fff3;color:#fff;font-size:1.35rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.app-mobile-title{font-weight:900;font-size:clamp(1.05rem,4vw,1.2rem);letter-spacing:.02em}.app-menu-backdrop{display:none;position:fixed;inset:0;z-index:90;background:#00000073;border:none;cursor:pointer;padding:0}.app-menu-backdrop.is-visible{display:block}@media(max-width:900px){.app-mobile-header{display:flex}.app-sidebar-wrap{flex:0 0 0;height:0;width:100%;overflow:visible;position:relative;z-index:100}.sidebar-root{position:fixed;left:0;top:0;bottom:0;width:min(340px,90vw);transform:translate(-100%);transition:transform .28s ease;box-shadow:4px 0 24px #0000002e;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:100}.app-sidebar-wrap.app-sidebar-wrap--open .sidebar-root{transform:translate(0)}.app-main{padding:clamp(12px,4vw,18px);padding-bottom:max(16px,env(safe-area-inset-bottom))}}.auth-page{padding:clamp(16px,5vw,28px);padding-bottom:max(24px,env(safe-area-inset-bottom))}.auth-card{width:100%;max-width:420px;margin-left:auto;margin-right:auto}@keyframes spark-rise{0%{transform:translateY(0) scale(1);opacity:1}60%{transform:translateY(-60px) scale(.6);opacity:.7}to{transform:translateY(-110px) scale(0);opacity:0}}@keyframes glow-pulse{0%,to{opacity:.15}50%{opacity:.38}}@keyframes scan{0%{top:-2px;opacity:.55}50%{opacity:.3}to{top:100%;opacity:0}}@keyframes spark-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.spark{position:absolute;width:3px;height:3px;border-radius:50%;background:#00ff80;box-shadow:0 0 6px 2px #00ff80cc;pointer-events:none;z-index:1;animation:spark-rise 2.8s ease-in infinite,spark-blink .6s ease-in-out infinite alternate}.spark-1{left:12%;bottom:18%;animation-delay:0s,0s;animation-duration:3.2s,.7s}.spark-2{left:55%;bottom:8%;animation-delay:1.1s,.3s;animation-duration:2.6s,.5s}.spark-3{left:80%;bottom:30%;animation-delay:.6s,.1s;animation-duration:3.8s,.9s}.spark-4{left:30%;bottom:50%;animation-delay:2s,.6s;animation-duration:2.9s,.6s;width:2px;height:2px}.spark-5{left:68%;bottom:65%;animation-delay:.3s,.8s;animation-duration:3.5s,.8s;width:2px;height:2px;background:#40ffaa}.spark-6{left:42%;bottom:82%;animation-delay:1.7s,.4s;animation-duration:2.4s,.4s;width:4px;height:4px;background:#00e870;box-shadow:0 0 8px 3px #00e870b3}.scan-line{position:absolute;left:0;right:0;height:1.5px;background:linear-gradient(90deg,transparent 0%,rgba(0,255,128,.5) 40%,rgba(0,255,128,.9) 50%,rgba(0,255,128,.5) 60%,transparent 100%);pointer-events:none;z-index:1;animation:scan 5s linear infinite}.sidebar-tech:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 35% at 50% 100%,rgba(0,255,100,.07) 0%,transparent 70%),radial-gradient(ellipse 40% 25% at 20% 50%,rgba(0,200,80,.05) 0%,transparent 70%);pointer-events:none;z-index:0;animation:glow-pulse 4s ease-in-out infinite}.sidebar-tech:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,255,100,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,100,.03) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;z-index:0}.sidebar-tech a:hover{background:#00ff641a!important;color:#00ff80!important;text-shadow:0 0 10px rgba(0,255,128,.5)!important}.sidebar-tech button:hover{background:#ff003c1f!important;border-color:#ff505066!important;color:#ff8080!important}
