/* merge.css — sections and effects ported from the Trekadelic draft into Astra's design system.
   Loads after style.css and only adds rules; Astra's tokens (--space, --ink, --muted, --mint, --cyan,
   --amber, --line, --display, --body, --mono) are reused throughout. */

/* ---------- page-wide warp starfield (driven by the same slider, Engage and Pause as the 3D scene) ---------- */
#page-stars{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.cosmic-stars{opacity:.3}

/* ---------- header: five links ---------- */
.site-header nav{flex-wrap:wrap}
@media(max-width:800px){.site-header nav{gap:14px;font-size:11px}}
@media(max-width:450px){.site-header nav{font-size:11px;gap:8px 12px;justify-content:flex-start}}

/* ---------- hero copy ---------- */
.hero-description em{font-style:italic;color:var(--ink)}

/* ---------- signal links ---------- */
.destination-icon.amber-icon{color:var(--amber);font-size:28px}

/* ---------- the book ---------- */
.cover-byline-ar{display:block;font:11px/1.4 var(--body);color:var(--cyan);letter-spacing:0;margin-top:4px}
.lecture-readout{list-style:none;margin:22px 0 0;padding:0 0 0 18px;border-left:2px solid var(--mint);display:grid;gap:9px}
.lecture-readout li{font:11px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.lecture-readout li span{color:var(--amber);margin-right:12px}
.lecture-readout li.more{color:var(--muted)}
.new-book-copy .science-faction{font-size:13px!important;line-height:1.7!important;color:#a9b3bb!important;font-style:italic;margin:0 0 22px}

/* ---------- the physics ---------- */
.physics-section{padding:105px 0 90px}
.physics-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;margin-bottom:46px}
.physics-heading h2{font:clamp(32px,3.4vw,50px)/1.25 var(--display);letter-spacing:-.06em;margin:0}
.physics-heading h2 span{color:var(--mint)}
.physics-intro{max-width:500px;color:#c1c8ce;font-size:16px;line-height:1.85;margin:22px 0 0}
.tictac{width:100%;max-width:520px;justify-self:end;filter:drop-shadow(0 14px 40px #0009)}
.ring{fill:none;stroke-width:2.5;stroke-linecap:round}
.ring.f{stroke:var(--cyan)}
.ring.b{stroke:var(--amber)}
.rings-f .ring{animation:ringF 2.4s ease-in-out infinite}
.rings-b .ring{animation:ringB 2.4s ease-in-out infinite}
.ring:nth-child(2){animation-delay:.3s}.ring:nth-child(3){animation-delay:.6s}.ring:nth-child(4){animation-delay:.9s}
@keyframes ringF{0%{opacity:.1;transform:translateX(0)}50%{opacity:.9}100%{opacity:.1;transform:translateX(-14px)}}
@keyframes ringB{0%{opacity:.9;transform:translateX(0)}100%{opacity:0;transform:translateX(38px)}}
.bet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.bet{position:relative;border:1px solid var(--line);border-radius:7px;padding:26px 28px 26px;background:linear-gradient(160deg,#0e151e,#0a0f17 70%);overflow:hidden;transition:transform .3s,border-color .3s}
.bet:hover{transform:translateY(-6px);border-color:#72f3ce55}
.bet .art-index{position:static;display:block;font:10px var(--mono);letter-spacing:.14em;color:var(--mint)}
.bet h3{font:clamp(24px,2.2vw,30px)/1.15 var(--display);letter-spacing:-.05em;margin:16px 0 12px;color:var(--ink)}
.bet p{margin:0;color:#c1c8ce;font-size:15px;line-height:1.8}
.bet p b{color:var(--ink)}
.bet .num{font:13px var(--mono);color:var(--cyan);letter-spacing:.06em;white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid #ffb96d66;color:var(--amber);padding:6px 11px;border-radius:20px}
.chip.test{border-color:#72f3ce66;color:var(--mint)}
.bench-line{font:clamp(18px,1.9vw,24px)/1.5 var(--body);font-weight:600;letter-spacing:-.025em;color:var(--ink);max-width:720px;margin:44px 0 0}
.signal-strip{margin:34px 0 0;padding-top:24px;border-top:1px solid var(--line);font:11px/2.2 var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.signal-strip i{font-style:normal;color:var(--amber);margin:0 14px}

/* ---------- the library: three new original tiles ---------- */
.classic .library-art{background:radial-gradient(ellipse at 30% 30%,#ff8a3d,#8f2d5e 48%,#2a1236);color:#ffe8d0}
.classic-sun{position:absolute;width:340px;height:340px;right:-90px;bottom:-110px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#ffd58a5c 0 6deg,transparent 6deg 14deg);animation:flower-turn 80s linear infinite}
.gate .library-art{background:radial-gradient(ellipse at 50% 60%,#1c2a66,#0b1130 50%,#070b13);color:#dfe6ff}
.gate-seam{position:absolute;left:50%;top:-12%;width:3px;height:124%;background:linear-gradient(#0000,#4ae0ef 30%,#ffffff 50%,#ffb96d 70%,#0000);box-shadow:0 0 28px #4ae0ef}
.gate-glow{position:absolute;left:50%;top:15%;width:200px;height:70%;transform:translateX(-50%);background:radial-gradient(ellipse,#4ae0ef33,transparent 70%);filter:blur(8px)}
.lectures .library-art{background:linear-gradient(160deg,#173b31,#0d2620 60%,#0a1a17);color:#e9f5e1}
.chalk-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff10 1px,transparent 1px),linear-gradient(90deg,#ffffff10 1px,transparent 1px);background-size:28px 28px}
.chalk-glyph{position:absolute;right:28px;top:34px;font:72px/1 var(--display);letter-spacing:-.06em;color:#c9f2d8;opacity:.85}
.jacket-note .inline-link{color:var(--mint);text-decoration:underline;text-underline-offset:4px}

/* ---------- the flight log ---------- */
.flight-log{padding:60px 0 100px}
.log-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;align-items:start}
.log-intro h2{font:clamp(32px,3.4vw,50px)/1.25 var(--display);letter-spacing:-.06em;margin:0}
.log-intro h2 span{color:var(--amber)}
.log-intro>p:not(.eyebrow){max-width:420px;color:#c1c8ce;font-size:16px;line-height:1.85;margin:24px 0 0}
.log{list-style:none;margin:0;padding:0 0 0 30px;border-left:1px solid var(--line)}
.log li{position:relative;padding:0 0 28px}
.log li:last-child{padding-bottom:0}
.log li::before{content:"";position:absolute;left:-35px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px #72f3ce77}
.log .sd{display:block;font:10px var(--mono);letter-spacing:.16em;color:var(--amber)}
.log p{margin:8px 0 0;color:#c1c8ce;font-size:15px;line-height:1.8}
.log p em{color:var(--ink)}

/* ---------- footer ---------- */
.footer-links>div{flex-wrap:wrap}
.footer-links .built-by{margin-top:8px!important}

/* ---------- responsive ---------- */
@media(max-width:1150px){.physics-heading{gap:30px}.tictac{max-width:420px}}
@media(max-width:800px){
  .physics-section{padding:65px 0}
  .physics-heading{grid-template-columns:1fr;gap:26px}
  .tictac{justify-self:center;max-width:420px}
  .physics-heading h2,.log-intro h2{font-size:34px}
  .bet-grid{grid-template-columns:1fr;gap:18px}
  .log-grid{grid-template-columns:1fr;gap:34px}
  .flight-log{padding:30px 0 70px}
  .signal-strip{line-height:2}
}
@media(prefers-reduced-motion:reduce){.rings-f .ring,.rings-b .ring,.classic-sun{animation:none!important}}
