/* Sesha publication layer. Loaded after each template's own rules.
   The seal and the nameplate are the mark; teal is the accent, not a theme park. */

.recovery-code{padding:1rem;border:1px solid var(--line);overflow-wrap:anywhere;user-select:all}

/* Phone journey repairs: put saved entries ahead of explanatory copy, keep
   the story-view control visible outside the dark masthead. */
#saved-title{margin:.85rem 0;font-size:clamp(2rem,5vw,3rem)}
#saved-intro,#saved-language-note,.saved-status{
  font-family:var(--sans);font-size:.875rem;line-height:1.5;
}
#saved-language-note{color:var(--ink-soft);margin:.6rem 0}
.saved-status{padding:.75rem;margin:.8rem 0}
.saved-tools,.saved-tabs{font-family:var(--sans);font-size:.875rem}
.saved-tools select,.saved-tools button{font-size:inherit}
.story-head .theme{color:var(--ink);background:var(--paper-raise);border-color:var(--line)}
.story-head .theme:hover{background:var(--faience-wash)}
.panel button,.panel input[type="text"],.panel input[type="password"]{min-height:44px}

.mast{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--paper) 94%,white);
  border-bottom:1px solid var(--ink);
  padding:.8rem clamp(1rem,4vw,2.5rem) .45rem;
}
[data-theme="dark"] .mast{background:color-mix(in srgb,var(--paper) 92%,black)}
.mast-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.wordmark{
  display:flex;align-items:center;gap:.7rem;
  text-decoration:none;color:var(--ink);min-height:2.75rem;
}
.wordmark .mark{width:36px;height:36px;flex:none;display:block}
.wm-name{
  font-family:var(--display);font-weight:400;
  font-size:clamp(1.55rem,3vw,2.05rem);
  letter-spacing:.14em;text-transform:uppercase;line-height:1;
}
.wm-kicker{
  margin:0;font-family:var(--sans);font-size:.68rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);
}
.theme{
  font-family:var(--sans);font-size:.72rem;letter-spacing:.04em;
  border:1px solid var(--line);border-radius:2px;
  padding:.4rem .7rem;background:var(--paper-raise);color:var(--ink);
  min-height:2.25rem;
}
.mast-nav{
  display:flex;flex-wrap:wrap;gap:.15rem 1.15rem;
  margin-top:.45rem;padding-top:.35rem;
  border-top:1px solid var(--line);
  font-family:var(--sans);font-size:.84rem;
}
.mast-nav a{
  color:var(--ink);text-decoration:none;
  min-height:2.5rem;display:inline-flex;align-items:center;
}
.mast-nav a:hover{color:var(--faience-deep)}
.mast-nav a[aria-current="page"]{
  color:var(--faience-deep);
  box-shadow:inset 0 -2px 0 var(--faience);
}

.edition{max-width:42rem}
.lede{
  font-size:1.2rem;line-height:1.45;max-width:40rem;margin-top:.7rem;
}
.edition-actions,.reader-actions{
  display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;
}
.action{
  font-family:var(--sans);font-size:.84rem;font-weight:600;
  text-decoration:none;background:var(--faience);color:var(--paper-raise);
  padding:.55rem .95rem;border-radius:2px;border:1px solid var(--faience);
  display:inline-flex;align-items:center;min-height:2.5rem;
}
.action:hover{background:var(--faience-deep);border-color:var(--faience-deep);color:var(--paper-raise)}
.action.quiet{
  background:transparent;color:var(--faience-deep);border-color:var(--faience);
}
.action.quiet:hover{background:var(--faience-wash);color:var(--faience-deep)}

.card{border-radius:2px;border-left:3px solid var(--faience)}
.card-flag{
  font-family:var(--sans);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ochre);
  border:1px solid currentColor;border-radius:2px;padding:.12rem .45rem;
}
.index-switch{
  font-family:var(--sans);font-size:.84rem;margin-top:.9rem;
  display:flex;flex-wrap:wrap;gap:.4rem 1rem;
}
.index-switch a{color:var(--faience-deep)}
.kind-note{margin-top:.7rem;max-width:46rem}
.filters{
  display:flex;flex-wrap:wrap;gap:.5rem;align-items:end;margin-top:1rem;
  font-family:var(--sans);font-size:.82rem;
}
.filters label{display:grid;gap:.25rem;font-weight:600}
.filters input,.filters select{
  font:inherit;font-weight:400;color:var(--ink);background:var(--paper-raise);
  border:1px solid var(--line);border-radius:2px;padding:.45rem .6rem;min-height:2.5rem;
}
.search-hit{padding:.85rem 0;border-top:1px solid var(--line)}
.search-hit a{color:var(--ink);text-decoration:none;font-family:var(--display);font-size:1.25rem}
.search-hit a:hover{color:var(--faience-deep)}
.search-hit .meta{font-family:var(--sans);font-size:.78rem;color:var(--ink-soft);margin-top:.2rem}

