.visual-rail{display:flex;overflow-x:auto;gap:14px;padding:8px 3px 24px;scroll-snap-type:x mandatory;scrollbar-width:none}.visual-card{position:relative;flex:0 0 72%;max-width:290px;scroll-snap-align:center;border:1px solid #41324f;border-radius:24px;background:#1c1527;overflow:hidden;transition:border-color .2s,box-shadow .2s}.visual-card.chosen{border-color:#d4afff;box-shadow:0 0 0 2px #b186e944}.visual-select{display:block;width:100%;padding:0 0 20px!important;text-align:left;border:0!important;background:transparent!important;color:#f7efff;border-radius:0!important}.visual-select strong,.card-caption{display:block;margin:16px 18px 0}.visual-select strong{font-size:23px}.card-caption{font-size:13px;color:#bcaccb;margin-top:7px}.card-art{height:240px;overflow:hidden;background:radial-gradient(ellipse at 25% 20%,hsl(var(--tone) 36% 33%),#15111d 75%);display:flex;align-items:center;justify-content:center;font-size:96px;color:#dfc2ff}.card-art img{width:100%;height:100%;object-fit:cover}.card-art.type{white-space:pre-line;font-size:39px;line-height:.95;font-weight:900;letter-spacing:-2px;text-align:center;transform:rotate(-3deg)}.card-art[data-family=anderson]{font-family:Georgia;letter-spacing:1px;font-size:32px;color:#f9ddb2;transform:none}.card-art[data-family=besson]{transform:rotate(-9deg);color:#ff86c9;text-align:left}.card-art[data-family=fincher]{color:#c9ed6a;letter-spacing:2px}.card-art[data-family=coppola]{font-family:Georgia;font-style:italic;color:#ffd0b3}.card-art[data-family=tarantino]{color:#ffdc38}.card-art[data-family=nolan]{color:#c5d4df;letter-spacing:6px;font-size:31px}.card-art.voice{font-size:40px;letter-spacing:5px}.card-info{position:absolute;top:12px;right:12px;width:36px;height:36px;min-height:36px!important;padding:0!important;border-radius:50%!important;background:#120e1bc9!important;border:1px solid #ffffff44!important;color:white;font-size:17px}.chosen:after{content:'✓';position:absolute;bottom:21px;right:15px;color:#d9b6ff}.style-dialog{background:#1c1625;color:white;border:1px solid #665176;border-radius:24px;width:min(92vw,420px);padding:18px}.style-dialog::backdrop{background:#07050bc9}.style-dialog h2{margin:0 0 12px}.style-dialog iframe{border:0;width:100%;height:52vh;border-radius:14px}.style-dialog button{display:block;width:100%;padding:12px;margin-top:12px;border:0;border-radius:12px;background:#c6a0ef;color:#180e22}.step-count{color:#b195c8;font-size:12px;letter-spacing:3px;margin-bottom:16px}
