:root{--bg:#120918;--paper:#1d0f26;--ink:#f9eef5;--muted:#c2a4be;--line:#3f1f4e;--accent:#e03b74;--soft:#2a1436;font-family:Inter,-apple-system,BlinkMacSystemFont,"Noto Sans JP","Noto Sans KR","Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;line-height:1.65;background:radial-gradient(circle at 50% 0%,#331238 0%,#14091b 48%,#0d0612 100%);color:var(--ink)}button,select,input,textarea{font:inherit;color:inherit}button,select{cursor:pointer}button,a,input,select,textarea{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.22;letter-spacing:-.03em;color:#fff5fb}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #ff5c97;outline-offset:2px}[hidden]{display:none!important}
.site-header{max-width:1232px;margin:auto;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);background:rgba(18,9,24,.88);backdrop-filter:blur(12px);position:sticky;top:0;z-index:80}
.wordmark{font-weight:800;letter-spacing:.14em;font-size:20px;line-height:1;display:inline-flex;align-items:center;gap:10px;color:#fff5fb}
.brand-logo{width:34px;height:34px;border-radius:9px;object-fit:cover;box-shadow:0 4px 14px rgba(224,59,116,.4);flex-shrink:0}
.brand-logo.small-logo{width:22px;height:22px;border-radius:6px}
.modal-brand{display:inline-flex;align-items:center;gap:7px}
.wordmark-text{display:flex;flex-direction:column}
.wordmark span span{display:block;font-size:7px;letter-spacing:.16em;margin-top:6px;color:#f28eb2;font-weight:600}
.header-tools{display:flex;align-items:center;gap:8px}
.header-tools select{max-width:140px;background:#261232;color:#fceef7;border:1px solid #4d255e;border-radius:20px;padding:6px 10px;font-size:12px}
.text-button{border:1px solid #572969;background:rgba(224,59,116,.14);color:#ffdbed;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600}
.account-menu-wrap{position:relative;margin-left:auto}
.account-dropdown{position:absolute;right:0;top:calc(100% + 6px);min-width:185px;background:#22102d;border:1px solid #5a286e;border-radius:10px;padding:6px;box-shadow:0 16px 40px rgba(0,0,0,.65);display:flex;flex-direction:column;gap:4px;z-index:120}
.account-dropdown button{width:100%;text-align:left;background:transparent;border:0;color:#fceef7;padding:9px 12px;border-radius:7px;font-size:12px;font-weight:550;display:flex;align-items:center;justify-content:space-between}
.account-dropdown button:hover{background:#381a49;color:#ff7aa8}
.button{border:1px solid #ff4f8b;border-radius:8px;background:linear-gradient(135deg,#e63976,#9e1f52);color:white;display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:11px 22px;font-size:14px;font-weight:650;line-height:1.5;box-shadow:0 6px 20px rgba(224,59,116,.35)}
.small{min-height:36px;font-size:12px;padding:7px 14px}
main,footer{max-width:1232px;padding:0 18px;margin:auto}
.intro{padding:28px 0 18px}
.eyebrow{font-size:10px;font-weight:750;letter-spacing:.18em;margin-bottom:12px;color:#ff6b9d;text-transform:uppercase}
h1{font-size:32px;margin-bottom:12px;font-weight:650;text-shadow:0 2px 18px rgba(224,59,116,.28)}
.intro>p:last-child{font-size:13px;color:var(--muted)}
.hero{display:grid;grid-template-columns:1fr;background:linear-gradient(160deg,#241130,#180b20);border:1px solid #4a235a;border-radius:14px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.55)}
.video-wrap{width:100%;aspect-ratio:3/4;margin:0 auto;position:relative;background:#050208;overflow:hidden;align-self:center;border-bottom:1px solid #3c1c4b;transition:aspect-ratio .18s ease}
.video-wrap video{width:100%;height:100%;object-fit:contain;object-position:center center;background:#050208;display:block}
.video-wrap:not(.is-playing) video[poster]{object-fit:contain;object-position:center center;background:#050208}
.video-wrap.is-playing{aspect-ratio:9/16}.video-wrap.is-playing video{object-fit:contain!important;object-position:center center!important}
.play-overlay{position:absolute;right:12px;bottom:12px;left:auto;top:auto;transform:none;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:24px;border:1px solid #ff6b9d;background:rgba(30,9,36,.88);color:#fff5fb;font-weight:700;font-size:13px;box-shadow:0 6px 20px rgba(0,0,0,.55)}
.play-overlay>span:first-child{border:1px solid rgba(255,140,185,.7);border-radius:100%;width:26px;height:26px;display:grid;place-items:center;font-size:12px;background:rgba(224,59,116,.65)}
.video-label{position:absolute;top:14px;left:14px;border:1px solid rgba(255,130,178,.45);background:rgba(36,12,42,.82);color:#ffd6e7;padding:4px 11px;border-radius:30px;font-size:10px;font-weight:650;pointer-events:none}
.video-message{position:absolute;inset:0;background:rgba(20,8,28,.92);color:#ffeaf3;display:grid;place-items:center;padding:25px;text-align:center;margin:0}
.hero-copy{padding:22px}
.hero-copy h2{font-size:25px;margin-bottom:12px;font-weight:600}
.hero-copy>p:not(.eyebrow){font-size:13px;color:#d6bdd2;margin-bottom:20px;line-height:1.7}
.browse-link{display:inline-block;font-size:12px;margin:0 0 0 16px;color:#ff85b0;text-decoration:underline;text-underline-offset:4px}
.catalogue{padding:32px 0}
.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.section-heading h2{font-size:22px;font-weight:600;margin:0}
.section-heading>span{font-size:11px;color:#ff7aa8;letter-spacing:.1em}
.tabs{display:flex;gap:7px;overflow:auto;flex-wrap:wrap;margin-bottom:20px}
.tabs button{white-space:nowrap;border:1px solid #4a2459;background:#1e0f28;color:#e3cde0;border-radius:30px;padding:8px 15px;font-size:12px;transition:all .18s}
.tabs button[aria-pressed=true]{background:linear-gradient(135deg,#e03b74,#8f1d4c);color:white;border-color:#ff5c97;box-shadow:0 4px 14px rgba(224,59,116,.38)}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}
.card{padding:0;border:1px solid #3c1c4b;border-radius:10px;overflow:hidden;text-align:left;background:#1b0d24;min-width:0;display:flex;flex-direction:column;box-shadow:0 8px 22px rgba(0,0,0,.4);transition:transform .2s,border-color .2s}
.card:hover{transform:translateY(-3px);border-color:#c93b6f}
.card img,.card video{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 20%;background:#160a1d}
.card strong{display:block;font-size:13px;margin:10px 10px 4px;font-weight:650;line-height:1.4;color:#fff2f9}
.card-synopsis{font-size:11px;color:#c7acc3;margin:0 10px 8px;line-height:1.48;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card small{color:#ff7da9;font-size:10px;margin:auto 10px 10px;font-weight:600}
.outline-button{border:1px solid #592a6b;background:#22102d;color:#f7e5f0;border-radius:8px;min-height:44px;padding:10px 22px;font-size:13px;font-weight:550}
.outline-button:hover{border-color:#e03b74;background:#2d153b}
.catalogue>#more{display:block;margin:26px auto 0;min-width:180px;border-color:#b83265;color:#ffd8e7}
.app-banner{background:linear-gradient(145deg,#2b1235,#1b0c24);border:1px solid #4e235c;border-radius:12px;padding:24px;margin-bottom:35px;box-shadow:0 12px 32px rgba(0,0,0,.45)}
.app-banner h2{font-size:22px;font-weight:600;margin:0}
.app-banner .button{margin-top:16px;width:100%}
footer{border-top:1px solid var(--line);padding-top:26px;padding-bottom:35px;display:flex;align-items:center;flex-wrap:wrap;gap:18px}
footer .wordmark{font-size:17px}
.footer-links{display:flex;gap:14px;flex:1;justify-content:flex-end}
.footer-links button{background:none;border:0;font-size:12px;color:var(--muted);padding:0}
footer small{width:100%;font-size:10px;color:var(--muted)}
dialog{color:var(--ink);background:linear-gradient(165deg,#241130,#160a1e);border:1px solid #5c296e;border-radius:14px;padding:22px;max-width:440px;width:calc(100% - 24px);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 25px 90px rgba(0,0,0,.82)}
dialog::backdrop{background:rgba(8,3,12,.82);backdrop-filter:blur(6px)}
.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:11px;letter-spacing:.12em;font-weight:750;color:#ff8bb3}
.modal-top button{border:0;background:none;font-size:28px;line-height:1;width:36px;height:36px;color:#f7e5f0}
dialog h2{font-size:24px;font-weight:600;margin-bottom:12px}
dialog p{font-size:13px;color:var(--muted)}
.stack{display:flex;flex-direction:column;gap:12px}
.stack>p{margin:0}
.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 15px}
.payment-option{background:#23112e;border:1px solid #4d245e;color:#fceef7;border-radius:8px;padding:12px;text-align:left;min-height:60px;font-size:13px;font-weight:600}
.payment-option.card-primary{grid-column:1 / -1;background:linear-gradient(145deg,#2e143d,#210d2c);border-color:#87326c}
.payment-option[aria-pressed=true]{border:2px solid #ff4f8b;background:#351744;box-shadow:0 0 15px rgba(224,59,116,.3)}
.card-brands-panel{background:#1b0c24;border:1px solid #4d235e;border-radius:10px;padding:12px;margin:8px 0 14px}
.card-brands-panel p{font-size:11px;color:#e5cce0;margin:0 0 8px;line-height:1.5}
.brand-badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.brand-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:5px;font-size:10px;font-weight:700;background:#2c143a;border:1px solid #632c75;color:#ffd9ea;letter-spacing:.02em}
.brand-badge.active{background:#635bff;border-color:#8a84ff;color:#fff;box-shadow:0 0 10px rgba(99,91,255,.55)}
.bin-group-grid{display:grid;grid-template-columns:1fr;gap:6px;margin-top:8px}
.bin-row{background:#241130;border:1px solid #482159;border-radius:7px;padding:7px 10px;font-size:11px;color:#f5dff0;display:flex;align-items:center;justify-content:space-between;gap:8px}
.bin-prefix{background:#e03b74;color:#fff;font-weight:800;font-size:10px;padding:2px 7px;border-radius:4px;flex-shrink:0}
.stripe-box{background:#150a1e;border:1px solid #583475;border-radius:12px;padding:16px;margin-top:8px;box-shadow:0 12px 35px rgba(0,0,0,.5)}
.stripe-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #391c4a}
.stripe-badge{background:#635bff;color:#fff;font-weight:800;font-size:11px;padding:4px 10px;border-radius:6px;letter-spacing:.04em;display:inline-flex;align-items:center;gap:5px}
.stripe-amount{font-size:22px;font-weight:800;color:#fff5fb}
.stripe-elements-group{border:1px solid #5d357a;border-radius:8px;overflow:hidden;background:#1b0d26;margin-bottom:12px}
.stripe-field{padding:10px 12px;border-bottom:1px solid #3c1e4f;display:flex;flex-direction:column;gap:4px}
.stripe-field:last-child{border-bottom:0}
.stripe-field label{font-size:11px;color:#c9add8;font-weight:600}
.stripe-field input{border:0;background:transparent;color:#fff;font-size:15px;padding:4px 0;outline:none;width:100%}
.stripe-split{display:grid;grid-template-columns:1fr 1fr}
.stripe-split>.stripe-field:first-child{border-right:1px solid #3c1e4f}
.stripe-pay-button{width:100%;min-height:48px;border:1px solid #7c75ff;border-radius:8px;background:linear-gradient(135deg,#635bff,#4b42d6);color:#fff;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 20px rgba(99,91,255,.4)}
.jrc-card-box{background:#210e2b;border:1px solid #752b58;border-radius:10px;padding:14px;margin:10px 0}
.jrc-amount-pill{border:2px solid #ff4f8b;background:#34153f;color:#fff;border-radius:8px;padding:12px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:space-between;margin:8px 0}
.price-line{font-size:32px;letter-spacing:-.04em;color:#ff6b9d;font-weight:700}
.subtle{font-size:11px!important;color:var(--muted)!important}
.consent{display:flex;gap:10px;font-size:12px;align-items:flex-start;color:#e6cfe0}
.consent input{margin-top:4px;accent-color:#e03b74}
.donation{margin-top:20px;padding:18px;border:1px solid #5c2a6d;border-radius:10px;background:#210f2b}
.donation h3{font-size:18px;margin-bottom:8px}
.donation .button{width:100%}
.donation .outline-button{margin-top:10px;width:100%}
.form-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#ebd5e6}
.form-field input,.form-field select{width:100%;border:1px solid #512563;padding:11px 12px;border-radius:8px;background:#160a1e;color:#fff5fb;min-height:44px;font-size:15px}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 22px;border-radius:8px;background:linear-gradient(135deg,#e03b74,#7d1943);color:white;z-index:200;max-width:calc(100% - 30px);font-size:13px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.6)}
.status{border-left:3px solid #ff4f8b;padding:12px;background:#2b1337;color:#ffeaf3;font-size:13px;border-radius:0 8px 8px 0}
.episode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.episode-grid button{padding:9px 5px;font-size:11px;border:1px solid #4d245e;background:#21102b;color:#f7e5f0;border-radius:6px}
.episode-grid button:hover{border-color:#ff4f8b;background:#341744}
.country-grid{display:grid;gap:12px}
.info-row{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}
.info-row strong{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}

html{background:#08040b;overflow-x:hidden}body{max-width:430px;width:100%;margin:0 auto;min-height:100dvh;overflow-x:hidden;box-shadow:0 0 80px rgba(224,59,116,.18);border-left:1px solid rgba(255,107,157,.14);border-right:1px solid rgba(255,107,157,.14)}
.site-header>.wordmark{flex:1 1 auto}
.header-tools .small{display:none}
#member-bar{padding:10px 18px;background:#281133;border-bottom:1px solid #492059;color:#ff9ec0;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;overflow-wrap:anywhere}
.purchase-context{padding:10px 12px;border-left:3px solid #ff4f8b;background:#2c1438;color:#ffe5f1;font-size:13px;border-radius:0 6px 6px 0}
.signed-in{font-size:12px;color:#ff85b0}
.register-prompt{display:flex;flex-direction:column;gap:10px;margin-top:18px}
#catalogue-empty{color:var(--muted);font-size:13px;text-align:center;padding:25px 0}
#episode-player video{margin:0;border-radius:10px;background:#050208}
.payment-grid:empty{display:none}
#modal-status{padding:12px;margin-bottom:16px;border-radius:6px;border:1px solid #b83b6a;background:#38142c;color:#ffd9e8;font-size:13px;overflow-wrap:anywhere}

.companion-intro{padding:22px 18px;border-radius:12px;background:linear-gradient(145deg,#331438,#4d1b42);border:1px solid #6e2b62;color:#fff4ec;margin:18px 0;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.companion-intro .eyebrow{color:#ff9ebb}
.companion-intro h2{font-size:25px}
.companion-intro p{font-size:13px;color:#f2d9e8}
.companion-genders{display:flex;gap:10px;margin:18px 0}
.companion-genders button{flex:1;padding:10px;border:1px solid #542666;border-radius:20px;background:#1f0e29;color:#f5dff0;font-weight:600}
.companion-genders button[aria-pressed=true]{background:linear-gradient(135deg,#e03b74,#8f1d4c);border-color:#ff5c97;color:white}
.avatar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.avatar-choice{min-width:0;padding:0;overflow:hidden;border:2px solid #3d1c4c;background:#1b0d24;border-radius:10px;text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.45);transition:transform .18s,border-color .18s}
.avatar-choice:hover{transform:translateY(-2px)}
.avatar-choice[aria-pressed=true]{border-color:#ff4f8b;box-shadow:0 6px 22px rgba(224,59,116,.4)}
.avatar-choice img{display:block;width:100%;height:240px;object-fit:cover;object-position:center 18%}
.avatar-choice span{display:block;font-size:12px;padding:10px;line-height:1.4;font-weight:550;color:#fceef7}
.chat-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 10px;flex-wrap:wrap}
.chat-heading img{width:58px;height:58px;object-fit:cover;object-position:center 18%;border-radius:50%;border:2px solid #ff4f8b;flex-shrink:0}
.chat-heading-info{flex:1;min-width:110px}
.chat-heading h3{margin:0 0 4px;display:flex;align-items:center;gap:7px;font-size:18px}
.online-dot{width:9px;height:9px;border-radius:50%;background:#32c471;box-shadow:0 0 8px #32c471aa;display:inline-block}
.chat-heading small{font-size:10px;color:var(--muted)}
.chat-call-actions{display:flex;gap:6px;flex-wrap:wrap}
.call-action-btn{border:1px solid #6e2d63;background:#2b1233;color:#ffb5d0;border-radius:20px;padding:7px 11px;font-size:11px;font-weight:650;display:inline-flex;align-items:center;gap:5px}
.call-action-btn.video{background:linear-gradient(135deg,#e03b74,#8f1d4c);border-color:#ff5c97;color:#fff}
.media-mode-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
.media-pill{border:1px solid rgba(255,150,195,.32);background:rgba(25,9,32,.55);color:#fff4ec;border-radius:10px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;text-align:center;line-height:1.3}
.media-pill small{background:#e03b74;color:#fff;font-size:9px;font-weight:750;padding:1px 6px;border-radius:10px;letter-spacing:.06em}
.companion-media-options{background:#210f2b;border:1px solid #4d235d;border-radius:10px;padding:10px 12px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}
.media-opt-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.opt-label{font-size:11px;font-weight:650;color:#ff8bb3}
.style-chip{border:1px solid #522563;background:#170a1f;color:#e8d0e2;border-radius:14px;padding:4px 10px;font-size:11px}
.style-chip[aria-pressed=true]{background:#e03b74;border-color:#ff6b9d;color:#fff}
.chat-tools{display:flex;gap:16px;margin-bottom:12px}
.chat-tools button{padding:5px 0;background:none;border:0;font-size:12px;color:#ff9ec0;text-decoration:underline}
.chat-messages{height:350px;overflow:auto;overscroll-behavior:contain;background:#160a1f;padding:14px;border-radius:12px;display:flex;flex-direction:column;gap:12px;border:1px solid #431f52}
.chat-bubble{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:90%;padding:12px 15px;margin:0;border-radius:14px;line-height:1.55}
.chat-bubble.user{align-self:flex-end;background:linear-gradient(135deg,#d6356d,#821b46);color:white;border-bottom-right-radius:4px}
.chat-bubble.partner{align-self:flex-start;background:#281336;color:#fceef7;border:1px solid #522663;border-bottom-left-radius:4px}
.chat-welcome{color:#c9a7c2;font-size:13px;font-style:italic}
.typing{font-size:12px;margin:12px 3px;color:#ff85b0}
.typing span{animation:typing-pulse 1s ease-in-out infinite}
.chat-prompts{display:flex;gap:6px;overflow-x:auto;padding:8px 0 4px;margin-top:6px}
.prompt-chip{white-space:nowrap;border:1px solid #5c2869;background:#241030;color:#ffb8d2;border-radius:16px;padding:6px 12px;font-size:12px;transition:background .15s}
.prompt-chip:hover{background:#381847}
.voice-hold-bar{width:100%;margin-top:8px;padding:10px 14px;border:1px dashed #e03b74;border-radius:8px;background:#261030;color:#ff9ec0;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}
#companion-chat-form{display:flex;align-items:flex-end;gap:8px;margin-top:8px}
.mic-button{width:46px;height:46px;border-radius:8px;border:1px solid #632a6e;background:#261030;font-size:19px;display:grid;place-items:center;flex-shrink:0}
#chat-input{font:inherit;font-size:16px;resize:vertical;min-width:0;flex:1;border:1px solid #522563;background:#160a1e;color:#fff5fb;border-radius:8px;padding:12px;max-height:160px}
#companion-chat-form .button{padding:12px 16px;flex-shrink:0}
.companion-media-dialog{max-width:420px;border-color:#6e2d63}
.media-gate-card{display:flex;flex-direction:column;gap:12px}
.media-gate-visual{position:relative;border-radius:10px;overflow:hidden;height:210px;background:#120718}
.media-gate-visual img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:brightness(.92)}
.media-live-badge{position:absolute;bottom:12px;left:12px;background:rgba(32,11,40,.88);color:#fff;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:650;border:1px solid rgba(255,120,175,.4)}
.media-gate-preset{font-size:12px!important;color:#ff8bb3!important;font-weight:600;margin:0}
.media-gate-options{display:flex;flex-direction:column;gap:8px;background:#1d0d26;padding:10px;border-radius:8px;border:1px solid #4a225a}
.option-group small{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}
.chip-row{display:flex;gap:6px;flex-wrap:wrap}
.vip-gate-notice{border-left-color:#ff4f8b;background:#2d1236;color:#ffe6f1}
.vip-exclusive-banner .button{margin-top:12px;width:100%}
.vip-card small{color:#ff6b9d;font-weight:700}
@keyframes typing-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.typing span{animation:none}}

/* V4.4 Figure-4 Standard Stripe Form, Page-B Category Video Cards & Gender-Inclusive 18+ Erotic Stage */
.card-video{display:block;width:100%;height:100%;aspect-ratio:9/16;object-fit:contain;object-position:center center;background:#050208;border-bottom:1px solid #3d1d4a;cursor:pointer}
.card-title-link{cursor:pointer}
.card-ep-bar{display:flex;flex-wrap:wrap;gap:5px;padding:0 12px 12px;margin-top:auto}
.ep-pill{border:1px solid #522563;background:#210e2b;color:#f5dff0;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.ep-pill:hover{background:#381847;border-color:#ff5c97}
.ep-pill.free-ep{background:linear-gradient(135deg,#e03b74,#8f1d4c);border-color:#ff6b9d;color:#fff}

.media-gate-visual.media-gate-erotic-stage{height:auto;min-height:175px;padding:16px;background:radial-gradient(circle at 80% 15%,rgba(224,59,116,.34),transparent 58%),linear-gradient(155deg,#240a2c 0%,#14061a 60%,#2c0d24 100%);border:1px solid #6e2b62;display:flex;flex-direction:column;justify-content:space-between;gap:10px}
.erotic-stage-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.media-gate-erotic-stage .media-live-badge{position:static;display:inline-flex;align-items:center;gap:5px}
.erotic-wave{display:inline-flex;align-items:center;gap:3px;height:16px}
.erotic-wave i{display:inline-block;width:3px;height:12px;border-radius:2px;background:#ff5c97;animation:eroticWave 1.1s ease-in-out infinite}
.erotic-wave i:nth-child(2){height:16px;animation-delay:.18s}
.erotic-wave i:nth-child(3){height:9px;animation-delay:.35s}
.erotic-wave i:nth-child(4){height:15px;animation-delay:.5s}
.erotic-wave i:nth-child(5){height:10px;animation-delay:.68s}
@keyframes eroticWave{0%,100%{transform:scaleY(.55);opacity:.65}50%{transform:scaleY(1.15);opacity:1}}
.erotic-stage-headline{margin:0;font-size:12px!important;font-weight:700;color:#ff9ebb!important;letter-spacing:.03em}
.erotic-stage-quote{margin:0;padding:10px 12px;border-left:3px solid #ff4f8b;background:rgba(15,5,20,.58);border-radius:0 8px 8px 0;font-size:13px;line-height:1.6;color:#fff5fb;font-style:italic}
.erotic-stage-sub{margin:0;font-size:11px!important;line-height:1.45;color:#e6c5da!important}

.avatar-choice.text-desire-card{padding:14px;background:linear-gradient(145deg,#240f30,#16091e);border:1px solid #522461;border-radius:10px;display:flex;flex-direction:column;justify-content:space-between}
.desire-card-body{display:flex;flex-direction:column;gap:6px}
.desire-tag{display:inline-block;align-self:flex-start;font-size:10px!important;padding:2px 8px!important;border-radius:12px;background:rgba(224,59,116,.22);border:1px solid rgba(255,92,151,.45);color:#ff9ebb!important;font-weight:700}
.desire-card-body strong{font-size:14px;color:#fff5fb;line-height:1.35}
.desire-card-body p{margin:0;font-size:12px!important;line-height:1.5;color:#e3bfd7!important;font-style:italic}
.chat-velvet-badge{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#e03b74,#6e163a);border:2px solid #ff7aa8;color:#fff;font-size:13px;font-weight:800;display:grid;place-items:center;flex-shrink:0}

/* Figure 4 Standard Stripe Checkout Layout */
.stripe-std-form{gap:14px}
.stripe-sec-group{display:flex;flex-direction:column;gap:6px}
.stripe-sec-label{font-size:13px;font-weight:650;color:#f5e6f0;letter-spacing:.01em}
.stripe-input-box{background:#ffffff;color:#1a1f36;border:1px solid #d6d9e0;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.stripe-row{display:flex;align-items:center;border-bottom:1px solid #e3e6ec;background:#ffffff;position:relative}
.stripe-row:last-child{border-bottom:0}
.stripe-row input,.stripe-row select{width:100%;border:0!important;background:transparent!important;color:#1a1f36!important;padding:11px 12px!important;font-size:14px!important;line-height:1.35;outline:none;border-radius:0!important;box-shadow:none!important}
.stripe-row input::placeholder{color:#8792a2!important}
.stripe-row input:focus,.stripe-row select:focus{background:#f8fafc!important}
.stripe-row-top input{padding-right:12px!important}
.mini-card-icon{font-size:9px;font-weight:800;padding:2px 4px;border-radius:3px;border:1px solid #d0d5dd;background:#f8fafc;color:#1a1f36;letter-spacing:.02em;transition:transform .15s,border-color .15s,box-shadow .15s}
.mini-card-icon.visa{color:#1434cb;border-color:#b8c4f8}
.mini-card-icon.mc{color:#eb001b;border-color:#f5b8c0}
.mini-card-icon.amex{color:#006fcf;border-color:#a8d5fb}
.mini-card-icon.jcb{color:#0b4ea2;border-color:#b0ccf0}
.mini-card-icon.disc{color:#ff6000;border-color:#ffd0b0}
.mini-card-icon.active{transform:scale(1.1);border-color:#635bff;box-shadow:0 0 0 2px rgba(99,91,255,.25)}
.stripe-row-split{display:grid;grid-template-columns:1fr 1fr}
.stripe-cell{position:relative;display:flex;align-items:center;min-width:0}
.stripe-cell:first-child{border-right:1px solid #e3e6ec}
.stripe-cvc-cell input{padding-right:42px!important}
.cvc-mini-badge{position:absolute;right:10px;font-size:9px;font-weight:700;padding:2px 5px;border-radius:3px;border:1px solid #cbd2d9;background:#f1f5f9;color:#475569;pointer-events:none}
.stripe- official-disclosure,.stripe-official-disclosure{background:#180b22;border:1px solid #4d2766;border-left:3px solid #635bff;border-radius:8px;padding:11px 12px;margin-top:2px}
.stripe-official-head{display:flex;align-items:center;gap:8px;margin-bottom:5px;flex-wrap:wrap}
.stripe-wordmark{background:#635bff;color:#fff;font-weight:800;font-size:11px;padding:2px 7px;border-radius:4px;letter-spacing:.03em;text-transform:lowercase}
.stripe-official-head strong{font-size:12px;color:#e5e0ff}
.stripe-official-disclosure p{margin:0!important;font-size:11px!important;line-height:1.5!important;color:#cbbbd8!important}

/* Language Flag Pill Switcher (Matching Screenshot Style) */
.lang-flag-bar{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;margin:10px 0 6px}
.lang-flag-pill{display:flex;align-items:center;gap:6px;padding:9px 11px;border-radius:10px;border:1px solid #3c2246;background:#190d21;color:#f4e6f0;font-size:12px;font-weight:650;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;text-align:left}
.lang-flag-pill:hover{background:#251230;border-color:#683378}
.lang-flag-pill.active{border:1.5px solid #ff6b9d;background:#26102e;box-shadow:0 0 12px rgba(255,107,157,.25)}
.lang-flag-pill .flag-ico{font-size:14px;line-height:1}
.lang-flag-pill .flag-name{color:#fff5fb;font-weight:700}
.lang-flag-pill .flag-code{color:#9e829c;font-size:11px;font-weight:700;margin-left:1px}
.lang-flag-pill .flag-check{margin-left:auto;color:#ff6b9d;font-weight:800;font-size:13px}

/* Localized Cover Gate & Synchronized Subtitle Overlay (9:16 Mobile Phone Video Mode) */
.card-media-stage{position:relative;width:100%;aspect-ratio:3/4;background:#08030c;overflow:hidden;transition:aspect-ratio .2s ease}
.card-media-stage>img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.card-media-stage>video{width:100%;height:100%;object-fit:contain!important;object-position:center center!important;background:#050208;display:block}
.card.is-playing{grid-column:1 / -1;border-color:#ff4f8b;box-shadow:0 14px 40px rgba(224,59,116,.38)}
.card.is-playing .card-media-stage{aspect-ratio:9/16;width:100%;margin:0 auto;background:#050208}
.card-poster-gate{position:absolute;inset:0;z-index:3;cursor:pointer;background:#160a1d;transition:opacity .22s ease}
.card-poster-gate img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.card-poster-gate[hidden]{display:none!important}
.live-vtt-overlay{position:absolute;left:5%;right:5%;bottom:11%;z-index:4;background:rgba(10,4,15,.94);border:1px solid rgba(255,107,157,.42);color:#fff8fc;font-size:13px;font-weight:700;line-height:1.42;padding:7px 12px;border-radius:8px;text-align:center;pointer-events:none;box-shadow:0 4px 16px rgba(0,0,0,.78);text-shadow:0 1px 3px #000}
.card-media-stage .live-vtt-overlay{font-size:12.5px;bottom:11%;padding:6px 10px}
#episode-player{position:relative;width:100%;aspect-ratio:9/16;background:#050208;border-radius:10px;overflow:hidden;margin:10px auto;border:1px solid #4d245e}
#episode-player video{width:100%;height:100%;object-fit:contain!important;object-position:center center!important;background:#050208;display:block}

/* In-page Google Pay & PayPal Checkout Badges and Buttons */
.stripe-badge.gpay-badge{background:#1f2937;border:1px solid #4b5563;color:#ffffff}
.stripe-badge.paypal-badge{background:#003087;border:1px solid #0070ba;color:#ffffff}
.stripe-wordmark.gpay-wordmark{background:#1f2937;color:#ffffff;text-transform:none}
.stripe-wordmark.paypal-wordmark{background:#003087;color:#ffffff;text-transform:none}
.stripe-pay-button.gpay-pay-btn{background:linear-gradient(135deg,#1f2937,#111827);border-color:#6b7280;box-shadow:0 6px 20px rgba(17,24,39,.5)}
.stripe-pay-button.paypal-pay-btn{background:linear-gradient(135deg,#0070ba,#003087);border-color:#3b82f6;box-shadow:0 6px 20px rgba(0,112,186,.45)}


/* Video Quality First (100% Uncropped HD) & Maximize / Landscape Fullscreen Controls */
.video-fs-toolbar{position:absolute;top:10px;right:10px;z-index:30;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;pointer-events:auto}
.video-fs-btn{border:1px solid rgba(255,107,157,.72);background:rgba(14,5,20,.88);backdrop-filter:blur(8px);color:#fff5fb;border-radius:18px;padding:5px 11px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex;align-items:center;gap:4px;box-shadow:0 4px 14px rgba(0,0,0,.65);cursor:pointer;transition:transform .15s,background .15s,border-color .15s}
.video-fs-btn:hover,.video-fs-btn:active{background:linear-gradient(135deg,#e03b74,#8f1d4c);border-color:#ff8bb3;transform:scale(1.03)}
.video-fs-btn.fs-landscape-btn{background:linear-gradient(135deg,rgba(224,59,116,.92),rgba(130,24,70,.92));border-color:#ff8bb3}
.yeoun-portrait-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#000!important;z-index:99999!important;display:flex!important;align-items:center!important;justify-content:center!important}
.yeoun-portrait-fullscreen>video{width:100%!important;height:100%!important;max-width:100vw!important;max-height:100dvh!important;object-fit:contain!important;object-position:center center!important;background:#000!important}
.yeoun-landscape-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#000!important;z-index:99999!important;display:flex!important;align-items:center!important;justify-content:center!important}
.yeoun-landscape-fullscreen>video{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#000!important}
@media (orientation: portrait){
 .yeoun-landscape-fullscreen{top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;width:100dvh!important;height:100vw!important;transform:translate(-50%,-50%) rotate(90deg)!important}
 .yeoun-landscape-fullscreen>video{width:100%!important;height:100%!important;max-width:100dvh!important;max-height:100vw!important;object-fit:contain!important}
}
dialog.modal-fs-active{max-width:100vw!important;width:100vw!important;max-height:100dvh!important;height:100dvh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#000!important}


.video-wrap.is-playing .video-label,.yeoun-portrait-fullscreen .video-label,.yeoun-landscape-fullscreen .video-label{display:none!important}
.card:not(.is-playing) .video-fs-toolbar{display:none!important}
.yeoun-fs-cover>video{object-fit:cover!important;object-position:center 25%!important}


/* Modal Back Button, Video Seek Controls & Enhanced Member Center */
.modal-top-left{display:flex;align-items:center;gap:8px}
.modal-back-btn{border:1px solid #6e2d63!important;background:#2a1236!important;color:#ffdbed!important;border-radius:16px!important;padding:4px 10px!important;font-size:11px!important;font-weight:700!important;width:auto!important;height:28px!important;display:inline-flex!important;align-items:center;gap:4px;cursor:pointer}
.modal-back-btn:hover{background:#411b52!important;border-color:#ff5c97!important}
.member-summary-card{background:linear-gradient(150deg,#261132,#180a20);border:1px solid #5a286e;border-radius:12px;padding:14px;margin:8px 0 14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.member-summary-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;border-bottom:1px solid rgba(90,40,110,.45);padding-bottom:7px}
.member-summary-row:last-child{border-bottom:0;padding-bottom:0}
.member-summary-row span{color:#c9add8}
.member-summary-row strong{color:#fff5fb;font-weight:700;text-align:right;overflow-wrap:anywhere}
.member-tier-pill{display:inline-block;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:700;background:rgba(224,59,116,.22);border:1px solid #ff5c97;color:#ffb8d2}
.member-tier-pill.vip{background:linear-gradient(135deg,#e03b74,#8f1d4c);color:#fff}
.video-wrap:not(.is-playing) .video-fs-toolbar{display:none!important}


/* === V5.8 Visual Overhaul: Symmetrical 6-Col Category Grid, Zero-Scrollbar Chat Prompts, Authentic PayPal & Google Pay Sheets === */
*{scrollbar-width:thin;scrollbar-color:#5c2869 #160a1f}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:#160a1f}
::-webkit-scrollbar-thumb{background:#5c2869;border-radius:4px}

/* Symmetrical 6-Column Mobile Category Navigation Grid */
#categories.tabs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;overflow: visible!important;margin-bottom:20px!important}
#categories.tabs button{grid-column:span 2;width:100%;min-height:42px;padding:8px 6px!important;border-radius:11px!important;border:1px solid #4e245f!important;background:linear-gradient(160deg,#241130,#180b20)!important;color:#f3dpeb;font-size:12px!important;font-weight:650!important;line-height:1.25!important;white-space:normal!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;box-shadow:0 4px 12px rgba(0,0,0,.35);transition:transform .15s,border-color .15s,box-shadow .15s}
#categories.tabs button:nth-child(4),#categories.tabs button:nth-child(5){grid-column:span 3;min-height:44px;background:linear-gradient(160deg,#2b1338,#1c0c26)!important;border-color:#682c7a!important;font-size:11.5px!important}
#categories.tabs button:hover{border-color:#ff5c97!important;transform:translateY(-1px)}
#categories.tabs button[aria-pressed="true"]{background:linear-gradient(135deg,#e03b74,#8f1d4c)!important;color:#ffffff!important;border-color:#ff7aa8!important;box-shadow:0 6px 18px rgba(224,59,116,.45)!important}

/* Fix White Horizontal Scrollbar on AI Companion Prompts (.chat-prompts) */
.chat-prompts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:hidden!important;padding:8px 0 4px!important;margin-top:8px!important}
.prompt-chip{white-space:normal!important;text-align:left!important;line-height:1.35!important;border:1px solid #5c2869!important;background:linear-gradient(145deg,#261132,#1b0b24)!important;color:#ffd0e3!important;border-radius:10px!important;padding:8px 10px!important;font-size:11.5px!important;font-weight:550!important;display:flex!important;align-items:center!important;min-height:42px}
.prompt-chip:hover{background:#381847!important;border-color:#ff6b9d!important}

/* Opaque Localized Subtitle Box Covering Underlying Video Subtitle Region */
.live-vtt-overlay{position:absolute!important;left:4%!important;right:4%!important;bottom:5.5%!important;min-height:11.5%!important;z-index:12!important;background:rgba(8,3,12,.97)!important;border:1px solid rgba(255,107,157,.45)!important;color:#ffffff!important;font-size:13.5px!important;font-weight:700!important;line-height:1.42!important;padding:8px 12px!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;pointer-events:none!important;box-shadow:0 6px 20px rgba(0,0,0,.85)!important}
.live-vtt-overlay[hidden]{display:none!important}

/* Authentic PayPal In-Page Checkout Sheet */
.paypal-sheet{background:#ffffff;color:#2c2e2f;border-radius:14px;overflow:hidden;border:1px solid #cbd2d6;box-shadow:0 16px 40px rgba(0,0,0,.55);font-family:"Helvetica Neue",Arial,sans-serif}
.paypal-topbar{background:linear-gradient(135deg,#003087 0%,#0070ba 100%);color:#ffffff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.paypal-logo-mark{display:inline-flex;align-items:baseline;font-style:italic;font-weight:900;font-size:21px;letter-spacing:-.03em}
.paypal-logo-mark .pp-1{color:#ffffff}
.paypal-logo-mark .pp-2{color:#60cdff}
.paypal-cart-pill{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:4px 11px;font-size:13px;font-weight:800;color:#ffffff;display:inline-flex;align-items:center;gap:5px}
.paypal-body{padding:16px;display:flex;flex-direction:column;gap:12px;background:#f5f7fa}
.paypal-card-section{background:#ffffff;border:1px solid #d9dde1;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:9px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.paypal-sec-title{font-size:12px;font-weight:700;color:#003087;margin:0;display:flex;align-items:center;justify-content:space-between}
.paypal-input{width:100%;border:1px solid #9da3a6!important;border-radius:6px!important;background:#ffffff!important;color:#2c2e2f!important;padding:10px 12px!important;font-size:14px!important;outline:none!important;transition:border-color .15s,box-shadow .15s}
.paypal-input::placeholder{color:#6c7378!important}
.paypal-input:focus{border-color:#0070ba!important;box-shadow:0 0 0 2px rgba(0,112,186,.2)!important}
.paypal-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.paypal-gold-btn{width:100%;min-height:46px;border:0;border-radius:24px;background:#ffc439;color:#003087;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 4px 12px rgba(255,196,57,.4);cursor:pointer}
.paypal-gold-btn:hover{background:#f2b829}
.paypal-blue-sub{text-align:center;font-size:11px;color:#545d68!important;margin:0!important;line-height:1.45}
.paypal-back-btn{width:100%;min-height:38px;border:1px solid #cbd2d6;border-radius:20px;background:#ffffff;color:#2c2e2f;font-size:12px;font-weight:600;cursor:pointer}

/* Authentic Google Pay (G Pay) Material 3 In-Page Checkout Sheet */
.gpay-sheet{background:#1f1f1f;color:#e3e3e3;border-radius:16px;overflow:hidden;border:1px solid #3c4043;box-shadow:0 16px 42px rgba(0,0,0,.65);font-family:Roboto,Inter,-apple-system,sans-serif}
.gpay-topbar{background:#28292a;padding:14px 16px;border-bottom:1px solid #3c4043;display:flex;align-items:center;justify-content:space-between;gap:10px}
.gpay-logo-wrap{display:inline-flex;align-items:center;gap:6px;background:#ffffff;color:#3c4043;padding:4px 11px;border-radius:18px;font-weight:700;font-size:15px}
.gpay-g-letters{font-weight:900;letter-spacing:-.03em}
.gpay-g-b{color:#4285F4}.gpay-g-r{color:#EA4335}.gpay-g-y{color:#FBBC05}.gpay-g-g{color:#34A853}
.gpay-price-tag{font-size:18px;font-weight:700;color:#ffffff}
.gpay-body{padding:15px;display:flex;flex-direction:column;gap:11px}
.gpay-m3-card{background:#2b2c2f;border:1px solid #444746;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}
.gpay-m3-title{font-size:11.5px;font-weight:700;color:#8ab4f8;margin:0;letter-spacing:.02em;display:flex;align-items:center;justify-content:space-between}
.gpay-input{width:100%;border:1px solid #5f6368!important;border-radius:8px!important;background:#1f1f1f!important;color:#f1f3f4!important;padding:10px 12px!important;font-size:14px!important;outline:none!important}
.gpay-input::placeholder{color:#9aa0a6!important}
.gpay-input:focus{border-color:#8ab4f8!important;box-shadow:0 0 0 2px rgba(138,180,248,.25)!important}
.gpay-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gpay-submit-btn{width:100%;min-height:46px;border:0;border-radius:24px;background:#1a73e8;color:#ffffff;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px rgba(26,115,232,.45);cursor:pointer}
.gpay-submit-btn:hover{background:#1765cc}
.gpay-sec-note{font-size:11px;color:#9aa0a6!important;text-align:center;margin:0!important;line-height:1.45}
.gpay-back-btn{width:100%;min-height:38px;border:1px solid #5f6368;border-radius:20px;background:transparent;color:#e3e3e3;font-size:12px;font-weight:600;cursor:pointer}

/* === MOBILE FIXED BOTTOM NAV (SHORTV STYLE LAYER 1) === */
body{padding-bottom:78px!important}
.site-header .account-menu-wrap,.site-header [data-download],#member-bar{display:none!important}
.site-header{padding:12px 16px!important;z-index:120!important}
.header-tools select#language{max-width:165px;background:#22102d;color:#fceef7;border:1px solid #6b2d80;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.4)}

/* Keep dialog below the fixed bottom navigation bar so bottom nav is ALWAYS on Layer 1 */
dialog[open]:not(.modal-fs-active){
 position:fixed!important;
 inset:12px 12px 74px 12px!important;
 margin:auto!important;
 max-height:calc(100dvh - 88px)!important;
 z-index:9500!important;
}
body:has(dialog[open]:not(.modal-fs-active))::after{
 content:"";
 position:fixed;
 inset:0 0 64px 0;
 background:rgba(8,3,12,.84);
 backdrop-filter:blur(6px);
 -webkit-backdrop-filter:blur(6px);
 z-index:9400;
}

.mobile-bottom-nav{
 position:fixed!important;
 left:0!important;
 right:0!important;
 bottom:0!important;
 height:64px!important;
 padding:4px 8px env(safe-area-inset-bottom,4px)!important;
 background:rgba(14,7,20,.97)!important;
 backdrop-filter:blur(18px)!important;
 -webkit-backdrop-filter:blur(18px)!important;
 border-top:1px solid rgba(255,92,151,.28)!important;
 box-shadow:0 -10px 32px rgba(0,0,0,.82)!important;
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 align-items:center!important;
 z-index:99999!important;
}
.bottom-nav-item{
 appearance:none;
 border:0;
 background:transparent;
 color:#a88eb5;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:3px;
 height:100%;
 padding:4px 6px;
 border-radius:12px;
 cursor:pointer;
 transition:color .18s ease,transform .15s ease,background .18s ease;
 position:relative;
}
.bottom-nav-item:hover{color:#ffd6e7}
.bottom-nav-item.is-active{
 color:#ff3b6b;
}
.bottom-nav-item.is-active .bottom-nav-icon svg{
 filter:drop-shadow(0 2px 8px rgba(255,59,107,.55));
 stroke:#ff3b6b;
}
.bottom-nav-item[data-bottom-tab="vip"].is-active{
 color:#ffbe3d;
}
.bottom-nav-item[data-bottom-tab="vip"].is-active .bottom-nav-icon svg{
 filter:drop-shadow(0 2px 8px rgba(255,190,61,.55));
 stroke:#ffbe3d;
}
.bottom-nav-icon{
 position:relative;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:26px;
 height:24px;
}
.bottom-nav-label{
 font-size:11.5px;
 font-weight:750;
 letter-spacing:.01em;
 line-height:1.15;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
 max-width:100%;
}
.bottom-nav-badge{
 position:absolute;
 top:-4px;
 right:-18px;
 background:linear-gradient(135deg,#ff9a1f,#ff2e63);
 color:#fff;
 font-size:8.5px;
 font-weight:800;
 padding:1px 4px;
 border-radius:999px;
 line-height:1.1;
 letter-spacing:.03em;
 box-shadow:0 2px 6px rgba(255,46,99,.45);
}
.bottom-nav-dot{
 position:absolute;
 top:-2px;
 right:-4px;
 width:8px;
 height:8px;
 border-radius:50%;
 background:#22c55e;
 box-shadow:0 0 0 2px #0e0714;
}
.bottom-nav-dot.is-vip{
 background:#fbbf24;
}

/* VIP Zone Hub Banner inside #catalogue */
.vip-zone-hub{
 margin:0 0 18px;
 padding:16px;
 border-radius:16px;
 background:linear-gradient(145deg,rgba(56,19,74,.96) 0%,rgba(28,11,39,.98) 100%);
 border:1px solid rgba(255,180,67,.48);
 box-shadow:0 14px 34px rgba(0,0,0,.55);
 display:flex;
 flex-direction:column;
 gap:12px;
}
.vip-zone-hub h3{
 margin:0;
 font-size:16px;
 font-weight:800;
 color:#ffe299;
}
.vip-zone-hub p{
 margin:0;
 font-size:12.5px;
 color:#f2d5e6;
 line-height:1.45;
}
.vip-zone-perks{
 display:flex;
 flex-wrap:wrap;
 gap:6px;
}
.vip-zone-perk{
 font-size:11px;
 font-weight:700;
 color:#ffe8b3;
 background:rgba(255,184,48,.14);
 border:1px solid rgba(255,184,48,.35);
 border-radius:999px;
 padding:4px 10px;
}
.vip-zone-actions{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:8px;
}
.vip-zone-cta{
 grid-column:1 / -1;
 background:linear-gradient(135deg,#f59e0b 0%,#ec4899 100%)!important;
 color:#fff!important;
 font-weight:800!important;
 border:0!important;
 border-radius:999px!important;
 padding:11px 16px!important;
 font-size:13.5px!important;
 cursor:pointer;
 box-shadow:0 8px 22px rgba(236,72,153,.4);
}

/* My Center Guest Auth Mode Tabs */
.my-auth-tabs{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:8px;
 margin:10px 0 14px;
}
.my-auth-tab{
 border:1px solid #5a286e;
 background:#21102b;
 color:#e4c5d7;
 border-radius:10px;
 padding:9px 10px;
 font-size:12.5px;
 font-weight:750;
 cursor:pointer;
 text-align:center;
}
.my-auth-tab[aria-pressed="true"]{
 background:linear-gradient(135deg,#ff3b7f,#c92368);
 border-color:#ff85b2;
 color:#fff;
 box-shadow:0 6px 16px rgba(255,59,127,.32);
}

/* === V6 MOBILE-FIRST UX & AUTHENTIC WALLET LOGIN === */
/* 1. Hide ALL top-left Back buttons and top-right X buttons in modals (only keep bottom Back button) */
#modal-back,.modal-back-btn,#modal-close,#media-modal-close{display:none!important}
.modal-top{justify-content:center!important;margin-bottom:14px!important;padding-bottom:8px;border-bottom:1px solid rgba(255,110,168,.16)}

/* 2. Unified thumb-friendly bottom Back button for all modals */
.modal-bottom-back-wrap{margin-top:14px;width:100%}
.modal-bottom-back-btn{
 width:100%!important;
 min-height:44px!important;
 margin-top:10px!important;
 padding:11px 16px!important;
 border-radius:999px!important;
 border:1px solid #6b2d80!important;
 background:rgba(38,16,52,.92)!important;
 color:#ffdbed!important;
 font-size:13.5px!important;
 font-weight:800!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:6px!important;
 cursor:pointer!important;
 box-shadow:0 6px 18px rgba(0,0,0,.42)!important;
}
.modal-bottom-back-btn:hover{background:#3d1952!important;border-color:#ff6ba3!important;color:#fff!important}

/* 3. Top-right compact 2-letter language selector (EN / FR / JP / etc.) */
.header-tools select#language{
 width:auto!important;
 min-width:64px!important;
 max-width:82px!important;
 background:#22102d!important;
 color:#fff!important;
 border:1px solid #75318c!important;
 border-radius:999px!important;
 padding:6px 12px!important;
 font-size:12.5px!important;
 font-weight:800!important;
 letter-spacing:.04em!important;
 text-align:center!important;
 cursor:pointer!important;
}

/* 4. Compact 5-badge card network row */
.card-brands-panel{padding:8px 10px!important;margin:8px 0!important;background:rgba(28,12,38,.7)!important;border-radius:10px!important}
.card-brands-panel .brand-badges{display:flex!important;flex-wrap:wrap!important;gap:6px!important;justify-content:center!important;margin:0!important}
.card-brands-panel .brand-badge{padding:4px 10px!important;font-size:11px!important;font-weight:800!important;border-radius:6px!important}

/* 5. Symmetrical 2-row Episode Selector inside cards (.card-ep-bar) & 4-col modal grid */
.card-ep-bar{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:6px!important;
 width:100%!important;
 margin-top:auto!important;
 padding-top:10px!important;
}
.card-ep-bar .ep-pill{
 width:100%!important;
 min-height:32px!important;
 padding:6px 4px!important;
 border-radius:8px!important;
 font-size:11.5px!important;
 font-weight:750!important;
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 text-align:center!important;
 white-space:nowrap!important;
 background:#241130!important;
 border:1px solid #522366!important;
 color:#f5dceb!important;
}
.card-ep-bar .ep-pill-free{
 background:linear-gradient(135deg,rgba(255,59,127,.24),rgba(184,32,96,.28))!important;
 border-color:#ff5c97!important;
 color:#fff!important;
}
.card-ep-bar .ep-pill-all{
 grid-column:1 / -1!important;
 min-height:34px!important;
 border-radius:9px!important;
 background:linear-gradient(135deg,#351647 0%,#261033 100%)!important;
 border:1px solid #753291!important;
 color:#ffd6ea!important;
 font-size:12px!important;
 font-weight:800!important;
 letter-spacing:.02em!important;
}
.episode-grid{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:8px!important;
 margin-top:12px!important;
}
.episode-grid button{
 min-height:38px!important;
 border-radius:9px!important;
 font-size:12px!important;
 font-weight:750!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 padding:6px 4px!important;
}

/* 6. Authentic PayPal Mobile Login Sheet (Account + Password ONLY) */
.paypal-sheet{
 background:#ffffff!important;
 color:#001435!important;
 border-radius:16px!important;
 overflow:hidden!important;
 border:1px solid #d9e2ec!important;
 box-shadow:0 16px 42px rgba(0,0,0,.5)!important;
}
.paypal-login-Head{
 background:#ffffff!important;
 border-bottom:1px solid #e5eaf0!important;
 padding:16px 18px 12px!important;
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
}
.paypal-logo-mark{font-size:24px!important;font-weight:900!important;font-style:italic!important;letter-spacing:-.03em!important}
.paypal-logo-mark .pp-1{color:#003087!important}
.paypal-logo-mark .pp-2{color:#0070ba!important}
.paypal-cart-pill{background:#f0f6ff!important;color:#003087!important;border:1px solid #bfd8ff!important;border-radius:999px!important;padding:5px 12px!important;font-size:12.5px!important;font-weight:800!important}
.paypal-body{padding:18px!important;display:flex!important;flex-direction:column!important;gap:14px!important}
.paypal-login-title{margin:0!important;font-size:18px!important;font-weight:800!important;color:#001435!important;text-align:center!important}
.paypal-login-sub{margin:-6px 0 4px!important;font-size:12.5px!important;color:#516378!important;text-align:center!important}
.paypal-field-group{display:flex!important;flex-direction:column!important;gap:6px!important}
.paypal-field-label{font-size:12px!important;font-weight:700!important;color:#2c3e50!important}
.paypal-input{
 width:100%!important;
 height:48px!important;
 padding:10px 14px!important;
 border-radius:10px!important;
 border:1.5px solid #9da8b6!important;
 background:#ffffff!important;
 color:#001435!important;
 font-size:15px!important;
}
.paypal-input:focus{border-color:#0070ba!important;box-shadow:0 0 0 3px rgba(0,112,186,.18)!important;outline:none!important}
.wallet-pwd-wrap{position:relative!important;display:flex!important;align-items:center!important}
.wallet-pwd-wrap .paypal-input{padding-right:72px!important}
.wallet-pwd-btn{
 position:absolute!important;
 right:8px!important;
 border:0!important;
 background:transparent!important;
 color:#0070ba!important;
 font-size:12px!important;
 font-weight:800!important;
 padding:6px 8px!important;
 cursor:pointer!important;
}
.paypal-keep-row{display:flex!important;align-items:center!important;gap:8px!important;font-size:12.5px!important;color:#33475b!important;cursor:pointer!important}
.paypal-keep-row input{width:17px!important;height:17px!important;accent-color:#0070ba!important}
.paypal-blue-login-btn{
 width:100%!important;
 min-height:48px!important;
 border-radius:999px!important;
 border:0!important;
 background:#0070ba!important;
 color:#ffffff!important;
 font-size:15px!important;
 font-weight:800!important;
 cursor:pointer!important;
 box-shadow:0 8px 20px rgba(0,112,186,.32)!important;
}
.paypal-blue-login-btn:hover{background:#005ea6!important}
.paypal-back-btn{
 background:#f1f5f9!important;
 color:#003087!important;
 border:1px solid #cbd5e1!important;
 box-shadow:none!important;
}

/* 7. Authentic Google Account / Google Pay Login Sheet (Account + Password ONLY) */
.gpay-sheet{
 background:#202124!important;
 color:#e8eaed!important;
 border-radius:16px!important;
 overflow:hidden!important;
 border:1px solid #3c4043!important;
}
.gpay-login-head{text-align:center!important;padding:4px 0 6px!important}
.gpay-login-title{margin:0 0 4px!important;font-size:18px!important;font-weight:700!important;color:#ffffff!important}
.gpay-login-sub{margin:0!important;font-size:12.5px!important;color:#9aa0a6!important}
.gpay-m3-card{
 background:#28292c!important;
 border:1px solid #3c4043!important;
 border-radius:12px!important;
 padding:14px!important;
 display:flex!important;
 flex-direction:column!important;
 gap:10px!important;
}
.gpay-field-label{font-size:12px!important;font-weight:600!important;color:#8ab4f8!important;margin-bottom:-4px!important}
.gpay-input{
 width:100%!important;
 height:46px!important;
 padding:10px 14px!important;
 border-radius:8px!important;
 border:1px solid #5f6368!important;
 background:#171717!important;
 color:#ffffff!important;
 font-size:14.5px!important;
}
.gpay-input:focus{border-color:#8ab4f8!important;outline:none!important;box-shadow:0 0 0 2px rgba(138,180,248,.22)!important}
.gpay-show-pwd-row{display:flex!important;align-items:center!important;gap:8px!important;font-size:12.5px!important;color:#bdc1c6!important;cursor:pointer!important}
.gpay-show-pwd-row input{width:16px!important;height:16px!important;accent-color:#8ab4f8!important}
.gpay-back-btn{
 background:#303134!important;
 color:#e8eaed!important;
 border:1px solid #5f6368!important;
}

/* 8. Fullscreen video controls at bottom for one-hand mobile reach */
.yeoun-portrait-fullscreen .video-fs-toolbar,
.yeoun-landscape-fullscreen .video-fs-toolbar{
 top:auto!important;
 bottom:70px!important;
 right:auto!important;
 left:50%!important;
 transform:translateX(-50%)!important;
 justify-content:center!important;
 width:max-content!important;
 max-width:94vw!important;
}

/* Compact mobile modal & sticky bottom <- Back button */
dialog[open]:not(.modal-fs-active){
 padding:14px 16px!important;
}
dialog h2{font-size:19px!important;margin-bottom:6px!important}
dialog p{font-size:12.5px!important;margin-bottom:6px!important}
dialog .stack{gap:8px!important}
dialog .form-field{gap:4px!important;font-size:12px!important}
dialog .form-field input,dialog .form-field select{padding:8px 11px!important;font-size:13.5px!important}
dialog .price-line{font-size:26px!important;margin:4px 0!important}
dialog .payment-option{padding:10px 12px!important;font-size:13px!important}
.modal-bottom-back-wrap{
 position:sticky!important;
 bottom:-14px!important;
 margin-top:10px!important;
 padding:8px 0 4px!important;
 background:linear-gradient(180deg,rgba(22,10,30,0) 0%,#180b21 28%)!important;
 z-index:30!important;
}

/* Simplified signed-in account actions. */
.member-account-actions{display:flex;flex-direction:column;gap:12px;padding:12px 0}
.member-account-actions>button{width:100%;min-height:48px;margin:0;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.4;text-align:center}

/* Mobile Subtitle Anti-Overflow & Responsive Sizing */
.live-vtt-overlay{
 left:5%!important;
 right:5%!important;
 bottom:8%!important;
 max-width:90%!important;
 margin:0 auto!important;
 min-height:auto!important;
 padding:7px 11px!important;
 font-size:clamp(12.5px,3.5vw,15px)!important;
 line-height:1.38!important;
 word-break:break-word!important;
 overflow-wrap:anywhere!important;
 white-space:pre-wrap!important;
 box-sizing:border-box!important;
}
.card-media-stage .live-vtt-overlay{
 font-size:clamp(12px,3.3vw,14.5px)!important;
 bottom:9%!important;
}

/* Crisp, uncut Card Title & Synopsis styling */
.card{display:flex!important;flex-direction:column!important}
.card-title-link{
 display:block!important;
 font-size:13px!important;
 font-weight:800!important;
 line-height:1.35!important;
 color:#fff5fb!important;
 margin:8px 8px 4px!important;
 word-break:break-word!important;
}
.card-synopsis{
 display:-webkit-box!important;
 -webkit-line-clamp:3!important;
 -webkit-box-orient:vertical!important;
 overflow:hidden!important;
 font-size:11.5px!important;
 line-height:1.4!important;
 color:#d7b4c9!important;
 margin:0 8px 6px!important;
 word-break:break-word!important;
}

/* === V7 LOCALIZED COVER OVERLAY & FIG-2 CARD META STYLE === */
.cover-poster-overlay{
 position:absolute!important;
 inset:0!important;
 z-index:2!important;
 display:flex!important;
 flex-direction:column!important;
 justify-content:space-between!important;
 pointer-events:none!important;
 background:linear-gradient(180deg,rgba(10,4,16,.55) 0%,rgba(10,4,16,0) 24%,rgba(10,4,16,0) 56%,rgba(12,5,19,.94) 100%)!important;
 padding:8px!important;
}
.cover-ov-top{
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:4px!important;
 width:100%!important;
}
.cover-badge-tl{
 background:linear-gradient(135deg,#e11d74,#be185d)!important;
 color:#ffffff!important;
 border:1px solid rgba(255,190,220,.65)!important;
 border-radius:999px!important;
 padding:2px 8px!important;
 font-size:9.5px!important;
 font-weight:800!important;
 letter-spacing:.02em!important;
 line-height:1.3!important;
 box-shadow:0 2px 8px rgba(0,0,0,.5)!important;
 max-width:72%!important;
 white-space:nowrap!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
}
.cover-badge-tr{
 background:rgba(18,8,26,.85)!important;
 color:#ffd9ec!important;
 border:1px solid rgba(244,114,182,.65)!important;
 border-radius:999px!important;
 padding:2px 7px!important;
 font-size:9.5px!important;
 font-weight:800!important;
 line-height:1.3!important;
}
.cover-play-circle{
 align-self:center!important;
 width:36px!important;
 height:36px!important;
 border-radius:50%!important;
 background:rgba(16,7,24,.68)!important;
 border:1.5px solid rgba(255,150,205,.82)!important;
 color:#fff5fb!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 font-size:13px!important;
 padding-left:2px!important;
 box-shadow:0 4px 14px rgba(0,0,0,.6)!important;
}
.cover-ov-bottom{
 width:100%!important;
 padding:2px 2px 0!important;
}
.cover-ov-title{
 display:-webkit-box!important;
 -webkit-line-clamp:2!important;
 -webkit-box-orient:vertical!important;
 overflow:hidden!important;
 color:#ffffff!important;
 font-size:11.5px!important;
 font-weight:800!important;
 line-height:1.3!important;
 text-shadow:0 1px 4px rgba(0,0,0,.95)!important;
 word-break:break-word!important;
}

/* Fig-2 Card Bottom: Only Film Title + "精选原创 · 全14集" */
.card-title-link{
 display:-webkit-box!important;
 -webkit-line-clamp:1!important;
 -webkit-box-orient:vertical!important;
 overflow:hidden!important;
 font-size:13.5px!important;
 font-weight:800!important;
 line-height:1.35!important;
 color:#ffffff!important;
 margin:9px 10px 2px!important;
}
.card-meta-line{
 display:block!important;
 font-size:11.5px!important;
 font-weight:600!important;
 line-height:1.35!important;
 color:#a88eb5!important;
 margin:0 10px 6px!important;
}
.card-synopsis{display:none!important}

/* === V8 MOBILE ERGONOMICS & TOUCH TARGET POLISH === */
/* 1. Top Header & Language Selector: comfortable thumb tap size */
.header-tools select#language{
 min-height:40px!important;
 min-width:74px!important;
 padding:8px 14px!important;
 font-size:13.5px!important;
 font-weight:800!important;
}

/* 2. Category Tabs (#categories.tabs): bold readable text & 46px min tap height */
#categories.tabs{gap:9px!important;margin-bottom:20px!important}
#categories.tabs button{
 min-height:46px!important;
 padding:9px 8px!important;
 font-size:13px!important;
 font-weight:750!important;
 line-height:1.25!important;
 border-radius:12px!important;
}
#categories.tabs button:nth-child(4),#categories.tabs button:nth-child(5){
 min-height:48px!important;
 font-size:12.5px!important;
}

/* 3. Card Overlay Badges, Card Titles, Card Meta Line & Episode Buttons */
.cover-badge-tl{font-size:10.5px!important;padding:3px 9px!important}
.cover-badge-tr{font-size:10.5px!important;padding:3px 8px!important}
.cover-play-circle{width:40px!important;height:40px!important;font-size:15px!important}
.cover-ov-title{font-size:12.5px!important;line-height:1.32!important}
.card-title-link{
 -webkit-line-clamp:2!important;
 font-size:14px!important;
 font-weight:800!important;
 line-height:1.36!important;
 margin:10px 10px 3px!important;
}
.card-meta-line{
 font-size:12.5px!important;
 font-weight:650!important;
 color:#c4a7d4!important;
 margin:0 10px 8px!important;
}
.card-ep-bar{
 padding:6px 8px 10px!important;
 gap:7px!important;
}
.card-ep-bar .ep-pill{
 min-height:38px!important;
 font-size:12.5px!important;
 font-weight:800!important;
 border-radius:9px!important;
 padding:7px 4px!important;
}

/* 4. Load More Button (#more): full-width 48px high mobile CTA */
#more{
 width:100%!important;
 min-height:48px!important;
 font-size:14.5px!important;
 font-weight:800!important;
 border-radius:12px!important;
 margin-top:18px!important;
 border-width:1.5px!important;
}

/* 5. Video Fullscreen Toolbar Buttons: larger touch targets */
.video-fs-btn{
 min-height:36px!important;
 padding:7px 13px!important;
 font-size:12.5px!important;
 font-weight:800!important;
 border-radius:999px!important;
}

/* 6. AI Companion Touch Targets & Readability */
.companion-genders button{min-height:44px!important;font-size:14px!important;font-weight:750!important;border-radius:12px!important}
.call-action-btn{min-height:38px!important;padding:8px 13px!important;font-size:12.5px!important;font-weight:750!important}
.style-chip{min-height:36px!important;padding:7px 12px!important;font-size:12.5px!important;font-weight:700!important;border-radius:18px!important}
.opt-label{font-size:12.5px!important;font-weight:700!important}
.chat-tools button{min-height:38px!important;padding:7px 14px!important;font-size:12.5px!important;font-weight:700!important;border-radius:10px!important}
.prompt-chip{min-height:44px!important;padding:9px 11px!important;font-size:12.5px!important;line-height:1.38!important}
.voice-hold-bar{min-height:46px!important;font-size:13.5px!important;font-weight:750!important;border-radius:12px!important}
#chat-form textarea{font-size:15px!important;min-height:46px!important;padding:10px 12px!important;border-radius:12px!important}
#chat-form button[type="submit"]{min-height:46px!important;font-size:14.5px!important;font-weight:800!important;border-radius:12px!important}

/* 7. Modals, Forms, Episode Grid & Payment Options (15px inputs prevent mobile iOS/Android auto-zoom) */
dialog .button,dialog .outline-button,.modal-bottom-back-btn{
 min-height:46px!important;
 font-size:14.5px!important;
 font-weight:800!important;
 border-radius:12px!important;
}
dialog .form-field{font-size:13px!important;font-weight:700!important;gap:5px!important}
dialog .form-field input,dialog .form-field select,.stripe-row input,.stripe-row select{
 min-height:44px!important;
 font-size:16px!important;
 padding:10px 12px!important;
}
.episode-grid button{min-height:42px!important;font-size:13px!important;font-weight:800!important;border-radius:10px!important}
.payment-option{min-height:46px!important;font-size:13.5px!important;font-weight:750!important;padding:11px 14px!important;border-radius:11px!important}
.card-brands-panel .brand-badge{font-size:12px!important;padding:5px 11px!important}
.footer-links button{min-height:40px!important;padding:8px 12px!important;font-size:13px!important}

/* 8. Bottom Navigation Bar: 68px height & 12.5px bold labels */
body{padding-bottom:84px!important}
dialog[open]:not(.modal-fs-active){inset:12px 12px 78px 12px!important;max-height:calc(100dvh - 92px)!important}
body:has(dialog[open]:not(.modal-fs-active))::after{inset:0 0 68px 0!important}
.mobile-bottom-nav{height:68px!important;padding:5px 10px env(safe-area-inset-bottom,5px)!important}
.bottom-nav-icon{width:28px!important;height:26px!important}
.bottom-nav-icon svg{width:24px!important;height:24px!important}
.bottom-nav-label{font-size:12.5px!important;font-weight:800!important}
.bottom-nav-badge{font-size:9.5px!important;padding:1px 5px!important;right:-20px!important}

/* === 決済失敗ポップアップ（カード／PayPal／Google Pay 共通） ===
   上部の帯ではなく、dialog の中に重ねる 1 枚のダイアログで出す。
   帯だとシートが押し下げられて入力欄が動くため。 */
.pay-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:18px}
.pay-modal-scrim{position:absolute;inset:0;background:rgba(6,3,10,.74);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:payModalFade .16s ease-out}
.pay-modal-card{position:relative;width:100%;max-width:360px;max-height:calc(100dvh - 36px);overflow:auto;padding:24px 18px 16px;border-radius:18px;border:1px solid #4a2f57;background:#1b1226;box-shadow:0 32px 74px -30px rgba(0,0,0,.94);text-align:center;animation:payModalIn .2s cubic-bezier(.22,1,.36,1)}
.pay-modal-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 auto 12px;border-radius:50%;background:rgba(229,72,77,.16);border:1px solid rgba(255,92,122,.55);color:#ff8b9a;font-size:21px;font-weight:900;line-height:1}
.pay-modal-title{margin:0 0 8px;font-size:16px;font-weight:800;line-height:1.5;color:#fdf7ff;letter-spacing:.01em}
.pay-modal .pay-banner{margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;display:block!important;text-align:left}
.pay-modal .pay-banner-body{display:block!important}
.pay-modal .pay-banner-body strong{color:#f0e3f7!important;font-weight:600;font-size:13.5px;line-height:1.65}
.pay-modal .pay-banner-icon{display:none!important}
.pay-modal-ok{width:100%;height:48px;margin-top:20px;border:0;border-radius:12px;background:linear-gradient(135deg,#e8508c 0%,#c93c74 100%);color:#ffffff;font-size:14px;font-weight:800;letter-spacing:.04em;font-family:inherit;cursor:pointer}
.pay-modal-ok:active{transform:translateY(1px)}
@keyframes payModalIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes payModalFade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.pay-modal-card,.pay-modal-scrim{animation:none}}
.pay-banner-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.pay-banner-body strong{color:#ffe3e8;font-weight:700}
.pay-banner-tail{color:#ffb3c0;font-size:12px;font-weight:600}
.pay-spinner{width:15px;height:15px;flex:0 0 auto;margin-right:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:payspin .7s linear infinite;opacity:.9}
@keyframes payspin{to{transform:rotate(360deg)}}
#stripe-card-form button[type="submit"].is-loading{opacity:.85;cursor:progress;display:flex;align-items:center;justify-content:center}
