/* Load after customer.css / h5-deep-compact.css, or join.css.
   Scope is the customer portal, V1 commerce sheets and the mobile join form. */

/* Orders: quiet references first; the existing current-state action is last in
   the DOM (h5-action-layout.js), with cancellation separated from that action. */
body:has(#portal) #portal .mobile-order > .order-footer {
  align-items:center;
  gap:6px;
}
body:has(#portal) #portal .mobile-order > .order-footer > :is(button,a) {
  min-height:44px;
  line-height:1.4;
  white-space:normal;
}
body:has(#portal) #portal .mobile-order > .order-footer > :is([data-detail],[data-tracking]) {
  padding-inline:8px;
  background:transparent;
  border-color:transparent;
  color:#657b96;
}
body:has(#portal) #portal .mobile-order > .order-footer > [data-refund] {
  background:#fff;
  border-color:#dce5f0;
  color:#426082;
}
body:has(#portal) #portal .mobile-order > .order-footer > [data-cancel] {
  margin-inline:8px auto;
  background:#fff;
  border-color:#e8d7dc;
  color:#a64054;
}
body:has(#portal) #portal .mobile-order > .order-footer > .solid {
  margin-inline-start:auto;
  min-width:92px;
  padding-inline:14px;
  font-weight:650;
}

/* Cart: removal is distinct from quantity; submit owns the form action row. */
body:has(#portal) #portal .customer-cart-actions {
  flex-wrap:wrap;
  column-gap:14px;
}
body:has(#portal) #portal .customer-cart-actions > [data-remove]:not(:disabled) {
  margin-inline-start:auto;
  background:#fff;
  border-color:#e8d7dc;
  color:#a64054;
}
body:has(#portal) #portal :is(#placeOrder,#newAddress > .solid,#feedbackSubmit,#homeAdd) {
  display:block;
  width:100%;
  min-height:44px;
  text-align:center;
}
body:has(#portal) #portal .panel:has(#placeOrder) > a[href$="#addresses"] {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-inline:4px;
  font-size:12px;
}
body:has(#portal) #portal :is(#portalAddressReload,#cartAddressRetry,#portalMessageRetry,#portalOrdersMore) {
  min-height:44px;
  padding:8px 12px;
  background:#fff;
  border:1px solid #dce5f0;
  color:#426082;
}
body:has(#portal) #portal #portalOrdersMore:not([hidden]) {display:block;margin-inline:auto;}

/* Checkout has one persistent pay action and a lower-weight order reference. */
body.checkout-view .payment-bar {gap:10px;}
body.checkout-view .payment-bar > a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding-inline:4px;
  color:#657b96;
}
body.checkout-view .payment-bar > #pay {
  flex:1 1 190px;
  min-height:46px;
  font-weight:650;
}

