.tf-login-prompt {
    box-sizing: border-box;
    width: min(430px, calc(100vw - 32px));
}

.tf-login-prompt[open] {
    position: fixed;
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    display: block;
    max-width: calc(100vw - 32px);
    max-height: calc(100dvh - 32px);
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    transform: translate(-50%, -50%);
}

@media (max-height: 480px) {
    .tf-login-prompt[open] {
        max-height: calc(100dvh - 16px);
    }
}

/* Layered cinematic banner carousel. */
.member-feature {
    isolation: isolate;
    perspective: 1400px;
    width: 100%;
    min-height: 336px;
    height: clamp(336px, 28vw, 500px);
    overflow: hidden;
}

.member-feature .member-slide {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 9%;
    width: 82%;
    overflow: hidden;
    border-radius: 13px;
    opacity: 0;
    pointer-events: none;
    transform: translateX(0) scale(.82);
    filter: brightness(.46) blur(2px) saturate(.72);
    transition: transform 900ms cubic-bezier(.22,.75,.18,1), opacity 650ms ease, filter 850ms ease;
    will-change: transform, opacity, filter;
}

.member-feature .member-slide.is-current {
    z-index: 3;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0) scale(1);
    filter: none;
}

.member-feature .member-slide.is-previous,
.member-feature .member-slide.is-next {
    z-index: 1;
    opacity: .55;
}

.member-feature .member-slide.is-previous { transform: translateX(-104%) scale(.94); }
.member-feature .member-slide.is-next { transform: translateX(104%) scale(.94); }
.member-feature .member-slide:not(.is-current) .member-feature-copy { opacity: 0; }
.member-feature .member-slide.is-current .member-feature-copy { transition: opacity 450ms ease 260ms, transform 650ms cubic-bezier(.22,.75,.18,1) 180ms; }
.member-feature .member-slide.is-away { z-index: 0; visibility: hidden; }

@media (max-width: 820px) {
    .member-feature { min-height: 400px; height: min(62vw, 480px); }
    .member-feature .member-slide { left: 10%; width: 80%; }
    .member-feature .member-slide.is-previous { transform: translateX(-106%) scale(.94); }
    .member-feature .member-slide.is-next { transform: translateX(106%) scale(.94); }
}

@media (max-width: 560px) {
    .member-feature { min-height: 390px; height: 112vw; max-height: 490px; }
    .member-feature .member-slide { left: 9%; width: 82%; border-radius: 11px; }
    .member-feature .member-slide.is-previous { transform: translateX(-105%) scale(.95); }
    .member-feature .member-slide.is-next { transform: translateX(105%) scale(.95); }
    .member-feature .tf-slide-arrow { display: grid; width: 34px; height: 34px; font-size: 27px; }
    .member-feature .tf-slide-arrow.left { left: 5px; }
    .member-feature .tf-slide-arrow.right { right: 5px; }
}

@media (max-height: 520px) and (orientation: landscape) {
    .member-feature { min-height: 300px; height: calc(100dvh - 68px); max-height: 390px; }
    .member-feature .member-slide { left: 8%; width: 84%; }
}

.member-feature .member-feature-art { width: 100%; height: 100%; object-fit: cover; }

