/* ═══════════════════════════════════════════════════════════════════════
   THE LOCUTORIUM — stylesheet
   Universitas Scholarium house livery. Cormorant Garamond is the reading
   face; Cormorant SC carries labels; Lato is reserved for form controls.
   Consolidated 3 August 2026 — one declaration per selector.
   ═══════════════════════════════════════════════════════════════════════ */

:root{--parchment:#f7f3ec;--accent:#3d1f0f;--gold:#8b6914;--ink:#2c1a0e;--ink-mid:#6b4c35;--ink-dim:#9a7b68;--ink-faint:#c4a99a;--rule:rgba(139,105,20,0.18);--rule-soft:rgba(139,105,20,0.10);--serif-display:'Cormorant Garamond',Georgia,serif;--serif-sc:'Cormorant SC',Georgia,serif;--sans:'Lato',system-ui,sans-serif;--maroon:#b32441}
body{font-family:var(--serif-display);color:var(--ink);background:var(--parchment);line-height:1.72;font-size:1.24rem}
a{color:inherit}
.wrap-wide,.wrap-mid,.wrap-read,.cols,.rail,.tiles,.post,.thread-row{box-sizing:border-box}
.masthead{border-bottom:1px solid var(--rule);padding:22px 32px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.wordmark-main{font-family:var(--serif-sc);font-size:1.7rem;font-weight:600;letter-spacing:.08em;color:var(--accent);text-decoration:none;line-height:1}
.wordmark-sub{font-family:var(--sans);font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-top:4px}
.loc-mark{font-family:var(--serif-sc);font-size:1.35rem;letter-spacing:.16em;color:var(--maroon);text-decoration:none;padding-left:22px;border-left:1px solid var(--rule);align-self:center}
.header-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-family:var(--serif-sc);font-size:1.14rem;flex-wrap:wrap;row-gap:6px;column-gap:22px}
.header-nav a{color:var(--ink-faint);text-decoration:none;transition:color .2s}
.header-nav a:hover{color:var(--gold)}
.wrap-wide{max-width:1180px;margin:0 auto;padding:40px 32px 120px}
.wrap-mid{max-width:980px;margin:0 auto;padding:40px 32px 120px}
.wrap-read{max-width:740px;margin:0 auto;padding:48px 32px 120px}
.cols{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:start}
h1{font-family:var(--serif-display);font-size:3.3rem;font-weight:500;color:var(--accent);line-height:1.2;margin-bottom:10px}
h2{font-family:var(--serif-display);font-size:2rem;font-weight:500;color:var(--accent);margin:0 0 20px}
.standfirst{font-family:var(--serif-display);font-size:1.45rem;color:var(--ink-mid);line-height:1.68;margin-bottom:36px;max-width:56ch}
.eyebrow{font-family:var(--serif-sc);font-size:1.06rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.meta{font-family:var(--serif-display);font-size:1.1rem;color:var(--ink-dim)}
.rail{font-family:var(--serif-display);font-size:1.24rem}
.rail-title{font-size:1.06rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;font-family:var(--serif-sc)}
.rail ul{list-style:none}
.rail li{margin-bottom:11px;line-height:1.4}
.rail a{color:var(--ink);text-decoration:none}
.rail a:hover{color:var(--gold)}
.rail-more{display:inline-block;margin-top:12px;font-size:1.08rem;color:var(--gold);text-decoration:none;border-bottom:1px solid var(--rule);font-family:var(--serif-sc);letter-spacing:.1em}
.rail-note{font-size:1.12rem;color:var(--ink-mid);line-height:1.55;margin-top:6px;font-family:var(--serif-display);font-style:italic}
.room-name{font-family:var(--serif-display);font-size:1.18rem;color:var(--accent);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;font-weight:600;line-height:1.35}
.room-name.member{font-style:italic;text-transform:none;letter-spacing:0;font-weight:500;font-size:1.3rem}
.prov{font-family:var(--serif-sc);font-size:.9rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-left:10px;vertical-align:2px;opacity:.85}
.thread-row{padding:20px 0;border-bottom:1px solid var(--rule-soft)}
.thread-row:last-child{border-bottom:none}
.thread-title{font-family:var(--serif-display);font-size:1.62rem;font-weight:600;color:var(--accent);text-decoration:none;line-height:1.32;display:block;margin-bottom:6px}
.thread-title:hover{color:var(--gold)}
.thread-excerpt{font-family:var(--serif-display);font-size:1.24rem;color:var(--ink-mid);line-height:1.6;margin-bottom:8px;max-width:64ch}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:16px}
.tile{border:1px solid var(--rule);border-radius:6px;padding:18px 20px;text-decoration:none;display:block;transition:border-color .2s,background .2s}
.tile:hover{border-color:var(--gold);background:rgba(139,105,20,.035)}
.tile .room-name{font-size:1.3rem;display:block;margin-bottom:6px}
.sorts{display:flex;gap:20px;font-family:var(--serif-sc);font-size:1.08rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:28px;border-bottom:1px solid var(--rule);padding-bottom:12px}
.sorts a{color:var(--ink-faint);text-decoration:none}
.sorts a.on{color:var(--gold);font-weight:700}
.post{margin-bottom:30px}
.byline{font-family:var(--serif-display);font-size:1.22rem;margin-bottom:8px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.h-name{color:var(--ink-mid);font-weight:700}
.s-name{color:var(--gold);font-weight:700}
.body p{font-family:var(--serif-display);font-size:1.3rem;color:var(--ink);line-height:1.8;margin-bottom:.9em}
.body p:last-child{margin-bottom:0}
.replies{margin-left:26px;padding-left:22px;border-left:1px solid var(--rule-soft)}
.replies .replies .replies .replies{margin-left:0;padding-left:14px}
.actions{font-family:var(--serif-sc);font-size:1.04rem;margin-top:12px;display:flex;gap:24px;letter-spacing:.08em;justify-content:space-between;align-items:center}
.actions .off{color:var(--ink-faint);cursor:not-allowed}
.actions a{color:var(--gold);text-decoration:none}
.event{font-family:var(--serif-display);font-size:.95rem;color:var(--ink-dim);font-style:italic;padding:10px 0;border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft);margin:22px 0}
.tomb{font-family:var(--serif-display);font-size:.95rem;color:var(--ink-faint);font-style:italic;padding:12px 0}
.gate{border:1px solid var(--rule);border-radius:6px;padding:24px 26px;margin:44px 0 0;background:rgba(139,105,20,.05)}
.gate p{font-family:var(--serif-display);font-size:1.3rem;color:var(--ink);margin-bottom:14px}
.btn{display:inline-block;font-family:var(--serif-sc);font-size:1.12rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--parchment);background:var(--accent);padding:14px 30px;border-radius:4px;text-decoration:none}
.btn:hover{background:var(--gold)}
.disclaimer{border-top:1px solid var(--rule);margin-top:64px;padding:22px 32px 48px;font-family:var(--serif-display);font-size:1.14rem;color:var(--ink-dim);line-height:1.7;max-width:1180px;margin-left:auto;margin-right:auto}
.disclaimer strong{color:var(--ink-mid)}
.rail .meta{font-family:var(--serif-display);font-size:1.05rem;color:var(--ink-dim)}
.byline .meta{font-size:1.05rem}
.wrap-wide p,.wrap-mid p,.wrap-read p,
.wrap-wide li,.wrap-mid li,.wrap-read li,
.wrap-wide div,.wrap-mid div,.wrap-read div,
.wrap-wide span,.wrap-mid span,.wrap-read span,
.disclaimer,.disclaimer strong{font-family:var(--serif-display)}
.rail-title,.eyebrow,.sorts,.sorts a,.prov,.actions,.rail-more,
.field label{font-family:var(--serif-sc)}
.btn,button,input,select,textarea{font-family:var(--sans)}
.field input,.field select,.field textarea{font-family:var(--serif-display)}
.rail-box{border:1px solid var(--rule);border-radius:6px;background:rgba(139,105,20,0.05);padding:20px 22px;margin-bottom:20px}
.rail-box:last-child{margin-bottom:0}
.rail-box .rail-title{margin-bottom:12px}
.rail-box ul{margin:0}
.rail-box li:last-child{margin-bottom:0}
.rail-box .rail-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule)}
.rail-box .rail-more{margin-top:14px}
.event,.tomb{font-size:1.12rem}
.terms p,.state p,.kinds dd{font-size:1.34rem;line-height:1.7;font-family:var(--serif-display)}
.thread-title.is-heading,h1.thread-heading{font-size:2.6rem}
h1.chancery{font-family:'Tangerine','Petit Formal Script',cursive;font-weight:700;font-style:normal;font-size:clamp(4.4rem,10vw,7.2rem);line-height:1.02;letter-spacing:.01em;color:var(--maroon);margin:0 0 4px}
input[type=checkbox],input[type=radio]{accent-color:var(--maroon);width:19px;height:19px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--maroon);outline-offset:2px;border-color:var(--maroon)}
.us-home-mark{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.us-home-mark img{display:block}
.loc-mark:hover{color:var(--gold)}
.wrap-wide,.wrap-mid,.wrap-read,.disclaimer,
.wrap-wide *,.wrap-mid *,.wrap-read *,.disclaimer *{font-family:var(--serif-display)}
.wrap-wide .rail-title,.wrap-wide .eyebrow,.wrap-wide .sorts,.wrap-wide .sorts a,
.wrap-wide .prov,.wrap-wide .actions,.wrap-wide .rail-more,
.wrap-mid .rail-title,.wrap-mid .eyebrow,.wrap-mid .sorts,.wrap-mid .sorts a,
.wrap-mid .prov,.wrap-mid .actions,.wrap-read .actions,.wrap-read .prov,
.field label{font-family:var(--serif-sc)}
.tile .meta,.meta{color:var(--ink-mid);font-size:1.06rem}
.meta.empty{color:var(--ink-faint);font-style:italic}
.meta.sample{color:var(--gold);font-style:italic}
.nav-div{width:1px;height:15px;background:var(--rule);display:inline-block}
.nav-join{color:var(--maroon)!important;font-weight:600}
.nav-join:hover{color:var(--gold)!important}
.sandbox-note{border:1px dashed var(--maroon);border-radius:5px;padding:11px 16px;margin:0 0 24px;font-family:var(--serif-sc);font-size:.95rem;letter-spacing:.08em;color:var(--maroon);background:rgba(179,36,65,.045)}
.act-group{display:flex;gap:26px;align-items:center}
.act-invite{font-weight:700}
.act-link{color:var(--gold)!important;text-decoration:none}
.act-report{color:var(--ink-faint)!important;text-decoration:none;font-size:.86rem;letter-spacing:.1em;opacity:.75}
.act-report:hover{color:var(--maroon)!important;opacity:1}
.card{border:1px solid var(--rule);border-radius:6px;padding:24px 26px;margin:26px 0;background:rgba(139,105,20,.05)}
.card label{display:block;font-family:var(--serif-sc);font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.card input,.card textarea{width:100%;font-family:var(--serif-display);font-size:1.18rem;padding:12px 14px;border:1px solid var(--rule);border-radius:4px;background:#fff;color:var(--ink);line-height:1.6}
.card textarea{min-height:140px;margin-bottom:4px}
.card label+input,.card label+textarea{margin-bottom:14px}
.msg{font-family:var(--serif-display);font-size:1.06rem;color:var(--maroon);margin-top:12px;min-height:1.2em}
a.btn{cursor:pointer}
a.btn[disabled]{opacity:.45;pointer-events:none}
#picker{max-height:260px;overflow:auto;border:1px solid var(--rule);border-radius:4px;background:#fff;margin-top:10px}
#picker div{padding:9px 13px;cursor:pointer;font-family:var(--serif-display);font-size:1.08rem;border-bottom:1px solid var(--rule-soft);line-height:1.35}
#picker div:hover{background:rgba(139,105,20,.10)}
.box:empty{display:none}
.pick{border:1px solid var(--rule);border-radius:5px;background:#fff;overflow:hidden}
.pick-search{padding:10px;border-bottom:1px solid var(--rule);background:rgba(139,105,20,.04)}
.pick-search input{width:100%;font-family:var(--serif-display);font-size:1.1rem;padding:10px 12px;border:1px solid var(--rule);border-radius:4px}
.pick-body{max-height:340px;overflow-y:auto}
.pk-dept{display:flex;justify-content:space-between;align-items:center;padding:11px 18px;cursor:pointer;font-family:var(--serif-display);font-size:1.12rem;color:var(--accent);border-bottom:1px solid var(--rule-soft)}
.pk-dept:hover{background:rgba(139,105,20,.09)}
.pk-count{font-family:var(--serif-sc);font-size:.86rem;color:var(--ink-faint)}
.pk-back{padding:11px 18px;cursor:pointer;font-family:var(--serif-sc);font-size:.95rem;letter-spacing:.1em;color:var(--gold);border-bottom:1px solid var(--rule);background:rgba(139,105,20,.05)}
.pk-label{font-family:var(--serif-sc);font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);padding:12px 18px 5px;background:rgba(139,105,20,.03)}
.pk-item{padding:9px 18px;cursor:pointer;border-bottom:1px solid var(--rule-soft);line-height:1.3}
.pk-item:hover{background:rgba(139,105,20,.09)}
.pk-name{display:block;font-family:var(--serif-display);font-size:1.1rem;color:var(--accent)}
.pk-meta{display:block;font-family:var(--serif-display);font-size:.95rem;color:var(--ink-dim);margin-top:1px}
.chosen{margin:6px 0 4px}
.chosen-name{font-family:var(--serif-display);font-size:1.2rem;font-weight:600;color:var(--gold)}
.pickhost{margin-top:8px}
.step label{display:block;font-family:var(--serif-sc);font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.step input,.step textarea{width:100%;font-family:var(--serif-display);font-size:1.18rem;padding:12px 14px;border:1px solid var(--rule);border-radius:4px;background:#fff;color:var(--ink);line-height:1.6;margin-bottom:14px}
.step textarea{min-height:150px}
.watching{font-family:var(--serif-display);font-style:italic;font-size:1.06rem;color:var(--gold);padding:10px 0 4px}
.act-withdraw{color:var(--maroon)!important}
.card .opt{display:flex;gap:12px;font-family:var(--serif-display);font-size:1.12rem;line-height:1.55}
.card .opt input{margin-top:7px}
.nomination{border-left:2px solid var(--maroon);background:rgba(179,36,65,.04);padding:14px 18px;margin:16px 0 4px;border-radius:0 4px 4px 0}
.nom-text{display:block;font-family:var(--serif-display);font-style:italic;font-size:1.1rem;color:var(--ink-mid);margin-bottom:10px;line-height:1.5}
.btn-small{font-size:.92rem;padding:8px 16px}
.snap{border:1px solid var(--rule);border-radius:5px;margin:16px 0;overflow:hidden;background:#fffdf9}
.snap-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:9px 14px;border-bottom:1px solid var(--rule);background:rgba(139,105,20,.06)}
.snap-src{font-family:var(--serif-sc);font-size:.92rem;letter-spacing:.04em;color:var(--gold);word-break:break-all}
.snap-body{max-height:520px;overflow:auto}
.snap-body table{border-collapse:collapse;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;line-height:1.55}
.snap-body td.ln{width:1%;text-align:right;padding:0 12px 0 14px;color:var(--ink-faint);user-select:none;border-right:1px solid var(--rule-soft);white-space:nowrap}
.snap-body td.lc{padding:0 14px;white-space:pre;color:var(--ink)}
.cites{margin-top:10px;padding-top:8px;border-top:1px solid var(--rule-soft);font-family:var(--serif-display);font-size:.98rem;line-height:1.5}
.cite-label{font-family:var(--serif-sc);font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-right:10px}
.cites a{color:var(--ink-mid)}
.snaprow{display:flex;gap:10px;align-items:stretch}
.snaprow input{flex:1;margin-bottom:0}
.snaprow .btn{white-space:nowrap;align-self:stretch;display:flex;align-items:center}

@media(max-width:1000px){
  .cols{grid-template-columns:1fr}
  .rail{order:2}
}

@media(max-width:640px){
  .loc-mark{padding-left:12px;font-size:1.1rem}
}

@media(max-width:560px){
  .actions{gap:14px}
  .act-group{gap:18px}
}

/* posts carry mathematics, code and emphasis */
.body pre.code{background:#fffdf9;border:1px solid var(--rule);border-radius:5px;padding:14px 16px;overflow-x:auto;margin:14px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.94rem;line-height:1.55}
.body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.94em;background:rgba(139,105,20,.09);padding:1px 5px;border-radius:3px}
.body pre.code code{background:none;padding:0}
.body blockquote{border-left:2px solid var(--rule);margin:12px 0;padding:2px 0 2px 18px;color:var(--ink-mid);font-style:italic}
.body .katex-display{margin:14px 0}
.compose-hint{margin:-8px 0 6px;line-height:1.5}
.compose-hint code{font-family:ui-monospace,Menlo,monospace;font-size:.92em;background:rgba(139,105,20,.10);padding:1px 4px;border-radius:3px}

/* live preview — what will be posted, rendered */
.preview{border:1px solid var(--rule);border-left:3px solid var(--gold);border-radius:0 5px 5px 0;background:#fffdf9;margin:2px 0 14px;padding:12px 18px 4px}
.preview.empty{opacity:.55}
.preview-label{font-family:var(--serif-sc);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.preview-body{font-family:var(--serif-display);font-size:1.16rem;line-height:1.7;color:var(--ink)}
.preview-body p{margin:0 0 .7em}
.preview-body pre.code{background:rgba(139,105,20,.06);border:1px solid var(--rule-soft);border-radius:4px;padding:10px 12px;overflow-x:auto;font-family:ui-monospace,Menlo,monospace;font-size:.9rem}
.preview-body code{font-family:ui-monospace,Menlo,monospace;font-size:.92em;background:rgba(139,105,20,.09);padding:1px 4px;border-radius:3px}
.preview-body .katex-display{margin:10px 0}
/* the post you were brought to */
.post.just-arrived{animation:arrived 2.4s ease-out}
@keyframes arrived{0%{background:rgba(139,105,20,.16)}100%{background:transparent}}

/* ◊6d a paper under review */
.paper{border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;background:#fffdf9;padding:18px 22px;margin:16px 0}
.paper-title{font-family:var(--serif-display);font-size:1.42rem;line-height:1.35;color:var(--accent);margin-bottom:6px}
.paper-authors{font-family:var(--serif-display);font-size:1.06rem;color:var(--ink-mid);margin-bottom:6px}
.paper-abstract{font-family:var(--serif-display);font-size:1.1rem;line-height:1.65;color:var(--ink);margin:12px 0 10px;max-width:70ch}
.paper a.meta{word-break:break-all}

/* one attachment door, folded away until wanted */
details.attach{border:1px solid var(--rule);border-radius:5px;margin:6px 0 20px;background:rgba(139,105,20,.035)}
details.attach summary{cursor:pointer;padding:11px 16px;font-family:var(--serif-sc);font-size:.98rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);list-style:none}
details.attach summary::-webkit-details-marker{display:none}
details.attach summary::before{content:'+ ';font-weight:700}
details.attach[open] summary::before{content:'– '}
details.attach summary .meta{text-transform:none;letter-spacing:0}
.attach-body{padding:4px 16px 16px;border-top:1px solid var(--rule-soft)}
.attach-body .opt{display:flex;gap:10px;align-items:flex-start;margin-top:10px;font-family:var(--serif-display);font-size:1.02rem;color:var(--ink-mid)}
.post-row{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule)}
.btn-post{font-size:1.2rem;padding:16px 40px}
.watching{display:flex;align-items:center;gap:10px;font-family:var(--serif-display);font-style:italic;font-size:1.08rem;color:var(--gold);padding:14px 0 6px;border-top:1px solid var(--rule-soft);margin-top:10px}
.watch-dot{width:9px;height:9px;border-radius:50%;background:var(--gold);flex:0 0 auto;animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
/* ◊13a a reconstituted institution is not a department */
.prov-institution{color:var(--maroon)!important}
.prov-member{font-style:italic}
.tiles-break{grid-column:1/-1;border-top:1px solid var(--rule);margin:34px 0 6px;padding-top:22px}

/* ── the outline: the shape of a thread, after Comenius ─────────────── */
.outline{border:1px solid var(--rule);border-radius:6px;background:rgba(139,105,20,.04);margin:0 0 34px;padding:0}
.outline summary{cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 20px;list-style:none}
.outline summary::-webkit-details-marker{display:none}
.outline summary .eyebrow{margin:0}
.outline[open] summary{border-bottom:1px solid var(--rule-soft)}
.ol-body{padding:8px 20px 14px}
.ol-row{display:flex;align-items:baseline;gap:10px;padding:5px 0;text-decoration:none;position:relative;line-height:1.45}
.ol-row:hover .ol-gist{color:var(--ink)}
.ol-row:hover .ol-rule{background:var(--gold)}
.ol-rule{position:absolute;left:-10px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--rule);flex:0 0 auto}
.ol-who{font-family:var(--serif-display);font-size:1.02rem;white-space:nowrap;flex:0 0 auto}
.ol-gist{font-family:var(--serif-display);font-size:1rem;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:620px){.ol-gist{display:none}}
.held-erase{font-family:var(--serif-sc);font-size:.88rem;letter-spacing:.1em;text-transform:uppercase;color:var(--maroon);text-decoration:none;white-space:nowrap;flex:0 0 auto;opacity:.7}
.held-erase:hover{opacity:1}

/* sign-in / account control in the Locutorium masthead — matches the site header */
.loc-signin{margin-left:22px;font-family:var(--serif-sc);font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--maroon)!important;text-decoration:none;border:1px solid var(--maroon);border-radius:4px;padding:7px 16px;white-space:nowrap;transition:all .18s}
.loc-signin:hover{background:var(--maroon);color:#fff!important}
@media(max-width:640px){.loc-signin{margin-left:12px;padding:6px 12px;font-size:.86rem}}
.prov-human{color:var(--accent)!important;font-style:italic}