/* Member settings: compact text controls still receive a 44px touch target. */
body:has(#portal) .customerHeaderLinks > a,
body:has(#portal) #portal :is(.member-id,.member-qr,.profile-edit-entry,.section-head > a,.portal-live-action),
body:has(#portal) #portal .member-setting-segments > button,
body:has(#portal) #portal .member-switch-account > summary,
body:has(#portal) #portal :is(.portal-empty-actions > button,.member-section > button[data-route],.productline > [data-copy],.member-reward-status > button,.member-reward-detail-head > button),
body:has(#portal) #memberDialog :is([data-order-support],[data-order-detail-retry]),
body:has(#portal) :is([data-complaint-detail],[data-complaint-detail-retry],[data-complaint-retry],[data-complaint-more],.complaint-history-link) {
  min-height:44px;
}
body:has(#portal) :is(.customerHeaderLinks > a,#portal .section-head > a) {
  display:inline-flex;
  align-items:center;
}
body:has(#portal) #portal .member-setting-segments > button {height:auto;min-width:44px;}
body:has(#portal) #portal .member-qr {min-width:44px;}
body:has(#portal) #portal .member-switch-account > summary {padding-block:10px;}
body:has(#portal) #portal #memberLogin > .solid {justify-self:stretch;min-height:44px;}
body:has(#portal) #portal .customer-saved-record:has([data-unfavorite]) {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 18px;
  align-items:center;
}
body:has(#portal) #portal .customer-saved-record:has([data-unfavorite]) > :is(h3,p) {grid-column:1/-1;margin-block:0;}
body:has(#portal) #portal .customer-saved-record > a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
}
body:has(#portal) #portal .customer-saved-record > [data-unfavorite] {
  margin:0;
  min-height:44px;
  background:#fff;
  border-color:#e8d7dc;
  color:#a64054;
}
body:has(#portal) :is(#viewerProfileEditor,#viewerComplaintDialog) footer > button {min-height:44px;}
body:has(#portal) :is(#viewerProfileEditor .profile-save,#viewerComplaintDialog [data-complaint-submit]) {flex:1 1 140px;}
body:has(#portal) #viewerProfileEditor :is(.profile-more > summary,.profile-name-options > [data-name]) {min-height:44px;}
body:has(#portal) #viewerComplaintDialog > header > [data-complaint-close] {min-width:44px;min-height:44px;}

/* V1 watch: only commerce controls. The live scene and teaser are untouched. */
#sheet.cart-sheet.commerce-list-sheet .commerce-toolbar > a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
}
#sheet.cart-sheet .room-commerce > .commerce-back,
#sheet.cart-sheet .room-commerce .commerce-name {
  min-height:44px;
  min-width:44px;
}
#sheet.cart-sheet.commerce-list-sheet .commerce-item-bottom > .commerce-primary {flex:none;min-width:84px;}
#sheet.cart-sheet.commerce-detail-sheet > #detailActionbar > #addFromDetail {flex:1;min-height:44px;}
#sheet.cart-sheet.commerce-detail-sheet > #detailActionbar > #buyFromDetail {flex:1.35;min-height:44px;}
#sheet.cart-sheet .room-commerce :is(#skuConfirm,#confirmPurchase,#savePurchaseAddress) {min-height:44px;}
#sheet.cart-sheet .room-commerce #savePurchaseAddress {display:block;width:100%;margin-block:10px 4px;}
#sheet.cart-sheet .room-commerce #quickPurchase > details > summary {min-height:44px;padding-block:10px;box-sizing:border-box;}
#sheet.cart-sheet .room-commerce > .commerce-footer,
#sheet.cart-sheet .room-commerce #quickPurchase > .commerce-footer {
  padding-bottom:calc(8px + env(safe-area-inset-bottom));
}

@media (max-width:760px) {
  /* Join keeps registration as the primary action and separates account exit. */
  body:has(#joinForm) .session-notice > div {flex-direction:column;align-items:stretch;gap:10px;}
  body:has(#joinForm) .session-notice > div > a {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:8px 12px;
    border:1px solid var(--join-blue);
    border-radius:6px;
    background:var(--join-blue);
    color:#fff;
  }
  body:has(#joinForm) #joinLogout {
    min-height:44px;
    padding:8px 12px;
    border:1px solid #d5e0ed;
    border-radius:6px;
    background:#fff;
  }
  body:has(#joinForm) #joinLogout:not(:disabled) {color:#a64054;}
  body:has(#joinForm) :is(#joinConfigRetry,#joinSessionRetry,#joinAgreementRetry,#joinHistoryButton) {
    min-height:44px;
    padding:8px 12px;
    border:1px solid var(--join-line);
    border-radius:5px;
    background:#fff;
  }
  body:has(#joinForm) :is(.back-login,.join-footer > a,#joinHistoryLogin) {
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
  body:has(#joinForm) .join-history > summary {min-height:44px;padding-block:10px;}
  body:has(#joinForm) #joinHistoryButton {width:100%;}
  body:has(#joinForm) #joinFields input:not([type=checkbox]) {min-height:44px;}
  body:has(#joinForm) #joinFields .password-control input {min-height:46px;}
  body:has(#joinForm) .password-control > button {min-width:44px;min-height:44px;}
  body:has(#joinForm) #joinAgreement.registration-agreement > label {align-items:center;min-height:44px;}
  body:has(#joinForm) #joinAgreement.registration-agreement input[type=checkbox] {margin-top:0!important;}
  body:has(#joinForm) #joinAgreement.registration-agreement button {min-height:44px!important;}
  body:has(#joinForm) #registrationTerms > header > button {min-width:44px;min-height:44px;}
}

/* One customer shell, preserving the existing navigation and return handlers. */
body.lite-customer-shell{--customer-nav-height:66px;--customer-max-width:520px;}
body.lite-customer-shell #portal{padding-bottom:calc(128px + env(safe-area-inset-bottom));}
body.lite-customer-shell .portal-nav{
  height:calc(var(--customer-nav-height) + env(safe-area-inset-bottom));
  max-width:520px;gap:4px;padding:6px 12px calc(6px + env(safe-area-inset-bottom));
  box-sizing:border-box;background:#fffffff7;border-top:1px solid #e5ebf2;
  box-shadow:0 -3px 15px #18375906;align-items:center;
}
body.lite-customer-shell .portal-nav button{
  position:relative;min-height:52px;height:52px;gap:3px;padding:5px 10px;
  border:0;border-radius:10px;background:transparent;color:#8292a7;line-height:1.3;
}
body.lite-customer-shell .portal-nav button::before{display:none;}
body.lite-customer-shell .portal-nav button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
body.lite-customer-shell .portal-nav button span{font-size:11px;font-weight:500;}
body.lite-customer-shell .portal-nav button.active{background:#edf4ff;color:#0866f5;}
body.lite-customer-shell .portal-nav button.active span{font-weight:650;}
body.lite-customer-shell .customer-live-return{
  position:fixed;z-index:11;right:max(16px,calc((100vw - var(--customer-max-width))/2 + 16px));
  bottom:calc(var(--customer-nav-height) + 13px + env(safe-area-inset-bottom));
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;
  padding:7px 14px;box-sizing:border-box;border:1px solid #ffffff66;border-radius:24px;
  background:#0866f5;color:#fff;box-shadow:0 5px 18px #0866f526;
  font-size:12px;line-height:1.4;text-decoration:none;
}
body.lite-customer-shell .customer-live-return svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
body.lite-customer-shell.checkout-view{--customer-max-width:440px;}
body.lite-customer-shell.checkout-view .customer-live-return{bottom:calc(82px + env(safe-area-inset-bottom));}
body.lite-customer-shell:has(dialog[open]) .customer-live-return{visibility:hidden;}
/* Compact only the profile overview, retaining its orders, rewards and services. */
body.lite-customer-shell:has(#portal>.member-hero) #portal{padding-top:10px;padding-inline:12px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal>.member-hero{margin:0 0 8px;padding:12px 14px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .member-identity{gap:10px;margin:0;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .member-avatar{width:42px;height:42px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .member-avatar svg{width:29px;height:29px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .member-identity h1{font-size:16px;line-height:22px;margin:0 0 2px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .member-id{position:relative;min-height:28px;line-height:18px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .member-id:after{content:'';position:absolute;inset:-8px 0;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .identity-copy>.member-id+.profile-edit-entry{margin-inline-start:8px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal>.member-section{margin:8px 0;padding:11px 12px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .section-head{gap:8px;min-height:28px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .section-head h2{font-size:14px;line-height:20px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .section-head>:is(a,button){position:relative;min-height:28px;padding:4px 0;line-height:20px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .section-head>:is(a,button):after{content:'';position:absolute;inset:-8px 0;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .member-reward-assets>button{min-height:52px;gap:4px;padding:2px 0;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .member-reward-assets strong{font-size:18px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .compact-orders .order-entry-grid{margin-top:8px;gap:4px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .order-entry-grid .service-button{min-height:52px;gap:5px;font-size:11px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .order-entry-grid .service-button svg{width:21px;height:21px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .order-entry-grid .service-button span{font-size:11px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal>.member-links{padding:2px 12px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .member-links>button{min-height:44px;gap:10px;padding:8px 0;font-size:13px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal .member-links svg{width:18px;height:18px;}
body.lite-customer-shell:has(#portal>.member-hero) #portal>.member-reward-status{margin:8px 0;padding:10px 12px;}
body.lite-customer-shell.large-font:has(#portal>.member-hero) #portal .member-identity h1{font-size:20px;}
body.lite-customer-shell.large-font:has(#portal>.member-hero) #portal :is(.member-links>button,.order-entry-grid .service-button span){font-size:15px;}
/* The child portal now owns the return above its own navigation. */


/* Compact live overlays; the original video element, ratio and crop stay owned
   by the player. Transparent hit areas keep small controls usable by touch. */
.room>header{left:10px;right:10px;top:calc(9px + env(safe-area-inset-top));gap:6px;}
.room>header .host{padding:3px;gap:5px;border-radius:22px;}
.room>header .host>.avatar{width:26px;height:26px;flex-basis:26px;font-size:15px;}
.room>header .host strong{font-size:11px;line-height:14px;}
.room>header .host small{font-size:8px;line-height:10px;margin-top:2px;}
.room>header .host>button{position:relative;font-size:10px;line-height:14px;min-height:28px;padding:4px 8px;}
.room>header .host>button:after{content:'';position:absolute;inset:-8px 0;}
.room>header>.close{position:relative;width:32px;height:32px;line-height:30px;font-size:21px;}
.room>header>.close:after{content:'';position:absolute;inset:-6px;}
.room>header>.viewer-audience{height:28px;right:32px;}
.room>header>.viewer-audience>img{width:22px;height:22px;margin-left:-6px;}
.room>.status{font-size:8px;gap:2px;padding:4px 6px;}
.room>header:has(.viewer-audience:not([hidden]))+.status{top:calc(44px + env(safe-area-inset-top));right:10px;font-size:8px;padding:4px 6px;}
.room>.notice{
  top:calc(48px + env(safe-area-inset-top));left:10px;max-width:calc(100% - 108px);
  padding:5px 9px;font-size:9px;line-height:15px;cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.room>.notice:focus-visible{outline:2px solid #a8c6f2;outline-offset:3px;}
.lite-full-announcement{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9;margin:8px 0 18px;}
.room .lite-viewer-complaint{position:absolute;right:10px;top:calc(73px + env(safe-area-inset-top));z-index:5;pointer-events:none;}
body .room .lite-viewer-complaint>button.viewer-complaint-panel-entry{
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;
  margin:0;padding:8px;gap:0;border:0;border-radius:50%;background:transparent;color:#edf2f5;
  line-height:1;pointer-events:auto;position:relative;box-sizing:border-box;
}
.room .lite-viewer-complaint>.viewer-complaint-panel-entry:after{content:'';position:absolute;inset:-4px;}
.room .lite-viewer-complaint>.viewer-complaint-panel-entry svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.room .lite-viewer-complaint>.viewer-complaint-panel-entry:hover:not(:disabled){background:transparent;color:#fff;}
.room .lite-viewer-complaint>.viewer-complaint-panel-entry:active:not(:disabled){background:transparent;transform:scale(.94);}
.room>footer{left:10px;right:10px;gap:4px;bottom:calc(5px + env(safe-area-inset-bottom));}
.room>footer #chatForm[data-authoritative-chat]{gap:4px;padding:3px;min-height:44px;}
.room>footer #chatForm[data-authoritative-chat]>input{font-size:11px;padding:5px 4px;}
.room>footer #chatForm[data-authoritative-chat]>button{position:relative;flex-basis:36px;min-width:36px;min-height:36px;width:36px;height:36px;font-size:19px;}
.room>footer #chatForm[data-authoritative-chat]>button:after{content:'';position:absolute;inset:-4px;}
.room>footer .chat-emoji-icon{width:20px;height:20px;}
.room>footer>:is(.like,.cart,.more){flex:0 0 44px;min-width:44px!important;width:44px!important;height:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;box-sizing:border-box;padding:0;}
.room>footer>.like{background-size:24px 29px!important;}
.room>footer>.like>small{bottom:0;font-size:8px!important;}
.room>footer>.cart:before{inset:5px 3px!important;}
.room>footer>.more{font-size:14px;}
body:not([data-chat-size=large]):not(.large-font) .room>#chat.chat:not(.assistant-chat){font-size:11px!important;}
.room>.chat:not(.assistant-chat){left:10px;right:calc(26% + 18px);}
.room:not(.has-quick-phrases)>#chat.chat{bottom:calc(54px + env(safe-area-inset-bottom));}
.room>.chat .message{line-height:1.45!important;padding:2px 6px!important;margin:2px 0!important;}
.room>.product-teaser[data-card-ready]{width:26%;max-width:116px;right:10px;border-radius:11px;}
.room:not(.has-quick-phrases)>.product-teaser[data-card-ready]{bottom:calc(58px + env(safe-area-inset-bottom));}
.room>.product-teaser[data-card-ready] .product-card-title{font-size:max(10px,10cqw);}

@media(prefers-reduced-motion:reduce){.customer-live-return{transition:none;}}

/* Shared live-overlay accessibility; preserve the user's chosen chat/text size. */
.room :is(button,a,input,textarea,[role=button]):focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 4px #173b69;}
.room :is(button,a,[role=button]){touch-action:manipulation;}
.room :is(.sheet,.sheet-body,.more-menu,.emoji-panel){overscroll-behavior:contain;}
.lite-full-announcement{overflow-wrap:anywhere;line-height:1.7;white-space:pre-wrap;}
@media(prefers-reduced-motion:reduce){
 .room *, .room *::before, .room *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* One published red gift background for every room entrance and waiting state. */
body:has(>main.room){background:#f8ece9}
body.entry-gated main.room>.scene{visibility:hidden}
main.room>.room-entry-cover{background:#e87770 url('/lite/assets/live-entry-default.png') center/cover no-repeat!important;padding:0!important;border:0!important}
main.room>.room-entry-cover:after{background:linear-gradient(180deg,transparent 55%,#b6332b12)!important;pointer-events:none}
main.room>.room-entry-cover .cover-content{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:24px!important;gap:0!important;box-sizing:border-box!important;z-index:2}
main.room>.room-entry-cover .cover-content>:not(.cover-hint){display:none!important}
main.room>.room-entry-cover .cover-content:before,main.room>.room-entry-cover .cover-content:after{display:none!important;content:none!important}
main.room>.room-entry-cover .cover-hint{display:flex!important;align-items:center;justify-content:center;min-height:52px!important;width:min(244px,80%)!important;padding:14px 24px!important;border:1px solid #fff0d1!important;border-radius:28px!important;background:linear-gradient(110deg,#b71930,#df2636)!important;box-shadow:0 8px 28px #9a203850,inset 0 1px 0 #ffffff55!important;color:white!important;font-family:"PingFang SC","Microsoft YaHei",sans-serif!important;font-size:17px!important;line-height:1.4!important;font-weight:600!important;letter-spacing:2px!important;margin:0!important}
main.room>.room-entry-cover .cover-hint:before,main.room>.room-entry-cover .cover-hint:after{display:none!important;content:none!important}
main.room>.room-entry-cover:focus-visible{outline:3px solid #fff0d1!important;outline-offset:-4px}
@media(min-width:700px){body:has(>main.room){display:grid;place-items:center;min-height:100dvh;margin:0;padding:16px;box-sizing:border-box}body>main.room{width:var(--watch-frame-width)!important;height:var(--watch-frame-height)!important;max-height:none!important;border-radius:22px!important;overflow:hidden;box-shadow:0 20px 70px #0005;border:1px solid #fff3df66}}

/* The entered waiting stage shares the cover artwork, with a quiet state badge. */
main.room.waiting-for-live>.waiting-background{background:#d75a59 url('/lite/assets/live-entry-default.png') center/cover no-repeat!important}
main.room.waiting-for-live>.waiting-background:after{background:linear-gradient(180deg,#37141b18 0%,#38101914 42%,#240c2080 100%)!important}
main.room.waiting-for-live>.waiting-countdown{top:45%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:max-content!important;min-width:100px;max-width:calc(100% - 72px)!important;padding:11px 20px!important;background:#461d2d70!important;border:1px solid #fff4e636!important;border-radius:24px!important;backdrop-filter:blur(12px)!important;box-shadow:0 4px 18px #441b2110!important}
main.room.waiting-for-live>.waiting-countdown>strong{margin:0!important;font-family:"PingFang SC","Microsoft YaHei",sans-serif!important;font-size:16px!important;line-height:1.6!important;font-weight:500!important;letter-spacing:.5px!important;color:#fff8f3!important}
main.room.waiting-for-live>.waiting-countdown>span{font-size:11px!important;line-height:1.8!important;letter-spacing:0!important;color:#fff3e8!important}
main.room.waiting-for-live>.waiting-countdown>small{display:block;font-size:11px!important;line-height:1.8!important;letter-spacing:0!important;color:#fff3e8!important}
main.room.waiting-for-live>.waiting-countdown>:is(span,small):empty{display:none!important}
main.room.waiting-for-live #chat.chat{bottom:calc(76px + env(safe-area-inset-bottom))!important}

/* Floating live controls use light on the icon instead of a rectangular hover frame. */
main.room>footer :is(#like,#cart,#more,.chat-emoji-toggle){border-radius:50%;transition:filter .14s ease,scale .14s ease}
@media(hover:hover) and (pointer:fine){
 main.room>footer :is(#like,#cart,#more,.chat-emoji-toggle):not(:disabled,[aria-disabled=true],[aria-busy=true]):hover:not(:focus-visible){outline:none!important;box-shadow:none!important;filter:brightness(1.18) drop-shadow(0 0 5px #ffffff55)!important;scale:1.06}
}
main.room>footer :is(#like,#cart,#more,.chat-emoji-toggle):not(:disabled,[aria-disabled=true],[aria-busy=true]):active:not(:focus-visible){outline:none!important;box-shadow:none!important;scale:.94}
main.room>footer :is(#like,#cart,#more,.chat-emoji-toggle):focus-visible{border-radius:50%;outline:2px solid #fff!important;outline-offset:3px!important}
@media(prefers-reduced-motion:reduce){main.room>footer :is(#like,#cart,#more,.chat-emoji-toggle){transition:none!important;scale:1!important}}

/* Effective policy and account checks own visibility; decoration must never reveal a hidden entry. */
body .room .lite-viewer-complaint[hidden],
body .room .lite-viewer-complaint>button.viewer-complaint-panel-entry[hidden]{display:none!important;}

/* All viewer actions share the same subtle pointer highlight; keyboard focus remains visible. */
@media(hover:hover) and (pointer:fine){
 body :is(.room,#sheet,#viewerComplaintDialog,#viewerProfileEditor) :is(button,a[href],summary,[role=button],[role=switch],[role=tab]):not(:disabled,[aria-disabled=true],[aria-busy=true]):hover:not(:focus-visible){outline:none!important;box-shadow:none!important;filter:brightness(1.12) drop-shadow(0 0 4px #ffffff38)!important}
}

/* Random identity editor: one preview, one random action, compact cancel/save row. */
html body #viewerProfileEditor{width:min(92vw,350px)!important;padding:18px!important;border-radius:14px!important;font-size:13px!important}
html body #viewerProfileEditor :is(.profile-more,.profile-secondary-label){display:none!important}
html body #viewerProfileEditor .profile-editor-form>header{min-height:32px!important;margin:0!important;gap:12px}
html body #viewerProfileEditor .profile-editor-form>header h2{font-size:17px!important;line-height:1.5}
html body #viewerProfileEditor .profile-editor-form>header [data-close]{width:32px!important;height:32px!important;min-height:32px!important;min-width:32px!important;padding:0!important}
html body #viewerProfileEditor .profile-intro{font-size:12px!important;margin:8px 0 14px!important;line-height:1.6}
html body #viewerProfileEditor .profile-preview{display:flex!important;justify-content:flex-start!important;gap:12px!important;margin:12px 0!important}
html body #viewerProfileEditor .profile-preview img{width:48px!important;height:48px!important;border-radius:50%;object-fit:cover}
html body #viewerProfileEditor .profile-random-name{font-size:15px;font-weight:600;overflow-wrap:anywhere;min-width:0}
html body #viewerProfileEditor [data-random]{width:100%!important;min-height:38px!important;padding:7px 12px!important;font-size:13px!important;margin:0!important}
html body #viewerProfileEditor [data-message]{min-height:0!important;font-size:12px;line-height:1.6;margin:10px 0!important}
html body #viewerProfileEditor [data-message]:empty{display:none!important}
html body #viewerProfileEditor .profile-editor-form>footer{position:static!important;display:flex!important;justify-content:flex-end!important;gap:8px!important;margin:14px 0 0!important;padding:12px 0 0!important;border-top:1px solid #e7ecf3;flex-wrap:nowrap!important}
html body #viewerProfileEditor .profile-editor-form>footer>button{flex:0 0 auto!important;width:auto!important;min-width:88px!important;min-height:38px!important;padding:7px 12px!important;font-size:13px!important;border-radius:8px!important;margin:0!important}
@media(pointer:coarse){html body #viewerProfileEditor :is([data-random],.profile-editor-form>footer>button){min-height:44px!important}}
html body #viewerProfileEditor .profile-editor-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important}
html body #viewerProfileEditor .profile-editor-form>*{grid-column:1/-1!important;min-width:0!important}
html body #viewerProfileEditor .profile-preview{width:100%!important}
html body #viewerProfileEditor .profile-preview img{flex:0 0 48px!important}
html body #viewerProfileEditor .profile-random-name{flex:1!important;line-height:1.6;white-space:normal}
html body #viewerProfileEditor [hidden]{display:none!important}

/* Avatar, editable nickname and swap action share one compact row. */
html body #viewerProfileEditor .profile-editor-form{grid-template-columns:48px minmax(0,1fr) 66px!important;column-gap:8px!important}
html body #viewerProfileEditor .profile-preview{grid-column:1!important;margin:12px 0!important}
html body #viewerProfileEditor .profile-nickname{display:block!important;grid-column:2!important;align-self:center!important;font-size:0!important;line-height:0!important;margin:0!important}
html body #viewerProfileEditor .profile-nickname input{display:block!important;width:100%!important;min-width:0!important;height:38px!important;margin:0!important;padding:7px 9px!important;font-size:14px!important;line-height:22px!important}
html body #viewerProfileEditor .profile-editor-form>[data-random]{grid-column:3!important;align-self:center!important;width:66px!important;min-width:0!important;white-space:nowrap;padding:7px 8px!important}
html body #viewerProfileEditor .profile-nickname[hidden]{display:none!important}
/* Complaint submission: one reason, one description, compact actions. */
html body #viewerComplaintDialog:not([data-inline=true]){width:min(92vw,390px)!important;padding:18px!important;border-radius:12px!important}
html body #viewerComplaintDialog>header{position:static!important;min-height:32px!important;margin:0!important}
html body #viewerComplaintDialog>header h2{font-size:17px!important;line-height:1.5!important}
html body #viewerComplaintDialog :is(.complaint-room-name,.complaint-explain){font-size:12px!important;line-height:1.7!important;margin:8px 0!important}
html body #viewerComplaintDialog>form{display:grid!important;gap:12px!important;margin-top:14px!important}
html body #viewerComplaintDialog>form>label{display:grid!important;gap:7px!important;margin:0!important;font-size:12px!important}
html body #viewerComplaintDialog :is(select,textarea){width:100%!important;min-width:0!important;box-sizing:border-box;font-size:14px!important;border-radius:6px!important;margin:0!important}
html body #viewerComplaintDialog select{min-height:38px!important;padding:7px 10px!important}
html body #viewerComplaintDialog textarea{min-height:120px!important;line-height:1.7!important;padding:10px!important}
html body #viewerComplaintDialog .complaint-limit{font-size:11px!important;margin:0!important;color:#7a8797}
html body #viewerComplaintDialog [data-complaint-feedback]:empty{display:none!important}
html body #viewerComplaintDialog>form>footer{position:static!important;display:flex!important;justify-content:flex-end!important;gap:8px!important;margin:0!important;padding:12px 0 0!important;border-top:1px solid #e7ecf2;flex-wrap:nowrap!important}
html body #viewerComplaintDialog>form>footer>button{flex:0 0 auto!important;width:auto!important;min-width:88px!important;min-height:38px!important;padding:7px 12px!important;font-size:13px!important;border-radius:7px!important;margin:0!important}

/* One 9:16 frame shared by playback and every bottom panel. */
:root{--watch-frame-width:min(100vw,calc(100dvh * 9 / 16));--watch-frame-height:min(100dvh,calc(100vw * 16 / 9));--watch-frame-bottom:calc((100dvh - var(--watch-frame-height)) / 2)}
html body:has(>main.room){display:grid;place-items:center;min-height:100dvh;margin:0;padding:0;box-sizing:border-box}
html body>main.room{width:var(--watch-frame-width)!important;height:var(--watch-frame-height)!important;aspect-ratio:9/16!important;max-height:none!important;margin:0!important}
html body #member-surface{padding:0 0 var(--watch-frame-bottom)!important}
html body #member-surface .member-popup{width:var(--watch-frame-width)!important;max-width:100vw!important;height:calc(var(--watch-frame-height) * .72)!important;max-height:calc(var(--watch-frame-height) - 48px)!important;min-height:0!important;border-radius:18px 18px 0 0!important;box-sizing:border-box}
html body.floating-commerce #sheet.cart-sheet{width:var(--watch-frame-width)!important;max-width:100vw!important;left:50%!important;right:auto!important;top:auto!important;bottom:var(--watch-frame-bottom)!important;transform:translateX(-50%)!important;height:calc(var(--watch-frame-height) * .62)!important;max-height:calc(var(--watch-frame-height) - 48px)!important;border-radius:18px 18px 0 0!important;box-sizing:border-box;display:flex;flex-direction:column;padding:10px 14px calc(12px + env(safe-area-inset-bottom))!important;overflow:hidden}
html body.floating-commerce #sheet.cart-sheet #sheetBody{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain}
html body #sheet.cart-sheet .sheet-head,html body #member-surface .member-popup-head{flex:none;min-height:42px!important;margin:0!important;padding:0 0 8px!important}
html body #member-surface .member-popup-head{padding:8px 14px!important}
html body #sheet.cart-sheet .sheet-head h2,html body #member-surface .member-popup-head strong{font-size:15px!important;line-height:1.5}
html body #sheet.cart-sheet .handle{flex:none;margin:0 auto 8px!important}
@media(min-width:700px){:root{--watch-frame-width:min(calc(100vw - 32px),calc((100dvh - 32px) * 9 / 16));--watch-frame-height:min(calc(100dvh - 32px),calc((100vw - 32px) * 16 / 9))}html body:has(>main.room){padding:16px}}

html body #member-surface .member-popup{position:relative!important}
html body #member-surface .member-popup-return{position:absolute!important;z-index:3!important;right:12px!important;left:auto!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;display:inline-flex!important;align-items:center;justify-content:center;flex:none!important;width:auto!important;max-width:calc(100% - 24px)!important;min-height:38px!important;margin:0!important;padding:8px 14px!important;border:1px solid #ffffff88!important;border-radius:22px!important;background:#2863d4!important;color:#fff!important;font-size:12px!important;line-height:1.5!important;box-shadow:0 4px 14px #174a942b!important}

/* The assistant is a bottom panel, never a mini-player/full-page destination. */
html body.mini-mode:has(#sheet.compact-assistant:not([hidden]))>main.room{
 position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
 width:var(--watch-frame-width)!important;height:var(--watch-frame-height)!important;
 z-index:auto!important;border-radius:0!important;box-shadow:none!important;
}
html body.mini-mode:has(#sheet.compact-assistant:not([hidden]))>main.room>:not(#video,.scene,[hidden]){display:revert!important}
html body.mini-mode:has(#sheet.compact-assistant:not([hidden]))>main.room>:is(header,footer,.status,.teaser){display:flex!important}
html body.mini-mode:has(#sheet.compact-assistant:not([hidden]))>main.room>.viewer-utility-rail{display:flex!important}
html body:has(#sheet.compact-assistant:not([hidden])) :is(.vr-ready-layer,.vr-bag-layer,.vr-layer){display:none!important}
html body.mini-mode:has(#sheet.compact-assistant:not([hidden]))>main.room>[hidden],
html body.mini-mode:has(#sheet.compact-assistant:not([hidden]))>.mini-return{display:none!important}
html body.mini-mode:has(#sheet.compact-assistant:not([hidden]))>#backdrop{background:#0003!important}
html body.mini-mode #sheet.compact-assistant{
 width:var(--watch-frame-width)!important;max-width:100vw!important;left:50%!important;right:auto!important;
 top:auto!important;bottom:var(--watch-frame-bottom)!important;transform:translateX(-50%)!important;
 height:calc(var(--watch-frame-height) * .62)!important;max-height:calc(var(--watch-frame-height) - 48px)!important;
 min-height:0!important;border-radius:18px 18px 0 0!important;box-sizing:border-box!important;
 display:flex;flex-direction:column;overflow:hidden!important;padding:8px 14px calc(12px + env(safe-area-inset-bottom))!important;
}
html body.mini-mode #sheet.compact-assistant #sheetBody{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:0!important}
html body.mini-mode #sheet.compact-assistant>.assistant-chat{height:auto!important;min-height:28px!important;max-height:min(86px,15dvh)!important;flex:0 1 auto!important}
html body.mini-mode #sheet.compact-assistant[hidden]{display:none!important}

/* Keep the iframe's blank shell and progressive restyling behind one loading state. */
html body #member-surface:not([data-member-ready=true]) .member-popup>iframe{visibility:hidden!important}
html body #member-surface .member-loading-state{position:absolute;inset:48px 0 58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f7f8fb;color:#728399;font-size:13px;z-index:2}
html body #member-surface[data-member-ready=true] .member-loading-state{display:none!important}
html body #member-surface .member-loading-state button{width:auto;padding:8px 18px;border:1px solid #cbdcf3;border-radius:7px;background:#fff;color:#1767c8}
html body #member-surface .member-loading-state button[hidden]{display:none!important}

/* Keep live overlays neutral so theme colors do not clash with the chat bar. */
html body main.room{--live-neutral-overlay:rgba(32,32,41,.58);--ui-live-overlay:var(--live-neutral-overlay);--ui-live-name:#8de3e9;--ui-live-text:#fff}
html body main.room>header .host,
html body main.room>.status,
html body main.room>.notice,
html body main.room .chat .message,
html body main.room>footer #chatForm{background:var(--live-neutral-overlay)!important;color:#fff!important}
html body main.room .chat .message span{color:#8de3e9!important}
html body main.room>footer #chatForm input{background:transparent!important;color:#fff!important}
html body main.room>footer #chatForm input::placeholder{color:#dce1e8!important;opacity:1}

/* Live-room complaint entry follows neutral overlay controls, not shop theme. */
html body main.room .lite-viewer-complaint>button.viewer-complaint-panel-entry,
html body main.room .lite-viewer-complaint>button.viewer-complaint-panel-entry:is(:hover,:active,:focus-visible){color:#edf2f5!important;background:transparent!important;border-color:transparent!important}
html body main.room .lite-viewer-complaint>button.viewer-complaint-panel-entry svg{color:inherit!important;stroke:currentColor!important;fill:none!important}

/* Complaint form: neutral readable surface, independent of storefront theme. */
html body #viewerComplaintDialog{background:#fff!important;color:#273343!important;border:1px solid #e4e8ee!important;border-radius:18px;padding:22px;width:min(92vw,390px);font:14px/1.6 system-ui,-apple-system,'PingFang SC',sans-serif;box-shadow:0 18px 60px #0004}
html body #viewerComplaintDialog header{position:static!important;display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px;padding:0;inset:auto!important}
html body #viewerComplaintDialog h2{color:#202d3d!important;font-size:18px;line-height:1.5;margin:0;font-weight:650}
html body #viewerComplaintDialog header button{flex:0 0 32px;width:32px;height:32px;min-height:32px!important;min-width:32px!important;padding:0!important;border:0!important;background:#f0f3f6!important;color:#667385!important;font-size:22px;border-radius:50%;line-height:1}
html body #viewerComplaintDialog .complaint-room-name{color:#4c5a6c!important;background:#f4f6f9;border-radius:8px;padding:8px 10px;margin:10px 0;font-size:13px}
html body #viewerComplaintDialog .complaint-explain{color:#667385!important;font-size:13px;line-height:1.7;margin:10px 0 16px}
html body #viewerComplaintDialog form{display:block!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important}
html body #viewerComplaintDialog label{display:block!important;color:#344255!important;font-weight:600;font-size:14px;margin:14px 0 6px}
html body #viewerComplaintDialog :is(select,textarea){width:100%!important;box-sizing:border-box;background:#f9fafc!important;color:#273343!important;border:1px solid #dce2ea!important;border-radius:9px!important;padding:10px 12px!important;margin-top:7px;box-shadow:none!important;font-size:16px!important;line-height:1.5}
html body #viewerComplaintDialog select{height:44px!important}
html body #viewerComplaintDialog textarea{min-height:112px;resize:vertical}
html body #viewerComplaintDialog textarea::placeholder{color:#8691a0!important;opacity:1}
html body #viewerComplaintDialog .complaint-limit{color:#778395!important;font-size:12px;margin:7px 0}
html body #viewerComplaintDialog footer{position:static!important;inset:auto!important;width:auto!important;display:flex!important;gap:10px!important;background:#fff!important;border-top:1px solid #edf0f4;padding:16px 0 0!important;margin:18px 0 0!important}
html body #viewerComplaintDialog footer button{flex:1;min-height:44px!important;margin:0!important;padding:10px 12px!important;border-radius:10px!important;background:#f1f3f6!important;color:#526174!important;border:1px solid #e2e7ee!important;font-size:14px;line-height:1.4;box-shadow:none!important}
html body #viewerComplaintDialog [data-complaint-submit]{background:#29394d!important;color:#fff!important;border-color:#29394d!important}
html body #viewerComplaintDialog [data-complaint-submit]:disabled{opacity:.5}
html body #viewerComplaintDialog :focus-visible{outline:2px solid #748ca9!important;outline-offset:2px}
html body #viewerComplaintDialog [data-complaint-feedback]{color:#526174!important;font-size:13px}
html body #viewerComplaintDialog [data-complaint-feedback]:empty{display:none}
html body #viewerComplaintDialog [data-complaint-feedback].error{color:#ac3446!important;background:#fff0f2!important;padding:9px 11px;border-radius:8px}
html body #viewerComplaintDialog[data-inline=true]{width:100%;border:0!important;border-radius:0;box-shadow:none;padding:18px}

/* Readable live chat: keep size preference and avoid translating incoming text. */
html body main.room>#chat#chat.chat:not(.assistant-chat){font-size:14px!important;line-height:1.55!important}
html body[data-chat-size=small] main.room>#chat#chat.chat:not(.assistant-chat){font-size:12px!important}
html body[data-chat-size=large] main.room>#chat#chat.chat:not(.assistant-chat),html body.large-font:not([data-chat-size=small]) main.room>#chat#chat.chat:not(.assistant-chat){font-size:16px!important}
html body main.room>#chat#chat.chat .message{font-size:inherit!important;line-height:1.55!important;padding:4px 8px!important;margin:3px 0!important;animation:live-chat-soft-in 140ms ease-out both!important;transition:none!important;overflow-wrap:anywhere}
html body main.room>#chat#chat.chat .message span{font-size:inherit!important;color:#8de3e9!important}
@keyframes live-chat-soft-in{from{opacity:.65}to{opacity:1}}
@media(prefers-reduced-motion:reduce){html body main.room>#chat#chat.chat .message{animation:none!important}}

/* Eight visual lines maximum; history remains scrollable in the existing chat. */
html body main.room>#chat#chat.chat:not(.assistant-chat){max-height:12.4em!important;box-sizing:content-box!important;overflow-y:auto!important}

/* Keep the like action, hide its viewer-facing count. */
html body main.room > footer #like #likes { display: none !important; }
/* Mobile viewport fills the available browser area without a 9:16 outer gutter. */
@media(max-width:699px){
 :root{--watch-frame-width:100vw;--watch-frame-height:100dvh;--watch-frame-bottom:0px}
 html body:has(>main.room){width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
 html body>main.room{width:100%!important;height:100dvh!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important}
 html body:has(>main.room) :is(input,textarea,select),html body #viewerProfileEditor .profile-nickname input{font-size:16px!important}
 html body #viewerProfileEditor{max-width:calc(100vw - 24px)!important;box-sizing:border-box!important}
}
/* Match the quiet dark backing of the like control. */
html body main.room>footer #cart,
html body main.room>footer #more,
html body main.room .lite-viewer-complaint>button.viewer-complaint-panel-entry,
html body main.room .lite-viewer-complaint>button.viewer-complaint-panel-entry:is(:hover,:active){background:rgba(24,24,30,.28)!important;border:0!important;border-radius:50%!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}
html body main.room .lite-viewer-complaint>button.viewer-complaint-panel-entry:focus:not(:focus-visible){outline:none!important}
html body main.room .lite-viewer-complaint>button.viewer-complaint-panel-entry:active{transform:scale(.94)!important}
/* Compact member overlay without reducing readable body text. */
html body #member-surface .member-popup{height:calc(var(--watch-frame-height) * .62)!important}
html body #member-surface .member-popup-head{min-height:40px!important;padding:5px 12px!important}
html body #member-surface .member-popup-return{bottom:calc(62px + env(safe-area-inset-bottom))!important;min-height:34px!important;padding:6px 12px!important}
html body.popup-member{padding-bottom:calc(54px + env(safe-area-inset-bottom))!important}
html body.popup-member .portal-nav{height:auto!important;min-height:50px!important;padding:3px 0 calc(3px + env(safe-area-inset-bottom))!important}
html body.popup-member .portal-nav button{min-height:44px!important;gap:1px!important;padding:2px 0!important}
html body.popup-member .portal-nav svg{width:22px!important;height:22px!important}
html body.popup-member .portal-nav span{font-size:12px!important;line-height:16px!important}
html body.popup-member #portal>.member-hero{padding:10px 12px!important;margin-bottom:8px!important}
html body.popup-member #portal .member-avatar{width:46px!important;height:46px!important;flex:0 0 46px!important}
html body.popup-member #portal>.member-section,html body.popup-member #portal>.portal-reward-entry{padding:12px!important;margin:8px 0!important}
html body.popup-member #portal .asset{padding:8px 4px!important}
html body.popup-member #portal .asset strong{font-size:22px!important;margin:8px 0 4px!important}
/* Keep profile, rewards and order shortcuts in the first view. */
html body.popup-member #portal>.member-hero{padding:8px 10px!important;margin:0 0 6px!important}
html body.popup-member #portal .member-identity{margin:0!important;gap:9px!important;min-height:44px!important}
html body.popup-member #portal .member-avatar{width:40px!important;height:40px!important;flex-basis:40px!important}
html body.popup-member #portal .identity-copy h1{font-size:16px!important;line-height:22px!important;margin:0 0 2px!important}
html body.popup-member #portal .member-id,html body.popup-member #portal .profile-edit-entry{min-height:24px!important;padding:0!important;font-size:12px!important}
html body.popup-member #portal>.member-rewards{padding:8px 10px!important;margin:6px 0!important}
html body.popup-member #portal .member-rewards .section-head{min-height:22px!important;margin:0 0 4px!important}
html body.popup-member #portal .member-rewards .section-head button{min-height:24px!important;padding:0 4px!important}
html body.popup-member #portal .member-reward-assets button{min-height:48px!important;padding:2px 0!important;gap:2px!important}
html body.popup-member #portal .member-reward-assets strong{font-size:20px!important;line-height:25px!important;margin:0!important}
html body.popup-member #portal .member-reward-assets span{font-size:12px!important;line-height:17px!important}
html body.popup-member #portal>.compact-orders{padding:8px 10px!important;margin:6px 0!important}
html body.popup-member #portal .compact-orders .section-head{margin-bottom:6px!important;min-height:24px!important}
html body.popup-member #portal .order-entry-grid{margin:0!important;padding:0!important;gap:4px!important}
html body.popup-member #portal .order-entry-grid .service-button{min-height:48px!important;padding:3px 0!important;gap:3px!important}
html body.popup-member #portal .order-entry-grid svg{width:22px!important;height:22px!important}
html body.popup-member #portal .order-entry-grid span{font-size:12px!important;line-height:17px!important}
html body main.room .lite-viewer-complaint{top:calc(85px + env(safe-area-inset-top))!important}
/* Complaint dialog: a single neutral surface with one clear primary action. */
html body #viewerComplaintDialog:not([data-inline=true]){width:min(calc(100vw - 28px),390px)!important;max-height:calc(100dvh - 32px)!important;padding:18px!important;border:1px solid #e5e9ef!important;border-radius:16px!important;background:#fff!important;color:#253247!important;box-shadow:0 16px 48px #101c3033!important}
html body #viewerComplaintDialog>header h2{font-size:18px!important;font-weight:650!important;color:#253247!important}
html body #viewerComplaintDialog>header button{width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;background:#f2f4f7!important;color:#687588!important;border:0!important;border-radius:50%!important}
html body #viewerComplaintDialog>form{gap:10px!important}
html body #viewerComplaintDialog label{display:block!important;margin:0!important;font-size:14px!important;font-weight:500!important;color:#3b485b!important}
html body #viewerComplaintDialog textarea{min-height:96px!important;resize:vertical}
html body #viewerComplaintDialog :is(select,textarea):focus{outline:2px solid #b6cdf7!important;outline-offset:1px!important;border-color:#4c7fd4!important}
html body #viewerComplaintDialog>form>footer{margin-top:2px!important;padding-top:12px!important;border-top:1px solid #edf0f5!important;gap:10px!important}
html body #viewerComplaintDialog>form>footer>button{flex:1!important;min-height:42px!important;font-size:14px!important}
html body #viewerComplaintDialog [data-complaint-submit]{background:#2863d4!important;border-color:#2863d4!important;color:#fff!important}
/* Complaint entry uses a surface focus cue, never an outer ring. */
html body main.room .lite-viewer-complaint>button.viewer-complaint-panel-entry,
html body main.room .lite-viewer-complaint>button.viewer-complaint-panel-entry:is(:hover,:active,:focus,:focus-visible){outline:none!important;box-shadow:none!important;filter:none!important;border:0!important;background:rgba(24,24,30,.28)!important;-webkit-tap-highlight-color:transparent}
html body main.room .lite-viewer-complaint>button.viewer-complaint-panel-entry:focus-visible{background:rgba(24,24,30,.55)!important}
html body #viewerProfileEditor{padding:16px!important;border-radius:14px!important;color:#253247!important}
html body #viewerProfileEditor .profile-editor-form>header{min-height:32px!important;margin-bottom:8px!important}
html body #viewerProfileEditor h2{font-size:17px!important;line-height:24px!important}
html body #viewerProfileEditor [data-anonymous]{background:#f1f5fb!important;color:#52657e!important;font-size:12px!important;line-height:1.6!important;margin:0 0 10px!important;padding:8px 10px!important}
html body #viewerProfileEditor .profile-editor-form>footer{margin-top:12px!important;padding-top:12px!important;gap:10px!important}
html body #viewerProfileEditor .profile-editor-form>footer>button{flex:1!important;min-width:0!important;min-height:42px!important;font-size:14px!important}
html body.popup-member #portal .sub-title{min-height:40px!important;padding:2px 42px!important;margin-bottom:8px!important}
html body.popup-member #portal .sub-title h1{font-size:17px!important;margin:5px 0!important}
html body.popup-member #portal .sub-title>button{min-height:36px!important;min-width:36px!important;top:1px!important}
html body.popup-member #portal .member-settings{gap:8px!important}
html body.popup-member #portal .member-settings-card{padding:10px 12px!important;border-radius:10px!important}
html body.popup-member #portal .member-current-account{padding:4px 0 8px!important;min-height:32px!important;font-size:14px!important}
html body.popup-member #portal .member-switch-account{margin-top:4px!important}
html body.popup-member #portal .member-switch-account summary{padding:7px 0!important;min-height:34px!important;font-size:13px!important}
html body.popup-member #portal .member-setting-row{gap:10px!important;padding:4px 0!important;min-height:40px!important;font-size:14px!important}
html body.popup-member #portal .member-setting-segments{padding:2px!important;gap:2px!important}
html body.popup-member #portal .member-setting-segments button{min-height:36px!important;min-width:42px!important;padding:5px 10px!important;font-size:13px!important}
html body.popup-member #portal .chat-size-preview{margin:6px 0!important;padding:8px 10px!important;line-height:1.5!important}
html body #member-surface[data-child-dialog=true] .member-popup-return{display:none!important}

/* Embedded member pages use the outer return control only. */
html body.popup-member a#liteBackToLive.customer-live-return{display:none!important}

/* Cart shares the member panel surface and action colors. */
html body.floating-commerce #sheet.cart-sheet{background:#fff!important;color:#253247!important;--ui-shop-surface:#fff;--ui-shop-bg:#f3f5f9;--ui-shop-text:#253247;--ui-shop-muted:#6b7788;--ui-shop-border:#e5e9f0;--ui-shop-accent:#2863d4;--ui-accent-text:#fff}
html body #sheet.cart-sheet .sheet-head{border-bottom:1px solid #edf0f5!important;padding-bottom:8px!important}
html body #sheet.cart-sheet .commerce-primary{background:#2863d4!important;border-color:#2863d4!important;color:white!important;border-radius:8px!important}
html body #sheet.cart-sheet .commerce-item{border-color:#e5e9f0!important;background:#fff!important;color:#253247!important}
html body #sheet.cart-sheet .commerce-toolbar{background:#f4f6fa!important;border-radius:8px!important;padding:8px!important}
html body #sheet.cart-sheet #commerceSearch{min-width:0!important;min-height:40px!important;height:40px!important;padding:8px 10px!important;border:1px solid #dfe5ed!important;border-radius:8px!important;background:#f7f8fb!important;color:#253247!important;font-size:16px!important;line-height:22px!important;box-shadow:none!important;-webkit-appearance:none;appearance:none}
html body #sheet.cart-sheet #commerceSearch::placeholder{color:#7b8797!important;opacity:1}
html body #sheet.cart-sheet #commerceSearch:focus{background:#fff!important;border-color:#7b9fe1!important;outline:2px solid #dce8fc!important;outline-offset:0!important}
html body #viewerComplaintDialog .complaint-receipt-status{margin:12px 0!important;color:#65738a!important;font-size:13px!important}
html body #viewerComplaintDialog .complaint-submitted-content{padding:12px;background:#f4f6fa;border:1px solid #e5e9f0;border-radius:10px;color:#253247;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;max-height:35dvh;overflow:auto}
html body #viewerComplaintDialog .complaint-record-link{display:flex!important;align-items:center;justify-content:center;margin:16px 0 0!important;min-height:42px!important;padding:9px 14px!important;border-radius:9px!important;background:#2863d4!important;color:#fff!important;text-decoration:none!important;font-size:14px!important}

/* Complaint records: compact rows, readable content, no public tracking numbers. */
html body #portal .complaint-record{margin:8px 0;padding:12px;background:#fff;color:#253247;border:1px solid #e3e8ef;border-radius:10px;box-shadow:none}
html body #portal .complaint-record>div:first-child{gap:10px;align-items:center}
html body #portal .complaint-record strong{font-size:14px;line-height:1.5;font-weight:600}
html body #portal .complaint-record span{flex:none;color:#66758b;font-size:12px}
html body #portal .complaint-record p{margin:8px 0;font-size:14px;line-height:1.6}
html body #portal .complaint-record time{display:inline-block;color:#6b7789;font-size:12px;line-height:1.6}
html body #portal .complaint-record h2{margin:0 0 8px;font-size:15px;line-height:1.5}
html body #portal .complaint-record-row>p:last-child:has([data-complaint-detail]){display:inline-block;float:right;margin:0}
html body #portal [data-complaint-detail]{min-height:32px;padding:4px 10px;border:0;border-radius:6px;color:#2863d4;background:#edf3ff;font-size:13px}
html body #portal .complaint-record-row::after{content:'';display:block;clear:both}
html body #portal .complaint-history-link{margin:8px 0;font-size:12px;color:#2863d4}
/* The complaint and assistant use fixed slots. Reward entries flow between them. */
html body main.room>.viewer-utility-rail{
 position:absolute;top:calc(85px + env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));
 display:flex;flex-direction:column;align-items:center;gap:6px;
 width:58px;z-index:22;pointer-events:none;
}
html body main.room>.viewer-utility-rail>:is(.lite-viewer-complaint,.vr-entries,.vr-entry){
 position:static;inset:auto!important;flex:none;
}
html body main.room>.viewer-utility-rail>.vr-entries{gap:6px}
html body main.room>.viewer-utility-rail>.vr-entries:empty{display:none}
html body main.room>.viewer-utility-rail :is(button,.rd-item){pointer-events:auto}
html body.entry-gated main.room>.viewer-utility-rail,
html body main.room>.viewer-utility-rail>[hidden],
html body main.room>.viewer-utility-rail>.lite-viewer-complaint:not(:has(button:not([hidden]))){
 display:none!important;
}
html body.viewer-assistant-authorized main.room>.viewer-utility-rail>#assistant:not([hidden]){
 position:absolute!important;top:208px!important;right:11px!important;bottom:auto!important;left:auto!important;
 transform:none!important;display:flex!important;flex-direction:row;
 align-items:center;justify-content:center;gap:5px;box-sizing:border-box;
 width:64px!important;height:36px!important;min-width:64px!important;min-height:36px!important;
 padding:0 8px;border:0;border-radius:18px;background:rgba(24,24,30,.28);
 color:#fff;font-size:16px;line-height:1;
}
html body main.room>.viewer-utility-rail>#assistant small{
 display:block;font-size:13px;line-height:1;white-space:nowrap;
}
html body #sheet .commerce-back{display:inline-flex;align-items:center;min-height:32px;width:auto;padding:4px 8px;margin:0 0 10px;border:0;border-radius:6px;background:#f0f4fa;color:#365477;font-size:13px}
html body #sheet .commerce-detail-image{width:min(180px,52%);height:auto;aspect-ratio:1;margin:0 auto 12px;overflow:hidden;border-radius:10px;background:#f1f3f7}
html body #sheet .commerce-detail-image :is(img,.product-placeholder){width:100%;height:100%;object-fit:contain;display:grid;place-items:center;background:#f1f3f7;color:#788394}
html body #sheet .commerce-detail-info{padding:0 4px 12px}
html body #sheet .commerce-summary{gap:12px;padding:4px 0 12px}
html body #sheet .commerce-summary h3{font-size:16px;margin:0 0 5px;line-height:1.4}
html body #sheet .commerce-skus{padding:8px 0;margin:0}
html body #sheet .commerce-skus h4{margin:0 0 8px;font-size:14px}
html body #sheet .commerce-skus button{min-height:40px;background:#f5f7fb;color:#314864;border:1px solid #dce4ef;border-radius:8px;padding:8px 12px}
html body #sheet .commerce-skus button[aria-pressed=true]{background:#edf3ff;border-color:#739ce4;color:#2457aa}
html body #sheet .commerce-skus button:disabled{background:#f3f4f6;color:#7a8491;border-color:#e0e4e9;opacity:1}
html body #sheet .commerce-quantity{padding:12px 0;margin:0}
html body #sheet.commerce-detail-sheet .commerce-detail-image{width:min(150px,44%);height:auto;margin:0 auto 10px}
html body #sheet.commerce-detail-sheet .commerce-detail-info h3{font-size:16px;line-height:1.4;margin:5px 0;overflow-wrap:anywhere}
html body #sheet.commerce-detail-sheet .commerce-detail-info p{font-size:13px;line-height:1.5;margin:5px 0;color:#63758b}

/* Stable touch controls across iOS/WebKit and Android; retain keyboard focus. */
html body main.room>footer :is(#like,#cart,#more){
 -webkit-appearance:none!important;appearance:none!important;
 -webkit-tap-highlight-color:transparent!important;
 flex:0 0 44px!important;width:44px!important;height:44px!important;
 min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;
 aspect-ratio:1;box-sizing:border-box!important;padding:0!important;border:0!important;
 border-radius:50%!important;line-height:1!important;display:inline-flex!important;
 align-items:center!important;justify-content:center!important;
 background-color:rgba(24,24,30,.28)!important;background-repeat:no-repeat!important;background-position:center!important;
 box-shadow:none!important;touch-action:manipulation;
}
html body main.room>footer #like{background-size:30px 30px!important}
html body main.room>footer #more{font-family:Arial,sans-serif!important;font-size:18px!important;letter-spacing:2px;text-indent:2px}
html body main.room>footer #more :is(img,svg){display:block;width:22px!important;height:22px!important;max-width:22px;max-height:22px;object-fit:contain;flex:none}
html body main.room>footer :is(#like,#cart,#more):focus:not(:focus-visible){outline:none!important;box-shadow:none!important}

/* Compact half-sheet product detail: full image, adjacent name/price, pinned actions. */
html body.floating-commerce #sheet.cart-sheet.commerce-detail-sheet{height:calc(var(--watch-frame-height,100dvh) * .62)!important;max-height:calc(var(--watch-frame-height,100dvh) * .62)!important;min-height:0;background:#fff;padding:8px 14px 0!important;border-radius:20px 20px 0 0}
html body #sheet.commerce-detail-sheet #sheetBody{flex:1;min-height:0;overflow-y:auto;padding-bottom:8px}
html body #sheet.commerce-detail-sheet .sheet-head{min-height:40px;margin:0 0 4px}
html body #sheet.commerce-detail-sheet .sheet-head h2{font-size:16px;line-height:24px}
html body #sheet.commerce-detail-sheet .commerce-back{min-height:28px;padding:2px 0;margin:0 0 10px;background:transparent;color:#5f6c80;font-size:13px}
html body #sheet.commerce-detail-sheet .commerce-detail-overview{display:grid;grid-template-columns:min(50%,210px) minmax(0,1fr);align-items:center;gap:14px}
html body #sheet.commerce-detail-sheet .commerce-detail-image{width:100%;height:auto;max-height:none;aspect-ratio:1;margin:0;border-radius:10px;background:#f5f6f8}
html body #sheet.commerce-detail-sheet .commerce-detail-image img{width:100%;height:100%;object-fit:contain}
html body #sheet.commerce-detail-sheet .commerce-detail-info{padding:0;margin:0;min-width:0;background:transparent}
html body #sheet.commerce-detail-sheet .commerce-price{font-size:26px;line-height:1.2;color:#fa2856}
html body #sheet.commerce-detail-sheet .commerce-detail-info h3{font-size:16px;line-height:1.45;margin:8px 0 0;font-weight:600;color:#202936;overflow-wrap:anywhere}
html body #sheet.commerce-detail-sheet .commerce-detail-spec{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:10px 0;margin:12px 0 0;border:0;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;border-radius:0;background:#fff;color:#334155;font-size:14px;text-align:left}
html body #sheet.commerce-detail-sheet .commerce-detail-spec>span:last-child{color:#68768a;text-align:right;overflow-wrap:anywhere}
html body #sheet.commerce-detail-sheet .commerce-detail-description{margin:10px 0;font-size:13px;line-height:1.6;color:#657083;white-space:pre-line;overflow-wrap:anywhere}
html body #sheet.commerce-detail-sheet>#detailActionbar{flex:none;width:calc(100% + 28px);margin:0 -14px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #edf0f4;box-sizing:border-box}
html body #sheet.commerce-detail-sheet>#detailActionbar button{font-size:15px;line-height:22px;height:44px;min-height:44px;padding:10px;border-radius:12px}
html body main.room #exit{appearance:none;-webkit-appearance:none;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 28px;width:28px;height:28px;min-width:28px;min-height:28px;max-width:28px;max-height:28px;padding:0!important;border:0;border-radius:50%;line-height:1;background:rgba(24,24,30,.22);color:#fff;-webkit-tap-highlight-color:transparent;box-sizing:border-box}
html body main.room #exit svg{display:block;width:16px;height:16px;flex:none;margin:0;transform:none}

html body main.room>header>.viewer-audience{right:38px;}
html body #sheet.compact-assistant.live-assistant-panel{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:var(--watch-frame-bottom,0px)!important;transform:translateX(-50%)!important;width:var(--watch-frame-width,100vw)!important;max-width:100vw!important;height:calc(var(--watch-frame-height,100dvh) * .62)!important;max-height:calc(var(--watch-frame-height,100dvh) * .62)!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;box-sizing:border-box!important;padding:8px 14px max(12px,env(safe-area-inset-bottom))!important;background:#fff!important;color:#203047!important;border:0!important;border-radius:18px 18px 0 0!important;backdrop-filter:none!important;z-index:10001!important}
html body #sheet.live-assistant-panel[hidden]{display:none!important}
/* Keep navigation still while the selected tool scrolls inside the half sheet. */
#sheet.compact-assistant.live-assistant-panel {
 --lap-ink:#182a42;
 --lap-muted:#526780;
 --lap-accent:#1958c1;
 --lap-line:#dce5f1;
 --lap-soft:#f2f6fc;
 --lap-white:#fff;
}
html body #sheet.compact-assistant.live-assistant-panel .handle{display:none}
html body #sheet.compact-assistant.live-assistant-panel .sheet-head{
 flex:none!important;margin:0!important;min-height:38px!important;padding:0 0 3px!important;
}
html body #sheet.compact-assistant.live-assistant-panel h2{font-size:16px!important;color:var(--lap-ink)!important}
html body #sheet.compact-assistant.live-assistant-panel #sheetBody{
 flex:1!important;min-height:0!important;display:flex;flex-direction:column;
 overflow:hidden!important;padding:0!important;
}
html body #sheet.compact-assistant.live-assistant-panel button{
 min-height:34px!important;height:auto!important;max-width:100%;box-sizing:border-box;
 border:1px solid var(--lap-line)!important;border-radius:7px!important;
 background:var(--lap-white)!important;color:var(--lap-ink)!important;
 padding:5px 9px!important;font-size:13px!important;font-weight:600;line-height:1.35!important;
}
html body #sheet.compact-assistant.live-assistant-panel button:disabled{opacity:.48!important}
html body #sheet.compact-assistant.live-assistant-panel .lap-primary{
 background:var(--lap-accent)!important;color:white!important;border-color:var(--lap-accent)!important;
}
html body #sheet.compact-assistant.live-assistant-panel #closeSheet{
 width:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;
 display:grid!important;place-items:center!important;border:0!important;border-radius:50%!important;
 background:var(--lap-soft)!important;font-size:19px!important;
}
.lap-tabs{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:none;
 border-bottom:1px solid var(--lap-line);margin-bottom:8px;
}
html body #sheet.compact-assistant.live-assistant-panel .lap-tabs button{
 background:transparent!important;border:0!important;border-bottom:2px solid transparent!important;
 border-radius:0!important;color:var(--lap-muted)!important;min-height:38px!important;
}
html body #sheet.compact-assistant.live-assistant-panel .lap-tabs button[aria-pressed=true]{
 color:var(--lap-accent)!important;border-bottom-color:var(--lap-accent)!important;
}
#lapContent{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:0 0 6px}
html body #sheet.compact-assistant.live-assistant-panel :is(input,select,textarea){
 box-sizing:border-box;background:var(--lap-white)!important;color:var(--lap-ink)!important;
 border:1px solid var(--lap-line)!important;border-radius:7px!important;font-size:16px!important;
 line-height:1.3!important;padding:5px 8px!important;min-width:0;max-width:100%;
 min-height:36px!important;height:auto!important;
}
html body #sheet.compact-assistant.live-assistant-panel :is(input,textarea)::placeholder{
 color:var(--lap-muted)!important;opacity:1;
}
.lap-manual,.lap-tag,.lap-user-bar{display:flex;gap:6px}
.lap-manual input,.lap-tag input,.lap-user-bar input{flex:1;width:0}
.lap-manual button,.lap-tag button,.lap-user-bar button{flex:none}
.lap-interaction-tools{
 display:grid;grid-template-columns:minmax(102px,1.65fr) repeat(3,minmax(0,1fr));gap:4px;
 margin:6px 0 8px;
}
html body #sheet.compact-assistant.live-assistant-panel .lap-interaction-tools button{
 padding-inline:2px!important;font-size:12px!important;white-space:nowrap;
}
html body #sheet.compact-assistant.live-assistant-panel .lap-interaction-tools button[aria-expanded=true]{
 background:var(--lap-soft)!important;color:var(--lap-accent)!important;border-color:#b7cef1!important;
}
html body #sheet.compact-assistant.live-assistant-panel #lapSource{padding-inline:5px!important}
.lap-tool{border-radius:8px;background:var(--lap-soft);padding:8px;margin:0 0 8px}
.lap-tool label,.lap-tool h3{font-size:13px;font-weight:600;margin:0 0 5px}
.lap-source{display:flex;align-items:center;gap:8px;margin-top:6px}
.lap-source input{width:74px}
#lapContent textarea{display:block;width:100%;margin:0 0 6px;resize:vertical}
.lap-section{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 5px}
.lap-section h3{margin:0;font-size:13px;color:var(--lap-ink)}
.lap-section span{font-size:12px;color:var(--lap-muted);font-weight:500}
.lap-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
html body #sheet.compact-assistant.live-assistant-panel .lap-quick button{
 text-align:left;overflow-wrap:anywhere;background:var(--lap-soft)!important;border-color:transparent!important;
}
html body #sheet.compact-assistant.live-assistant-panel .lap-quick:not(.expanded)>button:nth-child(n+7){
 display:none!important;
}
html body #sheet.compact-assistant.live-assistant-panel .lap-more{
 min-height:28px!important;padding:2px 0!important;border-color:transparent!important;color:var(--lap-accent)!important;font-size:12px!important;
}
.lap-actions{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0}
.lap-actions:empty{display:none}
.lap-row{display:flex;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--lap-line);font-size:14px}
.lap-row>span,.lap-person{min-width:0;flex:1;overflow-wrap:anywhere}
.lap-row small,.lap-person small{display:block;font-size:12px;color:var(--lap-muted)}
.lap-row button{flex:none}
.lap-user{border-bottom:1px solid var(--lap-line);padding:0}
.lap-user summary{
 display:flex;align-items:center;gap:7px;min-height:45px;cursor:pointer;font-size:13px;
}
.lap-user summary::-webkit-details-marker{display:none}
.lap-user summary::after{
 content:'';width:5px;height:5px;margin:0 4px;border:solid var(--lap-muted);
 border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);flex:none;
}
.lap-user[open] summary::after{transform:rotate(45deg)}
.lap-user-controls{padding:0 0 8px 37px}
.lap-badge{
 flex:none;padding:2px 5px;border-radius:4px;background:var(--lap-soft);font-size:11px;color:var(--lap-muted);
}
.lap-badge.restricted{color:#a92335;background:#fff2f3}
html body #sheet.compact-assistant.live-assistant-panel .lap-danger{color:#a92335!important}
.lap-avatar,.lap-thumb{
 display:grid;place-items:center;flex:none;width:30px;height:30px;
 border-radius:8px;background:var(--lap-soft);color:var(--lap-accent);
}
.lap-thumb{width:40px;height:40px;overflow:hidden;font-size:11px}
.lap-thumb img{width:100%;height:100%;object-fit:cover}
.lap-empty{padding:10px 8px;text-align:center;color:var(--lap-muted);font-size:13px}
#lapNotice:empty{display:none}
#lapNotice{font-size:13px;padding:4px 0;color:var(--lap-accent)}
#lapNotice[data-error=true]{color:#a92335}
#lapBatchState{font-size:12px;color:var(--lap-muted);margin:4px 0 0}
#lapContent [hidden]{display:none!important}
@media(min-height:700px){
 html body #sheet.compact-assistant.live-assistant-panel .lap-quick:not(.expanded)>button:nth-child(n+7):nth-child(-n+12){
  display:block!important;
 }
 html body #sheet.compact-assistant.live-assistant-panel #lapContent:not(:has(.lap-quick>button:nth-child(13))) .lap-more{
  display:none!important;
 }
}
