@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{--surface-lowest:#0e0e0e;--surface:#131313;--surface-low:#1c1b1b;--surface-c:#222;--surface-hi:#2a2a2a;--surface-hh:#333;--surface-bright:#3a3a3a;--primary:#adc6ff;--primary-c:#4d8eff;--on-primary:#002e6a;--accent:#ffb786;--accent-strong:#ff8a52;--on-surface:#e5e2e1;--on-surface-var:#c2c6d6;--ghost-border:#7b81963d;--ghost-border-strong:#99a0ba75;--success:#7bd389;--warning:#ffb786;--danger:#ff8a80;--glass-bg:#131313a8;--shadow-modal:0 24px 64px #9fb5e71a, 0 2px 8px #00000061;--surface-rgb:19, 19, 19;--hero-after-fade:linear-gradient(180deg, rgba(var(--surface-rgb), 0) 0%, rgba(var(--surface-rgb), .58) 58%, var(--surface) 100%);--font-display:"Manrope", ui-sans-serif, sans-serif;--font-body:"IBM Plex Sans", ui-sans-serif, sans-serif;--font-mono:ui-monospace, "JetBrains Mono", Menlo, monospace;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-2xl:16px;--r-pill:9999px;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur:.2s;--max-w:1280px;--app-header-height:58px}[data-theme=light]{--surface-lowest:#f4efe7;--surface:#fbf7f2;--surface-low:#f0ebe3;--surface-c:#fff;--surface-hi:#fbf7f1;--surface-hh:#f5efe5;--surface-bright:#fff;--primary:#2a5bd6;--primary-c:#4d8eff;--accent:#e2741f;--accent-strong:#c95e0a;--on-surface:#1a1614;--on-surface-var:#5c5852;--ghost-border:#281e141f;--ghost-border-strong:#281e1438;--glass-bg:#faf7f2c7;--shadow-modal:0 24px 60px #281e141a, 0 2px 8px #281e140d;--surface-rgb:251, 247, 242;--hero-after-fade:linear-gradient(180deg, rgba(var(--surface-rgb), 0) 0%, rgba(var(--surface-rgb), .72) 62%, var(--surface) 100%)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--surface);min-width:320px;color:var(--on-surface);font-family:var(--font-body);-webkit-font-smoothing:antialiased;transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out);font-size:16px;line-height:1.5;overflow-x:hidden}h1,h2,h3{color:var(--on-surface);font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-weight:700;line-height:1.08}p{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button:not(:disabled),a,.chip,.add{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%;display:block}::selection{background:var(--accent-strong);color:#fff}.kv-label{color:var(--on-surface-var);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}.kv-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-header{z-index:50;height:var(--app-header-height);border-bottom:1px solid var(--ghost-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);justify-content:space-between;align-items:center;gap:20px;padding:0 28px;display:flex;position:fixed;inset:0 0 auto}.brand{font-family:var(--font-display);letter-spacing:-.03em;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.brand-mark{flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand small{color:var(--on-surface-var);letter-spacing:.16em;text-transform:uppercase;margin-top:1px;font-size:10px;font-weight:600;line-height:1;display:block}.nav,.header-actions,.footer-links,.row,.cta-actions,.hero-actions{align-items:center;display:flex}.nav{gap:4px}.nav a{border-radius:var(--r-md);color:var(--on-surface-var);transition:color var(--dur) var(--ease-out), background var(--dur) var(--ease-out);padding:8px 14px;font-size:14px;font-weight:600;position:relative}.nav a:hover{background:var(--surface-hi);color:var(--on-surface)}.nav a.active{color:var(--on-surface)}.nav a.active:after{content:"";background:var(--accent-strong);border-radius:2px;height:2px;position:absolute;bottom:-11px;left:14px;right:14px}.header-actions{gap:8px}.header-actions .icon-btn{width:34px;height:34px}.header-avatar{border-color:color-mix(in srgb, var(--accent-strong) 34%, var(--ghost-border));background:radial-gradient(circle at 50% 38%, #ffffff47, transparent 34%), linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:#fff}.header-avatar:hover{border-color:color-mix(in srgb, var(--accent-strong) 62%, var(--ghost-border-strong));background:radial-gradient(circle at 50% 38%, #ffffff57, transparent 34%), linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:#fff}.app-header .btn{padding:8px 16px}.icon-btn{border:1px solid var(--ghost-border);border-radius:var(--r-md);background:var(--surface-c);width:38px;height:38px;color:var(--on-surface-var);transition:all var(--dur) var(--ease-out);place-items:center;display:grid}.icon-btn:hover{border-color:var(--ghost-border-strong);background:var(--surface-bright);color:var(--on-surface)}.btn{border-radius:var(--r-md);letter-spacing:-.005em;transition:all var(--dur) var(--ease-out);border:0;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:700;display:inline-flex}.btn-primary{background:var(--accent-strong);color:#fff}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 0 28px #ff8a5259}.btn-ghost{border:1px solid var(--ghost-border);background:var(--surface-hi);color:var(--on-surface)}.btn-ghost:hover{background:var(--surface-bright)}.btn-lg{padding:14px 24px;font-size:15px}.menu-toggle{display:none}.footer{border-top:1px solid var(--ghost-border);color:var(--on-surface-var);justify-content:space-between;gap:24px;padding:28px 32px;font-size:13px;display:flex}.footer-links{gap:24px}.route-enter{min-height:100vh;animation:routeIn .42s var(--ease-out)}.viveiro-scene-shell,.viveiro-scene{width:100%;height:100%;position:absolute;inset:0}.viveiro-scene-shell{isolation:isolate;background:#14331f;overflow:hidden}.viveiro-scene{touch-action:none}.viveiro-factory-menu{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080b0d6b;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:6px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 16px 46px #00000061}.viveiro-factory-menu__object-button{color:#fff8e8;cursor:pointer;width:118px;height:92px;font:inherit;background:url(/assets/feeder-isometric2.webp) 50%/cover no-repeat;border:1px solid #ffffff2e;border-radius:12px;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;box-shadow:0 10px 24px #00000057,inset 0 1px #ffffff1a}.viveiro-factory-menu__object-button:hover,.viveiro-factory-menu__object-button:focus-visible{border-color:#ffd58e75;outline:none;transform:translateY(-2px);box-shadow:0 14px 30px #0000006b,0 0 0 1px #ffd58e2e,inset 0 1px #ffffff29}.viveiro-factory-menu__object-button--placing,.viveiro-factory-menu__object-button--placing:hover,.viveiro-factory-menu__object-button--placing:focus-visible{color:#f1f6ff;border-color:#4d8dff94;box-shadow:0 14px 30px #0000006b,0 0 0 2px #4d8dff52,0 0 26px #4d8dff3d}.viveiro-factory-menu__object-button:active{transform:translateY(0)}.viveiro-factory-menu__object-tooltip{z-index:1;color:#fff8e8;letter-spacing:.02em;opacity:0;pointer-events:none;text-transform:uppercase;white-space:nowrap;background:#080b0de6;border:1px solid #ffffff24;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:800;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}.viveiro-factory-menu__object-button:hover .viveiro-factory-menu__object-tooltip,.viveiro-factory-menu__object-button:focus-visible .viveiro-factory-menu__object-tooltip,.viveiro-factory-menu__object-button--placing .viveiro-factory-menu__object-tooltip{opacity:1;transform:translate(-50%)}@media (width<=768px){.viveiro-factory-menu{width:auto;max-width:calc(100% - 24px);box-shadow:none;background:#363636;border:1px solid #2c2c2c;border-radius:12px;gap:6px;padding:4px;bottom:0}.viveiro-factory-menu__object-button{border-radius:9px;flex:1;justify-content:center;width:72px;min-width:0;max-width:82px;height:56px}.viveiro-factory-menu__object-tooltip{border-radius:8px;padding:6px 8px;font-size:11px;bottom:calc(100% + 8px)}}@media (hover:none),(pointer:coarse){.viveiro-factory-menu__object-button:hover{border-color:#ffffff2e;transform:none;box-shadow:0 10px 24px #00000057,inset 0 1px #ffffff1a}.viveiro-factory-menu__object-button:hover .viveiro-factory-menu__object-tooltip{opacity:0;transform:translate(-50%,4px)}.viveiro-factory-menu__object-button--placing:hover{border-color:#4d8dff94;box-shadow:0 14px 30px #0000006b,0 0 0 2px #4d8dff52,0 0 26px #4d8dff3d}.viveiro-factory-menu__object-button--placing:hover .viveiro-factory-menu__object-tooltip{opacity:1;transform:translate(-50%)}}main[data-screen-label=Home]{padding-top:var(--app-header-height)}@keyframes routeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero{--hero-content-offset:-58px;align-items:center;height:100vh;min-height:640px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#000000db 0%,#000000c2 36%,#00000057 64%,#0000 86%);position:absolute;inset:0}.hero-layer{will-change:transform;position:absolute;inset:0}.hero-bg{filter:saturate(.92);background:url(/assets/hero-bg.webp) 50% 30%/cover}[data-theme=light] .hero-bg{filter:saturate(1.08)brightness(1.02)}.hero-after-fade{z-index:4;background:var(--hero-after-fade);pointer-events:none;height:clamp(132px,18vh,220px);margin-top:calc(-1*clamp(54px,8vh,96px));position:relative}.hero-content,.hero-meta{z-index:5;width:100%;max-width:var(--max-w);margin:0 auto;padding:0 32px;position:relative}.hero-content{color:#fff}.hero h1{color:#fff;text-shadow:0 2px 24px #0000004d;max-width:720px;font-size:clamp(2.6rem,6vw,4.85rem)}.accent{color:var(--accent);font-style:italic;font-weight:600}.hero p{color:#ffffffdb;max-width:560px;margin-top:20px;font-size:17px}.hero-actions,.cta-actions{flex-wrap:wrap;gap:12px;margin-top:32px}.hero-meta{color:#ffffffdb;flex-wrap:wrap;gap:32px;display:flex;position:absolute;bottom:clamp(78px,10vh,112px);left:0;right:0}.hero-meta-item{flex-direction:column;gap:2px;display:flex}.hero-meta-item .v{color:#fff;font-family:var(--font-display);font-size:22px;font-weight:800}.hero-meta-item .l{letter-spacing:.16em;opacity:.76;text-transform:uppercase;font-size:10px;font-weight:700}.hero-credit{z-index:6;border-radius:var(--r-pill);color:#fff;-webkit-backdrop-filter:blur(10px)saturate(1.2);backdrop-filter:blur(10px)saturate(1.2);background:#110d0857;border:1px solid #ffffff3d;align-items:center;gap:10px;padding:8px 10px 8px 12px;display:flex;position:absolute;bottom:clamp(86px,11vh,124px);right:32px;box-shadow:0 14px 34px #0000002e}[data-theme=light] .hero-credit{color:#1f1710;background:#ffffff6b;border-color:#ffffff70;box-shadow:0 14px 34px #42291224}.hero-credit-prefix{letter-spacing:.16em;text-transform:uppercase;opacity:.82;font-size:9px;font-weight:800}.hero-credit-logo{justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex;position:relative}.hero-credit-logo img{width:100%;height:100%;display:block;position:absolute;inset:0}.hero-credit-logo-dark{opacity:0}.hero-credit-logo-light,[data-theme=light] .hero-credit-logo-dark{opacity:1}[data-theme=light] .hero-credit-logo-light{opacity:0}.hero-credit-text{line-height:1.15}.hero-credit-title,.hero-credit-sub{color:currentColor;display:block}.hero-credit-title{letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900}.hero-credit-sub{opacity:.86;margin-top:2px;font-size:11px;font-weight:600}.section{max-width:var(--max-w);margin:0 auto;padding:96px 32px}.section-narrow{padding-top:32px}.section-head{max-width:760px;margin-bottom:48px}.section-head h2{margin-top:12px;font-size:clamp(2rem,4vw,3.5rem)}.section-head p{max-width:680px;color:var(--on-surface-var);margin-top:16px;font-size:17px}.reveal{opacity:0;transition:opacity .62s var(--ease-out), transform .62s var(--ease-out);transform:translateY(20px)}.reveal.in{opacity:1;transform:translateY(0)}.feature-grid,.shop-grid,.dev-grid,.stats-band{gap:16px;display:grid}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card,.card,.device-card,.pair-card,.product-card,.stat-tile,.cta-strip,.shop-hero-card{border:1px solid var(--ghost-border);background:var(--surface-c);box-shadow:var(--shadow-modal)}.feature-card{border-radius:var(--r-xl);min-height:250px;padding:28px 24px;position:relative;overflow:hidden}.feature-card:before{content:"";background:radial-gradient(circle,#ff8a522b,#0000 66%);border-radius:50%;width:180px;height:180px;position:absolute;inset:auto -18% -42% auto}.feature-card .index{color:var(--on-surface-var);font-family:var(--font-mono);font-size:12px}.icon-wrap{border-radius:var(--r-lg);background:var(--surface-hi);width:46px;height:46px;color:var(--accent);place-items:center;margin-top:38px;display:grid}.feature-card h3{margin-top:18px;font-size:21px}.feature-card p{color:var(--on-surface-var);margin-top:10px}.cta-strip{border-radius:var(--r-2xl);background:radial-gradient(circle at 78% 28%, #ff8a523d, transparent 28%), linear-gradient(135deg, var(--surface-c), var(--surface-low));grid-template-columns:1.15fr .85fr;align-items:center;gap:32px;padding:48px;display:grid;overflow:hidden}.cta-strip h2{margin-top:12px;font-size:clamp(2rem,4vw,3.35rem)}.cta-strip p{max-width:640px;color:var(--on-surface-var);margin-top:16px}.cta-image{isolation:isolate;position:relative}.cta-image:before,.shop-hero-img:before{content:"";z-index:-1;filter:blur(18px);background:radial-gradient(circle,#ff8a524d,#0000 66%);border-radius:50%;position:absolute;inset:14% 4%}.stats-band{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-tile{border-radius:var(--r-xl);padding:28px 24px}.stat-tile .kv-mono{font-family:var(--font-display);letter-spacing:-.04em;font-size:36px;font-weight:800}.stat-tile span{color:var(--on-surface-var);margin-top:4px;font-size:13px;display:block}.dash-shell{background:radial-gradient(circle at 0% 0%, #4d8eff1a, transparent 32%), radial-gradient(circle at 100% 0%, #ff8a521c, transparent 34%), var(--surface);grid-template-columns:280px 1fr;gap:20px;min-height:100vh;padding:88px 24px 32px;display:grid}.dash-side{border:1px solid var(--ghost-border);border-radius:var(--r-2xl);background:var(--surface-low);align-self:start;padding:16px;position:sticky;top:88px}.dash-side-head,.pet-status,.device-row,.metric-line,.product-foot,.pair-nav,.device-actions,.device-buttons,.between{align-items:center;display:flex}.dash-side-head{gap:12px;margin-bottom:18px}.pet-avatar,.pet-photo{border-radius:var(--r-xl);background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff;font-family:var(--font-display);flex-shrink:0;place-items:center;font-weight:800;display:grid}.pet-avatar{width:42px;height:42px}.dash-house{font-weight:800}.dash-sub,.temp-info span,.device-info .id,.next-feed-time .l,.feeder-info .label,.metric-stack .l{color:var(--on-surface-var);font-size:12px}.dash-side nav{gap:6px;display:grid}.dash-side nav a{border-radius:var(--r-lg);color:var(--on-surface-var);align-items:center;gap:10px;padding:11px 12px;font-weight:700;display:flex}.dash-side nav a.active,.dash-side nav a:hover{background:var(--surface-c);color:var(--on-surface)}.badge{border-radius:var(--r-pill);background:var(--accent-strong);color:#fff;margin-left:auto;padding:1px 7px;font-size:11px}.dash-side-card{border-radius:var(--r-xl);background:var(--surface-c);margin-top:18px;padding:16px}.dash-side-card h3{margin-top:6px;font-size:20px}.dash-side-card p{color:var(--on-surface-var);margin-top:4px;font-size:12px}.system-online{color:var(--success);letter-spacing:.1em;align-items:center;gap:8px;margin-top:12px;font-size:11px;font-weight:800;display:inline-flex}.system-online:before{content:"";background:var(--success);width:7px;height:7px;box-shadow:0 0 8px var(--success);border-radius:50%}.dash-main{min-width:0}.dash-top{justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px;display:flex}.dash-top h1{margin-top:6px;font-size:clamp(2.2rem,5vw,4rem)}.dash-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.card{border-radius:var(--r-xl);min-width:0;padding:22px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.card-head h3{font-size:18px}.card-pill{border:1px solid var(--ghost-border);border-radius:var(--r-pill);color:var(--on-surface-var);align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.card-pill.live{color:var(--success);border-color:#7bd38959}.feeder-gauge{grid-template-columns:84px 1fr;align-items:center;gap:22px;display:grid}.feeder-tube{border:1px solid var(--ghost-border-strong);background:var(--surface-low);border-radius:24px 24px 10px 10px;height:210px;position:relative;overflow:hidden}.feeder-fill{background:linear-gradient(180deg, var(--accent), var(--accent-strong));transition:height .22s var(--ease-out);position:absolute;bottom:0;left:0;right:0}.feeder-marks{z-index:2;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:14px}.feeder-marks span{background:#ffffff2e;height:1px}.feeder-info .pct{font-family:var(--font-display);letter-spacing:-.06em;font-size:58px;font-weight:800}.feeder-info sup,.temp-dial sup{color:var(--on-surface-var);font-size:.42em}.feeder-info input{width:100%;accent-color:var(--accent-strong);margin-top:18px}.feeder-stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px;display:grid}.feeder-stats>div{border-radius:var(--r-lg);background:var(--surface-hi);padding:12px}.feeder-stats .v{font-weight:800}.feeder-stats .l{color:var(--on-surface-var);font-size:12px}.pet-status{gap:12px;margin-bottom:20px}.pet-photo{width:54px;height:54px;font-size:26px}.pet-status .name{font-family:var(--font-display);font-size:26px;font-weight:800}.pet-status .meta{color:var(--on-surface-var)}.next-feed{gap:10px;display:grid}.next-feed-time,.dispense-btn{border-radius:var(--r-lg);background:var(--surface-hi);padding:13px}.next-feed-time .v{margin-top:2px;font-weight:800}.dispense-btn{color:#fff;background:var(--accent-strong);border:0;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.temp-dial{background:conic-gradient(var(--accent-strong) 0 62%, var(--surface-hi) 62% 100%);border-radius:50%;place-items:center;width:170px;height:170px;margin:8px auto 18px;display:grid}.temp-dial>div{background:var(--surface-c);text-align:center;border-radius:50%;place-items:center;width:126px;height:126px;display:grid}.temp-dial .v{font-size:38px;font-weight:800}.temp-dial .l{color:var(--on-surface-var);font-size:12px}.temp-info{gap:8px;display:grid}.temp-info div{justify-content:space-between;display:flex}.sched-list{gap:10px;display:grid}.sched-item{border-radius:var(--r-lg);background:var(--surface-hi);grid-template-columns:70px 1fr 150px 42px;align-items:center;gap:12px;padding:13px;display:grid}.sched-item.muted{opacity:.55}.sched-item .time,.sched-item .dose strong{font-weight:800}.days{gap:4px;display:flex}.days span{width:19px;height:19px;color:var(--on-surface-var);border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid}.days span.on{background:var(--accent-strong);color:#fff}.sched-toggle{border-radius:var(--r-pill);background:var(--surface-low);border:0;width:40px;height:22px;position:relative}.sched-toggle:after{content:"";background:var(--on-surface-var);width:16px;height:16px;transition:transform var(--dur) var(--ease-out), background var(--dur) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.sched-toggle.on{background:#ff8a5247}.sched-toggle.on:after{background:var(--accent-strong);transform:translate(18px)}.sched-add{border:1px dashed var(--ghost-border-strong);border-radius:var(--r-lg);color:var(--on-surface-var);background:0 0;justify-content:center;align-items:center;gap:8px;padding:13px;font-weight:800;display:inline-flex}.chart-area{min-height:230px}.chart-svg{width:100%;height:230px;overflow:visible}.chart-grid line{stroke:var(--ghost-border)}.chart-area-fill{fill:url(#chartGrad)}.chart-line{fill:none;stroke:var(--accent-strong);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--surface-c);stroke:var(--accent-strong);stroke-width:3px}.chart-label{fill:var(--on-surface-var);font-size:11px;font-weight:700}.chart-value{fill:var(--on-surface);font-family:var(--font-mono);font-size:11px;font-weight:800}.bars{align-items:end;gap:12px;height:220px;padding-top:28px;display:flex}.bar{background:var(--surface-hi);border-radius:8px 8px 2px 2px;flex:1;min-height:10px;position:relative}.bar.active{background:linear-gradient(180deg, var(--accent), var(--accent-strong))}.bar span{color:var(--accent);font-size:11px;font-weight:800;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.bars-labels{color:var(--on-surface-var);justify-content:space-between;margin-top:10px;font-size:11px;display:flex}.mini-title{color:var(--on-surface-var);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.metric-stack{margin-top:26px}.metric-line{align-items:baseline;gap:12px}.metric-line .v{font-family:var(--font-display);letter-spacing:-.05em;font-size:40px;font-weight:800}.metric-line .v span{color:var(--on-surface-var);font-size:20px}.delta-up,.delta-down{border-radius:var(--r-pill);padding:3px 8px;font-size:11px}.delta-up{color:var(--success);background:#7bd3891f}.delta-down{color:var(--danger);background:#ff8a801f}.shop-hero{padding:118px 32px 32px}.shop-hero-card{max-width:var(--max-w);border-radius:var(--r-2xl);background:radial-gradient(circle at 82% 18%, #ff8a5238, transparent 28%), linear-gradient(135deg, var(--surface-c), var(--surface-low));grid-template-columns:1.1fr .9fr;align-items:center;gap:32px;margin:0 auto;padding:54px;display:grid;overflow:hidden}.shop-hero h1{max-width:650px;margin-top:12px;font-size:clamp(2.4rem,5vw,4.6rem)}.shop-hero p{max-width:600px;color:var(--on-surface-var);margin-top:18px;font-size:17px}.price-tag{border-radius:var(--r-lg);background:var(--surface-hi);align-items:baseline;gap:10px;margin-top:26px;padding:12px 16px;display:inline-flex}.price-tag span{color:var(--on-surface-var);font-size:12px}.price-tag strong{font-family:var(--font-display);font-size:28px}.price-tag del{color:var(--on-surface-var)}.shop-hero-img{isolation:isolate;position:relative}.shop-head{margin-bottom:32px}.shop-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.chip{border:1px solid var(--ghost-border);border-radius:var(--r-pill);background:var(--surface-c);color:var(--on-surface-var);padding:9px 14px;font-weight:800}.chip.active,.chip:hover{border-color:var(--accent-strong);color:#fff;background:var(--accent-strong)}.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-card{border-radius:var(--r-xl);gap:16px;padding:18px;display:grid}.product-thumb{border-radius:var(--r-lg);background:radial-gradient(circle at 50% 38%, #ff8a522e, transparent 38%), var(--surface-hi);place-items:center;min-height:220px;display:grid;position:relative;overflow:hidden}.product-thumb img{filter:drop-shadow(0 28px 32px #00000047);width:min(78%,260px)}.product-tag{border-radius:var(--r-pill);background:var(--accent-strong);color:#fff;padding:6px 9px;font-size:11px;font-weight:800;position:absolute;top:12px;left:12px}.product-card h3{font-size:21px}.product-card p{color:var(--on-surface-var);margin-top:6px}.specs{flex-wrap:wrap;gap:7px;display:flex}.specs span{border-radius:var(--r-pill);background:var(--surface-hi);color:var(--on-surface-var);padding:5px 8px;font-size:11px;font-weight:800}.product-foot{justify-content:space-between;gap:14px}.price{font-family:var(--font-display);font-size:22px;font-weight:800}.price small{color:var(--on-surface-var);font-family:var(--font-body);font-size:12px;font-weight:500}.add{border-radius:var(--r-md);background:var(--surface-hi);color:var(--on-surface);border:0;align-items:center;gap:7px;padding:9px 12px;font-weight:800;display:inline-flex}.dev-grid{grid-template-columns:1fr .9fr;align-items:start}.device-list{gap:16px;display:grid}.device-card,.pair-card{border-radius:var(--r-xl);padding:18px}.device-card.online{border-color:#7bd38938}.device-row{gap:12px}.device-icon{border-radius:var(--r-lg);background:var(--surface-hi);flex-shrink:0;place-items:center;width:58px;height:58px;display:grid}.device-icon img{width:48px}.device-info{flex:1;min-width:0}.device-info .name{font-weight:800}.device-actions{gap:8px}.status-dot{border-radius:var(--r-pill);color:var(--on-surface-var);background:var(--surface-hi);padding:5px 8px;font-size:11px;font-weight:800}.status-dot.on{color:var(--success)}.status-dot.off{color:var(--danger)}.device-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;display:grid}.device-stats>div{border-radius:var(--r-lg);background:var(--surface-hi);padding:10px}.device-stats .v{font-weight:800}.device-stats .l{color:var(--on-surface-var);font-size:11px}.device-buttons{gap:8px;margin-top:14px}.device-buttons .btn{flex:1;padding:9px 10px;font-size:13px}.add-device{color:var(--on-surface-var);background:0 0;border-style:dashed;justify-content:center;align-items:center;gap:10px;font-weight:800;display:flex}.pair-card{position:sticky;top:88px}.between{justify-content:space-between;gap:12px}.pair-card h3{font-size:24px}.scan-pulse{place-items:center;width:230px;height:230px;margin:22px auto;display:grid;position:relative}.scan-pulse .ring{border:1px solid #ff8a5259;border-radius:50%;animation:2.6s infinite scan;position:absolute;inset:24px}.scan-pulse .ring:nth-child(2){animation-delay:.45s}.scan-pulse .ring:nth-child(3){animation-delay:.9s}.scan-pulse .center{background:var(--accent-strong);color:#fff;border-radius:50%;place-items:center;width:72px;height:72px;display:grid}@keyframes scan{0%{opacity:.75;transform:scale(.55)}to{opacity:0;transform:scale(1.3)}}.pair-steps{gap:14px;display:grid}.pair-step{color:var(--on-surface-var);grid-template-columns:32px 1fr;gap:12px;display:grid}.pair-step .num{background:var(--surface-hi);border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.pair-step.active .num,.pair-step.done .num{background:var(--accent-strong);color:#fff}.pair-step .t{color:var(--on-surface);font-weight:800}.pair-step .d{margin-top:2px;font-size:13px}.pair-action{border-radius:var(--r-lg);background:var(--surface-hi);align-items:center;gap:8px;margin-top:12px;padding:10px;display:flex}.pair-action input{border:1px solid var(--ghost-border);border-radius:var(--r-md);background:var(--surface-low);min-width:0;color:var(--on-surface);flex:1;padding:9px 10px}.pair-nav{gap:10px;margin-top:20px}.pair-nav .btn{flex:1}@media (width<=1100px){.feature-grid,.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-shell,.dev-grid,.shop-hero-card,.cta-strip{grid-template-columns:1fr}.dash-side,.pair-card{position:static}.span-3,.span-4,.span-5,.span-7,.span-8{grid-column:span 6}}@media (width<=780px){:root{--app-header-height:56px}.app-header{padding:0 16px}.nav{display:none}.menu-toggle{display:grid}.nav-mobile-open .nav{top:var(--app-header-height);border-bottom:1px solid var(--ghost-border);background:var(--surface);flex-direction:column;align-items:stretch;padding:12px;display:flex;position:fixed;left:0;right:0}.nav-mobile-open .nav a{padding:14px 18px}.nav a.active:after,.header-cta{display:none}.hero{--hero-content-offset:-34px;min-height:640px}.hero:before{background:linear-gradient(90deg,#000000db 0%,#000000b8 50%,#00000047 78%,#0000 100%)}.hero-content,.hero-meta,.section,.shop-hero{padding-left:18px;padding-right:18px}.section{padding-top:72px;padding-bottom:72px}.hero-meta{gap:18px;bottom:70px}.hero-credit{transform-origin:100% 100%;padding:7px 9px 7px 10px;bottom:18px;right:18px;transform:scale(.92)}.feature-grid,.stats-band,.shop-grid,.dash-grid,.device-stats{grid-template-columns:1fr}.span-3,.span-4,.span-5,.span-7,.span-8{grid-column:span 1}.cta-strip,.shop-hero-card{padding:26px}.dash-shell{padding:84px 14px 24px}.dash-top,.footer,.product-foot{flex-direction:column;align-items:stretch}.dash-grid{display:grid}.sched-item,.feeder-gauge{grid-template-columns:1fr}.feeder-tube{width:94px;margin:0 auto}.device-row,.device-buttons,.pair-action{flex-direction:column;align-items:stretch}.device-actions{justify-content:space-between}.footer-links{flex-wrap:wrap;gap:14px}}
