@font-face{font-family:Orbitron;src:url(/fonts/orbitron-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Exo 2";src:url(/fonts/exo-2-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2");font-weight:600 800;font-display:swap}
:root{--cy:#22e6ff;--vi:#a855f7;--am:#ffb020;--rd:#ff3b5c;--glass:rgba(12,18,40,.55);--edge:rgba(34,230,255,.28)}
html,body{background:#02030a!important}
body{font-family:Inter,system-ui,sans-serif;color:#e6f6ff}
h1,h2,h3,.font-bold,.text-3xl,.text-2xl{font-family:"Exo 2",Inter,sans-serif;letter-spacing:.02em}
h1,h2,.text-3xl{font-family:Orbitron,"Exo 2",sans-serif}
#ga-space{position:fixed;inset:0;z-index:0;pointer-events:none;width:100vw;height:100vh;display:block}
#root{position:relative;z-index:1}
#root .min-h-screen{background:transparent!important}
/* glass panels */
#root [class*="bg-slate-900"],#root [class*="bg-slate-800/5"],#root [class*="bg-slate-800/8"],#root .bg-white,#root [class*="bg-white/"]{
 background:var(--glass)!important;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
 border-color:var(--edge)!important;box-shadow:0 0 0 1px rgba(168,85,247,.10) inset,0 10px 40px rgba(0,0,0,.45),0 0 24px rgba(34,230,255,.06)}
#root .rounded-lg,#root .rounded-xl{border-radius:16px}
#root [class*="border-slate-7"],#root [class*="border-slate-8"],#root [class*="border-gray"]{border-color:var(--edge)!important}
#root .max-w-7xl>*{animation:ga-in .7s cubic-bezier(.2,.8,.2,1) both}
#root .max-w-7xl>*:nth-child(2){animation-delay:.08s}#root .max-w-7xl>*:nth-child(3){animation-delay:.16s}
#root .max-w-7xl>*:nth-child(4){animation-delay:.24s}#root .max-w-7xl>*:nth-child(5){animation-delay:.32s}#root .max-w-7xl>*:nth-child(n+6){animation-delay:.4s}
@keyframes ga-in{from{opacity:0;transform:translateY(24px) scale(.98);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
#root .grid>div{transition:transform .25s,box-shadow .25s,border-color .25s}
#root .grid>div:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--cy) inset,0 0 30px rgba(34,230,255,.25)!important}
#root button{transition:all .2s}
#root button:hover{filter:brightness(1.15);box-shadow:0 0 18px rgba(34,230,255,.35)}
#root button:active{transform:scale(.97)}
#root [class*="from-blue-600"]{background:linear-gradient(90deg,var(--vi),var(--cy))!important;box-shadow:0 0 28px rgba(168,85,247,.55),0 0 60px rgba(34,230,255,.25);font-family:Orbitron,sans-serif;letter-spacing:.08em;text-transform:uppercase}
#root input,#root select,#root textarea{background:rgba(2,6,23,.6)!important;border-color:var(--edge)!important;color:#e6f6ff!important}
#root input:focus,#root select:focus,#root textarea:focus{outline:none;box-shadow:0 0 0 2px var(--cy),0 0 18px rgba(34,230,255,.4)!important}
#root .text-emerald-400{color:#3dffb5!important;text-shadow:0 0 12px rgba(61,255,181,.45)}
#root .text-red-400{color:#ff6b84!important;text-shadow:0 0 12px rgba(255,59,92,.45)}
#root table thead{background:rgba(34,230,255,.07)!important;font-family:"Exo 2";text-transform:uppercase;letter-spacing:.06em;font-size:.8em}
#root table tr:hover{background:rgba(34,230,255,.06)!important}
#root img[class*="h-72"]{filter:drop-shadow(0 0 30px rgba(34,230,255,.6)) brightness(1.2)!important}
/* HUD widgets */
.ga-gauge{--v:0;position:relative;width:120px;height:120px;margin:6px auto 2px;border-radius:50%;
 background:conic-gradient(var(--cy) calc(var(--v)*1%),var(--vi) calc(var(--v)*1%),rgba(255,255,255,.06) 0);
 -webkit-mask:radial-gradient(circle,transparent 52px,#000 53px);mask:radial-gradient(circle,transparent 52px,#000 53px);filter:drop-shadow(0 0 10px var(--cy))}
.ga-gauge-wrap{position:relative}.ga-gauge-wrap>p.text-3xl{position:absolute;left:0;right:0;top:44px;text-align:center;margin:0;font-family:Orbitron!important}
.ga-bar{height:10px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:12px;box-shadow:inset 0 0 0 1px var(--edge)}
.ga-bar>i{display:block;height:100%;width:calc(var(--v)*1%);border-radius:99px;background:linear-gradient(90deg,#3dffb5,var(--cy));box-shadow:0 0 14px var(--cy);transition:width .8s}
.ga-bar.low>i{background:linear-gradient(90deg,var(--rd),var(--am))}
.ga-thrust{display:flex;gap:4px;margin-top:12px;justify-content:center}.ga-thrust i{width:14px;height:22px;border-radius:4px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px var(--edge)}
.ga-thrust i.on{background:linear-gradient(0deg,var(--vi),var(--cy));box-shadow:0 0 12px var(--cy);animation:ga-thr 1.4s ease-in-out infinite alternate}
@keyframes ga-thr{to{filter:brightness(1.5)}}
.ga-label{font:600 10px Orbitron,sans-serif;letter-spacing:.2em;color:var(--cy);opacity:.8;text-transform:uppercase;margin-top:8px}
.ga-readout{font-family:Orbitron!important;letter-spacing:.06em}
/* alerts */
#root [class*="bg-yellow"],#root [class*="bg-amber"],#root [class*="border-yellow"],#root [class*="border-amber"]{animation:ga-amber 1.6s ease-in-out infinite}
@keyframes ga-amber{50%{box-shadow:0 0 0 1px var(--am) inset,0 0 26px rgba(255,176,32,.55)}}
#root .fixed.inset-0{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#root .fixed.inset-0[class*="bg-red"],#root .fixed.inset-0 [class*="border-red"]{animation:ga-red 1.1s ease-in-out infinite}
@keyframes ga-red{50%{box-shadow:0 0 0 2px var(--rd) inset,0 0 60px rgba(255,59,92,.6)}}
.ga-shields{position:fixed;inset:0;pointer-events:none;z-index:40;border:3px solid var(--rd);box-shadow:inset 0 0 120px rgba(255,59,92,.45);animation:ga-red 1.6s infinite}
.ga-shields::after{content:"SHIELDS LOCKED";position:absolute;top:14px;left:50%;transform:translateX(-50%);font:700 13px Orbitron;letter-spacing:.4em;color:var(--rd);text-shadow:0 0 12px var(--rd)}
/* modal */
#ga-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:rgba(2,3,10,.65);backdrop-filter:blur(10px);padding:16px;animation:ga-fade .2s}
@keyframes ga-fade{from{opacity:0}}
#ga-modal .box{max-width:520px;width:100%;background:rgba(10,16,38,.9);border:1px solid var(--cy);border-radius:20px;padding:24px;box-shadow:0 0 50px rgba(34,230,255,.35);animation:ga-in .35s both;color:#e6f6ff}
#ga-modal .t{font:700 13px Orbitron;letter-spacing:.3em;color:var(--cy);margin-bottom:12px}
#ga-modal .m{white-space:pre-wrap;line-height:1.55;font-size:15px}
#ga-modal .b{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}
#ga-modal button{font:600 14px Inter;padding:10px 18px;border-radius:12px;border:1px solid var(--edge);background:rgba(255,255,255,.06);color:#fff;cursor:pointer}
#ga-modal button.ok{background:linear-gradient(90deg,var(--vi),var(--cy));border:0;box-shadow:0 0 20px rgba(34,230,255,.5)}
#ga-modal.warn .box{border-color:var(--am);box-shadow:0 0 50px rgba(255,176,32,.45);animation:ga-in .35s both,ga-amber 1.4s infinite}#ga-modal.warn .t{color:var(--am)}
#ga-modal.block .box{border-color:var(--rd);box-shadow:0 0 60px rgba(255,59,92,.55);animation:ga-in .35s both,ga-red 1s infinite}#ga-modal.block .t{color:var(--rd)}
#ga-modal.block{background:radial-gradient(circle,rgba(80,0,20,.55),rgba(2,3,10,.8))}
#ga-snd{position:fixed;bottom:12px;inset-inline-start:12px;z-index:9999;background:rgba(10,16,38,.8);color:#fff;border:1px solid var(--edge);border-radius:999px;padding:8px 12px;font:13px Inter;cursor:pointer}
#ga-lang button{background:rgba(10,16,38,.85)!important;border:1px solid var(--edge)!important}
@media (max-width:640px){.ga-gauge{width:100px;height:100px;-webkit-mask:radial-gradient(circle,transparent 42px,#000 43px);mask:radial-gradient(circle,transparent 42px,#000 43px)}.ga-gauge-wrap>p.text-3xl{top:36px}#root .p-6{padding:16px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
html[dir=ltr] #ga-modal,html[dir=ltr] #ga-modal *{direction:ltr;text-align:left}
html[dir=rtl] #ga-modal,html[dir=rtl] #ga-modal *{direction:rtl;text-align:right}
/* ===================== v2 polish ===================== */
:root{--dock:12px;--tap:44px}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#root h1,#root h2{text-shadow:0 0 18px rgba(34,230,255,.35)}
#root p.text-sm,#root .text-slate-400{color:#a9bfd6!important}
/* touch targets + focus */
#root button,#root [role=button],#root a,#root select{min-height:var(--tap)}
#root input{min-height:var(--tap)}
#root :is(button,a,input,select,textarea,[tabindex]):focus-visible,#ga-lang :focus-visible,#ga-snd:focus-visible,#ga-ask-fab:focus-visible,#ga-ask :focus-visible,#ga-modal button:focus-visible{outline:2px solid var(--cy)!important;outline-offset:3px;box-shadow:0 0 0 5px rgba(34,230,255,.18),0 0 22px rgba(34,230,255,.45)!important}
#root button:not(:disabled):hover{transform:translateY(-1px)}
#root button:not(:disabled):active{transform:translateY(0) scale(.96);transition-duration:.06s}
#root button:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.3)}
/* boot loader */
#ga-boot.out{opacity:0;pointer-events:none}
/* bottom dock: language (end), sound (start), Angel (end, above language) – never overlap */
.ga-dockbtn,#ga-lang button,#ga-snd{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);padding:0 14px;border-radius:999px;font:600 13px Inter,system-ui,sans-serif;color:#e6f6ff!important;background:rgba(10,16,38,.82)!important;border:1px solid var(--edge)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 6px 24px rgba(0,0,0,.45),0 0 14px rgba(34,230,255,.12)!important;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}
#ga-lang button:hover,#ga-snd:hover{border-color:var(--cy)!important;box-shadow:0 0 22px rgba(34,230,255,.4)!important;transform:translateY(-1px)}
#ga-lang{position:fixed;bottom:calc(var(--dock) + env(safe-area-inset-bottom));inset-inline-end:var(--dock);z-index:9990;font:13px Inter,system-ui,sans-serif}
#ga-snd{bottom:calc(var(--dock) + env(safe-area-inset-bottom))!important;inset-inline-start:var(--dock)!important;z-index:9990!important}
#ga-lang ul{position:absolute;bottom:52px;inset-inline-end:0;list-style:none;margin:0;padding:6px;min-width:190px;max-height:min(60vh,460px);overflow:auto;background:rgba(8,12,30,.94);color:#e6f6ff;border:1px solid var(--edge);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.6),0 0 30px rgba(34,230,255,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform-origin:bottom right}
#ga-lang.open ul{display:block!important;animation:ga-pop .18s cubic-bezier(.2,.8,.2,1)}
#ga-lang li{padding:10px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;min-height:40px;display:flex;align-items:center;transition:background .15s}
#ga-lang li:hover,#ga-lang li:focus{background:rgba(34,230,255,.12);outline:none}
#ga-lang li.on{background:linear-gradient(90deg,rgba(168,85,247,.3),rgba(34,230,255,.2));box-shadow:inset 0 0 0 1px var(--edge)}
@keyframes ga-pop{from{opacity:0;transform:translateY(8px) scale(.96)}}
#root{padding-bottom:76px}
/* Ask the Angel */
#ga-ask-fab{position:fixed;bottom:calc(var(--dock) + 56px + env(safe-area-inset-bottom));inset-inline-end:var(--dock);z-index:9991;width:56px;height:56px;border-radius:50%;padding:0;border:1px solid var(--cy);cursor:pointer;background:radial-gradient(circle at 35% 30%,rgba(168,85,247,.55),rgba(10,16,38,.95));box-shadow:0 0 26px rgba(34,230,255,.45),0 8px 26px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}
#ga-ask-fab img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 6px var(--cy))}
#ga-ask-fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 0 40px rgba(34,230,255,.65)}
#ga-ask-fab:active{transform:scale(.94)}
#ga-ask-fab::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(34,230,255,.5);animation:ga-ping 2.6s ease-out infinite}
@keyframes ga-ping{from{transform:scale(.9);opacity:.9}to{transform:scale(1.35);opacity:0}}
#ga-ask{position:fixed;bottom:calc(var(--dock) + 122px + env(safe-area-inset-bottom));inset-inline-end:var(--dock);z-index:9992;width:min(380px,calc(100vw - 24px));max-height:min(560px,calc(100vh - 160px));display:none;flex-direction:column;background:rgba(8,12,30,.93);border:1px solid var(--cy);border-radius:20px;color:#e6f6ff;box-shadow:0 0 0 1px rgba(168,85,247,.25) inset,0 24px 60px rgba(0,0,0,.6),0 0 40px rgba(34,230,255,.25);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;font:14px/1.5 Inter,system-ui,sans-serif}
#ga-ask.open{display:flex;animation:ga-pop .22s cubic-bezier(.2,.8,.2,1)}
#ga-ask header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--edge);background:linear-gradient(90deg,rgba(168,85,247,.18),rgba(34,230,255,.08))}
#ga-ask header img{width:28px;height:28px;filter:drop-shadow(0 0 6px var(--cy))}
#ga-ask header b{font:700 12px Orbitron,sans-serif;letter-spacing:.18em;color:var(--cy);flex:1;text-transform:uppercase}
#ga-ask header button{width:36px;height:36px;border-radius:10px;border:1px solid var(--edge);background:rgba(255,255,255,.05);color:#e6f6ff;cursor:pointer;font-size:18px;line-height:1}
#ga-ask .log{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:140px}
#ga-ask .msg{max-width:88%;padding:10px 12px;border-radius:14px;white-space:pre-wrap;word-wrap:break-word;animation:ga-in .3s both}
#ga-ask .msg.a{align-self:flex-start;background:rgba(34,230,255,.08);border:1px solid var(--edge)}
#ga-ask .msg.u{align-self:flex-end;background:linear-gradient(90deg,rgba(168,85,247,.45),rgba(34,230,255,.3))}
#ga-ask .msg.e{border-color:var(--am);color:#ffd27a}
#ga-ask .dots i{display:inline-block;width:6px;height:6px;margin:0 2px;border-radius:50%;background:var(--cy);animation:ga-dot 1s infinite alternate}
#ga-ask .dots i:nth-child(2){animation-delay:.2s}#ga-ask .dots i:nth-child(3){animation-delay:.4s}
@keyframes ga-dot{to{opacity:.2;transform:translateY(-3px)}}
#ga-ask .chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}
#ga-ask .chips button{font:600 12px Inter;padding:8px 10px;min-height:36px;border-radius:999px;border:1px solid var(--edge);background:rgba(34,230,255,.06);color:#cfefff;cursor:pointer}
#ga-ask .chips button:hover{border-color:var(--cy);background:rgba(34,230,255,.14)}
#ga-ask form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--edge)}
#ga-ask textarea{flex:1;resize:none;height:44px;max-height:120px;padding:11px 12px;border-radius:12px;border:1px solid var(--edge);background:rgba(2,6,23,.7);color:#e6f6ff;font:14px Inter,system-ui,sans-serif}
#ga-ask textarea:focus{outline:none;border-color:var(--cy);box-shadow:0 0 14px rgba(34,230,255,.35)}
#ga-ask form button{width:46px;min-height:44px;border-radius:12px;border:0;background:linear-gradient(135deg,var(--vi),var(--cy));color:#fff;font-size:18px;cursor:pointer;box-shadow:0 0 18px rgba(34,230,255,.45)}
#ga-ask form button:disabled{opacity:.5}
html[dir=rtl] #ga-ask form button span{display:inline-block;transform:scaleX(-1)}
/* modal buttons bigger */
#ga-modal button{min-height:46px;min-width:96px}
#ga-modal .box{max-height:calc(100vh - 32px);overflow:auto}
/* mobile */
@media (max-width:640px){
 :root{--dock:10px}
 #ga-lang .n{display:none}
 #ga-snd .n{display:none}
 #root .max-w-7xl{padding-left:12px!important;padding-right:12px!important}
 #root h1{font-size:1.35rem!important;line-height:1.25}
 #root table{font-size:13px}
 #root .overflow-x-auto{-webkit-overflow-scrolling:touch}
 #ga-ask{inset-inline-end:8px;width:calc(100vw - 16px);bottom:calc(var(--dock) + 120px + env(safe-area-inset-bottom));max-height:calc(100vh - 150px)}
 #ga-modal .b{flex-wrap:wrap}#ga-modal .b button{flex:1}
 .ga-shields::after{font-size:10px;letter-spacing:.25em;top:8px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}#ga-ask-fab::after{display:none}}

/* v3 voice */
#ga-ask form .mic{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--cy);background:rgba(34,230,255,.08);color:#e6f6ff;font-size:18px;cursor:pointer;padding:0}
#ga-ask form .mic.on{background:rgba(168,85,247,.45);box-shadow:0 0 0 0 rgba(168,85,247,.6);animation:ga-mic 1.2s ease-out infinite}
@keyframes ga-mic{to{box-shadow:0 0 0 12px rgba(168,85,247,0)}}
#ga-ask header button.vtog{width:auto;height:30px;flex:0 0 auto;margin-inline-start:auto;font:12px Inter,system-ui,sans-serif;color:#e6f6ff;background:rgba(34,230,255,.08);border:1px solid var(--edge);border-radius:999px;padding:4px 10px;cursor:pointer;white-space:nowrap}
#ga-ask header .vtog+.x{margin-inline-start:6px}
#ga-ask .msg.live{opacity:.75;font-style:italic}
