.wt-post .wt-post-inner { max-width: 1200px; }
.wt-post:not(.wt-tutorial) .wt-post-inner { max-width: 820px; }
.wt-heading { min-width: 0; }
.wt-opening { margin-bottom: 2.5rem; }
.wt-hero { width: 100%; max-height: 560px; object-fit: contain; border-radius: 12px; }
.wt-supplies { padding: clamp(1.25rem, 3vw, 2rem); margin-bottom: 3rem; }
.wt-supplies-title { font-size: 1.6rem; font-weight: 700; margin-bottom: 1.25rem; }
.wt-supplies .lc-markdown { font-size: 1rem !important; line-height: 1.7; }
.wt-body { font-size: 1.0625rem; line-height: 1.8; color: var(--text-body); min-width: 0; overflow-wrap: anywhere; }
.wt-body > p, .wt-body > ul, .wt-body > ol { max-width: 70ch; }
.wt-post .lc-article h2 { font-size: clamp(1.65rem, 2.5vw, 2.1rem); margin: 3rem 0 1.25rem; line-height: 1.25; }
.wt-post .lc-article h3 { font-family: var(--font-body, sans-serif); font-size: 1.15rem; margin: 1.75rem 0 .7rem; }
.wt-post .lc-article h4 { font-size: 1.05rem; }
.wt-body img { max-height: 560px; width: auto; object-fit: contain; }
.wt-section { border-top: 1px solid var(--border-default); padding: 2.5rem 0; scroll-margin-top: 110px; }
.wt-post .wt-section > h2 { margin-top: 0; }
.wt-step-label { display: block; color: var(--accent-gold-ink); font: 700 .8rem/1.5 var(--font-body, sans-serif); letter-spacing: .12em; text-transform: uppercase; margin-bottom: .5rem; }
.wt-step-content { min-width: 0; }
.wt-step-copy { min-width: 0; max-width: 70ch; }
.wt-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; align-content: start; }
.wt-gallery figure { min-width: 0; margin: 0; }
.wt-gallery figure a { aspect-ratio: 3 / 4; }
.wt-gallery figure img { width: 100%; height: 100%; max-height: none; object-fit: contain; margin: 0; }
.wt-gallery figcaption { font-size: .85rem; line-height: 1.5; color: var(--text-secondary, #555); padding-top: .5rem; overflow-wrap: anywhere; }
.wt-gallery figure:only-child { grid-column: 1 / -1; max-width: 420px; }
.wt-body > .wt-gallery { margin: 2rem 0; }
.wt-gallery a { display: block; border-radius: 8px; overflow: hidden; background: var(--surface-sunken); }
.wt-gallery img { width: 100%; height: 100%; max-height: 380px; object-fit: contain; margin: 0; }
.wt-gallery a:first-child:nth-last-child(2) { grid-column: 1 / -1; }
.wt-gallery-note { grid-column: 1 / -1; font-size: .8rem; color: var(--text-secondary); margin: 0; }
.wt-tip { padding: 1rem 1.25rem; border-left: 3px solid var(--accent-gold-ink); background: var(--surface-sunken); border-radius: 0 8px 8px 0; }
.wt-step-nav { margin-bottom: 2rem; border: 1px solid var(--border-default); border-radius: 10px; background: var(--surface-card); padding: 1rem; align-self: start; }
.wt-step-nav summary { cursor: pointer; font-weight: 700; padding: .4rem 0; }
.wt-step-nav ol { list-style: none; margin: .75rem 0 0; padding: 0; }
.wt-step-nav a { display: block; padding: .55rem .4rem; font-size: .85rem; line-height: 1.4; color: var(--text-body); text-decoration: none; border-radius: 4px; }
.wt-step-nav a:hover { background: var(--surface-sunken); }
.wt-post a:focus-visible, .wt-post summary:focus-visible, .wt-lightbox button:focus-visible { outline: 3px solid var(--accent-gold-ink); outline-offset: 3px; }
.wt-lightbox { max-width: 95vw; max-height: 95vh; padding: 1rem; border: 1px solid var(--border-default); border-radius: 12px; background: var(--surface-card, white); color: var(--text-body); }
.wt-lightbox::backdrop { background: rgb(0 0 0 / 80%); }
.wt-lightbox img { max-width: 85vw; max-height: 78vh; object-fit: contain; margin: auto; }
.wt-lightbox button { display: block; margin: 0 0 .75rem auto; padding: .5rem 1rem; border: 1px solid currentColor; border-radius: 6px; }
.wt-lightbox p { padding-top: .75rem; }
@media (min-width: 800px) {
  .wt-tutorial .wt-opening:has(.wt-hero) { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; align-items: center; }
  .wt-tutorial .wt-hero { max-height: 480px; }
  .wt-tutorial .wt-supplies .lc-markdown > ul { columns: 2; column-gap: 3rem; }
  .wt-supplies li { break-inside: avoid; }
  .wt-step-content:has(.wt-gallery) { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (min-width: 1100px) {
  .wt-reader:has(.wt-step-nav) { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 2.5rem; }
  .wt-step-nav { position: sticky; top: 100px; max-height: calc(100vh - 120px); overflow-y: auto; }
}
@media (max-width: 799px) {
  .wt-gallery { margin-top: 1.5rem; }
  .wt-hero { max-height: 400px; }
}
@media print {
  .wt-step-nav, .wt-gallery-note { display: none; }
  .wt-section { break-inside: avoid; }
}
