@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
.consent-screen,.exit-screen{position:fixed;z-index:20;inset:0;background:linear-gradient(145deg,#fff7f8,#f4f0ff);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.consent-screen.hide{display:none}.consent-card{width:min(430px,100%);background:#fff;border:1px solid #f1e7ec;border-radius:26px;padding:23px 20px;box-shadow:0 16px 45px #47364b18;text-align:center}.consent-mark{display:grid;place-items:center;margin:auto;width:39px;height:39px;background:linear-gradient(135deg,var(--pink),#ff967f);border-radius:14px;color:#fff;font-size:22px}.eyebrow{font-size:11px;color:#a097a5;margin:10px 0 3px}.consent-card h1{font-size:22px;margin:0 0 14px}.consent-copy{max-height:52vh;overflow:auto;text-align:left;border:1px solid var(--line);border-radius:14px;padding:8px 12px;background:#fdfcfd}.consent-copy h3{font-size:12px;margin:12px 0 3px;color:#544c5b}.consent-copy p{font-size:10px;line-height:1.65;color:#736c79;margin:0 0 8px}.consent-copy p:first-child{background:#fff5e9;border-radius:9px;padding:8px;color:#826e50}.consent-card .primary{margin-top:13px}.decline-btn{width:100%;padding:10px;background:transparent;border:0;color:#918b96;font-size:12px;margin-top:3px}.exit-screen{display:none;text-align:center}.exit-screen.show{display:flex}.exit-screen span{color:var(--pink);font-size:30px}.exit-screen h1{font-size:22px;margin:8px}.exit-screen p{font-size:12px;color:var(--muted)}
.card-gallery-nav{position:absolute;z-index:2;top:50%;left:12px;right:12px;transform:translateY(-50%);display:flex;align-items:center;justify-content:space-between;opacity:0;transition:opacity .18s;pointer-events:none}.person-card:hover .card-gallery-nav,.person-card:focus-within .card-gallery-nav{opacity:1;pointer-events:auto}.card-gallery-nav button{width:36px;height:36px;border:0;border-radius:50%;background:#18131a99;color:#fff;font-size:30px;line-height:30px}.card-gallery-nav button:hover{background:var(--pink)}@media(hover:none){.card-gallery-nav{opacity:1;pointer-events:auto}}
.primary:disabled{opacity:.55;cursor:not-allowed}
.demo-note{font-size:11px;color:var(--muted);line-height:1.6}.achievement-compact{margin:16px 0;padding:12px 0;border-top:1px solid var(--line)}.achievement-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.achievement-heading b{color:#b84a66}.achievement-heading select{max-width:100px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:10px}.achievement-compact progress{display:block;appearance:none;width:100%;height:5px;margin:9px 0 6px;border:0;border-radius:8px;overflow:hidden;background:#eee8ed}.achievement-compact progress::-webkit-progress-bar{background:#eee8ed;border-radius:8px}.achievement-compact progress::-webkit-progress-value{background:var(--pink);border-radius:8px}.achievement-compact progress::-moz-progress-bar{background:var(--pink);border-radius:8px}.achievement-stages{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;font-size:10px;color:#827889}.achievement-stages span{text-align:center}.achievement-stages .unlocked{color:#b84a66}.achievement-compact p{font-size:10px;color:var(--muted);margin:6px 0 0}
.rank-tabs{display:flex;gap:8px;margin:-5px 0 14px}.rank-tabs button{border:1px solid var(--line);background:#fff;border-radius:18px;padding:7px 13px;color:var(--muted);font-size:12px}.rank-tabs button.active{border-color:#ffd3dc;background:var(--soft);color:var(--pink)}.empty-rank{text-align:center;color:var(--muted);font-size:12px;background:#faf8fb;border-radius:14px;padding:26px 12px}
.my-score-card{background:linear-gradient(135deg,#fff2f5,#f4f0ff);border-radius:19px;padding:16px;margin-bottom:13px}.my-score-main{display:flex;justify-content:space-between;align-items:start}.my-score-main p{margin:0;color:#776f7d;font-size:11px}.my-score-main strong{display:block;font-size:35px;line-height:1.15;margin:3px 0}.my-score-main span{font-size:10px;color:var(--muted)}.score-verified{background:#fff;color:#329665;box-shadow:0 2px 6px #5a456112}.my-score-stats{display:flex;margin-top:13px;padding-top:11px;border-top:1px solid #e6dfea}.my-score-stats div{flex:1;text-align:center;border-right:1px solid #e5dfeb}.my-score-stats div:last-child{border:0}.my-score-stats b{display:block;font-size:15px}.my-score-stats span{font-size:9px;color:var(--muted)}.recent-ratings{border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:13px}.rating-rule{font-size:10px;line-height:1.5;color:#927c65;background:#fff7e9;border-radius:9px;padding:7px 8px;margin:9px 0 5px}.recent-rating{display:flex;align-items:center;gap:9px;padding:10px 2px;border-bottom:1px solid #f3f0f4}.recent-rating:last-child{border-bottom:0}.rating-number{display:grid;place-items:center;min-width:34px;height:27px;border-radius:8px;background:#fff0f3;color:var(--pink);font-size:11px;font-weight:700}.recent-rating div{flex:1}.recent-rating b{display:block;font-size:11px}.recent-rating small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.rating-state{font-size:9px;color:#3b9b68;background:#effaf3;border-radius:10px;padding:4px 6px}.recent-rating.excluded{opacity:.7}.recent-rating.excluded .rating-number{background:#f2f0f3;color:#8e8793}.recent-rating.excluded .rating-state{color:#9a7840;background:#fff7e8}
:root{--ink:#292433;--muted:#8f8997;--pink:#ff5f7e;--peach:#ff9078;--line:#eeeaf2;--soft:#fff4f6}*{box-sizing:border-box}body{margin:0;background:#eceaf0;color:var(--ink);font-family:"DM Sans","Noto Sans SC",sans-serif}.app-shell{max-width:430px;min-height:100vh;margin:auto;background:#fff;position:relative;overflow:hidden;padding:18px 18px 98px}.topbar{height:42px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:700;font-size:17px}.brand:first-letter{color:var(--pink)}button{font-family:inherit;cursor:pointer}.quota{border:0;background:#fff1f4;color:var(--pink);border-radius:18px;padding:7px 10px;font-size:12px}.screen{display:none}.screen.active{display:block}.filter-row{display:flex;gap:8px;margin:17px 0 13px}.chip{border:1px solid var(--line);background:#fff;padding:7px 13px;border-radius:20px;font:500 12px inherit;color:var(--muted)}.chip.active{border-color:#ffd3dc;background:var(--soft);color:var(--pink)}.progress{display:flex;align-items:center;justify-content:space-between;margin:0 3px 11px;font-size:11px;color:var(--muted)}.progress>div{width:78px;height:5px;border-radius:5px;background:#f0eef3;overflow:hidden}.progress i{height:100%;display:block;width:10%;background:linear-gradient(90deg,var(--pink),var(--peach));border-radius:5px}.person-card{height:470px;border-radius:25px;position:relative;overflow:hidden;background:#eee;box-shadow:0 12px 28px #34274717;cursor:pointer}.person-card>img{width:100%;height:100%;object-fit:cover}.photo-shade{position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(13,11,19,.8))}.person-meta{position:absolute;bottom:25px;left:23px;right:23px;color:#fff;display:flex;justify-content:space-between;align-items:end}.person-meta h1{margin:0 0 5px;font-size:26px}.person-meta p{margin:0;font-size:13px;opacity:.86}.verified{font-size:10px;background:#ffffff28;padding:6px 8px;border-radius:14px;backdrop-filter:blur(4px);white-space:nowrap}.tap-hint{position:absolute;right:20px;top:17px;font-size:10px;color:#fff;background:#1118;border-radius:14px;padding:6px 9px}.rating-panel{margin-top:18px}.rating-head{display:flex;justify-content:space-between;font-size:14px;font-weight:600}.muted{color:var(--muted);font-size:11px;font-weight:400}.score-row{display:flex;justify-content:space-between;margin:15px 0 10px}.score{border:0;border-radius:50%;width:32px;height:32px;background:#f7f5f9;font:600 13px inherit;color:#777181}.score:hover{transform:translateY(-2px);background:var(--pink);color:#fff}.score-tip{text-align:center;margin:0;font-size:10px;color:#aaa5b1}.bottom-nav{position:absolute;bottom:0;left:0;right:0;height:80px;border-top:1px solid #f2f0f4;background:#fff;display:flex;justify-content:space-around;padding-top:11px}.nav-item{background:transparent;border:0;color:#a8a3b0;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:58px;font-size:20px}.nav-item small{font:500 10px inherit}.nav-item.active{color:var(--pink)}.page-heading{margin:27px 2px 19px}.page-heading p{font-size:12px;color:var(--muted);margin:0 0 3px}.page-heading h2{font-size:25px;margin:0}.rank-row{display:flex;align-items:center;gap:11px;padding:12px 3px;border-bottom:1px solid #f3f0f5;cursor:pointer}.rank-row>span{width:18px;text-align:center;font-size:13px;color:#9e98a7}.rank-row img{width:48px;height:48px;border-radius:14px;object-fit:cover}.rank-row div{flex:1}.rank-row b{display:block;font-size:13px}.rank-row small{color:var(--muted);font-size:11px}.rank-row em{font-style:normal;color:var(--pink);font-size:16px;font-weight:700}.review-card{display:flex;gap:10px;background:#effaf3;border:1px solid #cfefd9;border-radius:15px;padding:12px;margin-bottom:14px}.review-card.pending{background:#fff8e9;border-color:#f3dfaa}.status-dot{width:9px;height:9px;border-radius:50%;background:#4fc881;margin-top:5px;flex:0 0 auto}.pending .status-dot{background:#efb83e}.review-card b{font-size:13px}.review-card p,.upload-panel>p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.upload-panel{border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:13px}.section-title{display:flex;justify-content:space-between;align-items:center;font-size:13px}.section-title>span{color:var(--pink);font-size:11px}.optional{color:var(--muted)!important}.upload-grid{display:flex;gap:8px;margin-top:12px}.upload-photo{width:calc((100% - 16px)/3);aspect-ratio:1;border-radius:11px;overflow:hidden;position:relative}.upload-photo img{width:100%;height:100%;object-fit:cover}.upload-photo span{position:absolute;left:3px;right:3px;bottom:3px;background:#222b;color:#fff;font-size:8px;text-align:center;border-radius:4px;padding:2px}.upload-add{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:9px;border:1px dashed #e3bec7;color:var(--pink);border-radius:10px;height:41px;font-size:20px;cursor:pointer}.upload-add small{font-size:9px}.video-upload{display:flex;align-items:center;gap:8px;margin-top:11px;border:1px dashed #d8cce8;border-radius:11px;padding:10px;cursor:pointer}.video-upload span{display:grid;place-items:center;background:#f2ecff;color:#8c70dc;border-radius:9px;width:28px;height:28px}.video-upload b{font-size:11px}.video-upload small{color:var(--muted);font-size:9px;margin-left:auto}.badge-section{margin:17px 1px}.badges,.badge-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.badge{font-size:10px;color:#a56719;background:#fff7df;border:1px solid #f6df9e;border-radius:13px;padding:5px 8px}.primary{border:0;background:linear-gradient(90deg,var(--pink),#ff7b82);border-radius:18px;color:#fff;padding:12px;width:100%;font:600 13px inherit}.modal-backdrop{display:none;position:fixed;inset:0;background:#17121a88;z-index:5;align-items:end;justify-content:center}.modal-backdrop.show{display:flex}.profile-modal{width:min(430px,100%);background:#fff;border-radius:26px 26px 0 0;max-height:92vh;overflow:auto;position:relative}.modal-hero{width:100%;height:255px;object-fit:cover}.modal-content{padding:18px}.modal-name{display:flex;align-items:start;justify-content:space-between}.modal-name h2{margin:0;font-size:23px}.modal-name p{margin:4px 0;color:var(--muted);font-size:12px}.modal-name .verified{background:#effaf3;color:#329665}.profile-stats{display:flex;justify-content:space-around;background:#faf8fb;border-radius:15px;padding:12px;margin-top:15px;text-align:center}.profile-stats b{display:block;font-size:18px}.profile-stats span{font-size:10px;color:var(--muted)}.privacy-note{font-size:11px;color:var(--muted);line-height:1.55;margin:12px 2px}.gallery{display:flex;gap:7px;margin-bottom:14px}.gallery img{width:calc((100% - 14px)/3);aspect-ratio:.9;object-fit:cover;border-radius:10px}.modal-close{position:absolute;right:13px;top:11px;z-index:2;border:0;border-radius:50%;width:30px;height:30px;background:#1119;color:#fff;font-size:22px;line-height:1}.center{align-items:center;padding:20px}.dialog{width:min(350px,100%);background:#fff;border-radius:24px;padding:31px 25px;text-align:center;position:relative}.dialog .modal-close{background:transparent;color:#999;top:8px}.dialog-icon{font-size:27px;color:#50bf7a}.dialog h3{font-size:17px;margin:8px}.dialog strong{font-size:26px}.dialog strong i{font-style:normal;color:var(--pink)}.dialog p{font-size:11px;line-height:1.6;color:var(--muted)}.toast{position:fixed;left:50%;top:24px;transform:translate(-50%,-15px);opacity:0;transition:.25s;background:#292531;color:#fff;padding:10px 15px;border-radius:20px;font-size:12px;z-index:9;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:600px){body{padding:20px}.app-shell{min-height:780px;border-radius:30px;box-shadow:0 10px 40px #40344d20}.modal-backdrop{position:absolute}}
