/* Scoped to this experience; no global player, dialog, form or layout rules. */
.cn-experience{--cn-gold:#e8c56c;--cn-dim:#b8b4aa;color:#f8f4e9;font-family:inherit;min-width:0}
.cn-onboarding{max-width:1080px;margin:clamp(12px,4vw,56px) auto;padding:clamp(20px,5vw,64px);border:1px solid #a8863c55;border-radius:28px;background:radial-gradient(ellipse at 80% 0%,#6a51252b,transparent 60%),#101010;box-shadow:0 24px 70px #0005}
.cn-eyebrow{font-size:.72rem;letter-spacing:.22em;color:var(--cn-gold);font-weight:700}
.cn-onboarding h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.12;letter-spacing:-.035em;margin:.8rem 0 1rem;max-width:19ch}
.cn-experience p{color:var(--cn-dim);line-height:1.6}.cn-experience fieldset{min-width:0;border:0;padding:0;margin:0}.cn-experience legend{font-size:1.1rem;font-weight:650;margin:0 0 .75rem}.cn-experience legend span{font-size:.75rem;color:var(--cn-dim);font-weight:400;margin-inline-start:8px}
.cn-experience button,.cn-experience select,.cn-experience input{font:inherit}.cn-experience button,.cn-experience select,.cn-experience input:not([type=checkbox]):not([type=radio]){min-height:44px;border:1px solid #ffffff35;border-radius:12px;background:#191919;color:#fff;padding:10px 15px;max-width:100%}.cn-experience select{display:block;margin-top:8px;width:100%}.cn-experience input:not([type=checkbox]):not([type=radio]){width:100%;box-sizing:border-box}.cn-experience button{cursor:pointer}.cn-experience button:disabled{opacity:.45;cursor:not-allowed}.cn-experience :focus-visible{outline:3px solid var(--cn-gold);outline-offset:4px}.cn-experience button[aria-pressed=true]{border-color:var(--cn-gold);color:var(--cn-gold)}
.cn-progress{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:32px 0;padding:0}.cn-progress li{border-top:2px solid #ffffff25;padding-top:10px;font-size:.85rem;color:var(--cn-dim);overflow-wrap:anywhere}.cn-progress li[aria-current=step]{border-color:var(--cn-gold);color:var(--cn-gold)}.cn-progress span{display:block;font-size:.75rem;margin-bottom:6px}
.cn-slide{animation:cn-slide-in .2s ease-out}.cn-slide h2{margin:12px 0 24px;font-size:clamp(1.4rem,3vw,2rem)}@keyframes cn-slide-in{from{opacity:.6;transform:translateX(12px)}to{opacity:1;transform:none}}
.cn-genres,.cn-posters{margin-top:28px!important}.cn-genre-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-top:18px}.cn-choice{display:flex;align-items:center;gap:9px;border:1px solid #ffffff25;border-radius:14px;padding:13px;min-height:48px;cursor:pointer;background:#1b1b1b}.cn-choice input{accent-color:var(--cn-gold);width:18px;height:18px;flex-shrink:0}.cn-choice>span:last-child{margin-inline-start:auto;color:var(--cn-gold)}.cn-choice.is-selected{background:#6d552d33;border-color:var(--cn-gold)}
.cn-lanes{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin:20px 0}.cn-lanes>label{flex:1;min-width:150px}.cn-media{display:flex;gap:8px}.cn-search{margin:20px 0}.cn-search summary{cursor:pointer;min-height:44px;line-height:44px;color:var(--cn-gold)}.cn-search label{display:block;margin:12px 0 6px}
.cn-poster-grid{list-style:none;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:16px}.cn-poster-grid li{min-width:0}.cn-experience .cn-poster{padding:0;border-radius:14px;overflow:hidden;text-align:start;display:block;width:100%;height:100%;position:relative;border:2px solid transparent;background:#191919}.cn-poster img,.cn-no-poster{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;height:auto}.cn-no-poster{display:grid;place-items:center;background:linear-gradient(135deg,#29251e,#141414);color:var(--cn-dim);font-size:.85rem}.cn-poster-title{display:block;padding:12px;font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}.cn-experience .cn-poster.is-selected{border-color:var(--cn-gold);box-shadow:0 0 0 1px var(--cn-gold)}.cn-check{position:absolute;top:8px;right:8px;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;background:#111d;border:1px solid #fff5}.is-selected .cn-check{background:var(--cn-gold);color:#111;border-color:var(--cn-gold);font-weight:800}
.cn-selected{padding:0;list-style:none;display:flex;gap:8px;flex-wrap:wrap}.cn-selected li{display:flex;align-items:center;gap:8px;background:#ffffff0a;border-radius:12px;padding:4px 4px 4px 12px;overflow-wrap:anywhere;max-width:100%}.cn-selected button{font-size:.8rem}.cn-inline{padding-top:24px;margin-top:24px;border-top:1px solid #ffffff25}.cn-note{font-size:.9rem;line-height:1.6;color:#b8b4aa}.cn-actions{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid #ffffff20;padding-top:24px;margin-top:32px}.cn-experience .cn-primary{background:var(--cn-gold);color:#111;border-color:var(--cn-gold);font-weight:700}.cn-avatar-grid{display:flex;flex-wrap:wrap;gap:12px}.cn-avatar-choice{display:flex;align-items:center;gap:8px;border:1px solid #fff4;border-radius:16px;padding:12px;min-height:64px}.cn-avatar-choice:has(input:checked){border-color:var(--cn-gold);background:#e8c56c13}.cn-avatar-chip{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#111;background:#e8c56c}.cn-avatar-chip[data-avatar=ocean]{background:#82cdf1}.cn-avatar-chip[data-avatar=forest]{background:#83c4a2}.cn-avatar-chip[data-avatar=rose]{background:#e99ab2}.cn-avatar-chip[data-avatar=violet]{background:#b49bea}
.cn-experience .cn-setup-link{display:inline-flex;align-items:center;min-height:44px;color:var(--cn-gold);text-decoration:underline;text-underline-offset:4px}.cn-slide .cn-step-count{margin-top:-14px;font-size:.85rem}
@media(max-width:540px){.cn-onboarding{border-radius:18px;padding:20px 16px}.cn-progress{gap:8px}.cn-progress li{font-size:.75rem}.cn-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cn-actions button{flex:1 1 42%}.cn-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cn-choice{padding:10px;font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.cn-slide{animation:none}.cn-experience *{scroll-behavior:auto!important;transition:none!important}}

/* Bounded wizard: footer participates in layout, never overlays poster controls. */
.cn-onboarding{box-sizing:border-box;height:var(--cn-panel-height,calc(100dvh - 104px));max-height:900px;margin:12px auto 16px;padding:clamp(14px,2.2vw,28px);display:flex;flex-direction:column;overflow:hidden}
.cn-wizard-intro{flex:none}.cn-onboarding .cn-eyebrow{margin:0;font-size:.65rem}.cn-onboarding h1{font-size:clamp(1.35rem,2.8vw,2rem);max-width:none;margin:6px 0;line-height:1.15}.cn-onboarding .cn-intro-copy{font-size:.85rem;margin:4px 0}
.cn-wizard{display:flex;flex-direction:column;flex:1;min-height:0}.cn-progress{flex:none;margin:14px 0 10px;gap:10px}.cn-progress li{font-size:.75rem;padding-top:6px}.cn-progress span{display:inline;margin-inline-end:7px;font-size:.7rem}
.cn-slide{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:4px 8px 12px 4px;scroll-padding:12px}.cn-slide h2{font-size:1.25rem;margin:4px 0 8px}.cn-slide .cn-step-count{margin:0 0 12px;font-size:.75rem}.cn-slide>.space-y-5{margin-top:10px!important}
.cn-footer{flex:none;background:#101010;padding-bottom:env(safe-area-inset-bottom,0px)}.cn-experience .cn-actions{display:flex;align-items:center;gap:8px;border-top:1px solid #ffffff25;padding:12px 0 0;margin:0}.cn-actions button{padding:9px 14px;min-height:44px;font-size:.85rem}.cn-actions .cn-primary{margin-inline-start:auto}.cn-footer-error{max-height:120px;overflow:auto;font-size:.8rem}.cn-footer-error p{margin:8px 0}.cn-footer-error button{padding:6px 10px}
.cn-onboarding .cn-genres,.cn-onboarding .cn-posters{margin-top:8px!important}.cn-onboarding .cn-posters>p,.cn-onboarding .cn-genres>p{font-size:.8rem;margin:5px 0}.cn-onboarding .cn-lanes{margin:12px 0;gap:10px}.cn-onboarding .cn-search{margin:8px 0}.cn-onboarding .cn-poster-grid{margin:10px 0;gap:12px;grid-template-columns:repeat(auto-fill,minmax(115px,1fr))}.cn-onboarding .cn-poster-title{padding:8px;font-size:.8rem}.cn-onboarding .cn-selected{font-size:.8rem}
.cn-onboarding[data-compact=true] .cn-eyebrow,.cn-onboarding[data-compact=true] .cn-intro-copy{display:none}.cn-onboarding[data-compact=true] h1{font-size:1.05rem}.cn-onboarding[data-compact=true] .cn-progress{margin:6px 0}.cn-onboarding[data-compact=true] .cn-progress li{font-size:.65rem}.cn-onboarding[data-compact=true] .cn-slide h2{font-size:1.05rem}
/* Native details are keyboard operable; content is mounted only while expanded. */
.cn-inline{padding-top:16px;margin-top:16px}.cn-preference-group{margin-top:12px;border:1px solid #ffffff26;border-radius:12px;padding:0 12px}.cn-preference-group>summary{cursor:pointer;min-height:48px;padding:12px 0;color:#f8f4e9;list-style-position:inside;overflow-wrap:anywhere}.cn-summary-count{float:right;color:var(--cn-dim);font-size:.8rem;margin:2px 0 0 8px}.cn-preference-group summary small{display:block;color:var(--cn-dim);font-size:.75rem;margin-top:4px}.cn-preference-group .cn-genres,.cn-preference-group .cn-posters{margin-top:0!important;padding-bottom:10px}.cn-settings-posters{max-height:min(480px,55dvh);overflow-y:auto;overscroll-behavior-y:contain;padding:4px;scrollbar-gutter:stable}.cn-inline .cn-setup-link{font-size:.85rem;margin-top:8px}.cn-experience .cn-sr-only{position:absolute;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:540px){.cn-onboarding{border-radius:16px;padding:14px 10px}.cn-progress{gap:5px}.cn-progress li{font-size:.65rem}.cn-progress span{display:block;margin-bottom:2px}.cn-onboarding .cn-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cn-actions{gap:6px}.cn-actions button{flex:1 1 42%;font-size:.8rem;padding:8px}.cn-actions .cn-primary{margin-inline-start:0}.cn-onboarding .cn-avatar-grid{gap:8px}.cn-onboarding .cn-avatar-choice{padding:8px;min-height:50px}.cn-onboarding .cn-avatar-chip{width:30px;height:30px}.cn-onboarding .cn-lanes>label{min-width:120px}}
@media(prefers-reduced-motion:reduce){.cn-slide{animation:none}.cn-experience *{scroll-behavior:auto!important;transition:none!important}}
