/* Threshold light: the Superthoughts identity (Josh, 2026-10-23). A seam of light at a horizon or a doorway,
   coral and ember into deep teal, warm bone, film grain, slow drift. Home and library use it; session pages follow. */
@font-face{font-family:'Manrope';font-style:normal;font-weight:300 500;font-display:swap;src:url(fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink:#0b1512; --deep:#12302f; --teal:#1f4a4c; --seafoam:#a8cdbf; --bone:#ece2cf; --coral:#e9644b; --ember:#f29a5c;
  --bg:#0b1512; --surface:#101d1a; --line:rgba(236,226,207,.18); --text:#f3ead9; --muted:#d6ccb8; --quiet:#bfb5a2;
  --button-bg:rgba(236,226,207,.94); --button-text:#10211f; --button-meta:#3f514c;
  --font:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#ece2cf; --surface:#e4d8c1; --line:rgba(18,48,47,.2); --text:#10211f; --muted:#2c403c; --quiet:#3c4f4b;
  --button-bg:#12302f; --button-text:#f3ead9; --button-meta:#c9d8d0;
  color-scheme:light;
}
.threshold{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased}
.threshold *{box-sizing:border-box}
.threshold a{color:inherit}
.threshold a:focus-visible,.threshold button:focus-visible{outline:2px solid var(--ember);outline-offset:4px}
.th-skip{position:absolute;left:16px;top:-80px;padding:12px 16px;background:var(--bone);color:var(--ink);z-index:20}
.th-skip:focus{top:16px}
.th-wrap{width:min(100% - 56px,1248px);margin-inline:auto}

/* header */
.th-header{position:absolute;inset:0 0 auto;z-index:5}
.th-header .th-wrap{padding-top:env(safe-area-inset-top);display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.th-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}
.th-brand img{width:26px;height:26px}
:root[data-theme="light"] .th-brand img{filter:invert(1)}
.th-nav{display:flex;align-items:center;gap:28px;font-size:15px}
.th-nav a{text-decoration:none;padding:12px 0;color:var(--muted)}
.th-nav a:hover,.th-nav a[aria-current="page"]{color:var(--text)}
.th-theme{font:inherit;font-size:14px;color:var(--muted);background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0;min-height:44px;cursor:pointer}
.th-theme:hover{color:var(--text)}
.library-page.threshold .th-header,.about-page.threshold .th-header{position:relative}

/* the light: layered, slow, grainy */
.th-light{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.th-light span{position:absolute;display:block}
.th-light .teal{inset:-60px;background:radial-gradient(ellipse 80% 58% at 60% 24%,var(--teal) 0%,var(--deep) 45%,rgba(11,21,18,0) 80%);filter:blur(12px);animation:th-drift 26s ease-in-out infinite alternate}
.th-light .glow{left:-10%;right:-10%;top:54%;height:36%;background:radial-gradient(ellipse 58% 26% at 58% 50%,rgba(255,222,184,1) 0%,rgba(242,154,92,.95) 18%,rgba(233,100,75,.72) 42%,rgba(233,100,75,0) 74%);filter:blur(16px);animation:th-breathe 18s ease-in-out infinite alternate}
.th-light .seam{left:72%;top:24%;width:12px;height:52%;background:linear-gradient(180deg,rgba(168,205,191,0) 0%,rgba(214,236,226,.75) 45%,rgba(255,226,196,.95) 80%,rgba(233,100,75,0) 100%);filter:blur(6px);animation:th-seam 12s ease-in-out infinite alternate}
.th-light .shade{inset:0;background:linear-gradient(90deg,rgba(11,21,18,.8) 0%,rgba(11,21,18,.38) 36%,rgba(11,21,18,0) 58%),linear-gradient(180deg,rgba(11,21,18,0) 70%,var(--bg) 100%)}
.th-light .grain{inset:0;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)'/%3E%3C/svg%3E")}
:root[data-theme="light"] .th-light .teal{background:radial-gradient(ellipse 80% 45% at 70% 30%,rgba(168,205,191,.6) 0%,rgba(168,205,191,0) 70%),radial-gradient(ellipse 90% 30% at 50% 88%,rgba(31,74,76,.26) 0%,rgba(31,74,76,0) 75%)}
:root[data-theme="light"] .th-light .glow{background:radial-gradient(ellipse 58% 24% at 58% 50%,rgba(255,240,222,.95) 0%,rgba(242,154,92,.72) 20%,rgba(233,100,75,.48) 42%,rgba(233,100,75,0) 74%)}
:root[data-theme="light"] .th-light .seam{width:48px;background:linear-gradient(90deg,rgba(233,100,75,0) 0%,rgba(233,100,75,.8) 30%,rgba(255,250,242,1) 52%,rgba(120,185,168,.9) 70%,rgba(120,185,168,0) 100%);filter:blur(8px)}
:root[data-theme="light"] .th-light .shade{background:linear-gradient(90deg,rgba(236,226,207,.9) 0%,rgba(236,226,207,.55) 40%,rgba(236,226,207,0) 68%),linear-gradient(180deg,rgba(236,226,207,0) 70%,var(--bg) 100%)}
:root[data-theme="light"] .th-light .grain{mix-blend-mode:multiply;opacity:.16}
@keyframes th-breathe{0%{transform:translateY(0) scaleX(1);opacity:.82}50%{transform:translateY(-12px) scaleX(1.05);opacity:1}100%{transform:translateY(6px) scaleX(.97);opacity:.88}}
@keyframes th-seam{0%{opacity:.5;transform:translateX(-10px)}50%{opacity:.95;transform:translateX(6px)}100%{opacity:.7;transform:translateX(-3px)}}
@keyframes th-drift{0%{transform:translateX(-30px)}100%{transform:translateX(30px)}}
@media (prefers-reduced-motion:reduce){.th-light span,.th-door .door-light{animation:none!important}}

/* arrival */
.th-arrival{position:relative;min-height:max(640px,100svh);display:flex;align-items:center;overflow:hidden}
.th-arrival .th-wrap{position:relative;z-index:2;padding:140px 0 72px}
.th-label{margin:0 0 20px;font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--quiet)}
.th-arrival h1{margin:0;max-width:11em;font-weight:300;font-size:clamp(44px,6.2vw,84px);line-height:1.03;letter-spacing:-.025em}
.th-arrival .lede{margin:24px 0 0;max-width:30em;font-size:clamp(17px,1.5vw,19px);line-height:1.6;color:var(--muted)}
.th-actions{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 36px}
.threshold a.th-button{display:inline-flex;align-items:center;gap:22px;min-height:56px;padding:0 24px;border-radius:4px;background:var(--button-bg);color:var(--button-text);text-decoration:none;font-size:16px;font-weight:500}
.th-button span{font-weight:400;color:var(--button-meta);white-space:nowrap}
.th-play{display:none}
.th-link{display:inline-flex;align-items:center;gap:12px;min-height:48px;border-bottom:1px solid var(--line);text-decoration:none;font-size:16px}
.th-link:hover{border-color:var(--text)}
.th-free{margin:28px 0 0;font-size:14px;color:var(--quiet)}

/* sections */
.th-section{padding:96px 0;border-top:1px solid var(--line)}
.th-section h2{margin:0;font-weight:300;font-size:clamp(32px,3.6vw,48px);line-height:1.1;letter-spacing:-.018em}
.th-section .intro{margin:16px 0 0;max-width:34em;font-size:17px;line-height:1.6;color:var(--muted)}
.th-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:36px}

