.upc-guide{line-height:1.6;overflow-wrap:anywhere;--upc-gap:var(--ls-gap,12px);color:var(--ls-text)}
.upc-guide>p{margin:0 0 calc(var(--upc-gap) * 1.5);color:var(--ls-text-secondary,var(--ls-text))}
.upc-guide ul{display:grid;gap:var(--upc-gap);list-style:none;margin:0 0 calc(var(--upc-gap) * 2);padding:0}
.upc-guide-item{display:flex;align-items:center;gap:var(--upc-gap);padding:var(--upc-gap);background:var(--ls-bg-secondary,var(--ls-bg-hover,transparent));border-radius:var(--ls-border-radius-btn,var(--ls-radius,8px))}
.upc-guide-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;font-size:20px;font-weight:600;background:var(--ls-bg-card);border-radius:inherit;color:var(--ls-text)}
.upc-guide-item-text{display:grid;gap:2px;min-width:0}
.upc-guide-item-text strong{font-size:14px;font-weight:600}
.upc-guide-item-text>span{font-size:13px;color:var(--ls-text-secondary,var(--ls-text))}
.upc-guide-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--upc-gap);align-items:stretch}
.upc-guide-actions .ls-btn{max-width:100%;height:auto;min-height:42px;padding:10px 18px;white-space:normal;font:inherit;font-weight:600;justify-content:center}
.upc-guide .upc-guide-status:empty{display:none}
.upc-guide .upc-guide-status{font-size:13px;margin-bottom:var(--upc-gap)}
body:not(.ls-mobile) .ls-modal:has(.upc-guide)>.ls-modal-overlay{backdrop-filter:var(--ueng-glass-filter,none);-webkit-backdrop-filter:var(--ueng-glass-filter,none)}
body.ls-mobile .ls-modal-mask:has(.upc-guide){backdrop-filter:var(--umb-filter,none);-webkit-backdrop-filter:var(--umb-filter,none)}
#upc-reminder[hidden]{display:none!important}
#upc-return,#upc-retry{position:fixed;inset-inline-end:var(--ueng-layout-gap,20px);z-index:80;max-width:calc(100vw - 2 * var(--ueng-layout-gap,20px));height:auto;min-height:36px;white-space:normal;overflow-wrap:anywhere}
#upc-return{top:80px}
#upc-retry{bottom:80px}
html.ueng-skin.ueng-spacing .ls-modal-body:has(> .upc-guide){padding-inline:var(--ueng-surface-padding);padding-bottom:var(--ueng-surface-padding)}
body.ls-mobile .upc-guide{--upc-gap:var(--umb-page-gap,12px)}
body.ls-mobile #upc-return,body.ls-mobile #upc-retry{inset-inline-end:var(--umb-page-gap,12px);max-width:calc(100vw - 2 * var(--umb-page-gap,12px))}
body.ls-mobile #upc-return{top:calc(var(--ls-safe-top,env(safe-area-inset-top,0px)) + var(--ls-navbar-height,44px) + var(--umb-page-gap,12px))}
body.ls-mobile #upc-retry{bottom:calc(var(--ls-safe-bottom,env(safe-area-inset-bottom,0px)) + var(--ls-tabbar-height,50px) + var(--umb-page-gap,12px))}
html.ueng-mobile-skin .ls-modal:has(> .ls-modal-body > .upc-guide){background:var(--umb-glass,var(--ls-bg-card));backdrop-filter:var(--umb-filter,none);-webkit-backdrop-filter:var(--umb-filter,none)}
html.ueng-mobile-skin .ls-modal:has(> .ls-modal-body > .upc-guide) > .ls-modal-header{padding:var(--umb-surface-padding,16px)}
html.ueng-mobile-skin .ls-modal-body:has(> .upc-guide){padding:0 var(--umb-surface-padding,16px) var(--umb-surface-padding,16px)}

