:root{--primary:#1a5a50;--medium:#2d7a6e;--light:#e8f5f3;--bg:#f2f3f5;--text:#263833;--secondary:#6b7572;--error:#e53935;--line:#e5e8e7;--radius:16px;font-family:'PingFang SC',-apple-system,BlinkMacSystemFont,'Microsoft YaHei',sans-serif;color:var(--text);font-size:14px}*{box-sizing:border-box}body{margin:0;background:#e9eeec}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible{outline:3px solid #2d7a6e}button{cursor:pointer;border:0;background:transparent;color:inherit}button:disabled{cursor:not-allowed;opacity:.42}a{color:var(--primary)}input,select,textarea{max-width:100%;border:1px solid #dce2df;border-radius:12px;background:#fff;padding:12px;color:inherit}textarea{resize:vertical;min-height:90px}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:18px;height:18px;flex-shrink:0}input[type=range]{padding:0;accent-color:var(--primary)}.workbench-header{height:66px;background:#fff;border-bottom:1px solid #d8e0dc;display:flex;justify-content:space-between;align-items:center;padding:0 24px;gap:20px}.workbench-header>div{display:flex;align-items:center;gap:16px}.workbench-header strong{font-size:23px;color:var(--primary)}.workbench-header span{font-size:15px}.workbench-header code{font-size:11px;background:#edf2f0;padding:5px 8px;border-radius:6px}.workbench-header button,.workbench-header a{font-size:12px;text-decoration:none;padding:8px;border-radius:8px}.workspace{display:grid;grid-template-columns:246px minmax(420px,1fr) 290px;height:calc(100dvh - 66px)}aside{background:#f9fbfa;overflow:auto;padding:20px 16px}.search{display:block;font-size:12px;color:var(--secondary)}.search input{width:100%;margin-top:7px;font-size:12px}.catalog-group{margin:22px 0 6px;font-size:11px;color:#75837d;letter-spacing:1px}.catalog-item{width:100%;text-align:left;padding:9px 12px;border-radius:8px;font-size:13px;display:flex;gap:8px;align-items:center}.catalog-item:hover{background:#edf2ef}.catalog-item.active{background:var(--light);color:var(--primary);font-weight:600}.catalog-item small{font-size:10px;margin-left:auto;color:#87998f}.stage{display:flex;flex-direction:column;align-items:center;overflow:auto;padding:14px 20px 20px}.preview-caption{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#52665b;width:min(100%,390px);margin-bottom:9px}.phone{width:390px;max-width:100%;height:min(844px,calc(100dvh - 156px));min-height:520px;border:1px solid #c7d1cb;border-radius:32px;background:var(--bg);position:relative;overflow:hidden;box-shadow:0 16px 45px #1c493316;flex-shrink:0;display:flex;flex-direction:column}.statusbar{height:34px;flex-shrink:0;display:flex;justify-content:space-between;align-items:end;padding:0 24px 7px;font-size:12px;font-weight:600;background:inherit}.home-indicator{height:18px;flex-shrink:0;background:#fff;display:flex;align-items:center;justify-content:center}.home-indicator:after{content:'';height:4px;width:110px;border-radius:8px;background:#283d35}#app{flex:1;min-height:0;display:flex;flex-direction:column}.page-head{display:flex;align-items:center;gap:12px;padding:14px 16px 18px;min-height:66px;flex-shrink:0}.page-head h1{font-size:19px;margin:0;flex:1;color:var(--primary);line-height:1.4}.page-head .back{border:1px solid #dce1de;border-radius:50%;width:36px;height:36px;font-size:20px;background:#ffffff80}.page-head .icon-button{width:32px;height:32px}.page-content{flex:1;min-height:0;overflow:auto;padding:4px 16px 22px;scroll-behavior:smooth}.page-content.white{background:#fff}.page-content.auth{background:#f0f7f6;padding:20px 25px}.card{padding:16px;background:#fff;border-radius:16px;margin-bottom:14px;box-shadow:0 2px 8px #00000006}.card.tint{background:var(--light)}.card.yellow{background:#fff9e6}.card.pink{background:#fce4ec}.card h2{margin:0 0 12px;font-size:16px}.card h3{margin:0 0 7px;font-size:15px}h2.section-title{font-size:14px;font-weight:600;margin:23px 2px 12px;color:#596b62;display:flex;align-items:center;justify-content:space-between}.row{display:flex;align-items:center;gap:12px;min-width:0}.row.between{justify-content:space-between}.row.top{align-items:start}.grow{flex:1;min-width:0}.muted,small{color:var(--secondary);line-height:1.6}.muted{font-size:12px}p{line-height:1.65;margin:6px 0 14px}h3{line-height:1.5}.small{font-size:12px}.center{text-align:center}.big{font-size:28px;font-weight:700}.icon{width:28px;height:28px;object-fit:contain;vertical-align:middle;flex-shrink:0}.icon.large{width:48px;height:48px}.avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--light)}.avatar.big-avatar{width:88px;height:88px}.row-item{padding:14px 0;border-bottom:1px solid var(--line);width:100%;text-align:left;display:flex;align-items:center;gap:12px;line-height:1.5}.row-item:last-child{border-bottom:0}.row-item .chevron{color:#93a097;margin-left:auto;font-size:20px}.row-item strong{display:block;font-size:14px;font-weight:500}.row-item small{display:block;font-size:11px}.button{min-height:46px;padding:12px 16px;border-radius:16px;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-weight:600;gap:8px}.button.wide{width:100%;margin-top:10px}.button.secondary{background:#fff;color:var(--primary);border:1px solid #cfdfd8}.button.danger{background:var(--error);color:#fff}.button.small-button{font-size:12px;min-height:34px;padding:7px 12px;border-radius:9px}.link{color:var(--primary);font-size:13px;padding:6px 0}/* Text actions share button behavior, but must never inherit the filled background. */
.button.link{background:transparent;border:0;border-radius:0;min-height:0;padding:6px 0;color:var(--primary);font-weight:400}
.button.link.danger-text,.danger-text{color:var(--error)}.field{margin:17px 0;text-align:left;display:block}.field>span{display:block;font-size:13px;font-weight:500;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;height:48px}.field textarea{height:auto}.field .row input{min-width:0}.field .row button{white-space:nowrap}.field .password-wrap{position:relative}.password-wrap input{padding-right:50px}.password-wrap button{position:absolute;right:8px;top:12px;color:var(--secondary)}.form-error{background:#ffeded;color:#c62828;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.5;margin:8px 0}.form-error:empty{display:none}.check{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.7}.check input{margin:0}.auth-logo{width:76px;height:76px;object-fit:contain}.auth h1{font-size:26px;color:var(--primary);margin:15px 0 25px}.auth .legal{font-size:11px;line-height:1.9;margin:20px 0}.auth .legal button{font-size:11px;text-decoration:underline}.tabbar{display:flex;background:#fff;border-top:1px solid var(--line);flex-shrink:0;padding:9px 4px 4px;gap:2px;min-height:72px}.tabbar button{flex:1;display:flex;flex-direction:column;gap:5px;align-items:center;font-size:11px;color:#8b9690}.tabbar button.active{color:var(--primary);font-weight:700}.tabbar .icon{width:27px;height:27px}.bottom-action{padding:10px 16px;background:#fff;border-top:1px solid var(--line);flex-shrink:0}.bottom-action .button.wide{margin:0}.segmented{display:flex;background:#e8ecea;border-radius:12px;padding:4px;margin:8px 0 18px;gap:4px}.segmented button{flex:1;padding:9px 4px;border-radius:9px;color:#7a8780;font-size:13px}.segmented button.active{background:#fff;color:var(--primary);box-shadow:0 2px 4px #00000006;font-weight:600}.chips{display:flex;gap:7px;overflow:auto;margin:10px 0 16px;flex-wrap:wrap}.chip{border:1px solid #dce5df;padding:7px 13px;border-radius:100px;background:#fff;font-size:12px;white-space:nowrap}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.badge{display:inline-block;background:var(--light);color:var(--primary);font-size:10px;padding:4px 7px;border-radius:6px;line-height:1.3}.badge.orange{background:#fff0d9;color:#986b20}.badge.gray{background:#edf0ef;color:#728078}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0}.stat{border-radius:16px;padding:15px 8px;color:#fff;background:#2db89b;text-align:center}.stat:nth-child(2){background:#ff7f5c}.stat:nth-child(3){background:#6c7fd8}.stat b{display:block;font-size:26px;margin:5px 0}.stat span{font-size:11px}.stat .icon{height:22px;width:22px}.stat.neutral{color:var(--primary);background:#edf5f1}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-tile{overflow:hidden;border-radius:12px;background:#fff;text-align:left;padding:0;align-self:start}.photo-tile:nth-child(3n){margin-top:6px}.photo-tile .media{height:150px}.photo-tile:nth-child(3n+1) .media{height:190px}.photo-tile .tile-label{padding:10px;font-size:12px}.media{height:220px;background:#e4eee5;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:12px}.media img{width:52%;height:65%;object-fit:contain;filter:drop-shadow(0 12px 15px #28512e18)}.media.flower{background:#f5edcd}.media.leaf{background:#e8eed7}.media.bird{background:#dcecf3}.media.art{background:#ebe0f2}.media.art img{filter:hue-rotate(40deg) drop-shadow(8px 10px 0 #c8b3cf55);transform:rotate(-10deg)}.media small{position:absolute;bottom:8px;right:9px;font-size:9px;color:#61776a}.hero-media{height:290px;border-radius:0}.timeline-item{display:flex;align-items:start;gap:10px;margin-bottom:14px}.timeline-item .media{width:65px;height:65px;flex-shrink:0}.timeline-item .card{flex:1;padding:12px;margin:0}.timeline-item p{font-size:12px;margin:3px 0}.progress{height:7px;background:#e0e9e4;border-radius:10px;overflow:hidden;margin:13px 0}.progress>span{display:block;background:#41ad84;height:100%}.empty{padding:50px 20px;text-align:center;color:var(--secondary)}.empty .icon{width:60px;height:60px;margin-bottom:18px}.empty h2{font-size:18px;color:var(--primary)}.empty p{font-size:13px}.splash{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;background:#1a5a50;color:#fff}.splash img{width:126px;filter:brightness(0) invert(1)}.splash h1{font-size:35px;letter-spacing:3px}.splash p{font-size:15px}.splash .button{background:#fff;color:var(--primary);margin-top:90px}.scan{height:280px;background:#24332e;position:relative;margin:12px -16px;display:flex;align-items:center;justify-content:center;color:#fff}.scan-frame{width:210px;height:210px;border:3px solid #a6dbb9;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;font-size:12px;text-align:center}.scan-line{width:180px;height:2px;background:#61dc95;box-shadow:0 0 8px #61dc95}.scan .button{font-size:12px}.stepper{display:flex;justify-content:center;gap:25px;margin:14px}.stepper span{width:26px;height:26px;border-radius:50%;border:1px solid #c8d9ce;display:grid;place-items:center}.stepper .active{background:var(--primary);color:#fff}.switch{width:43px;height:26px;background:#cbd3ce;border-radius:15px;padding:3px;flex-shrink:0;transition:background .15s}.switch:after{content:'';display:block;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .15s}.switch.on{background:#4c9b7c}.switch.on:after{transform:translateX(17px)}.bubble{max-width:87%;background:#fff;border-radius:16px 16px 16px 4px;padding:13px;margin:12px 0;font-size:14px;line-height:1.7}.bubble.mine{background:#dcefe7;margin-left:auto;border-radius:16px 16px 4px 16px}.bubble .audio{display:block;margin-top:8px;border-radius:9px;background:#eff5f2;padding:6px 12px;width:110px;font-size:12px}.chat-composer{display:flex;padding:12px;background:#fff;gap:8px}.chat-composer input{min-width:0;flex:1}.inspector{border-left:1px solid #d8e0dc;font-size:12px}.inspector h2{font-size:14px;margin:0 0 12px}.inspector>label{display:block;margin:16px 0 10px}.inspector select{display:block;width:100%;margin-top:7px;font-size:12px;padding:10px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-cols label{font-size:12px}.inspector .check{display:flex}.note{padding:12px;background:#edf3ef;line-height:1.8;font-size:11px;border-radius:10px;margin:16px 0 24px}.note b{font-weight:500;color:#365c49}.source-path{word-break:break-all;font-family:monospace;font-size:11px;background:#edf2ef;padding:10px;border-radius:8px;line-height:1.7}.inspector details{margin:20px 0;line-height:1.8}.inspector summary{cursor:pointer}.eventlog{font-size:10px;color:#6e7f75;line-height:1.8;border-top:1px solid var(--line);padding-top:12px}.stage-bottom{display:flex;justify-content:space-between;gap:12px;width:min(100%,390px);font-size:11px;margin-top:12px;color:#52665b}.stage-bottom button{padding:6px 0}.overlay{position:absolute;inset:0;background:#102d2459;z-index:5;display:flex;align-items:center;justify-content:center;padding:22px}.dialog{width:100%;max-height:88%;overflow:auto;border-radius:20px;background:#fff;padding:22px;box-shadow:0 10px 40px #163a2733}.dialog h2{font-size:18px;margin:0 0 15px}.dialog .actions{display:flex;gap:10px;margin-top:20px}.dialog .actions>*{flex:1}.overlay.sheet{align-items:flex-end;padding:0}.sheet .dialog{border-radius:20px 20px 0 0;padding:24px 20px}.dialog .note{margin:14px 0}.dialog select,.dialog input{width:100%}.dialog .check input{width:18px}.native-label{font-size:11px;background:#fff6de;padding:9px;border-radius:8px;color:#856724;margin-bottom:15px}#toast{position:absolute;bottom:100px;left:22px;right:22px;background:#263d32ed;color:#fff;border-radius:12px;padding:12px;font-size:12px;line-height:1.6;text-align:center;z-index:8;display:none;pointer-events:none}#toast.visible{display:block}.loading{display:grid;place-items:center;padding:90px 30px;gap:20px;color:var(--primary)}.spinner{width:32px;height:32px;border:3px solid #d3e8dd;border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.qr{display:grid;grid-template-columns:repeat(13,8px);width:max-content;border:12px solid white;margin:10px auto;background:white}.qr i{width:8px;height:8px;background:#fff}.qr i.dark{background:#183f32}.plan{width:100%;text-align:left;background:#fff;border:2px solid #e3e9e5;border-radius:16px;padding:16px;margin:9px 0}.plan.selected{border-color:var(--primary);background:#f0f8f4}.price{font-size:28px;color:var(--primary);font-weight:750}.price small{font-size:12px;font-weight:400}.selected-row{border:1px solid var(--primary);border-radius:12px;background:#f0f8f4;padding:12px}.report{background:#fff;border:1px solid var(--line);padding:20px;border-radius:12px}.report h2{font-size:18px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-grid>div{background:#f4f7f5;padding:10px;border-radius:8px;font-size:12px}.report-grid b{display:block;font-size:20px;margin-top:5px}.sample-tag{font-size:10px;color:#829188;position:absolute;top:10px;right:12px}.notice-dot{width:7px;height:7px;border-radius:50%;background:#e65a46;display:inline-block;margin-left:5px}.inline-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.lang-row{padding:15px;width:100%;text-align:left;border-bottom:1px solid var(--line)}.lang-row.active{color:var(--primary);font-weight:700}.stars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:center}.stars>div{background:#f6f8f7;border-radius:12px;padding:18px 4px}.stars img{width:52px;height:52px;display:block;margin:0 auto 9px}.stars .locked{filter:grayscale(1);opacity:.5}.read-only{font-size:11px;background:#fff4d6;padding:9px 12px;border-radius:8px;margin-bottom:14px}.phone form{margin:0}.metric-list{display:flex;flex-wrap:wrap;gap:8px}.spacer{height:20px}
@media(min-width:1500px){.workspace{grid-template-columns:270px 1fr 340px}.phone{height:min(844px,calc(100dvh - 156px))}.inspector{padding:24px}}
@media(max-width:1050px){.workspace{grid-template-columns:210px 1fr}.inspector{display:none}.stage{padding:14px}.workbench-header{padding:0 16px}.workbench-header code{display:none}}
@media(max-width:650px){.workbench-header{height:54px;padding:0 12px}.workbench-header span{display:none}.workbench-header>div{gap:6px}.workbench-header strong{font-size:19px}.workbench-header button,.workbench-header a{font-size:11px;padding:5px}.workspace{display:block;height:calc(100dvh - 54px)}#catalog{display:none;position:fixed;top:54px;bottom:0;left:0;width:260px;z-index:20;box-shadow:8px 0 25px #0002}body.catalog-open #catalog{display:block}.stage{padding:0;height:100%;overflow:hidden}.preview-caption{padding:6px 12px;margin:0;width:100%;font-size:9px}.phone{border:0;border-radius:0;box-shadow:none;width:100%;height:auto;min-height:0;flex:1}.statusbar{display:none}.home-indicator{height:12px}.stage-bottom{padding:4px 12px;margin:0;width:100%;background:white;font-size:10px}.page-head{padding-top:14px}.phone .page-content{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.glyph{display:inline-flex;align-items:center;justify-content:center;font-size:24px}.glyph.large{font-size:40px}.media .glyph{font-size:80px;width:auto;height:auto}
@media(max-width:1050px){body.scenarios-open .inspector{display:block;position:fixed;right:0;top:66px;bottom:0;width:290px;z-index:22;box-shadow:-8px 0 25px #0002}}
@media(max-width:650px){body.scenarios-open .inspector{top:54px;width:min(290px,90vw)}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.button.pay-wechat{background:#07c160;color:white;border:0}.button.pay-alipay{background:#1677ff;color:white;border:0}.card.device-hero{background:linear-gradient(135deg,#4dc9a0,#2ea87e);color:white}.device-hero small{color:#ffffffd9}input:disabled{background:#f3f4f5;color:#8b9690}

.source-status{width:min(100%,390px);margin:0 0 12px;padding:10px 12px;border:1px solid #dfc98e;border-radius:8px;background:#fff6dc;color:#715713;font-size:12px;line-height:1.6}.source-status[hidden]{display:none}
