/* 可爱拼豆视觉：内置开源圆体，离线也能稳定显示。 */
@font-face{font-family:"DouHuiCute";src:url("./assets/fonts/ZCOOLKuaiLe-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{--font-cute:"DouHuiCute","YouYuan","幼圆","Microsoft YaHei",system-ui,sans-serif;--font-body:"DouHuiCute","Microsoft YaHei",system-ui,sans-serif;--cute-pink:#f38aae;--cute-lilac:#b88bcf}
/* Fixed-size round controls must not inherit browser button padding or a glyph baseline offset. */
.editor-page__header>button,.editor-page__header>a,.crop-page__header>button,.crop-page__header>a,.color-adjust-header>button,.color-adjust-header>a,.orders-page__header>button,.orders-page__header>a,.redeem-dialog header>button,.earn-feedback-dialog__head>button,.earn-records-dialog header>button{padding:0;line-height:1;text-indent:0}
body,button,input,textarea,select{font-family:var(--font-body)}
.brand,.hero h1,.panel-heading h2,.result-title h2,.how-it-works h2,.auth-card h2,.auth-page__brand,.editor-page__header b,.primary-button,.login-button,.credit-button,.mobile-user-card b,.mobile-profile b{font-family:var(--font-cute);letter-spacing:.035em}
.brand{gap:12px;letter-spacing:.02em}.brand-mark{position:relative;display:block;width:39px;height:39px;padding:0;border-radius:50%;background:linear-gradient(145deg,#fffdfd,#fff1c9);box-shadow:0 5px 12px #bd678634,inset 0 0 0 1px #fff}.brand-mark i{position:absolute;width:15px;height:15px;border-radius:50% 50% 50% 4px;box-shadow:inset 0 -2px 0 #a9517530;transform:rotate(45deg)}.brand-mark i:nth-child(1){top:4px;left:12px;background:#f18bb1}.brand-mark i:nth-child(2){top:12px;right:4px;background:#ffd167;transform:rotate(135deg)}.brand-mark i:nth-child(3){bottom:4px;left:12px;background:#bc8bd2;transform:rotate(225deg)}.brand-mark i:nth-child(4){top:12px;left:4px;background:#f59bb8;transform:rotate(315deg)}.brand-mark:after{content:"";position:absolute;z-index:1;top:14px;left:14px;width:11px;height:11px;border-radius:50%;background:#ffd061;box-shadow:inset 0 -2px 0 #d99c2d}
.hero:before,.hero:after{position:absolute;z-index:0;pointer-events:none;opacity:.5}.hero:before{content:"✿";right:8%;bottom:-34px;color:#f3a1bd;font-size:105px;transform:rotate(-12deg)}.hero:after{content:"✦";left:47%;top:24px;color:#ffca58;font-size:27px}.hero>*,.hero-art>*{position:relative;z-index:1}
.step,.upload-icon,.empty-illustration{border-radius:50%}.primary-button{border-radius:16px;background:linear-gradient(135deg,#ffdc72,#ffc456);box-shadow:0 4px 0 #e5a735,0 9px 16px #f1a93f29}.primary-button:not(:disabled):hover{transform:translateY(-2px) rotate(-.3deg);box-shadow:0 6px 0 #e5a735,0 10px 18px #f1a93f31}.secondary-button,.login-button,.credit-button,.mobile-outline-button{border-radius:15px}.pixel-card{border-radius:26px}.pixel{border-radius:12px}.hero-pills span{border:1px solid #fff1f5;box-shadow:0 3px 8px #b7729020}

/* 真正圆圆胖胖的字形：字库本身有圆角，不再靠加粗伪造可爱感。 */
body,button,input,textarea,select{font-family:var(--font-body);font-weight:400;font-synthesis:none}
.brand,.hero h1,.auth-card h2,.auth-page__brand,.editor-page__header b,.panel-heading h2,.result-title h2,.how-it-works h2,.mobile-user-card b,.mobile-profile b{font-family:var(--font-cute);font-weight:400;letter-spacing:.045em}
.primary-button,.login-button,.credit-button,.secondary-button,.mobile-outline-button,.profile-login-button{font-family:var(--font-cute);font-weight:400;letter-spacing:.06em}
.eyebrow,.control-label,.mobile-profile-account,.profile-account-head small{font-weight:400}

.profile-dialog{width:min(92vw,410px);padding:0;border:0;border-radius:24px;background:transparent;box-shadow:0 24px 64px #36172955}.profile-dialog::backdrop{background:#2d162b80;backdrop-filter:blur(3px)}.profile-dialog-card{display:grid;gap:13px;padding:22px;border:1px solid #efd6e0;border-radius:24px;background:#fffaf8;color:#351a37}.profile-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between}.profile-dialog-heading .eyebrow{margin:0 0 4px;color:#c46b91;font-size:10px}.profile-dialog-heading h2{margin:0;font-family:var(--font-cute);font-size:22px;font-weight:400}.profile-dialog-heading button{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff0f5;color:#9b6a7f;font-size:25px;line-height:1}.avatar-picker{display:grid;place-items:center;gap:7px;padding:8px;color:#9c6881;font-size:12px;font-weight:600;cursor:pointer}.avatar-picker input{display:none}.avatar-picker__preview{display:grid;place-items:center;width:74px;height:74px;overflow:hidden;padding:3px;border:2px solid #f4c7d8;border-radius:25px;background:linear-gradient(145deg,#fff,#fff0d1);box-shadow:0 5px 10px #d7659420;color:#d36194;font-family:var(--font-cute);font-size:36px}.avatar-picker__preview img,.mobile-profile-icon img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}.profile-dialog-card>label:not(.avatar-picker){display:grid;gap:7px;color:#6b4960;font-size:12px;font-weight:700}.profile-dialog-card input:not([type=file]){width:100%;min-height:43px;padding:9px 12px;border:1px solid #ecd4de;border-radius:13px;outline:none;background:#fff;font:400 14px var(--font-body);color:#4a2940}.profile-dialog-card input:focus{border-color:#e683aa;box-shadow:0 0 0 3px #f8d6e344}.profile-dialog-card input:disabled{background:#f7f0f2;color:#a48896}.profile-dialog-card .primary-button{margin:4px 0 0}
@media(max-width:760px){.brand-mark{width:34px;height:34px}.brand-mark i{width:13px;height:13px}.brand-mark i:nth-child(1){top:3px;left:11px}.brand-mark i:nth-child(2){top:10px;right:3px}.brand-mark i:nth-child(3){bottom:3px;left:11px}.brand-mark i:nth-child(4){top:10px;left:3px}.brand-mark:after{top:12px;left:12px;width:10px;height:10px}.mobile-avatar,.mobile-user-card button,.mobile-profile-icon{font-family:var(--font-cute);color:#ce5d91}.mobile-nav a,.mobile-nav button{font-family:var(--font-cute)}.mobile-nav span{font-family:var(--font-cute);font-weight:900}.mobile-upload-icon{border-color:#df8baa;background:linear-gradient(135deg,#ffe480,#ffc960);box-shadow:0 3px 0 #e6a52e}.mobile-qr-card i{border-radius:50%;background:#ffe6f0;color:#d76898}.mobile-help-card button{border-radius:99px}.hero:before{font-size:66px;right:-6px;bottom:-24px}.hero:after{display:none}}
@media(max-width:760px){.brand-mark{width:34px;height:34px}.brand-mark i{width:13px;height:13px}.brand-mark i:nth-child(1){top:3px;left:11px}.brand-mark i:nth-child(2){top:10px;right:3px}.brand-mark i:nth-child(3){bottom:3px;left:11px}.brand-mark i:nth-child(4){top:10px;left:3px}.brand-mark:after{top:12px;left:12px;width:10px;height:10px}.mobile-avatar,.mobile-user-card button,.mobile-profile-icon{font-family:var(--font-cute);color:#ce5d91}.mobile-nav a,.mobile-nav button{font-family:var(--font-cute)}.mobile-nav span{font-family:var(--font-cute);font-weight:900}.mobile-upload-icon{border-color:#df8baa;background:linear-gradient(135deg,#ffe480,#ffc960);box-shadow:0 3px 0 #e6a52e}.mobile-qr-card i{border-radius:50%;background:#ffe6f0;color:#d76898}.mobile-help-card button{border-radius:99px}.hero:before{font-size:66px;right:-6px;bottom:-24px}.hero:after{display:none}
.mobile-profile{padding:12px;background:linear-gradient(145deg,#fff8fa,#fff9ec)}.mobile-profile>article.profile-account-card{display:block;padding:15px;border-radius:20px;text-align:left}.profile-account-head{display:flex;align-items:center;gap:12px}.profile-account-head .mobile-profile-icon{width:54px;height:54px;flex:none;margin:0;border-radius:17px;background:linear-gradient(145deg,#fff,#fff8eb);font-size:28px}.profile-account-head b{display:block;margin:0;color:#3e1d35;font-size:17px;line-height:1.25}.profile-account-head small{display:block;margin-top:5px;color:#8a7180;font-size:11px;font-weight:700}.profile-balance{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px;margin-top:14px;padding:15px 16px;border-radius:17px;background:linear-gradient(135deg,#4a203a,#683049);color:#fff;box-shadow:0 8px 18px #4b1e3921}.profile-balance span{font-size:12px;font-weight:800;color:#ffe5aa}.profile-balance strong{grid-row:1 / span 2;grid-column:2;font-family:var(--font-cute);font-size:31px;line-height:1;color:#fff}.profile-balance strong i{font-style:normal;font-size:19px;color:#ffd567}.profile-balance small{font-size:10px;color:#f6cbdc}.profile-account-card .primary-button{width:100%;min-height:45px;margin-top:12px;font-size:14px}.profile-login-button{width:100%;min-height:43px;margin-top:12px;border:1px solid #8a5c69;border-radius:15px;background:#fff;color:#4b303f;font-family:var(--font-cute);font-size:13px;font-weight:800}.profile-login-button[hidden]{display:none}}
.profile-edit-button{display:grid;place-items:center;width:34px;height:34px;margin-left:auto;border:1px solid #e7c3d2;border-radius:12px;background:#fff7fa;color:#bf5e87;font-size:19px;font-family:var(--font-cute)}.profile-edit-button[hidden]{display:none}.profile-account-head .mobile-profile-icon{overflow:hidden;padding:3px;border-color:#f2b7cd;box-shadow:0 4px 10px #ca668126}.profile-account-head .mobile-profile-icon img{border-radius:13px}
.mobile-user-card .mobile-avatar{overflow:hidden;padding:3px;border-color:#f2b7cd;background:linear-gradient(145deg,#fff,#fff3d8);box-shadow:0 4px 10px #ca668126}.mobile-user-card .mobile-avatar img{display:block;width:100%;height:100%;border-radius:11px;object-fit:cover}
.mobile-recent-list{display:grid;gap:8px;margin-top:9px}.mobile-recent-item{display:grid!important;grid-template-columns:64px minmax(0,1fr) auto!important;align-items:center;gap:10px;min-height:74px;padding:7px 9px!important;border:1px solid #e8d8d7!important;border-radius:15px!important;background:linear-gradient(100deg,#fff,#fffdf7)!important;color:#402439;box-shadow:0 3px 8px #5730440a}.mobile-recent-item img{display:block;width:62px;height:62px;border:1px solid #e2ccd3;border-radius:11px;object-fit:cover;image-rendering:pixelated;background:#fff}.mobile-recent-copy{min-width:0}.mobile-recent-copy>div{display:flex;align-items:center;gap:5px;min-width:0}.mobile-recent-copy b{overflow:hidden;color:#3d2134;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.mobile-recent-copy em{flex:none;padding:3px 5px;border-radius:99px;background:#e8f8ed;color:#318257;font-size:8px;font-style:normal;font-weight:900}.mobile-recent-copy small{display:block;overflow:hidden;margin-top:5px;color:#9b7182;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.mobile-recent-actions{display:grid;grid-template-columns:repeat(2,34px);gap:7px}.mobile-recent-actions button{display:grid;place-items:center;width:34px;height:34px;min-height:0!important;margin:0!important;padding:0!important;border:1px solid #7f5263!important;border-radius:12px!important;background:#ffd261!important;color:#402439!important;font-family:var(--font-cute)!important;font-size:19px!important;line-height:1!important;box-shadow:inset 0 -2px 0 #e7ab36}.mobile-recent-actions button+button{background:#fff!important;color:#775267!important;box-shadow:none}.mobile-recent-actions button:active{transform:translateY(1px)}.mobile-section-card button[hidden]{display:none}
.help-page{position:fixed;z-index:80;inset:0;overflow:auto;background:linear-gradient(145deg,#fff8f8,#fff8eb);color:#3c2637}.help-page__header{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;height:48px;padding:0 10px;border-bottom:1px solid #ead9df;background:#fffdfbf2;backdrop-filter:blur(10px);text-align:center}.help-page__header b{font-family:var(--font-cute);font-size:17px;font-weight:400}.help-page__header button,.help-page__header a{display:grid;place-items:center;width:32px;height:32px;border:1px solid #775168;border-radius:50%;background:#fff;color:#553345;text-decoration:none;font-size:20px}.help-page__header a{justify-self:end;font-size:17px}.help-page__content{max-width:760px;margin:0 auto;padding:26px 18px 100px}.help-page__content .eyebrow{margin:0;color:#cf7599;font-size:10px}.help-page__content h1{margin:7px 0 11px;font-family:var(--font-cute);font-size:32px;font-weight:400;line-height:1.05}.help-page__intro{margin:0;color:#765b6a;font-size:14px;line-height:1.8}.help-start-button{margin:18px 0;padding:11px 18px;border:1px solid #9e6d43;border-radius:999px;background:#ffd363;color:#4c3036;font-family:var(--font-cute);font-size:14px}.help-facts{display:grid;gap:8px;margin:13px 0 22px;padding:13px;border:1px solid #eadbe0;border-radius:18px;background:#fffdfc}.help-facts span{padding:11px 12px;border:1px solid #f0dbe3;border-radius:12px;background:#fff8f7;color:#704b60;font-size:12px;line-height:1.55}.help-sections article{margin:16px 0}.help-sections h2,.help-faq h2{margin:0 0 6px;font-family:var(--font-cute);font-size:20px;font-weight:400}.help-sections p{margin:0;color:#745d6b;font-size:13px;line-height:1.75}.help-faq{margin-top:24px;padding:16px;border:1px solid #eadbe0;border-radius:18px;background:#fffdfc}.help-faq details{padding:12px 0;border-top:1px solid #efdee3}.help-faq details:first-of-type{border-top:0}.help-faq summary{cursor:pointer;color:#4f2d43;font-size:13px;font-weight:800}.help-faq p{margin:8px 0 0;color:#795d6d;font-size:12px;line-height:1.65}body.help-page-open{overflow:hidden}@media(min-width:761px){.help-page__content{padding-top:48px}.help-page__content h1{font-size:48px}.help-facts{grid-template-columns:repeat(3,1fr)}}

/* 官方 QQ 交流答疑群 */
.qq-support-dialog{width:min(92vw,410px);padding:0;border:0;border-radius:25px;background:transparent;box-shadow:0 24px 60px #33172f66}.qq-support-dialog::backdrop{background:#2f172a82;backdrop-filter:blur(3px)}.qq-support-dialog form{padding:21px;border:1px solid #efd6e0;border-radius:25px;background:linear-gradient(145deg,#fffdfb,#fff7ef);color:#3c2036}.qq-support-dialog header{display:grid;grid-template-columns:50px minmax(0,1fr) 33px;gap:10px;align-items:center}.qq-support-dialog header>span{display:grid;place-items:center;width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,#ffe98d,#ffc868);color:#d75e96;font-family:var(--font-cute);font-size:29px;box-shadow:inset 0 -3px #e9b04a}.qq-support-dialog header p{margin:0 0 3px;color:#c96c91;font-size:9px;font-weight:800;letter-spacing:.13em}.qq-support-dialog h2{margin:0;font-family:var(--font-cute);font-size:21px;font-weight:400}.qq-support-dialog header button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #ead5dd;border-radius:50%;background:#fff;color:#8e6678;font-size:23px;line-height:1}.qq-support-dialog__intro{margin:16px 1px 12px;color:#735568;font-size:13px;line-height:1.7}.qq-support-dialog__number{display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center;padding:14px 15px;border:1px solid #efd4df;border-radius:17px;background:#fff}.qq-support-dialog__number small{grid-column:1/-1;color:#9d7185;font-size:11px;font-weight:700}.qq-support-dialog__number strong{font-family:var(--font-cute);font-size:25px;font-weight:400;letter-spacing:.06em}.qq-support-dialog__number button{min-height:37px;padding:0 13px;border:1px solid #9d6848;border-radius:12px;background:#ffd260;color:#482a36;font-family:var(--font-cute);font-size:12px;box-shadow:inset 0 -2px #e5aa32}.qq-support-dialog__hint{min-height:18px;margin:11px 2px 0;color:#c46288;font-size:11px;line-height:1.45}

/* 独立充值页 */
body.credit-page-open{overflow:hidden}.credit-page{position:fixed;z-index:100;inset:0;overflow:auto;background:linear-gradient(145deg,#fff8f7,#fff6e9);color:#351a37}.credit-page__header{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:46px 1fr 46px;align-items:center;height:54px;padding:0 12px;border-bottom:1px solid #ead5dd;background:#fffaf2ed;backdrop-filter:blur(12px);text-align:center}.credit-page__header b{font-family:var(--font-cute);font-size:18px;font-weight:400}.credit-page__header button,.credit-page__header a{display:grid;place-items:center;width:34px;height:34px;border:1px solid #6d4258;border-radius:50%;background:#fff;color:#4a263d;font-size:21px;text-decoration:none}.credit-page__header a{justify-self:end;font-size:19px}.credit-page__content{width:min(680px,100%);margin:auto;padding:16px max(17px,calc((100vw - 620px)/2)) 42px}.credit-balance-card,.credit-package-card,.credit-redeem-card{border:1px solid #e7d7de;border-radius:23px;background:#fffdfb;box-shadow:0 10px 26px #5f2f4210}.credit-balance-card{padding:20px}.credit-balance-card>span{display:block;color:#84657a;font-size:12px;font-weight:700}.credit-balance-card>div{display:flex;align-items:baseline;gap:8px;margin-top:8px}.credit-balance-card strong{font-family:var(--font-cute);font-size:47px;font-weight:400;line-height:1}.credit-balance-card i{font-style:normal;font-size:24px;color:#f0a92f}.credit-balance-card small{margin-left:5px;color:#61768d;font-size:12px;font-weight:700}.credit-redeem-card{display:grid;gap:12px;margin-top:14px;padding:16px}.credit-redeem-card b{display:block;font-family:var(--font-cute);font-size:19px;font-weight:400}.credit-redeem-card small{display:block;margin-top:3px;color:#84657a;font-size:12px}.credit-redeem-row{display:flex;gap:9px}.credit-redeem-row input{min-width:0;flex:1;height:43px;padding:0 13px;border:1px solid #ead3dd;border-radius:13px;background:#fff;color:#3a1c35;font-family:var(--font-cute);letter-spacing:.08em;text-transform:uppercase}.credit-redeem-row button{min-width:80px;border:1px solid #a56c47;border-radius:13px;background:#ffd466;color:#3a1c35;font-family:var(--font-cute);font-size:14px;box-shadow:0 3px 0 #e4aa37}.credit-redeem-row button:disabled{opacity:.6;box-shadow:none}.credit-redeem-hint{min-height:16px;color:#bc587e;font-size:12px}.credit-package-card{margin-top:14px;padding:16px}.credit-package-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.credit-package-card h2{margin:0;font-family:var(--font-cute);font-size:20px;font-weight:400}.credit-package-card header button{min-height:33px;padding:0 11px;border:1px solid #805466;border-radius:99px;background:#fff;color:#4c2e42;font-family:var(--font-cute);font-size:11px}.credit-page .credit-packages{display:grid;gap:10px}.credit-page .credit-packages button{min-height:82px;padding:13px 14px;border:1px solid #e8d8de;border-radius:18px;background:#fff;text-align:left}.credit-page .credit-packages button.selected{border:1.5px solid #754055;background:#fffdf8;box-shadow:0 5px 13px #66344912}.credit-page .credit-packages b{font-family:var(--font-cute);font-size:19px;font-weight:400}.credit-page .credit-packages b i{font-style:normal;color:#e8a22e;font-size:15px}.credit-page .credit-packages span{font-size:12px}.credit-page .credit-packages strong{font-family:var(--font-cute);font-weight:400}.credit-page .credit-hint{margin:12px 4px;color:#9a7280;text-align:center}.credit-page .credit-checkout{width:100%;min-height:48px;margin:4px 0 0}
@media(max-width:760px){body.credit-page-open .page-shell,body.credit-page-open .mobile-nav{display:none}.credit-page__content{padding:14px 16px 35px}.credit-balance-card{padding:17px 18px}.credit-package-card{padding:15px}.credit-page .credit-packages button{min-height:76px;padding:11px 13px}.credit-balance-card strong{font-size:43px}.credit-page .credit-hint{font-size:11px}}

/* 手机图纸库：只展示授权或原创的可下载图纸。 */
.mobile-library{display:none}@media(max-width:760px){body[data-mobile-page="library"] .mobile-library{display:block;padding:14px 10px 82px}body[data-mobile-page="library"] .hero,body[data-mobile-page="library"] .mobile-home,body[data-mobile-page="library"] .mobile-profile,body[data-mobile-page="library"] .workspace,body[data-mobile-page="library"] .result-section,body[data-mobile-page="library"] .how-it-works{display:none}.mobile-library>header{display:flex;align-items:flex-end;justify-content:space-between;padding:0 4px}.mobile-library .eyebrow{margin:0 0 2px;font-size:9px;color:#cc7294}.mobile-library h2{margin:0;font-family:var(--font-cute);font-size:24px;font-weight:400}.mobile-library>header>span{padding:5px 8px;border-radius:99px;background:#fff1d9;color:#a86734;font-size:10px;font-weight:700}.mobile-library__hint{margin:8px 4px 13px;color:#917784;font-size:11px}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.library-empty{grid-column:1/-1;min-height:170px;display:grid;place-content:center;text-align:center;border:1px dashed #e5c8d5;border-radius:18px;background:#fffafd;color:#875d73;font-family:var(--font-cute);font-size:17px}.library-empty small{margin-top:8px;color:#b28a9d;font-family:inherit;font-size:11px}.library-card{position:relative;overflow:hidden;border:1px solid #e9dce1;border-radius:17px;background:#fff;box-shadow:0 6px 16px #6b354414}.library-card canvas{display:block;width:100%;aspect-ratio:1;image-rendering:pixelated;background:#fff8fb}.library-favorite{position:absolute;z-index:1;top:8px;right:8px;display:grid;place-items:center;width:31px;height:31px;border:1px solid #e4d2db;border-radius:50%;background:#fffdfdf0;color:#714353;font-size:21px;line-height:1}.library-favorite.selected{border-color:#f19abb;background:#fff1f5;color:#dc618b}.library-card__meta{display:grid;grid-template-columns:1fr auto;gap:4px;padding:10px 10px 9px}.library-card__meta b{grid-column:1/-1;overflow:hidden;color:#3d2335;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.library-card__meta small{align-self:center;color:#a8798c;font-size:10px;font-weight:700}.library-card__meta button{padding:2px 0;background:transparent;color:#a45e7a;font-family:var(--font-cute);font-size:11px;font-weight:400}.library-card__meta button:active{color:#5e3147;transform:translateY(1px)}}

/* 卡片收藏按钮用伪元素绘制心形，避开字体基线导致的视觉偏上问题。 */
@media(max-width:760px){.library-favorite{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;font-size:0!important;line-height:1!important;text-align:center}.library-favorite::before{content:'♡';display:block;font-family:Arial,"Microsoft YaHei",sans-serif;font-size:22px;line-height:1;transform:translateY(-1px)}.library-favorite.selected::before{content:'♥'}.library-dialog__close,.library-dialog__like{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}}

/* 生成前二次确认：移动端也能一眼看清豆豆消耗和生成结果。 */
.generation-confirm-dialog{width:min(430px,calc(100vw - 24px));margin:auto;padding:0;border:0;border-radius:27px;background:transparent;box-shadow:0 22px 70px #35192b66}.generation-confirm-dialog::backdrop{background:#30182680;backdrop-filter:blur(3px)}.generation-confirm-card{position:relative;display:grid;grid-template-columns:66px minmax(0,1fr);gap:11px 14px;padding:23px 17px 17px;border:1px solid #ecd8df;border-radius:27px;background:linear-gradient(155deg,#fffefd,#fff9f6);color:#372039}.generation-confirm-close{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:31px;height:31px;border:1px solid #dfdfe5;border-radius:50%;background:#fff;color:#7e7080;font-size:24px;line-height:1}.generation-confirm-illustration{position:relative;display:grid;place-items:center;width:66px;height:66px;overflow:hidden;border-radius:18px;background:linear-gradient(145deg,#fff1de,#ffd36b);box-shadow:inset 0 0 0 1px #fff7e4,0 4px 10px #d9874924;color:#c95b8a}.generation-confirm-illustration span{position:absolute;top:7px;left:9px;font-size:15px}.generation-confirm-illustration i{position:absolute;right:8px;bottom:8px;color:#ffd777;font-size:17px;font-style:normal;text-shadow:0 1px #b96a39}.generation-confirm-illustration b{font-family:var(--font-cute);font-size:29px;font-weight:400}.generation-confirm-heading{align-self:center;padding-right:27px}.generation-confirm-heading h2{margin:0;color:#342034;font-family:var(--font-cute);font-size:22px;font-weight:400;line-height:1.25}.generation-confirm-cost{display:inline-flex;align-items:center;gap:4px;margin:7px 0 0;padding:4px 8px;border-radius:99px;background:#fff1d1;color:#9c4e71;font-size:12px;font-weight:700}.generation-confirm-cost b{font-family:var(--font-cute);font-size:16px;font-weight:400}.generation-confirm-cost i{color:#e7a024;font-size:14px;font-style:normal}.generation-confirm-benefits{grid-column:1/-1;margin-top:2px}.generation-confirm-benefits>b{font-size:14px}.generation-confirm-benefits p{display:flex;align-items:center;gap:8px;margin:9px 0;color:#604959;font-size:13px;font-weight:700}.generation-confirm-benefits span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#fff1df;font-size:13px}.generation-confirm-card footer{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.42fr;gap:10px;margin-top:4px}.generation-confirm-card footer button{min-height:44px;padding:0 10px;font-size:14px}.generation-confirm-card footer .secondary-button{background:#fff;border:1px solid #966d7b;color:#4a2e41;box-shadow:none}@media(max-width:390px){.generation-confirm-card{padding:20px 14px 14px}.generation-confirm-heading h2{font-size:20px}.generation-confirm-benefits p{font-size:12px}.generation-confirm-card footer{gap:8px}}
