body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{-ms-overflow-style:none;box-sizing:border-box;margin:0;padding:0;scrollbar-width:none}::-webkit-scrollbar{display:none}:root{--bg-dark:#001219;--bg-darker:#000b0f;--accent:#94d2bd;--accent-rgb:148,210,189;--accent-glow:rgba(var(--accent-rgb),0.3);--dock-bg:#00080cfa;--text-muted:#a9b7b7;--font-main:"Inter Variable",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono Variable",monospace;--transition:all 0.4s cubic-bezier(0.16,1,0.3,1);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--header-h:44px;--header-offset:calc(var(--header-h) + var(--safe-top));--dock-interactive-h:56px;--dock-pt:8px;--dock-bottom-pad:max(16px,env(safe-area-inset-bottom));--dock-offset:calc(var(--dock-interactive-h) + var(--dock-pt) + var(--dock-bottom-pad));--z-base:10;--z-hud:2000;--z-dock:2000;--z-menu:3000;--z-modal:4000;--z-popup:5000;--z-lockout:9999}@media (color-gamut:p3){:root{--accent:color(display-p3 0.58 0.82 0.74)}}body,html{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#000b0f;background:var(--bg-darker);height:100%;margin:0;overscroll-behavior-y:none;padding:0;width:100%}body{inset:0}.app-shell{background:#000b0f;background:var(--bg-darker);display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;width:100%}.container{margin-inline:auto;max-width:1440px;padding-left:clamp(16px,5vw,24px);padding-right:clamp(16px,5vw,24px)}.content-area,main{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding-bottom:calc(64px + max(16px, env(safe-area-inset-bottom)));padding-bottom:calc(var(--dock-offset));padding-top:calc(44px + env(safe-area-inset-top, 0px));padding-top:var(--header-offset)}main.hero-mode{padding-top:0}.tactical-hud{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#000b0fd9;border-bottom:1px solid #94d2bd26;border-bottom:1px solid rgba(var(--accent-rgb),.15);height:calc(44px + env(safe-area-inset-top, 0px));height:var(--header-offset);left:0;padding-top:env(safe-area-inset-top,0);padding-top:var(--safe-top);position:fixed;right:0;top:0;z-index:2000;z-index:var(--z-hud)}.hud-content,.tactical-hud{align-items:center;display:flex}.hud-content{height:100%;justify-content:space-between;padding:0 clamp(12px,3vw,16px);width:100%}.tactical-hud.compact{--header-h:38px}.hud-branding{align-items:center;cursor:pointer;display:flex;flex-shrink:0;text-decoration:none;transition:opacity .2s ease}.hud-branding:active{opacity:.8}.unit-id{color:#94d2bd;color:var(--accent);font-size:clamp(.85rem,2vw,1rem);font-weight:900;letter-spacing:1.2px;line-height:1}.hud-actions{flex-shrink:0;gap:clamp(6px,2vw,8px)}.hud-actions,.share-btn{align-items:center;display:flex}.share-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;color:#fff;cursor:pointer;height:clamp(28px,8vw,32px);justify-content:center;min-width:28px;padding:0;transition:.2s ease;width:clamp(28px,8vw,32px)}.share-btn:active{background:#ffffff1a;transform:scale(.95)}.share-btn.done{color:#94d2bd;color:var(--accent)}.profile-trigger{align-items:center;background:#94d2bd14;background:rgba(var(--accent-rgb),.08);border:1px solid #94d2bd26;border:1px solid rgba(var(--accent-rgb),.15);border-radius:20px;cursor:pointer;display:flex;gap:6px;height:clamp(28px,8vw,32px);max-width:clamp(80px,20vw,140px);padding:2px 8px 2px 2px;transition:.2s ease}.profile-trigger:active{background:#94d2bd1f;background:rgba(var(--accent-rgb),.12)}.avatar-hex{align-items:center;background:#94d2bd;background:var(--accent);border-radius:50%;color:#000;display:flex;flex-shrink:0;height:clamp(20px,6vw,24px);justify-content:center;width:clamp(20px,6vw,24px)}.user-callsign{color:#fff;font-size:clamp(.65rem,1.5vw,.75rem);font-weight:800;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.global-dock-wrapper{bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;transform:translateZ(0);z-index:2000;z-index:var(--z-dock)}.dock-container{backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);background:#00080cfa;background:var(--dock-bg);border-radius:28px 28px 0 0;border-top:1px solid #94d2bd2e;border-top:1px solid rgba(var(--accent-rgb),.18);box-shadow:0 -6px 30px #00000073,inset 0 1px 0 #ffffff0a;justify-content:center;max-width:520px;padding-bottom:12px;padding-top:8px;padding-top:var(--dock-pt);padding-inline:clamp(16px,4vw,24px);pointer-events:auto}.dock-container,.dock-scroll-area{align-items:center;display:flex;width:100%}.dock-scroll-area{gap:0;height:56px;height:var(--dock-interactive-h);justify-content:space-between;overflow:hidden;padding-inline:4px}.dock-btn{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;align-items:center;background:#0000;border:none;border-radius:18px;color:#ffffff73;cursor:pointer;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:center;min-width:0;text-decoration:none;transition:color .15s ease,transform .15s ease;-webkit-user-select:none;user-select:none}.dock-btn:active{transform:scale(.92)}.dock-btn.active{color:#fff;transform:translateY(-2px)}.dock-btn i,.dock-btn svg{font-size:24px;height:24px;transition:transform .2s ease,color .2s ease;width:24px}.dock-btn.active svg{color:#94d2bd;color:var(--accent);transform:scale(1.1)}.dock-btn small{font-size:.55rem;font-weight:700;letter-spacing:.5px;margin-top:4px}.active-dot{background:#94d2bd;background:var(--accent);border-radius:50%;height:4px;margin-top:4px;opacity:0;transform:scale(0);transition:all .2s ease;width:4px}.dock-btn.active .active-dot{opacity:1;transform:scale(1)}.side-nav-portal{align-items:flex-end;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000b3;display:flex;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:3000;z-index:var(--z-menu)}.side-nav-portal.open{opacity:1;pointer-events:auto;visibility:visible}.side-panel{background:#000b0f;background:var(--bg-darker);border-radius:24px 24px 0 0;border-top:1px solid #94d2bd40;border-top:1px solid rgba(var(--accent-rgb),.25);display:flex;flex-direction:column;height:30dvh;padding-bottom:env(safe-area-inset-bottom,0);padding-bottom:var(--safe-bottom);transform:translateY(100%);transition:transform .4s cubic-bezier(.32,.72,0,1);width:100%}.side-nav-portal.open .side-panel{transform:translateY(0)}.side-panel-scrollable{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding-bottom:24px}.drag-handle{background:#fff3;border-radius:10px;flex-shrink:0;height:4px;margin:12px auto 8px;width:36px}.panel-top{align-items:center;display:flex;justify-content:space-between;padding:12px 20px}.panel-info h2{color:#fff;font-size:1.1rem;font-weight:900;letter-spacing:1px;margin:0}.panel-close{align-items:center;background:#ffffff0d;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:.2s;width:32px}.panel-close:active{background:#ffffff1f;transform:scale(.95)}.panel-links{padding:8px 12px}.panel-link{align-items:center;border-radius:12px;color:#ffffffa6;cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:14px;margin-bottom:4px;padding:14px 18px;text-decoration:none;transition:.2s ease}.panel-link.active,.panel-link:active,.panel-link:hover{background:#94d2bd1a;background:rgba(var(--accent-rgb),.1);color:#94d2bd;color:var(--accent)}.lockout-active .app-shell{overflow:hidden}.lockout-active .content-area{filter:blur(12px) brightness(.22);pointer-events:none}.offline-mode .content-area{filter:grayscale(.92) brightness(.7) contrast(.88);transition:filter 1.2s ease}.offline-blocker,.terminal-lockout{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#00080ff0;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999;z-index:var(--z-lockout)}.lockout-content{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#061216a6;border:1px solid #ff4d4d38;border-radius:14px;box-shadow:0 20px 70px #000000bf;max-width:520px;overflow:hidden;padding:3rem 1.8rem 3.5rem;position:relative;text-align:center;width:100%}.scanner-line{animation:scan-horizontal 6s linear infinite;background:linear-gradient(90deg,#0000 10%,#ff4d4d 50%,#0000 90%);box-shadow:0 0 30px #ff4d4d70;height:4px;left:-10%;pointer-events:none;position:absolute;right:-10%;top:0}.glitch-wrapper{margin:0 auto 1.8rem;max-width:100%;overflow:hidden;position:relative}.glitch-text{animation:glitch-text 4s infinite;color:#ff4d4d;font-family:JetBrains Mono Variable,monospace;font-family:var(--font-mono);font-size:clamp(1.5rem,6.1vw,2.8rem);font-weight:900;letter-spacing:.22em;line-height:1.1;text-shadow:0 0 12px #ff4d4d50;text-transform:uppercase}.glitch-text:after,.glitch-text:before{color:#ff4d4d;content:attr(data-text);inset:0;opacity:.75;position:absolute}.glitch-text:before{animation:glitch-shift 2.5s infinite alternate-reverse;left:2px}.glitch-text:after,.glitch-text:before{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}.glitch-text:after{animation:glitch-shift 3s infinite alternate-reverse;left:-2px}.lockout-info{margin:1.5rem 0 2.5rem}.sub-notice{color:#5a8282;font-family:JetBrains Mono Variable,monospace;font-family:var(--font-mono);font-size:.95rem}.status-denied{color:#ff4d4d;font-weight:900}.logout-trigger{background:#0000;border:2px solid #ff4d4d70;border-radius:8px;color:#ff4d4d;cursor:pointer;font-family:JetBrains Mono Variable,monospace;font-family:var(--font-mono);padding:1rem 2.5rem;transition:all .28s ease}.logout-trigger:active,.logout-trigger:hover{background:#ff4d4d;box-shadow:0 0 35px #ff4d4db0;color:#000c10}@keyframes scan-horizontal{0%{top:0}to{top:100%}}@keyframes glitch-text{0%,to{transform:translate(0)}20%{transform:translate(-1.5px,1.5px)}40%{transform:translate(1.5px,-1.5px)}}@keyframes glitch-shift{0%{-webkit-clip-path:inset(10% 0 30% 0);clip-path:inset(10% 0 30% 0)}to{-webkit-clip-path:inset(40% 0 10% 0);clip-path:inset(40% 0 10% 0)}}.gemini-disclaimer{color:#ffffff40;font-size:.65rem;font-weight:800;letter-spacing:1px;margin:15px 0 25px}@media (max-width:480px){.profile-trigger{max-width:100px}.dock-container{border-radius:24px 24px 0 0}}