/* Existing recommendation components remain in index.html; new states share their palette. */
:root{--coral:#ff805c;--blue:#298ffe}button:disabled{cursor:not-allowed;opacity:.45}.screen{container-type:inline-size}.home-top-filter{top:15cqw}.statusbar{height:11cqw;padding:0 6cqw}.page{animation:none!important}.toast{top:27cqw;left:5cqw;right:5cqw;font-size:3.4cqw}.modal-backdrop{padding:6cqw;backdrop-filter:blur(4px)}.dialog{position:relative;padding:7cqw 5cqw 5cqw;max-height:calc(100% - 20px);overflow-y:auto}.dialog h3{font-size:5.1cqw}.dialog p{font-size:3.5cqw;color:#756c78}.dialog button{min-height:44px}.dialog .primary-btn,.dialog .secondary-btn{font-size:3.8cqw;min-height:12cqw;border-radius:4cqw}.modal-close{position:absolute;right:8px;top:8px;width:44px;height:44px;border-radius:50%;background:transparent;color:#8c8490;font-size:25px}.dialog.upsell{padding-top:9cqw;background:radial-gradient(circle at 50% 10%,#ffe4de,transparent 50%),linear-gradient(#fff6f6,#fff)}.upsell-art{width:21cqw;height:21cqw;border-radius:50%;object-fit:cover;border:4px solid white;box-shadow:0 6px 20px #e4aaa766;margin-bottom:4cqw}.benefit-row{display:flex;gap:8px;margin:5cqw 0;text-align:left}.benefit-row>div{flex:1;border-radius:14px;background:white;padding:12px 8px;box-shadow:0 3px 16px #cbb5bc22}.benefit-row strong{display:block;color:#b04a30;font-size:4cqw}.benefit-row small{font-size:2.9cqw;color:#736977;line-height:1.6;display:block;margin-top:5px}.text-link{background:transparent;color:#7c7184;font-size:12px;padding:8px;text-decoration:underline}.chat-page{background:#f6f6f6 url('assets/chat.png') top center/100% auto no-repeat}.chat-header{position:absolute;top:11.5cqw;left:0;right:0;height:16cqw;background:linear-gradient(100deg,#ffedf8,#f3faf6);display:flex;align-items:center;justify-content:center;text-align:center}.chat-header b{font-size:16px}.chat-header small{display:block;font-size:10px;color:#229e5a;margin-top:2px}.chat-messages{position:absolute;top:69cqw;bottom:29cqw;left:4cqw;right:4cqw;background:#f7f7f7;overflow:auto;padding:8px 0;display:flex;flex-direction:column;gap:14px}.chat-tip{text-align:center;color:#8a848b;font-size:11px;padding:6px}.bubble{font-size:14px;line-height:1.5;padding:12px 15px;max-width:78%;border-radius:16px;overflow-wrap:anywhere}.bubble.self{background:#ff956e;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.bubble.host{background:#fff;align-self:flex-start;border-bottom-left-radius:4px;color:#4b424e}.chat-input-area{position:absolute;left:0;right:0;bottom:4cqw;padding:9px 12px 20px;background:#fff;display:flex;gap:8px;align-items:center;min-height:21cqw}.chat-input-area input{width:0;flex:1;min-height:43px;border:0;border-radius:22px;background:#f3f1f3;padding:10px 12px;font:inherit;font-size:14px}.chat-input-area button{min-width:44px;min-height:44px;border-radius:18px;background:#ff8b63;color:#fff;font-size:13px}.chat-input-area .small-icon{background:#f3f1f3;color:#7b707f;font-size:24px}.live-page{background:#303330 url('assets/live.png') top center/100% auto no-repeat;color:white}.live-profile-hotspot{position:absolute;left:3%;top:5.6%;width:34%;height:6%;background:transparent}.live-close{position:absolute;right:3.6%;top:6.6%;width:7.4%;height:3.7%;background:#8889;border-radius:50%;color:#fff;font-size:26px;min-width:34px;min-height:34px}.live-bottom{position:absolute;left:0;right:0;bottom:3.2%;height:7.2%;padding:4px 4.2%;display:flex;align-items:center;gap:2.4%;background:linear-gradient(transparent,#25252566);backdrop-filter:blur(8px)}.live-bottom button{min-height:44px;flex-shrink:0}.live-chat{width:34%;padding-left:13px;border-radius:26px;background:#4447;color:#eee;text-align:left;font-size:12px}.live-gift,.live-menu{border-radius:50%;width:11%;background:#fff2;color:white;font-size:24px}.live-call{margin-left:auto;width:24%;border:1.7px solid white;border-radius:30px;background:linear-gradient(120deg,#ffa16c,#ff716d);color:white;font-size:20px;display:flex;gap:4px;align-items:center;justify-content:center;font-weight:800}.live-call svg{width:21px;fill:white;stroke:white;stroke-width:.5}.host-profile-page{background:white url('assets/profile.png') top center/100% auto no-repeat}.profile-back{position:absolute;top:11cqw;left:3cqw;width:44px;height:44px;border-radius:50%;font-size:30px;color:white;background:#3337}.profile-actions{position:absolute;bottom:0;left:0;right:0;padding:12px 20px 27px;background:#fffffff5;display:flex;gap:12px;border-top:1px solid #eee}.profile-actions button{margin:0;flex:1;min-height:48px;border-radius:24px;font-size:14px}.waiting-page{background:#64583e url('assets/waiting-bg.jpg') center/cover no-repeat;color:#fff}.waiting-page::before{content:'';position:absolute;inset:0;background:#302a2022;backdrop-filter:blur(18px)}.waiting-person{position:absolute;left:4%;top:6.4%;display:flex;gap:16px;align-items:center}.waiting-person img{width:17cqw;height:17cqw;object-fit:cover;border-radius:8px;border:1px solid #fff5}.waiting-person h2{font-size:7cqw;font-weight:500;margin:0 0 11px}.waiting-person p{font-size:4.2cqw;margin:0}.waiting-bottom{position:absolute;bottom:7.8%;left:0;right:0;text-align:center;display:flex;align-items:center;flex-direction:column;gap:10px}.waiting-bottom p{font-size:3.6cqw;color:#fff8cb;margin:0 0 6px}.waiting-bottom span{font-size:3.6cqw}.cancel-call{width:17cqw;height:17cqw;min-width:60px;min-height:60px;border-radius:50%;background:#d94a3a;color:white;display:grid;place-items:center}.cancel-call svg{width:48px}.checking-page{background:linear-gradient(#fff0ed,#f1f7ff)}.checking-wrap{position:absolute;top:28%;left:10%;right:10%;text-align:center}.checking-wrap p{font-size:14px;line-height:1.8;color:#857d88}.check-orbit{width:100px;height:100px;margin:0 auto 28px;border:12px solid #fff;box-shadow:0 0 0 10px #ffdacd;color:#ff8a62;display:grid;place-items:center;border-radius:50%;font-size:40px}.call-page>.call-report{display:none}.member-page{background:#edf7ff}.member-scroll,.ticket-scroll{position:absolute;inset:0;overflow:auto;padding-bottom:30px}.member-hero{position:relative;padding:17cqw 6cqw 7cqw;background:radial-gradient(circle at 90% 30%,#fff,#d6edff);color:#234b7c}.member-hero .back-btn,.ticket-hero .back-btn{left:2cqw;top:11cqw}.member-hero h1{font-family:inherit;font-size:27px;letter-spacing:0;margin:20px 0 6px;line-height:1.2}.member-hero p{font-size:12px;margin:8px 0;color:#597a9c;line-height:1.8}.member-tabs{display:flex;gap:8px;padding:12px 5cqw 0;overflow:auto;flex-shrink:0}.member-tabs button{min-height:44px;min-width:62px;border-radius:14px;background:#e2ecf7;color:#567395;font-size:12px}.member-tabs button.active{background:linear-gradient(125deg,#53b9ff,#378eff);color:white;box-shadow:0 5px 14px #438ddd33}.vip-logo{position:absolute;right:22px;top:77px;width:80px;filter:drop-shadow(0 4px 6px #52a6f44d)}.member-body{padding:4cqw}.benefit-card{background:white;border-radius:20px;padding:18px;margin-bottom:12px;box-shadow:0 3px 10px #cddfec55}.benefit-card h3{margin:0 0 12px;font-size:17px;color:#345b85}.benefit-line{display:flex;gap:12px;align-items:center;margin:17px 0}.benefit-line i{font-style:normal;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#fff5d9,#ffd9ac);color:#bc632d;font-size:23px}.benefit-line b{display:block;font-size:14px;color:#465a75}.benefit-line small{display:block;font-size:11px;color:#7c899c;line-height:1.5;margin-top:4px}.cycle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cycle{padding:12px 4px;border-radius:16px;border:1.5px solid #dae5f1;background:#fbfdff;color:#65778f;font-size:12px}.cycle b{display:block;margin:8px 0;font-size:15px}.cycle.active{border-color:#4c9cff;background:#edf6ff;color:#2661a9}.purchase-cta{width:100%;min-height:51px;border-radius:24px;color:#fff;background:linear-gradient(110deg,#64c5ff,#3c8bff);font-size:16px;font-weight:800;margin-top:16px}.fine-print{font-size:11px;line-height:1.8;color:#718097;margin-top:12px}.member-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.member-links button{padding:8px;min-height:44px;background:transparent;color:#697e99;font-size:10px}.status-card{padding:14px;border-radius:14px;background:#eaf4ff;color:#3571ac;font-size:13px;line-height:1.8;margin-bottom:12px}.ticket-page{background:linear-gradient(#fff0e5,#fffaf7)}.ticket-hero{position:relative;padding:20cqw 6cqw 6cqw;text-align:center}.ticket-hero img{width:70px;height:70px;object-fit:contain}.ticket-hero h2{margin:12px 0 8px;font-size:26px}.ticket-hero p{font-size:12px;line-height:1.8;color:#8f7569}.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 20px}.ticket-pack{padding:22px 10px;border-radius:22px;background:white;border:2px solid #f0e3da;text-align:center;color:#866c61;min-height:130px}.ticket-pack.active{border-color:#ff9469;background:#fff6ef}.ticket-pack b{display:block;font-size:28px;color:#db7850}.ticket-pack span{display:block;font-size:12px;margin-top:10px}.ticket-purchase{padding:20px}.report-choices{display:flex;flex-direction:column;gap:7px;margin:14px 0}.report-choices label{padding:10px;border-radius:12px;background:#f8f5f8;text-align:left;font-size:13px;display:flex;align-items:center;gap:8px;min-height:44px}.report-choices input{accent-color:#ff8b65}.inline-error{color:#bd4337!important}.page.matching-page .filter-card{bottom:12%}
@media(min-width:431px){.phone{width:410px;height:864px}.screen{border-radius:34px}.stage{grid-template-columns:1fr 410px}.phone-label{width:390px}}@media(max-width:430px){.phone{width:100vw;height:100dvh;padding:0;border-radius:0}.screen{border-radius:0}.dialog{max-height:90dvh}.member-scroll{padding-bottom:34px}}.home-page~.statusbar{display:none}.screen::after{content:'';position:absolute;z-index:150;bottom:5px;left:36%;width:28%;height:4px;border-radius:8px;background:#151515;pointer-events:none}.screen.dark-page::after{background:white}
.chat-input-area{bottom:0;padding-bottom:8cqw;height:29cqw;background:#fff}.chat-messages{bottom:29cqw}
.chat-messages{top:81cqw}


/* Home follows the supplied App banner and a continuous two-column feed. */
.home-page{background:#fff}
.home-header{position:absolute;inset:0 0 auto;height:23.55cqw}
.home-header>img{display:block;width:100%}
.home-header>strong{position:absolute;top:13.5cqw;left:3cqw;width:35cqw;line-height:8cqw;background:linear-gradient(110deg,#f5edff,#f7f1ff);color:#303033;font-size:4.7cqw;font-weight:800}
.home-top-filter{top:13.2cqw;left:88cqw;width:8cqw;min-height:8cqw;border-radius:0;background:transparent;box-shadow:none}
.home-entry{left:2cqw;top:25cqw;width:96cqw;height:24cqw}
.home-recommend-banner{position:relative;width:100%;height:100%;border-radius:3.2cqw;background:radial-gradient(ellipse at 15% 90%,#ed9dff99,transparent 50%),linear-gradient(110deg,#e77dff,#c475ff 55%,#9c72ff);box-shadow:inset 0 1px 5px #fff8;color:#fff}
.home-recommend-banner::before{content:'';position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:radial-gradient(circle at 69% 30%,#ffffff8c 0 .25cqw,transparent .6cqw),radial-gradient(circle at 91% 16%,#ffffff73 0 .15cqw,transparent .5cqw),radial-gradient(circle at 83% 76%,#ffffff66 0 .25cqw,transparent .6cqw),radial-gradient(circle at 61% 84%,#fff4 0 .15cqw,transparent .5cqw);pointer-events:none}
.home-banner-illustration{position:absolute;left:0;bottom:0;width:30cqw;height:25.73cqw;object-fit:contain;mask-image:linear-gradient(to right,#000 0 95%,transparent 100%);border-radius:0 0 0 3.2cqw;pointer-events:none}
.home-banner-copy{position:absolute;left:30.6cqw;top:5.2cqw}
.home-banner-copy h2{margin:0;font-size:4.55cqw;line-height:1.25;letter-spacing:.15cqw;font-weight:800;text-shadow:0 1px 2px #9156cf24}
.home-banner-copy>img{display:block;width:20.8cqw;height:6.5cqw;object-fit:contain;margin-top:1.6cqw;border-radius:4cqw}
.home-main{position:absolute;right:3.1cqw;top:7.5cqw;display:flex;align-items:center;justify-content:center;gap:.5cqw;width:36.2cqw;height:10.8cqw;min-height:44px;padding:0 1.2cqw;border:1px solid #ffffff8c;border-radius:7cqw;background:#ffffff29;box-shadow:inset 0 0 0 .4cqw #ffffff24;color:#fff;clip-path:none;font:inherit;font-size:2.9cqw;font-weight:800;white-space:nowrap}
.home-main svg{flex:none;width:1.7cqw;height:3cqw;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.home-main:active{background:#ffffff42;transform:scale(.98)}
.home-main:focus-visible{outline:3px solid #fff;outline-offset:3px}
.home-user-list{position:absolute;top:52cqw;bottom:20cqw;left:0;right:0;overflow-y:auto;overscroll-behavior:contain;background:#fff;scrollbar-width:none}
.home-user-list::-webkit-scrollbar{display:none}
.home-users-heading{display:block;width:100%;height:auto}
.home-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3cqw;padding:0 3.25cqw 3.25cqw}
.home-user-card{position:relative;display:block;width:100%;min-width:0;aspect-ratio:375/442;padding:0;overflow:hidden;border:0;border-radius:2.3cqw;background:#f4f2f5;text-align:left}
.home-user-card>img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.home-photo-card::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none}
.home-online{position:absolute;z-index:1;top:2cqw;right:2cqw;display:flex;align-items:center;gap:.7cqw;padding:.7cqw 1.6cqw;border-radius:4cqw;background:#2228;color:#fff;font-size:2.8cqw}
.home-online i{width:1.2cqw;height:1.2cqw;border-radius:50%;background:#30e783}
.home-card-name{position:absolute;z-index:1;bottom:4cqw;left:2.2cqw;max-width:70%;color:#fff;font-size:3.5cqw;font-weight:700}
.home-card-hi{position:absolute;z-index:1;bottom:2.5cqw;right:2cqw;width:9.6cqw;height:9.6cqw;display:grid;place-items:center;border-radius:50%;background:#ffcc19;color:#fff;font-size:4.8cqw;font-weight:900;font-style:italic}
.home-bottom-tabs{position:absolute;z-index:5;bottom:0;left:0;right:0;background:#fff;height:20cqw}
.home-bottom-tabs>img{display:block;width:100%;height:100%;object-fit:cover;object-position:bottom}
.match-avatar svg{width:55%;fill:white;stroke:white;stroke-width:1.8}.end-summary{padding-top:12cqw}.end-summary .end-usage{margin:6cqw 0 2cqw;color:#5c5360}.end-summary .end-balance{margin:0 0 6cqw;color:#dd7954;font-size:4.2cqw;font-weight:800}.end-actions{display:flex;border-top:1px solid #f0ebed;padding-top:2cqw}.end-actions>button{flex:1;min-height:44px;color:#8b7e90;background:none;font-size:3.6cqw}.end-actions>button+button{border-left:1px solid #f0ebed}

/* Keep the existing chat composer and place the allowance next to its video action. */
.chat-header{height:16cqw}.chat-header .back-btn{position:absolute;left:2cqw;top:2cqw}.chat-messages{top:78cqw;bottom:35cqw;padding:4cqw 0;background:#f7f7f7}.chat-input-area{display:block;left:0;right:0;bottom:0;height:34cqw;min-height:0;padding:0 4cqw 6cqw;background:#f7f7f7}.chat-compose-row{height:14cqw;display:flex;align-items:center;gap:2cqw}.chat-compose-row .chat-keyboard{width:12cqw;min-height:11cqw;border-radius:2cqw;background:white;color:#484848;font-size:6cqw}.chat-compose-row input{flex:1;min-height:11cqw;border-radius:2cqw;background:#fff;padding:2cqw 3cqw;font-size:3.6cqw}.chat-compose-row .chat-send{min-width:13cqw;min-height:11cqw;border-radius:2cqw;background:#fff;color:#8061ee;font-size:3.6cqw}.chat-tool-row{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;height:14cqw;margin:0 -4cqw}.chat-tool-row>button{position:relative;width:100%;min-width:0;height:12cqw;min-height:44px;padding:2.8cqw 0 0;border-radius:0;background:transparent;color:#4a4a4a;display:grid;place-items:center}.chat-tool-row svg{width:7.2cqw;height:7.2cqw;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chat-tool-row .chat-gift{font-size:7cqw}.chat-more-icon{background:#e4e4e4;border-radius:50%;width:7.4cqw;height:7.4cqw;line-height:7.4cqw;font-size:7cqw}.chat-quota{position:absolute;top:-1cqw;left:50%;transform:translateX(-50%);white-space:nowrap;padding:.45cqw 1.8cqw;border-radius:1.8cqw;background:#d9f9e8;color:#1fa76c;box-shadow:0 1px 3px #b7e0ca44;font-size:2.6cqw;font-weight:800;line-height:1.3;pointer-events:none}.chat-video-control:focus-visible{outline:3px solid #8c67ff;outline-offset:-3px}
/* Profile content comes only from the first new reference; the second supplies action styling. */
.host-profile-page{background:#fff url('assets/profile-reference.png') top center/100% auto no-repeat}.profile-back{top:13cqw;left:1.5cqw;width:12cqw;height:12cqw;background:transparent;color:transparent}.profile-actions{left:5.5cqw;right:5.5cqw;bottom:16cqw;height:16cqw;padding:0;display:flex;gap:0;overflow:hidden;border:0;border-radius:10cqw;background:white;box-shadow:0 3px 18px #2d24401a}.profile-actions button{display:flex;align-items:center;justify-content:center;gap:1.8cqw;flex:none;margin:0;height:100%;min-height:0;min-width:0;padding:0;border-radius:0;font-size:4.5cqw;font-weight:800;white-space:nowrap}.profile-actions .profile-message{width:46%;color:#8962ff;background:#fff}.profile-actions .profile-video{width:54%;background:#8962ff;color:#fff}.profile-message svg{width:6.5cqw;height:6.5cqw;fill:currentColor}.profile-video svg{width:7cqw;height:7cqw;fill:currentColor}

.chat-input-area{height:35.5cqw;padding-bottom:7.5cqw}.chat-messages{bottom:36.5cqw}.chat-tool-row>button{padding-top:0}.chat-contact-avatar{position:absolute;right:4cqw;top:2cqw;width:11cqw;height:11cqw;border-radius:50%;padding:0;background:transparent;overflow:hidden}.chat-contact-avatar img{width:100%;height:100%;object-fit:cover}

/* Remaining opportunities belong to the existing live/profile call actions. */
.video-action-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7cqw;white-space:nowrap;line-height:1.2}
.video-action-copy b{font-weight:800}.video-action-copy small{font-size:2.6cqw;font-weight:500;line-height:1.2}
.live-call{min-height:13cqw!important;gap:1cqw;font-size:4.8cqw;padding:1cqw .6cqw}
.live-call svg{width:5cqw;flex-shrink:0}.live-call .video-action-copy small{font-size:2.35cqw}
.profile-video .video-action-copy b{font-size:4.2cqw}.profile-video .video-action-copy small{font-size:2.8cqw}

/* Monthly membership bottom sheet follows the existing text quota guide. */
.modal-backdrop.is-bottom-sheet{align-items:flex-end;justify-content:stretch;padding:0;backdrop-filter:blur(2px)}
.dialog.platform-upsell.monthly-sheet{width:100%;max-height:94%;padding:2.8cqw 5cqw max(7cqw,env(safe-area-inset-bottom));border-radius:7cqw 7cqw 0 0;background:linear-gradient(#fff9f5,#fff 45%);box-shadow:0 -5cqw 14cqw #37233b33;text-align:center;overflow:auto;animation:monthlySheetUp .24s ease both}
.monthly-sheet .modal-close{top:2cqw;right:3cqw;background:transparent}
.dialog.monthly-sheet h3{font-size:5.7cqw;margin:6cqw 0 0}
.dialog.monthly-sheet .platform-member-subtitle{font-size:3.6cqw;font-weight:700;line-height:1.6;color:#ad6a40;margin:1.7cqw 0 2.7cqw}
.platform-benefit-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5cqw;margin-bottom:3cqw}
.platform-benefit-chips span{padding:1.6cqw 2.3cqw;border-radius:5cqw;background:#fff0e6;color:#886755;font-size:2.7cqw;font-weight:600}
.dialog.monthly-sheet .platform-member-scope{font-size:2.9cqw;color:#8d7d7d;line-height:1.6;margin:0 0 3cqw;text-align:center}
.upsell-monthly-plan{display:flex;justify-content:space-between;align-items:center;gap:2cqw;min-height:16cqw;padding:2.7cqw 3cqw;border:1.5px solid #f0d7c7;border-radius:4cqw;background:#fff;text-align:left}
.upsell-monthly-plan b,.upsell-monthly-plan span{display:block}.upsell-monthly-plan b{font-size:3.4cqw;margin-bottom:1cqw}.upsell-monthly-plan span{font-size:2.6cqw;color:#8e8285}.upsell-monthly-plan>strong{font-size:4.3cqw;color:#b06f43;white-space:nowrap}
.monthly-sheet .primary-btn{width:100%;margin:3cqw 0 0;min-height:13cqw;border-radius:4cqw;font-size:4cqw}
.dialog.monthly-sheet .monthly-renewal{font-size:2.6cqw;color:#8f8385;line-height:1.6;margin:2.4cqw 0 .6cqw}
.monthly-legal{display:flex;justify-content:center;align-items:center;gap:2cqw;color:#95888b}.monthly-legal button{background:none;padding:0;font-size:2.6cqw;color:#8a777b;min-height:32px}.monthly-legal span{font-size:2.6cqw}
.dialog.monthly-sheet .monthly-notice{font-size:3cqw;color:#b8754d;margin:2cqw 0 0;line-height:1.5}.monthly-sheet .text-link{margin:0;padding:1cqw;min-height:32px}
@keyframes monthlySheetUp{from{opacity:.5;transform:translateY(20%)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.dialog.monthly-sheet{animation:none}}

/* Original screenshot header remains visible; only its close hit area is interactive. */
.call-page{background-image:url('assets/call-clean.png');background-position:top center;background-size:100% auto}
.call-page .call-close-hotspot{position:absolute;z-index:12;left:auto;right:4.3cqw;top:13.3cqw;width:8.8cqw;height:8.8cqw;min-height:0;padding:0;border:0;border-radius:50%;background:transparent}
.call-public-messages{position:absolute;z-index:10;left:4.3cqw;top:103cqw;max-width:85cqw;padding:2cqw 2.5cqw;border-radius:2cqw;background:#17100a99;color:#fff;font-size:3.65cqw;line-height:1.5;pointer-events:none}
.call-public-messages #callTimeWarning:not([hidden]){margin-left:2cqw;color:#ffda9c}
.call-bottom{position:absolute;z-index:12;left:4.3cqw;right:auto;bottom:5.2cqw;display:flex;align-items:center;justify-content:flex-start;gap:4.1cqw;padding:0;border-radius:0;background:none;backdrop-filter:none}
.call-bottom>button,.call-bottom>button:first-child{display:grid;place-items:center;flex:0 0 12.45cqw;width:12.45cqw;height:12.45cqw;min-height:0;padding:0;border:0;border-radius:50%;background:none;color:#fff}
.call-action-icon{display:grid;place-items:center;width:12.45cqw;height:12.45cqw;border-radius:50%;background:#10101080}
.call-action-icon svg{width:6.7cqw;height:6.7cqw;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.call-bottom [data-act="report"] svg{width:4.6cqw;height:4.6cqw}
.call-bottom [data-act="block"] svg{width:5.6cqw;height:5.6cqw}
.dialog.call-message-sheet{border-radius:6cqw 6cqw 0 0;padding:7cqw 5cqw 10cqw;background:#fff;max-height:85%}
.call-message-compose{display:flex;align-items:center;gap:2cqw;margin-top:6cqw}.call-message-compose input{flex:1;min-width:0;min-height:12cqw;padding:2cqw 3cqw;border:0;border-radius:3cqw;background:#f5f3f5;font:inherit;font-size:3.8cqw}.call-message-compose button{padding:2cqw 4cqw;border-radius:3cqw;background:#ff956e;color:#fff;font-size:3.5cqw}

/* Keep the final recommendation visible; batch completion is inline. */
.recommend-footer{position:absolute;left:5.1cqw;right:5.1cqw;top:192cqw;min-height:12.4cqw;display:flex;align-items:center;justify-content:center;gap:12px}
.recommend-footer.is-last{justify-content:space-between}
.recommend-footer-copy{margin:0;color:#817a85;font-size:3.1cqw;line-height:1.6;font-weight:500}
.batch-refresh{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:100px;padding:0 14px;border:1px solid #f4d7cc;border-radius:24px;background:#fff6f0;color:#aa4e31;font:inherit;font-size:3.4cqw;font-weight:650;box-shadow:none;white-space:nowrap}
.batch-refresh[hidden]{display:none}
.batch-refresh svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.batch-refresh:disabled{opacity:.65;cursor:wait}
.batch-refresh:focus-visible{outline:2px solid #bd5736;outline-offset:3px}
.profile-card.at-boundary{animation:recommend-boundary 220ms ease-out}
@keyframes recommend-boundary{0%,100%{transform:translateX(0)}45%{transform:translateX(-7px)}}
@media(prefers-reduced-motion:reduce){.profile-card.at-boundary{animation:none}}