/* doors: one light per moment */
.th-doors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.th-door{position:relative;display:block;min-height:180px;border-radius:14px;overflow:hidden;text-decoration:none;background:var(--door-bg)}
.th-door .door-light{position:absolute;inset:0;background:var(--door-light);filter:blur(8px);animation:th-door 9s ease-in-out infinite alternate}
.th-door .door-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,8,.78) 0%,rgba(10,10,8,.3) 58%,rgba(10,10,8,0) 100%)}
.th-door .door-text{position:absolute;left:20px;right:20px;bottom:18px;display:flex;flex-direction:column;gap:6px}
.th-door strong{font-weight:400;font-size:22px;color:#f8f0e2}
.th-door small{font-size:14px;color:#ece0cc}
.th-door .count{position:absolute;right:14px;top:12px;padding:3px 9px;border-radius:3px;background:rgba(8,10,9,.62);font-size:12px;letter-spacing:.06em;color:#f3ead9}
@keyframes th-door{0%{opacity:.72}100%{opacity:1}}
.th-door:hover .door-light{opacity:1;filter:blur(6px)}
.door-morning{--door-bg:#2b2418;--door-light:radial-gradient(ellipse 70% 30% at 70% 78%,rgba(255,226,170,.95) 0%,rgba(233,162,138,.6) 38%,rgba(43,36,24,0) 75%)}
.door-before{--door-bg:#13202a;--door-light:linear-gradient(90deg,rgba(19,32,42,0) 66%,rgba(214,236,246,.9) 70%,rgba(19,32,42,0) 74%),radial-gradient(ellipse 50% 80% at 72% 50%,rgba(120,170,200,.45) 0%,rgba(19,32,42,0) 70%)}
.door-right-now{--door-bg:#2a1512;--door-light:radial-gradient(ellipse 80% 22% at 60% 58%,rgba(255,190,150,.95) 0%,rgba(233,100,75,.75) 35%,rgba(42,21,18,0) 75%)}
.door-after{--door-bg:#1d1a1f;--door-light:linear-gradient(90deg,rgba(29,26,31,0) 55%,rgba(214,170,170,.7) 66%,rgba(240,210,190,.85) 72%,rgba(29,26,31,0) 86%)}
.door-heart{--door-bg:#2a1418;--door-light:radial-gradient(circle at 76% 45%,rgba(250,196,160,.95) 0%,rgba(226,120,120,.7) 22%,rgba(42,20,24,0) 58%)}
.door-open{--door-bg:#102522;--door-light:linear-gradient(90deg,rgba(16,37,34,0) 52%,rgba(242,180,100,.75) 64%,rgba(255,232,190,.95) 70%,rgba(168,205,191,.6) 77%,rgba(16,37,34,0) 90%)}
.door-still{--door-bg:#1a2022;--door-light:radial-gradient(ellipse 90% 18% at 55% 32%,rgba(220,232,230,.75) 0%,rgba(160,180,182,.35) 45%,rgba(26,32,34,0) 80%)}
.door-night{--door-bg:#0b1014;--door-light:radial-gradient(ellipse 60% 16% at 62% 92%,rgba(255,190,130,.9) 0%,rgba(242,140,80,.55) 35%,rgba(11,16,20,0) 75%)}
.door-clear-air{--door-bg:#18201e;--door-light:radial-gradient(ellipse 70% 40% at 70% 40%,rgba(200,220,210,.55) 0%,rgba(24,32,30,0) 70%)}

/* session rows */
.th-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.th-rows li{border-bottom:1px solid var(--line)}
.th-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:baseline;padding:20px 2px;text-decoration:none}
.th-row strong{font-weight:400;font-size:20px}
.th-row .line{grid-column:1;font-size:15px;line-height:1.55;color:var(--muted)}
.th-row .len{grid-row:1;grid-column:2;font-size:14px;color:var(--quiet);white-space:nowrap}
.th-row .free{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ember);margin-left:10px}
:root[data-theme="light"] .th-row .free{color:#9a3a24}
.th-row:hover strong{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}

/* library shelves */
.th-shelf{padding:56px 0 8px}
.th-shelf-head{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:28px;align-items:start}
.th-shelf .th-door{min-height:150px}
.th-empty{margin:0;padding:20px 2px;font-size:15px;color:var(--quiet);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.th-library-intro{padding:56px 0 24px}
.th-library-intro h1{margin:0;font-weight:300;font-size:clamp(40px,5vw,64px);line-height:1.05;letter-spacing:-.022em}
.th-jump{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px}
.th-jump a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:4px;text-decoration:none;font-size:14px;color:var(--muted)}
.th-jump a:hover{color:var(--text);border-color:var(--text)}

/* ethos */
.th-ethos p{max-width:34em;font-size:clamp(18px,1.7vw,21px);line-height:1.75;color:var(--muted);margin:0 0 22px}
.th-ethos p:first-of-type{color:var(--text)}

/* email and footer */
.th-email{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end}
.th-email form{display:flex;flex-direction:column;gap:14px}
.th-email .fields{display:flex;gap:10px}
.th-email input[type=email]{flex:1;min-height:52px;padding:0 16px;border-radius:4px;border:1px solid var(--line);background:transparent;color:var(--text);font:inherit;font-size:16px}
.th-email input[type=email]::placeholder{color:var(--quiet)}
.th-email button{min-height:52px;padding:0 20px;border-radius:4px;border:0;background:var(--button-bg);color:var(--button-text);font:inherit;font-size:15px;font-weight:500;cursor:pointer}
.th-email .choice{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);line-height:1.5}
.th-email .small{margin:0;font-size:13px;color:var(--quiet)}
.th-email .honeypot{position:absolute;left:-9999px}
.th-footer{padding:48px 0 calc(56px + env(safe-area-inset-bottom));border-top:1px solid var(--line);font-size:14px;color:var(--quiet)}
.th-footer .th-wrap{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center}
.th-footer a,.th-footer button{color:var(--muted);text-decoration:none;font:inherit;background:none;border:0;padding:8px 0;cursor:pointer}
.th-footer a:hover,.th-footer button:hover{color:var(--text)}
.th-disclaimer{margin:0;padding:28px 0;font-size:13px;line-height:1.6;color:var(--quiet);border-top:1px solid var(--line)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (max-width:980px){.th-doors{grid-template-columns:repeat(2,minmax(0,1fr))}.th-shelf-head{grid-template-columns:1fr}.th-email{grid-template-columns:1fr}}
@media (max-width:640px){
  .th-wrap{width:min(100% - 40px,1248px)}
  .th-nav{gap:18px;font-size:14px}.th-nav .hide-sm{display:none}
  .th-arrival .th-wrap{padding:120px 0 48px}
  .th-light .seam{left:95%}.th-arrival .lede{max-width:82%}.th-light .glow{top:64%;height:30%}
  .th-light .shade{background:linear-gradient(180deg,rgba(11,21,18,.5) 0%,rgba(11,21,18,.12) 40%,rgba(11,21,18,0) 70%,rgba(11,21,18,.2) 88%,var(--bg) 100%)}
  :root[data-theme="light"] .th-light .shade{background:linear-gradient(180deg,rgba(236,226,207,.6) 0%,rgba(236,226,207,.15) 42%,rgba(236,226,207,0) 70%,rgba(236,226,207,.25) 88%,var(--bg) 100%)}
  .th-actions{flex-direction:column;align-items:stretch;gap:6px}
  /* Josh 2026-10-23: no big block on phones; the start is a quiet line with a play mark */
  .threshold a.th-button{justify-content:flex-start;gap:14px;padding:0;min-height:60px;background:transparent;color:var(--text);border-radius:0;border-bottom:1px solid var(--line);font-size:16px;font-weight:400}
  .threshold a.th-button span{margin-left:auto;color:var(--muted)}
  .th-play{display:inline-block;flex:none;width:34px;height:34px;border:1px solid var(--text);border-radius:50%;position:relative}
  .th-play::after{content:"";position:absolute;left:13px;top:10px;border-left:10px solid var(--text);border-top:7px solid transparent;border-bottom:7px solid transparent}.th-link{justify-content:space-between}
  .th-doors{grid-template-columns:1fr}.th-door{min-height:112px}
  .th-section{padding:72px 0}
  .th-email .fields{flex-direction:column}
}
