/* Acceptance fixes: document scrolling, readable search cards and viewport dialogs. */
/* Search results own the bottom search dock; primary navigation belongs to landing. */
html body #app#app .app.route-ai-search:not(:has(>.nav)){padding-top:0!important;padding-bottom:0!important}
html body #app#app .app .ai-search-main:has(>.ai-search-results){padding-top:0!important;padding-bottom:16px!important}
html body #app#app .app .ai-search-results>.ai-conversation-head{padding-top:env(safe-area-inset-top,0px)!important}
/* Avoid focus zoom on mobile text entry without disabling manual page zoom. */
@media(max-width:600px) and (pointer:coarse){
  html body.ui-a-302 #app#app .app :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,select),
  html body.ui-a-302 :is(.s1-dialog-layer,.ai-region-dialog,.closure-modal-layer) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select){font-size:16px!important}
}
html body #app#app .app .ai-conversation-featured>button[data-ai-cover-layout="landscape"]>:first-child{height:auto!important;max-height:none!important;aspect-ratio:16/9!important}
html body #app#app .app .ai-conversation-featured>button[data-ai-open]{flex:0 0 var(--ai-preview-card-width,calc((100% - 62px)/2))!important;width:var(--ai-preview-card-width,calc((100% - 62px)/2))!important}
/* View action is flush with the right edge of every preview strip. */
html body #app#app .app .ai-conversation-results .ai-answer-panel .ai-featured-wrap>.ai-show-all-card{inset:1px 0 auto auto!important;height:var(--ai-overlay-cover-height,88px)!important;min-height:44px!important;max-height:none!important}
html:has(#app):not(:has(dialog[open],.ai-history-layer,.pv2-overlay,.pv2-rotate-full,.ai-girl-host,.s1-dialog-layer,.closure-modal-layer,[data-playback-access-layer]:not([hidden]),#browse-resume-prompt)),
html:has(#app):not(:has(dialog[open],.ai-history-layer,.pv2-overlay,.pv2-rotate-full,.ai-girl-host,.s1-dialog-layer,.closure-modal-layer,[data-playback-access-layer]:not([hidden]),#browse-resume-prompt)) body{overflow-x:clip!important;overflow-y:visible!important;overscroll-behavior-y:auto!important}
html:has(#app):not(:has(dialog[open],.ai-history-layer,.pv2-overlay,.pv2-rotate-full,.ai-girl-host,.s1-dialog-layer,.closure-modal-layer,[data-playback-access-layer]:not([hidden]),#browse-resume-prompt)){overflow-y:auto!important}
html:has(dialog.ai-region-dialog[open],dialog.ai-book-reader[open],.pv2-overlay),body:has(dialog.ai-region-dialog[open],dialog.ai-book-reader[open],.pv2-overlay){overflow:hidden!important}
html body #app#app .app.route-ai-search,html body #app#app .app .ai-search-main{height:auto!important;max-height:none!important;overflow:visible!important;touch-action:auto}
html body #app#app .app .ai-conversation-head{position:sticky!important;top:var(--app-visible-top,0px)!important;z-index:35!important;margin-top:0!important;background:#101115!important;background-image:none!important;opacity:1!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html body #app#app .app .home-channel-nav{position:sticky!important;top:0!important;z-index:35!important;background:#101115!important}
html body #app#app .app .ai-history-layer{position:fixed!important;inset:0!important;height:100dvh!important;max-height:100dvh!important}
html body #app#app .app .ai-history-layer .ai-history-list{flex:1 1 0!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch}
html body #app#app .app .ai-like-tags{display:flex!important;flex-wrap:wrap!important;width:100%!important;min-width:0!important;gap:8px!important;overflow:visible!important;box-sizing:border-box}
html body #app#app .app .ai-like-tags button{max-width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;box-sizing:border-box}
html body #app#app .app .ai-video-meta{display:flex!important;justify-content:space-between;flex-wrap:wrap;gap:3px 8px;min-height:24px!important;height:auto!important;padding:3px 6px!important;margin:0!important;font-size:11px!important;line-height:18px;color:#c2c4cd!important;box-sizing:border-box}
html body #app#app .app .ai-conversation-featured>button[data-ai-open] img,
html body #app#app .app .ai-full-results [data-ai-open]>img,
html body #app#app .app .ai-full-movie-card img{object-fit:contain!important;background:#14171b!important}
/* Keep padding outside the clamped text box so a third line cannot paint in it. */
html body #app#app .app .ai-conversation-featured>button[data-ai-open]>:nth-child(2){display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;box-sizing:border-box!important;min-width:0!important;width:calc(100% - 12px)!important;margin:5px 6px!important;padding:0!important;font-size:13px!important;line-height:19px!important;height:38px!important;min-height:38px!important;max-height:38px!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body #app#app .app .pv2-page:not(.pv2-home-portrait):not(.pv2-page-full):not(.pv2-rotate-full)>.pv2-stage{position:sticky!important;top:0!important;z-index:40!important}
html body #app#app .app .pv2-head{z-index:60!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
html body #app#app .app .pv2-long-stats{display:flex!important;flex-wrap:wrap!important;gap:12px 16px!important;align-items:center!important;margin-block:14px!important}
html body #app#app .app .pv2-long-stats button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-height:42px!important;padding:8px 4px!important}
html body #app#app .app .pv2-long-tags button{border:1px solid #65563b;border-radius:16px;padding:6px 10px;min-height:36px;background:#25211b;color:#ebd2a1;cursor:pointer}
html body #app#app .app .pv2-overlay{position:fixed!important;inset:0!important;height:100dvh!important;z-index:200000!important;display:block!important;isolation:isolate;pointer-events:auto!important}
html body #app#app .app .pv2-overlay .pv2-backdrop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;background:#0009!important}
html body #app#app .app .pv2-overlay .pv2-sheet{display:block!important;position:absolute!important;inset:auto 0 0!important;z-index:1!important;max-height:75dvh!important;width:min(100%,620px)!important;margin:0 auto!important;overflow-y:auto!important;touch-action:pan-y!important;box-sizing:border-box!important;transform:none!important}
html body .playback-access-layer{align-items:center!important;justify-content:center!important;padding:20px!important}
html body .playback-access-dialog{border-radius:18px!important;max-height:80dvh!important;width:min(100%,420px)!important;overflow-y:auto}
html body .pv2-share-qr img{display:block;width:min(220px,100%);height:auto;margin:12px auto;background:#fff}

/* Keep catalogue recovery reachable without blocking navigation or dialogs. */
#asset-service-notice{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:150;box-sizing:border-box;max-width:calc(100vw - 24px);width:max-content;display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #b89b57;border-radius:10px;background:#151511ed;color:#f1e2bd;font-size:13px;box-shadow:0 3px 14px #0006;}
#asset-service-notice button{flex-shrink:0;border:0;border-radius:6px;padding:7px 10px;background:#e6c16d;color:#211904;font:inherit;cursor:pointer;}

/* A visible indeterminate state while the checkout request is pending. */
html body .s1-dialog .rc-payment-progress{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;gap:10px!important;min-height:80px!important;padding:16px!important;border-radius:16px!important;background:#f2edff!important;color:#6544dc!important;opacity:1!important}
html body .s1-dialog .rc-payment-progress strong{color:#6544dc!important;font-size:18px!important;line-height:1.5!important}
html body .s1-dialog .rc-payment-progress small{flex-basis:100%!important;text-align:center!important;color:#70628e!important;font-size:13px!important}
html body .s1-dialog .rc-payment-spinner{display:inline-block!important;width:24px!important;height:24px!important;border:3px solid #d8cbff!important;border-top-color:#7048ed!important;border-radius:50%!important;animation:rc-payment-spin .8s linear infinite!important}
@keyframes rc-payment-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){html body .s1-dialog .rc-payment-spinner{animation-duration:2s!important}}

/* Show pending seeks without blocking further controls; instant seeks never flash. */
html body #app .pv2-seek-feedback{position:absolute!important;z-index:12!important;left:50%!important;top:45%!important;transform:translate(-50%,-50%)!important;display:flex!important;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:#111d;color:#fff;max-width:85%;white-space:nowrap;pointer-events:none!important;font-size:14px;opacity:0;animation:pv2-seek-show .1s .15s forwards}
html body #app .pv2-seek-feedback[hidden]{display:none!important}
html body #app .pv2-seek-feedback i{width:20px;height:20px;border:2px solid #ffffff55;border-top-color:#efd08a;border-radius:50%;animation:rc-payment-spin .8s linear infinite}
@keyframes pv2-seek-show{to{opacity:1}}
@media(prefers-reduced-motion:reduce){html body #app .pv2-seek-feedback i{animation-duration:2s}}

/* Search cover frames use two fixed shapes, independent of the loaded image. */
html body #app#app .app .ai-conversation-results .ai-answer-panel .ai-conversation-featured>button[data-ai-open]{--ai-fixed-cover-ratio:3/4;grid-template-rows:auto auto!important}
html body #app#app .app .ai-conversation-results .ai-answer-panel .ai-conversation-featured>button[data-ai-open]:is(.is-landscape,[data-ai-cover-layout="landscape"]){--ai-fixed-cover-ratio:16/9}
html body #app#app .app .ai-conversation-results .ai-answer-panel .ai-conversation-featured>button[data-ai-open]>:first-child{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:var(--ai-fixed-cover-ratio)!important}
html body #app#app .app .ai-conversation-results .ai-answer-panel .ai-conversation-featured>button[data-ai-open]>:first-child>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important}
html body #app#app .app .ai-full-results .ai-full-movie-card[data-ai-cover-layout="landscape"]>:is(img,.ai-cover-empty,.ai-cover-lock){display:block!important;box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important}
html body.ui-a-302 #app#app .app .ai-full-results .ai-short-card :is(.ai-short-cover,.ai-cover-lock){height:260px!important;min-height:260px!important;max-height:260px!important;aspect-ratio:auto!important}

html body #app#app .app .ai-search-results:has(>.ai-conversation-head){padding-top:0!important}
html body .ios-cashier-panel{position:fixed;z-index:200100;left:var(--app-visible-left,0px);top:var(--app-visible-top,0px);width:var(--app-visible-width,100vw);height:var(--app-visible-height,100dvh);display:flex;flex-direction:column;box-sizing:border-box;background:#101115;color:#f5f5f7;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);overscroll-behavior:contain}
html body .ios-cashier-panel>header{flex:none;display:flex;align-items:center;gap:12px;min-height:52px;padding:4px 12px;box-sizing:border-box;background:#101115}
html body .ios-cashier-panel button{min-height:44px;min-width:64px;padding:8px 12px;border:1px solid #aa945d88;border-radius:10px;background:#191b1e;color:#f1dcab;font:16px system-ui;cursor:pointer}
html body .ios-cashier-panel>header strong{flex:1;text-align:center;font:600 18px system-ui}
html body .ios-cashier-panel>iframe{flex:1 1 0;width:100%;min-height:0;border:0;background:white}
html body .ios-cashier-panel>footer{flex:none;padding:8px 12px;background:#101115;font:13px/1.5 system-ui;text-align:center}
html body .ios-cashier-panel [role=status]{margin:0 0 6px;color:#ddd}
html body .ios-cashier-panel>footer button{font-size:14px;margin:0 4px}

/* Bring navigation closer to the bottom without shrinking its touch targets. */
body.ui-a-302{--a-nav-height:67px;--a-nav-safe-bottom:0px}
html body.ui-a-302 #app .app>.nav{height:var(--a-nav-height)!important;padding-top:0!important;padding-bottom:0!important}
html body.ui-a-302 #app .app>.nav>button{justify-content:flex-end!important;padding-bottom:2px!important}
html body.ui-a-302 #app .app:has(>.nav)>main:not(.s1-girl):not(.closure-player-page):not(.pv2-page):not(.hub-player-page):not(.home-v260){padding-bottom:calc(var(--a-nav-height) + 18px + var(--a-nav-safe-bottom))!important}

/* A single payment view and a color-only bottom navigation. */
html body.ui-a-302 #app .app>.nav>button:is(.active,[aria-current="page"])::before{content:none!important;display:none!important}
html body .simple-payment-layer{left:var(--app-visible-left,0px)!important;top:var(--app-visible-top,0px)!important;width:var(--app-visible-width,100vw)!important;height:var(--app-visible-height,100dvh)!important;box-sizing:border-box;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)!important}
html body.ui-a-302 .s1-dialog-layer.simple-payment-layer .s1-dialog.simple-payment-dialog{display:flex!important;flex-direction:column!important;box-sizing:border-box;width:min(100%,480px)!important;max-width:100%!important;max-height:100%!important;min-height:0!important;padding:0!important;margin:auto!important;overflow:hidden!important;background:#101115!important;border-radius:16px!important}
html body.ui-a-302 .s1-dialog-layer.simple-payment-layer .s1-dialog.simple-payment-dialog.is-ready{height:100%!important;border-radius:0!important}
html body.ui-a-302 .s1-dialog-layer.simple-payment-layer .s1-dialog.simple-payment-dialog>header{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:none;min-height:54px!important;margin:0!important;padding:0 110px!important;background:#101115!important}
html body.ui-a-302 .s1-dialog-layer.simple-payment-layer .s1-dialog.simple-payment-dialog>header h2{font-size:18px!important;margin:0!important}
html body.ui-a-302 .s1-dialog-layer.simple-payment-layer .s1-dialog.simple-payment-dialog>header [data-s1-action=close]{position:absolute!important;inset:5px auto 5px 8px!important;width:auto!important;min-width:92px!important;height:44px!important;margin:0!important;padding:0 8px!important;border:0!important;background:none!important;color:#ebce8e!important;font:15px system-ui!important;white-space:nowrap!important}
html body .simple-payment{min-height:0;padding:16px!important;overflow:auto!important}
html body .simple-payment.is-ready{display:flex;flex:1;flex-direction:column;padding:0!important;overflow:auto!important}
html body .simple-cashier{display:flex;flex:1;flex-direction:column;min-height:0}
html body .simple-cashier>iframe{display:block;flex:1 1 0;width:100%;min-height:160px;border:0;background:white;color-scheme:light}
html body .simple-cashier>p,html body .simple-payment-note{flex:none;margin:8px 12px!important;font:12px/1.5 system-ui!important;color:#adafa9;text-align:center}
html body .simple-cashier>details{flex:none;padding:0 12px 8px;font:13px/1.5 system-ui;text-align:center}
html body .simple-cashier summary{cursor:pointer;color:#ebce8e;min-height:28px}
html body .simple-cashier details button{min-height:44px;margin:6px;padding:8px 12px;font:14px system-ui;color:#ebce8e;background:#191b1e;border:1px solid #aa945d88;border-radius:8px}
html body .simple-payment .s1-pay-result{padding:12px;font:14px/1.6 system-ui;text-align:center}
html body .simple-payment [data-payment-qr]{max-width:220px;margin:16px auto;background:white;color:#333}
html body .simple-payment .s1-pay-result small{display:block;margin:12px 0}

html body.ui-a-302 .s1-dialog.simple-payment-dialog>header h2::before{display:none!important}

/* Keep iOS root scrolling and rubber-band overscroll outside search results.
   Header, query dock and safe areas are siblings of the clipped scroll owner. */
html:has(#app#app#app .app.route-ai-search .ai-results-scroll),
html:has(#app#app#app .app.route-ai-search .ai-results-scroll) body{height:100%!important;overflow:hidden!important;overscroll-behavior:none!important;background:#101115!important}
html:has(#app#app#app .app.route-ai-search .ai-results-scroll) body{position:fixed!important;inset:0!important;width:100%!important;margin:0!important}
html body #app#app .app.route-ai-search:has(.ai-results-scroll){height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;background:#101115!important}
html body #app#app .app.route-ai-search .ai-search-main:has(.ai-results-scroll){position:fixed!important;left:var(--app-visible-left,0px)!important;top:var(--app-visible-top,0px)!important;width:var(--app-visible-width,100vw)!important;height:var(--app-visible-height,100dvh)!important;max-height:var(--app-visible-height,100dvh)!important;min-height:0!important;box-sizing:border-box!important;margin:0!important;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)!important;overflow:hidden!important;background:#101115!important;isolation:isolate}
html body #app#app .app .ai-search-results:has(>.ai-results-scroll){display:flex!important;flex-direction:column!important;gap:0!important;box-sizing:border-box!important;width:100%!important;max-width:480px!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0 auto!important;padding:0 12px!important;overflow:hidden!important;background:#101115!important}
html body #app#app .app .ai-search-results:has(>.ai-results-scroll)>.ai-conversation-head{position:relative!important;top:auto!important;flex:0 0 auto!important;min-height:52px!important;height:52px!important;margin:0!important;padding:0!important;background:#101115!important;z-index:2!important}
html body #app#app .app .ai-results-scroll{flex:1 1 0!important;min-height:0!important;width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:none!important;contain:paint;touch-action:pan-x pan-y;scrollbar-width:none;padding:8px 0 16px!important;background:#101115!important}
html body #app#app .app .ai-results-scroll::-webkit-scrollbar{display:none}
html body #app#app .app .ai-search-results:has(>.ai-results-scroll)>:is(.ai-search-bottom-dock,.ai-followup-dock){position:relative!important;inset:auto!important;transform:none!important;flex:0 0 auto!important;width:100%!important;max-height:55%!important;overflow-y:auto!important;overscroll-behavior:none!important;margin:0!important;background:#111316!important;background-image:none!important;opacity:1!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:2!important}
html body #app#app .app .ai-history-underlay:has(.ai-results-scroll){height:100%!important;overflow:hidden!important}

/* Access prompts belong to this player; navigation and detail actions stay reachable. */
html body #app .pv2-stage>.playback-access-layer{position:absolute!important;inset:36px 6px 36px!important;z-index:28!important;display:flex;padding:2px!important;min-width:0;min-height:0;overflow:auto;background:transparent!important;border-radius:12px;box-sizing:border-box;overscroll-behavior:contain;pointer-events:none}
html body #app .pv2-stage>.playback-access-layer[hidden]{display:none!important}
html body #app .pv2-stage .playback-access-dialog{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:480px!important;max-height:100%!important;margin:auto!important;padding:4px 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;overflow:auto!important;box-sizing:border-box;pointer-events:auto}
html body #app .pv2-stage .playback-access-dialog>header{position:absolute!important;right:0;top:0;margin:0!important;letter-spacing:normal}
html body #app .pv2-stage .playback-access-dialog>header small{display:none!important}
html body #app .pv2-stage .playback-access-dialog>header button{min-height:22px!important;height:22px!important;min-width:22px;padding:0 6px!important}
html body #app .pv2-stage>.playback-access-layer .ui-prompt-body{width:100%;max-width:480px;margin:auto;text-align:center;pointer-events:auto}
html body #app .pv2-stage>.playback-access-layer h2{font-size:16px!important;line-height:1.3!important;margin:2px 0!important;color:#f5dfaa!important}
html body #app .pv2-stage>.playback-access-layer p{font-size:12px!important;line-height:1.4!important;margin:4px 0!important}
html body #app .pv2-stage>.playback-access-layer footer{display:flex!important;gap:10px!important;margin:6px 0 0!important;flex-wrap:wrap}
html body #app .pv2-stage>.playback-access-layer footer button{flex:1 1 100px!important;min-height:32px!important;padding:4px 8px!important;border-radius:24px!important;font-size:14px!important;line-height:1.3!important}
html body #app .pv2-stage>.playback-access-layer [data-ui-action="recharge:vip"]{background:linear-gradient(135deg,#ffe9b0 0%,#edce89 48%,#c79b53 100%)!important;color:#1a1709!important;border:1px solid #dfc181!important;text-shadow:none!important}
html body #app .pv2-stage>.playback-access-layer .ui-coin-vip-hint{font-size:11px!important}
html body #app .pv2-stage>.playback-access-layer .ui-prompt-body :is(h2,p,small){display:block;background:transparent!important;color:#fff8e8!important;text-shadow:0 1px 3px #000,0 0 8px rgba(0,0,0,.6)!important;margin:0!important;padding:5px 10px!important;box-sizing:border-box}
html body #app .pv2-stage>.playback-access-layer .ui-prompt-body h2{color:#ffe4b0!important;font-weight:800!important;padding-top:8px!important}
/* Dim only the cover/video while the inline prompt is open; keep its actions and navigation crisp. */
html body #app .pv2-stage.pv2-access-open>.pv2-error-cover,html body #app .pv2-stage.pv2-access-open>.pv2-video{filter:brightness(.42)!important}
html body #app .pv2-stage>.playback-access-layer footer button:not([data-ui-action="recharge:vip"]):not([data-pv2-action="recharge-vip"]){background:transparent!important;border:1px solid #e6bf72!important;color:#ffe4b0!important;text-shadow:0 1px 3px #000}
html body #app .pv2-stage>.playback-access-layer [data-pv2-action="recharge-vip"]{background:linear-gradient(135deg,#ffe9b0 0%,#edce89 48%,#c79b53 100%)!important;color:#1a1709!important;border:1px solid #dfc181!important;text-shadow:none!important}
html body .playback-access-layer .ui-prompt-body [data-ui-action="recharge:vip"],html body .ui-entitlement-dialog .ui-prompt-body [data-pv2-action="recharge-vip"]{background:linear-gradient(135deg,#ffe9b0 0%,#edce89 48%,#c79b53 100%)!important;color:#1a1709!important;border:1px solid #dfc181!important;text-shadow:none!important;font-weight:700!important}
html body #app .pv2-stage.pv2-access-open>.pv2-center-play{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
/* Give the membership warning an unmistakable, full-width action. */
html body #app .app .ai-member-result .ai-member-warning{padding:24px 12px 18px!important}
html body #app .app .ai-member-result .ai-member-warning h2{color:#ff9f0b!important;margin-bottom:18px!important}
html body #app .app .ai-member-result .ai-member-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:8px 14px 20px!important}
html body #app .app .ai-member-result .ai-member-actions button{display:block!important;flex:none!important;width:100%!important;max-width:none!important;min-height:44px!important;height:auto!important;padding:10px 16px!important;border-radius:24px!important}
html body #app .app .ai-member-result .ai-member-actions [data-ai-member-recharge]{background:#e8c982!important;color:#241b0b!important;font-weight:700!important}

/* Match the embedded provider to the actual app navigation edge, including safe-area changes. */
html body #app#app .app>main.ai-girl-host{height:var(--ai-girl-frame-height,calc(var(--app-viewport) - var(--ai-girl-nav-height,var(--app-nav))))!important;min-height:0!important;max-height:none!important;padding:0!important;margin:0!important}
html body #app#app .app>main.ai-girl-host>.ai-girl-frame{display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important}

/* Do not flash the purchase introduction while checking an explicit girlfriend entry. */
html body #app .s1-girl[data-girl-checking="true"] .s1-girl-copy{visibility:hidden!important}

/* Half-second viewing-line feedback, centered without a full-stage backdrop. */
.catalog-pending{grid-column:1/-1;width:100%;padding:4px 0 20px;box-sizing:border-box;text-align:center;color:#bdb8aa;font-size:13px}
.catalog-pending-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.catalog-pending-grid i{display:block;aspect-ratio:2/3;min-height:110px;border-radius:10px;background:linear-gradient(135deg,#25262b,#1b1c20);border:1px solid #ffffff0a}
.catalog-pending p{margin:14px 0 8px}.catalog-pending-error{padding:32px 12px}.catalog-pending-error button{border:1px solid #b79d61;border-radius:18px;padding:8px 18px;background:#23201b;color:#efd18d}
.pv2-line-status{position:absolute;z-index:45;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:#f4d795;font-size:15px;font-weight:700;line-height:1.4;white-space:nowrap;pointer-events:none;text-shadow:0 1px 4px #000,0 0 8px #000}
.pv2-line-status i{display:block;box-sizing:border-box;width:34px;height:34px;border:3px solid #f4d79555;border-top-color:#f4d795;border-right-color:#f4d795;border-radius:50%;animation:pv2-switch-spin .65s linear infinite;filter:drop-shadow(0 1px 3px #000)}
html body #app .pv2-line-switching .pv2-center-play,html body #app .pv2-line-switching .pv2-seek-feedback{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(prefers-reduced-motion:reduce){.pv2-line-status i{animation:none}}

/* Compact account header; film and AI memberships retain their side-by-side layout. */
html body.ui-a-302 #app#app .mine-gold-profile.account-profile-card{padding:12px!important;margin:12px 0 14px!important;border:1px solid #b79d61!important;border-radius:18px!important;background:linear-gradient(125deg,#232326,#141519 72%)!important;box-shadow:inset 0 0 0 1px #eed48a26!important;grid-template-columns:44px minmax(0,1fr) auto!important;gap:8px!important}
html body.ui-a-302 #app#app .mine-gold-profile.account-profile-card .mine-gold-avatar{width:44px!important;height:44px!important;min-width:0!important}
html body.ui-a-302 #app#app .mine-gold-profile.account-profile-card .mine-gold-login{padding:8px 10px!important;font-size:11px!important;white-space:nowrap!important}
html body.ui-a-302 #app#app .mine-profile-membership{grid-column:1/-1!important;min-width:0!important;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:0;padding-top:8px;border-top:1px solid #ddc27d26}
html body.ui-a-302 #app#app .mine-profile-membership[hidden]{display:none!important}
html body.ui-a-302 #app#app .mine-profile-membership-row{min-width:0!important;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 8px}
html body.ui-a-302 #app#app .mine-profile-member-type{font-size:11px!important;line-height:16px!important;color:#b8b4aa!important;white-space:nowrap}
html body.ui-a-302 #app#app .mine-profile-membership-row strong{font-size:15px!important;line-height:20px!important;color:#efd996!important;font-weight:650!important;overflow-wrap:anywhere;min-width:0}
html body.ui-a-302 #app#app .mine-profile-membership-row[data-profile-plan-kind="ai"] strong{color:#d5c8f3!important}
html body.ui-a-302 #app#app .mine-profile-membership-row small{grid-column:1/-1;display:block!important;font-size:11px!important;line-height:16px!important;color:#a9adb7!important;overflow-wrap:anywhere}
html body.ui-a-302 #app#app .mine-profile-membership.has-multiple-memberships{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html body.ui-a-302 #app#app .has-multiple-memberships .mine-profile-membership-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
html body.ui-a-302 #app#app .has-multiple-memberships .mine-profile-membership-row:nth-child(even){border-left:1px solid #ddc27d26;padding-left:10px}
@media(max-width:350px){
 html body.ui-a-302 #app#app .mine-gold-profile.account-profile-card{padding:10px!important;gap:8px!important}
 html body.ui-a-302 #app#app .mine-gold-profile.account-profile-card .mine-gold-login{padding:8px!important}
}

/* Feature notices share the player prompt's transparent surface and dimmed page. */
html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate{box-sizing:border-box!important;width:min(94vw,460px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 28px)!important;margin:auto!important;padding:18px 12px!important;border:0!important;border-radius:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;overflow:auto!important;color:#fff!important;text-align:center!important}
html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate::backdrop{background:rgba(0,0,0,.65)!important;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}
html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate [data-feature-notice]{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate h2{margin:0 0 24px!important;color:#fff!important;font-size:24px!important;line-height:1.35!important;font-weight:600!important;text-shadow:0 2px 5px #0009!important}
html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate p{margin:0!important;padding:0!important;color:#fff!important;font-size:clamp(17px,4.7vw,21px)!important;line-height:1.55!important;text-shadow:0 2px 5px #0009!important}
html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate .ai-feature-name b{color:#ff477b!important;font-weight:800!important}
html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate .ai-feature-plans{display:block!important;margin:20px 0!important;color:#ffad00!important;font-size:clamp(23px,6.3vw,29px)!important;font-weight:800!important;line-height:1.4!important;overflow-wrap:anywhere!important;text-shadow:0 2px 5px #0009!important}
html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate footer{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin:26px 0 0!important;padding:0!important;background:transparent!important}
html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate footer button{min-width:0!important;min-height:46px!important;padding:9px 12px!important;border-radius:999px!important;font-size:20px!important;line-height:1.3!important;font-weight:700!important;text-shadow:none!important;color:#fff!important}
html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate footer .ai-feature-primary{color:#211b08!important;background:linear-gradient(135deg,#ffe9b0 0%,#edce89 48%,#c79b53 100%)!important}
@media(max-height:480px){html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate{padding-block:12px!important}html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate h2{margin-bottom:12px!important}html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate .ai-feature-plans{margin-block:12px!important}html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate footer{margin-top:16px!important}}
html body.ui-a-302 dialog.ai-feature-gate.ai-transparent-feature-gate .global-welfare{display:none!important}

/* Reading details preserve the complete cover, including portrait and square art. */
html body dialog.ai-book-reader .ai-book-hero{height:auto!important;min-height:0!important;overflow:visible!important}
html body dialog.ai-book-reader .ai-book-hero>img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:60vh!important;object-fit:contain!important;object-position:center!important;margin:0 auto!important}
html body dialog.ai-book-reader .ai-book-hero::after{display:none!important}
html body dialog.ai-book-reader .ai-book-hero>div{position:relative!important;inset:auto!important;margin:12px 12px 0!important}

/* VIP line switching uses a page-level prompt, separate from the video stage. */
html body.ui-a-302 dialog.ui-entitlement-dialog.pv2-line-membership{width:min(490px,calc(100vw - 24px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:20px 18px 18px;border:1px solid #e4e4e8;border-radius:14px;background:#fff!important;color:#111!important;box-shadow:0 18px 70px #0006;text-align:center;overflow:auto}
html body.ui-a-302 dialog.pv2-line-membership::backdrop{background:#0009}
html body.ui-a-302 dialog.pv2-line-membership .ui-prompt-body h2{margin:0 0 24px;font-size:clamp(24px,6vw,32px);line-height:1.4;color:#ff4081!important}
html body.ui-a-302 dialog.pv2-line-membership .ui-prompt-body p{margin:12px 0;font-size:clamp(18px,4.8vw,28px);font-weight:700;line-height:1.65;color:#111!important}
html body.ui-a-302 dialog.pv2-line-membership .ui-prompt-body strong{color:#ff4081!important}
html body.ui-a-302 dialog.pv2-line-membership .ui-prompt-body footer{display:flex;gap:12px;margin-top:34px}
html body.ui-a-302 dialog.pv2-line-membership .ui-prompt-body footer button{flex:1;min-width:0;min-height:46px;padding:12px 8px;border:1px solid #b99a5d!important;border-radius:28px;background:#15161b!important;color:#f5f5f7!important;font-size:clamp(18px,4.5vw,24px);font-weight:700;line-height:1.2}
html body.ui-a-302 dialog.pv2-line-membership .ui-prompt-body footer [data-pv2-action="recharge-vip"]{background:linear-gradient(135deg,#ffe9b0 0%,#edce89 48%,#c79b53 100%)!important;color:#1a1709!important}
