@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{--bg:#0a0f0a;--green:#33ff66;--dim:#1a8f3a;--muted:#5a7a5a;--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--mono);color:var(--green);background:var(--bg);line-height:1.55;font-size:.9rem}
a{color:var(--green)}img{max-width:100%;display:block}
.term-bar{display:flex;justify-content:space-between;align-items:center;padding:.8rem 4vw;border-bottom:1px solid var(--dim);background:#060a06}
.term-logo{font-size:.85rem;text-decoration:none;color:var(--green)}
.term-logo::before{content:'$ '}
.term-nav{display:flex;gap:1.5rem;font-size:.75rem}
.term-nav a{color:var(--muted);text-decoration:none}
.term-nav a:hover,.term-nav a[aria-current=page]{color:var(--green)}
.term-toggle{display:none;background:var(--bg);border:1px solid var(--dim);color:var(--green);padding:.3rem .5rem;cursor:pointer}

.term-screen{padding:2rem 4vw;min-height:60vh}
.prompt{color:var(--muted)}.prompt::before{content:'> '}
.brand-line{font-size:clamp(2rem,6vw,4.5rem);font-weight:600;margin:1rem 0;line-height:1.1;text-shadow:0 0 20px rgba(51,255,102,.3)}
.cursor-blink::after{content:'█';animation:blink 1s step-end infinite}
@keyframes blink{50%{opacity:0}}

.episode-table{width:100%;border-collapse:collapse;margin:2rem 0}
.episode-table th,.episode-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid #1a2a1a}
.episode-table th{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.episode-table tr:hover td{background:#0f150f}
.ep-status{color:var(--dim)}

.waveform{display:flex;align-items:flex-end;gap:3px;height:60px;margin:2rem 0}
.waveform span{display:block;width:4px;background:var(--green);animation:wave 1.2s ease-in-out infinite}
.waveform span:nth-child(2){animation-delay:.1s;height:40%}
.waveform span:nth-child(3){animation-delay:.2s;height:70%}
.waveform span:nth-child(4){animation-delay:.3s;height:30%}
.waveform span:nth-child(5){animation-delay:.4s;height:90%}
.waveform span:nth-child(6){animation-delay:.5s;height:50%}
.waveform span:nth-child(7){animation-delay:.6s;height:80%}
.waveform span:nth-child(8){animation-delay:.7s;height:35%}
@keyframes wave{0%,100%{height:20%}50%{height:var(--h,80%)}}

.term-block{margin:2rem 0;padding:1rem;border:1px solid #1a2a1a;background:#060a06}
.term-block h2{font-size:1rem;margin:0 0 .5rem;color:var(--green)}
.term-block p{color:var(--muted);margin:0}
.term-block img{width:100%;max-width:500px;aspect-ratio:16/10;object-fit:cover;margin-top:1rem;border:1px solid #1a2a1a}

.log-entry{padding:1.5rem 4vw;border-bottom:1px solid #111}
.log-entry .ts{color:var(--dim);font-size:.7rem}
.log-entry h2{font-size:1rem;margin:.3rem 0}
.log-entry img{max-width:400px;aspect-ratio:16/10;object-fit:cover;margin-top:.8rem;border:1px solid #1a2a1a}

.term-note{margin:2rem 4vw;padding:1rem;border-left:2px solid var(--dim);color:var(--muted)}
.term-cta{margin:3rem 4vw;padding:2rem;border:1px solid var(--green);text-align:center}
.term-cta h2{margin:0 0 .5rem}
.btn{display:inline-block;padding:.6rem 1.2rem;border:1px solid var(--green);color:var(--green);background:transparent;text-decoration:none;font-family:var(--mono);cursor:pointer;margin-top:1rem}
.btn:hover{background:var(--green);color:var(--bg)}

.page-head{padding:2rem 4vw;border-bottom:1px solid #1a2a1a}
.page-head h1{font-size:clamp(1.5rem,4vw,2.5rem);margin:.5rem 0}
.form-box{padding:2rem 4vw;max-width:36rem}
.form-box label{display:block;margin-bottom:1rem;font-size:.8rem}
.form-box input,.form-box textarea{width:100%;padding:.6rem;background:#060a06;border:1px solid #1a2a1a;color:var(--green);font-family:var(--mono)}
.legal{padding:2rem 4vw;max-width:40rem}
footer{padding:1.5rem 4vw;border-top:1px solid #1a2a1a;color:var(--muted);font-size:.8rem}
footer .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.reveal{opacity:0;transform:translateX(-12px);transition:opacity .5s,transform .5s}
.reveal.in{opacity:1;transform:none}
.reveal-type{opacity:0;transition:opacity .3s}
.reveal-type.in{opacity:1}
@media(max-width:860px){
  .term-toggle{display:inline-block}
  .term-nav{display:none;position:absolute;right:4vw;top:48px;background:#060a06;padding:1rem;border:1px solid var(--dim);flex-direction:column}
  .term-nav.open{display:flex}
  .term-bar{position:relative}
  .episode-table{font-size:.8rem}
}

/* --- polished inner pages (site-token aware) --- */
html,body{overflow-x:hidden}
.inner-page{min-width:0}
.inner-hero{padding:clamp(2.5rem,6vw,4.5rem) clamp(1.2rem,5vw,4rem) 1.5rem;max-width:1100px;margin:0 auto}
.inner-hero h1{font-family:var(--font-display,var(--font-d,var(--font-poster,var(--font-cinema,var(--font-note,var(--font-big,serif))))));font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;margin:.35rem 0 .8rem}
.inner-kicker{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.65;margin:0}
.inner-lede{font-size:1.08rem;max-width:40rem;opacity:.85;margin:0}
.inner-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1rem,3vw,2.5rem);align-items:center;padding:1.5rem clamp(1.2rem,5vw,4rem) 2.5rem;max-width:1100px;margin:0 auto}
.inner-feature img{width:100%;aspect-ratio:16/10;object-fit:cover}
.inner-feature h2{font-family:var(--font-display,var(--font-d,var(--font-poster,serif)));font-size:clamp(1.5rem,3vw,2.2rem);margin:0 0 .7rem}
.inner-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;padding:0 clamp(1.2rem,5vw,4rem) 3rem;max-width:1100px;margin:0 auto}
.inner-trio img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:.7rem}
.inner-trio h3{font-family:var(--font-display,var(--font-d,serif));margin:0 0 .35rem;font-size:1.2rem}
.inner-trio p{margin:0;font-size:.95rem;opacity:.9}
.inner-steps{max-width:900px;margin:0 auto;padding:0 clamp(1.2rem,5vw,4rem) 3rem}
.inner-step{display:grid;grid-template-columns:88px 1fr;gap:1.1rem;padding:1.6rem 0;border-bottom:1px solid color-mix(in srgb, currentColor 14%, transparent)}
.inner-num{font-size:2.4rem;font-weight:700;line-height:1;opacity:.35;font-family:var(--font-display,var(--font-d,var(--mono,serif)))}
.inner-step img{width:100%;max-width:460px;aspect-ratio:3/2;object-fit:cover;margin-top:.85rem}
.inner-rails{max-width:1000px;margin:0 auto;padding:0 clamp(1.2rem,5vw,4rem) 3rem}
.inner-rail{display:grid;grid-template-columns:1.05fr .95fr;gap:1.5rem;align-items:center;padding:1.8rem 0;border-top:1px solid color-mix(in srgb, currentColor 12%, transparent)}
.inner-rail.flip{grid-template-columns:.95fr 1.05fr}
.inner-rail.flip img{order:2}
.inner-rail img{width:100%;aspect-ratio:5/4;object-fit:cover}
@media(max-width:800px){
  .inner-feature,.inner-trio,.inner-step,.inner-rail,.inner-rail.flip{grid-template-columns:1fr}
  .inner-rail.flip img{order:0}
  .timeline{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.timeline{grid-template-columns:1fr}}
/* kill old generic bleed that caused horizontal scroll */
.page-essay .bleed{width:100%;max-width:100%;margin:2rem 0;left:auto}
.page-mosaic,.page-steps,.page-essay,.page-ledger,.page-deck,.page-cards{max-width:1100px}
img{border:0;outline:0;box-shadow:none}
