/* ============================================================
   ESTONIA.OS — living console · stylesheet
   Cyber-Nordic terminal: near-black, phosphor green, ice blue.
   Monospace everywhere. Scanlines. Surgical motion.
   ============================================================ */

:root{
  --bg:#05080a;
  --bg-2:#070d0f;
  --pane:#080f11;
  --pane-2:#0a1316;
  --line:#12261c;
  --line-2:#1b3a2a;
  --phos:#41ff7a;
  --phos-dim:#2bb957;
  --ice:#7fd7ff;
  --ice-dim:#4d93b5;
  --white:#e8f4ec;
  --dim:#5f7a6a;
  --faint:#3a4f43;
  --amber:#ffc857;
  --magenta:#ff5fa2;
  --red:#ff5555;
  --mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
  --rad:4px;
  --pad:clamp(16px,4vw,44px);
  --maxw:1220px;
  --ease:cubic-bezier(.22,.9,.28,1);
  --topbar-h:52px;
  --statusbar-h:30px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  font-family:var(--mono);
  background:var(--bg);
  color:var(--white);
  font-size:15px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  padding-bottom:var(--statusbar-h);
}
/* subtle phosphor glow on the void */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(1200px 500px at 15% -5%, rgba(65,255,122,.05), transparent 60%),
    radial-gradient(1000px 600px at 90% 110%, rgba(127,215,255,.045), transparent 60%);
}
main{position:relative;z-index:1}
img{max-width:100%;display:block}
a{color:var(--ice)}
.mono{font-family:var(--mono)}
.c-green{color:var(--phos)}
.c-ice{color:var(--ice)}
.c-dim{color:var(--dim)}
.c-amber{color:var(--amber)}
.c-magenta{color:var(--magenta)}
.c-red{color:var(--red)}

.skip{
  position:absolute;left:-999px;top:8px;z-index:400;
  background:var(--phos);color:#031007;padding:10px 16px;
  font-size:12px;font-weight:500;
}
.skip:focus{left:8px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.section{padding:clamp(72px,9vw,120px) 0;position:relative}
/* ASCII section separators */
.section + .section{border-top:1px dashed var(--line-2)}

/* ============ CRT overlay ============ */
.crt{
  position:fixed;inset:0;z-index:250;pointer-events:none;
  background:repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,.018) 0px,
    rgba(255,255,255,.018) 1px,
    transparent 1px,
    transparent 3px
  );
  mix-blend-mode:overlay;
}
.crt::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 50% 50%, transparent 62%, rgba(0,0,0,.32) 100%);
}
@media (prefers-reduced-motion:reduce){.crt{background:none}.crt::after{opacity:.5}}

/* ============ blinking caret ============ */
.caret{
  display:inline-block;width:.62em;height:1.05em;
  background:var(--phos);vertical-align:-.18em;margin-left:2px;
  animation:blink 1.06s steps(1) infinite;
}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.caret{animation:none}}

.live-dot{
  display:inline-block;width:7px;height:7px;background:var(--phos);
  border-radius:50%;margin-right:7px;vertical-align:1px;
  box-shadow:0 0 8px rgba(65,255,122,.8);
  animation:pulse-dot 2.2s steps(2) infinite;
}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.35}}

/* ============ BOOT SEQUENCE ============ */
.boot{
  position:fixed;inset:0;z-index:300;background:#030605;
  display:flex;align-items:center;justify-content:center;
  padding:24px;transition:opacity .5s var(--ease), visibility .5s;
}
.boot.done{opacity:0;visibility:hidden}
.boot-pane{width:min(760px,100%)}
.boot-log{
  font-family:var(--mono);font-size:clamp(11px,1.5vw,13.5px);line-height:1.75;
  color:var(--phos);white-space:pre-wrap;word-break:break-word;
  text-shadow:0 0 8px rgba(65,255,122,.35);
  min-height:50vh;
}
.boot-log .b-dim{color:var(--dim)}
.boot-log .b-ice{color:var(--ice)}
.boot-log .b-amber{color:var(--amber)}
.boot-log .b-white{color:var(--white)}
.boot-hint{color:var(--faint);font-size:11px;letter-spacing:.14em;margin-top:22px;animation:blink 1.4s steps(1) infinite}
@media (prefers-reduced-motion:reduce){.boot{display:none}}

