/* ============================================================
   VISHWAKARMA AI 2.0 — SHARED SOVEREIGN COSMOS THEME
   Tokens & components lifted verbatim from index.html so the
   sub-pages are pixel-consistent with the landing page.
   ============================================================ */
:root{
  --obsidian:#000000; --void:#030308;
  --gold:#c9a227; --gold-hot:#ffd558; --gold-dim:rgba(201,162,39,0.35);
  --cyan:#00f0ff; --cyan-dim:rgba(0,240,255,0.30);
  --white:#eef2f6; --grey:#8a93a3; --grey-dim:#4a5160;
  --hud:rgba(0,240,255,0.12); --panel:rgba(6,8,14,0.72);
  --mono:"Cascadia Code","JetBrains Mono",Consolas,"SF Mono",monospace;
  --brut:"Arial Black","Segoe UI Black",Impact,"Helvetica Neue",sans-serif;
  --body:"Segoe UI","Helvetica Neue",Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--obsidian); color:var(--white);
  font-family:var(--body); overflow-x:hidden; min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--gold);color:#000;}
a{color:var(--cyan);}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;}

/* ---------- cosmos backdrop (lightweight starfield) ---------- */
.cosmos-atmos{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
  background:radial-gradient(ellipse at 60% 40%,#05060f 0%,#000 70%);}
#cosmos-canvas{position:absolute;inset:0;display:block;}
.cosmos-nebula{position:absolute;border-radius:50%;filter:blur(90px);opacity:.42;
  mix-blend-mode:screen;will-change:transform;}
.cosmos-nebula.n1{width:55vw;height:55vw;top:-12%;left:-10%;
  background:radial-gradient(circle,rgba(0,120,140,.30),transparent 65%);}
.cosmos-nebula.n2{width:48vw;height:48vw;bottom:-18%;right:-10%;
  background:radial-gradient(circle,rgba(201,162,39,.14),transparent 66%);}

/* ---------- scanline + vignette to match index chrome ---------- */
.scanline{position:fixed;inset:0;z-index:2;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(255,255,255,.012) 4px);}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 42%,transparent 55%,rgba(0,0,0,.55) 100%);}

/* ---------- unified navigation ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 42px;gap:20px;flex-wrap:wrap;
  background:linear-gradient(180deg,rgba(0,0,0,.9),transparent);}
.nav-mark{font-family:var(--brut);font-size:15px;letter-spacing:.32em;
  color:var(--white);text-decoration:none;display:inline-flex;align-items:center;}
.nav-mark span{color:var(--gold-hot);}
.nav-mark .v-logo{width:22px;height:22px;overflow:visible;margin-right:.55rem;}
.nav-mark .v-logo .v-trace{fill:none;stroke:var(--cyan);stroke-width:2.4;
  stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 4px var(--cyan-dim));animation:vbreathe 2.6s ease-in-out infinite;}
.nav-mark .v-logo .v-node{fill:var(--cyan);animation:vbreathe 2.6s ease-in-out infinite;}
@keyframes vbreathe{0%,100%{opacity:.55;filter:drop-shadow(0 0 3px var(--cyan-dim));}
  50%{opacity:1;filter:drop-shadow(0 0 10px var(--cyan));}}
.nav-right{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.nav-link{font-family:var(--mono);font-size:11px;letter-spacing:.24em;
  color:var(--grey);text-decoration:none;text-transform:uppercase;
  padding:6px 0;transition:color .2s;position:relative;}
.nav-link:hover{color:var(--white);}
.nav-link.active{color:var(--gold-hot);}
.nav-link.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background:var(--gold-hot);box-shadow:0 0 10px var(--gold-dim);}
.nav-uplink{font-family:var(--mono);font-size:11px;letter-spacing:.24em;
  color:#000;background:var(--cyan);text-decoration:none;text-transform:uppercase;
  padding:10px 22px;font-weight:700;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  transition:background .25s,box-shadow .25s;}
.nav-uplink:hover{background:var(--gold-hot);box-shadow:0 0 30px var(--gold-dim);}

/* ---------- buttons (cut-corner, from index) ---------- */
.btn{font-family:var(--mono);font-size:12px;letter-spacing:.3em;text-transform:uppercase;
  text-decoration:none;font-weight:700;padding:16px 34px;display:inline-block;cursor:pointer;border:0;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
  transition:all .3s;}
.btn-gold{background:var(--gold);color:#000;}
.btn-gold:hover{background:var(--gold-hot);box-shadow:0 0 44px var(--gold-dim);transform:translateY(-2px);}
.btn-ghost{color:var(--cyan);border:1px solid var(--cyan-dim);background:rgba(0,240,255,.04);}
.btn-ghost:hover{background:rgba(0,240,255,.12);box-shadow:0 0 40px rgba(0,240,255,.15);transform:translateY(-2px);}

/* ---------- panels / glass ---------- */
.panel{background:var(--panel);border:1px solid rgba(255,255,255,.06);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);}

/* ---------- page shell ---------- */
.page{position:relative;z-index:5;padding:132px 8vw 0;max-width:1200px;margin:0 auto;}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--cyan);}
h1.title{font-family:var(--brut);font-size:clamp(34px,6vw,60px);line-height:1.02;
  letter-spacing:.01em;margin:14px 0 12px;text-wrap:balance;}
h1.title em{font-style:normal;color:var(--gold-hot);}
.lede{color:var(--grey);max-width:60ch;font-size:16px;line-height:1.65;}

/* ---------- footer + address ---------- */
footer.sov{position:relative;z-index:5;margin-top:120px;padding:34px 42px 14px;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.06);
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--grey);}
footer.sov b{color:var(--gold);font-weight:600;} footer.sov i{color:var(--cyan);font-style:normal;}
.cosmos-addr{position:relative;z-index:5;padding:16px 42px 30px;text-align:center;
  font-family:var(--mono);font-size:11px;line-height:1.7;letter-spacing:.06em;color:var(--grey);
  border-top:1px solid rgba(0,240,255,.14);}
.cosmos-addr b{color:var(--cyan);} .cosmos-addr .flag{color:var(--white);}

/* ---------- wormhole teleport ---------- */
.cosmos-warp{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:0;
  background:radial-gradient(circle at 50% 50%,rgba(0,240,255,.12) 0%,#02060a 45%,#000 100%);
  transition:opacity .28s ease;}
html.warping .cosmos-warp{opacity:1;}
html.warping .page,html.warping .authwrap,html.warping footer.sov{
  animation:warp-out .46s cubic-bezier(.5,0,.75,0) forwards;}
@keyframes warp-out{to{opacity:0;transform:scale(.9) translateZ(0);filter:blur(6px);}}
@keyframes warp-in{from{opacity:0;transform:scale(1.05) translateZ(0);filter:blur(5px);}
  to{opacity:1;transform:none;filter:none;}}
.cosmos-enter{animation:warp-in .5s cubic-bezier(.22,1,.36,1) both;}

@media (max-width:760px){
  nav{padding:14px 20px;} .page{padding-top:120px;}
  footer.sov{flex-direction:column;text-align:center;}
}
@media (prefers-reduced-motion:reduce){
  .nav-mark .v-logo *,.cosmos-nebula{animation:none !important;}
  html.warping .cosmos-warp{opacity:0;} html.warping *{animation:none !important;}
  .cosmos-enter{animation:none;}
}
