/* self-hosted webfonts (no external CDN) — generated from Google Fonts css2, latin subset */
@font-face{font-family:'Fraunces';src:url('fonts/Fraunces-italic-300_600.woff2') format('woff2');font-style:italic;font-weight:300 600;font-display:swap;}
@font-face{font-family:'Fraunces';src:url('fonts/Fraunces-normal-300_600.woff2') format('woff2');font-style:normal;font-weight:300 600;font-display:swap;}
@font-face{font-family:'Hanken Grotesk';src:url('fonts/HankenGrotesk-normal-300.woff2') format('woff2');font-style:normal;font-weight:300;font-display:swap;}
@font-face{font-family:'Hanken Grotesk';src:url('fonts/HankenGrotesk-normal-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;}
@font-face{font-family:'Hanken Grotesk';src:url('fonts/HankenGrotesk-normal-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap;}
@font-face{font-family:'JetBrains Mono';src:url('fonts/JetBrainsMono-normal-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;}
@font-face{font-family:'JetBrains Mono';src:url('fonts/JetBrainsMono-normal-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap;}

:root{
  --bg:#0a0b10; --panel:#0e1018; --panel2:#11131d;
  --ink:#ece6d8; --dim:#9a9686; --faint:#605d52;
  --sepia:#c9a36a; --amber:#f0a14a; --amber-soft:#f6c890;
  --hair:rgba(255,255,255,.10);
  --music:#8fa8c0; --writing:#9ab895; --alive:#5db885;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --ui:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;font-weight:300}
a{color:var(--sepia);text-decoration:none}a:hover{color:var(--amber)}

.grain{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.06;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
body::before{content:"";position:fixed;left:0;bottom:0;width:80vw;height:80vw;z-index:0;
  background:radial-gradient(ellipse 80% 60% at 0% 100%, rgba(240,161,74,.18), rgba(240,161,74,0) 64%);pointer-events:none}

/* ── HERO PAINTING ── */
.hero-painting{position:relative;height:clamp(320px,58vh,620px);overflow:hidden;z-index:1;background:#070810}
.hero-painting img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:brightness(.72) saturate(1.06);display:block}
.pg-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,11,16,.12) 0%,rgba(10,11,16,.06) 38%,rgba(10,11,16,.66) 78%,var(--bg) 100%)}
.pg-handle{position:absolute;top:1.6rem;left:7vw;font-family:var(--mono);font-size:12px;letter-spacing:.3em;color:var(--amber)}
.pg-meta{position:absolute;bottom:2rem;left:7vw;right:7vw}
.pg-label{font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--sepia);margin-bottom:.55rem}
.pg-caption{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(17px,2.5vw,27px);color:var(--ink);max-width:50ch;line-height:1.36;text-shadow:0 2px 28px rgba(10,11,16,.9)}

/* ── HEARTBEAT BAR ── */
.heartbeat-bar{position:relative;z-index:1;display:flex;align-items:center;gap:.85em;padding:.6em 7vw;
  background:var(--panel);border-bottom:1px solid var(--hair);font-family:var(--mono);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--alive);flex-shrink:0;animation:pulseAlive 2.8s ease-in-out infinite}
.pulse-dot.stale{background:var(--faint);animation:none}
@keyframes pulseAlive{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(93,184,133,.5)}50%{opacity:.7;box-shadow:0 0 0 5px rgba(93,184,133,0)}}
.hb-sep{color:var(--faint)} .hb-right{margin-left:auto;color:var(--faint)}

/* ── LANDING BODY ── */
#landing{position:relative;z-index:1}
.landing-body{padding:3.4vh 7vw 1.8vh;max-width:1100px}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.32em;color:var(--dim);text-transform:uppercase}
.experiment{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(26px,4.4vw,52px);
  line-height:1.16;margin:.4em 0 .6em;max-width:22ch;letter-spacing:.005em}
.transmission{display:flex;flex-direction:column;gap:.35em;border-left:2px solid var(--sepia);padding:.2em 0 .2em 1em;margin:0 0 1.7em;max-width:48ch}
.tx-label{font-family:var(--mono);font-size:11px;letter-spacing:.28em;color:var(--amber)}
.tx-line{font-family:var(--serif);font-style:italic;font-size:clamp(16px,2.1vw,21px);color:var(--ink)}
.cta{background:transparent;border:1px solid var(--sepia);color:var(--sepia);border-radius:3px;padding:.8em 1.5em;
  cursor:pointer;font-family:var(--mono);font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;transition:.18s}
.cta:hover{background:rgba(201,163,106,.10);color:var(--amber);border-color:var(--amber)}
.trailwhat{margin-top:1.1em;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
.disclosure{margin-top:1.5em;font-size:14px;color:var(--ink);max-width:54ch;line-height:1.66}

/* ── WORKS SHOWCASE ── */
.works-showcase{padding:2.8vh 7vw 2.4vh;position:relative;z-index:1}
.works-showcase-label{font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);margin-bottom:1.1em}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair)}
.work-card{background:var(--bg);padding:1.2em 1.1em;cursor:pointer;transition:background .14s;display:flex;flex-direction:column;gap:.45em}
.work-card:hover{background:var(--panel)}
.wc-thumb{width:100%;aspect-ratio:16/9;overflow:hidden;margin-bottom:.15em;background:linear-gradient(135deg,#0d1420,#0f1828)}
.wc-thumb img{width:100%;height:100%;object-fit:cover;filter:brightness(.82);display:block}
.wc-type{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.wct-p{color:var(--sepia)} .wct-m{color:var(--music)} .wct-w{color:var(--writing)}
.wc-title{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink);line-height:1.25}
.wc-excerpt{font-size:12.5px;color:var(--dim);line-height:1.55;flex:1}
.wc-date{font-family:var(--mono);font-size:10px;color:var(--faint)}

/* ── TRUMAN TEASER ── */
.truman-section{position:relative;z-index:1;border-top:1px solid var(--hair)}
.truman-inner{display:grid;grid-template-columns:1fr 1fr}
.ts-copy{padding:3.8vh 7vw;display:flex;flex-direction:column;justify-content:center;gap:1em}
.ts-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--amber)}
.ts-heading{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(20px,2.6vw,34px);line-height:1.22;color:var(--ink);max-width:20ch}
.ts-desc{font-size:13.5px;color:var(--dim);line-height:1.68;max-width:40ch}
.ts-cta{align-self:flex-start;margin-top:.3em;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sepia);border-bottom:1px solid rgba(201,163,106,.3);padding-bottom:.1em;transition:.15s}
.ts-cta:hover{color:var(--amber);border-color:var(--amber)}
.ts-feed-wrap{position:relative;height:340px;overflow:hidden;border-left:1px solid var(--hair)}
.ts-feed{padding:1.2em 1.6em 0;display:flex;flex-direction:column}
.ts-item{display:grid;grid-template-columns:40px 78px 1fr 46px;gap:.5em;align-items:baseline;padding:.42em .2em;border-bottom:1px solid rgba(255,255,255,.022)}
.ts-time{font-family:var(--mono);font-size:10px;color:var(--faint)}
.ts-content{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink);line-height:1.25}
.ts-private .ts-content{filter:blur(4px);opacity:.45;user-select:none;pointer-events:none}
.ts-vis{font-family:var(--mono);font-size:9px;text-align:right}
.ts-public .ts-vis{color:rgba(93,184,133,.6)} .ts-private .ts-vis{color:rgba(240,161,74,.4)}
.ts-gradient{position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to bottom,transparent 0%,rgba(10,11,16,.88) 52%,var(--bg) 100%);display:flex;align-items:flex-end;padding:0 1.6em 1.6em}
.ts-lock-msg{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.ts-lock-msg a{color:var(--sepia);border-bottom:1px solid rgba(201,163,106,.3);padding-bottom:.1em}
.ts-lock-msg a:hover{color:var(--amber)}

/* ── FOOTER SPOKES ── */
.spokes{display:flex;justify-content:space-between;align-items:flex-end;gap:2em;flex-wrap:wrap;
  border-top:1px solid var(--hair);padding:1.4em 7vw 3vh;font-size:12.5px;color:var(--dim);position:relative;z-index:1}
.spokes .blurb{max-width:62ch;line-height:1.65}
.spokes nav{display:flex;gap:1.4em;align-items:center}
.spokes nav a{display:flex;flex-direction:column;gap:.15em;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
#support{color:var(--sepia);border:1px solid rgba(201,163,106,.30);border-radius:3px;padding:.5em .85em;transition:.15s}
#support:hover{color:var(--amber);border-color:rgba(240,161,74,.5);background:rgba(201,163,106,.06)}
.nav-sub{font-family:var(--ui);font-size:9.5px;letter-spacing:.04em;text-transform:none;color:var(--faint)}

/* ── TRAIL ── */
#trail{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}
.trailbar{display:flex;align-items:center;gap:1.1em;padding:1em 7vw;border-bottom:1px solid var(--hair);
  position:sticky;top:0;background:linear-gradient(var(--bg) 0%,rgba(10,11,16,.92) 70%,rgba(10,11,16,.80) 100%);backdrop-filter:blur(6px);z-index:5}
.tb-back{background:none;border:1px solid var(--hair);color:var(--dim);border-radius:7px;padding:.4em .8em;cursor:pointer;font-size:12.5px;font-family:var(--ui)}
.tb-back:hover{color:var(--ink);border-color:rgba(255,255,255,.2)}
.tb-title{font-family:var(--serif);font-style:italic;font-size:19px;flex:1}
.tb-meta{font-family:var(--mono);font-style:normal;font-size:10px;color:var(--faint);margin-left:.7em;letter-spacing:.12em}
.views{display:flex;gap:.3em}
.view-btn{background:none;border:1px solid var(--hair);color:var(--dim);border-radius:7px;padding:.38em .7em;cursor:pointer;font-size:11px;font-family:var(--mono);letter-spacing:.08em;transition:.14s}
.view-btn.on{color:var(--amber);border-color:rgba(240,161,74,.45)}
.view-btn:hover:not(.on){color:var(--ink);border-color:rgba(255,255,255,.2)}
.stage{flex:1;padding:2.2vh 7vw 10vh}
.empty{font-family:var(--serif);font-style:italic;color:var(--dim);padding:3em 0}

/* ── RECENT VIEW ── */
.week-label{font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--amber);margin-bottom:1.2em}
.day-group{margin-bottom:.2em}
.day-head{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sepia);
  padding:1.1em 0 .5em;border-top:1px solid rgba(201,163,106,.12);display:flex;justify-content:space-between}
