/* Homepage-only retro experiment. No shared page styles or behavior changed. */
body.retro-demo{--ink:var(--retro-ink,#182525);--ink-muted:var(--retro-muted,#344747);font-family:Verdana,Arial,sans-serif;color:var(--retro-ink,#182525);background-color:var(--retro-desktop,#166764);background-image:repeating-linear-gradient(0deg,transparent 0 3px,#00000008 3px 4px);background-size:auto;overflow-x:visible}
.retro-demo .topbar{max-width:1180px;margin:22px auto 0;padding:12px 18px;background:var(--retro-panel,#c6c6c6);border:2px solid;border-color:#fff #343434 #343434 #fff;box-shadow:5px 5px #003937}
.retro-demo .logo{font:900 clamp(19px,3vw,29px)/1.2 'Courier New',monospace;letter-spacing:-1.5px}.retro-demo .logo span{color:var(--retro-link,#000080)}
.retro-menu{max-width:1180px;margin:auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:10px 18px;background:#deded6;border:1px solid #343434;font:13px 'Courier New',monospace}.retro-menu a{color:var(--retro-link,#000080);text-decoration:underline;text-underline-offset:3px}.retro-menu span{margin-left:auto;font-size:11px;color:#454545}
.retro-demo #main-content{max-width:1180px;margin:auto;background:var(--retro-paper,#eeeedd);border:1px solid #253b3b;box-shadow:5px 5px #003937;padding-bottom:24px}
.retro-demo .desktop{max-width:none;padding:34px 28px 26px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:start}.retro-demo .sticker{display:none}
.retro-directory{padding:4px 0}.retro-caption{font:700 10px/1.5 'Courier New',monospace;letter-spacing:1.3px}.retro-directory h2{font:bold 28px/1.05 Georgia,serif;letter-spacing:-1px;margin:19px 0 12px}.retro-directory>p:not(.retro-caption){font:13px/1.65 Verdana,sans-serif}.retro-directory nav{border-top:3px double #777;border-bottom:3px double #777;margin:22px 0;padding:9px 0;display:grid}.retro-directory nav a{padding:12px 2px;font:700 13px 'Courier New',monospace;color:var(--retro-link,#0000a0);text-decoration:underline}.retro-badges{display:flex;gap:7px;flex-wrap:wrap}.retro-badges span{border:2px outset #ddd;background:var(--retro-title,#000080);color:var(--retro-title-ink,#fff);text-align:center;padding:5px 9px;font:bold 9px/1.3 'Courier New',monospace}.retro-badges span+span{background:var(--retro-accent,#ffe16b);color:var(--retro-ink,#182525)}.retro-directory .retro-note{border-left:3px solid var(--retro-desktop,#166764);padding-left:12px;margin-top:25px;font-style:italic!important}
.retro-demo .hero-window{width:100%;max-width:none;margin:0;transform:none;border:2px solid;border-color:#fff #333 #333 #fff;border-radius:0;background:var(--retro-paper,#fdfcf3);box-shadow:5px 5px #0003}.retro-demo .window-bar{background:var(--retro-title,#000080);color:var(--retro-title-ink,#fff);border:0;border-radius:0;margin:3px;padding:8px 10px;justify-content:space-between;font:bold 12px 'Courier New',monospace}.retro-address{margin:0 3px;padding:9px 12px;background:#ddd;border-bottom:1px solid #777;font:11px/1.4 'Courier New',monospace;overflow-wrap:anywhere}.retro-address span{font-weight:bold;margin-right:12px}
.retro-demo .hero-body{padding:26px 28px 16px;text-align:left}.retro-demo .hero-body>.retro-caption{font:700 10px/1.6 'Courier New',monospace;max-width:none;margin:0 0 18px;color:var(--retro-muted,#344747)}.retro-demo .hero-body h1{font:900 clamp(38px,5.5vw,72px)/.98 'Courier New',monospace;letter-spacing:-4px;margin:0 0 21px}.retro-demo .hero-body h1 .caps:first-child{color:var(--retro-link,#000080)}.retro-demo .hero-body>p:not(.retro-caption){font:14px/1.7 Verdana,sans-serif;margin:0 0 24px;max-width:520px;color:var(--retro-muted,#344747)}.retro-demo .hero-actions{justify-content:flex-start;gap:10px}
.retro-demo :is(.shuffle-btn,.mode-btn,.spin-btn,.wheel-spin-btn,.wheel-result-actions button,.waitlist-form button,.done-btn){font:bold 13px/1.4 Verdana,sans-serif;border:3px solid;border-color:#fff #444 #444 #fff;border-radius:0;box-shadow:1px 1px #222;background:var(--retro-panel,#c6c6c6);color:var(--retro-ink,#182525);padding:12px 16px;min-height:44px;transform:none;transition:none}.retro-demo .mode-btn{background:var(--retro-accent,#ffe16b)}.retro-demo :is(button,.browse-cta):hover{filter:brightness(.97)}.retro-demo :is(button,.browse-cta):active{border-color:#444 #fff #fff #444;transform:translate(1px,1px);box-shadow:none}.retro-demo button:disabled{opacity:.6}.retro-demo :is(a,button,input,select):focus-visible{outline:3px solid #b13b00;outline-offset:3px}.retro-demo .shuffle-btn{font-size:11px;padding:8px 12px}
.retro-status-strip{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px dotted #888;margin-top:26px;padding-top:12px;font:9px/1.5 'Courier New',monospace;color:var(--retro-muted,#344747)}.retro-demo .quest-preview{margin-top:12px;padding:12px;border:2px inset #ddd;border-radius:0;background:var(--lav);justify-content:flex-start;flex-wrap:wrap;gap:6px}.retro-demo #quest-name{font:bold 15px/1.4 'Courier New',monospace;color:var(--ink)}.retro-demo .quest-preview .label{font:10px 'Courier New',monospace;color:var(--ink)}
.retro-demo :is(.sidequest-mode,.quest-wheel-section){max-width:none;margin:12px 28px 30px;padding:0}.retro-demo .mode-card{border:2px outset #ddd;border-radius:0;background:#ddd;box-shadow:4px 4px #0003}.retro-demo :is(.mode-heading h2,.mode-result h3){font-family:'Courier New',monospace}.retro-demo .mode-filters select{border:2px inset #bbb;border-radius:0;font:14px Verdana,sans-serif}.retro-demo .mode-result{border:1px solid #777;border-radius:0}.retro-demo .mode-close{min-width:44px;min-height:44px}.retro-demo .result-tags span{border-radius:0}
.retro-demo .quest-wheel-intro{text-align:left;margin:0 0 14px;border-top:3px double #777;padding-top:22px}.retro-demo .quest-wheel-kicker{font:11px 'Courier New',monospace;border:0;border-radius:0;background:none;padding:0;transform:none;color:var(--retro-muted,#344747)}.retro-demo .quest-wheel-intro h2{font:bold 30px/1.15 'Courier New',monospace;margin:8px 0}.retro-demo .quest-wheel-intro p{font:13px/1.5 Verdana,sans-serif;color:var(--retro-muted,#344747)}.retro-demo .quest-wheel-card{border:3px outset #e5e5e5;border-radius:0;background:var(--retro-panel,#c6c6c6);box-shadow:5px 5px #0003;gap:22px;padding:56px 24px 24px;grid-template-columns:minmax(230px,.85fr) minmax(0,1.15fr)}.retro-demo .quest-wheel-card::before{display:none}.retro-program-title{position:absolute;inset:3px 3px auto;background:var(--retro-title,#000080);color:var(--retro-title-ink,#fff);padding:9px 12px;font:bold 12px/1.4 'Courier New',monospace;display:flex;justify-content:space-between;gap:8px}.retro-program-title span{font-weight:normal}.retro-demo .wheel-stage{width:min(100%,340px);filter:none}.retro-demo .retro-dial{inset:0;width:100%;height:100%;overflow:visible}.retro-demo .wheel-pointer{width:32px;height:39px;top:-9px;filter:none}.retro-demo .wheel-pointer path{fill:var(--retro-title,#000080);stroke:#fff;stroke-width:3}.retro-demo .wheel-pointer circle{fill:#fff;stroke:none}.retro-demo .wheel-copy h3{font:bold 27px/1.1 'Courier New',monospace}.retro-demo .wheel-copy>p{font:13px/1.7 Verdana,sans-serif;color:var(--retro-ink,#182525)}.retro-demo .wheel-spin-btn{background:var(--retro-accent,#ffe16b);font:bold 20px 'Courier New',monospace;min-height:56px}.retro-demo .wheel-copy>.wheel-status{font:11px/1.6 'Courier New',monospace;background:#e6e6dc;border:2px inset #eee;text-align:left;padding:9px;margin-top:16px;color:var(--retro-ink,#182525)}.retro-demo .wheel-result{border:2px inset #eee;border-radius:0;background:#ffffed;padding:18px}.retro-demo .wheel-win-category{border-radius:0;background:var(--retro-title,#000080);color:var(--retro-title-ink,#fff);border:0}.retro-demo .wheel-result h3{font-size:23px}.retro-demo .wheel-result p{font:14px/1.6 Verdana,sans-serif}.retro-demo .wheel-accept.is-committed{background:#bad58b}
.retro-demo .section-label{max-width:none;margin:36px 28px 16px;padding:0}.retro-demo .section-label h2{font:bold 24px 'Courier New',monospace;background:none;border:0;border-radius:0;transform:none;padding:0}.retro-demo .section-label .line{height:3px;background:none;border-top:3px double #777}.retro-demo .board{max-width:none;padding:0 28px 24px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.retro-demo .qcard,.retro-demo .qcard.has-detail{border:1px solid #777;border-radius:0;box-shadow:3px 3px #bbb;background:var(--retro-paper,#fffef5);transform:none!important}.retro-demo .qcard h3{font-family:'Courier New',monospace}.retro-demo .quest-card-link{border-radius:0;color:var(--retro-link,#000080)}.retro-demo .quest-card-link h3{text-decoration:underline}.retro-demo .quest-open-cue{background:#eee;border:1px solid #999;border-radius:0;box-shadow:none}.retro-demo .browse-section{padding:0 28px 30px;text-align:left}.retro-demo .browse-cta{border:0;border-radius:0;box-shadow:none;background:none;padding:10px 0;font:bold 16px 'Courier New',monospace;color:var(--retro-link,#0000a0);text-decoration:underline;transform:none}.retro-demo .seasonal-feature{max-width:none;margin:0 28px 26px;padding:0}.retro-demo .seasonal-feature a{grid-template-columns:64px 1fr auto;background:var(--retro-accent,#fff8ce);border:1px solid #777;border-radius:0;box-shadow:3px 3px #bbb;padding:18px;transform:none}.retro-season-icon{font:bold 16px/1.6 'Courier New',monospace;border:2px solid #73581d;text-align:center;color:#73581d}.retro-demo .seasonal-feature strong{font-family:'Courier New',monospace}.retro-demo .seasonal-go{color:var(--retro-link,#000080);text-decoration:underline}.retro-demo .install-nudge a{border-radius:0;box-shadow:none}.retro-demo .waitlist-card{border:2px outset #ddd;border-radius:0;box-shadow:4px 4px #aaa;background:#ddd}.retro-demo .waitlist-card h2{font-family:'Courier New',monospace}.retro-demo .waitlist-form input{border:2px inset #ccc;border-radius:0;font:14px Verdana,sans-serif}.retro-demo footer{max-width:1180px;margin:0 auto 30px;background:var(--retro-panel,#c6c6c6);border:2px outset #eee;color:var(--retro-ink,#182525);font:11px/1.9 'Courier New',monospace;padding:18px}.retro-demo footer a{color:var(--retro-link,#000080);display:inline-block;padding:5px 2px}
.retro-skip{position:absolute;top:-100px;left:10px;background:#fff;color:var(--retro-link,#000080);padding:12px;z-index:100}.retro-skip:focus{top:10px}
@media(max-width:850px){.retro-demo .desktop{grid-template-columns:180px minmax(0,1fr);gap:20px;padding:24px 20px}.retro-demo .hero-body{padding:22px 20px 16px}.retro-demo .hero-body h1{letter-spacing:-2px}.retro-menu span{display:none}.retro-demo .board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.retro-demo .topbar{margin:0;padding:10px}.retro-demo .logo{font-size:20px}.retro-demo .shuffle-btn{padding:6px;font-size:10px}.retro-menu{gap:0;justify-content:space-between;padding:3px 9px;font-size:11px}.retro-menu a{padding:12px 3px}.retro-demo .desktop{display:flex;flex-direction:column;padding:18px 12px;gap:20px}.retro-demo .hero-window{order:0}.retro-directory{order:1;width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.retro-directory h2{font-size:24px;margin:5px 0 10px}.retro-directory>.retro-caption{grid-column:1/-1}.retro-directory nav{grid-column:2;grid-row:2/5;margin:0}.retro-directory .retro-note{display:none}.retro-badges{grid-column:1/-1;margin-top:5px}.retro-demo .hero-body h1{font-size:44px}.retro-demo .hero-body{padding:20px 16px 14px}.retro-demo .hero-actions{display:grid}.retro-demo .hero-actions button{width:100%;font-size:12px}.retro-demo :is(.sidequest-mode,.quest-wheel-section){margin:10px 12px 24px}.retro-demo .quest-wheel-card{grid-template-columns:1fr;padding:54px 15px 18px}.retro-demo .wheel-copy{text-align:left}.retro-demo .wheel-stage{max-width:290px}.retro-program-title{font-size:10px}.retro-demo .board{padding:0 12px 20px;grid-template-columns:1fr}.retro-demo .section-label{margin:28px 12px 16px}.retro-demo .browse-section{padding:0 12px 22px}.retro-demo .seasonal-feature{margin:0 12px 22px}.retro-demo .seasonal-feature a{grid-template-columns:50px 1fr;padding:12px;gap:12px}.retro-demo .seasonal-go{grid-column:2;white-space:normal}.retro-demo .mode-card{padding:18px 12px}.retro-demo .mode-filters{grid-template-columns:1fr}.retro-demo .wheel-result-actions{grid-template-columns:1fr}.retro-demo .waitlist-section{padding:0 12px}.retro-demo .waitlist-card{padding:20px 12px}.retro-demo .waitlist-form{flex-wrap:wrap}.retro-demo .waitlist-form input{min-width:0;width:100%}.retro-demo .install-nudge{padding:0 12px}.retro-demo .quest-preview{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.retro-demo *{scroll-behavior:auto!important}}
/* Keep the reading/focus order hero-first; directory occupies the desktop sidebar. */
@media(min-width:621px){.retro-demo .hero-window{grid-column:2;grid-row:1}.retro-directory{grid-column:1;grid-row:1}}
/* Explicit hover colors prevent the shared wheel hover from lowering contrast. */
body.retro-demo .wheel-spin-btn,body.retro-demo .wheel-spin-btn:hover:not(:disabled),body.retro-demo .mode-btn{background:var(--retro-accent,#ffe16b);color:var(--retro-ink,#182525)}

/* Vibe colors remain light enough for the fixed retro ink, including dark palettes. */
body.retro-demo .quest-preview,body.retro-demo .mode-result{background:var(--retro-tint,#e7e8fa);color:var(--retro-ink,#182525)}
body.retro-demo .quest-preview :is(.label,#quest-name){color:var(--retro-ink,#182525)}
body.retro-demo :is(.mode-card,.waitlist-card){background:var(--retro-panel,#c6c6c6)}
body.retro-demo .retro-menu,body.retro-demo .retro-address{background:var(--retro-tint,#deded6)}
body.retro-demo .wheel-result{background:var(--retro-paper,#ffffed)}
body.retro-demo .result-tags span{color:var(--retro-ink,#182525)}
body.retro-demo .mode-heading p,body.retro-demo .wheel-result-label{color:var(--retro-muted,#344747)}
body.retro-demo .waitlist-form input{background:var(--retro-paper,#fff);color:var(--retro-ink,#182525)}
body.retro-demo .wheel-copy>.wheel-status{background:var(--retro-tint,#e6e6dc)}
/* More colour across the full desktop, not just small accents. */
body.retro-demo #main-content{background:var(--retro-tint,#E1CEF6)}
body.retro-demo .hero-window,body.retro-demo .qcard{background:var(--retro-paper,#F3E7FF)}
body.retro-demo .retro-directory nav{background:var(--retro-paper,#F3E7FF);padding-left:10px;padding-right:10px}
body.retro-demo .quest-open-cue{background:var(--retro-panel,#CBB5EF);color:var(--retro-ink,#182525)}
body.retro-demo .install-nudge a{background:var(--retro-paper,#F3E7FF);color:var(--retro-ink,#182525)}
/* Full light/dark surfaces. Geometry and behavior remain unchanged. */
body.retro-demo{color-scheme:light}
body.retro-demo[data-retro-mode="dark"]{color-scheme:dark}
body.retro-demo :is(.topbar,.hero-window,.quest-wheel-card,.mode-card,.waitlist-card,footer){border-color:var(--retro-edge-light,#fff) var(--retro-edge-dark,#52505b) var(--retro-edge-dark,#52505b) var(--retro-edge-light,#fff)}
body.retro-demo :is(.shuffle-btn,.spin-btn,.wheel-result-actions button,.waitlist-form button){background:var(--retro-panel);color:var(--retro-ink);border-color:var(--retro-edge-light) var(--retro-edge-dark) var(--retro-edge-dark) var(--retro-edge-light)}
body.retro-demo .mode-btn,body.retro-demo .wheel-spin-btn,body.retro-demo .wheel-spin-btn:hover:not(:disabled),body.retro-demo .wheel-accept{background:var(--retro-accent);color:var(--retro-accent-ink);border-color:var(--retro-edge-light) var(--retro-edge-dark) var(--retro-edge-dark) var(--retro-edge-light)}
body.retro-demo :is(.mode-filters select,.result-tags span){background:var(--retro-paper);color:var(--retro-ink);border-color:var(--retro-edge-light)}
body.retro-demo .retro-menu{color:var(--retro-ink)}
body.retro-demo .retro-menu span{color:var(--retro-muted)}
body.retro-demo .retro-badges span+span{color:var(--retro-accent-ink)}
body.retro-demo .seasonal-feature a,body.retro-demo .seasonal-feature a *{color:var(--retro-accent-ink)}
body.retro-demo .wheel-accept.is-committed{background:var(--retro-wheel-success,#bad58b);color:var(--retro-wheel-success-ink,#182525)}
body.retro-demo .qcard{border-color:var(--retro-edge-light)}
body.retro-demo .retro-skip{color:#000080}
body.retro-demo[data-retro-mode="dark"] :is(.section-label .line,.retro-directory nav){border-color:var(--retro-edge-light)}
