.edition-index {
  background: var(--theme-inset, #eee7db);
  border-block: 1px solid var(--edge);
}

.edition-index-inner {
  display: grid;
  grid-template-columns: minmax(155px, .83fr) repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
  padding-block: 22px;
}

.edition-index-intro {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 8px 20px 8px 0;
}

.edition-index-intro h2 {
  font: 600 clamp(1.55rem, 2.9vw, 2.65rem)/1.02 var(--serif);
  letter-spacing: -.045em;
}

.edition-index-link {
  position: relative;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 12px 34px 12px clamp(12px, 2vw, 25px);
  border-inline-start: 1px solid var(--edge);
}

.edition-index-link:hover {
  background: var(--theme-hover, #e5dccd);
}

.edition-index-link strong {
  font: 650 1.1rem/1.15 var(--serif);
}

.edition-index-link > span:not(.edition-index-mark) {
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.35;
}

.edition-index-mark {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--rust);
  font: 600 .67rem/1 var(--mono);
  letter-spacing: .08em;
}

.edition-index-mark .icon,
.edition-index-arrow {
  width: 16px;
  height: 16px;
}

.edition-index-arrow {
  position: absolute;
  inset-block-start: 13px;
  inset-inline-end: 10px;
  color: var(--rust);
}

.desk-hero .hero-picture {
  width: 100%;
  object-position: 70% 55%;
}

.desk-hero .hero-shade {
  background: linear-gradient(90deg, #101820f5 0%, #101820c9 43%, #10182063 75%, #10182045),
    linear-gradient(0deg, #101820a9, transparent 66%);
}

.desk-hero .inner-hero-copy { padding-block-end: clamp(54px, 7vw, 92px); }
.desk-hero .inner-hero-copy h1 { max-width: 16ch; overflow-wrap: anywhere; }
.desk-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 19px; }
.desk-hero-actions .button { margin-top: 0; }
.desk-hero-toolkit .hero-picture { object-position: 70% 62%; }

.briefing-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr);
  gap: clamp(18px, 3vw, 42px);
}

.briefing-lead-card .card-image { aspect-ratio: 16 / 8.2; }
.briefing-attribution { color: var(--muted); font-size: .83rem; margin: 9px 0 0; }
.briefing-attribution a { margin-left: 5px; }

.briefing-rail {
  align-self: start;
  background: var(--theme-inset, #eee7db);
  border: 1px solid var(--edge);
  border-top: 3px solid var(--rust);
  padding: clamp(16px, 2.5vw, 28px);
}

.briefing-rail > h3 {
  margin: 0 0 12px;
  color: var(--rust);
  font: 650 .72rem/1.2 var(--mono);
  letter-spacing: .095em;
  text-transform: uppercase;
}

.briefing-list,
.briefing-source-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.briefing-rail-item {
  border-block-start: 1px solid var(--edge);
  padding-block: 16px;
}

.briefing-rail-item:last-child { padding-block-end: 2px; }
.briefing-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 12px;
  color: var(--muted);
  font: 500 .67rem/1.4 var(--mono);
  text-transform: uppercase;
  letter-spacing: .055em;
}

.briefing-rail-item h4,
.briefing-source-card h3 {
  margin: 7px 0 8px;
  font: 620 clamp(1.18rem, 2.1vw, 1.82rem)/1.14 var(--serif);
  letter-spacing: -.028em;
  overflow-wrap: anywhere;
}

.briefing-rail-item h4 a:hover,
.briefing-source-card h3 a:hover { color: var(--rust); }