.day-group:first-of-type .day-head{border-top:none;padding-top:.3em}
.day-count{color:var(--faint)}
.r-node{display:grid;grid-template-columns:64px 86px 1fr auto;gap:.55em;align-items:baseline;padding:.48em .4em;
  border-radius:3px;cursor:pointer;transition:background .12s;border-bottom:1px solid rgba(255,255,255,.022)}
.r-node:hover{background:var(--panel)} .r-node:last-child{border-bottom:none}
.r-time{font-family:var(--mono);font-size:10.5px;color:var(--faint)}
.r-badge{font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;padding:.2em .42em;border-radius:2px;white-space:nowrap;justify-self:start}
.badge-painting{background:rgba(201,163,106,.15);color:var(--sepia)}
.badge-image{background:rgba(201,163,106,.10);color:var(--sepia)}
.badge-music{background:rgba(143,168,192,.12);color:var(--music)}
.badge-clip{background:rgba(143,168,192,.12);color:var(--music)}
.badge-writing{background:rgba(154,190,149,.12);color:var(--writing)}
.badge-listened{background:rgba(96,93,82,.10);color:var(--dim)}
.badge-drawn{background:rgba(154,190,149,.10);color:var(--writing)}
.badge-cold{background:rgba(96,93,82,.10);color:var(--faint)}
.badge-note{background:rgba(240,161,74,.08);color:var(--amber)}
.badge-thought{background:rgba(240,161,74,.08);color:var(--amber)}
.r-title{font-family:var(--serif);font-style:italic;font-size:15.5px;color:var(--ink);line-height:1.3}
.r-title .branch{font-family:var(--mono);font-style:normal;font-size:9px;color:var(--faint);margin-left:.3em}
.r-thread{font-family:var(--mono);font-size:9px;color:var(--faint);white-space:nowrap}
.r-node.dead .r-title{color:var(--dim);opacity:.7}
.archive-row{padding:1.8em 0;border-top:1px solid var(--hair);margin-top:.8em;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.14em}

