:root{--ink:#31242d;--muted:#8e7c86;--berry:#b84c78;--berry-dark:#8f315d;--sage:#8aa895}*{box-sizing:border-box}html{background:#eee8e9}body{margin:0;color:var(--ink);background:radial-gradient(circle at 20% 0%,rgba(255,255,255,.9),transparent 26%),linear-gradient(145deg,#f4edef,#e9e0e3);font-family:var(--font-geist-sans),"PingFang SC","Microsoft YaHei",sans-serif}button{font:inherit}.app-shell{position:relative;width:min(100%,430px);min-height:100dvh;margin:0 auto;padding:max(22px,env(safe-area-inset-top)) 20px calc(104px + env(safe-area-inset-bottom));overflow:hidden;background:linear-gradient(#fffbf8e8,#fff8f7f7),repeating-linear-gradient(112deg,transparent 0 42px,rgba(184,76,120,.04) 43px 44px);box-shadow:0 0 60px #40263224}.app-shell:before{content:"dream  courage  bloom  become";position:absolute;top:104px;left:-36px;color:#b84c780b;font-family:Georgia,serif;font-size:50px;font-style:italic;line-height:1.6;transform:rotate(-8deg);pointer-events:none}.topbar,.section-heading,.team-title-row,.week-title{display:flex;align-items:center;justify-content:space-between}.topbar{position:relative;z-index:1;margin-bottom:20px}.eyebrow,.section-kicker{margin:0 0 4px;color:var(--berry);font-size:10px;font-weight:800;letter-spacing:.17em}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-family:Georgia,Songti SC,serif;font-size:27px;letter-spacing:-.04em}h1 span{margin-left:7px;color:var(--berry);font-size:16px}h2{margin-bottom:0;font-family:Georgia,Songti SC,serif;font-size:19px}.avatar-button{width:44px;height:44px;border:1px solid rgba(143,49,93,.18);border-radius:50%;color:#fff;background:linear-gradient(145deg,#d98aa7,#a94170);box-shadow:0 7px 20px #a9417038;cursor:pointer}.quote-card{position:relative;min-height:161px;padding:31px 27px 24px;overflow:hidden;color:#fff;border-radius:25px 25px 25px 8px;background:linear-gradient(138deg,#9d3f69,#c86689 58%,#dda3b0);box-shadow:0 18px 38px #8b355a3d}.quote-card:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(255,255,255,.17);border-radius:50%;right:-48px;bottom:-80px;box-shadow:0 0 0 22px #ffffff0a,0 0 0 44px #ffffff08}.quote-mark{position:absolute;top:8px;left:18px;color:#ffffff4d;font-family:Georgia,serif;font-size:65px;line-height:1}.quote-en{position:relative;max-width:295px;margin-bottom:18px;font-family:Georgia,serif;font-size:22px;font-style:italic;line-height:1.28}.quote-meta{display:flex;flex-direction:column;gap:3px;font-size:11px;letter-spacing:.04em;opacity:.9}.quote-translation{color:#ffe8ee}.sparkle{position:absolute;color:#ffffffa6}.s1{top:19px;right:30px}.s2{right:78px;bottom:28px}.today-section{position:relative;margin:29px 0 25px}.section-heading{align-items:flex-end;margin-bottom:15px}.section-kicker{color:#ae8292}.streak-pill,.team-score{padding:7px 11px;border-radius:99px;color:var(--berry-dark);background:#f8e3e9;font-size:11px;font-weight:700}.checkin-card{display:flex;align-items:center;width:100%;padding:18px;border:0;border-radius:20px;color:#fff;text-align:left;background:var(--ink);box-shadow:0 13px 28px #31242d2e;cursor:pointer}.checkin-card:active{transform:scale(.99)}.upload-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;margin-right:14px;border-radius:15px;background:#fff;color:var(--berry);font-size:25px;font-weight:300}.checkin-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.checkin-copy strong{font-size:15px}.checkin-copy small{color:#cdbfc6;font-size:11px}.arrow{font-family:Georgia,serif;font-size:27px;opacity:.6}.rule-row{display:flex;align-items:center;gap:7px;padding:10px 4px 0;color:var(--muted);font-size:10px}.rule-row button{margin-left:auto;padding:0;border:0;color:var(--berry);background:transparent;font-size:10px}.dot{color:#d4bdc6}.team-card,.week-card{position:relative;margin-bottom:15px;padding:20px;border:1px solid rgba(99,67,80,.08);border-radius:22px;background:#ffffffc7;box-shadow:0 12px 32px #4e333e12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.team-title-row{margin-bottom:14px}.progress-track{height:5px;margin-bottom:19px;overflow:hidden;border-radius:99px;background:#eee5e8}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--berry),#e6a0b4)}.members{display:flex;justify-content:space-between}.member,.invite-member{display:flex;align-items:center;flex-direction:column;gap:7px;color:#796570;font-size:10px}.member-avatar,.invite-member b{position:relative;display:grid;place-items:center;width:43px;height:43px;border-radius:50%;color:#a5798b;background:#f3ebed;font-size:13px;font-weight:600}.member-avatar.done{color:#fff;background:linear-gradient(150deg,#cf7e9c,#a53f6d)}.member-avatar i{position:absolute;right:-1px;bottom:-2px;display:grid;place-items:center;width:17px;height:17px;border:2px solid #fff;border-radius:50%;color:#fff;background:var(--sage);font-size:8px;font-style:normal}.invite-member{padding:0;border:0;background:transparent}.invite-member b{border:1px dashed #d4b4c0;color:var(--berry);background:transparent;font-size:20px;font-weight:300}.week-title{margin-bottom:18px}.week-title h2{font-size:17px}.week-title span{color:var(--sage);font-size:11px;font-weight:700}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day{display:flex;align-items:center;flex-direction:column;gap:8px;color:#ad9da4;font-size:9px}.day b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f3edef;font-size:10px;font-weight:600}.day b.completed{color:#fff;background:#be6989}.day b.current{color:var(--berry-dark);border:1px solid #d7799c;background:#fff;box-shadow:0 0 0 3px #f8e3ea}.bottom-nav{position:fixed;z-index:10;right:0;bottom:0;left:0;display:flex;justify-content:space-around;width:min(100%,430px);margin:auto;padding:12px 12px calc(11px + env(safe-area-inset-bottom));border-top:1px solid rgba(94,61,74,.08);background:#fffcfbed;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{display:flex;align-items:center;width:70px;padding:0;border:0;flex-direction:column;gap:3px;color:#a5949c;background:transparent;font-size:9px}.bottom-nav button span{font-size:21px;line-height:1}.bottom-nav button.active{color:var(--berry-dark);font-weight:700}@media(min-width:720px){body{padding:22px 0}.app-shell{min-height:calc(100dvh - 44px);border-radius:32px}.bottom-nav{bottom:22px;border-radius:0 0 32px 32px}}@media(prefers-reduced-motion:no-preference){.quote-card{animation:rise .55s ease-out both}.today-section{animation:rise .55s .08s ease-out both}.team-card{animation:rise .55s .14s ease-out both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}}.checked-card{background:linear-gradient(135deg,#587668,#8eaa98)}.empty-team-card{position:relative;display:flex;align-items:center;width:100%;margin-bottom:15px;padding:19px;border:1px dashed #d9afbf;border-radius:22px;color:var(--ink);text-align:left;background:#ffffffb8}.empty-team-card>b{display:grid;place-items:center;flex:0 0 45px;height:45px;margin-right:13px;border-radius:15px;color:var(--berry);background:#f9e8ed;font-size:22px;font-weight:300}.empty-team-card>span{display:flex;flex:1;flex-direction:column;gap:4px}.empty-team-card strong{font-size:14px}.empty-team-card small{color:var(--muted);font-size:10px}.empty-team-card i{color:#b893a1;font-family:Georgia,serif;font-size:24px;font-style:normal}.page-panel{position:relative;min-height:640px;padding:9px 0 28px}.page-heading{margin:17px 0 25px}.page-heading h2{margin-bottom:7px;font-size:23px}.page-heading>p:last-child{margin:0;color:var(--muted);font-size:12px}.empty-page{display:flex;align-items:center;min-height:65vh;text-align:center;flex-direction:column;justify-content:center}.empty-page h2{max-width:270px;margin:6px auto 10px;font-size:23px;line-height:1.45}.empty-page>p:not(.section-kicker){max-width:250px;color:var(--muted);font-size:13px;line-height:1.7}.large-symbol{display:grid;place-items:center;width:78px;height:78px;margin-bottom:23px;border-radius:50%;color:var(--berry);background:#f8e4ea;font-size:38px;box-shadow:0 0 0 12px #f8e4ea73}.primary-button,.secondary-button{min-height:48px;padding:0 24px;border:0;border-radius:15px;color:#fff;background:linear-gradient(135deg,#a63f6d,#c96d8e);box-shadow:0 10px 23px #a63f6d30;font-size:13px;font-weight:700;cursor:pointer}.primary-button:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}.primary-button.full,.secondary-button{width:100%}.secondary-button{margin-top:18px;color:var(--berry-dark);border:1px solid #e3becb;background:#fff;box-shadow:none}.invite-code{display:grid;grid-template-columns:1fr auto;gap:5px 14px;margin-bottom:19px;padding:19px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#91375e,#ca6d8d);box-shadow:0 13px 28px #91375e33}.invite-code span{grid-column:1;font-size:10px;opacity:.75}.invite-code strong{grid-column:1;font-family:var(--font-geist-sans);font-size:25px;letter-spacing:.18em}.invite-code button{grid-column:2;grid-row:1/3;align-self:center;padding:8px 12px;border:1px solid rgba(255,255,255,.35);border-radius:99px;color:#fff;background:#ffffff1f;font-size:10px}.team-list,.record-list{display:flex;flex-direction:column;gap:10px}.team-list-item,.record-item{display:flex;align-items:center;padding:14px;border:1px solid rgba(99,67,80,.07);border-radius:18px;background:#ffffffc7;box-shadow:0 8px 20px #4e333e0d}.team-list-item>.member-avatar{flex:0 0 42px;margin-right:12px}.team-list-item>div{display:flex;flex:1;flex-direction:column;gap:3px}.team-list-item>div strong{font-size:13px}.team-list-item>div small{color:var(--muted);font-size:10px}.team-list-item>b{font-size:10px}.done-text{color:#6f987f}.pending-text{color:#b09ba4;font-weight:500!important}.privacy-note{margin:17px 5px 0;color:#9b8791;font-size:10px;line-height:1.65;text-align:center}.record-item{padding:12px 15px}.date-box{display:flex;align-items:center;justify-content:center;flex:0 0 46px;height:49px;margin-right:13px;border-radius:14px;flex-direction:column;color:var(--berry-dark);background:#f7e7ec}.date-box strong{font-family:Georgia,serif;font-size:19px;line-height:1}.date-box span{font-size:8px}.record-item>div:nth-child(2){display:flex;flex:1;flex-direction:column;gap:5px}.record-item>div:nth-child(2) strong{font-size:13px}.record-item>div:nth-child(2) span{color:var(--muted);font-size:10px}.record-item>b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#fff;background:#8aa895;font-size:10px}.no-records{padding:55px 20px;color:var(--muted);text-align:center;font-size:12px}.profile-hero{display:flex;align-items:center;padding:24px 0 27px;flex-direction:column}.profile-hero>span{display:grid;place-items:center;width:72px;height:72px;margin-bottom:13px;border:4px solid #fff;border-radius:50%;color:#fff;background:linear-gradient(145deg,#d98aa7,#a94170);box-shadow:0 9px 26px #a941703b;font-size:22px}.profile-hero h2{margin-bottom:4px;font-size:23px}.profile-hero p{margin-bottom:10px;color:var(--muted);font-size:10px}.profile-hero button{border:0;color:var(--berry);background:transparent;font-size:10px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:18px;padding:18px 8px;border:1px solid rgba(99,67,80,.07);border-radius:20px;background:#fff}.profile-stats div{display:flex;align-items:center;gap:4px;flex-direction:column;border-right:1px solid #eee4e8}.profile-stats div:last-child{border:0}.profile-stats strong{font-family:Georgia,serif;font-size:21px}.profile-stats span{color:var(--muted);font-size:9px}.settings-list{overflow:hidden;border:1px solid rgba(99,67,80,.07);border-radius:20px;background:#fff}.settings-list button,.settings-list>a,.settings-list>div{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;padding:0 17px;border:0;border-bottom:1px solid #f1e9ec;color:var(--ink);text-decoration:none;background:#fff;font-size:12px}.settings-list>:last-child{border-bottom:0}.settings-list small{color:var(--muted);font-size:9px}.modal-backdrop{position:fixed;z-index:50;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#2a1d2575;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-sheet{width:min(100%,430px);max-height:92dvh;padding:9px 20px calc(22px + env(safe-area-inset-bottom));overflow:auto;border-radius:28px 28px 0 0;background:#fffaf8;box-shadow:0 -20px 60px #2d1b2433;animation:sheetUp .28s ease-out}.modal-handle{width:38px;height:4px;margin:0 auto 10px;border-radius:99px;background:#ddced4}.modal-sheet>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-sheet>header h2{font-size:20px}.modal-sheet>header button{width:33px;height:33px;border:0;border-radius:50%;color:#79626c;background:#f2e8eb;font-size:21px}.modal-tip{margin:13px 3px;color:#9a858f;font-size:9px;line-height:1.6}.form-error{margin:10px 2px;padding:9px 11px;border-radius:10px;color:#9c385c;background:#f9e5eb;font-size:10px}.date-select-label,.field-label{display:flex;margin-bottom:13px;color:#6d5661;flex-direction:column;gap:7px;font-size:10px;font-weight:700}.date-select-label select,.field-label input{width:100%;height:46px;padding:0 13px;border:1px solid #e5d4db;border-radius:13px;outline:none;color:var(--ink);background:#fff;font-size:13px}.field-label input:focus,.date-select-label select:focus{border-color:#c86b8d;box-shadow:0 0 0 3px #f8e6ec}.upload-zone{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:176px;padding:20px;overflow:hidden;border:1px dashed #d6aabd;border-radius:18px;color:var(--berry);flex-direction:column;gap:7px;background:#fcf2f5}.upload-zone>b{display:grid;place-items:center;width:46px;height:46px;margin-bottom:3px;border-radius:14px;color:#fff;background:var(--berry);font-size:23px}.upload-zone>strong{font-size:13px}.upload-zone>span{color:#9d8790;font-size:9px}.upload-zone.has-preview{height:230px;padding:0;border-style:solid;background:#34282e}.upload-zone img{width:100%;height:100%;object-fit:contain}.scan-overlay{position:absolute;inset:auto 0 0;display:flex;height:42px;align-items:center;justify-content:center;color:#fff;background:#31242ddb;font-size:10px}.scan-overlay i{position:absolute;bottom:0;left:0;height:3px;background:#e790ae;transition:width .2s}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.check-grid>div{display:flex;align-items:center;padding:10px 8px;border-radius:13px;gap:7px;background:#f4eef0}.check-grid>div>b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;color:#fff;flex:0 0 21px;font-size:9px}.check-grid>div>span{display:flex;flex-direction:column;gap:2px;font-size:9px}.check-grid small{color:#8f7c85;font-size:8px}.check-grid .pass{background:#eaf3ed}.check-grid .pass>b{background:#7fa28e}.check-grid .fail{background:#f8eaee}.check-grid .fail>b{background:#c66787}.check-grid .waiting>b{color:#907983;background:#e5d9de}.segmented{display:grid;grid-template-columns:1fr 1fr;margin-bottom:19px;padding:4px;border-radius:13px;background:#f1e8eb}.segmented button{height:37px;border:0;border-radius:10px;color:#9a838d;background:transparent;font-size:11px}.segmented button.active{color:var(--berry-dark);background:#fff;box-shadow:0 4px 12px #4d303c14;font-weight:700}.rules-list{display:flex;flex-direction:column;gap:10px}.rules-list>div{display:flex;padding:14px;border-radius:16px;background:#f9f0f3;gap:13px}.rules-list>div>b{color:#c27893;font-family:Georgia,serif;font-size:17px}.rules-list>div>span{display:flex;flex-direction:column;gap:4px}.rules-list strong{font-size:12px}.rules-list small{color:#8e7982;font-size:9px;line-height:1.6}.toast{position:fixed;z-index:80;bottom:calc(85px + env(safe-area-inset-bottom));left:50%;padding:11px 18px;border-radius:99px;color:#fff;background:#382830;box-shadow:0 10px 30px #2d1c2540;font-size:11px;transform:translate(-50%);animation:toastIn .25s ease-out;white-space:nowrap}.loading-screen{display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column}.loading-screen h1{margin-bottom:12px}.loading-screen>span{color:var(--muted);font-size:11px}.brand-orbit{display:grid;place-items:center;width:70px;height:70px;margin-bottom:20px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#d98aa7,#a94170);box-shadow:0 0 0 12px #f5e3e9;animation:pulse 1.5s ease-in-out infinite}@keyframes sheetUp{0%{transform:translateY(100%)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}}@keyframes pulse{50%{transform:scale(.94)}}@media(min-width:720px){.modal-backdrop{align-items:center}.modal-sheet{border-radius:28px}.toast{bottom:40px}}.auth-shell{width:min(100%,430px);min-height:100dvh;margin:0 auto;padding:max(38px,env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));background:radial-gradient(circle at 110% -10%,#f2b9ca 0,transparent 35%),linear-gradient(155deg,#fffaf7 25%,#f5e6eb);box-shadow:0 0 60px #40263224}.auth-brand{position:relative;padding:11px 8px 31px;text-align:center}.auth-logo{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:19px;color:#fff;background:linear-gradient(145deg,#d98aa7,#9d3f69);box-shadow:0 12px 27px #9f3b663d;font-size:21px;transform:rotate(-4deg)}.auth-brand h1{margin-bottom:18px;font-size:31px}.auth-brand blockquote{max-width:320px;margin:0 auto;color:#7d6671;font-family:Georgia,serif;font-size:13px;font-style:italic;line-height:1.55}.auth-brand blockquote span{display:block;margin-top:5px;color:#ae8f9b;font-family:var(--font-geist-sans),sans-serif;font-size:9px;font-style:normal}.auth-card{padding:19px;border:1px solid rgba(103,63,80,.08);border-radius:27px;background:#ffffffdb;box-shadow:0 19px 47px #5431411c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.auth-tabs{margin-bottom:21px}.auth-heading{margin-bottom:18px;text-align:center}.auth-heading h2{margin-bottom:5px;font-size:21px}.auth-heading p{margin:0;color:var(--muted);font-size:10px}.password-field{position:relative}.password-field input{padding-right:54px}.password-field button{position:absolute;top:50%;right:10px;padding:5px;border:0;color:var(--berry);background:transparent;font-size:9px;transform:translateY(-50%)}.auth-submit{margin-top:4px}.auth-security{display:flex;align-items:flex-start;gap:7px;margin:15px 5px 0;color:#94808a;font-size:9px;line-height:1.55}.auth-security span{color:var(--sage);font-size:13px}@media(min-width:720px){.auth-shell{min-height:calc(100dvh - 44px);margin:22px auto;border-radius:32px}}.user-avatar{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;overflow:hidden;border:2px solid rgba(255,255,255,.9);border-radius:50%;color:#fff;background:linear-gradient(145deg,#f2b0c4,#9e3f6a);box-shadow:0 6px 16px #853a5926;font-size:21px}.user-avatar img{width:100%;height:100%;object-fit:cover}.avatar-button{display:grid;place-items:center;padding:0;overflow:visible;background:transparent}.avatar-button .user-avatar{width:44px;height:44px;border:0}.members{gap:8px}.member{min-width:0;flex:1}.member .user-avatar.done{box-shadow:0 0 0 3px #d9eadf}.team-list-item>.user-avatar{margin-right:12px}.bottom-nav button{width:58px}.points-banner{display:flex;align-items:center;justify-content:space-between;width:100%;margin:13px 0 4px;padding:13px 16px;border:1px solid #efd7df;border-radius:17px;color:var(--ink);background:linear-gradient(110deg,#fff,#f9e8ee);box-shadow:0 8px 24px #6232470f}.points-banner>span{color:var(--muted);font-size:10px}.points-banner>strong{margin-left:10px;color:var(--berry-dark);font-family:Georgia,serif;font-size:21px}.points-banner>strong small{font-family:inherit;font-size:9px}.points-banner>b{margin-left:auto;color:var(--berry);font-size:10px}.today-section{margin-top:22px}.rule-row{justify-content:flex-end}.rule-row button{margin-left:0}.profile-hero>.user-avatar{width:78px;height:78px;margin-bottom:13px;border:4px solid #fff;font-size:32px}.profile-hero>.royal-title{display:inline-flex;width:auto;height:auto;margin:-4px 0 8px;padding:4px 10px;border:0;border-radius:99px;color:var(--berry-dark)!important;background:#f8e4ea!important;box-shadow:none!important;font-family:Georgia,serif;font-size:9px!important;letter-spacing:.08em}.profile-hero button{margin-top:2px}.points-total{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;padding:23px;overflow:hidden;border-radius:23px;color:#fff;background:linear-gradient(135deg,#8d315a,#c96c8c);box-shadow:0 15px 32px #8e315a38}.points-total:after{content:"♛";position:absolute;right:16px;color:#ffffff1a;font-size:74px}.points-total span{font-size:11px;opacity:.8}.points-total strong{z-index:1;font-family:Georgia,serif;font-size:37px}.points-tabs{margin-bottom:12px}.ranking-list{display:flex;flex-direction:column;gap:9px}.ranking-item{display:flex;align-items:center;min-height:66px;padding:10px 13px;border:1px solid rgba(99,67,80,.07);border-radius:18px;background:#ffffffd1;box-shadow:0 7px 20px #4e333e0d}.ranking-item>b{width:30px;color:#aa8d99;text-align:center;font-family:Georgia,serif}.ranking-item>.user-avatar{margin:0 11px 0 4px}.ranking-item>div{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.ranking-item>div strong{font-size:13px}.ranking-item>div span{color:var(--muted);font-size:9px}.ranking-item em{color:var(--berry-dark);font-size:16px;font-style:normal;font-weight:800}.ranking-item em small{font-size:8px}.ranking-item.rank-1{border-color:#e9c879;background:linear-gradient(110deg,#fffaf0,#fff)}.ranking-item.rank-1>b{color:#c99b2a;font-size:19px}.record-item>b{width:auto;min-width:39px;padding:0 7px;border-radius:99px}.date-range{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:9px}.date-range>span{padding-bottom:14px;color:#b99fac}.date-range label{display:flex;color:#735d67;flex-direction:column;gap:6px;font-size:9px;font-weight:700}.date-range select{height:43px;padding:0 9px;border:1px solid #e4d2d9;border-radius:12px;color:var(--ink);background:#fff;font-size:11px}.batch-count{margin:10px 2px 13px;color:var(--berry);font-size:10px;font-weight:700}.batch-list{display:flex;max-height:48dvh;margin-bottom:13px;overflow:auto;flex-direction:column;gap:9px}.batch-item{display:grid;grid-template-columns:72px 76px 1fr;align-items:center;gap:9px;padding:10px;border:1px solid #eadde2;border-radius:16px;background:#fff}.batch-item.batch-failed{border-color:#d88ba5;background:#fff7f8}.batch-date{display:flex;flex-direction:column;gap:3px}.batch-date strong{font-size:11px}.batch-date span{color:var(--muted);font-size:8px}.batch-upload{position:relative;display:grid;place-items:center;width:76px;height:58px;padding:0;overflow:hidden;border:1px dashed #d6aabd;border-radius:11px;color:var(--berry);background:#fcf1f4;font-size:9px}.batch-upload img{width:100%;height:100%;object-fit:cover}.batch-upload i{position:absolute;right:0;bottom:0;left:0;height:3px;background:var(--berry)}.batch-checks{display:flex;min-width:0;flex-wrap:wrap;gap:4px 7px;color:var(--muted);font-size:8px}.batch-checks .ok{color:#568069}.batch-checks .bad{color:#ba416b}.batch-item ul{grid-column:1/-1;margin:0;padding:7px 8px 2px 20px;color:#a43a60;font-size:9px;line-height:1.5}.avatar-editor{display:flex;align-items:center;justify-content:center;margin-bottom:12px;gap:14px}.avatar-editor>.user-avatar{width:76px;height:76px;font-size:31px}.avatar-editor>button{padding:8px 13px;border:1px solid #e4bdca;border-radius:99px;color:var(--berry);background:#fff;font-size:10px}.avatar-presets{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:17px}.avatar-presets button{display:grid;place-items:center;aspect-ratio:1;border:1px solid #eadce1;border-radius:50%;background:#fff;font-size:20px}.avatar-presets button.active{border-color:var(--berry);box-shadow:0 0 0 3px #f6dfe7}.gender-setting>span{display:block;margin-bottom:7px;color:#6d5661;font-size:10px;font-weight:700}.pep-storm{position:fixed;z-index:120;inset:0;overflow:hidden;background:radial-gradient(circle at center,#531e38bd,#190f15f0);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.pep-card{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:min(84vw,350px);min-height:190px;padding:29px;border:1px solid rgba(255,255,255,.55);border-radius:26px;color:#fff;text-align:center;flex-direction:column;background:linear-gradient(140deg,#a93968,#dc829f);box-shadow:0 24px 80px #00000052;transition:opacity .18s,transform .18s}.pep-card>span{margin-bottom:19px;color:#ffe9a8;font-size:10px;font-weight:800;letter-spacing:.18em}.pep-card>strong{font-family:Georgia,Songti SC,serif;font-size:25px;line-height:1.55}.pep-card>small{margin-top:20px;opacity:.65;font-size:9px}@media(max-width:360px){.batch-item{grid-template-columns:65px 68px 1fr;padding:8px;gap:7px}.batch-upload{width:68px}.bottom-nav{padding-right:5px;padding-left:5px}.bottom-nav button{width:52px}}
