/* Starbound Academy · premium dark layer (loaded after family.css) */
:root{color-scheme:dark;
--bg:#07090A;--surface:rgba(255,255,255,.045);--surface-2:rgba(255,255,255,.07);
--ink:#F3F5F4;--muted:#A3ADA9;--rule:rgba(255,255,255,.09);--rule-2:rgba(255,255,255,.16);
--accent:#5FD3B3;--accent-ink:#04110D;--accent-glow:rgba(95,211,179,.28);
--forest:#5FD3B3;--teal:#5FD3B3;--terra:#E8A387;--terra-text:#F0B49B;--soft:rgba(95,211,179,.08);
--cv-ink:200,210,206;--cv-teal:95,211,179;--cv-terra:232,163,135;
--sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter",system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
--r:18px;--r-sm:12px;--ease:cubic-bezier(.2,.7,.2,1);--t:200ms}
html{font-size:18px;background:var(--bg)}
@media (min-width:760px){html{font-size:19px}}
body{background:
 radial-gradient(1200px 640px at 80% -10%,rgba(95,211,179,.10),transparent 60%),
 radial-gradient(900px 600px at -10% 40%,rgba(80,120,255,.05),transparent 60%),
 linear-gradient(180deg,#0B0E10 0%,#07090A 45%,#050607 100%);background-attachment:fixed;
 color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
 overflow-x:hidden;font-feature-settings:"kern","ss01"}
::selection{background:var(--accent);color:var(--accent-ink)}
a{color:var(--accent);text-decoration-color:rgba(95,211,179,.4);transition:color var(--t) var(--ease),text-decoration-color var(--t) var(--ease)}
a:hover{text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px;box-shadow:0 0 0 6px var(--accent-glow)}
.skip{background:var(--accent);color:var(--accent-ink);border-radius:12px;font-weight:600}
.wrap{max-width:68rem;padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right))}

/* header */
header.top,header{background:rgba(7,9,10,.62)!important;-webkit-backdrop-filter:saturate(1.6) blur(20px);backdrop-filter:saturate(1.6) blur(20px);border-bottom:1px solid var(--rule)!important;padding-top:env(safe-area-inset-top)}
header.top .wrap{min-height:3.5rem;gap:.75rem}
.brand{color:var(--ink);font-weight:600;letter-spacing:-.015em;font-size:.95rem;min-width:0}
.brand>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand small{color:var(--muted);font-weight:400;letter-spacing:0;font-size:.7rem;margin-top:2px}
.brand img{width:1.9rem;height:1.9rem;filter:invert(1) hue-rotate(180deg) brightness(1.1);flex:none}
.navgames{color:var(--ink);border:1px solid var(--rule-2);border-radius:999px;min-height:44px;padding:0 1rem;font-weight:500;font-size:.85rem;background:var(--surface);transition:all var(--t) var(--ease)}
.navgames:hover{color:var(--ink);border-color:rgba(95,211,179,.5);box-shadow:0 0 0 4px rgba(95,211,179,.08),0 0 24px -6px var(--accent-glow)}

