:root{--void: #070b12;--ink: #0d1522;--steel: #1a2738;--mist: #9bb0c7;--paper: #e8eef6;--copper: #c47a3a;--copper-bright: #e09a55;--signal: #3ecf9a;--danger: #e35d5d;--font-display: "Orbitron", "Segoe UI", sans-serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif;--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);--tap-min: 2.75rem;--page-pad-x: clamp(1rem, 4vw, 2.5rem);--page-pad-y: clamp(1rem, 3vh, 2.5rem);--footer-space: calc(2.75rem + var(--safe-bottom))}*,*:before,*:after{box-sizing:border-box}html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{margin:0;min-height:100%;min-height:100dvh}body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior:none;font-family:var(--font-body);font-size:16px;line-height:1.45;color:var(--paper);background:var(--void);-webkit-tap-highlight-color:transparent;touch-action:manipulation}img,svg,video,canvas{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;font-size:16px;max-width:100%}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-line{0%,to{opacity:.35}50%{opacity:.9}}.shell{position:relative;width:100%;max-width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;padding-bottom:var(--footer-space);background-color:#05080f;background-image:linear-gradient(to top,rgba(5,8,15,.94) 0%,rgba(5,8,15,.78) 24%,rgba(5,8,15,.35) 44%,rgba(5,8,15,.1) 60%,transparent 74%),url(/images/Celestrum_Background.png);background-size:cover;background-position:center top;background-repeat:no-repeat;background-attachment:scroll}.shell:before,.shell:after{content:none}.stage{position:relative;z-index:1;width:100%;max-width:100%;min-height:calc(100dvh - var(--footer-space));display:grid;grid-template-rows:auto 1fr;gap:.75rem;padding-top:calc(var(--page-pad-y) + var(--safe-top));padding-right:calc(var(--page-pad-x) + var(--safe-right));padding-bottom:var(--page-pad-y);padding-left:calc(var(--page-pad-x) + var(--safe-left))}.brand-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .85rem;max-width:100%}.brand-mark{font-family:var(--font-display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(1rem,3.6vw,1.45rem);line-height:1;color:var(--paper);text-shadow:0 2px 16px rgba(5,8,15,.9);animation:rise .8s ease-out both;max-width:100%;overflow-wrap:anywhere}.brand-mark span{color:var(--copper-bright)}.build-badge{display:inline-flex;align-items:center;font-family:var(--font-display);font-size:clamp(.65rem,2.2vw,.78rem);font-weight:500;letter-spacing:.12em;text-transform:uppercase;line-height:1;padding:.35rem .55rem;border:1px solid rgba(155,176,199,.35);border-radius:2px;color:var(--mist);background:#070b128c;text-shadow:none;white-space:nowrap;align-self:center;animation:rise .8s ease-out .05s both}.build-badge--beta{color:#7de0c0;border-color:#3ecf9a8c;background:#3ecf9a1f}.build-badge--live{color:var(--copper-bright);border-color:#e09a558c;background:#c47a3a24}.hero{display:grid;align-content:end;align-self:end;gap:clamp(.85rem,2.2vh,1.25rem);max-width:min(42rem,100%);width:100%;padding-block:0 clamp(2.5rem,7vh,5.5rem);animation:rise 1s ease-out .15s both}.hero h1,.hero p{text-shadow:0 2px 18px rgba(5,8,15,.85);max-width:100%;overflow-wrap:break-word}.hero h1{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(1.55rem,6.2vw,3.4rem);line-height:1.12;letter-spacing:.03em}.hero p{margin:0;max-width:min(34rem,100%);color:var(--mist);font-size:clamp(1rem,2.6vw,1.25rem);line-height:1.5}.hero-meta{margin:0;font-size:.9rem;opacity:.75}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem;width:100%}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:2px;min-height:var(--tap-min);padding:.85rem 1.25rem;cursor:pointer;touch-action:manipulation;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-primary{background:var(--copper);color:#140c05;font-weight:600}.btn-primary:hover{background:var(--copper-bright)}.btn-ghost{background:#070b1259;border-color:#9bb0c759;color:var(--paper)}.btn-ghost:hover{border-color:var(--mist)}.scanline{width:min(18rem,70vw);max-width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--signal),transparent);animation:pulse-line 3.2s ease-in-out infinite}.panel{position:relative;z-index:1;width:min(26rem,100%);max-width:100%;margin:auto auto clamp(2rem,6vh,4.5rem);padding:clamp(1.15rem,3vw,1.75rem);background:#0d1522e6;border:1px solid rgba(155,176,199,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:rise .7s ease-out both}.panel h2{margin:0 0 .35rem;font-family:var(--font-display);font-size:clamp(1rem,3.5vw,1.15rem);letter-spacing:.06em;text-transform:uppercase}.panel .hint{margin:0 0 1.1rem;color:var(--mist);font-size:.95rem}.field{display:grid;gap:.35rem;margin-bottom:.9rem;width:100%}.field label{font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--mist)}.field input{width:100%;min-height:var(--tap-min);padding:.75rem .85rem;border:1px solid rgba(155,176,199,.28);border-radius:2px;background:#070b12bf;color:var(--paper)}.field input:focus{outline:1px solid var(--copper);border-color:var(--copper)}.form-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;width:100%}.error{margin:0 0 .75rem;color:var(--danger);font-size:.95rem}.status{margin:0 0 .75rem;color:var(--signal);font-size:.95rem}.session{max-width:min(36rem,100%);width:100%;margin:auto auto clamp(2rem,6vh,4.5rem);padding:clamp(1.1rem,3vw,1.5rem);background:#0d1522d1;border:1px solid rgba(155,176,199,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:rise .7s ease-out both}.session h2{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(1rem,3.8vw,1.25rem);letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere}.session dl{display:grid;grid-template-columns:minmax(5.5rem,8rem) 1fr;gap:.45rem 1rem;color:var(--mist);margin:0}.session dt{text-transform:uppercase;font-size:.8rem;letter-spacing:.05em}.session dd{margin:0;color:var(--paper);overflow-wrap:anywhere}.site-env-footer{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:.45rem .75rem calc(.45rem + var(--safe-bottom));text-align:center;font-family:var(--font-body);font-size:clamp(.65rem,2.4vw,.78rem);letter-spacing:.05em;text-transform:uppercase;color:#9bb0c7d9;background:linear-gradient(to top,rgba(7,11,18,.95),rgba(7,11,18,.55),transparent);pointer-events:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.shell{background-position:58% top}.cta-row,.form-actions{flex-direction:column}.btn{width:100%}.session dl{grid-template-columns:1fr;gap:.2rem 0}.session dt{margin-top:.55rem}.session dt:first-child{margin-top:0}.hero{padding-block:0 clamp(2rem,6vh,3.25rem)}.panel,.session{margin-bottom:clamp(1.5rem,5vh,2.5rem)}}@media(max-height:500px)and (orientation:landscape){.shell{background-position:center 30%}.brand-mark{font-size:.95rem}.hero{padding-block:0 1.25rem;gap:.65rem}.hero h1{font-size:clamp(1.25rem,5vh,1.8rem)}.hero p{font-size:.95rem}.cta-row{flex-direction:row;flex-wrap:wrap}.btn{width:auto;min-height:2.4rem;padding:.55rem 1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.coming-soon-stage{grid-template-rows:auto 1fr auto}.coming-soon-loading{margin:auto 0;color:var(--mist)}.coming-soon{display:grid;align-content:end;align-self:end;gap:clamp(.75rem,2vh,1.1rem);max-width:min(36rem,100%);width:100%;padding-bottom:clamp(1.5rem,5vh,3rem);animation:rise .9s ease-out both}.coming-soon-kicker{margin:0;font-family:var(--font-display);font-size:clamp(.72rem,2.4vw,.85rem);letter-spacing:.16em;text-transform:uppercase;color:var(--signal)}.coming-soon h1{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,8vw,3.6rem);line-height:1.05;letter-spacing:.04em;text-shadow:0 2px 18px rgba(5,8,15,.85)}.coming-soon p{margin:0;color:var(--mist);font-size:clamp(1rem,2.8vw,1.2rem);line-height:1.5;text-shadow:0 2px 14px rgba(5,8,15,.8)}.dev-access{justify-self:start;width:min(22rem,100%);padding-bottom:.35rem}.dev-access-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#9bb0c78c;font-size:.78rem;letter-spacing:.04em;cursor:pointer;padding:.35rem 0;min-height:auto;text-decoration:underline;text-underline-offset:.18em}.dev-access-link:hover{color:#9bb0c7e6}.dev-access-form{display:grid;gap:.45rem;padding:.9rem;background:#0d1522e0;border:1px solid rgba(155,176,199,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dev-access-form label{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--mist)}.dev-access-form input{width:100%;min-height:var(--tap-min);padding:.7rem .8rem;border:1px solid rgba(155,176,199,.28);border-radius:2px;background:#070b12bf;color:var(--paper);font-size:16px}.dev-lock-chip{position:fixed;right:calc(.75rem + var(--safe-right));bottom:calc(2.4rem + var(--safe-bottom));z-index:30;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(155,176,199,.28);border-radius:2px;background:#070b12b8;color:#9bb0c7bf;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .55rem;cursor:pointer;touch-action:manipulation}.dev-lock-chip:hover{color:var(--paper);border-color:#9bb0c780}.ops-shell{position:relative;min-height:100dvh;width:100%;display:flex;flex-direction:column;color:var(--paper);background:radial-gradient(ellipse 80% 50% at 10% 0%,rgba(62,207,154,.08),transparent 55%),radial-gradient(ellipse 70% 45% at 90% 100%,rgba(196,122,58,.1),transparent 50%),linear-gradient(180deg,#0a1018 0%,var(--void) 45%,#080c14 100%);padding:calc(.85rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));animation:rise .45s ease-out both}.ops-topbar{display:grid;grid-template-columns:minmax(0,1.2fr) auto minmax(0,1fr);gap:.85rem 1.25rem;align-items:center;padding-bottom:.85rem;border-bottom:1px solid rgba(155,176,199,.18);flex:0 0 auto}.ops-brand{display:flex;align-items:center;gap:.85rem;min-width:0}.ops-title-block h1{margin:0;font-family:var(--font-display);font-weight:500;letter-spacing:.08em;font-size:clamp(1.05rem,2.8vw,1.35rem)}.ops-title-block p{margin:.15rem 0 0;color:var(--mist);font-size:.82rem}.ops-tabs{display:inline-flex;gap:.35rem;justify-self:center;padding:.25rem;border:1px solid rgba(155,176,199,.2);background:#0d1522a6}.ops-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--mist);min-height:2.4rem;padding:.45rem .95rem;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-family:var(--font-display)}.ops-tab.is-active{background:#3ecf9a24;color:var(--paper)}.ops-actions{display:flex;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.ops-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.75rem;padding-top:1rem}.ops-section{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.85rem}.ops-section-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.ops-section-actions{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0}.ops-section-head h2{margin:0;font-family:var(--font-display);font-weight:500;letter-spacing:.06em;font-size:clamp(1.15rem,3vw,1.45rem)}.ops-table-wrap{flex:1 1 auto;min-height:12rem;overflow:auto;border:1px solid rgba(155,176,199,.2);background:#0d1522d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-table{width:100%;border-collapse:collapse;font-size:.92rem}.admin-table th,.admin-table td{padding:.75rem .9rem;text-align:left;border-bottom:1px solid rgba(155,176,199,.12);vertical-align:middle}.admin-table th{position:sticky;top:0;background:#070b12f2;color:var(--mist);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;z-index:1}.admin-table tr.is-inactive td{opacity:.55}.admin-email{word-break:break-all;color:var(--mist)}.admin-table select{min-height:2.25rem;max-width:10.5rem;padding:.35rem .45rem;border:1px solid rgba(155,176,199,.28);border-radius:2px;background:#070b12bf;color:var(--paper)}.admin-check{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-check input{width:1.05rem;height:1.05rem;accent-color:var(--signal)}.role-lock{color:var(--copper-bright);font-size:.78rem;letter-spacing:.04em}.smtp-panel,.ops-smtp{margin:0;padding:1.1rem 1.15rem 1.25rem;border:1px solid rgba(155,176,199,.18);background:#0d1522c7;overflow:auto;flex:1 1 auto}.ops-create-user{margin:1.15rem 0 0;padding:1.1rem 1.15rem 1.25rem;border:1px solid rgba(155,176,199,.18);background:#0d1522c7}.ops-create-user h3,.smtp-panel h3{margin:0 0 .35rem;font-family:var(--font-display);font-weight:500;letter-spacing:.06em;font-size:1rem}.ops-create-user select{width:100%;padding:.7rem .8rem;border:1px solid rgba(155,176,199,.28);border-radius:2px;background:#070b12e6;color:var(--fog);font:inherit}.smtp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:.85rem 0}.smtp-grid .smtp-span{grid-column:1 / -1}.smtp-enable{align-self:end}@media(max-width:960px){.ops-topbar{grid-template-columns:1fr}.ops-tabs,.ops-actions{justify-self:stretch;justify-content:flex-start}}@media(max-width:720px){.smtp-grid{grid-template-columns:1fr}}