.upc-guide-actions .ls-btn,#upc-reminder,#upc-return,#upc-retry{border-radius:var(--ls-border-radius-btn,var(--ls-radius,6px));transition-duration:var(--ueng-popupMotionDuration,var(--ls-transition-duration,.15s))}
html.ueng-mobile-skin .upc-guide-actions .ls-btn,html.ueng-mobile-skin #upc-reminder,html.ueng-mobile-skin #upc-return,html.ueng-mobile-skin #upc-retry{border-radius:var(--umb-control-radius,var(--ls-radius,8px));transition-duration:var(--umb-popup,var(--umb-duration,.26s))}
@media(prefers-reduced-motion:reduce){.upc-guide-actions .ls-btn,#upc-reminder,#upc-return,#upc-retry{transition-duration:0s!important}}

.upc-guide-actions .ls-btn:not(.ls-btn-primary),#upc-retry{color:var(--ls-text-secondary,var(--ls-text));background:var(--ls-bg-secondary,var(--ls-bg-hover,transparent));border:1px solid var(--ls-border)}

body.ls-mobile .upc-guide-item{border-radius:var(--umb-control-radius,var(--ls-radius,8px))}
body.ls-mobile .upc-guide-actions{grid-template-columns:minmax(0,1fr)}
body.ls-mobile .upc-guide-actions .ls-btn{min-height:44px}
body.ls-mobile .upc-guide-actions .ls-btn:not(.ls-btn-primary){background:transparent;border-color:transparent;font-weight:400}
/* Keep passive site announcements behind this task dialog; native errors stay above it. */
body:has(.upc-guide) > .lssn-stack{z-index:calc(var(--ls-z-overlay,100000) - 1)!important}

/* The persistent reminder belongs to page content, never over page actions. */
#upc-reminder{display:flex;align-items:center;gap:var(--ls-gap,12px);padding:16px 20px;text-align:start;color:var(--ls-text);background:var(--ueng-glass-bg,var(--ls-card-bg,#fff));border:1px solid var(--ls-border);border-radius:var(--ueng-surface-radius,var(--ls-border-radius,12px));font:inherit;cursor:pointer;box-sizing:border-box;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:min(480px,calc(100% - 32px));z-index:80;box-shadow:var(--ls-shadow-md);backdrop-filter:var(--ueng-glass-filter,none)}
#upc-reminder.upc-reminder-inline{position:relative;inset:auto;transform:none;width:100%;margin:0 0 var(--ueng-layout-gap,16px);box-shadow:none;z-index:auto}
.upc-reminder-copy{display:grid;gap:3px;min-width:0;flex:1}.upc-reminder-copy strong{font-size:14px}.upc-reminder-copy>span{font-size:12px;color:var(--ls-text-secondary)}
.upc-reminder-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:var(--ls-border-radius-btn,8px);background:var(--ls-primary-light);font-weight:600}
.upc-reminder-action{font-size:13px;font-weight:600;white-space:nowrap;color:var(--ls-primary)}
body.ls-mobile #upc-reminder{padding:var(--umb-surface-padding,16px);border-radius:var(--umb-surface-radius,16px);background:var(--umb-glass,var(--ls-bg-card,#fff));backdrop-filter:var(--umb-filter,none);bottom:calc(var(--ls-tabbar-height,60px) + var(--ls-safe-bottom,env(safe-area-inset-bottom,0px)) + 16px)}
body.ls-mobile #upc-reminder.upc-reminder-inline{bottom:auto;width:calc(100% - 2 * var(--umb-page-gap,12px));margin:var(--umb-page-gap,12px)}
.upc-account{display:block;margin:var(--upc-gap) auto 0;background:transparent;color:var(--ls-text-secondary);border:0;font:inherit;font-size:13px}
.upc-guide ul{max-height:38dvh;overflow:auto;overscroll-behavior:contain}

/* A quiet status accent: content remains still while the small ring breathes. */
#upc-reminder{border-color:color-mix(in srgb,var(--ls-primary,#171717) 14%,var(--ls-border,#e5e7eb));background:color-mix(in srgb,var(--ls-primary,#171717) 3%,var(--ls-card-bg,#fff))}
body.ls-mobile #upc-reminder{background:color-mix(in srgb,var(--ls-primary,#171717) 3%,var(--ls-bg-card,#fff))}
.upc-reminder-icon{position:relative;background:color-mix(in srgb,var(--ls-primary,#171717) 7%,transparent)}
.upc-reminder-icon::after{content:'';position:absolute;width:var(--upc-light-size,6px);height:var(--upc-light-size,6px);inset-inline-end:0;top:0;border-radius:50%;background:var(--upc-light-color,var(--ls-primary,#171717));opacity:.35;box-shadow:0 0 0 calc(var(--upc-light-size,6px) * .6667) color-mix(in srgb,var(--upc-light-color,var(--ls-primary,#171717)) 10%,transparent);animation:upc-reminder-breathe calc(var(--ueng-motion-duration,250ms) * 12) cubic-bezier(.77,0,.175,1) infinite}
body.ls-mobile .upc-reminder-icon::after{animation-duration:calc(var(--umb-duration,250ms) * 12)}
@keyframes upc-reminder-breathe{0%,100%{opacity:.25;transform:scale(.9)}50%{opacity:.55;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.upc-reminder-icon::after{animation:none!important}}

/* Optional island: own body-level layer, below host dialogs and clear of navigation. */
#upc-reminder.upc-reminder-island,body.ls-mobile #upc-reminder.upc-reminder-island{position:fixed;top:var(--upc-island-top,calc(env(safe-area-inset-top,0px) + 64px));bottom:auto;left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);margin:0;padding:10px 18px;gap:10px;border-radius:999px;background:var(--ueng-glass-bg,var(--ls-bg-card,#fff));box-shadow:0 6px 24px rgb(0 0 0 / .12);z-index:90;min-height:44px}
body.ls-mobile #upc-reminder.upc-reminder-island{background:var(--umb-glass,var(--ls-bg-card,#fff))}
.upc-reminder-island .upc-reminder-copy>span,.upc-reminder-island .upc-reminder-action{display:none}
.upc-reminder-island .upc-reminder-icon{font-size:0;background:transparent;flex-basis:var(--upc-light-size,6px);width:var(--upc-light-size,6px);height:var(--upc-light-size,6px);margin-inline-end:4px}
.upc-reminder-island .upc-reminder-copy strong{font-size:13px;line-height:1.5}

#upc-reminder-space{height:64px;flex-shrink:0;pointer-events:none}
