/* Social Parler: a printed-program look. Cream paper, plum ink, brass rules. */
@font-face{font-family:"DM Serif Display";src:url(/assets/fonts/dm-serif-display-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Serif Display";src:url(/assets/fonts/dm-serif-display-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Mulish";src:url(/assets/fonts/mulish-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Mulish";src:url(/assets/fonts/mulish-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Mulish";src:url(/assets/fonts/mulish-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --paper:#f8f1e7;--card:#fffaf3;--ink:#2b1d25;--soft:#5e4c55;--plum:#5b1f4a;--plum-2:#7a2f63;--brass:#9a6a1f;--brass-t:#7a5212;
  --rule:#d9c6ad;--rose:#b2486f;--hi:#f1e2c9;
  --serif:"DM Serif Display",Georgia,serif;--sans:"Mulish",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#1b1318;--card:#251a21;--ink:#f2e8df;--soft:#c9b8bf;--plum:#e7a9cf;--plum-2:#f0bddc;--brass:#d9ab5f;--brass-t:#e3b96f;
  --rule:#46343e;--rose:#f08cb0;--hi:#33242d;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.7 var(--sans);overflow-x:hidden}
a{color:var(--plum);text-decoration-color:var(--brass);text-underline-offset:.2em}
a:hover{color:var(--rose)}
:focus-visible{outline:3px solid var(--rose);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;color:var(--plum);margin:0 0 .5em}
.skip{position:absolute;left:-999px;top:0;background:var(--plum);color:var(--paper);padding:.5rem 1rem;z-index:9}
.skip:focus{left:1rem}

.ribbon{background:var(--plum);color:#f8f1e7;text-align:center;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.ribbon p{margin:0;padding:.35rem 1rem}
@media (prefers-color-scheme:dark){.ribbon{background:#3a1730}}

/* masthead: centered, like a program cover */
.masthead{text-align:center;padding:1.6rem 1rem 0;border-bottom:1px solid var(--rule)}
.mark{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--plum)}
.mark-name{font:400 2.4rem/1 var(--serif);margin-top:.4rem}
.mark-name i{color:var(--brass-t)}
.mark-tag{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);margin-top:.5rem}
.menu ul{list-style:none;margin:1.2rem 0 0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:.2rem 1.6rem;border-top:3px double var(--rule);padding:.7rem 0}
.menu a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem;padding:.2rem 0;border-bottom:2px solid transparent}
.menu a:hover{border-bottom-color:var(--brass)}
.menu a[aria-current]{color:var(--plum);border-bottom-color:var(--plum)}

.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-t);margin:0 0 .8rem}
.dek{font-size:1.2rem;color:var(--soft);margin:0}

/* home */
.welcome{max-width:1100px;margin:0 auto;padding:3.5rem 1.25rem 2.5rem;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:3rem;align-items:center}
.welcome h1{font-size:clamp(2.2rem,4.8vw,3.6rem)}
.ticket{background:var(--card);border:1px solid var(--rule);outline:6px double var(--plum);outline-offset:-14px;padding:2.6rem 2rem;text-align:center;transform:rotate(1.5deg);box-shadow:0 18px 40px -24px rgba(60,20,50,.45)}
.ticket-top{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-t);margin:0}
.ticket-topic{font:400 2.1rem/1.1 var(--serif);color:var(--plum);margin:.6rem 0;word-break:break-word}
.ticket-time{font-weight:700;margin:0 0 1rem}
.ticket-foot{font-size:.85rem;color:var(--soft);border-top:1px dashed var(--rule);padding-top:.8rem;margin:0;letter-spacing:.08em}

.planner{max-width:1100px;margin:0 auto;padding:1rem 1.25rem 3rem}
.planner>h2{font-size:2rem;text-align:center;margin-bottom:1.5rem}
.cp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--plum);padding:1.4rem}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font:400 1.3rem var(--serif);color:var(--plum);margin-bottom:.8rem;display:flex;align-items:center;gap:.6rem;padding:0}
legend span{font:700 .9rem var(--sans);width:1.8rem;height:1.8rem;border-radius:50%;background:var(--plum);color:var(--paper);display:inline-grid;place-items:center}
.f{margin-bottom:.9rem;min-width:0}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.f label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.3rem}
.soft{font-weight:400;color:var(--soft);font-size:.82rem}
input,select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-bottom:2px solid var(--brass);border-radius:3px;padding:.55rem .65rem;min-width:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--plum);outline-offset:1px}
textarea{resize:vertical;line-height:1.5;font-size:.95rem}
.note{font-size:.85rem;color:var(--soft);margin:.35rem 0 0}
.results{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;margin-top:1.5rem}
.r-block{background:var(--card);border:1px solid var(--rule);padding:1.3rem;min-width:0}
.r-block h3{font-size:1.4rem}
.wide-b{grid-column:1/-1}
.r-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}
.r-head h3{margin:0}
.tbl{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--rule);vertical-align:top}
thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--soft);border-bottom:2px solid var(--plum)}
tr.host{background:var(--hi)}
tr.host th::after{content:" · you";color:var(--brass-t);font-weight:400}
td.shift{color:var(--rose);font-weight:700}
.timeline{list-style:none;margin:0;padding:0 0 0 1rem;border-left:2px solid var(--rule)}
.timeline li{position:relative;padding:0 0 .9rem .9rem;display:grid;gap:.1rem}
.timeline li::before{content:"";position:absolute;left:-1.42rem;top:.45rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--paper);border:2px solid var(--brass)}
.timeline li.q::before{background:var(--plum);border-color:var(--plum)}
.timeline .t{font-size:.8rem;color:var(--soft);letter-spacing:.04em}
.timeline strong{color:var(--plum)}
.timeline .d{font-size:.95rem}
.checks{margin:0;padding-left:1.2rem}
.checks li{margin:.35rem 0}
.checks li::marker{content:"✓  ";color:var(--brass-t)}
.posts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.posts li{border:1px solid var(--rule);background:var(--paper);padding:.8rem 1rem;border-radius:3px}
.p-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}
.p-label{font-weight:700;font-size:.85rem;flex:1;color:var(--plum)}
.p-count{font-size:.78rem;color:var(--soft)}
.p-count.over{color:var(--rose);font-weight:700}
.p-text{margin:0;font-size:.97rem;white-space:pre-wrap;overflow-wrap:anywhere}
.copy{font:700 .8rem var(--sans);border:1px solid var(--plum);color:var(--plum);background:transparent;border-radius:99px;padding:.2rem .7rem;cursor:pointer}
.copy:hover{background:var(--plum);color:var(--paper)}
.pill{display:inline-block;font:700 .95rem var(--sans);background:var(--plum);color:var(--paper);border:2px solid var(--plum);border-radius:99px;padding:.55rem 1.2rem;cursor:pointer;text-decoration:none}
.pill:hover{background:var(--rose);border-color:var(--rose);color:#fff}
.pill.alt{background:transparent;color:var(--plum)}

.parlor-notes{background:var(--plum);color:#f8f1e7;padding:3rem 1.25rem}
.parlor-notes h2{color:#f8f1e7;text-align:center;font-size:2rem}
.pn-grid{max-width:900px;margin:1rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.pn-grid p{margin:0;font-size:1.05rem}
@media (prefers-color-scheme:dark){.parlor-notes{background:#2e1226}}
.home-guides,.home-faq{max-width:1100px;margin:0 auto;padding:3rem 1.25rem}
.home-guides>h2,.home-faq>h2{text-align:center;font-size:2rem}
.home-faq{max-width:780px}

.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem}
.card{background:var(--card);border:1px solid var(--rule);padding:1.4rem;border-top:3px solid var(--brass)}
.card h2,.card h3{font-size:1.4rem;margin:.2rem 0 .6rem}
.card h2 a,.card h3 a{text-decoration:none;color:var(--plum)}
.card h2 a:hover,.card h3 a:hover{text-decoration:underline}
.card p{margin:0 0 .5rem;color:var(--soft);font-size:.97rem}
.card-no{font:italic 400 1rem var(--serif)!important;color:var(--brass-t)!important}
.card-meta{font-size:.82rem!important}

.faqs{margin:1.5rem 0 0}
.faq-item{border-top:1px solid var(--rule);padding:1rem 0}
.faq-item dt{font:400 1.25rem/1.3 var(--serif);color:var(--plum);margin-bottom:.35rem}
.faq-item dd{margin:0}

/* essays */
.sheet{max-width:760px;margin:0 auto;padding:1.5rem 1.25rem 3.5rem}
.sheet.wide{max-width:1100px}
.path ol{list-style:none;margin:0 0 2.2rem;padding:0;display:flex;flex-wrap:wrap;gap:.3rem;font-size:.85rem;color:var(--soft);justify-content:center}
.path li+li::before{content:"·";margin-right:.3rem;color:var(--brass)}
.path a{color:var(--soft)}
.essay-head{text-align:center;margin-bottom:2rem}
.essay-head h1{font-size:clamp(2.1rem,5vw,3.2rem)}
.essay-head.center .dek{max-width:60ch;margin:0 auto}
.byline{font-size:.88rem;color:var(--soft);margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--rule);display:inline-block}
.program{border:1px solid var(--rule);outline:3px double var(--rule);outline-offset:-7px;background:var(--card);padding:1.4rem 1.6rem;margin:0 0 2.2rem}
.program-t{font:400 1.25rem var(--serif);color:var(--plum);text-align:center;margin:0 0 .6rem}
.program ol{margin:0;padding:0;list-style:none;counter-reset:p}
.program li{counter-increment:p;display:flex;gap:.7rem;padding:.25rem 0;border-bottom:1px dotted var(--rule)}
.program li:last-child{border:0}
.program li::before{content:counter(p,upper-roman);font:italic 400 1rem var(--serif);color:var(--brass-t);min-width:2rem}
.program a{text-decoration:none;color:var(--ink)}
.program a:hover{color:var(--plum);text-decoration:underline}
.body h2{font-size:1.9rem;margin:2.4rem 0 .7rem}
.body h2::after{content:"";display:block;width:3rem;height:2px;background:var(--brass);margin-top:.5rem}
.body h3{font-size:1.35rem;margin:1.8rem 0 .5rem}
.body p,.body ul,.body ol{margin:0 0 1.15rem}
.body li{margin:.3rem 0}
.first-cap>p:first-of-type::first-letter{font:400 4.2rem/.8 var(--serif);float:left;margin:.35rem .5rem 0 0;color:var(--plum)}
.body blockquote{margin:1.6rem 0;padding:.2rem 0 .2rem 1.3rem;border-left:3px solid var(--brass);font-style:italic;color:var(--soft)}
.body pre{background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--plum);padding:1rem;white-space:pre-wrap;font:400 .92rem/1.55 ui-monospace,Menlo,Consolas,monospace;overflow-x:auto}
.body code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em;background:var(--hi);padding:.05em .3em;border-radius:3px}
.body pre code{background:none;padding:0}
.body .tbl{margin:0 0 1.4rem;border:1px solid var(--rule);background:var(--card)}
.fineprint{font-size:.88rem;color:var(--soft);text-align:center;border-top:3px double var(--rule);padding-top:1rem;margin-top:3rem}
.see-also{margin-top:2.5rem;background:var(--card);border:1px solid var(--rule);padding:1.4rem 1.6rem}
.see-also h2{font-size:1.5rem}
.see-also ul{list-style:none;margin:0;padding:0}
.see-also li{padding:.6rem 0;border-bottom:1px dotted var(--rule);display:grid}
.see-also li a{font:400 1.15rem var(--serif)}
.see-also li span{font-size:.92rem;color:var(--soft)}
.sa-tool{margin:1rem 0 0;font-weight:700}
.center-links{text-align:center}
.mailbox{text-align:center;font:400 1.6rem var(--serif);background:var(--card);border:1px solid var(--rule);padding:1.4rem;outline:3px double var(--rule);outline-offset:-8px}

.colophon{border-top:3px double var(--rule);background:var(--card);margin-top:2rem}
.colophon-in{max-width:900px;margin:0 auto;padding:2.2rem 1.25rem;text-align:center;font-size:.9rem;color:var(--soft)}
.c-name{font:400 1.7rem var(--serif);color:var(--plum);margin:0 0 .8rem}
.c-name i{color:var(--brass-t)}
.colophon nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem 1.2rem;margin-bottom:1rem;font-weight:700}
.colophon p{margin:.4rem 0}

@media (max-width:900px){
  .welcome{grid-template-columns:1fr;gap:2rem;padding-top:2.2rem}
  .ticket{max-width:420px;margin:0 auto;transform:none}
  .cp{grid-template-columns:1fr}
  .results{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .pn-grid{grid-template-columns:1fr;gap:1rem}
}
@media (max-width:600px){
  .mark-name{font-size:2rem}
  .menu ul{gap:.1rem 1rem}
  .cards{grid-template-columns:1fr}
  .posts{grid-template-columns:1fr}
  .welcome,.planner,.sheet,.home-guides,.home-faq,.parlor-notes{padding-left:1rem;padding-right:1rem}
  .cp,.r-block{padding:1rem}
  .program{padding:1.2rem}
  .first-cap>p:first-of-type::first-letter{font-size:3.4rem}
}