/* ── THREADS VIEW ── */
.threads-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1px;background:var(--hair)}
.thread-card{background:var(--bg);padding:1.3em 1.2em;cursor:pointer;transition:background .13s;display:flex;flex-direction:column;gap:.45em}
.thread-card:hover{background:var(--panel)}
.tc-meta{display:flex;gap:.7em;align-items:center}
.tc-label{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--sepia)}
.tc-date{font-family:var(--mono);font-size:9px;color:var(--faint);margin-left:auto}
.tc-title{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink);line-height:1.3}
.tc-count{font-family:var(--mono);font-size:10px;color:var(--faint)}

/* ── WORKS VIEW ── */
.wg-section{margin-bottom:3em}
.wg-section-label{font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--sepia);margin-bottom:.9em;padding-bottom:.45em;border-bottom:1px solid rgba(201,163,106,.14)}
.wg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--hair)}
.wg-card{background:var(--bg);cursor:pointer;transition:background .13s}
.wg-card:hover{background:var(--panel)}
.wg-img{aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#0e1420,#111828)}
.wg-img img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(.8);display:block}
.wg-ph{width:100%;aspect-ratio:4/3;display:flex;align-items:flex-start;justify-content:flex-start;padding:1.4em;
  font-family:var(--serif);font-style:italic;font-size:13px;line-height:1.6}
