:root{--brand:#2f7a6b;--brand-600:#276457;--brand-700:#1f5348;--brand-100:#e3f1ed;--brand-50:#f0f8f6;--ink:#14171c;--ink-2:#59606e;--ink-3:#8c94a3;--ink-4:#b6bcc7;--line:#e9ecf1;--line-2:#dfe3ea;--bg:#f4f5f8;--card:#fff;--amber:#e08a16;--amber-bg:#fdf3e2;--red:#d8383d;--red-bg:#fdecec;--ok:#21885a;--ok-bg:#e7f5ee;--blue:#2f6fd0;--blue-bg:#eaf1fc;--violet:#6c5ce0;--violet-bg:#efedfd;--r-xs:8px;--r-sm:11px;--r:15px;--r-lg:20px;--r-xl:26px;--r-full:999px;--sh-1:0 1px 2px #14171c0f, 0 1px 1px #14171c0a;--sh-2:0 6px 18px -6px #14171c24, 0 2px 6px -2px #14171c14;--sh-3:0 18px 44px -14px #14171c42, 0 6px 14px -6px #14171c1f;--sh-brand:0 8px 20px -6px #2f7a6b73;--nav-h:60px;--font:-apple-system,BlinkMacSystemFont,"SF Pro SC","PingFang SC","Microsoft YaHei","Segoe UI",Roboto,"Helvetica Neue",sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;background:#20242b;margin:0;overflow:hidden}button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}input,select,textarea{color:var(--ink);font-family:inherit;font-size:15px}ul{margin:0;padding:0;list-style:none}.ico{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}.stage{background:radial-gradient(1100px 620px at 78% -10%,#2f7a6b4d,#0000 62%),radial-gradient(760px 520px at 8% 108%,#6c5ce038,#0000 60%),#20242b;justify-content:center;align-items:center;gap:56px;height:100%;padding:24px;display:flex}.phone{background:var(--bg);border-radius:46px;flex-direction:column;flex:none;width:390px;height:844px;max-height:calc(100vh - 48px);display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 11px #101318,0 0 0 13px #2a2f38,0 40px 90px -20px #000c}.notch{border-radius:var(--r-full);z-index:60;background:#101318;width:118px;height:30px;position:absolute;top:9px;left:50%;transform:translate(-50%)}.statusbar{letter-spacing:.2px;height:52px;color:var(--ink);z-index:50;flex:none;justify-content:space-between;align-items:center;padding:0 30px 0 34px;font-size:15px;font-weight:600;display:flex;position:relative}.statusbar-right{align-items:center;gap:6px;display:flex}.sb-ico{fill:currentColor;stroke:none;width:18px;height:12px}.statusbar .sb-ico:nth-child(3){width:25px;height:13px}.screen{scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;flex:1;position:relative;overflow:hidden auto}.screen::-webkit-scrollbar{display:none}.screen-fill{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.screen-fill>.appbar{flex:none}.screen-fill>.builder-wrap,.screen-fill>.auth-wrap{flex:1;height:auto;min-height:0}.screen-fill>.auth-foot{flex:none}.home-indicator{flex:none;justify-content:center;align-items:center;height:24px;display:flex}.home-indicator:after{content:"";border-radius:var(--r-full);opacity:.85;background:#14171c;width:134px;height:5px}.hint{color:#c9cfda;flex:none;width:330px}.hint h1{color:#fff;letter-spacing:-.4px;margin:0 0 6px;font-size:27px}.hint h1 em{color:#7fc9b7;letter-spacing:.6px;vertical-align:3px;margin-left:6px;font-size:13px;font-style:normal;font-weight:500}.hint>p{color:#8e97a6;margin:0 0 18px;font-size:13.5px}.hint ul{flex-direction:column;gap:11px;display:flex}.hint li{color:#afb7c4;padding-left:16px;font-size:13.5px;line-height:1.55;position:relative}.hint li:before{content:"";background:var(--brand);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;left:0}.hint li b{color:#fff;font-weight:600}.hint-foot{font-size:12px;color:#6b7480!important;margin:20px 0 0!important}@media (max-width:1180px){.hint{display:none}}@media (max-width:520px){.stage{gap:0;padding:0}.phone{width:100%;height:100%;max-height:none;box-shadow:none;border-radius:0}.notch{display:none}.statusbar{padding-top:6px}}.appbar{z-index:40;background:var(--bg);align-items:center;gap:10px;padding:2px 16px 10px;display:flex;position:sticky;top:0}.appbar.scrolled{-webkit-backdrop-filter:saturate(180%)blur(18px);backdrop-filter:saturate(180%)blur(18px);border-bottom:1px solid var(--line);background:#f4f5f8db}.appbar-title{letter-spacing:-.2px;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:19px;font-weight:700;overflow:hidden}.appbar-sub{color:var(--ink-3);margin-top:1px;font-size:12px;font-weight:500;display:block}.iconbtn{border-radius:var(--r-full);width:36px;height:36px;color:var(--ink);flex:none;place-items:center;transition:background .15s;display:grid}.icon-badge{background:var(--red);color:#fff;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--bg);border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-2px;right:-2px}.iconbtn:active{background:#14171c12}.iconbtn.plain{color:var(--ink-2)}.appbar .iconbtn:first-child{margin-left:-8px}.page{padding:0 16px 32px}.page.flush{padding:0 0 32px}.page.has-fab{padding-bottom:92px}.sec-h{justify-content:space-between;align-items:center;margin:22px 0 11px;display:flex}.sec-h h2{letter-spacing:-.1px;margin:0;font-size:15.5px;font-weight:700}.sec-h .more{color:var(--brand);align-items:center;gap:2px;font-size:13px;font-weight:600;display:flex}.sec-h .more .ico{stroke-width:2.2px;width:15px;height:15px}.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);overflow:hidden}.card.pad{padding:15px}.card.tap{transition:transform .16s,box-shadow .16s}.card.tap:active{box-shadow:var(--sh-2);transform:scale(.975)}.list{background:var(--card);border-radius:var(--r);box-shadow:var(--sh-1);overflow:hidden}.row{text-align:left;align-items:center;gap:12px;width:100%;padding:13px 15px;display:flex;position:relative}.row+.row:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:15px;right:0}.row.tapcu:active{background:#f7f8fa}.row-body{flex:1;min-width:0}.row-t{align-items:center;gap:6px;font-size:14.5px;font-weight:600;display:flex}.row-s{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2.5px;font-size:12.5px;overflow:hidden}.row .ico.chev{width:17px;height:17px;color:var(--ink-4);stroke-width:2.1px}.avatar{border-radius:var(--r-full);color:#fff;background:var(--brand);flex:none;place-items:center;width:42px;height:42px;font-size:15px;font-weight:700;display:grid}.avatar.sm{width:34px;height:34px;font-size:13px}.avatar.lg{width:64px;height:64px;font-size:22px}.thumb{border-radius:var(--r-sm);background:var(--brand-50);width:46px;height:46px;color:var(--brand-600);flex:none;place-items:center;display:grid}.thumb .ico{width:23px;height:23px}.chip{border-radius:var(--r-full);height:26px;color:var(--ink-2);white-space:nowrap;background:#eef0f4;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.chip .ico{stroke-width:2px;width:13px;height:13px}.chip.brand{background:var(--brand-100);color:var(--brand-700)}.chip.amber{background:var(--amber-bg);color:var(--amber)}.chip.red{background:var(--red-bg);color:var(--red)}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.blue{background:var(--blue-bg);color:var(--blue)}.chip.violet{background:var(--violet-bg);color:var(--violet)}.chip.ghost{border:1px solid var(--line-2);color:var(--ink-2);background:0 0}.chips{scrollbar-width:none;gap:8px;margin:0 -16px;padding:2px 16px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips.pad0{margin:0;padding-left:0;padding-right:0}.fchip{border-radius:var(--r-full);height:32px;box-shadow:var(--sh-1);color:var(--ink-2);white-space:nowrap;background:#fff;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.fchip .ico{width:14px;height:14px}.fchip.on{background:var(--ink);color:#fff;box-shadow:var(--sh-2)}.fchip.on .ico{stroke-width:2.2px}.btn{border-radius:var(--r);justify-content:center;align-items:center;gap:8px;width:100%;height:48px;font-size:15.5px;font-weight:650;transition:transform .14s,opacity .14s;display:inline-flex}.btn .ico{stroke-width:2px;width:19px;height:19px}.btn:active{transform:scale(.977)}.btn.primary{background:var(--brand);color:#fff;box-shadow:var(--sh-brand)}.btn.primary:active{background:var(--brand-600)}.btn.dark{background:var(--ink);color:#fff}.btn.ghost{color:var(--ink);box-shadow:var(--sh-1);background:#fff}.btn.tint{background:var(--brand-100);color:var(--brand-700)}.btn.danger{background:var(--red-bg);color:var(--red)}.btn.sm{border-radius:var(--r-sm);height:38px;font-size:13.5px}.btn.xs{border-radius:var(--r-full);width:auto;height:31px;padding:0 13px;font-size:12.5px}.btn-row{gap:10px;display:flex}.btn[disabled]{opacity:.42;pointer-events:none}.searchbar{border-radius:var(--r-sm);height:42px;box-shadow:var(--sh-1);background:#fff;align-items:center;gap:9px;padding:0 12px;display:flex}.searchbar .ico{width:18px;height:18px;color:var(--ink-3)}.searchbar input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:15px}.searchbar input::placeholder{color:var(--ink-4)}.searchbar .cls{color:var(--ink-4);place-items:center;display:grid}.seg{border-radius:var(--r-sm);background:#e9ebf0;gap:3px;padding:3px;display:flex}.seg button{height:32px;color:var(--ink-2);border-radius:8px;flex:1;font-size:13.5px;font-weight:600;transition:all .16s}.seg button.on{color:var(--ink);box-shadow:var(--sh-1);background:#fff}.field{background:#fff;padding:12px 15px;position:relative}.field+.field:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:15px;right:0}.field label{color:var(--ink-3);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.field input,.field textarea,.field select{width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:15px}.field input::placeholder,.field textarea::placeholder{color:var(--ink-4)}.field textarea{resize:none;line-height:1.5}.field .hint-t{color:var(--ink-4);margin-top:5px;font-size:11.5px}.slider{-webkit-appearance:none;appearance:none;background:var(--line-2);border-radius:9px;outline:0;width:100%;height:4px}.slider::-webkit-slider-thumb{-webkit-appearance:none;border:1.5px solid var(--line-2);cursor:pointer;background:#fff;border-radius:50%;width:22px;height:22px;box-shadow:0 1px 5px #0000004d}.slider::-moz-range-thumb{border:1.5px solid var(--line-2);background:#fff;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 5px #0000004d}.switch{border-radius:var(--r-full);background:#d7dbe3;flex:none;width:49px;height:29px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:2.5px;left:2.5px;box-shadow:0 1px 3px #00000040}.switch.on{background:var(--brand)}.switch.on:after{transform:translate(20px)}.stepper{border-radius:var(--r-sm);background:#f1f3f6;align-items:center;gap:0;display:flex;overflow:hidden}.stepper button{width:36px;height:34px;color:var(--ink-2);place-items:center;display:grid}.stepper button:active{background:#e5e8ed}.stepper .ico{stroke-width:2.4px;width:16px;height:16px}.stepper span{text-align:center;min-width:38px;font-size:14.5px;font-weight:700}.cab-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.cab-card{border-radius:var(--r);box-shadow:var(--sh-1);text-align:left;background:#fff;transition:transform .16s;overflow:hidden}.cab-card:active{transform:scale(.972)}.cab-vis{height:112px;position:relative;overflow:hidden}.cab-vis .mini{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.cab-meta{padding:10px 12px 12px}.cab-meta .n{align-items:center;gap:5px;font-size:14px;font-weight:670;display:flex}.cab-meta .n .ico{width:14px;height:14px;color:var(--ink-3);stroke-width:2px}.cab-meta .s{color:var(--ink-3);align-items:center;gap:6px;margin-top:3px;font-size:11.5px;display:flex}.meter{background:#edeff3;border-radius:9px;height:4px;margin-top:9px;overflow:hidden}.meter i{background:var(--brand);border-radius:9px;height:100%;display:block}.meter i.warn{background:var(--amber)}.meter i.full{background:var(--red)}.stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{border-radius:var(--r);box-shadow:var(--sh-1);background:#fff;padding:13px 12px}.stat b{letter-spacing:-.5px;font-size:23px;font-weight:750;line-height:1.1;display:block}.stat span{color:var(--ink-3);margin-top:4px;font-size:11.5px;display:block}.stat .ico{width:16px;height:16px;color:var(--brand);margin-bottom:7px}.item{text-align:left;align-items:center;gap:12px;width:100%;padding:11px 15px;display:flex;position:relative}.item+.item:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:73px;right:0}.item:active{background:#f7f8fa}.item-ico{background:var(--brand-50);width:46px;height:46px;color:var(--brand-600);border-radius:12px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.item-ico .ico{width:24px;height:24px}.item-ico img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.item-b{flex:1;min-width:0}.item-n{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:640;overflow:hidden}.item-m{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:7px;margin-top:3px;font-size:12px;display:flex}.item-r{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:5px;display:flex}.qty{color:var(--ink-2);border-radius:var(--r-full);background:#f1f3f6;padding:3px 9px;font-size:12.5px;font-weight:700}.hl{background:#fff2c9;border-radius:3px;padding:0 1px}.empty{text-align:center;color:var(--ink-3);padding:56px 30px}.empty .ico{width:52px;height:52px;color:var(--ink-4);stroke-width:1.3px;margin-bottom:14px}.empty h3{color:var(--ink);margin:0 0 6px;font-size:16px;font-weight:680}.empty p{margin:0;font-size:13px;line-height:1.6}.fab-layer{top:52px;left:0;right:0;bottom:calc(var(--nav-h) + 24px);z-index:45;pointer-events:none;position:absolute}.fab{pointer-events:auto;border-radius:var(--r-full);background:var(--ink);color:#fff;height:52px;box-shadow:var(--sh-3);align-items:center;gap:8px;padding:0 20px 0 16px;font-size:14.5px;font-weight:650;transition:transform .16s;display:inline-flex;position:absolute;bottom:20px;right:18px}.fab:active{transform:scale(.94)}.fab .ico{stroke-width:2.3px;width:20px;height:20px}.fab.brand{background:var(--brand);box-shadow:var(--sh-brand)}.tabbar{height:var(--nav-h);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--line);z-index:50;background:#ffffffeb;flex:none;align-items:flex-start;padding-top:7px;display:flex;position:relative}.tab{color:var(--ink-4);flex-direction:column;flex:1;align-items:center;gap:3px;padding-top:2px;font-size:10.5px;font-weight:600;display:flex;position:relative}.tab .ico{stroke-width:1.75px;width:23px;height:23px;transition:all .18s}.tab.on{color:var(--brand)}.tab.on .ico{stroke-width:2.2px}.tab-dot{background:var(--red);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 4px;font-size:9.5px;font-weight:700;display:none;position:absolute;top:-1px;right:calc(50% - 20px);box-shadow:0 0 0 2px #fff}.tab-dot.show{display:flex}.tab-scan{justify-content:flex-start}.tab-scan .scan-btn{border-radius:var(--r-full);background:var(--brand);color:#fff;width:50px;height:50px;box-shadow:0 6px 16px -4px #2f7a6b99,0 0 0 5px var(--bg);place-items:center;margin-top:-19px;transition:transform .16s;display:grid}.tab-scan:active .scan-btn{transform:scale(.92)}.tab-scan .scan-btn .ico{stroke-width:2.1px;width:25px;height:25px}.builder-wrap{flex-direction:column;height:100%;display:flex;position:relative}.b3d-canvas{background:linear-gradient(#eef1f5,#e4e8ee);flex:1;position:relative;overflow:hidden}.b3d-canvas canvas{touch-action:none;width:100%;height:100%;display:block}.b3d-hud{z-index:5;pointer-events:none;flex-direction:column;gap:7px;display:flex;position:absolute;top:14px;left:14px}.hud-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--r-full);color:var(--ink-2);box-shadow:var(--sh-1);background:#fffffff0;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:6px 12px;font-size:11.5px;font-weight:650;display:inline-flex}.hud-pill .ico{width:13px;height:13px;color:var(--brand)}.b3d-tools{z-index:6;flex-direction:column;gap:8px;display:flex;position:absolute;top:14px;right:12px}.tool{border-radius:var(--r-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:40px;height:40px;box-shadow:var(--sh-2);color:var(--ink-2);background:#fffffff5;place-items:center;display:grid}.tool:active{background:#fff;transform:scale(.93)}.tool.on{background:var(--ink);color:#fff}.tool .ico{width:19px;height:19px}.b3d-hint{z-index:5;color:#fff;border-radius:var(--r-full);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;background:#14171cc2;padding:6px 13px;font-size:11.5px;transition:opacity .3s;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.b3d-hint.hide{opacity:0}.mod-tabs{z-index:6;scrollbar-width:none;background:linear-gradient(#0000,#e4e8eee6 45%);gap:7px;padding:10px 14px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-x:auto}.mod-tabs::-webkit-scrollbar{display:none}.mod-tab{border-radius:var(--r-full);height:34px;box-shadow:var(--sh-1);color:var(--ink-2);background:#fffffff5;flex:none;align-items:center;gap:6px;padding:0 13px;font-size:12.5px;font-weight:640;display:inline-flex}.mod-tab.on{background:var(--ink);color:#fff}.mod-tab .x{opacity:.6;place-items:center;display:grid}.mod-tab .x .ico{stroke-width:2.6px;width:12px;height:12px}.mod-tab.add{border:1.5px dashed var(--line-2);color:var(--ink-3);box-shadow:none;background:0 0}.cell-kinds{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.kind{border-radius:var(--r-sm);box-shadow:var(--sh-1);text-align:center;color:var(--ink-2);background:#fff;flex-direction:column;align-items:center;gap:7px;padding:12px 6px 10px;font-size:12px;font-weight:640;transition:all .15s;display:flex}.kind .ico{width:26px;height:26px;color:var(--ink-3)}.kind.on{background:var(--brand);color:#fff;box-shadow:var(--sh-brand)}.kind.on .ico,.kind.on{color:#fff}.scanner{background:#0d0f12;flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.scan-cam{background:radial-gradient(120% 90% at 50% 0,#2c333c 0%,#16191e 55%,#0b0d10 100%);position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.scan-cam:after{content:"";background:linear-gradient(#ffffff0d,#0000 40%);position:absolute;top:0;bottom:0;left:0;right:0}.scan-noise{opacity:.06;background-image:radial-gradient(#fff 1px,#0000 1px);background-size:5px 5px;position:absolute;top:0;bottom:0;left:0;right:0}.scan-shelf{background:linear-gradient(#ffffff0d,#ffffff21);border-top-left-radius:26px;border-top-right-radius:26px;height:34%;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 1px #ffffff29}.scan-topbar{z-index:5;color:#fff;justify-content:space-between;align-items:center;padding:4px 12px;display:flex;position:relative}.scan-topbar .iconbtn{color:#fff}.scan-title{font-size:15px;font-weight:650}.frame{z-index:4;flex:1;place-items:center;padding:0 40px;display:grid;position:relative}.viewfinder{width:250px;height:250px;position:relative}.viewfinder .c{border:3.5px solid #fff;border-radius:4px;width:38px;height:38px;position:absolute}.viewfinder .c.tl{border-bottom:0;border-right:0;border-top-left-radius:14px;top:0;left:0}.viewfinder .c.tr{border-bottom:0;border-left:0;border-top-right-radius:14px;top:0;right:0}.viewfinder .c.bl{border-top:0;border-right:0;border-bottom-left-radius:14px;bottom:0;left:0}.viewfinder .c.br{border-top:0;border-left:0;border-bottom-right-radius:14px;bottom:0;right:0}.laser{background:linear-gradient(90deg,#0000,#4ce0b3,#4ce0b3,#0000);border-radius:9px;height:3px;animation:2.1s cubic-bezier(.5,0,.5,1) infinite laser;position:absolute;left:8px;right:8px;box-shadow:0 0 16px 3px #4ce0b3b3}@keyframes laser{0%{top:10px}50%{top:236px}to{top:10px}}.scan-ghost{color:#ffffff29;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.scan-ghost .ico{stroke-width:1px;width:112px;height:112px}.scan-sheet{z-index:6;background:var(--bg);border-radius:22px 22px 0 0;padding:16px 16px 8px;position:relative;box-shadow:0 -14px 40px #00000080}.scan-sheet h3{margin:0 0 2px;font-size:15.5px;font-weight:700}.scan-sheet .sub{color:var(--ink-3);margin-bottom:14px;font-size:12.5px}.scan-modes{gap:9px;display:flex}.mode{border-radius:var(--r-sm);box-shadow:var(--sh-1);text-align:left;background:#fff;flex:1;align-items:center;gap:9px;padding:11px 10px;display:flex}.mode.on{background:var(--brand);color:#fff;box-shadow:var(--sh-brand)}.mode .ico{width:21px;height:21px;color:var(--brand);flex:none}.mode.on .ico{color:#fff}.mode>span{flex:1;min-width:0}.mode b{font-size:12.5px;font-weight:660;display:block}.mode span span{opacity:.7;font-size:10.5px;display:block}.mode.on span span{opacity:.85}.scan-samples{margin-top:2px}.notice{background:var(--amber-bg);border-radius:var(--r);box-shadow:var(--sh-1);align-items:flex-start;gap:11px;padding:13px 14px;display:flex}.notice .ico{width:20px;height:20px;color:var(--amber);stroke-width:1.9px;flex:none;margin-top:1px}.notice b{color:#8a5a0e;font-size:13.5px;font-weight:680;display:block}.notice span{color:#a0732a;margin-top:2px;font-size:11.5px;line-height:1.5;display:block}.notice.red{background:var(--red-bg)}.notice.red .ico{color:var(--red)}.notice.red b{color:#a32a2e}.notice.red span{color:#b85a5d}.notice.brand{background:var(--brand-100)}.notice.brand .ico{color:var(--brand)}.notice.brand b{color:var(--brand-700)}.notice.brand span{color:#4a8073}.scan-flash{opacity:0;z-index:7;pointer-events:none;background:#4ce0b3;position:absolute;top:0;bottom:0;left:0;right:0}.scan-flash.go{animation:.45s ease-out flash}@keyframes flash{0%{opacity:.55}to{opacity:0}}.rem-group{margin-bottom:6px}.rem-card{background:#fff;align-items:flex-start;gap:12px;padding:13px 15px;display:flex;position:relative}.rem-card+.rem-card:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:15px;right:0}.rem-bar{background:var(--line-2);border-radius:9px;flex:none;align-self:stretch;width:4px}.rem-bar.red{background:var(--red)}.rem-bar.amber{background:var(--amber)}.rem-bar.ok{background:var(--ok)}.days{letter-spacing:-.4px;text-align:center;flex:none;width:46px;font-size:19px;font-weight:760;line-height:1}.days small{color:var(--ink-3);letter-spacing:0;margin-top:3px;font-size:10px;font-weight:600;display:block}.days.red{color:var(--red)}.days.amber{color:var(--amber)}.days.ok{color:var(--ok)}.member-role{border-radius:var(--r-full);padding:3px 8px;font-size:11px;font-weight:700}.invite-card{background:linear-gradient(150deg,var(--brand-700),var(--brand) 62%,#3e9182);color:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-brand);padding:20px;position:relative;overflow:hidden}.invite-card:after{content:"";background:#ffffff17;border-radius:50%;width:170px;height:170px;position:absolute;top:-40px;right:-40px}.invite-card:before{content:"";background:#ffffff12;border-radius:50%;width:120px;height:120px;position:absolute;bottom:-56px;right:26px}.invite-card h3{margin:0 0 4px;font-size:16.5px;font-weight:700;position:relative}.invite-card p{opacity:.86;margin:0 0 16px;font-size:12.5px;line-height:1.5;position:relative}.invite-code{border-radius:var(--r-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border:1px solid #ffffff3d;justify-content:space-between;align-items:center;padding:11px 14px;display:flex;position:relative}.invite-code b{letter-spacing:3.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:21px;font-weight:750}.invite-actions{gap:9px;margin-top:12px;display:flex;position:relative}.ibtn{border-radius:var(--r-sm);color:#fff;background:#ffffff2e;border:1px solid #ffffff38;flex:1;justify-content:center;align-items:center;gap:6px;height:38px;font-size:12.5px;font-weight:640;display:inline-flex}.ibtn .ico{width:15px;height:15px}.ibtn:active{background:#ffffff4d}.scrim{z-index:80;opacity:0;background:#0c0e1280;transition:opacity .26s;position:absolute;top:0;bottom:0;left:0;right:0}.scrim.on{opacity:1}.sheet{z-index:90;background:var(--bg);border-radius:24px 24px 0 0;flex-direction:column;max-height:88%;transition:transform .32s cubic-bezier(.32,.72,0,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(101%);box-shadow:0 -18px 50px #00000059}.sheet.on{transform:translateY(0)}.sheet-grip{background:var(--line-2);border-radius:9px;flex:none;width:38px;height:5px;margin:9px auto 0}.sheet-head{flex:none;align-items:center;gap:10px;padding:12px 16px 10px;display:flex}.sheet-head h3{flex:1;margin:0;font-size:17px;font-weight:720}.sheet-body{scrollbar-width:none;padding:0 16px 18px;overflow-y:auto}.sheet-body::-webkit-scrollbar{display:none}.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);flex:none;gap:10px;display:flex}.dialog{z-index:95;background:var(--bg);border-radius:var(--r-lg);width:min(320px,86%);box-shadow:var(--sh-3);opacity:0;pointer-events:none;transition:all .24s cubic-bezier(.3,.7,0,1);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-46%)scale(.94)}.dialog.on{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}.dialog-body{text-align:center;padding:22px 20px 18px}.dialog-body .ico{width:44px;height:44px;color:var(--brand);stroke-width:1.5px;margin-bottom:12px}.dialog-body h3{margin:0 0 7px;font-size:17px;font-weight:720}.dialog-body p{color:var(--ink-2);margin:0;font-size:13.5px;line-height:1.55}.dialog-foot{border-top:1px solid var(--line);display:flex}.dialog-foot button{height:50px;color:var(--brand);flex:1;font-size:15.5px;font-weight:640}.dialog-foot button+button{border-left:1px solid var(--line)}.dialog-foot .destructive{color:var(--red)}.dialog-foot .strong{font-weight:700}.toast{left:50%;bottom:calc(var(--nav-h) + 26px);z-index:99;color:#fff;border-radius:var(--r-full);box-shadow:var(--sh-3);opacity:0;background:#14171cf0;align-items:center;gap:8px;max-width:80%;padding:11px 18px;font-size:13.5px;font-weight:560;transition:all .25s;display:flex;position:absolute;transform:translate(-50%,14px)}.toast.on{opacity:1;transform:translate(-50%)}.toast .ico{stroke-width:2.4px;color:#4ce0b3;flex:none;width:17px;height:17px}.builder-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.b3d-canvas{min-height:0}.builder-panel{z-index:8;background:var(--bg);border-top:1px solid var(--line);border-radius:18px 18px 0 0;flex-direction:column;flex:none;max-height:47%;margin-top:-18px;transition:max-height .3s cubic-bezier(.3,.7,0,1);display:flex;position:relative;box-shadow:0 -8px 26px -8px #14171c29}.builder-panel.collapsed{max-height:46px}.panel-grip{cursor:pointer;flex:none;place-items:center;height:22px;display:grid}.panel-grip span{background:var(--line-2);border-radius:9px;width:38px;height:5px}.panel-body{scrollbar-width:none;padding:2px 16px 14px;overflow-y:auto}.panel-body::-webkit-scrollbar{display:none}.panel-sec{border-radius:var(--r);box-shadow:var(--sh-1);background:#fff;margin-bottom:10px;padding:11px 14px 13px}.panel-row{justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.panel-lbl{color:var(--ink-2);flex:none;font-size:12.5px;font-weight:600}.panel-input{text-align:right;width:130px;color:var(--ink);background:0 0;border:0;outline:0;font-size:14px;font-weight:640}.panel-input::placeholder{color:var(--ink-4);font-weight:500}.mini-ctrl{align-items:center;gap:6px;display:flex}.mini-ctrl>span{color:var(--ink-3);font-size:11.5px}.slider-wrap{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.slider-wrap .slider{flex:1}.slider-val{color:var(--ink-2);text-align:right;flex:none;width:54px;font-size:11.5px;font-weight:660}.panel-head2{color:var(--ink-2);margin-bottom:10px;font-size:12.5px;font-weight:700}.panel-note{color:var(--ink-3);margin-top:9px;font-size:11.5px}.kind-ghost{border:1.5px dashed var(--line-2);border-radius:var(--r-sm);text-align:center;color:var(--ink-3);padding:15px}.kind-ghost .ico{width:26px;height:26px;color:var(--ink-4);stroke-width:1.4px;margin-bottom:6px}.kind-ghost p{margin:0;font-size:11.5px;line-height:1.6}.colors{gap:9px;display:flex}.color-dot{border-radius:50%;width:26px;height:26px;transition:transform .15s,box-shadow .15s;box-shadow:inset 0 0 0 1px #00000012}.color-dot.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink-2);transform:scale(1.1)}.b3d-hud .hud-pill b{color:var(--ink);font-weight:750}.crumbs{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:11px;display:flex}.crumb{border-radius:var(--r-full);height:25px;color:var(--ink-2);background:#f1f3f6;padding:0 10px;font-size:11.5px;font-weight:650;transition:all .15s}.crumb:hover{background:#e6e9ef}.crumb.on{background:var(--ink);color:#fff}.crumb-sep{color:var(--ink-4);font-size:11px;font-weight:700}.split-box{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.split-l{color:var(--ink-3);font-size:12.5px;font-weight:600}.count-leaves{color:var(--brand-700);font-weight:700}.pick-grid{gap:8px;display:grid}.pick-cell{border-radius:var(--r-sm);box-shadow:var(--sh-1);background:#fff;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;transition:all .15s;display:flex;position:relative}.pick-cell b{letter-spacing:-.3px;font-size:14px;font-weight:700}.pick-cell span{color:var(--ink-3);font-size:10.5px}.pick-cell i{background:var(--brand-100);color:var(--brand-700);border-radius:9px;padding:1px 5px;font-size:9.5px;font-style:normal;font-weight:700;position:absolute;top:5px;right:6px}.pick-cell.on{background:var(--brand);color:#fff;box-shadow:var(--sh-brand)}.pick-cell.on span{color:#ffffffdb}.pick-cell.on i{color:#fff;background:#ffffff42}.pick-in{color:var(--ink-4);place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pick-in .ico{stroke-width:2.6px;width:13px;height:13px}.pick-cell.on .pick-in{color:#fff}.cellgroup-h{align-items:center;gap:8px;padding:0 3px 7px;display:flex}.cg-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:680;overflow:hidden}.cellgroup .chip{height:21px;font-size:10.5px}.cell-add{width:26px;height:26px;box-shadow:var(--sh-1);color:var(--brand);background:#fff;border-radius:9px;flex:none;place-items:center;transition:all .15s;display:grid}.cell-add .ico{stroke-width:2.6px;width:15px;height:15px}.cell-add:active{background:var(--brand-100);transform:scale(.92)}.cellgroup.flash .list{box-shadow:0 0 0 2.5px var(--amber), var(--sh-1)}.cellgroup.flash .cellgroup-h{color:var(--amber)}.empty-cells{flex-wrap:wrap;gap:8px;display:flex}.cell-chip{border-radius:var(--r-full);height:30px;color:var(--ink-2);background:#f1f3f6;align-items:center;gap:5px;padding:0 11px;font-size:11.5px;font-weight:620;transition:all .15s;display:inline-flex}.cell-chip .ico{stroke-width:2.4px;width:13px;height:13px;color:var(--ink-3)}.cell-chip:active{background:var(--brand-100);color:var(--brand-700)}.pstep{color:var(--ink-3);align-items:center;gap:11px;padding:10px 0;font-size:13.5px;transition:all .22s;display:flex}.pstep+.pstep{border-top:1px solid var(--line)}.pstep .pd{border:2px solid var(--line-2);border-radius:50%;flex:none;width:17px;height:17px;transition:all .22s;position:relative}.pstep.active{color:var(--ink);font-weight:620}.pstep.active .pd{border-color:var(--brand);border-top-color:var(--brand-100);animation:.7s linear infinite spin}.pstep.done{color:var(--ink-2)}.pstep.done .pd{background:var(--ok);border-color:var(--ok)}.pstep.done .pd:after{content:"";border:2px solid #fff;border-top:0;border-left:0;width:4.5px;height:8px;position:absolute;top:1.5px;left:4px;transform:rotate(45deg)}.divider{background:var(--line);height:1px;margin:0 15px}.tiny{color:var(--ink-3);font-size:11.5px}.mono{letter-spacing:.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.center{text-align:center}.mt6{margin-top:6px}.mt10{margin-top:10px}.mt12{margin-top:12px}.mt14{margin-top:14px}.mt18{margin-top:18px}.mt24{margin-top:24px}.hero{border-radius:var(--r-lg);color:#fff;background:linear-gradient(140deg,var(--brand-700),var(--brand) 70%,#3e9182);box-shadow:var(--sh-brand);padding:18px;position:relative;overflow:hidden}.hero:after{content:"";background:#ffffff1a;border-radius:50%;width:160px;height:160px;position:absolute;top:-46px;right:-34px}.hero h3{margin:0 0 3px;font-size:17px;font-weight:730;position:relative}.hero p{opacity:.85;margin:0;font-size:12.5px;line-height:1.5;position:relative}.hero .row-acts{gap:9px;margin-top:15px;display:flex;position:relative}.hero .ibtn{color:var(--brand-700);background:#fff;border:0}.progress-ring{flex:none;width:54px;height:54px;position:relative}.progress-ring svg{transform:rotate(-90deg)}.progress-ring b{place-items:center;font-size:13px;font-weight:750;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.bar-row{align-items:center;gap:9px;margin-top:9px;display:flex}.bar-row .lbl{color:var(--ink-3);flex:none;width:52px;font-size:11.5px}.bar-row .track{background:#edeff3;border-radius:9px;flex:1;height:7px;overflow:hidden}.bar-row .track i{border-radius:9px;height:100%;display:block}.bar-row .val{color:var(--ink-2);text-align:right;flex:none;width:34px;font-size:11.5px;font-weight:650}.skeleton{background:linear-gradient(90deg,#eef0f4,#f7f8fa,#eef0f4) 0 0/200% 100%;border-radius:6px;animation:1.2s linear infinite sk}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.3s both fade}@keyframes fade{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.slide-r{animation:.28s cubic-bezier(.3,.7,0,1) both sr}@keyframes sr{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:none}}.slide-l{animation:.28s cubic-bezier(.3,.7,0,1) both sl}@keyframes sl{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:none}}.press{transition:transform .14s}.press:active{transform:scale(.97)}.auth-wrap{scrollbar-width:none;background:radial-gradient(900px 480px at 78% -12%, #2f7a6b2e, transparent 60%), radial-gradient(620px 420px at 4% 108%, #6c5ce024, transparent 62%), var(--bg);flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:28px 22px;display:flex;overflow-y:auto}.auth-wrap::-webkit-scrollbar{display:none}.auth-card{border-radius:var(--r-xl);width:100%;max-width:400px;box-shadow:var(--sh-3);background:#fff;padding:22px 20px 20px}.auth-brand{align-items:center;gap:12px;margin-bottom:16px;display:flex}.auth-logo{background:var(--brand);color:#fff;width:46px;height:46px;box-shadow:var(--sh-brand);border-radius:14px;flex:none;place-items:center;font-size:22px;font-weight:800;display:grid}.auth-brand b{letter-spacing:-.3px;font-size:19px;font-weight:760;display:block}.auth-brand i{color:var(--ink-3);margin-top:2px;font-size:11.5px;font-style:normal;display:block}.auth-seg{margin-bottom:2px}.auth-foot{color:var(--ink-3);text-align:center;max-width:400px;margin:16px 0 0;font-size:11.5px}@media (min-width:900px) and (min-height:780px){.auth-card{padding:28px 26px 24px}}.ro-banner{background:var(--amber-bg);color:#8a5a0e;border-bottom:1px solid #e08a1647;flex:none;justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:650;display:flex}.ro-banner .ico{stroke-width:2.2px;width:14px;height:14px}.scan-video{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.scan-fallback{text-align:center;color:#c9cfda;place-items:center;padding:26px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.scan-fallback .box{max-width:280px}.scan-fallback .ico{color:#4ce0b3;stroke-width:1.4px;width:44px;height:44px;margin-bottom:12px}.scan-fallback h3{color:#fff;margin:0 0 8px;font-size:15px;font-weight:680}.scan-fallback p{margin:0 0 16px;font-size:12.5px;line-height:1.6}.scan-video-wrap{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.spinner{border:2.5px solid var(--line-2);border-top-color:var(--brand);border-radius:50%;flex:none;width:20px;height:20px;animation:.7s linear infinite spin}.rv-img{object-fit:cover;background:#f1f3f6;border-radius:12px;flex:none;width:46px;height:46px}.is-imgwrap{padding:12px 15px 6px}.is-imgwrap img{object-fit:cover;background:#f1f3f6;border-radius:14px;width:100%;height:190px;display:block}.ai-thumbs{flex-wrap:wrap;gap:9px;display:flex}.ai-thumb{background:#f1f3f6;border-radius:14px;flex:none;width:66px;height:66px;position:relative;overflow:hidden}.ai-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ai-thumb button{color:#fff;background:#1418209e;border:0;border-radius:50%;place-items:center;width:19px;height:19px;display:grid;position:absolute;top:3px;right:3px}.ai-thumb button .ico{stroke-width:2.6px;width:10px;height:10px}.ai-thumb.add{border:1.5px dashed var(--line-2);color:var(--ink-3);background:#fafbfc;place-items:center;display:grid}.ai-thumb.add .ico{width:20px;height:20px}.shell{flex:1;min-width:0;min-height:0;display:flex}.screen{flex:1;min-width:0}.phone.nav-hidden .tabbar,.phone.nav-hidden .nav{display:none}.house-sub{background:var(--brand-100);color:var(--brand-700);border-radius:var(--r-full);align-items:center;gap:5px;max-width:100%;margin-top:4px;padding:3px 9px 3px 7px;font-size:11.5px;font-weight:650;transition:transform .14s;display:inline-flex}.house-sub:active{transform:scale(.96)}.house-sub .ico{stroke-width:2.1px;width:13px;height:13px}.house-sub span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.house-sub .hs-chev{opacity:.7;stroke-width:2.4px;width:12px;height:12px}.nav{border-right:1px solid var(--line);background:#fff;flex-direction:column;flex:none;min-height:0;padding:14px 12px;display:none}.nav-brand{align-items:center;gap:11px;padding:4px 10px 14px;display:flex}.nav-logo{background:var(--brand);color:#fff;width:36px;height:36px;box-shadow:var(--sh-brand);border-radius:11px;flex:none;place-items:center;font-size:18px;font-weight:800;display:grid}.nav-brand-t{flex-direction:column;min-width:0;display:flex}.nav-brand-t b{letter-spacing:-.2px;font-size:15.5px;font-weight:750}.nav-brand-t i{color:var(--ink-3);letter-spacing:.6px;margin-top:1px;font-size:10.5px;font-style:normal}.nav-house{background:var(--brand-50);text-align:left;border-radius:14px;align-items:center;gap:10px;width:100%;margin-bottom:12px;padding:9px 11px;transition:all .15s;display:flex}.nav-house:active{transform:scale(.98)}.nav-house-ico{width:32px;height:32px;color:var(--brand-700);background:#fff;border-radius:10px;flex:none;place-items:center;display:grid}.nav-house-ico .ico{width:18px;height:18px}.nav-house-t{flex-direction:column;flex:1;min-width:0;display:flex}.nav-house-t b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.nav-house-t i{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:10.5px;font-style:normal;overflow:hidden}.nav-chev{width:16px;height:16px;color:var(--ink-4);stroke-width:2.2px;flex:none}.nav-list{scrollbar-width:none;flex-direction:column;flex:1;gap:3px;min-height:0;display:flex;overflow-y:auto}.nav-list::-webkit-scrollbar{display:none}.nav-item{height:44px;color:var(--ink-2);border-radius:12px;align-items:center;gap:12px;width:100%;padding:0 12px;font-size:14px;font-weight:620;transition:background .15s,color .15s;display:flex;position:relative}.nav-item .ico{stroke-width:1.8px;flex:none;width:21px;height:21px}.nav-item:hover{background:#f2f4f7}.nav-item.on{background:var(--brand-100);color:var(--brand-700)}.nav-item.on .ico{stroke-width:2.2px}.nav-item .nav-dot{background:var(--red);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 4px;font-size:9.5px;font-weight:700;display:none;position:absolute;top:8px;left:28px;box-shadow:0 0 0 2px #fff}.nav-dot.show{display:flex}.nav-foot{border-top:1px solid var(--line);flex:none;margin-top:8px;padding-top:8px}.nav-user{border-radius:12px;align-items:center;gap:10px;padding:8px 11px;display:flex}.nav-user-t{flex-direction:column;flex:1;min-width:0;display:flex}.nav-user-t b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:680;overflow:hidden}.nav-user-t i{color:var(--ink-3);margin-top:1px;font-size:10.5px;font-style:normal}body[data-device=tablet] .stage{gap:32px;padding:20px}body[data-device=tablet] .phone{border-radius:32px;width:834px;height:min(1112px,100vh - 40px);box-shadow:0 0 0 10px #101318,0 0 0 12px #2a2f38,0 40px 90px -20px #000c}body[data-device=tablet] .notch{display:none}body[data-device=tablet] .statusbar{padding:0 26px}body[data-device=tablet] .tabbar{display:none}body[data-device=tablet] .hint{display:none!important}body[data-device=tablet] .fab-layer{bottom:26px}body[data-device=tablet] .nav{align-items:center;width:84px;padding:12px 9px;display:flex}body[data-device=tablet] .nav-brand{justify-content:center;padding:2px 0 12px}body[data-device=tablet] .nav-logo{width:40px;height:40px}body[data-device=tablet] .nav-brand-t,body[data-device=tablet] .nav-house-t,body[data-device=tablet] .nav-chev,body[data-device=tablet] .nav-user-t{display:none}body[data-device=tablet] .nav-house{border-radius:16px;justify-content:center;width:56px;height:56px;padding:0}body[data-device=tablet] .nav-house-ico{width:36px;height:36px}body[data-device=tablet] .nav-list{align-items:center;gap:5px;width:100%}body[data-device=tablet] .nav-item{border-radius:14px;flex-direction:column;justify-content:center;gap:4px;width:60px;height:56px;padding:0;font-size:10px;font-weight:650}body[data-device=tablet] .nav-item .nav-dot{top:6px;left:auto;right:8px}body[data-device=tablet] .nav-foot{justify-content:center;width:100%;display:flex}body[data-device=tablet] .nav-user{justify-content:center;padding:6px 0}body[data-device=tablet] .cab-grid{grid-template-columns:repeat(3,1fr)}body[data-device=tablet] .page,body[data-device=tablet] .appbar{padding-left:22px;padding-right:22px}body[data-device=web],body[data-device=desktop]{--inner-w:1120px;--inner-pad:32px;background:var(--bg)}body[data-device=desktop]{--inner-w:1420px;--inner-pad:40px}body[data-device=web] .stage,body[data-device=desktop] .stage{background:var(--bg);gap:0;height:100dvh;padding:0;display:block;overflow:hidden}body[data-device=web] .phone,body[data-device=desktop] .phone{width:100%;height:100%;max-height:none;box-shadow:none;background:var(--bg);border-radius:0}body[data-device=web] .notch,body[data-device=desktop] .notch,body[data-device=web] .statusbar,body[data-device=desktop] .statusbar,body[data-device=web] .home-indicator,body[data-device=desktop] .home-indicator,body[data-device=web] .tabbar,body[data-device=desktop] .tabbar{display:none}body[data-device=web] .hint,body[data-device=desktop] .hint{display:none!important}body[data-device=web] .fab-layer,body[data-device=desktop] .fab-layer{top:0;bottom:0}body[data-device=web] .nav,body[data-device=desktop] .nav{display:flex}body[data-device=web] .nav{width:242px;padding:16px 14px}body[data-device=desktop] .nav{width:266px;padding:18px 16px}body[data-device=web] .page,body[data-device=desktop] .page{max-width:var(--inner-w);padding-left:var(--inner-pad);padding-right:var(--inner-pad);margin:0 auto}body[data-device=web] .appbar,body[data-device=desktop] .appbar{max-width:var(--inner-w);padding-left:var(--inner-pad);padding-right:var(--inner-pad);margin:0 auto;padding-top:14px}body[data-device=web] .cab-grid{grid-template-columns:repeat(3,1fr);gap:16px}body[data-device=desktop] .cab-grid{grid-template-columns:repeat(4,1fr);gap:18px}body[data-device=web] .stats,body[data-device=desktop] .stats{gap:14px}body[data-device=web] .stat,body[data-device=desktop] .stat{padding:16px 18px}body[data-device=web] .hero,body[data-device=desktop] .hero{padding:22px 24px}body[data-device=web] .fab,body[data-device=desktop] .fab{right:max(24px, calc((100vw - var(--inner-w)) / 2 + var(--inner-pad)));bottom:28px}@media (max-width:1500px){body[data-device=desktop] .fab{right:var(--inner-pad)}}.detail-cols{display:block}body[data-device=web] .detail-cols{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start;gap:24px;display:grid}body[data-device=desktop] .detail-cols{grid-template-columns:minmax(0,470px) minmax(0,1fr);align-items:start;gap:30px;display:grid}body[data-device=web] .dc-left,body[data-device=web] .dc-right,body[data-device=desktop] .dc-left,body[data-device=desktop] .dc-right{min-width:0}body[data-device=web] .dc-right,body[data-device=desktop] .dc-right{scrollbar-width:none;max-height:calc(100vh - 120px);overflow-y:auto}body[data-device=web] .dc-right::-webkit-scrollbar{display:none}body[data-device=desktop] .dc-right::-webkit-scrollbar{display:none}@media (max-width:1080px){body[data-device=web] .detail-cols,body[data-device=desktop] .detail-cols{display:block}body[data-device=web] .dc-left,body[data-device=desktop] .dc-left{position:static}body[data-device=web] .dc-right,body[data-device=desktop] .dc-right{max-height:none;overflow:visible}}body[data-device=tablet] .sheet{border-radius:24px 0 0 24px;width:420px;max-width:88%;max-height:none;top:0;bottom:0;left:auto;right:0;transform:translate(101%)}body[data-device=tablet] .sheet.on{transform:translate(0)}body[data-device=tablet] .sheet-grip{display:none}body[data-device=web] .dc-left,body[data-device=desktop] .dc-left{position:sticky;top:70px}body[data-device=web] .builder-wrap,body[data-device=desktop] .builder-wrap{flex-direction:row}body[data-device=web] .builder-panel,body[data-device=desktop] .builder-panel{border-top:0;border-left:1px solid var(--line);border-radius:0;width:372px;max-height:none;margin-top:0;box-shadow:-10px 0 26px -12px #14171c1f}body[data-device=desktop] .builder-panel{width:420px}body[data-device=web] .panel-grip,body[data-device=desktop] .panel-grip{display:none}body[data-device=web] .builder-panel.collapsed,body[data-device=desktop] .builder-panel.collapsed{max-height:none}body[data-device=desktop] .search-cols{grid-template-columns:1fr 1fr;align-items:start;gap:22px;display:grid}body[data-device=web] .list,body[data-device=desktop] .list{border-radius:var(--r)}body[data-device=desktop] .row{padding:14px 16px}.mouse-only{display:none}body[data-device=web] .mouse-only,body[data-device=desktop] .mouse-only,.touch-only{display:inline}body[data-device=web] .touch-only,body[data-device=desktop] .touch-only{display:none}.plan-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.plan-stage{background:#f7f8fa;flex:1;min-height:0;position:relative;overflow:hidden;container-type:size}.plan-host{position:absolute;top:0;bottom:0;left:0;right:0}.plan-canvas{touch-action:none;display:block}.plan-hud{z-index:5;pointer-events:none;flex-direction:column;gap:7px;display:flex;position:absolute;top:12px;left:12px}.plan-hud .hud-pill{pointer-events:auto}.plan-hud{max-height:calc(100% - 90px);overflow:hidden}@container (height<=200px){.plan-hud .hud-hint{display:none}}.plan-zoombar{z-index:6;flex-direction:column;gap:7px;display:flex;position:absolute;top:12px;right:12px}.plan-toolbar{z-index:6;scrollbar-width:none;background:linear-gradient(#0000,#f7f8faf0 46%);gap:8px;padding:12px 14px 14px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-x:auto}.plan-toolbar::-webkit-scrollbar{display:none}.tool-chip{border-radius:var(--r-full);height:38px;box-shadow:var(--sh-2);color:var(--ink-2);background:#fff;flex:none;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:650;transition:all .15s;display:inline-flex}.tool-chip .ico{width:17px;height:17px}.tool-chip:active{transform:scale(.95)}.tool-chip.on{background:var(--ink);color:#fff}.tool-chip.on .ico{stroke-width:2.2px}body[data-device=phone] .plan-toolbar .tool-chip:not(.on) .lbl{display:none}body[data-device=phone] .plan-toolbar .tool-chip:not(.on){padding:0 12px}.plan-panel{background:var(--bg);border-top:1px solid var(--line);z-index:8;border-radius:18px 18px 0 0;flex-direction:column;flex:none;max-height:46%;margin-top:-16px;display:flex;position:relative;box-shadow:0 -8px 26px -10px #14171c29}.plan-panel.hidden{display:none}.plan-panel-h{flex:none;align-items:center;gap:9px;padding:12px 16px 8px;display:flex}.plan-panel-h h3{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:14.5px;font-weight:720;overflow:hidden}.plan-panel-b{scrollbar-width:none;padding:0 16px 16px;overflow-y:auto}.plan-panel-b::-webkit-scrollbar{display:none}.pinfo{border-radius:var(--r);box-shadow:var(--sh-1);background:#fff;align-items:center;gap:11px;margin-bottom:10px;padding:12px 14px;display:flex}.pinfo .item-ico{border-radius:12px;width:42px;height:42px}.pinfo-b{flex:1;min-width:0}.pinfo-b b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:680;display:block;overflow:hidden}.pinfo-b span{color:var(--ink-3);margin-top:3px;font-size:11.5px;display:block}.kv{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.kv div{border-radius:var(--r-sm);box-shadow:var(--sh-1);background:#fff;padding:9px 11px}.kv b{font-size:14px;font-weight:700;display:block}.kv span{color:var(--ink-3);margin-top:2px;font-size:10.5px;display:block}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border-radius:50%;width:26px;height:26px;transition:all .15s;box-shadow:inset 0 0 0 1px #00000012}.swatch.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink-2);transform:scale(1.12)}.plan-tip{background:var(--brand-100);border-radius:var(--r);color:#3f7265;align-items:flex-start;gap:10px;padding:12px 14px;font-size:12.5px;line-height:1.55;display:flex}.plan-tip .ico{width:18px;height:18px;color:var(--brand);flex:none;margin-top:1px}.plan-tip b{color:var(--brand-700);margin-bottom:2px;font-size:13px;display:block}.legend{color:var(--ink-3);flex-wrap:wrap;gap:12px;font-size:11.5px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:11px;height:11px;margin-right:5px;display:inline-block}.plan-empty{text-align:center;color:var(--ink-3);z-index:7;background:#f7f8fa;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.plan-empty .ico{width:52px;height:52px;color:var(--ink-4);stroke-width:1.3px;margin-bottom:14px}.plan-empty h3{color:var(--ink);margin:0 0 6px;font-size:16px;font-weight:680}.plan-empty p{max-width:280px;margin:0 0 18px;font-size:13px;line-height:1.6}body[data-device=web] .plan-wrap,body[data-device=desktop] .plan-wrap{flex-direction:row}body[data-device=web] .plan-panel,body[data-device=desktop] .plan-panel{border-top:0;border-left:1px solid var(--line);border-radius:0;width:352px;max-height:none;margin-top:0;box-shadow:-10px 0 26px -12px #14171c1f}body[data-device=desktop] .plan-panel{width:400px}body[data-device=web] .plan-toolbar,body[data-device=desktop] .plan-toolbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f7f8fadb;border-radius:16px 16px 0 0;width:auto;padding:14px 16px;left:auto;right:auto}body[data-device=web] .plan-hud,body[data-device=desktop] .plan-hud{top:16px;left:16px}.mini-plan{border-radius:var(--r);box-shadow:var(--sh-1);background:#f7f8fa;position:relative;overflow:hidden}.mini-plan canvas{width:100%;display:block}
