:root{--green:#176b4d;--green-2:#23936a;--deep:#103e32;--mint:#e9f5ee;--lime:#dcec9c;--yellow:#f5c966;--cream:#f7f8f3;--ink:#18332a;--muted:#78877f;--line:#e7ece8;--white:#fff;--danger:#d45d55;--shadow:0 10px 35px rgba(22,65,47,.09)}
    *{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:#edf2ee}button,input,select{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(35,147,106,.28);outline-offset:2px}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.hidden{display:none!important}
    .prototype-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:56px;padding:20px 40px;background:radial-gradient(circle at 20% 15%,#f9fbf6 0,transparent 32%),radial-gradient(circle at 85% 85%,#dfece4 0,transparent 35%),#edf2ee}
    .brief-panel{width:310px;flex:none}.brief-brand{display:flex;align-items:center;gap:12px;margin-bottom:42px}.brand-mark{width:44px;height:44px;border-radius:14px;background:var(--green);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(23,107,77,.2)}.brand-mark .icon{width:28px;height:28px}.brief-brand strong{display:block;font-size:16px;letter-spacing:1px}.brief-brand span{font-size:11px;color:var(--muted);letter-spacing:2px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--green);text-transform:uppercase}.brief-panel h1{font-size:34px;line-height:1.35;letter-spacing:-1px;margin:12px 0 14px}.brief-desc{font-size:14px;line-height:1.9;color:#66766e;margin:0 0 28px}.screen-nav{display:grid;gap:7px}.screen-nav button{border:0;background:transparent;border-radius:12px;padding:11px 14px;display:flex;align-items:center;gap:12px;text-align:left;color:#5d6f65;font-size:14px;transition:.2s}.screen-nav button span{width:23px;font-size:11px;color:#95a39b}.screen-nav button .icon{width:18px;height:18px}.screen-nav button.active{background:#fff;color:var(--green);font-weight:700;box-shadow:0 5px 18px rgba(29,68,50,.06)}.brief-foot{margin-top:30px;padding-top:20px;border-top:1px solid #dbe4dd;font-size:11px;color:#8b9991;line-height:1.8}.brief-foot b{color:#5c7165}
    .device-wrap{flex:none}.phone{width:390px;height:min(844px,calc(100vh - 40px));min-height:650px;background:var(--cream);border:8px solid #17372d;border-radius:42px;overflow:hidden;position:relative;box-shadow:0 30px 80px rgba(26,56,43,.2),0 4px 12px rgba(26,56,43,.08);display:flex;flex-direction:column}.phone:before{content:"";position:absolute;z-index:80;top:8px;left:50%;transform:translateX(-50%);width:92px;height:23px;border-radius:20px;background:#17372d;pointer-events:none}.statusbar{height:39px;flex:none;background:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:7px 21px 0;font-size:11px;font-weight:700;position:relative;z-index:20}.status-icons{display:flex;gap:5px;align-items:center}.signal{width:14px;height:10px;display:flex;align-items:flex-end;gap:1.5px}.signal i{display:block;background:currentColor;width:2px;border-radius:1px}.signal i:nth-child(1){height:4px}.signal i:nth-child(2){height:6px}.signal i:nth-child(3){height:8px}.signal i:nth-child(4){height:10px}.battery{width:19px;height:9px;border:1.3px solid currentColor;border-radius:3px;padding:1px;position:relative}.battery:after{content:"";position:absolute;right:-3px;top:2px;width:2px;height:4px;background:currentColor;border-radius:0 1px 1px 0}.battery i{display:block;width:75%;height:100%;background:currentColor;border-radius:1px}
    .app{flex:1;min-height:0;position:relative}.page{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding-bottom:34px}.page::-webkit-scrollbar,.scroll-row::-webkit-scrollbar{display:none}.with-tabs{padding-bottom:110px}.page-header{padding:14px 20px 18px;background:var(--cream)}.page-header.green{background:var(--green);color:#fff}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.title-row h2{font-size:23px;margin:0;letter-spacing:-.5px}.title-row p{margin:7px 0 0;font-size:12px;color:var(--muted)}.green p{color:rgba(255,255,255,.68)}.round-btn{width:36px;height:36px;border:0;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);box-shadow:0 3px 12px rgba(25,66,47,.06);flex:none}.green .round-btn{background:rgba(255,255,255,.14);color:#fff;box-shadow:none}.content{padding:0 18px}.section{margin-top:24px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.section-head h3{font-size:16px;margin:0;letter-spacing:-.2px}.section-head button,.text-link{border:0;background:none;color:var(--muted);font-size:11px;padding:0;display:flex;align-items:center;gap:2px}.section-head .icon,.text-link .icon{width:14px;height:14px}.card{background:#fff;border-radius:18px;box-shadow:0 4px 20px rgba(26,68,48,.045)}.tag{display:inline-flex;align-items:center;border-radius:6px;padding:4px 7px;font-size:10px;background:var(--mint);color:var(--green);font-weight:600}.primary-btn{border:0;background:var(--green);color:#fff;border-radius:14px;min-height:48px;font-weight:700;width:100%;box-shadow:0 7px 18px rgba(23,107,77,.15)}.primary-btn:disabled{background:#a7b7ae;box-shadow:none;cursor:default}.secondary-btn{border:1px solid #dce8e0;background:#fff;color:var(--green);border-radius:12px;min-height:40px;font-weight:600}.pill{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:30px;font-size:11px}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
    /* 首页 A：公益品牌型 */
    .home-hero{height:302px;background:linear-gradient(145deg,#145d43,#218a60);color:#fff;padding:15px 20px 0;position:relative;overflow:hidden}.home-hero:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-65px;top:45px;box-shadow:0 0 0 30px rgba(255,255,255,.025),0 0 0 60px rgba(255,255,255,.025)}.mini-brand{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between}.mini-logo{display:flex;align-items:center;gap:9px}.mini-logo .brand-mark{width:33px;height:33px;border-radius:11px;background:rgba(255,255,255,.16);box-shadow:none}.mini-logo .brand-mark .icon{width:22px;height:22px}.mini-logo strong{font-size:14px;letter-spacing:1px}.mini-logo small{display:block;font-size:8px;letter-spacing:1.6px;opacity:.62;margin-top:2px}.mini-bell{color:#fff;position:relative}.mini-bell:after{content:"";width:5px;height:5px;background:#f5cf72;border:2px solid #1c7654;border-radius:50%;position:absolute;right:1px;top:0}.hero-copy{position:relative;z-index:2;margin-top:28px}.hero-kicker{font-size:11px;letter-spacing:2px;color:#d7e9d9}.hero-copy h1{font-size:28px;line-height:1.35;margin:8px 0 9px;letter-spacing:1px}.hero-copy p{font-size:11px;color:rgba(255,255,255,.73);margin:0}.hero-cta{display:inline-flex;align-items:center;gap:8px;background:#e5efaf;color:#234f3c;border:0;border-radius:22px;padding:10px 15px;font-size:12px;font-weight:700;margin-top:19px}.hero-cta .icon{width:16px;height:16px}.hero-art{position:absolute;right:-10px;bottom:17px;width:194px;height:140px;z-index:1;opacity:.94}.stats-card{margin:-43px 18px 0;position:relative;z-index:3;background:#fff;border-radius:18px;padding:18px 7px;box-shadow:0 9px 25px rgba(21,67,46,.12);display:grid;grid-template-columns:repeat(3,1fr)}.stat{text-align:center;position:relative}.stat:not(:last-child):after{content:"";position:absolute;right:0;top:8px;height:28px;width:1px;background:var(--line)}.stat strong{font-size:20px;letter-spacing:-.5px;color:var(--deep)}.stat strong small{font-size:10px;font-weight:500;margin-left:2px;color:#63766c}.stat span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:22px}.quick-item{border:0;background:transparent;padding:0;color:var(--ink)}.quick-icon{width:51px;height:51px;border-radius:17px;margin:0 auto 8px;display:grid;place-items:center;background:#e1f1e7;color:#237756;position:relative}.quick-item:nth-child(2) .quick-icon{background:#fff0d9;color:#ba8330}.quick-item:nth-child(3) .quick-icon{background:#e4eef6;color:#527e9c}.quick-item:nth-child(4) .quick-icon{background:#f3e8ef;color:#9b658c}.quick-item span{font-size:11px}.quick-icon .icon{width:25px;height:25px}.site-card{overflow:hidden}.site-visual{height:105px;background:linear-gradient(135deg,#d8e8d6,#b8d5c1);position:relative;overflow:hidden}.site-visual>svg{width:100%;height:100%}.site-distance .icon{width:10px;height:10px}.site-distance{position:absolute;right:10px;top:10px;background:rgba(255,255,255,.9);border-radius:20px;padding:5px 8px;font-size:9px;color:var(--green)}.site-info{padding:13px 14px 14px}.site-title{display:flex;justify-content:space-between;align-items:center}.site-title strong{font-size:14px}.site-title .icon{width:17px;color:#7c8d83}.site-meta{font-size:10px;color:var(--muted);margin:7px 0 10px;display:flex;align-items:center;gap:4px}.site-meta .icon{width:13px;height:13px}.site-tags{display:flex;gap:6px}.event-card{background:#fff5db;border:1px solid #f4e4b8;border-radius:18px;padding:15px;position:relative;overflow:hidden}.event-card:after{content:"";position:absolute;width:80px;height:80px;border:14px solid rgba(222,181,77,.09);border-radius:50%;right:-28px;top:-24px}.event-label{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.event-label .tag{background:#e9c878;color:#674b16}.event-label span:last-child{font-size:10px;color:#a17d39}.event-card h4{font-size:16px;margin:12px 0 8px}.event-detail{font-size:11px;color:#7b6b4b;line-height:1.9;margin:0}.event-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:10px}.event-bottom small{font-size:10px;color:#907642}.event-bottom button{border:0;background:#3c5e43;color:#fff;padding:8px 14px;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap}.event-bottom button.signed{background:#d8dfce;color:#65715c}.scroll-row{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.company{min-width:100px;background:#fff;border:1px solid #edf0eb;border-radius:13px;padding:13px 8px;text-align:center}.company-logo{width:35px;height:35px;border-radius:11px;background:#eaf2e6;color:#4c7b54;display:grid;place-items:center;margin:0 auto 8px;font-weight:800;font-family:serif}.company:nth-child(2) .company-logo{background:#f5ebdf;color:#aa7b48}.company:nth-child(3) .company-logo{background:#e6edf2;color:#597d91}.company strong{display:block;font-size:11px}.company small{font-size:8px;color:#9aa49e}.tip-card{padding:15px;background:#e8f2e7;border-radius:17px;display:flex;gap:12px;align-items:flex-start}.tip-icon{width:35px;height:35px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#5d8755;flex:none}.tip-card strong{font-size:12px}.tip-card p{font-size:11px;line-height:1.7;color:#677a65;margin:5px 0 0}.home-footer{text-align:center;font-size:9px;color:#a1aaa4;letter-spacing:1px;margin:26px 0 5px}
    /* 首页 B：数据dashboard型 */
    .dashboard-home{background:#f1f5f0;min-height:100%}.dash-top{padding:16px 20px 20px;background:#fff}.dash-top .mini-logo .brand-mark,.dash-top .mini-bell{background:var(--mint);color:var(--green)}.dash-hello{font-size:22px;line-height:1.4;margin:24px 0 5px}.dash-sub{font-size:11px;color:var(--muted);margin:0 0 18px}.data-panel{background:#153f33;color:#fff;border-radius:22px;padding:19px;position:relative;overflow:hidden}.data-panel:after{content:"";position:absolute;width:150px;height:150px;border:30px solid rgba(255,255,255,.035);border-radius:50%;right:-70px;top:-55px}.data-panel-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#c3d4ca}.live-dot{display:flex;align-items:center;gap:5px}.live-dot i{width:5px;height:5px;background:#b7da75;border-radius:50%;box-shadow:0 0 0 4px rgba(183,218,117,.1)}.big-number{font-size:39px;font-weight:750;letter-spacing:-1.5px;margin:13px 0 17px}.big-number small{font-size:13px;font-weight:500;letter-spacing:0}.dash-mini-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}.dash-mini-stats div+div{border-left:1px solid rgba(255,255,255,.12);padding-left:20px}.dash-mini-stats strong{font-size:17px}.dash-mini-stats span{font-size:9px;color:#a9c0b4;margin-left:6px}.action-banner{margin-top:15px;background:#dcea9e;border-radius:20px;padding:17px;display:flex;align-items:center;justify-content:space-between;color:#244d39}.action-banner h3{margin:0 0 5px;font-size:16px}.action-banner p{font-size:10px;margin:0;color:#637847}.action-circle{width:48px;height:48px;border:0;border-radius:50%;background:#214e3a;color:#fff;display:grid;place-items:center}.duo-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.duo-actions button{border:0;background:#fff;border-radius:17px;padding:15px;text-align:left;color:var(--ink)}.duo-actions .icon{color:var(--green)}.duo-actions strong{display:block;font-size:13px;margin:10px 0 3px}.duo-actions small{font-size:9px;color:var(--muted)}.timeline-event{display:flex;gap:13px;background:#fff;padding:16px;border-radius:18px}.date-box{width:48px;flex:none;text-align:center;border-right:1px solid var(--line);padding-right:12px}.date-box strong{display:block;font-size:22px;color:var(--green)}.date-box span{font-size:9px;color:var(--muted)}.timeline-event h4{font-size:13px;margin:1px 0 6px}.timeline-event p{font-size:10px;color:var(--muted);margin:0 0 8px}.timeline-event button{border:0;background:var(--mint);color:var(--green);border-radius:8px;padding:5px 10px;font-size:10px}.compact-site{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:13px}.compact-site-art{width:56px;height:56px;border-radius:14px;background:#dceadd;display:grid;place-items:center;color:var(--green);flex:none}.compact-site-art .icon{width:29px;height:29px}.compact-site-info{min-width:0;flex:1}.compact-site-info strong{font-size:12px}.compact-site-info p{font-size:9px;color:var(--muted);margin:5px 0}.inline-companies{display:flex;justify-content:space-around;background:#fff;border-radius:16px;padding:15px 8px;text-align:center}.inline-companies div{font-size:10px;color:#66786e}.inline-companies b{display:grid;place-items:center;margin:0 auto 7px;width:31px;height:31px;background:#eef3ec;border-radius:9px;color:var(--green);font-family:serif}
    /* 首页 C：自然杂志型 */
    .editorial-home{background:#f8f6ef;min-height:100%;padding:0 20px}.editorial-top{display:flex;justify-content:space-between;align-items:center;padding:14px 0 20px;border-bottom:1px solid #dce2d8}.editorial-logo{font-family:serif;font-weight:800;font-size:17px;letter-spacing:2px}.editorial-top span{font-size:9px;letter-spacing:1px;color:#758278}.editorial-hero{padding:28px 0 20px}.editorial-hero .eyebrow{font-size:9px}.editorial-hero h1{font-family:"Songti SC","SimSun",serif;font-size:30px;line-height:1.55;font-weight:600;letter-spacing:2px;margin:12px 0}.editorial-hero p{font-size:11px;line-height:1.8;color:#748078;max-width:270px}.editorial-art{height:160px;border-radius:80px 80px 14px 14px;overflow:hidden;background:#dbe7d7;margin-top:20px}.editorial-art svg{width:100%;height:100%}.editorial-stats{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid #dce2d8}.editorial-stats strong{display:block;font-family:Georgia,serif;font-size:20px}.editorial-stats span{font-size:9px;color:#78847b}.editorial-menu{margin-top:4px}.editorial-menu button{width:100%;display:flex;align-items:center;gap:14px;border:0;border-bottom:1px solid #e0e4dc;background:transparent;padding:16px 0;text-align:left;color:var(--ink)}.editorial-menu em{font-family:Georgia,serif;font-size:11px;color:#8e9c91;font-style:normal}.editorial-menu strong{font-size:14px;font-weight:600;flex:1}.editorial-menu .icon{width:17px;color:#788b7b}.editorial-event{margin-top:25px;border-top:3px solid #315a43;padding-top:15px}.editorial-event small{font-size:9px;letter-spacing:1px;color:#7e8b80}.editorial-event h3{font-family:"Songti SC",serif;font-size:20px;margin:9px 0}.editorial-event p{font-size:11px;color:#758178;line-height:1.8}.editorial-event button{border:0;border-bottom:1px solid #315a43;background:none;padding:5px 0;color:#315a43;font-size:11px}.editorial-site{margin-top:25px;background:#e4ebdd;padding:18px;border-radius:4px}.editorial-site h3{font-size:15px;margin:0 0 9px}.editorial-site p{font-size:10px;color:#6b7c6d;line-height:1.8;margin:0}.editorial-site button{margin-top:12px;border:0;background:#315a43;color:white;border-radius:3px;padding:8px 14px;font-size:10px}.editorial-tip{margin:24px 0;font-family:"Songti SC",serif;font-size:14px;line-height:1.9;color:#45604d}.editorial-tip:before{content:"“";display:block;font-family:Georgia,serif;font-size:42px;height:28px;color:#9eb29f}.editorial-companies{border-top:1px solid #dce2d8;padding-top:17px;display:flex;justify-content:space-between;font-family:serif;font-size:11px;color:#78867b}
    /* 底部导航 */
    .tabbar{height:72px;flex:none;background:rgba(255,255,255,.97);border-top:1px solid #e8ede8;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 7px max(7px,env(safe-area-inset-bottom));position:relative;z-index:30}.tabbar button{border:0;background:transparent;color:#93a098;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;padding:0;position:relative}.tabbar .icon{width:22px;height:22px;stroke-width:1.7}.tabbar button.active{color:var(--green);font-weight:700}.tabbar button.active:before{content:"";position:absolute;top:-7px;width:22px;height:3px;border-radius:0 0 3px 3px;background:var(--green)}.tabbar .center-tab .icon-wrap{width:45px;height:45px;background:var(--green);color:#fff;border-radius:16px;display:grid;place-items:center;margin-top:-20px;box-shadow:0 6px 16px rgba(23,107,77,.25);border:4px solid #fff}.tabbar .center-tab.active:before{display:none}.tabbar .center-tab span:last-child{margin-top:-2px}
    /* 科普 */
    .search-box{height:42px;background:#fff;border:1px solid #e7ece7;border-radius:13px;display:flex;align-items:center;padding:0 12px;gap:8px;margin-top:16px}.search-box .icon{width:17px;color:#8c9a92}.search-box input{border:0;outline:0;min-width:0;flex:1;font-size:11px;background:transparent;color:var(--ink)}.search-box button{border:0;background:none;color:var(--green);font-size:11px;padding:4px}.chips{display:flex;gap:8px;overflow-x:auto;margin:16px 0;scrollbar-width:none}.chip{border:0;background:#edf1ed;color:#718078;border-radius:20px;padding:7px 13px;font-size:10px;white-space:nowrap}.chip.active{background:var(--green);color:#fff}.featured-article{border:0;width:100%;padding:0;text-align:left;overflow:hidden;color:var(--ink)}.article-cover{height:145px;background:linear-gradient(135deg,#d7eadb,#a8cbb5);position:relative;overflow:hidden}.article-cover svg{width:100%;height:100%}.cover-label{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.9);color:var(--green);font-size:9px;border-radius:6px;padding:5px 8px}.featured-copy{padding:14px}.featured-copy h3{font-size:15px;line-height:1.5;margin:0 0 7px}.featured-copy p,.article-meta{font-size:10px;color:var(--muted);margin:0}.article-list{display:grid;gap:12px}.article-item{border:0;background:#fff;border-radius:15px;padding:12px;display:flex;gap:12px;text-align:left;color:var(--ink)}.article-thumb{width:88px;height:78px;border-radius:11px;flex:none;display:grid;place-items:center;background:#e0eee3;color:#478363;overflow:hidden}.article-thumb .icon{width:36px;height:36px}.article-item:nth-child(2n) .article-thumb{background:#f5eddc;color:#aa8750}.article-item:nth-child(3n) .article-thumb{background:#e3edf1;color:#668a98}.article-copy{min-width:0;display:flex;flex-direction:column}.article-copy h4{font-size:12px;line-height:1.55;margin:1px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-copy .tag{align-self:flex-start;font-size:8px;padding:3px 5px}.article-copy .article-meta{margin-top:auto;font-size:9px}.empty{padding:45px 20px;text-align:center;color:var(--muted);font-size:12px}.empty .icon{width:40px;height:40px;display:block;margin:0 auto 12px;color:#a7b6ac}
    /* 打卡 */
    .checkin-head{padding-bottom:35px}.steps{display:flex;align-items:center;margin-top:20px;font-size:9px;color:rgba(255,255,255,.55)}.steps span{display:flex;align-items:center;gap:5px}.steps b{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.15);font-size:9px}.steps .active{color:#fff}.steps .active b{background:#dceba7;color:#315742}.steps i{height:1px;background:rgba(255,255,255,.2);flex:1;margin:0 7px}.checkin-body{margin-top:-17px;position:relative}.form-card{padding:17px;margin-bottom:14px}.form-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.form-title h3{font-size:14px;margin:0}.form-title span{font-size:9px;color:var(--muted)}.plastic-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plastic-item{border:1px solid #e7ede8;border-radius:14px;padding:12px 10px;transition:.2s}.plastic-item.selected{border-color:#6faa88;background:#f1f8f2}.plastic-top{display:flex;align-items:center;gap:8px}.plastic-symbol{width:35px;height:35px;border-radius:11px;background:#edf3ee;display:grid;place-items:center;color:#57816a}.plastic-symbol .icon{width:24px;height:24px}.plastic-top strong{font-size:11px}.plastic-top small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.stepper{display:flex;align-items:center;justify-content:space-between;margin-top:11px}.stepper button{width:25px;height:25px;border:1px solid #dfe7e1;background:#fff;color:var(--green);border-radius:8px;display:grid;place-items:center;padding:0}.stepper button .icon{width:13px;height:13px}.stepper span{font-size:13px;font-weight:700}.other-waste{margin-top:12px;padding:12px;border:1px solid #e7ede8;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.other-waste-copy strong{display:block;font-size:11px}.other-waste-copy small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.other-weight-input{width:105px;height:38px;flex:none;border:1px solid #dfe7e1;border-radius:10px;background:#fff;display:flex;align-items:center;padding:0 10px;gap:5px}.other-weight-input:focus-within{border-color:#6faa88;box-shadow:0 0 0 3px rgba(35,147,106,.08)}.other-weight-input input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--green);font-size:13px;font-weight:700;text-align:right}.other-weight-input span{font-size:10px;color:var(--muted)}.weight-result{margin-top:15px;background:#eff6ee;border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center}.weight-result span{font-size:10px;color:#6f8174}.weight-result strong{font-size:20px;color:var(--green)}.weight-result small{font-size:10px;font-weight:500}.photo-row{display:flex;gap:11px}.upload-box{width:92px;height:92px;border:1px dashed #b8c8bc;border-radius:13px;background:#f8faf7;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#819287;position:relative;overflow:hidden;padding:0}.upload-box .icon{width:25px;height:25px;margin-bottom:6px}.upload-box span{font-size:9px}.upload-box.has-photo{border:0;background:linear-gradient(145deg,#c2d9c6,#8eb69c);color:#fff}.upload-box.has-photo:after{content:"演示照片";position:absolute;bottom:0;left:0;right:0;background:rgba(20,62,44,.65);font-size:8px;text-align:center;padding:4px}.upload-hint{font-size:9px;color:var(--muted);line-height:1.7;flex:1}.upload-hint button{display:block;border:0;background:none;color:var(--green);font-size:9px;padding:8px 0 0}.location-box{display:flex;align-items:center;gap:11px}.location-icon{width:39px;height:39px;border-radius:12px;background:#eaf3ec;display:grid;place-items:center;color:var(--green);flex:none}.location-copy{flex:1;min-width:0}.location-copy strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-copy span{font-size:9px;color:var(--muted);display:block;margin-top:5px}.location-box button{border:0;background:var(--mint);color:var(--green);font-size:10px;padding:7px 10px;border-radius:9px;white-space:nowrap}.privacy-note{text-align:center;font-size:9px;color:#9aa69e;margin:3px 0 13px}.submit-area{padding:0 18px}.success-badge{width:69px;height:69px;background:#e1f1df;color:var(--green);border-radius:50%;display:grid;place-items:center;margin:0 auto 15px}.success-badge .icon{width:35px;height:35px}.success-copy{text-align:center}.success-copy h3{font-size:20px;margin:0 0 8px}.success-copy p{font-size:11px;color:var(--muted);line-height:1.8}.success-data{display:flex;justify-content:center;gap:30px;margin:20px 0}.success-data strong{font-size:20px;color:var(--green);display:block}.success-data span{font-size:9px;color:var(--muted)}
    /* 排行 */
    .rank-head{background:linear-gradient(145deg,#155d43,#237b58);color:#fff;padding:15px 20px 62px}.rank-head .title-row p{color:#c3d9ca}.segmented{display:flex;background:rgba(255,255,255,.12);padding:4px;border-radius:12px;margin-top:18px}.segmented button{flex:1;border:0;background:transparent;color:#c0d3c6;border-radius:9px;padding:8px;font-size:11px}.segmented button.active{background:#fff;color:var(--green);font-weight:700}.rank-content{margin-top:-43px;position:relative;padding:0 15px}.podium{height:183px;background:#fff;border-radius:20px 20px 12px 12px;display:flex;align-items:flex-end;justify-content:center;padding:17px 12px 0;box-shadow:var(--shadow)}.podium-item{width:31%;text-align:center;position:relative}.podium-avatar{width:46px;height:46px;border-radius:50%;background:#e5ede5;border:3px solid #c3d0c4;display:grid;place-items:center;margin:0 auto 7px;font-size:15px;font-weight:700;color:#52705c;position:relative}.podium-item.first .podium-avatar{width:57px;height:57px;border-color:#e7c765;background:#fbf3d7;color:#9a792d}.crown{position:absolute;top:-22px;left:50%;transform:translateX(-50%);color:#dcae3e}.crown .icon{width:23px;height:23px;fill:#f4d675;stroke:#c79d3d}.podium-item strong{font-size:11px;display:block}.podium-item small{font-size:8px;color:var(--muted);display:block;margin:3px 0 8px}.podium-base{height:51px;background:#e7eee7;border-radius:8px 8px 0 0;display:grid;place-items:center;font-family:Georgia,serif;font-size:21px;color:#829487}.podium-item.first .podium-base{height:72px;background:#e3edcf;color:#718044}.rank-list{background:#fff;border-radius:12px 12px 20px 20px;margin-top:5px;padding:4px 14px;box-shadow:var(--shadow)}.rank-row{display:flex;align-items:center;padding:13px 0;border-bottom:1px solid #edf0ec;gap:12px}.rank-row:last-child{border:0}.rank-num{font-family:Georgia,serif;width:21px;text-align:center;font-size:13px;color:#8c998f}.rank-street{flex:1}.rank-street strong{font-size:12px}.rank-street span{display:block;font-size:8px;color:var(--muted);margin-top:4px}.rank-weight{text-align:right}.rank-weight strong{font-size:13px;color:#375b46}.rank-weight small{font-size:8px;color:var(--muted)}.rank-row.me{background:#f0f7ef;margin:0 -14px;padding-left:14px;padding-right:14px}.rank-row.me .rank-street strong:after{content:"我的街道";font-size:7px;color:var(--green);background:#dfeddc;border-radius:4px;padding:2px 4px;margin-left:5px}.rank-note{text-align:center;font-size:9px;color:#94a098;margin:15px 0 4px}
    /* 我的 */
    .profile-head{background:linear-gradient(150deg,#176b4d,#258362);color:#fff;padding:18px 20px 48px}.profile-top{display:flex;align-items:center;gap:13px}.avatar{width:58px;height:58px;border-radius:50%;background:#e1edcd;border:3px solid rgba(255,255,255,.28);display:grid;place-items:center;color:#426b4c}.avatar .icon{width:29px;height:29px}.profile-info{flex:1}.profile-name{display:flex;align-items:center;gap:7px}.profile-name h2{font-size:18px;margin:0}.captain-tag{font-size:8px;color:#4e5931;background:#e3eab4;border-radius:5px;padding:3px 5px}.profile-info p{font-size:9px;color:#bad2c3;margin:6px 0 0}.profile-head>.round-btn{background:rgba(255,255,255,.12);color:#fff}.profile-stats{margin:-31px 18px 0;position:relative;background:#fff;border-radius:18px;display:grid;grid-template-columns:repeat(3,1fr);padding:17px 5px;box-shadow:var(--shadow)}.profile-stats button{border:0;background:none;color:var(--ink)}.profile-stats button:not(:last-child){border-right:1px solid var(--line)}.profile-stats strong{display:block;font-size:20px}.profile-stats small{font-size:9px;color:var(--muted)}.menu-card{background:#fff;border-radius:17px;overflow:hidden}.menu-row{border:0;background:#fff;width:100%;display:flex;align-items:center;gap:12px;padding:15px;text-align:left;color:var(--ink);border-bottom:1px solid #edf0ec}.menu-row:last-child{border-bottom:0}.menu-icon{width:35px;height:35px;border-radius:11px;background:#e9f3e9;display:grid;place-items:center;color:var(--green)}.menu-row:nth-child(2) .menu-icon{background:#faf0d9;color:#ad8138}.menu-row:nth-child(3) .menu-icon{background:#e8eef5;color:#668499}.menu-icon .icon{width:19px;height:19px}.menu-copy{flex:1}.menu-copy strong{display:block;font-size:12px}.menu-copy small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.menu-row>.icon{width:16px;color:#a0aaa4}.captain-card{margin-top:16px;background:#234c3d;color:#fff;border-radius:18px;padding:17px;position:relative;overflow:hidden}.captain-card:after{content:"";position:absolute;width:110px;height:110px;border:20px solid rgba(255,255,255,.035);border-radius:50%;right:-50px;top:-40px}.captain-title{display:flex;justify-content:space-between;align-items:center;position:relative}.captain-title h3{font-size:15px;margin:0}.captain-title .pill{background:rgba(255,255,255,.12);color:#dce9df;font-size:9px;padding:5px 8px}.captain-card p{font-size:10px;color:#b9cec1;margin:8px 0 15px}.captain-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative}.captain-actions button{border:0;border-radius:11px;padding:10px 5px;background:#e4edba;color:#34513d;font-size:11px;font-weight:700}.captain-actions button:last-child{background:rgba(255,255,255,.12);color:#fff}.version{text-align:center;color:#a5afa8;font-size:9px;margin:23px 0}
    /* 子页面与通用组件 */
    .sub-header{height:57px;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--cream);position:relative;z-index:2}.sub-header h2{font-size:16px;margin:0}.sub-header .placeholder{width:36px}.back-btn{width:34px;height:34px;border:0;background:#fff;color:var(--ink);border-radius:50%;display:grid;place-items:center}.back-btn .icon{width:18px}.sub-content{padding:5px 18px 30px}.record-summary{display:flex;background:var(--green);color:#fff;border-radius:17px;padding:17px;margin-bottom:16px}.record-summary div{flex:1;text-align:center}.record-summary div+div{border-left:1px solid rgba(255,255,255,.17)}.record-summary strong{display:block;font-size:21px}.record-summary span{font-size:9px;color:#bfd3c5}.filter-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:5px}.filter-tabs button{border:0;background:none;padding:10px 1px;font-size:11px;color:var(--muted);position:relative}.filter-tabs button.active{color:var(--green);font-weight:700}.filter-tabs button.active:after{content:"";height:2px;background:var(--green);position:absolute;bottom:-1px;left:0;right:0}.record-item{background:#fff;border-radius:15px;padding:14px;margin-top:11px}.record-top{display:flex;align-items:center;gap:10px}.record-type-icon{width:38px;height:38px;border-radius:12px;background:#eaf3eb;color:var(--green);display:grid;place-items:center}.record-name{flex:1}.record-name strong{font-size:12px;display:block}.record-name small{font-size:8px;color:var(--muted);margin-top:4px;display:block}.record-weight{text-align:right}.record-weight strong{font-size:14px;color:var(--green)}.record-weight small{font-size:8px;color:var(--muted)}.record-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1ed;padding-top:10px;margin-top:11px;font-size:9px;color:var(--muted)}.status{font-size:9px;border-radius:6px;padding:3px 7px;background:#e7f3e9;color:#448054}.status.pending{background:#fff2d9;color:#a7792f}.status.rejected{background:#fae6e3;color:#b65b53}.badge-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.badge-card{background:#fff;border-radius:17px;padding:18px 10px;text-align:center}.badge-medal{width:65px;height:65px;border-radius:50%;background:linear-gradient(145deg,#f6e9b6,#dfc56d);color:#816d30;display:grid;place-items:center;margin:0 auto 11px;border:5px solid #fbf5e3;box-shadow:0 3px 10px rgba(121,99,38,.12)}.badge-medal .icon{width:29px;height:29px}.badge-card.locked .badge-medal{background:#e6eae6;color:#a5afa7;border-color:#f2f4f1;box-shadow:none;filter:grayscale(1)}.badge-card strong{font-size:12px;display:block}.badge-card small{font-size:9px;color:var(--muted);display:block;margin-top:6px}.badge-card.locked strong{color:#8e9992}.badge-progress{margin:15px 0 20px;background:#fff;border-radius:14px;padding:14px}.badge-progress p{display:flex;justify-content:space-between;font-size:10px;margin:0 0 9px}.progress-track{height:6px;background:#e8ede8;border-radius:6px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--green);border-radius:6px}.activity-item{background:#fff;border-radius:16px;padding:15px;margin-top:12px}.activity-item-head{display:flex;justify-content:space-between;gap:10px}.activity-item h3{font-size:13px;margin:0;line-height:1.5}.activity-item p{font-size:10px;color:var(--muted);line-height:1.8;margin:8px 0 0}.activity-item p .icon{width:13px;height:13px;margin-right:4px}.review-card{background:#fff;border-radius:16px;padding:14px;margin-top:12px}.review-user{display:flex;align-items:center;gap:9px}.mini-avatar{width:33px;height:33px;border-radius:50%;background:#e4eee3;display:grid;place-items:center;color:var(--green)}.mini-avatar .icon{width:17px}.review-user div:nth-child(2){flex:1}.review-user strong{font-size:11px}.review-user small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.review-data{display:flex;gap:10px;margin-top:12px}.review-photo{width:72px;height:72px;border-radius:10px;background:linear-gradient(145deg,#d7e6d7,#a5c2aa);display:grid;place-items:center;color:#4c7a59;flex:none}.review-photo .icon{width:32px;height:32px}.review-info{font-size:10px;line-height:1.9;color:#62736a}.review-info b{color:var(--ink);font-weight:600}.review-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:9px;margin-top:12px}.review-actions button{min-height:35px;border-radius:10px;font-size:10px}.reject-btn{border:1px solid #e4e9e4;background:#fff;color:#7c8980}.approve-btn{border:0;background:var(--green);color:#fff}.article-detail-cover{height:200px;margin:0 -18px 20px;background:#d8e8d8;overflow:hidden}.article-detail-cover svg{width:100%;height:100%}.article-body h1{font-size:22px;line-height:1.5;margin:0 0 12px}.article-body .article-meta{padding-bottom:16px;border-bottom:1px solid var(--line)}.article-body h3{font-size:16px;margin:24px 0 10px}.article-body p{font-size:13px;line-height:2;color:#53675b}.knowledge-tip{background:#eaf3e8;border-left:3px solid var(--green);padding:13px 15px;border-radius:0 12px 12px 0;font-size:11px;line-height:1.8;color:#52705b;margin:20px 0}
    /* 弹层 */
    #modal-root{position:absolute;inset:0;z-index:60}#modal-root:empty{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(10,34,25,.5);display:flex;align-items:flex-end;animation:fadeIn .18s}.sheet{width:100%;max-height:88%;overflow-y:auto;background:var(--cream);border-radius:25px 25px 0 0;padding:10px 20px max(22px,env(safe-area-inset-bottom));animation:slideUp .22s;scrollbar-width:none}.sheet-handle{width:38px;height:4px;border-radius:5px;background:#d4ddd6;margin:0 auto 17px}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.sheet-head h3{font-size:17px;margin:0}.sheet-close{border:0;background:#e9eeea;color:#6f8075;width:29px;height:29px;border-radius:50%;display:grid;place-items:center}.sheet-close .icon{width:15px}.activity-sheet-art{height:140px;border-radius:16px;background:linear-gradient(135deg,#d8e7c4,#a8c69b);overflow:hidden;margin-bottom:17px}.activity-sheet-art svg{width:100%;height:100%}.sheet-title{font-size:20px;margin:0 0 8px}.sheet-desc{font-size:11px;color:var(--muted);line-height:1.8}.info-list{margin:16px 0}.info-line{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.6}.info-line .icon{width:17px;color:var(--green);flex:none}.info-line span{color:var(--muted);min-width:55px}.info-line div{flex:1}.rule-box{background:#fff4db;border-radius:12px;padding:12px;font-size:10px;color:#806a3c;line-height:1.8;margin-bottom:16px}.form-field{margin-bottom:13px}.form-field label{display:block;font-size:10px;color:#66796d;margin-bottom:7px}.form-field input,.form-field select{width:100%;height:42px;border:1px solid #dfe7e0;background:#fff;border-radius:11px;padding:0 11px;font-size:11px;color:var(--ink);outline:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toast{position:absolute;left:50%;bottom:91px;transform:translateX(-50%);background:rgba(18,47,36,.91);color:#fff;padding:10px 16px;border-radius:11px;font-size:11px;z-index:90;white-space:nowrap;animation:fadeIn .2s;box-shadow:0 5px 20px rgba(0,0,0,.15)}
    /* 原型方案切换器 */
    .variant-switcher{position:fixed;z-index:100;left:50%;bottom:18px;transform:translateX(-50%);height:48px;background:#142c24;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:28px;display:flex;align-items:center;box-shadow:0 10px 35px rgba(9,32,23,.28);padding:4px}.variant-switcher button{width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:#dce8e0;display:grid;place-items:center}.variant-switcher button:hover{background:rgba(255,255,255,.1)}.variant-label{min-width:133px;text-align:center;line-height:1.15;cursor:pointer}.variant-label small{display:block;font-size:8px;letter-spacing:1px;color:#8eaa9b;margin-bottom:4px}.variant-label strong{font-size:11px;font-weight:600}.variant-label strong b{color:#d9e9a8;margin-right:4px}
    @keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{transform:translateY(30px);opacity:.5}to{transform:translateY(0);opacity:1}}
    @media(min-width:1001px){.variant-switcher{left:calc(50% - 290px)}}
    @media(min-width:521px) and (max-width:1000px){.phone{height:min(800px,calc(100vh - 90px));min-height:0}}
    @media(max-width:1000px){.brief-panel{display:none}.prototype-shell{padding:20px}}
    @media(max-width:520px){html,body{background:var(--cream)}.prototype-shell{display:block;padding:0;min-height:100dvh;background:var(--cream)}.device-wrap{width:100%}.phone{width:100%;height:100dvh;min-height:560px;border:0;border-radius:0;box-shadow:none}.phone:before{display:none}.statusbar{padding-top:5px;height:34px}.variant-switcher{bottom:82px;height:39px;padding:3px;background:rgba(20,44,36,.93)}.variant-switcher button{width:31px;height:31px}.variant-switcher button .icon{width:16px}.variant-label{min-width:105px}.variant-label small{display:none}.variant-label strong{font-size:10px}.with-tabs{padding-bottom:134px}}
    @media(max-height:700px) and (min-width:521px){.phone{min-height:620px}.brief-panel h1{font-size:28px}.brief-brand{margin-bottom:25px}.brief-foot{margin-top:18px}}
  