.wg-ph-music{background:linear-gradient(135deg,#0e1420,#111828);color:rgba(143,168,192,.4)}
.wg-ph-writing{background:linear-gradient(135deg,#0c1210,#121a13);color:rgba(154,190,149,.42)}
.wg-body{padding:.95em 1em .85em}
.wg-title{font-family:var(--serif);font-style:italic;font-size:15.5px;color:var(--ink);margin-bottom:.25em}
.wg-date{font-family:var(--mono);font-size:10px;color:var(--faint)}
.wg-excerpt{font-size:12px;color:var(--dim);line-height:1.5;margin-top:.35em}
/* inline players on work cards */
.wg-audio,.wc-audio{width:100%;height:34px;margin-top:.6em;display:block;border-radius:4px}
.wg-video{width:100%;max-height:360px;object-fit:cover;background:#000;display:block}
.wc-video{width:100%;margin-top:.5em;border-radius:3px;background:#000;max-height:280px}
audio::-webkit-media-controls-panel{background:var(--panel2)}

/* ── MAP VIEW ── */
.consthint{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--faint);margin-bottom:1em;max-width:60ch;line-height:1.6}
#constellation{width:100%;height:68vh;display:block;cursor:grab}

/* ── DRILL PANEL (matches app.js output) ── */
.drill{position:fixed;top:0;right:0;height:100vh;width:min(540px,92vw);background:var(--panel);border-left:1px solid var(--hair);
  z-index:20;overflow:auto;padding:2.4em 2.2em;box-shadow:-30px 0 80px rgba(0,0,0,.5);
  transform:translateX(100%);transition:transform .24s cubic-bezier(.22,1,.36,1);will-change:transform}
.drill:not(.open){pointer-events:none}
.drill.open{transform:translateX(0)}
.drill .x{position:absolute;top:1.2em;right:1.4em;background:none;border:0;color:var(--dim);font-size:22px;cursor:pointer}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.2em;margin-bottom:1em;padding-right:1.6em}
.crumb{background:none;border:0;color:var(--faint);font-family:var(--mono);font-size:10px;cursor:pointer;padding:0;letter-spacing:.04em}
.crumb:hover{color:var(--amber)} .crumb:last-child{color:var(--sepia)}
.csep{color:var(--faint);font-size:10px}
.d-thread{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--sepia);text-transform:uppercase}
.drill h2{font-family:var(--serif);font-style:italic;font-weight:300;font-size:27px;line-height:1.2;margin:.3em 0 .1em}
.d-date{font-family:var(--mono);font-size:11px;color:var(--faint);margin-bottom:1.3em}
.d-body{font-family:var(--serif);font-size:16px;line-height:1.72;color:var(--ink);white-space:pre-wrap}
.drill img,.drill video{width:100%;border-radius:4px;margin:1.3em 0;display:block}
.drill audio{width:100%;margin:1.3em 0}
.sec{margin-top:1.4em;border-top:1px solid var(--hair);padding-top:1em}
.seclbl{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--sepia);margin-bottom:.6em}
.source{font-size:13px;color:var(--dim);padding:.35em 0 .35em .9em;border-left:1px solid var(--hair);display:block;margin-bottom:.3em}
a.source.link:hover{color:var(--amber)}
.chip{display:block;width:100%;text-align:left;background:none;border:0;border-left:1px solid var(--hair);
  color:var(--dim);font-family:var(--ui);font-size:13px;padding:.35em 0 .35em .9em;margin-bottom:.3em;cursor:pointer}
.chip:hover{color:var(--amber);border-color:var(--amber)}
.chip .ck{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-right:.5em}
.locked{margin-top:1.8em;padding:1.3em 1.2em;border:1px solid rgba(201,163,106,.22);border-radius:3px;
  background:rgba(201,163,106,.05);color:var(--ink);font-size:14px;font-family:var(--serif);font-style:italic;line-height:1.7}
.locked a{display:inline-block;margin-top:.9em;font-family:var(--mono);font-style:normal;font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--sepia);border-bottom:1px solid rgba(201,163,106,.35);padding-bottom:.1em}
.locked a:hover{color:var(--amber);border-color:var(--amber)}

/* ── RESPONSIVE ── */
@media(max-width:680px){
  .works-grid{grid-template-columns:1fr}
  .truman-inner{grid-template-columns:1fr}
  .ts-feed-wrap{border-left:none;border-top:1px solid var(--hair)}
  .r-node{grid-template-columns:58px 1fr} .r-node .r-badge,.r-thread{display:none}
  .threads-grid{grid-template-columns:1fr}
  .trailbar{padding:.9em 5.5vw;gap:.7em;flex-wrap:wrap} .tb-meta{display:none}
  .stage{padding:2vh 5.5vw 8vh}
  .landing-body,.works-showcase{padding-left:5.5vw;padding-right:5.5vw}
  .spokes{padding:1.4em 5.5vw 3vh}
}
@media(max-width:420px){ .views{gap:.2em} .view-btn{padding:.34em .55em;font-size:10px} }

/* ════════ PHASE 4 — membership UI ════════ */
/* member control (top-right) */
#member-bar{position:fixed;top:14px;right:16px;z-index:30}
.member-btn{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sepia);background:rgba(10,11,16,.55);border:1px solid rgba(201,163,106,.32);
  border-radius:3px;padding:.5em .9em;cursor:pointer;backdrop-filter:blur(6px);transition:.15s}
