/* Retro Dad reader update. Loaded last; no inline styles or scripts required. */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-100px;z-index:10;background:var(--paper);padding:12px}.skip-link:focus{top:16px}
header{padding-top:16px;padding-bottom:16px}.brand-with-logo .brand-logo{width:82px;height:82px}.intro{padding:34px 48px 32px;gap:32px}.intro h1{font-size:clamp(44px,5.4vw,68px);letter-spacing:-2.5px;margin-bottom:16px}.intro .eyebrow{margin-bottom:12px}.intro-copy{max-width:570px;margin:0 0 20px;font-size:17px;line-height:1.65}.intro .year-badge{flex:0 0 180px;width:180px;height:180px;margin:0 30px;transform:rotate(7deg)}.year-badge img{display:block;width:100%;height:100%;object-fit:contain}.stories{padding-top:32px}.section-heading{margin-bottom:18px}.category-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px;font-size:14px}.category-nav a{display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid #352b2355;min-height:44px;border-radius:3px}.category-nav a[aria-current],.category-nav a:hover{background:var(--green);color:var(--paper);text-decoration:none}.category-count{font-size:11px;opacity:.85}.feature{border-radius:5px;overflow:hidden;grid-template-columns:1.05fr 1fr}.feature-image{display:block;min-height:310px}.feature-copy{padding:30px}.feature-copy .eyebrow{display:inline-block;margin-bottom:14px}.feature h3{font-size:clamp(28px,3vw,36px)}.feature a:focus-visible{outline-offset:-5px}.small-story{padding:0;border:1px solid #352b2333;background:#faf2e2;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.small-story .number{margin:0;padding:11px 17px;gap:16px;border:0;min-height:52px}.number .story-number{font-family:Fraunces,Georgia,serif;font-size:24px;letter-spacing:0}.number a{font:700 12px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;text-align:right;overflow-wrap:anywhere}.orange{background:#a64328;color:#fff5df}.card-art{display:block;overflow:hidden}.card-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0}.card-copy{padding:22px;display:flex;flex-direction:column;flex:1}.card-copy h3{font-size:25px}.card-copy>p{margin:0 0 20px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;flex-wrap:wrap}.card-bottom .text-button{margin:0;min-height:44px}.card-bottom .readtime{margin:0;display:inline;font-size:11px}.small-story a:focus-visible{outline-offset:-3px}.small-story h3 a:hover{text-decoration:underline;text-underline-offset:4px}.reading{padding-top:38px}.reading .eyebrow{line-height:1.8}.story-image{height:auto;aspect-ratio:3/2;max-height:none;border-radius:4px}.share-memory{border-top:1px solid #352b2340;margin-top:36px;padding-top:18px}.share-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.share-actions .text-button{margin:0;min-height:44px}.share-status{font-size:14px}.manual-copy input{font-size:14px}.related{padding-top:0}.related .article-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.follow-strip{padding:34px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #352b2333;background:#eee3cb}.follow-strip h2{font-size:28px;line-height:1.25;margin:0 0 10px}.follow-strip p{margin:0}.follow-strip .eyebrow{margin-bottom:8px}.follow-strip .button{flex-shrink:0}footer{gap:24px}footer nav{font-size:13px;gap:20px;flex-wrap:wrap}footer nav a,header nav a{min-height:44px;display:inline-flex;align-items:center}.about{gap:40px}.about h2{font-size:34px}
/* A woodgrain hi-fi cabinet with a cream screen and segmented result meters. */
.poll-deck{margin:0 48px 48px;padding:25px;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;background:repeating-linear-gradient(2deg,#70462e 0,#70462e 3px,#795036 4px,#795036 9px);border:3px solid #352b23;border-radius:12px;box-shadow:0 6px 0 #352b23}.poll-intro{padding:24px 12px;color:#fff3da}.poll-intro .eyebrow{color:#f5cf8a;font-size:11px}.poll-intro h2{font-size:42px;line-height:1.1;margin:0 0 18px}.poll-intro p{font-size:17px}.deck-controls{display:flex;gap:8px;margin-top:30px}.deck-controls span{display:grid;place-items:center;width:43px;height:34px;color:#352b23;background:#e6d6b8;border:2px solid #352b23;border-radius:3px;font-size:13px;box-shadow:0 3px 0 #352b23}.poll-screen{min-width:0;background:#f6edda;border:5px solid #352b23;border-radius:15px;padding:26px;box-shadow:inset 0 2px 9px #352b2333}.poll-question{font-family:Fraunces,Georgia,serif;font-size:25px;line-height:1.3;margin:0 0 20px;overflow-wrap:anywhere}.poll-screen fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}.poll-option{position:relative;display:flex;align-items:center;gap:12px;background:#fff9eb;border:1px solid #352b2366;padding:12px;margin:8px 0;cursor:pointer;font-weight:600;overflow-wrap:anywhere}.poll-option input[type=radio]{appearance:auto;display:inline-block;flex:0 0 19px;width:19px;height:19px;padding:0;margin:0;accent-color:var(--rust)}.poll-option:has(input:checked){background:#edcf96;border-color:var(--rust);box-shadow:inset 3px 0 0 var(--rust)}.option-letter{font:700 21px Georgia,serif;color:var(--rust)}.poll-help{font-size:12px;line-height:1.6;margin:16px 0 0;color:#5b4c3e}.poll-results{margin-top:20px}.poll-results summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px 0;font-size:14px}.poll-result{margin:16px 0}.poll-result p{display:flex;justify-content:space-between;gap:15px;margin:0 0 7px;font-size:14px}.poll-result strong{font-size:12px}.poll-result meter{display:block;width:100%;height:21px;border:0;background:#d9ccb1;border-radius:2px}.poll-result meter::-webkit-meter-bar{border:1px solid #352b2344;border-radius:2px;background:#d9ccb1}.poll-result meter::-webkit-meter-optimum-value{background:repeating-linear-gradient(90deg,var(--green) 0,var(--green) 8px,transparent 8px,transparent 10px)}.poll-result meter::-moz-meter-bar{background:repeating-linear-gradient(90deg,var(--green) 0,var(--green) 8px,transparent 8px,transparent 10px)}.voted-note{font-size:14px;color:var(--green)}.poll-admin-answers{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.poll-deck :focus-visible{outline-color:#92341b}
@media(min-width:761px) and (max-width:1000px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro .year-badge{margin:0;flex-basis:150px;width:150px;height:150px}.poll-deck{grid-template-columns:1fr 1.2fr;gap:10px;padding:18px}.poll-intro h2{font-size:35px}.poll-screen{padding:20px}}
@media(max-width:760px){header{padding:12px 20px;gap:5px 16px}.brand{font-size:31px}.brand-with-logo .brand-logo{width:62px;height:62px}header nav{font-size:13px;gap:18px}.intro{padding:26px 23px;display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:16px;align-items:start}.intro>div:first-child{min-width:0}.intro h1{font-size:clamp(36px,7.2vw,51px);letter-spacing:-1.8px;padding:0;line-height:1.08}.intro .eyebrow{font-size:9px;letter-spacing:1px}.intro-copy{font-size:16px}.intro .year-badge{position:static;width:78px;height:78px;margin:30px 0 0;align-self:start;transform:none}.stories{padding:26px 23px 34px}.section-heading h2{font-size:30px}.category-nav{gap:7px;font-size:13px;margin-bottom:20px}.category-nav a{padding:8px 11px}.feature-image{min-height:0;aspect-ratio:3/2}.feature-copy{padding:24px}.article-grid{grid-template-columns:1fr;margin-top:24px}.small-story .number{margin:0}.card-copy{padding:20px}.card-bottom .readtime{margin:0}.reading{padding:28px 23px}.reading h1{font-size:36px;letter-spacing:-1px}.reading .standfirst{font-size:18px}.prose p{font-size:18px;line-height:1.8}.related .article-grid{grid-template-columns:1fr}.follow-strip{padding:28px 23px;align-items:flex-start;flex-direction:column;gap:18px}.follow-strip h2{font-size:26px}.poll-deck{margin:0 23px 34px;grid-template-columns:1fr;gap:12px;padding:14px}.poll-intro{padding:10px 8px}.poll-intro h2{font-size:34px;margin:0 0 8px}.poll-intro p{margin:8px 0}.poll-intro p br{display:none}.deck-controls{display:none}.poll-screen{padding:18px;border-width:4px}.poll-question{font-size:23px}.poll-admin-answers{grid-template-columns:1fr}footer{padding:25px 23px}footer nav{width:100%;gap:20px}.about h2{font-size:30px}}
@media(max-width:380px){.intro{grid-template-columns:1fr}.intro .year-badge{display:none}.poll-deck{margin-left:14px;margin-right:14px}.poll-screen{padding:14px}.share-actions{gap:12px}.category-count{display:none}}
@media(prefers-reduced-motion:no-preference){.card-art img{transition:transform .2s ease}.card-art:hover img{transform:scale(1.025)}}

/* Mobile featured memory: banner, image, then copy. Keep the desktop split layout. */
@media (max-width:760px) {
  .feature {
    display: flex;
    flex-direction: column;
    background: #faf2e2;
    min-width: 0;
  }
  .feature .feature-image {
    display: flex;
    flex-direction: column;
    min-height: 0;
    aspect-ratio: auto;
    width: 100%;
  }
  .feature .image-label {
    position: static;
    order: -1;
    display: block;
    width: 100%;
    min-height: 52px;
    padding: 16px 20px;
    background: #a64328;
    color: #fff5df;
    font-size: 12px;
    line-height: 20px;
    letter-spacing: 1px;
  }
  .feature .feature-image img {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
  }
  .feature .feature-copy {
    min-width: 0;
    padding: 20px;
  }
  .feature h3 { font-size: 25px; }
}

/* Category management */
.category-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}
.category-admin-card{padding:0;margin:0;overflow:hidden;min-width:0}
.category-admin-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.category-admin-card>div{padding:20px}
.category-admin-card h2{overflow-wrap:anywhere;margin-bottom:12px}
.category-admin-card p{margin:6px 0}
.category-form-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:24px}
.category-remove{border-color:var(--rust)}
#category-form .help a{text-decoration:underline;overflow-wrap:anywhere}
header nav{flex-wrap:wrap}
@media(max-width:1000px){.category-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.category-admin-grid,.category-form-columns{grid-template-columns:1fr}.category-form-columns{gap:0}}

/* Inline links in story text. Keep navigation and cards using their own colours. */
.prose a,.prose a:visited{color:var(--rust);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.prose a:hover{color:var(--rust);text-decoration-thickness:2px}
.prose a:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.story-order-list{list-style:none;margin:20px 0;padding:0}
.story-order-item{display:flex;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid #352b2333}
.story-order-copy{flex:1;min-width:0}.story-order-copy strong{overflow-wrap:anywhere}.story-order-copy p{margin:4px 0}
.story-order-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.story-order-controls input{width:80px;margin:0}.story-order-controls button{min-width:44px;min-height:44px}
.story-order-controls button:disabled{opacity:.4;cursor:default}
@media(max-width:760px){.story-order-item{align-items:flex-start;flex-direction:column;gap:10px}.story-order-controls{width:100%}}