@media(max-width:600px){
  .mast{padding:.65rem 1rem .35rem}
  .wm-name{font-size:1.28rem;letter-spacing:.08em}
  .wm-kicker{display:none}
  .mast-nav{gap:.1rem .85rem}
  .mast-nav a{min-height:2.75rem}
  .action{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .mast,.action,.card{transition:none}
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .action{background:var(--faience);color:var(--paper-raise);border-color:var(--faience)}
}

/* The Field Edition: a ruled, finite publication rather than a stack of cards. */
.mast{
  background:var(--faience-deep);color:var(--paper);
  border-bottom:1px solid color-mix(in srgb,var(--paper) 36%,transparent);
  padding:1rem clamp(1rem,4vw,2.5rem) .55rem;
}
[data-theme="dark"] .mast{background:var(--faience-deep)}
.mast-top,.mast-nav{max-width:1180px;margin-left:auto;margin-right:auto}
.wordmark{position:relative;color:var(--paper);gap:.7rem}
.wordmark .mark{
  position:absolute;width:1px;height:1px;opacity:0;
}
.wordmark::before{
  content:"";display:block;flex:none;width:36px;height:36px;
  background:var(--paper);
  -webkit-mask:url("/mark.svg") center/contain no-repeat;
  mask:url("/mark.svg") center/contain no-repeat;
}
.wm-name{color:var(--paper);font-size:clamp(1.55rem,3vw,2.05rem);letter-spacing:.14em}
.wm-kicker{color:var(--paper);opacity:.88}
.theme{
  min-width:2.75rem;min-height:2.75rem;
  color:var(--paper);border-color:color-mix(in srgb,var(--paper) 58%,transparent);
  background:transparent;
}
.theme:hover{background:color-mix(in srgb,var(--paper) 12%,transparent)}
.mast-nav{
  border-top-color:color-mix(in srgb,var(--paper) 30%,transparent);
  font-size:.82rem;gap:.15rem 1.35rem;
}
.mast-nav a{color:var(--paper);min-height:2.75rem}
.mast-nav a:hover{color:var(--paper);text-decoration:underline;text-underline-offset:.3em;text-decoration-color:var(--ochre)}
.mast-nav a[aria-current="page"]{color:var(--paper);box-shadow:inset 0 -2px 0 var(--ochre)}
.mast :focus-visible{outline-color:var(--paper-raise)}

.edition-head,.story-head{
  max-width:1180px;padding:clamp(2rem,5vw,3.5rem) clamp(1rem,4vw,2.5rem) 1.4rem;
}
.edition-head h1{font-size:clamp(2.2rem,5vw,3.8rem);letter-spacing:.005em}
.edition-head .lede{max-width:62ch;font-size:clamp(1.05rem,1.8vw,1.28rem);line-height:1.5}
.edition-head .sub{
  margin-top:.9rem;padding-top:.65rem;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:.7rem;letter-spacing:.015em;
}
.edition-actions{gap:.6rem}
.edition-actions .action{min-height:2.75rem}

.front-layout{
  max-width:1180px;grid-template-columns:minmax(0,1.7fr) minmax(16rem,.8fr);
  align-items:start;gap:1.8rem clamp(1.5rem,4vw,3.4rem);
}
.front-layout>.feed,.front-layout>.wire,.front-layout>.index-door{min-width:0}
.front-layout>.feed{grid-column:1;grid-row:1 / span 2;gap:0}
.front-layout>.wire{grid-column:2;grid-row:1}
.front-layout>.index-door{grid-column:2;grid-row:2}
.front-layout .card{
  border:0;border-top:1px solid var(--line);border-radius:0;
  border-left:0;background:transparent;padding:1.05rem 0;
  transition:none;
}
.front-layout .card:first-child{
  border-top:4px solid var(--faience);padding:1.25rem 0 1.5rem;
}
.front-layout .card:first-child h2{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.16;max-width:23ch}
.front-layout .card:first-child .state-line{font-size:1.08rem;max-width:58ch}
.front-layout .card:first-child .card-meta{border-top:1px solid var(--line);padding-top:.8rem}
.front-layout .card h2{font-size:1.35rem}
.front-layout .card:hover{border-color:var(--line)}
.front-layout .card h2 a{ text-decoration-thickness:1px;text-underline-offset:.12em }
.record-end{
  border-top:1px solid var(--ink);padding:.8rem 0 0;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-soft);
}
.front-layout .wire,.front-layout .index-door{
  position:static;align-self:start;border:0;border-top:2px solid var(--ink);
  border-radius:0;background:transparent;padding:1rem 0;font-family:var(--sans);
}
.front-layout .wire-title{
  font-size:.68rem;letter-spacing:.16em;line-height:1.5;margin-bottom:.45rem;
}
.front-layout .wire-title::before{width:1.3rem;height:1px;border-radius:0;background:var(--ochre)}
.wire-copy{font-size:.82rem;color:var(--ink-soft);line-height:1.55;margin-bottom:.9rem;max-width:38ch}
.front-layout .wire ul{gap:0}
.front-layout .wire li{border-bottom:1px solid var(--line);padding:.65rem 0;font-size:.8rem}
.front-layout .wire li:last-child{border-bottom:0;padding-bottom:0}
.front-layout .wire time{opacity:1}
.front-layout .index-door{border-top:1px solid var(--faience);padding-top:.9rem}
.index-door-kicker{
  font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--faience-deep);
}
.index-door h2{font-family:var(--display);font-size:1.35rem;font-weight:400;margin:.35rem 0 .4rem}
.index-door>p:not(.index-door-kicker){font-family:var(--sans);font-size:.79rem;color:var(--ink-soft);line-height:1.55;max-width:40ch}
.index-door a{
  display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;margin-top:.5rem;
  color:var(--faience-deep);font-family:var(--sans);font-size:.82rem;font-weight:600;
  text-underline-offset:.2em;
}

