.sb{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;line-height:1;border:0;border-radius:var(--r-btn);padding:0 18px;height:44px;transition:background .15s,box-shadow .15s,transform .08s,border-color .15s,color .15s;white-space:nowrap}.sb:active{transform:translateY(1px)}.sb-pri{background:var(--green);color:#fff}.sb-pri:hover{background:var(--green-700)}.sb-ghost{background:#fff;color:var(--green);box-shadow:inset 0 0 0 1.5px var(--green)}.sb-ghost:hover,.sb-soft{background:var(--green-soft)}.sb-soft{color:var(--ink)}.sb-soft:hover{background:var(--green-tint)}.sb-block{width:100%}.sb-sm{height:38px;font-size:13px;padding:0 14px}.sb-lg{height:50px;font-size:15px}.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-card);transition:box-shadow .18s,transform .18s,border-color .18s}.card-h:hover{box-shadow:var(--sh-hover);transform:translateY(-2px)}.card-sel{border-color:var(--green);box-shadow:0 0 0 1px var(--green),var(--sh-hover)}.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--r-pill);font-size:13px;font-weight:600;background:#fff;color:var(--ink);border:1.5px solid var(--line);cursor:pointer;background-clip:padding-box;box-shadow:none;transition:background-color .14s,border-color .14s,color .14s;white-space:nowrap}.chip.on-solid,.chip:hover{border-color:var(--green)}.chip.on-solid{background:var(--green);color:#fff}.chip.on-outline{background:#fff;color:var(--green);border-color:var(--green)}.chip.on-soft{background:var(--green-soft);color:var(--green-700);border-color:var(--green-soft)}.sol .chip:focus:not(:focus-visible){outline:none}.navpill{display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;border-radius:12px;cursor:pointer;color:var(--ink);transition:background .14s;background:transparent;border:0;width:100%;text-align:left;font-size:14px;font-weight:600}.navpill.on,.navpill:hover{background:var(--green-soft)}.navpill .ic{color:var(--green);flex:0 0 auto;display:flex}.tnav{color:var(--ink);font-size:15px;font-weight:600;padding:6px 2px;position:relative;cursor:pointer;background:none;border:0;transition:color .14s}.tnav.on,.tnav:hover{color:var(--green)}.tnav.on:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2.5px;background:var(--green);border-radius:2px}.ctab{background:none;border:0;cursor:pointer;font-size:15px;font-weight:700;color:var(--ink-2);padding:12px 2px;position:relative;white-space:nowrap;transition:color .14s}.ctab.on,.ctab:hover{color:var(--ink)}.ctab.on:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--green);border-radius:3px 3px 0 0}.sw{position:relative;width:42px;height:24px;border-radius:999px;background:var(--line);border:0;cursor:pointer;transition:background .16s;flex:0 0 auto}.sw:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .16s}.sw.on{background:var(--green)}.sw.on:after{transform:translateX(18px)}.rng{position:relative;height:28px;display:flex;align-items:center}.rng-track{left:0;right:0;background:var(--line)}.rng-fill,.rng-track{position:absolute;height:4px;border-radius:4px}.rng-fill{background:var(--green)}.rng-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--line-2);top:50%;transform:translate(-50%,-50%)}.rng-dot.passed{background:var(--green)}.rng input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;width:100%;height:28px;margin:0;background:transparent;cursor:pointer}.rng input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--green);border:4px solid #fff;box-shadow:0 2px 8px rgba(20,184,143,.45);cursor:-webkit-grab;cursor:grab}.rng input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--green);border:4px solid #fff;box-shadow:0 2px 8px rgba(20,184,143,.45);cursor:grab}.rng input[type=range]:focus{outline:none}.rng input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 2px 8px rgba(20,184,143,.45),0 0 0 3px rgba(20,184,143,.35)}.rng input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 2px 8px rgba(20,184,143,.45),0 0 0 3px rgba(20,184,143,.35)}.sheet-back{position:fixed;inset:0;background:rgba(16,24,32,.42);z-index:60;opacity:0;animation:sheet-fade .2s forwards}@keyframes sheet-fade{to{opacity:1}}.sheet{position:fixed;left:0;right:0;bottom:0;max-height:88%;background:#fff;border-radius:22px 22px 0 0;z-index:61;display:flex;flex-direction:column;transform:translateY(100%);animation:sheet-up .26s cubic-bezier(.22,1,.36,1) forwards;box-shadow:0 -12px 40px rgba(0,0,0,.18)}@keyframes sheet-up{to{transform:translateY(0)}}.sheet-grip{width:38px;height:4px;border-radius:3px;background:var(--line);margin:10px auto 4px;flex:0 0 auto}.sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sheet-foot{flex:0 0 auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}@media (max-width:979.98px){.sheet-full{top:auto;height:100vh;height:100dvh;max-height:none;border-radius:0}.sheet-full .sheet-grip{display:none}.sheet-full .sheet-head{padding-top:calc(14px + env(safe-area-inset-top))}}.pop{position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-pop);z-index:50;padding:8px;animation:pop-in .14s ease}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}}.pop-item{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;cursor:pointer;font-size:14px;white-space:nowrap}.pop-item:hover{background:var(--surface)}.pop-item.on{color:var(--green);font-weight:700}.rate-row{transition:background .12s}.rate-row:hover{background:var(--surface-2)}@keyframes scr-in{0%{transform:translateY(6px)}to{transform:none}}.scr-in{animation:scr-in .24s ease both}@media (prefers-reduced-motion:no-preference){@keyframes sol-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.rise{animation:sol-rise .5s cubic-bezier(.22,1,.36,1) both}}.statcard{transition:background .18s,transform .18s}.statcard:hover{background:var(--green-soft)!important;transform:translateY(-2px)}.statcard:active{transform:translateY(0)}.ecocard{transition:transform .18s,box-shadow .18s}.ecocard:hover{transform:translateY(-3px);box-shadow:var(--sh-hover)}.ecocard:active{transform:translateY(-1px)}.eco-ill{transition:transform .3s cubic-bezier(.22,1,.36,1)}.ecocard:hover .eco-ill{transform:translateY(-5px) rotate(-2deg)}@media (prefers-reduced-motion:reduce){.eco-ill,.ecocard,.statcard{transition:none}.ecocard:hover,.ecocard:hover .eco-ill,.statcard:hover{transform:none}}.lnk{color:var(--green);font-weight:700;cursor:pointer}.lnk:hover{color:var(--green-700)}.imgph{background:repeating-linear-gradient(135deg,#e9ecf0 0 12px,#f2f4f7 12px 24px);position:relative}.pop,.sheet,.sheet-back{pointer-events:auto}