/* language toggle: segmented control, never clipped */
.lang{flex:none;display:inline-flex;gap:2px;padding:3px;border:1px solid var(--rule-2);border-radius:999px;background:rgba(255,255,255,.05);overflow:visible}
.lang button{min-width:48px;min-height:40px;padding:0 .8rem;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.04em;line-height:1;color:var(--muted);background:transparent;white-space:nowrap;transition:background var(--t) var(--ease),color var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.lang button:hover{color:var(--ink)}
.lang button[aria-pressed=true]{background:var(--ink);color:#07090A;box-shadow:0 1px 2px rgba(0,0,0,.4),0 0 18px -4px rgba(255,255,255,.35)}
.lang button:focus-visible{outline-offset:1px}

/* hero */
.hero{border-bottom:1px solid var(--rule);padding:4rem 0 3.5rem}
.hero::before{opacity:.12;filter:invert(1)}
@media (min-width:760px){.hero{padding:6rem 0 5rem}}
.eyebrow{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:rgba(95,211,179,.07);border:1px solid rgba(95,211,179,.22);border-radius:999px;padding:.4rem .85rem;margin-bottom:1.5rem}
h1,h2,h3{color:var(--ink);font-family:var(--sans)}
h1{font-size:clamp(2.1rem,7.4vw,3.9rem);font-weight:650;line-height:1.05;letter-spacing:-.04em;margin-bottom:1.25rem;max-width:16ch;
 background:linear-gradient(180deg,#FFFFFF 0%,#C9D1CE 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
h1 em{color:var(--accent);-webkit-text-fill-color:var(--accent)}
h2{font-size:clamp(1.5rem,4.6vw,2.25rem);font-weight:600;letter-spacing:-.03em;line-height:1.15;margin-bottom:.5rem}
h3{font-weight:600;letter-spacing:-.02em;line-height:1.25}
.lead{color:#C8D0CD;font-size:1.1rem;line-height:1.6;max-width:34rem;margin-bottom:2rem}
.sub{color:var(--muted);margin-bottom:2rem}
section{padding:4rem 0}
@media (min-width:760px){section{padding:5.5rem 0}}

/* buttons */
.btn{min-height:48px;padding:0 1.4rem;border-radius:999px;border:1px solid transparent;background:var(--ink);color:#07090A;font-weight:600;font-size:.9rem;letter-spacing:-.01em;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),background var(--t) var(--ease),border-color var(--t) var(--ease)}
.btn:hover{background:#fff;color:#07090A;border-color:transparent;box-shadow:0 0 0 4px rgba(255,255,255,.08),0 8px 30px -8px rgba(255,255,255,.35);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--rule-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.btn.ghost:hover{color:var(--ink);background:var(--surface-2);border-color:rgba(95,211,179,.5);box-shadow:0 0 0 4px rgba(95,211,179,.08),0 8px 30px -10px var(--accent-glow)}
.actions{gap:.75rem}

/* glass cards */
.card,.note,.shield,.reveal,.notice,.verse{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important;border:1px solid var(--rule)!important;border-radius:var(--r)!important;
 -webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 20px 50px -24px rgba(0,0,0,.8)!important;color:var(--ink)}
.card{padding:1.5rem}
@media (min-width:760px){.card{padding:2rem}}
.grid{gap:1rem}@media (min-width:760px){.grid{gap:1.25rem}}
.lesson,.missioncard,.note,.reveal{border-left:1px solid var(--rule)!important;position:relative}
.lesson::before,.missioncard::before,.note::before,.reveal::before{content:"";position:absolute;left:0;top:1.25rem;bottom:1.25rem;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--accent),rgba(95,211,179,0))}
.tag{color:var(--accent);font-size:.7rem;letter-spacing:.14em;font-weight:600}
.lesson ul,.card p,.card li{color:#C8D0CD}
.missioncard{font-size:1.05rem;line-height:1.75}
.verse{padding:1rem 1.25rem;border-radius:var(--r-sm)!important;color:#D6DCDA;box-shadow:none!important}
.verse cite{color:var(--muted)}
.ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:rgba(95,211,179,.08);border:1px solid rgba(95,211,179,.2);color:var(--accent);font-size:1.3rem!important;line-height:1;flex:none}
.ico svg{width:22px;height:22px}
h2 .h-ico{display:inline-block;width:.8em;height:.8em;vertical-align:-.05em;margin-left:.3em;color:var(--accent)}
a.card,a.card.game{color:var(--ink);transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}
a.card.game:hover,.card.path:hover{transform:translateY(-3px);border-color:rgba(95,211,179,.35)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(95,211,179,.12),0 24px 60px -24px var(--accent-glow)!important}
.card.path{transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}
a.card.game h3{margin:1rem 0 .5rem}
a.card.game .go{color:var(--accent);font-weight:600;font-size:.9rem;padding-top:1rem}
.games{background:radial-gradient(700px 360px at 15% 0%,rgba(95,211,179,.07),transparent 70%)!important}

/* watch & shield */
.watch{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0))!important;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.watch .card{color:var(--ink)}.watch .do,.watch .sub{color:#C8D0CD}.watch .do b{color:var(--ink)}.watch .src{color:var(--muted)}.watch a{color:var(--accent)}
.shield{border-style:solid!important;padding:1.5rem!important}

/* note + angel */
.note{padding:1.25rem 4.5rem 1.25rem 1.5rem!important;font-size:1rem}
.note strong{color:var(--terra-text)}
.angel{opacity:.55}.angel pre{color:var(--accent)}

/* bricks: quieter, monochrome glass */
.bricks{opacity:.16!important}
.brick{background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04))!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:4px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important}
.brick span{color:rgba(255,255,255,.55)!important;font-family:var(--sans)!important;font-weight:600}
.brick img{opacity:.35!important;filter:invert(1)}

/* you-clicked notice */
.notice{color:var(--ink);border-top:1px solid var(--rule)!important;padding:1.75rem 1.5rem!important}
.notice .kicker,.notice .ref{color:var(--muted)}
.notice h1{color:var(--ink);-webkit-text-fill-color:currentColor;background:none}
.calm{background:rgba(95,211,179,.08)!important;color:#BFEFE0!important;border:1px solid rgba(95,211,179,.22);border-radius:var(--r-sm)!important}
.reveal{padding:1.25rem 1.5rem!important}
.lens{border:1px solid var(--rule-2)!important;box-shadow:0 0 0 1px rgba(95,211,179,.3),0 20px 60px rgba(0,0,0,.7)!important}

footer{border-top:1px solid var(--rule);color:var(--muted);font-size:.8rem;padding-bottom:max(2.4rem,env(safe-area-inset-bottom))}
footer a{color:var(--muted)}footer a:hover{color:var(--ink)}
pre,code{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
img,svg,canvas{max-width:100%}

@media (max-width:420px){.brand small{display:none!important}.lang button{min-width:44px;padding:0 .7rem}}
@media (prefers-reduced-motion:reduce){a.card.game:hover,.card.path:hover,.btn:hover{transform:none}}
/* lander */
.term{border:1px solid rgba(95,211,179,.25)!important;border-radius:var(--r)!important;box-shadow:inset 0 0 60px rgba(95,211,179,.06),0 24px 60px -24px rgba(0,0,0,.9)!important}
.ctl button,.row2 button{border-radius:14px!important;border:1px solid var(--rule-2)!important;background:var(--surface-2)!important;color:var(--ink)!important;font-weight:600;transition:background var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.ctl .thr{background:var(--ink)!important;color:#07090A!important}
.ctl button.on,.row2 button[aria-pressed=true]{background:var(--accent)!important;color:var(--accent-ink)!important;border-color:var(--accent)!important;box-shadow:0 0 24px -4px var(--accent-glow)}
.buildcta{background:linear-gradient(135deg,rgba(95,211,179,.10),rgba(255,255,255,.03))!important;border:1px solid rgba(95,211,179,.25)!important;border-radius:var(--r)!important;color:var(--ink)}
/* shared module pages (modules/*) */
main{color:#D6DCDA}
main h1{font-family:var(--sans)}
main h2{color:var(--ink)!important;border-bottom:1px solid var(--rule)!important;padding-bottom:.5rem}
main h3{color:var(--terra-text)!important}
blockquote{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important;border:1px solid var(--rule)!important;border-left:2px solid var(--accent)!important;border-radius:var(--r-sm)!important;color:var(--ink)!important;padding:1rem 1.25rem!important}
code{background:rgba(255,255,255,.08)!important;border-radius:6px;color:var(--ink)}
details{background:rgba(95,211,179,.06)!important;border:1px solid rgba(95,211,179,.2);border-radius:var(--r-sm)!important;color:var(--ink)}
summary{min-height:44px;display:flex;align-items:center}
.checklist{border:1px solid var(--rule-2)!important;border-radius:var(--r)!important;background:var(--surface)}
hr{border:0;border-top:1px solid var(--rule)}
body>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.75rem max(1.25rem,env(safe-area-inset-right)) .75rem max(1.25rem,env(safe-area-inset-left));color:var(--ink);position:sticky;top:0;z-index:5}
.draft{background:rgba(240,180,155,.12)!important;color:var(--terra-text)!important;border:1px solid rgba(240,180,155,.3);border-radius:999px!important;font-family:var(--sans);font-size:.7rem;letter-spacing:.08em;font-weight:600}
.toggle{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--rule-2);border-radius:999px;background:rgba(255,255,255,.05)}
.toggle button{min-height:40px;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--muted)!important;font:600 .8rem var(--sans)!important;padding:0 .9rem!important;transition:all var(--t) var(--ease)}
.toggle button[aria-pressed=true]{background:var(--ink)!important;color:#07090A!important}
main,article{font-family:var(--sans)}
footer{font-family:var(--sans)}
@media print{body{background:#fff;color:#111}}
.draft{white-space:nowrap;display:inline-block}
