/* vas.sh v3 · pages: inner pages (talks, sessions, writing, posts, search, legal, 404) on the home design system */

/* chrome */
.skip-link{position:absolute;left:12px;top:-60px;z-index:80;padding:.6rem .9rem;border-radius:999px;background:var(--ink);color:#fff;font:600 .85rem/1 var(--f-sans);text-decoration:none}
.skip-link:focus{top:12px}
.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}
main{display:block;outline:none}
.page .nav-links{margin:0 auto}
.nav-next{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:999px;font:500 .7rem/1 var(--f-mono);color:var(--slate);text-decoration:none;white-space:nowrap;transition:color .3s,background .3s}
.nav-next:hover{color:var(--ink);background:rgba(21,22,19,.05)}
.nav-next i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1.5px var(--ink);animation:blink 1.6s infinite}
.nav-next b{font-weight:500;color:var(--ink)}
.menu-btn{display:none;min-height:44px;padding:0 1rem;border-radius:999px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:600 .84rem/1 var(--f-sans);cursor:pointer}
@media (max-width:1020px){.nav-next{display:none}}
@media (max-width:820px){
  .menu-btn{display:inline-flex;align-items:center}
  .page .nav>.btn{display:none}
}
.sheet{width:min(calc(100% - 24px),26rem);max-height:calc(100dvh - 24px);margin:12px 12px auto auto;padding:1.1rem;border:1px solid var(--rule);border-radius:28px;background:var(--porcelain);color:var(--ink);box-shadow:0 30px 60px -30px rgba(21,22,19,.5)}
.sheet::backdrop{background:rgba(21,22,19,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sheet[open]{display:flex;flex-direction:column;gap:1.2rem}
.sheet-top{display:flex;justify-content:space-between;align-items:center}
.sheet-nav{display:flex;flex-direction:column}
.sheet-nav a{padding:.85rem .2rem;border-bottom:1px solid var(--rule);font-size:1.5rem;font-weight:720;font-stretch:112%;letter-spacing:-.03em;text-decoration:none}
.sheet .btn.lime{justify-content:center}

/* page heads */
h1 .dot{width:.22em;height:.22em;margin-left:.04em;transform:none}
.page-hero,.sessions-hero,.article-head{position:relative;padding-top:clamp(8rem,13vw,10rem);padding-bottom:clamp(2.6rem,5vw,4rem)}
.page-hero h1,.sessions-hero h1,.article-head h1{font-size:clamp(2.7rem,6.4vw,5.6rem)}
.page-hero h1 em,.sessions-hero h1 em,.article-head h1 em,.section-title em,.ae-big em,.lost .code em{font-style:normal;background:linear-gradient(transparent 58%,var(--lime) 58% 93%,transparent 93%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.page-hero .lede,.sessions-hero .lede{margin-top:1.4rem}
.hero-glow{position:absolute;right:-10%;top:-20%;width:60%;height:120%;background:radial-gradient(closest-side,rgba(196,242,58,.32),rgba(196,242,58,0));pointer-events:none;z-index:-1}
.page-hero,.sessions-hero,.lost{isolation:isolate;overflow:hidden}
.page-body,.page-paper{padding-bottom:clamp(4rem,8vw,6.5rem)}
.wrap-narrow{max-width:46rem;margin:0 auto;padding-inline:max(20px,env(safe-area-inset-left,0px))}
.wrap-research{max-width:62rem;margin:0 auto;padding-inline:max(20px,env(safe-area-inset-left,0px))}
.mono{font-family:var(--f-mono)}
.empty{color:var(--slate);padding:1.2rem 0}

/* sections */
.section{padding-block:clamp(3.5rem,8vw,6rem)}
.s-paper{background:var(--porcelain)}
.s-panel{background:var(--mist)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem 3rem;flex-wrap:wrap;margin-bottom:clamp(1.8rem,3.5vw,2.8rem)}
.section-title{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1;font-weight:760;font-stretch:114%;letter-spacing:-.035em}
.section-sub{color:var(--slate);max-width:34ch;margin:0}

/* search */
.search-form{display:flex;gap:.5rem;max-width:40rem;margin-top:2rem}
.search-input{flex:1;min-width:0;min-height:48px;padding:0 1.2rem;border-radius:999px;border:1px solid var(--rule-2);background:var(--white);color:var(--ink);font:400 1rem/1 var(--f-sans);transition:border-color .3s,box-shadow .3s}
.search-input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px var(--lime-wash)}
.search-summary{font:500 .78rem/1.4 var(--f-mono);color:var(--slate);margin-bottom:1rem}
.result-snippet mark{background:var(--lime);color:var(--ink);padding:0 .1em}

/* index rows (writing, archive, tags, search) */
.index{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.index>li{border-bottom:1px solid var(--rule)}
.index-row{display:grid;grid-template-columns:7.5rem minmax(0,1fr) 4.5rem 1.5rem;gap:.4rem 1.4rem;align-items:baseline;padding:1.35rem .2rem;text-decoration:none;transition:padding .45s var(--ease)}
.index-row:hover{padding-left:.8rem}
.index-row time,.index-row .rt{font:500 .72rem/1.4 var(--f-mono);color:var(--slate)}
.index-row .rt{text-align:right}
.index-title{font-size:clamp(1.15rem,1.9vw,1.42rem);line-height:1.22;font-weight:680;font-stretch:108%;letter-spacing:-.02em}
.index-title>:not(.index-sum){display:inline}
.index-row:hover .index-title{background:linear-gradient(var(--lime),var(--lime)) no-repeat 0 88%/100% 30%}
.index-sum{display:block;margin-top:.45rem;font-size:.95rem;font-weight:400;font-stretch:100%;line-height:1.5;letter-spacing:0;color:var(--slate);max-width:60ch}
.index-row:hover .index-sum{background:none}
.index-go{justify-self:end;font-family:var(--f-mono);color:var(--slate-2);transition:transform .45s var(--ease),color .3s}
.index-row:hover .index-go{transform:translateX(4px);color:var(--ink)}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0 0 1.2rem 8.9rem}
.chips a{display:inline-block;padding:.35rem .6rem;border-radius:999px;border:1px solid var(--rule-2);font:500 .66rem/1 var(--f-mono);color:var(--slate);text-decoration:none}
.chips a:hover{border-color:var(--ink);color:var(--ink)}
@media (max-width:640px){
  .index-row{grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem}
  .index-row time{grid-column:1}.index-row .rt{grid-row:1;grid-column:2}
  .index-title{grid-column:1/-1}.index-go{display:none}
  .chips{padding-left:0}
}

/* session status */
.sessions-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.4rem;padding:1.1rem 1.2rem 1.1rem 1.3rem;border-radius:24px;background:var(--white);border:1px solid var(--rule)}
.status[data-sx-state="live"]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.status-text{display:grid;gap:.25rem;flex:1 1 17rem;min-width:0}
.status-line{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .55rem;margin:0;font-weight:600}
.status-line a{text-decoration-thickness:2px}
.status-count{margin:0;font-size:1.3rem;font-weight:720;font-stretch:112%;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.status-local{margin:0;font-size:.74rem;color:var(--slate)}
.status-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.live-dot{display:inline-block;flex:none;width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1.5px var(--ink);animation:blink 1.6s infinite}
.join-line{margin-top:1.4rem;color:var(--slate);max-width:52rem;scroll-margin-top:7rem}
.join-line .btn{margin:0 .9rem .5rem 0;vertical-align:middle}
.join-line span{display:inline-block;font-size:.92rem;max-width:40ch;vertical-align:middle}
.next-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;width:clamp(12rem,22vw,16rem);aspect-ratio:1;border-radius:36px;background:var(--ink);color:#fff;text-decoration:none;transform:rotate(3deg);box-shadow:0 40px 70px -36px rgba(21,22,19,.6);transition:transform .6s var(--ease)}
.next-block:hover{transform:rotate(0) translateY(-4px)}
.nb-k{font:500 .64rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.nb-day{font-size:clamp(5rem,9vw,7.4rem);line-height:.85;font-weight:800;font-stretch:125%;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.nb-mon{font-size:1.4rem;font-weight:700;font-stretch:115%;letter-spacing:-.02em;color:var(--lime)}
.nb-t{margin-top:.5rem;font:500 .68rem/1 var(--f-mono);color:rgba(255,255,255,.62)}
@media (max-width:760px){.sessions-hero-grid{grid-template-columns:minmax(0,1fr)}.next-block{display:none}}

/* date cards */
.date-cards{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0}
.date-cards.six{grid-template-columns:repeat(6,minmax(0,1fr))}
.date-card{position:relative;display:flex;flex-direction:column;gap:.15rem;height:100%;padding:1.1rem 1rem 1rem;border-radius:22px;background:var(--white);border:1px solid var(--rule);text-decoration:none;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
a.date-card[href]:hover{transform:translateY(-4px);box-shadow:0 26px 44px -28px rgba(21,22,19,.4)}
.date-card .dow{font:500 .66rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.date-card .day{margin-top:.6rem;font-size:clamp(2.8rem,4.6vw,4rem);line-height:.9;font-weight:800;font-stretch:122%;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.date-card .mon{font-size:1.05rem;font-weight:700;font-stretch:112%;letter-spacing:-.02em}
.date-card .time{margin-top:.7rem;font:500 .68rem/1.3 var(--f-mono);color:var(--slate)}
.date-card .flag{position:absolute;top:.85rem;right:.85rem;padding:.3rem .5rem;border-radius:999px;background:var(--lime);color:var(--ink);font:500 .58rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.date-card .flag[hidden]{display:none}
.date-card.is-next{background:var(--ink);border-color:var(--ink);color:#fff}
.date-card.is-next .dow,.date-card.is-next .time{color:rgba(255,255,255,.62)}
.date-card.is-next .mon{color:var(--lime)}
.date-card.is-cancelled{background:transparent;border-style:dashed;color:var(--slate)}
.date-card.is-cancelled .day,.date-card.is-cancelled .mon{text-decoration:line-through;text-decoration-thickness:2px}
.date-card.is-cancelled .flag{background:transparent;border:1px solid var(--rule-2);color:var(--slate)}
@media (max-width:1000px){.date-cards.six{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.date-cards,.date-cards.six{grid-template-columns:repeat(2,minmax(0,1fr))}}

.archive-empty{padding:clamp(2rem,5vw,3.4rem);border-radius:28px;border:1px dashed var(--rule-2);background:var(--porcelain)}
.archive-empty p{margin:0;color:var(--slate)}
.ae-big{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.1;font-weight:740;font-stretch:112%;letter-spacing:-.03em;color:var(--ink)!important;margin-bottom:.7rem!important}

/* subscribe band: the lime panel */
.s-ink.subscribe{padding-block:clamp(2rem,5vw,3.5rem) clamp(4rem,8vw,6rem)}
.subscribe .sub-row{position:relative;isolation:isolate;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:2rem;padding:clamp(2rem,6vw,4.5rem);border-radius:36px;background:var(--lime)}
.subscribe .sub-row::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(rgba(21,22,19,.16) 1px,transparent 1.3px) 0 0/22px 22px}
.subscribe .section-title em{background:none;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.1em}
.subscribe .eyebrow{color:var(--ink-2)}
.subscribe .eyebrow::before{background:#fff}
.sub-actions{display:flex;flex-wrap:wrap;gap:.5rem}

/* articles */
.reading-progress{position:fixed;top:0;left:0;right:0;z-index:70;height:3px;pointer-events:none}
.reading-progress-bar{display:block;height:100%;background:var(--lime-deep);transform:scaleX(0);transform-origin:left}
.article-head h1{margin-top:.2rem;font-size:clamp(2.3rem,5.4vw,4.4rem);line-height:1;max-width:20ch}
.article-head .dek{margin-top:1.3rem;font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.5;color:var(--slate);max-width:44ch}
.post-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--rule);font:500 .72rem/1.4 var(--f-mono);color:var(--slate)}
.post-meta a{color:var(--ink)}
.article-head .status{margin-top:1.8rem}
.article-body{padding-bottom:clamp(4rem,8vw,6rem)}
.prose{font-size:1.125rem;line-height:1.72;color:var(--ink-2)}
.prose>*{max-width:none;margin:0}
.prose>*+*{margin-top:1.15rem}
.prose h1,.prose h2,.prose h3,.prose h4{color:var(--ink)}
.prose h1{margin-top:2.8rem;font-size:2.3rem;line-height:1.05;font-weight:760;letter-spacing:-.035em}
.prose h2{margin-top:2.8rem;font-size:clamp(1.6rem,2.8vw,2.1rem);line-height:1.1;font-weight:740;font-stretch:110%;letter-spacing:-.03em}
.prose h3{margin-top:2rem;font-size:1.3rem}
.prose strong{color:var(--ink);font-weight:650}
.prose a{color:var(--ink);text-decoration-color:var(--lime-deep);text-decoration-thickness:2px}
.prose a:hover{background:var(--lime-wash)}
.prose ul,.prose ol{padding-left:1.35rem}
.prose li{margin:.4rem 0}
.prose li::marker{color:var(--slate-2)}
.prose blockquote{margin-left:0;padding:.3rem 0 .3rem 1.3rem;border-left:4px solid var(--lime);color:var(--ink);font-size:1.2rem;line-height:1.55}
.prose code{font-family:var(--f-mono);font-size:.86em;background:var(--mist);border-radius:6px;padding:.1em .35em;color:var(--ink)}
.prose pre{overflow-x:auto;padding:1.1rem 1.2rem;border-radius:18px;background:var(--ink);color:#EDEDE6;font:400 .86rem/1.6 var(--f-mono)}
.prose pre code{background:none;padding:0;color:inherit;font-size:inherit}
.prose hr{border:0;border-top:1px solid var(--rule);margin:2.6rem 0}
.prose img{border-radius:18px;height:auto}
.prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:18px}
.prose figure{margin:2rem 0}
.prose-figure{border-radius:20px;background:var(--white);border:1px solid var(--rule);overflow:hidden}
.prose-figure img{width:100%;border-radius:0}
.prose-figure figcaption{padding:.75rem 1rem;font-size:.85rem;color:var(--slate)}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--rule);padding:.55rem .7rem;vertical-align:top;text-align:left}
.prose th{background:var(--mist);color:var(--ink);font-weight:650}
.prose-research tr td:first-child{width:8.5rem;font-weight:650;color:var(--ink);background:var(--mist)}
.article-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--rule);font-weight:600}
.article-foot a{text-decoration:none}
.article-foot a:hover{text-decoration:underline;text-decoration-color:var(--lime-deep);text-decoration-thickness:2px}

/* legal, next-session callout, 404 */
.legal{display:grid;gap:1.1rem;font-size:1.05rem;line-height:1.7;color:var(--ink-2)}
.legal p{margin:0}
.legal strong{color:var(--ink)}
.legal a{text-decoration-thickness:2px}
.next-cta{margin-top:3rem;padding:clamp(1.5rem,3.5vw,2.2rem);border-radius:28px;background:var(--white);border:1px solid var(--rule)}
.next-cta-title{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.08;font-weight:740;font-stretch:112%;letter-spacing:-.03em;color:var(--ink)}
.next-cta-title a{text-decoration-thickness:3px}
.cal-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.link-more{font-weight:600;text-decoration-thickness:2px}
.lost{padding-bottom:clamp(4rem,10vw,8rem)}
.lost .code{font-size:clamp(7rem,24vw,18rem);line-height:.85;font-weight:800;font-stretch:125%;letter-spacing:-.07em;margin:.5rem 0 1.5rem}
.lost .row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem}

/* talks page */
.talk-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:2rem 4rem;align-items:end}
.talk-head .cta{margin-top:0;justify-content:flex-end}
@media (max-width:860px){.talk-head{grid-template-columns:minmax(0,1fr)}.talk-head .cta{justify-content:flex-start}}
.tk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:860px){.tk-grid{grid-template-columns:minmax(0,1fr)}}
.tk-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.tk-row{display:grid;grid-template-columns:8.5rem minmax(0,1fr) auto;gap:.5rem 1.6rem;align-items:baseline;padding:1.5rem .2rem;border-bottom:1px solid var(--rule)}
.tk-row time{font:500 .72rem/1.4 var(--f-mono);color:var(--slate)}
.tk-row h3{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;font-stretch:108%;letter-spacing:-.02em}
.tk-row p{margin:.4rem 0 0;color:var(--slate);font-size:.95rem}
.tk-row .tk-meta{font:500 .7rem/1.5 var(--f-mono);color:var(--slate);margin-top:.5rem}
.tk-links{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
@media (max-width:640px){.tk-row{grid-template-columns:minmax(0,1fr)}.tk-links{justify-content:flex-start}}
.tk-empty{padding:clamp(1.6rem,4vw,2.6rem);border-radius:28px;border:1px dashed var(--rule-2);color:var(--slate)}
.tk-empty p{margin:0}
.rec{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 2rem;align-items:center;padding:clamp(1.4rem,3vw,2rem);border-radius:28px;background:var(--ink);color:#fff;text-decoration:none;transition:transform .55s var(--ease)}
.rec:hover{transform:translateY(-4px)}
.rec h3{color:#fff;font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:740;font-stretch:112%;letter-spacing:-.03em}
.rec p{margin:.5rem 0 0;color:rgba(255,255,255,.66);font-size:.95rem}
.rec .tc-k{color:var(--lime)}
.rec .play{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:1.2rem;transition:transform .5s var(--ease)}
.rec:hover .play{transform:scale(1.08)}