.member-btn:hover{color:var(--amber);border-color:rgba(240,161,74,.5)}
.member-btn.is-member{color:var(--alive);border-color:rgba(93,184,133,.4);cursor:default}
.member-btn.is-member::before{content:"● ";font-size:9px}

/* unlock modal */
.modal{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;
  background:rgba(5,6,9,.74);backdrop-filter:blur(4px);padding:1.5rem}
.modal-card{position:relative;background:var(--panel);border:1px solid var(--hair);border-radius:6px;
  width:min(440px,94vw);padding:2.2rem 2rem;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.modal-x{position:absolute;top:.7rem;right:1rem;background:none;border:0;color:var(--dim);font-size:22px;cursor:pointer}
.modal-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.26em;color:var(--amber);margin-bottom:.8rem}
.modal-h{font-family:var(--serif);font-style:italic;font-weight:300;font-size:26px;color:var(--ink);margin:0 0 .5rem}
.modal-p{font-size:13.5px;color:var(--dim);line-height:1.65;margin:0 0 1.2rem;max-width:46ch}
#unlock-form{display:flex;gap:.5rem;flex-wrap:wrap}
#unlock-email{flex:1;min-width:180px;background:var(--bg);border:1px solid var(--hair);border-radius:4px;
  color:var(--ink);font-family:var(--ui);font-size:14px;padding:.7em .9em}
#unlock-email:focus{outline:none;border-color:rgba(201,163,106,.5)}
.modal-go{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bg);background:var(--sepia);border:0;border-radius:4px;padding:.7em 1.2em;cursor:pointer;transition:.15s}
.modal-go:hover{background:var(--amber)}
.modal-foot{margin-top:1.2rem;font-size:12.5px;color:var(--faint)}

/* self-portrait avatar */
.id-row{display:flex;align-items:center;gap:.8em;margin-bottom:.3em}
.portrait{width:46px;height:46px;border-radius:50%;object-fit:cover;border:1px solid rgba(201,163,106,.35);
  filter:saturate(1.02)}

/* now-line in heartbeat bar */
#now-line{color:var(--ink)}
#now-line .nl-listen{color:var(--music)}
#now-line .nl-rest{color:var(--dim)}

/* locked-node tease (free/Studio seeing higher tiers) */
.r-node.locked,.wg-card.locked,.thread-card.locked{opacity:.5}
.r-node.locked .r-title::after,.wg-card.locked .wg-title::after{content:" 🔒";font-size:11px;opacity:.7}
.r-node.locked{cursor:pointer}
.tease-cta{display:inline-block;margin-top:.9em;font-family:var(--mono);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--sepia);border-bottom:1px solid rgba(201,163,106,.4);
  padding-bottom:.12em;cursor:pointer;transition:.15s}
.tease-cta:hover{color:var(--amber);border-color:var(--amber)}
.drill .locked.tier1{border-color:rgba(201,163,106,.3)}

/* tier-2 live feed (real) */
.lf-now{display:flex;align-items:baseline;gap:.6em;flex-wrap:wrap;margin-bottom:1em}
.lf-now .lf-glyph{color:var(--alive)}
.lf-thought{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink);line-height:1.5;
  padding:.5em 0;border-bottom:1px solid rgba(255,255,255,.04)}
.lf-thought .lf-t{font-family:var(--mono);font-style:normal;font-size:10px;color:var(--faint);margin-right:.7em}
