.site-header { padding: 19px 0 21px; }
.brand { margin-bottom: 0; }
.library-nav nav { padding: 12px 10px 16px; }
.library-nav nav > a { min-height: 48px; margin: 3px 0; }
.library-nav nav > a > .icon:last-child:not(:first-child) { width: 12px; height: 12px; }
.library-nav nav > a.start-guide,
.library-nav nav > a.start-guide .icon { color: #e37768; }
.library-nav nav > a.start-guide { font-weight: 600; }
.library-nav nav > a.start-guide.selected {
  background: linear-gradient(90deg, #a3453433, #a3453408);
  border-left-color: #d96958;
}
.paper {
  background-color: #cbb88f;
  background-image: linear-gradient(90deg, #73552620, transparent 12%, transparent 88%, #73552620), url('/assets/theme/parchment.svg?v=2');
  color: #342b1e;
}
.section-paper { padding: 30px 32px 34px; min-height: 490px; }
.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 19px;
  margin-bottom: 20px;
  border-bottom: 1px solid #80633855;
}
.section-heading h1 { margin: 0 0 9px; font-size: 35px; color: #392c1a; }
.section-heading p { color: #655033; font-size: 13px; line-height: 1.8; }
.section-paper .eyebrow { color: #755b34; font-size: 9px; }
.section-emblem { color: #8e7040; padding-right: 8px; }
.section-emblem .icon { width: 42px; height: 42px; stroke-width: 1; }
.section-empty { padding: 40px 15px 75px; text-align: center; }
.empty-ornament { display: block; color: #967747; font: 40px Georgia, serif; margin-bottom: 22px; }
.section-empty h2 { color: #5e482c; font-size: 26px; }
.section-empty p { color: #705939; font-size: 13px; margin: 15px 0 30px; }
.empty-rule { display: block; width: 65px; height: 1px; background: #94754970; margin: auto; }
.collection-label, .equipment-count { display: flex; justify-content: space-between; gap: 12px; color: #695132; font-size: 11px; }
.collection-label { margin-bottom: 12px; }
.collection-label > span:first-child { font-size: 9px; font-weight: 600; letter-spacing: 1.7px; }
.set-picker { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 9px; margin-bottom: 25px; }
.set-picker > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  padding: 9px 5px 12px;
  border: 1px solid #8a6a3f60;
  background: #a2844f16;
  color: #5a4327;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  transition: background .15s, border-color .15s;
}
.set-picker > a:hover { background: #a4824c2e; border-color: #806037; }
.set-picker > a[aria-current] { border-color: #885333; box-shadow: inset 0 -3px #82412b; background: #ac824c33; color: #733623; }
.set-image { height: 72px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.set-image img { width: 36px; height: 72px; object-fit: contain; filter: drop-shadow(0 3px 3px #36270a44); }
.equipment-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; scroll-margin-top: 25px; }
.equipment-heading h2 { color: #3f2d19; font-size: 29px; }
.preview-note { color: #74552f; font-size: 10px; border: 1px solid #8d70464d; padding: 5px 8px; white-space: nowrap; }
.equipment-intro { color: #6b5231; font-size: 12px; line-height: 1.8; margin: 9px 0 15px; }
.equipment-filters { display: flex; flex-wrap: wrap; gap: 5px 7px; padding-bottom: 18px; border-bottom: 1px solid #80633855; }
.equipment-filters a { padding: 7px 12px; border: 1px solid transparent; font-size: 12px; color: #62492b; }
.equipment-filters a:hover { background: #8e6b3220; }
.equipment-filters a[aria-current] { border-color: #845831; color: #f0d9ac; background: #71462e; box-shadow: inset 0 0 0 2px #c09c6333; }
.equipment-count { margin: 19px 0 13px; scroll-margin-top: 25px; }
.equipment-count > span:first-child { font-weight: 600; }
.equipment-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.equipment-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
  min-height: 190px;
  padding: 0 0 15px;
  border: 1px solid #94744970;
  background: #e7d8b22d;
  color: #46331e;
  overflow: hidden;
  transition: border-color .15s, background .15s;
  scroll-margin-top: 30px;
}
.equipment-card:hover, .equipment-card:target { border-color: #805328; background: #f0dfb84d; }
.equipment-card:focus-visible, .section-paper a:focus-visible { outline-color: #7e3826; }
.equipment-image {
  display: flex;
  position: relative;
  width: 100%;
  height: 122px;
  align-items: center;
  justify-content: center;
  background: radial-gradient(ellipse at center, #9e7b3620, transparent 69%);
}
.equipment-image > img { width: 64px; height: 100px; object-fit: contain; filter: drop-shadow(0 4px 3px #3f2d1450); }
.equipment-expand { position: absolute; right: 9px; top: 8px; color: #826137; opacity: .55; }
.equipment-expand .icon { width: 13px; height: 13px; }
.equipment-card:hover .equipment-expand { opacity: 1; }
.equipment-type { color: #785d37; font-size: 10px; margin: 0 10px 5px; }
.equipment-card strong { padding: 0 12px; font-size: 13px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.section-articles { margin-top: 25px; }
.section-articles > h2 { margin: 32px 0 10px; }
#image-caption { color: #e1c89b; font-size: 14px; text-align: center; padding: 18px 10px 10px; }
#image-dialog.equipment-dialog { min-width: 300px; padding: 60px 30px 24px; }
#image-dialog.equipment-dialog > img { width: 96px; height: 192px; object-fit: contain; margin: auto; }
.faq-list { display: grid; gap: 12px; overflow-anchor: none; }
.managed-visuals { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; align-items:start; }
.managed-entity { border:1px solid #87653d70; background:#e1cea52b; }
.managed-entity summary { cursor:pointer; list-style:none; padding:16px; text-align:center; }
.managed-entity summary::-webkit-details-marker { display:none; }
.managed-entity summary img { width:100%; height:200px; object-fit:contain; margin-bottom:12px; }
.managed-entity summary strong { font-size:15px; }
.managed-entity summary .icon { width:14px; margin-left:8px; transform:rotate(90deg); }
.managed-entity[open] summary .icon { transform:rotate(-90deg); }
.managed-entity-info { padding:0 18px 18px; color:#5a4327; font-size:13px; }
.managed-entity-info h3 { font-size:18px; margin:10px 0; }
.managed-entity-info ul { padding-left:18px; }
.faq-item { border: 1px solid #87653d70; background: #e1cea52b; overflow: hidden; }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; color: #4b351d; font-size: 15px; font-weight: 600; line-height: 1.5; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary .icon { width: 16px; height: 16px; flex: 0 0 16px; transform: rotate(90deg); transition: transform .24s; }
.faq-item[open] summary .icon { transform: rotate(-90deg); }
.faq-item[open] summary { color: #793d29; }
.faq-item summary:hover { background: #b18a4920; }
.faq-item summary:focus-visible { outline: 2px solid #8e472e; outline-offset: -4px; }
.faq-answer { padding: 0 22px 22px; }
.faq-answer .prose { border-top: 1px solid #80633840; padding-top: 16px; overflow-wrap: anywhere; }
.faq-answer .prose > :first-child { margin-top: 0; }
.faq-answer .prose > :last-child { margin-bottom: 0; }
.faq-empty .empty-ornament .icon { width: 42px; height: 42px; stroke-width: 1; }
@media (max-width: 520px) {
  .faq-item summary { padding: 16px; font-size: 14px; gap: 12px; }
  .faq-answer { padding: 0 16px 18px; }
}
@media (prefers-reduced-motion: reduce) { .faq-item summary .icon { transition: none; } }
@media (max-width: 1100px) {
  .section-paper { padding: 26px; }
  .set-picker { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .equipment-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .site-header { padding: 17px 0 20px; }
  .library-nav nav { gap: 3px 8px; padding: 10px; }
  .library-nav nav > a { padding: 10px 8px; font-size: 12px; }
  .section-paper { padding: 25px; }
  .section-heading h1 { font-size: 31px; }
  .section-heading { padding-bottom: 21px; }
  .set-picker { display: flex; overflow-x: auto; gap: 8px; padding: 2px 2px 10px; scrollbar-color: #8d6c3c #ac926333; }
  .set-picker > a { flex: 0 0 93px; }
  .equipment-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .section-paper { padding: 22px 18px 25px; }
  .section-heading h1 { font-size: 28px; }
  .section-heading p { font-size: 12px; }
  .section-emblem .icon { width: 30px; height: 30px; }
  .equipment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .equipment-card strong { font-size: 12px; padding-inline: 9px; }
  .equipment-heading { align-items: flex-start; }
  .equipment-heading h2 { font-size: 25px; }
  .preview-note { font-size: 9px; padding: 4px 6px; }
  .equipment-filters { gap: 4px; }
  .equipment-filters a { font-size: 11px; padding: 7px 8px; }
  .section-empty h2 { font-size: 23px; }
  .section-empty p { font-size: 12px; }
  .section-empty { padding-inline: 5px; }
  footer { gap: 14px; }
  footer > span:first-child { flex-basis: 100%; }
}
.prose figcaption{max-width:600px;margin:9px auto 0;text-align:center;font-size:11px;line-height:1.6;color:#80643f}
.prose .guide-video { margin:24px auto; max-width:760px; }
.guide-video video { display:block; width:auto; height:auto; max-width:100%; max-height:640px; margin:auto; background:#11110e; border:1px solid #866837; border-radius:4px; object-fit:contain; }
.guide-video video:focus-visible { outline:2px solid #7d301d; outline-offset:4px; }
.prose .table-wrap th { white-space:normal; }
@media(max-width:600px) {
  .guide-video video { max-height:65svh; }
  .prose .table-wrap th,.prose .table-wrap td { padding:9px 7px; font-size:11px; overflow-wrap:anywhere; }
}
@media(max-width:600px) {
  .prose .table-wrap th:first-child,.prose .table-wrap td:first-child { white-space:nowrap; overflow-wrap:normal; }
}

.prose ul.guide-sash-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}
.prose .guide-sash-grid li{margin:0;padding:0;min-width:0}.prose .guide-sash-grid li::marker{content:none}
.prose .guide-sash-grid a{display:flex;align-items:center;gap:12px;height:100%;min-height:78px;padding:10px;border:1px solid #a88a4d77;background:#94743b12;color:#4d381f;text-decoration:none;border-radius:2px}
.prose .guide-sash-grid a:hover{background:#94743b25;border-color:#876532}.prose .guide-sash-grid a img{width:44px;height:48px;object-fit:contain;flex:none;margin:0}.prose .guide-sash-grid a span{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.prose .rank-empty{padding:18px;border:1px dashed #a88a4d77;background:#94743b0b}.prose .rank-table tbody th{background:#94743b12}
@media(max-width:800px){.prose ul.guide-sash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.prose .guide-sash-grid a{gap:7px;padding:8px;flex-direction:column;text-align:center}.prose .guide-sash-grid a span{font-size:11px}.prose .rank-table th:first-child,.prose .rank-table td:first-child{white-space:normal;overflow-wrap:anywhere}}