.member-feature .member-pagination { width: 142px; padding: 0; gap: 4px; }
.member-feature .member-pagination button,
.member-feature .member-pagination button[aria-pressed=true] { width: auto; min-width: 0; height: 3px; flex: 1; border-radius: 4px; }
.member-feature .member-pagination button { background: #737983; }
.member-feature .member-pagination button[aria-pressed=true] { background: #4772ff; }

@media (prefers-reduced-motion: reduce) {
    .member-feature .member-slide { transition: none; }
}

.tf-login-prompt [hidden] { display: none !important; }
.tf-auth-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tf-login-prompt button { font: inherit; cursor: pointer; }
.tf-auth-choices button,
.tf-login-prompt form > button { min-height: 46px; border-radius: 8px; color: #fff; font-weight: 700; font-size: 14px; }
.tf-login-prompt .tf-login-primary { border: 0; background: linear-gradient(120deg,#f20a65,#7d35f2); }
.tf-login-prompt .tf-login-secondary { border: 1px solid #46526a; background: #151e2d; }
.tf-login-prompt form { display: grid; gap: 15px; text-align: left; }
.tf-login-prompt label { display: grid; gap: 8px; color: #c6cfdd; font-size: 12px; }
.tf-login-prompt input { box-sizing: border-box; width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #344159; border-radius: 8px; outline: 0; background: #101827; color: #fff; font: inherit; }
.tf-login-prompt input:focus { border-color: #6f88ff; box-shadow: 0 0 0 3px #4a70ff25; }
.tf-login-prompt .tf-otp { font-size: 23px; letter-spacing: 8px; text-align: center; }
.tf-auth-back { display: block; margin: -5px 0 18px; padding: 0; border: 0; background: transparent; color: #9facc1; font-size: 12px; }
.tf-auth-message { margin: 18px 0 0 !important; padding: 11px; border: 1px solid #6a3344; border-radius: 7px; background: #321722; color: #ffb8c5 !important; font-size: 12px !important; }
.tf-login-prompt button:disabled { cursor: wait; opacity: .65; }

@media (max-width: 560px) {
    .tf-auth-choices { grid-template-columns: 1fr; }
}

.ott-skip-actions { position: absolute; right: 24px; bottom: 82px; display: flex; gap: 9px; }
.ott-skip-actions button { min-height: 34px; padding: 0 14px; border: 1px solid #fff8; border-radius: 5px; background: #090b10d9; color: #fff; font-size: 11px; font-weight: 700; }
.ott-player-select { display: flex; align-items: center; gap: 4px; color: #aeb5c2; font-size: 8px; }
.ott-player-select select { max-width: 88px; height: 29px; padding: 0 5px; border: 1px solid #ffffff2b; border-radius: 4px; background: #11151dcc; color: #fff; font-size: 9px; }
.ott-autoplay { display: flex; align-items: center; gap: 4px; color: #c5cbd5; font-size: 9px; white-space: nowrap; }
.ott-autoplay input { accent-color: #9250ee; }
.ott-control-row [data-player-pip] { width: 38px; font-size: 9px; font-weight: 800; }

@media (max-width: 900px) {
    .ott-control-row { flex-wrap: wrap; }
    .ott-player-select,
    .ott-autoplay { order: 2; }
    .ott-skip-actions { right: 12px; bottom: 108px; }
}

@media (max-width: 560px) {
    .ott-player-select { display: none; }
    .ott-autoplay { margin-left: auto; }
    .ott-skip-actions { bottom: 78px; }
}

/* Profile editor */
.tf-profile-dialog { box-sizing:border-box; width:min(760px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; overflow:auto; border:1px solid #314066; border-radius:22px; background:radial-gradient(circle at 100% 0,#29478e 0,transparent 42%),linear-gradient(145deg,#111827,#090f19); color:#fff; box-shadow:0 35px 120px #000d; }
.tf-profile-dialog[open] { position:fixed; inset:0; }
.tf-profile-dialog::backdrop { background:#01040bd9; backdrop-filter:blur(8px); }
.tf-profile-dialog>header { padding:34px 42px 20px; text-align:center; }
.tf-profile-dialog>header>span { color:#7595ff; font-size:10px; font-weight:800; letter-spacing:2px; text-transform:uppercase; }
.tf-profile-dialog h2 { margin:8px 0 7px; font-size:30px; letter-spacing:-1px; }
.tf-profile-dialog header p { margin:0; color:#9ba9bd; font-size:13px; }
.tf-profile-close { position:absolute; z-index:2; top:16px; right:18px; width:36px; height:36px; border:1px solid #ffffff28; border-radius:50%; background:#111a29c7; color:#fff; font-size:24px; cursor:pointer; }
.tf-profile-dialog form { padding:0 42px 36px; }
.tf-profile-portrait { position:relative; display:grid; width:116px; height:116px; margin:8px auto 28px; border:7px solid #f7f8fb; border-radius:50%; background:#4772ff; place-items:center; box-shadow:0 16px 45px #0007; }
.tf-profile-portrait span { font-size:48px; font-weight:800; }
.tf-profile-portrait i { position:absolute; right:-5px; bottom:2px; display:grid; width:32px; height:32px; border:2px solid #dbe3ff; border-radius:9px; background:#17223a; font-size:15px; font-style:normal; place-items:center; }
.tf-profile-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.tf-profile-fields label { position:relative; display:grid; gap:7px; color:#aeb8c9; font-size:10px; }
.tf-profile-fields input,.tf-profile-fields select { box-sizing:border-box; width:100%; height:49px; padding:0 15px; border:1px solid #39455d; border-radius:25px; outline:0; background:linear-gradient(100deg,#222b3b,#30394a); color:#fff; font:inherit; font-size:13px; }
.tf-profile-fields input:focus,.tf-profile-fields select:focus { border-color:#6686ff; box-shadow:0 0 0 3px #4a70ff22; }
.tf-profile-fields input[readonly] { color:#9fa9ba; cursor:not-allowed; }
.tf-profile-fields label>i { position:absolute; right:17px; bottom:14px; color:#dce3ef; font-style:normal; }
.tf-phone-field { display:grid; grid-template-columns:93px 1fr; gap:8px; align-items:end; }
.tf-country { display:flex; align-items:center; justify-content:center; height:47px; gap:7px; border:1px solid #39455d; border-radius:25px; background:#252f40; font-size:17px; }.tf-country small{font-size:11px;color:#c8d1df}
.tf-profile-message { margin:16px 0 0; padding:10px; border:1px solid #27584f; border-radius:8px; background:#122e29; color:#8ee1cd; text-align:center; font-size:12px; }.tf-profile-message.is-error{border-color:#6a3344;background:#321722;color:#ffb8c5}
.tf-profile-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:23px; }.tf-profile-actions button{min-width:145px;min-height:46px;border-radius:24px;color:#fff;font-weight:700;cursor:pointer}.tf-profile-actions button:first-child{border:1px solid #46526a;background:#1c2636}.tf-profile-actions button:last-child{border:0;background:linear-gradient(120deg,#315ff4,#537cff)}
.tf-profile-actions button:disabled{opacity:.65;cursor:wait}
@media(max-width:650px){.tf-profile-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px}.tf-profile-dialog>header{padding:30px 24px 18px}.tf-profile-dialog form{padding:0 22px 26px}.tf-profile-fields{grid-template-columns:1fr}.tf-profile-portrait{width:96px;height:96px;margin-bottom:22px}.tf-profile-actions{display:grid;grid-template-columns:1fr 1fr}.tf-profile-actions button{min-width:0}.tf-phone-field{grid-template-columns:86px 1fr}}
