:root{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#183f38;background:#e7efeb;font-synthesis:none;--green:#087c69;--muted:#75817c;--mint:#dcf4eb;--shadow:0 5px 17px #365b4410}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.5}button:focus-visible,input:focus-visible{outline:3px solid #e5ac42;outline-offset:3px}button{color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.app-shell{max-width:480px;min-height:100dvh;background:#fafaf7;margin:auto;position:relative;box-shadow:0 0 70px #204d3f12}main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.hero{height:282px;position:relative;background:#d1e6df url('./assets/hero.jpg') center 54%/cover no-repeat}.hero-copy{position:absolute;z-index:1;top:24px;left:28px}.eyebrow{font-size:11px;letter-spacing:.14em;margin:0 0 7px;color:#34685d}.hero h1{font-size:29px;letter-spacing:.02em;color:#074a3c;margin:0;font-weight:800}.art-label{position:absolute;right:13px;bottom:9px;font-size:9px;color:#45665a;background:#fff9;padding:2px 5px;border-radius:4px}.home-content{padding:0 15px}.card{border:1px solid #e2e9e4;border-radius:19px;background:linear-gradient(125deg,#fffffff5,#eefaf5);box-shadow:var(--shadow)}.device-card{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:16px 13px;margin-top:-2px;min-height:96px;position:relative;overflow:hidden}.device-card:after{content:"";position:absolute;right:-20px;bottom:-36px;width:190px;height:60px;background:#b9e9e280;border-radius:50%;pointer-events:none;transform:rotate(-8deg)}.icon-tile{width:49px;height:49px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;background:linear-gradient(140deg,#e1f6ec,#ccefe8);color:#0b806e}.icon-tile .icon{width:31px;height:31px}.icon-tile.small{width:45px;height:45px;border-radius:15px}.icon-tile.small .icon{width:28px;height:28px}.device-copy{display:block;min-width:0;flex:1}.device-heading{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:5px}.device-heading strong{font-size:16px;line-height:1.4}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:20px;white-space:nowrap;padding:3px 9px;font-size:10px;font-weight:600;line-height:1.4}.badge.connected{background:#47c98c;color:#fff}.badge.neutral{color:#687e73;background:#e8efeb}.badge.pending{color:#098c90;background:#d9f4f2}.badge.warning{color:#926126;background:#fff0d7}.badge.failed{color:#a84a40;background:#fae5df}.badge svg{width:12px;height:12px;stroke-width:2.5}.muted{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.divider{margin:0 5px;color:#b1bcb6}.chevron{width:16px;height:19px;flex:0 0 auto;color:#66736c}.add-card{margin-top:13px;display:flex;align-items:center;gap:13px;padding:13px 14px;width:100%;min-height:75px;border:1px dashed #b8d6d1;border-radius:15px;background:#fff9;text-align:left}.add-card>span:nth-child(2){flex:1}.add-card strong{display:block;font-size:17px;margin-bottom:3px}.section-heading{display:flex;gap:9px;align-items:center;margin:17px 1px 10px}h2{font-size:19px;line-height:1.4;margin:0;font-weight:750}.leaf{display:block;width:19px;height:13px;background:linear-gradient(145deg,#9bdcb1,#18a579);border-radius:100% 0 100% 0;transform:rotate(-6deg)}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.category-card{border:1px solid #ede9dc;padding:0;border-radius:14px;box-shadow:var(--shadow);background:#fffcf6;text-align:left;overflow:hidden;min-width:0}.category-card img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}.category-foot{display:flex;align-items:center;justify-content:space-between;padding:11px 10px;gap:3px;flex-wrap:wrap}.category-foot strong{font-size:14px}.category-foot>span{font-size:10px;display:flex;align-items:center;gap:2px;background:#d8f2e8;color:#167460;border-radius:13px;padding:4px 7px}.category-foot svg{width:10px;height:12px}.install-card{padding:15px 14px 12px;margin-top:14px;position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f0fcf9)}.install-card:before{content:"";position:absolute;left:-22px;bottom:-32px;width:110px;height:55px;border-radius:100% 0;background:linear-gradient(150deg,#b8e4d480,#93d7ca99);transform:rotate(12deg);pointer-events:none}.install-header{display:flex;gap:11px;align-items:center}.install-copy{flex:1;min-width:0}.install-copy h2{font-size:18px;margin-bottom:4px}.install-copy .muted{font-size:11px;overflow-wrap:anywhere}.install-header>.badge{align-self:flex-start;margin-top:3px}.install-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:15px;position:relative}.subtle{font-size:10px;color:#8a9b91;line-height:1.5}.pill{display:inline-flex;gap:4px;align-items:center;border:0;border-radius:20px;padding:7px 12px;background:#daf5ef;color:#137c6b;font-size:12px;white-space:nowrap}.pill svg{width:11px;height:14px}.page-note{font-size:10px;color:#81968a;line-height:1.7;margin:14px 4px;text-align:center}.progress-row{display:flex;align-items:center;gap:10px;margin:14px 2px 0 56px}.progress-track{height:8px;flex:1;border-radius:10px;background:#e6eeeb;overflow:hidden}.progress-track>div{width:35%;height:100%;border-radius:10px;background:linear-gradient(90deg,#4bc89e,#31bfba);animation:indeterminate 1.6s ease-in-out infinite alternate}.progress-row>span{font-size:10px;color:#71837a}.activation-note{font-size:10px;line-height:1.6;color:#788e82;margin:10px 0 0 56px}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:#ffffffed;border-top:1px solid #edf2ee;backdrop-filter:blur(16px)}.bottom-nav button{flex:1;border:0;padding:0;display:flex;justify-content:center;background:transparent;color:#7c827e;font-size:13px;font-weight:600;min-height:56px}.bottom-nav button>span{min-width:77px;display:flex;align-items:center;flex-direction:column;gap:3px;padding:5px 12px;border-radius:29px}.bottom-nav button svg{width:24px;height:24px}.bottom-nav button[aria-current="page"]{color:#087b68}.bottom-nav button[aria-current="page"]>span{background:#e1f7ef}.inner-view{padding:0 18px}.inner-header{padding:38px 6px 20px}.inner-header h1{font-size:28px;margin:0 0 9px}.inner-header .muted{font-size:12px}.content-toolbar{display:flex;align-items:center;justify-content:space-between;color:#809187;font-size:12px;margin:0 3px 13px}.quiet-button,.text-button{border:0;background:transparent;color:var(--green);padding:10px;font-size:12px}.catalog-list{display:grid;gap:12px}.catalog-item{padding:17px;border:1px solid #dceae2;border-radius:16px;background:#fff}.catalog-item h2{font-size:17px;margin-bottom:4px;overflow-wrap:anywhere}.catalog-item p{font-size:12px;line-height:1.7;color:#7d8b82;overflow-wrap:anywhere}.catalog-item button{margin-top:10px}.empty-state{padding:32px 20px;text-align:center;border:1px dashed #c7ddd3;border-radius:16px;color:#7a9385;font-size:13px;line-height:1.9;background:#fff7}.settings-card{padding:20px;margin-bottom:16px}.settings-card h2{font-size:18px;margin-bottom:16px}dl{margin:0}dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf2ee;font-size:12px}dt{color:#89978c;flex:0 0 auto}dd{margin:0;text-align:right;overflow-wrap:anywhere}.wide-secondary,.primary-button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;padding:12px 15px;border-radius:12px;font-weight:650;min-height:44px;font-size:13px;width:100%}.wide-secondary{background:#e7f6ee;color:#187c66;margin:15px 0 5px}.wide-secondary svg{width:15px;height:15px}.primary-button{background:#15977a;color:white}.text-button{display:block;margin:auto}.settings-row{border:0;border-bottom:1px solid #e5eee7;background:transparent;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;padding:15px 0;font-size:13px}.small-text{font-size:11px;line-height:1.8}.settings-card>.small-text{margin-top:15px}.demo-banner{position:sticky;top:0;z-index:6;text-align:center;background:#fff0c9;color:#79552b;font-size:10px;padding:7px}.demo-banner button{border:0;border-bottom:1px solid;background:transparent;color:inherit;font-size:10px;margin-left:8px;padding:0}.toast{position:fixed;z-index:30;bottom:calc(95px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:min(88vw,430px);border-radius:12px;background:#173e35ed;color:white;padding:12px 17px;font-size:12px;line-height:1.7;box-shadow:0 5px 30px #143b3520}dialog{color:#214b3d;width:calc(100% - 26px);max-width:444px;border:1px solid #e5eee7;border-radius:23px;padding:23px;background:#fdfefb;box-shadow:0 30px 100px #0a302b44;max-height:85dvh;overflow:auto}dialog::backdrop{background:#183f395c;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dialog-heading h2{font-size:21px}.icon-button{border:0;background:#edf6f0;color:#5b7c68;border-radius:50%;width:32px;height:32px;padding:7px}.icon-button svg{width:100%;height:100%}dialog label{display:block;font-size:12px;margin:20px 0 7px;font-weight:650}dialog input{width:100%;padding:13px;border:1px solid #c7ddd0;background:#fff;border-radius:12px;font-size:16px;color:#244e3c}dialog .primary-button{margin-top:15px}.form-error{font-size:12px;color:#b66348;line-height:1.7}.guide-steps{padding-left:23px;color:#687f70;font-size:13px;line-height:1.9}.guide-steps li{padding:5px 0}.callout{border-radius:12px;background:#e9f6ed;color:#54816b;font-size:11px;line-height:1.9;padding:14px}.job-detail{padding:15px 0;border-bottom:1px solid #e0eee4}.job-detail h3{font-size:14px;margin:0 0 7px;overflow-wrap:anywhere}.job-detail p{font-size:12px;color:#7d8d80;line-height:1.8;overflow-wrap:anywhere}.noscript{padding:20px;background:#fff3ce;text-align:center}@keyframes indeterminate{from{transform:translateX(-15%)}to{transform:translateX(190%)}}@media(max-width:370px){.hero{height:244px}.hero-copy{left:23px;top:24px}.hero h1{font-size:26px}.device-card{gap:9px;padding:13px 11px}.device-heading strong{font-size:14px}.device-heading{gap:4px}.device-meta,.muted{font-size:11px}.device-card .icon-tile{width:41px;height:44px}.badge{padding:3px 6px;font-size:9px}.install-header>.badge{display:none}.category-foot{padding:9px 8px}.category-foot strong{font-size:13px}.category-foot>span{font-size:9px;padding:3px 6px}.subtle{font-size:9px}.pill{font-size:11px;padding:6px 10px}.add-card strong{font-size:15px}}@media(min-width:700px){body{padding:24px 0}.app-shell{border-radius:26px 26px 0 0;overflow:hidden}.bottom-nav{border-radius:0}.hero{height:294px}.hero h1{font-size:32px}.home-content{padding:0 18px}.category-foot strong{font-size:15px}}@media(prefers-reduced-motion:reduce){.progress-track>div{animation:none}}

.progress-track>div.determinate{animation:none}

button{touch-action:manipulation}.pill,.quiet-button,.text-button{min-height:44px}.icon-button{width:44px;height:44px;padding:12px}.demo-banner button{min-height:32px;padding:3px 6px}

.hero{height:clamp(205px,62vw,270px);background-position:60% 54%}