.story-head{padding-bottom:1.3rem}
.story-head h1{font-size:clamp(2rem,4.6vw,3.5rem);max-width:19ch}
.story-head .standfirst{font-size:1.08rem;max-width:62ch;line-height:1.55}
.story-head .depth{border-radius:2px}
.story-head .depth button{min-height:3rem;padding:.55rem .95rem}
.story-head .depth button[aria-pressed="true"]{background:var(--faience);color:var(--paper-raise)}
.story-head .depth button[aria-pressed="true"] small{color:inherit}
.story-head .discuss{min-height:2.75rem;border-radius:2px;padding:.55rem .9rem}
.story-layout{
  max-width:1180px;grid-template-columns:minmax(0,1.7fr) minmax(17rem,.82fr);
  align-items:start;gap:clamp(1.5rem,4vw,3.5rem);
}
.story-layout>article{min-width:0}
.story-layout article p{max-width:66ch}
.story-layout .ledger{border-radius:2px;border-top:3px solid var(--faience)}
.story-layout .ledger-close{min-width:2.75rem;min-height:2.75rem;padding:.5rem}

.claim-page{max-width:820px}
.claim-page .claim-text{max-width:30ch;font-size:clamp(1.7rem,3.8vw,2.5rem)}
.claim-page .block{border-top-color:var(--line)}
.claim-page .cite{border-radius:2px}
.source-page .record{border-radius:0}
.source-page .claims li{border-radius:0;border-width:0 0 1px;background:transparent;padding:1rem 0}
.index-page .coverage{border-radius:2px}
.index-page .entities li{border-width:1px 0 0;border-radius:0;background:transparent;padding:1rem .15rem}
.index-page .entities li:hover{border-color:var(--line);background:var(--faience-wash)}
.entity-page .facts li{border-radius:2px}
.entity-page .follow-row .discuss{min-height:2.75rem;border-radius:2px}

@media(max-width:900px){
  .story-layout{grid-template-columns:minmax(0,1fr)}
  .story-layout .ledger{
    position:static;display:none;visibility:visible;transform:none;min-height:0;
    max-height:none;overflow:visible;box-shadow:none;border-radius:0;
    padding-top:3.2rem;transition:none;
  }
  .story-layout .ledger.open{display:block}
  .story-layout .ledger.open .ledger-close{display:inline-flex;align-items:center;justify-content:center}
}
@media(max-width:760px){
  .front-layout{grid-template-columns:minmax(0,1fr);gap:1.3rem}
  .front-layout>.feed,.front-layout>.wire,.front-layout>.index-door{grid-column:1;grid-row:auto}
  .front-layout>.feed{grid-row:auto}
}
@media(max-width:600px){
  .mast{padding:.65rem 1rem .35rem}
  .wordmark::before{width:30px;height:30px}
  .wm-name{font-size:1.28rem;letter-spacing:.08em}
  .wm-kicker{display:none}
  .mast-nav{gap:.1rem .85rem}
  .mast-nav a{min-height:2.75rem}
  .edition-head,.story-head{padding:1.7rem 1rem 1rem}
  .edition-head h1{font-size:2.4rem}
  .edition-head .lede{font-size:1.05rem}
  .front-layout{padding-top:1.2rem}
  .front-layout .card:first-child h2{font-size:1.9rem}
  .story-head h1{font-size:2rem}
  .story-head .depth{width:100%}
  .story-head .depth button{flex:1;min-width:0;padding:.55rem .45rem}
  .story-head .depth small{font-size:.62rem}
  .story-layout{padding-top:1.4rem}
  .claim-page,.source-page,.index-page,.entity-page{padding-top:1.6rem}
  .source-page .id-block{gap:.9rem}
  .source-page .sigil{width:56px;height:56px}
  .source-page .sigil .star{width:1.65rem;height:1.65rem}
}
@media(prefers-reduced-motion:reduce){
  .front-layout .card,.front-layout .card:hover{transition:none}
}