.briefing-rail-item p { margin: 0; color: var(--muted); font-size: .88rem; }
.briefing-sources {
  background: var(--theme-inset, #eee7db);
  border-block: 1px solid var(--edge);
}
.briefing-source-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 2.2vw, 27px);
}
.briefing-source-card {
  background: var(--theme-surface, #fffcf6);
  border: 1px solid var(--edge);
  border-top: 2px solid var(--rust);
  padding: clamp(15px, 2vw, 23px);
}
.briefing-source-links { margin-top: 14px; }
.briefing-source-links li { border-top: 1px solid var(--edge); padding-block: 7px; }
.briefing-source-links .text-link { line-height: 1.35; text-wrap: pretty; }
.briefing-next-links { display: flex; flex-wrap: wrap; gap: 10px; }

.library-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
  align-items: end;
  gap: 12px 20px;
  padding: clamp(14px, 2.3vw, 23px);
  margin-bottom: 18px;
  background: var(--theme-inset, #eee7db);
  border: 1px solid var(--edge);
}

.library-query,
.library-sort {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.library-query > span:first-child,
.library-sort > span,
.toolkit-field label {
  font: 650 .72rem/1.25 var(--mono);
  letter-spacing: .075em;
  text-transform: uppercase;
}

.library-query-field {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding-inline: 10px;
  background: var(--theme-surface, #fffcf6);
  border: 1px solid var(--theme-control-border, #a29b90);
}
.library-query-field:focus-within {
  outline: 2px solid var(--rust);
  outline-offset: 2px;
}
.library-query-field .icon { width: 16px; height: 16px; color: var(--muted); }
.library-query-field input {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
}
.library-query-field input:focus { outline: none; }

.library-sort select,
.toolkit-field select,
.toolkit-field textarea {
  min-width: 0;
  width: 100%;
  padding: 8px 11px;
  border: 1px solid var(--theme-control-border, #a29b90);
  border-radius: 2px;
  background: var(--theme-surface, #fffcf6);
  color: var(--ink);
  font: inherit;
}

.library-sort select,
.toolkit-field select { min-height: 46px; }

.toolkit-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(230px, .8fr);
  gap: clamp(18px, 3vw, 40px);
  align-items: start;
}

.toolkit-panel,
.toolkit-side {
  border: 1px solid var(--edge);
  padding: clamp(17px, 3vw, 38px);
}

.toolkit-panel { background: var(--theme-surface, #fffcf6); }
.toolkit-side { background: var(--theme-inset, #eee7db); border-top: 3px solid var(--rust); }
.toolkit-panel h2,
.toolkit-side h2 {
  margin: 8px 0 10px;
  font: 630 clamp(1.6rem, 3.3vw, 3.1rem)/1.02 var(--serif);
  letter-spacing: -.044em;
  overflow-wrap: anywhere;
}
.toolkit-side h2 { font-size: clamp(1.45rem, 2.8vw, 2.15rem); }
.toolkit-side p,
.toolkit-panel > p:not(.eyebrow) { color: var(--muted); font-size: .91rem; }
.toolkit-side p + p { margin-top: 9px; }
.toolkit-side ul { padding-left: 1.15em; }

.toolkit-form { margin-top: 18px; }
.toolkit-form fieldset {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  min-inline-size: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
.toolkit-field { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.toolkit-field:first-child,
.toolkit-actions { grid-column: 1 / -1; }
.toolkit-field textarea { resize: vertical; min-height: 93px; }
.toolkit-field .toolkit-hint { margin: 0; flex-grow: 1; }
.toolkit-hint { color: var(--muted); font-size: .81rem; line-height: 1.5; }
.toolkit-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 3px; }
.toolkit-actions .text-link {
  min-height: 40px;
  border: 0;
  background: transparent;
  padding-inline: 8px;
  cursor: pointer;
}
.toolkit-status { min-height: 1.5em; margin: 8px 0 3px; font-size: .84rem; color: var(--rust); }
.toolkit-status:empty { display: none; }
.toolkit-form fieldset:disabled button { cursor: default; opacity: .55; }

@media (max-width: 880px) {
  .edition-index-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .edition-index-intro { grid-column: 1 / -1; padding: 0 0 13px; }
  .edition-index-link:nth-child(2) { border-inline-start: 0; padding-inline-start: 0; }
  .toolkit-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 690px) {
  .edition-index-inner { grid-template-columns: minmax(0, 1fr); padding-block: 15px; }
  .edition-index-link, .edition-index-link:nth-child(2) {
    grid-template-columns: 46px minmax(0, 1fr) 16px;
    gap: 4px 8px;
    padding: 10px 0;
    border-inline-start: 0;
    border-block-start: 1px solid var(--edge);
  }
  .edition-index-mark { grid-row: 1 / 3; align-self: center; }
  .edition-index-link > span:not(.edition-index-mark) { grid-column: 2; }
  .edition-index-arrow { position: static; grid-column: 3; grid-row: 1 / 3; align-self: center; }
  .briefing-layout, .briefing-source-grid { grid-template-columns: minmax(0, 1fr); }
  .desk-hero .hero-shade {
    background: linear-gradient(90deg, #101820f2 2%, #101820bc 66%, #10182070);
  }
}

@media (max-width: 480px) {
  .library-tools, .toolkit-form fieldset { grid-template-columns: minmax(0, 1fr); }
  .toolkit-actions .button { white-space: normal; }
}