/* ============ TOP BAR ============ */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:var(--topbar-h);
  display:flex;align-items:center;gap:clamp(12px,2.5vw,28px);
  padding:0 clamp(12px,3vw,32px);
  background:rgba(5,8,10,.92);
  border-bottom:1px solid var(--line-2);
  backdrop-filter:blur(8px);
  font-size:12.5px;
}
.prompt-id{
  text-decoration:none;font-weight:500;white-space:nowrap;
  min-height:44px;display:inline-flex;align-items:center;
}
.p-user{color:var(--phos)}
.p-at{color:var(--dim)}
.p-host{color:var(--ice)}
.p-path{color:var(--white)}
.topnav{display:flex;gap:2px;margin-left:auto}
.topnav a{
  color:var(--dim);text-decoration:none;padding:6px 10px;min-height:44px;
  display:inline-flex;align-items:center;letter-spacing:.02em;
  border:1px solid transparent;transition:color .18s,border-color .18s;
}
.topnav a::before{content:"$ ";color:var(--faint);transition:color .18s}
.topnav a:hover,.topnav a:focus-visible{color:var(--phos);border-color:var(--line-2)}
.topnav a:hover::before,.topnav a:focus-visible::before{color:var(--phos)}
.topnav a.nav-cta{color:#031007;background:var(--phos);border-color:var(--phos);font-weight:500;padding:6px 14px}
.topnav a.nav-cta::before{content:"";margin:0}
.topnav a.nav-cta:hover,.topnav a.nav-cta:focus-visible{background:var(--ice);border-color:var(--ice);color:#04121a}
.top-clock{display:flex;align-items:center;color:var(--white);white-space:nowrap}
.clock-zone{color:var(--faint);margin-left:8px;letter-spacing:.1em;font-size:10.5px}
.menu-btn{
  display:none;width:44px;height:44px;background:none;border:1px solid var(--line-2);
  cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.menu-btn span{display:block;width:18px;height:2px;background:var(--phos);transition:transform .25s,opacity .25s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{
  position:fixed;inset:var(--topbar-h) 0 var(--statusbar-h) 0;z-index:190;
  background:#040706;padding:28px 24px;overflow:auto;
}
.mobile-menu .mm-line{color:var(--dim);font-size:12px;margin-bottom:14px}
.mobile-menu nav{display:flex;flex-direction:column}
.mobile-menu nav a{
  color:var(--white);text-decoration:none;font-size:19px;padding:13px 4px;
  border-bottom:1px dashed var(--line-2);display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  min-height:52px;
}
.mobile-menu nav a::before{content:"$ ";color:var(--phos)}
.mobile-menu nav a:active{color:var(--phos)}
.mm-note{color:var(--faint);font-size:11px}
.mm-clock{margin-top:22px;color:var(--dim);font-size:12px}

/* ============ HERO ============ */
.hero{
  position:relative;min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  padding:calc(var(--topbar-h) + clamp(32px,6vh,72px)) 0 clamp(40px,6vh,64px);
  overflow:hidden;
}
.hero-photo{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) contrast(1.25) brightness(.55) sepia(1) hue-rotate(88deg) saturate(2.4);
  opacity:.26;mix-blend-mode:screen;
}
.rain{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.hero::after{ /* fade rain into page */
  content:"";position:absolute;inset:auto 0 0 0;height:34%;
  background:linear-gradient(to bottom,transparent,var(--bg));
  pointer-events:none;
}
.hero-wrap{position:relative;z-index:2;min-width:0;width:100%}
.banner{
  font-size:min(clamp(4.6px,1.18vw,13.5px), calc((100vw - 2 * var(--pad)) / 68));
  line-height:1.12;
  color:var(--phos);
  text-shadow:0 0 14px rgba(65,255,122,.4);
  margin-bottom:clamp(16px,3vh,28px);
  user-select:none;
  position:relative;
  transform-origin:left top;
}
.banner::after{ /* glitch ghost */
  content:attr(aria-label);position:absolute;left:0;top:0;opacity:0;
  color:var(--ice);clip-path:inset(20% 0 55% 0);font-size:inherit;
}
.hero.glitch .banner{animation:glitch-x .22s steps(2) 2}
.hero.glitch .banner::after{opacity:.75;animation:glitch-clip .22s steps(2) 2}
@keyframes glitch-x{
  0%{transform:translateX(0)}25%{transform:translateX(-3px)}
  50%{transform:translateX(2px)}100%{transform:translateX(0)}
}
@keyframes glitch-clip{
  0%{clip-path:inset(15% 0 60% 0)}50%{clip-path:inset(55% 0 10% 0)}100%{clip-path:inset(30% 0 40% 0)}
}
@media (prefers-reduced-motion:reduce){
  .hero.glitch .banner,.hero.glitch .banner::after{animation:none}
}
.hero-tag{max-width:760px;font-size:clamp(12.5px,1.35vw,15px);margin-bottom:clamp(22px,3.5vh,34px)}

/* terminal window chrome */
.term{
  background:var(--pane);
  border:1px solid var(--line-2);
  border-radius:var(--rad);
  box-shadow:0 0 0 1px rgba(0,0,0,.6), 0 18px 50px rgba(0,0,0,.5), inset 0 0 60px rgba(65,255,122,.025);
  overflow:hidden;
}
.term-bar{
  display:flex;align-items:center;gap:12px;
  padding:9px 14px;
  background:var(--pane-2);
  border-bottom:1px solid var(--line-2);
  font-size:11.5px;color:var(--dim);letter-spacing:.04em;
  min-height:34px;
}
.tb-dots{display:inline-flex;gap:6px}
.tb-dots i{width:9px;height:9px;border-radius:50%;border:1px solid var(--line-2);background:#0d1a14}
.tb-dots i:nth-child(1){background:rgba(255,85,85,.55)}
.tb-dots i:nth-child(2){background:rgba(255,200,87,.55)}
.tb-dots i:nth-child(3){background:rgba(65,255,122,.55)}
.tb-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-meta{margin-left:auto;white-space:nowrap;font-size:10.5px;color:var(--faint)}
.term-body{padding:clamp(14px,2.4vw,24px)}

.hero-term{max-width:860px}
.hero-term .term-body{min-height:172px;max-height:min(48vh,440px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
.tline{font-size:clamp(12px,1.25vw,14px);margin-bottom:.35em;word-break:break-word}
.tline.out{color:var(--white);opacity:.92;max-width:72ch}
.tp{color:var(--phos);font-weight:500;white-space:nowrap}
.tt{color:var(--white)}
.tt.typing::after{content:"▮";color:var(--phos);animation:blink .9s steps(1) infinite}
.term-input{
  display:flex;align-items:center;gap:10px;
  padding:12px clamp(14px,2.4vw,24px);
  border-top:1px dashed var(--line-2);
}
.term-input .tp{font-size:clamp(12px,1.25vw,14px)}
.term-input input{
  flex:1;background:none;border:none;outline:none;
  color:var(--white);font-family:var(--mono);font-size:clamp(12px,1.25vw,14px);
  min-height:44px;caret-color:var(--phos);
}
.term-input input::placeholder{color:var(--faint)}
.term-input:focus-within{background:rgba(65,255,122,.04)}

/* pulse row */
.pulse{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line-2);border:1px solid var(--line-2);
  margin:clamp(24px,4vh,40px) 0;max-width:960px;
}
.pulse-cell{background:var(--bg);padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.pc-key{color:var(--faint);font-size:10.5px;letter-spacing:.08em}
.pc-key::before{content:"> ";color:var(--faint)}
.pc-val{color:var(--white);font-size:clamp(17px,2vw,23px);font-weight:500}
.pc-note{color:var(--dim);font-size:10.5px;line-height:1.45}

.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:12px 22px;
  background:var(--phos);color:#031007;
  font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.02em;
  text-decoration:none;border:1px solid var(--phos);
  cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s;
}
.btn:hover,.btn:focus-visible{background:var(--ice);border-color:var(--ice);transform:translateY(-2px)}
.btn-ice{background:transparent;color:var(--ice);border-color:var(--ice-dim)}
.btn-ice:hover,.btn-ice:focus-visible{background:var(--ice);color:#04121a;border-color:var(--ice)}
.btn-small{min-height:44px;padding:10px 16px;font-size:12px}
.scroll-cue{
  position:relative;z-index:2;
  margin:clamp(22px,4vh,44px) auto 0;
  color:var(--faint);font-size:10.5px;letter-spacing:.2em;text-align:center;
  animation:cue 2.4s ease-in-out infinite;
}
@keyframes cue{0%,100%{opacity:.35}50%{opacity:1}}

/* ============ TICKER ============ */
.ticker{
  display:flex;align-items:stretch;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);
  background:var(--bg-2);overflow:hidden;position:relative;z-index:1;
}
.ticker-label{
  flex:0 0 auto;display:flex;align-items:center;padding:10px 16px;
  color:var(--amber);font-size:10.5px;letter-spacing:.08em;
  border-right:1px solid var(--line-2);background:var(--bg-2);z-index:2;
}
.ticker-track{
  display:flex;align-items:center;gap:0;white-space:nowrap;
  animation:tick 46s linear infinite;padding:10px 0;
}
.ticker-track span{color:var(--dim);font-size:11.5px;padding:0 14px}
.ticker-track span b{color:var(--phos);font-weight:500}
.ticker-track span::after{content:"·";color:var(--faint);margin-left:28px}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none;flex-wrap:wrap;white-space:normal}}

/* ============ section headers ============ */
.cmd{
  color:var(--phos);font-size:clamp(12px,1.3vw,14px);font-weight:500;
  margin-bottom:14px;letter-spacing:.02em;
}
.cmd::before{content:"";display:inline-block}
.cmd.typing::after{content:"▮";color:var(--phos);animation:blink .9s steps(1) infinite}
.h{
  font-size:clamp(26px,4.4vw,52px);line-height:1.14;font-weight:500;
  letter-spacing:-.01em;margin-bottom:18px;max-width:20ch;
}
.lede{max-width:68ch;color:var(--dim);font-size:clamp(13px,1.35vw,15.5px);margin-bottom:clamp(34px,5vw,58px)}
.lede strong,.note-block strong{color:var(--white)}

/* reveal: terminal wipe */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ============ generic panes ============ */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}
.pane{
  background:var(--pane);border:1px solid var(--line-2);border-radius:var(--rad);
  padding:0 0 22px;overflow:hidden;
  transition:border-color .2s, transform .2s;
}
.pane:hover{border-color:var(--phos-dim)}
.pane-bar{
  display:flex;justify-content:space-between;gap:10px;
  padding:9px 14px;margin-bottom:18px;
  background:var(--pane-2);border-bottom:1px solid var(--line-2);
  font-size:11px;color:var(--dim);letter-spacing:.06em;
}
.pane h3{font-size:clamp(15px,1.5vw,18px);font-weight:500;color:var(--white);margin:0 18px 10px}
.pane p{margin:0 18px;color:#b9cdc1;font-size:13.5px}
.pane .big-num{margin:0 18px 8px;font-size:clamp(38px,4.5vw,58px);font-weight:500;color:var(--phos);line-height:1;text-shadow:0 0 18px rgba(65,255,122,.3)}
.pane .big-num i{font-style:normal;font-size:.45em;color:var(--phos-dim);margin-left:4px}
.pane-tag{margin:14px 18px 0 !important;color:var(--ice-dim) !important;font-size:11px !important}
.note-block{
  margin-top:clamp(20px,3vw,32px);padding:18px 20px;
  border:1px dashed var(--line-2);border-radius:var(--rad);
  color:#b9cdc1;font-size:13.5px;max-width:900px;
}
.note-cmd{color:var(--amber);font-size:11.5px;letter-spacing:.08em;margin-bottom:8px}

/* ============ DAY TRACE ============ */
.day-layout{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  gap:clamp(20px,3vw,44px);align-items:start;
}
.day-stage{position:sticky;top:calc(var(--topbar-h) + 20px)}
.stage-term canvas{width:100%;height:auto;display:block;background:#04100a}
.stage-status{
  padding:11px 14px;border-top:1px solid var(--line-2);
  font-size:11.5px;color:var(--white);letter-spacing:.05em;
  display:flex;align-items:center;gap:8px;min-height:40px;
}
.day-beats{list-style:none;display:flex;flex-direction:column;gap:clamp(40px,7vh,80px);padding:8vh 0 12vh}
.beat{
  display:grid;grid-template-columns:64px 1fr;gap:16px;
  padding:18px;border:1px solid transparent;border-radius:var(--rad);
  opacity:.38;transition:opacity .35s,border-color .35s,background .35s;
}
.beat.active{opacity:1;border-color:var(--line-2);background:var(--pane)}
.beat-ts{color:var(--ice);font-size:12.5px;padding-top:3px;white-space:nowrap}
.beat.active .beat-ts{color:var(--phos)}
.beat h3{font-size:clamp(14.5px,1.45vw,17.5px);font-weight:500;color:var(--white);margin-bottom:8px}
.beat h3 span{font-weight:400;font-size:.8em;margin-right:8px}
.beat p{color:#a9bdb2;font-size:13.5px;max-width:58ch}
.beat em{color:var(--ice);font-style:normal;border-bottom:1px dotted var(--ice-dim)}

/* ============ PILLARS ============ */
.pillar-tabs{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0;
  border:1px solid var(--line-2);border-bottom:none;border-radius:var(--rad) var(--rad) 0 0;
  background:var(--bg-2);padding:12px;
}
.pillar-tabs button{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;
  background:none;border:1px solid var(--line-2);color:var(--dim);
  padding:10px 14px;min-height:44px;cursor:pointer;border-radius:2px;
  transition:color .18s,border-color .18s,background .18s;
}
.pillar-tabs button i{font-style:normal;color:var(--faint);margin-right:8px;font-size:10.5px}
.pillar-tabs button:hover{color:var(--white);border-color:var(--phos-dim)}
.pillar-tabs button[aria-selected="true"]{
  color:#031007;background:var(--phos);border-color:var(--phos);font-weight:500;
}
.pillar-tabs button[aria-selected="true"] i{color:#0a3a1d}
.pillar-panels .pillar-panel{border-radius:0 0 var(--rad) var(--rad)}
.pillar-panel{display:none}
.pillar-panel.active{display:block}
.panel-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(18px,3vw,40px);padding:clamp(18px,3vw,36px)}
.panel-copy h3{font-size:clamp(19px,2.2vw,27px);font-weight:500;color:var(--white);margin-bottom:14px}
.panel-copy h3::before{content:"## ";color:var(--faint)}
.panel-copy > p{color:#b9cdc1;font-size:14px;max-width:64ch;margin-bottom:20px}
.kv{list-style:none;margin-bottom:24px;border-top:1px dashed var(--line-2)}
.kv li{
  display:flex;justify-content:space-between;gap:16px;padding:9px 2px;
  border-bottom:1px dashed var(--line-2);font-size:12.5px;
}
.kv li span{color:var(--dim)}
.kv li span::before{content:"> ";color:var(--faint)}
.kv li b{color:var(--phos);font-weight:500;text-align:right}

/* signature demo */
.sig-demo{border:1px dashed var(--line-2);border-radius:var(--rad);padding:16px;background:rgba(65,255,122,.02)}
.sig-cmd{color:var(--phos);font-size:12px;margin-bottom:12px}
.sig-doc{background:#031007;border:1px solid var(--line);padding:14px;margin-bottom:14px}
.sig-doc-text{color:var(--white);font-size:13px;margin-bottom:10px}
.sig-doc-text span{color:var(--ice)}
.sig-hash-line{font-size:11px;word-break:break-all}
.sig-hash-line code{color:var(--phos)}
.sig-stamp{color:#031007;background:var(--phos);display:inline-block;padding:6px 10px;font-size:11.5px;font-weight:500;margin-top:10px;transform:rotate(-1.2deg)}
.sig-controls{display:flex;gap:10px;flex-wrap:wrap}
.sig-controls input{
  flex:1;min-width:180px;background:#031007;border:1px solid var(--line-2);
  color:var(--white);font-family:var(--mono);font-size:13px;padding:11px 12px;min-height:44px;outline:none;
}
.sig-controls input:focus{border-color:var(--phos)}
.sig-controls input::placeholder{color:var(--faint)}
.sig-note{color:var(--faint);font-size:10.5px;margin-top:12px;line-height:1.5}

/* phosphor photography */
.panel-media{display:flex;flex-direction:column}
.panel-media img{width:100%;height:100%;min-height:260px;object-fit:cover;filter:grayscale(1) contrast(1.18) brightness(.82)}
.phosphor{position:relative;background:#031007;border:1px solid var(--line-2);overflow:hidden}
.phosphor::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    repeating-linear-gradient(to bottom, rgba(65,255,122,.05) 0 1px, transparent 1px 3px),
    linear-gradient(150deg, rgba(65,255,122,.22), rgba(3,16,7,.5) 70%);
  mix-blend-mode:hard-light;
}
.phosphor figcaption{
  padding:10px 12px;font-size:10.5px;color:var(--dim);
  border-top:1px solid var(--line-2);background:var(--pane-2);
}

/* ============ X-ROAD ============ */
.xroad-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(16px,2.5vw,28px);align-items:start}
.xroad-stage{display:flex;flex-direction:column}
#xroadCanvas{width:100%;height:clamp(380px,52vh,560px);display:block;background:#04100a;touch-action:manipulation}
.xroad-side{display:flex;flex-direction:column;gap:14px}
.xd-body{padding:16px 18px}
.xd-body h3{color:var(--white);font-size:16.5px;font-weight:500;margin-bottom:8px}
.xd-body h3::before{content:"## ";color:var(--faint)}
.xd-body p{color:#b9cdc1;font-size:13px}
.xd-meta{margin-top:14px;border-top:1px dashed var(--line-2)}
.xd-meta div{padding:9px 0;border-bottom:1px dashed var(--line-2);font-size:12px}
.xd-meta dt{color:var(--amber);letter-spacing:.06em;margin-bottom:3px}
.xd-meta dd{color:var(--white)}
.xroad-procs .xroad-nodelist{list-style:none;padding:6px 0}
.xroad-nodelist button{
  display:flex;width:100%;align-items:center;gap:10px;text-align:left;
  background:none;border:none;border-bottom:1px dashed var(--line);
  color:var(--dim);font-family:var(--mono);font-size:12px;
  padding:11px 14px;min-height:44px;cursor:pointer;
  transition:color .15s,background .15s;
}
.xroad-nodelist button .pid{color:var(--faint);flex:0 0 46px}
.xroad-nodelist button .st{margin-left:auto;color:var(--faint);font-size:10.5px}
.xroad-nodelist button:hover{color:var(--white);background:rgba(65,255,122,.05)}
.xroad-nodelist button[aria-pressed="true"]{color:var(--phos);background:rgba(65,255,122,.08)}
.xroad-nodelist button[aria-pressed="true"] .st{color:var(--phos)}
.xroad-facts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line-2);border:1px solid var(--line-2);
}
.xroad-facts div{background:var(--bg);padding:12px;display:flex;flex-direction:column;gap:2px}
.xroad-facts b{color:var(--ice);font-weight:500;font-size:15px}
.xroad-facts span{color:var(--faint);font-size:10px;line-height:1.4}
.export-line{color:var(--dim);font-size:12px;margin-top:26px;max-width:88ch;line-height:1.7}

/* ============ SCRIPT SECTIONS (e-residency / adoption arc) ============ */
.script{list-style:none;padding:clamp(16px,2.6vw,28px)}
.script-step{padding:14px 0;border-bottom:1px dashed var(--line-2)}
.script-step:last-child{border-bottom:none}
.ss-head{color:var(--white);font-size:14px;margin-bottom:6px}
.ss-body{color:#b9cdc1;font-size:13px;max-width:72ch;margin-bottom:8px;padding-left:20px}
.ss-out{font-size:12px;color:var(--dim);padding-left:20px}
.arc-term{margin-top:clamp(24px,4vw,40px)}

.er-band{
  margin-top:clamp(28px,4vw,44px);
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(18px,3vw,36px);
  align-items:center;
  border:1px solid var(--line-2);border-radius:var(--rad);
  padding:clamp(20px,3vw,34px);background:var(--pane);
}
.er-band blockquote p{color:var(--white);font-size:clamp(14px,1.6vw,17.5px);line-height:1.65}
.er-band blockquote p::before{content:"> ";color:var(--phos)}
.er-band blockquote footer{color:var(--faint);font-size:11px;margin-top:12px}
.er-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.er-stats div{border-left:2px solid var(--phos-dim);padding-left:12px}
.er-stats b{display:block;color:var(--phos);font-weight:500;font-size:clamp(16px,1.9vw,22px)}
.er-stats span{color:var(--dim);font-size:10.5px}

/* ============ SYSCTL ============ */
.sysctl{padding:8px 0}
.sys-row{
  display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,1fr);
  gap:12px;padding:13px clamp(14px,2.4vw,24px);
  border-bottom:1px dashed var(--line);align-items:baseline;
  font-size:clamp(12px,1.3vw,14px);
}
.sys-row:last-child{border-bottom:none}
.sys-key{color:var(--dim);overflow-wrap:anywhere}
.sys-eq{color:var(--faint)}
.sys-val{color:var(--phos);font-weight:500;text-align:right;text-shadow:0 0 12px rgba(65,255,122,.25)}

/* ============ NEWS LOG ============ */
.news-log{padding:6px 0}
.log-line{
  display:grid;grid-template-columns:150px 74px 1fr;gap:14px;
  padding:16px clamp(14px,2.4vw,24px);
  border-bottom:1px dashed var(--line);
  transition:background .2s;
}
.log-line:hover{background:rgba(65,255,122,.03)}
.log-line:last-child{border-bottom:none}
.ll-ts{font-size:11px;padding-top:2px;white-space:nowrap}
.ll-lvl{font-size:11px;padding-top:2px;font-weight:500}
.ll-body h3{font-size:clamp(14px,1.5vw,17px);font-weight:500;color:var(--white);margin-bottom:6px}
.ll-body p{color:#a9bdb2;font-size:12.5px;max-width:76ch}
.log-link{color:var(--ice);text-decoration:none;border-bottom:1px dotted var(--ice-dim)}
.log-link:hover{color:var(--phos);border-color:var(--phos-dim)}

/* ============ CONNECT ============ */
.connect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px);align-items:stretch}
.connect-card{text-decoration:none;display:flex;flex-direction:column}
.connect-card h3{color:var(--phos);font-size:15.5px;font-weight:500}
.pane.connect-card:hover{transform:translateY(-3px)}
.connect-card .cc-go{margin:auto 18px 0;padding-top:16px;color:var(--ice);font-size:12px}
.connect-card:hover .cc-go{color:var(--phos)}
.form-card{padding-bottom:18px}
.form-card form{padding:16px 18px 0;display:flex;flex-direction:column;gap:12px}
.form-card label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--amber);letter-spacing:.05em}
.form-card input,.form-card select{
  background:#031007;border:1px solid var(--line-2);color:var(--white);
  font-family:var(--mono);font-size:13px;padding:11px 12px;min-height:44px;outline:none;
  border-radius:0;appearance:none;-webkit-appearance:none;
}
.form-card select{
  background-image:linear-gradient(45deg,transparent 49%,var(--phos) 50%),linear-gradient(-45deg,transparent 49%,var(--phos) 50%);
  background-position:calc(100% - 18px) 55%,calc(100% - 12px) 55%;
  background-size:6px 6px;background-repeat:no-repeat;
}
.form-card input:focus,.form-card select:focus{border-color:var(--phos)}
.form-card input::placeholder{color:var(--faint)}
.form-status{font-size:11.5px;color:var(--phos);min-height:1.5em;letter-spacing:.03em}
.form-status.err{color:var(--red)}

/* ============ FOOTER ============ */
.site-foot{
  border-top:1px solid var(--line-2);background:#030605;
  padding:clamp(40px,6vw,64px) 0 calc(24px + var(--statusbar-h));
  position:relative;z-index:1;
}
.foot-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,2fr) minmax(0,2fr) minmax(0,4fr);gap:clamp(20px,3vw,44px);margin-bottom:36px}
.foot-logo{color:var(--white);font-size:13px;margin-bottom:14px}
.foot-brand p:not(.foot-logo){color:var(--dim);font-size:12px;max-width:46ch}
.foot-h{color:var(--amber);font-size:10.5px;letter-spacing:.14em;margin-bottom:12px}
.foot-col a{display:block;color:var(--dim);text-decoration:none;font-size:12.5px;padding:5px 0;min-height:30px}
.foot-col a::before{content:"$ ";color:var(--faint)}
.foot-col a:hover{color:var(--phos)}
.credits p:not(.foot-h){color:var(--faint);font-size:10.5px;line-height:1.7}
.foot-base{
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  border-top:1px dashed var(--line-2);padding-top:18px;
  color:var(--faint);font-size:10.5px;letter-spacing:.06em;
}

/* ============ STATUS BAR ============ */
.statusbar{
  position:fixed;left:0;right:0;bottom:0;z-index:200;
  height:var(--statusbar-h);
  display:flex;align-items:center;gap:0;
  background:var(--phos);color:#031007;
  font-size:10.5px;font-weight:500;letter-spacing:.06em;
  padding:0 4px;user-select:none;
}
.sb-item{padding:0 12px;border-right:1px solid rgba(3,16,7,.25);white-space:nowrap;display:flex;align-items:center;height:100%}
.sb-item b{margin-left:5px}
.sb-brand{background:#031007;color:var(--phos)}
.sb-right{margin-left:auto;border-right:none;border-left:1px solid rgba(3,16,7,.25)}
.sb-right .live-dot{background:#031007;box-shadow:none;animation:none}

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .topnav{display:none}
  .menu-btn{display:flex;margin-left:auto}
  .top-clock{margin-left:auto}
  .menu-btn{margin-left:0}
  .day-layout{grid-template-columns:1fr}
  .day-stage{position:relative;top:0;max-width:640px}
  .xroad-layout{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .connect-grid{grid-template-columns:1fr}
  .panel-grid{grid-template-columns:1fr}
  .er-band{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:14px}
  .pulse{grid-template-columns:1fr 1fr}
  .clock-zone{display:none}
  .log-line{grid-template-columns:1fr;gap:4px}
  .ll-ts,.ll-lv{padding-top:0}
  .sys-row{grid-template-columns:1fr;gap:2px}
  .sys-val{text-align:left}
  .sb-hide-m{display:none}
  .foot-grid{grid-template-columns:1fr}
  .beat{grid-template-columns:52px 1fr;padding:14px;gap:10px}
  .hero-actions .btn{flex:1 1 100%}
  #xroadCanvas{height:min(72vw,420px)}
}
@media (max-width:400px){
  .banner{letter-spacing:-.05em}
}

/* focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:2px solid var(--ice);outline-offset:2px;
}
