html[data-locale-font] body{font-family:"Inter",var(--locale-font),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}html[lang=th] body,html[lang=zh-CN] body,html[lang=ja] body{word-break:normal;overflow-wrap:anywhere;line-break:auto}html[lang=th] body,html[lang=hi] body,html[lang=ar] body{line-height:1.6}html[lang=hi] .rail-label,html[lang=th] .rail-label{font-size:11px;line-height:1.3;letter-spacing:0}html[lang=th] :is(h1,h2,h3,h4,p,a,button,span),html[lang=zh-CN] :is(h1,h2,h3,h4,p,a,button,span),html[lang=ja] :is(h1,h2,h3,h4,p,a,button,span),html[lang=hi] :is(h1,h2,h3,h4,p,a,button,span),html[lang=ar] :is(h1,h2,h3,h4,p,a,button,span){letter-spacing:normal}html[dir=rtl] canvas,html[dir=rtl] .konvajs-content,html[dir=rtl] [data-force-ltr]{direction:ltr}html[dir=rtl] .rtl-flip{transform:scaleX(-1)}.lang-picker{position:relative;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 9px;border-radius:var(--radius-sm, 8px);color:var(--muted);font-weight:600;font-size:13px;line-height:1;white-space:nowrap;cursor:pointer;transition:color .12s ease,background .12s ease}.lang-picker:hover,.lang-picker:focus-within{color:var(--accent);background:var(--accent-soft)}.lang-picker:has(select:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.lang-picker-ico{flex-shrink:0;opacity:.9}.lang-picker-caret{flex-shrink:0;opacity:.55}.lang-picker select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font:inherit;font-size:16px;border:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.lang-picker.compact{padding:0 8px;gap:4px}.lang-picker-code{font-size:12px;font-weight:700;letter-spacing:.02em}.lang-row .lang-picker{height:30px;padding:0 9px;background:color-mix(in srgb,var(--panel-2) 90%,var(--panel));border:1px solid color-mix(in srgb,var(--line) 90%,var(--ink));color:var(--ink);max-width:180px}.lang-picker-label{overflow:hidden;text-overflow:ellipsis}.landing-footer .lang-picker{height:28px}html[lang=ja] :is(h1,h2,h3),html[lang=zh-CN] :is(h1,h2,h3){text-wrap:balance}@supports (word-break: auto-phrase){html[lang=ja] :is(h1,h2,h3){word-break:auto-phrase}}html[lang=ja] .landing-hero-accent,html[lang=zh-CN] .landing-hero-accent{display:block}html[dir=rtl] code,html[dir=rtl] kbd,html[dir=rtl] .lp2-stat-n{unicode-bidi:isolate;direction:ltr}html[dir=rtl] kbd,html[dir=rtl] .help-kbd{unicode-bidi:plaintext}html[dir=rtl] .fb-root{right:auto;left:max(14px,env(safe-area-inset-left));align-items:flex-start}:where(html[dir=rtl] [dir=auto]){text-align:right}html[dir=rtl] .dream-tour-pop .driver-popover-close-btn{right:auto;left:8px}html[dir=rtl] .dream-tour-pop .driver-popover-title{padding-right:0;padding-left:22px}html[dir=rtl] .profile-pop{right:auto;left:0}@media (max-width: 820px){html[dir=rtl] .profile-pop{right:auto;left:max(8px,env(safe-area-inset-left))}}html[dir=rtl] .credits-bonus{right:auto;left:8px}html[dir=rtl] .rail-tip{padding:6px 10px 6px 8px;animation-name:rail-tip-in-rtl}@keyframes rail-tip-in-rtl{0%{opacity:0;transform:translate(3px,-50%)}to{opacity:1;transform:translateY(-50%)}}html[dir=rtl] .tool-btn[data-tip]:after{left:auto;right:calc(100% + 10px);transform:translateY(-50%) translate(2px)}html[dir=rtl] .tool-btn[data-tip]:before{left:auto;right:calc(100% + 4px);border-right-color:transparent;border-left-color:color-mix(in srgb,var(--ink) 84%,transparent)}html[dir=rtl][data-theme=dark] .tool-btn[data-tip]:before{border-right-color:transparent;border-left-color:color-mix(in srgb,var(--bg) 86%,var(--panel))}@media (hover: hover) and (pointer: fine){html[dir=rtl] .tool-btn[data-tip]:hover:after,html[dir=rtl] .tool-btn[data-tip]:focus-visible:after{transform:translateY(-50%) translate(0)}}.lp-funnel h3,.lp-funnel figure,.lp-funnel .landing-step-d,.lp-funnel .landing-feat-d,.lp-home-pitch,.lp-use-d,.lp-price-note,.lp-faq-more,.lp-lightbox p{margin:0}.lp-funnel .landing-step-d,.lp-funnel .landing-feat-d{margin-top:9px}.lp-funnel ol.landing-steps-grid,.lp-funnel ul.landing-hero-proof{list-style:none;padding:0}.lp-funnel .landing-hero-proof>li{display:inline-flex;align-items:center;gap:5px}.lp-funnel .landing-steps-grid{display:grid;margin:0}@media (min-width: 981px){.lp-funnel .landing-hero{grid-template-columns:minmax(0,1fr) minmax(460px,1fr);gap:clamp(40px,5vw,72px)}}@media (min-width: 1180px){.lp-funnel .landing-hero-ctas{flex-wrap:nowrap}.lp-funnel .landing-hero-ctas .landing-btn{white-space:nowrap}}.lp-tour-btn{gap:10px}.lp-tour-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--landing-ink);color:#fff}.lp-tour-ico .ico{fill:currentColor;margin-left:2px}.lp-shot-media{position:relative}.lp-shot-media>img{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover}.lp-shot-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:0;background:linear-gradient(180deg,#11192300 40%,#11192357);color:#fff;cursor:pointer}.lp-shot-play-disc{display:inline-flex;align-items:center;justify-content:center;width:74px;height:74px;border-radius:50%;background:#fffffff0;color:var(--landing-blue);box-shadow:0 16px 40px #11192347,0 0 0 10px #ffffff38;transition:transform .18s var(--ease)}.lp-shot-play-disc .ico{fill:currentColor;margin-left:4px}.lp-shot-play-lab{padding:6px 12px;border-radius:var(--radius-pill);background:#111923a8;font-size:var(--fs-md);font-weight:700;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lp-shot-play:hover .lp-shot-play-disc{transform:scale(1.07)}.lp-shot-play:focus-visible{outline:3px solid var(--landing-blue);outline-offset:-3px}.lp-proof .landing-capability>span{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:var(--radius);background:#3156ed17}.lp-section{max-width:1184px;margin:0 auto;padding:112px 0 0}.lp-section-sub{max-width:640px;margin:16px auto 0!important;color:var(--landing-muted);font-size:16.5px;line-height:1.6;text-align:center}.lp-center-cta{display:flex;justify-content:center;margin-top:36px}.lp-examples .landing-section-head{margin-bottom:36px}.lp-homes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.lp-home{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--landing-line);border-radius:20px;background:var(--landing-card);box-shadow:0 10px 30px #1119230f;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.lp-home:hover{transform:translateY(-3px);border-color:#3156ed47;box-shadow:0 20px 45px #1119231f}.lp-home-media-wrap{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:#dfe3e8}.lp-home-media{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}.lp-home-media:focus-visible{outline:3px solid var(--landing-blue);outline-offset:-3px}.lp-home-poster,.lp-home-loop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.lp-home-poster{transition:transform .5s var(--ease)}.lp-home:hover .lp-home-poster{transform:scale(1.03)}.lp-home-loop{opacity:0;transition:opacity .35s var(--ease)}.lp-home-loop.on{opacity:1}.lp-home-badge{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:7px;padding:6px 11px 6px 7px;border-radius:var(--radius-pill);background:#111923b8;color:#fff;font-size:var(--fs-sm);font-weight:700;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lp-home-badge>.ico{margin-left:4px}.lp-home-play{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--landing-blue)}.lp-home-play .ico{fill:currentColor;margin-left:2px}.lp-home-body{display:flex;flex:1;flex-direction:column;gap:7px;padding:18px}.lp-home-title{color:var(--landing-ink);font-size:17px;font-weight:760;letter-spacing:-.02em;line-height:1.25}.lp-home-pitch{display:-webkit-box;overflow:hidden;color:var(--landing-muted);font-size:13.5px;line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lp-home-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:10px}.lp-home-btn{display:inline-flex;flex:1 1 auto;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 14px;border:1px solid transparent;border-radius:11px;font:inherit;font-size:13.5px;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease)}.lp-home-btn.ghost{border-color:#11192324;background:#fff;color:var(--landing-ink)}.lp-home-btn.ghost:hover{border-color:#3156ed66;color:var(--landing-blue)}.lp-home-btn.primary{background:var(--landing-blue);color:#fff}.lp-home-btn.primary:hover{background:var(--landing-blue-deep)}.lp-home-btn:disabled{opacity:.7;cursor:progress}.lp-home-btn:focus-visible{outline:2px solid var(--landing-blue);outline-offset:2px}.lp-home-btn.lg{min-height:48px;padding:10px 20px;font-size:14.5px;flex:0 0 auto}.lp-home-btn.on-dark{border-color:#ffffff4d;background:#ffffff14;color:#fff}.lp-home-skel .lp-home-media-wrap{border-radius:0}.lp-skel-line{height:14px;width:70%;border-radius:6px}.lp-skel-line.short{width:45%;height:11px}.lp-homes-more,.lp-examples-foot{display:flex;justify-content:center;margin-top:26px}.lp-funnel .landing-cta-p{margin:20px auto 30px}.lp-examples-foot .landing-section-link{margin-top:0;font-weight:700;text-decoration:none}.lp-funnel .landing-steps{padding-bottom:0}.lp-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:trio}.lp-trio-card{position:relative;overflow:hidden;border:1px solid var(--landing-line);border-radius:20px;background:#fff;box-shadow:0 14px 36px #11192314}.lp-trio-card img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;background:#e8ebef}.lp-trio-card figcaption{padding:16px 18px 18px;color:var(--landing-muted);font-size:13.5px;line-height:1.55}.lp-trio-card figcaption b{display:block;margin-bottom:3px;color:var(--landing-ink);font-size:16px;font-weight:760;letter-spacing:-.02em}.lp-trio-n{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--landing-ink);color:#fff;font-size:var(--fs-md);font-weight:800}.lp-trio-accent{border-color:#3156ed59;box-shadow:0 18px 44px #3156ed29}.lp-trio-accent .lp-trio-n{background:var(--landing-lime);color:var(--landing-ink)}.lp-funnel .landing-features{margin-top:112px}.lp-uses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.lp-use{display:flex;flex-direction:column;gap:10px;min-width:0;padding:24px 22px 22px;border:1px solid var(--landing-line);border-radius:20px;background:#fff9}.lp-use-ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:4px;border-radius:12px;background:#3156ed1a;color:var(--landing-blue)}.lp-use-t{color:var(--landing-ink);font-size:19px;font-weight:770;letter-spacing:-.03em}.lp-use-d{color:var(--landing-muted);font-size:14px;line-height:1.55}.lp-use-list{display:grid;gap:7px;margin:4px 0 8px;padding:0;list-style:none;color:#37414c;font-size:var(--fs-md);line-height:1.4}.lp-use-list li{display:flex;gap:7px}.lp-use-list .ico{flex-shrink:0;margin-top:2px;color:var(--landing-blue);stroke-width:2.6}.lp-use-cta{display:inline-flex;align-items:center;gap:6px;margin-top:auto;color:var(--landing-blue);font-size:14px;font-weight:720;text-decoration:none}.lp-use-cta:hover{color:var(--landing-blue-deep);text-decoration:underline;text-underline-offset:3px}.lp-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:900px;margin:0 auto}.lp-price-card{display:flex;flex-direction:column;padding:30px 30px 28px;border:1px solid var(--landing-line);border-radius:24px;background:#fff;box-shadow:0 14px 40px #11192312}.lp-price-card.free{border-color:#3156ed66;box-shadow:0 20px 50px #3156ed24}.lp-price-tag{align-self:flex-start;padding:5px 11px;border-radius:var(--radius-pill);background:#3156ed1a;color:var(--landing-blue);font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.lp-price-tag.accent{background:#11192312;color:var(--landing-ink)}.lp-price-amt{margin-top:18px;color:var(--landing-ink);font-size:46px;font-weight:820;letter-spacing:-.05em;line-height:1}.lp-price-amt small{font-size:var(--fs-lg);font-weight:650;letter-spacing:-.01em;color:var(--landing-muted)}.lp-price-note{margin-top:8px!important;color:var(--landing-muted);font-size:14px}.lp-price-list{display:grid;gap:10px;margin:22px 0 26px;padding:20px 0 0;border-top:1px solid var(--landing-line);list-style:none;color:#37414c;font-size:14px;font-weight:560}.lp-price-list li{display:flex;align-items:center;gap:9px}.lp-price-list .ico{flex-shrink:0;color:var(--landing-blue)}.lp-price-btn{width:100%;margin-top:auto;justify-content:center}.lp-faq{max-width:820px;margin:0 auto;border-top:1px solid var(--landing-line)}.lp-faq-item{border-bottom:1px solid var(--landing-line)}.lp-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 4px;cursor:pointer;list-style:none}.lp-faq-item summary::-webkit-details-marker{display:none}.lp-faq-item summary h3{color:var(--landing-ink);font-size:17px;font-weight:720;letter-spacing:-.02em}.lp-faq-item summary .ico{flex-shrink:0;color:var(--landing-muted);transition:transform .2s var(--ease)}.lp-faq-item[open] summary .ico{transform:rotate(180deg);color:var(--landing-blue)}.lp-faq-item summary:hover h3{color:var(--landing-blue)}.lp-faq-item summary:focus-visible{outline:2px solid var(--landing-blue);outline-offset:2px;border-radius:8px}.lp-faq-a{max-width:720px;padding:0 4px 22px;color:var(--landing-muted);font-size:var(--fs-lg);line-height:1.65}.lp-faq-a a,.lp-faq-more a{color:var(--landing-blue);font-weight:650}.lp-faq-more{margin-top:22px!important;color:var(--landing-muted);font-size:14.5px;text-align:center}.lp-final-ctas{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.landing-btn.lp-final-ghost{border:1px solid rgba(255,255,255,.34);background:#ffffff1a;color:#fff}.landing-btn.lp-final-ghost:hover{background:#ffffff2e}.lp-sticky{display:none}@media (max-width: 720px){.lp-sticky{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 9px 9px 16px;border:1px solid rgba(255,255,255,.7);border-radius:16px;background:#fbfbf7eb;box-shadow:0 14px 40px #1119232e;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);transform:translateY(140%);visibility:hidden;transition:transform .25s var(--ease),visibility 0s linear .25s}.lp-sticky.on{transform:translateY(0);visibility:visible;transition:transform .25s var(--ease),visibility 0s}.lp-sticky-copy{display:flex;flex-direction:column;min-width:0;line-height:1.2}.lp-sticky-copy b{color:var(--landing-ink);font-size:14px;font-weight:780}.lp-sticky-copy span{color:var(--landing-muted);font-size:var(--fs-sm)}.landing-btn.lp-sticky-btn{min-height:44px;padding:10px 18px;white-space:nowrap}body:has(.lp-sticky.on) .fb-root:not(.open){bottom:calc(86px + env(safe-area-inset-bottom,0px));transition:bottom .25s var(--ease)}.lp-funnel .landing-footer{padding-bottom:96px}}@media (max-width: 720px) and (prefers-reduced-motion: reduce){.lp-sticky,.lp-sticky.on{transition:none}}.lp-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#080c12d1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.lp-lightbox-panel{display:flex;flex-direction:column;width:min(1100px,100%);max-height:100%;overflow:hidden;border-radius:20px;background:#111923;color:#fff;box-shadow:0 40px 100px #00000080}.lp-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 20px}.lp-lightbox-title{margin:0;overflow:hidden;font-size:16px;font-weight:750;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.lp-lightbox-close{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:12px;background:#ffffff14;color:#fff;cursor:pointer}.lp-lightbox-close:hover{background:#ffffff29}.lp-lightbox-close:focus-visible{outline:2px solid var(--landing-lime, #bfd98c);outline-offset:2px}.lp-lightbox-media{position:relative;min-height:0;background:#000}.lp-lightbox-media video{display:block;width:100%;max-height:calc(100vh - 220px);aspect-ratio:16 / 9;background:#000}.lp-lightbox-fail{position:relative;aspect-ratio:16 / 9}.lp-lightbox-fail img{width:100%;height:100%;object-fit:cover;opacity:.4}.lp-lightbox-fail p{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0;font-weight:700}.lp-lightbox-end{position:absolute;top:0;right:0;bottom:64px;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:#0a0f16cc;text-align:center}.lp-end-kicker{margin:0;color:var(--landing-lime, #bfd98c);font-size:var(--fs-sm);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.lp-end-title{max-width:520px;margin:8px auto 20px;font-size:clamp(20px,3vw,28px);font-weight:780;line-height:1.2;letter-spacing:-.03em}.lp-end-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.lp-lightbox-replay{border:0;background:none;color:#ffffffb3;font:inherit;font-size:13.5px;font-weight:650;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.lp-lightbox-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px 14px 20px}.lp-lightbox-pitch{margin:0;color:#f1f5f9b8;font-size:14px;line-height:1.5}.lp-lightbox-actions{display:flex;flex-shrink:0;gap:8px}.lp-lightbox-actions .lp-home-btn.ghost{border-color:#ffffff3d;background:#ffffff0f;color:#fff}.landing-btn.lp-lb-btn{min-height:46px}.lp-lightbox{--landing-ink: #111923;--landing-muted: #5e6875;--landing-blue: #3156ed;--landing-blue-deep: #203fc5;--landing-lime: #bfd98c}.lp-lightbox .landing-btn.primary{background:var(--landing-lime);color:var(--landing-ink)}@media (max-width: 1220px){.lp-section{margin-left:28px;margin-right:28px}}@media (max-width: 980px){.lp-homes-grid,.lp-uses{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-trio{gap:12px}.lp-trio-card figcaption{padding:12px 14px 14px;font-size:12.5px}}@media (max-width: 720px){.lp-section{margin-left:16px;margin-right:16px;padding-top:80px}.lp-homes-grid,.lp-uses,.lp-price-grid,.lp-trio{grid-template-columns:1fr}.lp-homes-grid{display:flex;gap:12px;margin:0 -16px;padding:4px 16px 14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none}.lp-homes-grid::-webkit-scrollbar{display:none}.lp-homes-grid>.lp-home{flex:0 0 86%;scroll-snap-align:start}.lp-home:hover{transform:none}.lp-funnel .landing-features{margin-top:80px}.lp-price-card{padding:24px 20px 22px}.lp-faq-item summary h3{font-size:16px}.lp-proof .landing-capability{padding:16px 14px;font-size:12.5px}.lp-lightbox{padding:0;align-items:stretch}.lp-lightbox-panel{border-radius:0;justify-content:center}.lp-lightbox-foot{flex-direction:column;align-items:stretch}.lp-lightbox-actions>*{flex:1}.lp-shot-play-disc{width:58px;height:58px}}.lp-funnel{--lp2-section: clamp(88px, 10vw, 128px);--lp2-radius: 22px;--lp2-shadow: 0 24px 60px rgba(17, 25, 35, .14), 0 2px 6px rgba(17, 25, 35, .06)}.lp-funnel .lp-section{padding-top:var(--lp2-section)}.lp-funnel .landing-steps,.lp-funnel .landing-features{margin-top:var(--lp2-section)}.lp-funnel .landing-section-h2{font-size:clamp(30px,3.4vw,44px);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}.lp-funnel .landing-section-h2.left,.lp-funnel .landing-section-lab.left{text-align:left}.lp-funnel .landing-section-lab{letter-spacing:.09em}.lp-funnel .lp-section-sub,.lp-funnel .landing-step-d,.lp-funnel .lp-use-d,.lp-funnel .lp-home-pitch{color:#4f5966}@media (prefers-reduced-motion: no-preference){.lp2-pre{opacity:0;transform:translateY(22px)}.lp2-in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}}@media print{.lp2-pre{opacity:1!important;transform:none!important}}.lp2-visual{padding:30px 0 48px}.lp2-hero-frame{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:26px;background:#d8dee5;box-shadow:0 40px 90px #1822353d,0 3px 10px #1119231a}.lp2-hero-media{position:relative;aspect-ratio:16 / 9;overflow:hidden}.lp2-hero-poster,.lp2-hero-loop{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover}.lp2-hero-loop{opacity:0;transition:opacity .6s var(--ease)}.lp2-hero-loop.on{opacity:1}.lp2-hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a0f1657,#0a0f1600 26%),linear-gradient(0deg,#0a0f1680,#0a0f1600 38%);pointer-events:none}.lp2-hero-chip{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 28px);padding:7px 12px 7px 10px;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-pill);background:#0a0f1685;color:#fff;font-size:var(--fs-sm);font-weight:700;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lp2-live-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--landing-lime);box-shadow:0 0 0 3px #bfd98c40}.lp2-hero-watch{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:6px 16px 6px 6px;border:0;border-radius:var(--radius-pill);background:#fffffff2;color:var(--landing-ink);font:inherit;font-size:13.5px;font-weight:760;letter-spacing:-.01em;box-shadow:0 10px 28px #0a0f1647;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.lp2-hero-watch:hover{transform:translateY(-1px);box-shadow:0 14px 34px #0a0f1657}.lp2-hero-watch:focus-visible,.lp2-hero-pause:focus-visible{outline:3px solid var(--landing-lime);outline-offset:2px}.lp2-hero-watch-disc{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--landing-blue);color:#fff}.lp2-hero-watch-disc .ico{fill:currentColor;margin-left:2px}.lp2-hero-pause{position:absolute;right:14px;bottom:18px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:#0a0f1680;color:#fff;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lp2-hero-pause .ico{fill:currentColor}.lp-funnel .lp2-visual .landing-float-ai{top:-6px;right:-28px}.lp2-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1184px;margin:0 auto;border-top:1px solid var(--landing-line);border-bottom:1px solid var(--landing-line)}.lp2-stat{display:flex;flex-direction:column;gap:6px;min-width:0;padding:28px 28px 26px;border-right:1px solid var(--landing-line)}.lp2-stat:last-child{border-right:0}.lp2-stat-n{color:var(--landing-ink);font-size:clamp(30px,3.2vw,42px);font-weight:820;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.lp2-stat-l{color:#4f5966;font-size:13.5px;font-weight:650;line-height:1.35}.lp2-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.lp2-head-row .landing-section-lab{margin-bottom:10px}.lp2-chaps{position:relative}.lp2-chaps-rail{display:flex;gap:16px;margin:0;padding:4px 2px 18px;overflow-x:auto;list-style:none;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.lp2-chaps-rail::-webkit-scrollbar{display:none}.lp2-chap{flex:0 0 clamp(210px,22vw,262px);scroll-snap-align:start}.lp2-chap-btn{display:flex;flex-direction:column;width:100%;height:100%;padding:0;overflow:hidden;border:1px solid var(--landing-line);border-radius:18px;background:var(--landing-card);color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:0 8px 24px #1119230d;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.lp2-chap-btn:hover{transform:translateY(-3px);border-color:#3156ed4d;box-shadow:0 18px 40px #1119231f}.lp2-chap-btn:focus-visible{outline:3px solid var(--landing-blue);outline-offset:2px}.lp2-chap-media{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;background:#dfe3e8}.lp2-chap-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.lp2-chap-btn:hover .lp2-chap-media img{transform:scale(1.04)}.lp2-chap-play{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fffffff2;color:var(--landing-blue);box-shadow:0 6px 16px #0a0f1640}.lp2-chap-play .ico{fill:currentColor;margin-left:2px}.lp2-chap-time{position:absolute;right:10px;bottom:10px;padding:3px 8px;border-radius:var(--radius-pill);background:#0a0f16b3;color:#fff;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}.lp2-chap-body{display:flex;gap:10px;align-items:baseline;padding:14px 16px 16px}.lp2-chap-n{flex-shrink:0;color:var(--landing-blue);font-size:var(--fs-sm);font-weight:800;font-variant-numeric:tabular-nums}.lp2-chap-t{color:var(--landing-ink);font-size:14.5px;font-weight:720;line-height:1.3;letter-spacing:-.015em}.lp2-chaps-nav{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.lp2-round-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(17,25,35,.14);border-radius:50%;background:#ffffffb3;color:var(--landing-ink);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease),opacity .15s var(--ease)}.lp2-round-btn:hover:not(:disabled){background:var(--landing-ink);color:#fff}.lp2-round-btn:disabled{opacity:.35;cursor:default}.lp2-round-btn:focus-visible{outline:3px solid var(--landing-blue);outline-offset:2px}.lp2-compare{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,5vw,72px);align-items:center}.lp2-compare-copy .landing-section-h2{margin-top:10px}.lp2-compare-p{max-width:460px;margin:20px 0 0;color:#4f5966;font-size:17px;line-height:1.6}.lp2-ticks{display:grid;gap:10px;margin:24px 0 32px;padding:0;list-style:none;color:var(--landing-ink);font-size:var(--fs-lg);font-weight:620}.lp2-ticks li{display:flex;align-items:center;gap:10px}.lp2-ticks .ico{flex-shrink:0;padding:4px;border-radius:50%;background:#3156ed1a;color:var(--landing-blue);box-sizing:content-box}.lp2-ba-tabs{display:inline-flex;gap:4px;margin-bottom:16px;padding:4px;border:1px solid var(--landing-line);border-radius:14px;background:#fff9}.lp2-ba-tab{min-height:40px;padding:8px 16px;border:0;border-radius:var(--radius);background:transparent;color:#4f5966;font:inherit;font-size:13.5px;font-weight:720;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.lp2-ba-tab:hover{color:var(--landing-ink)}.lp2-ba-tab.on{background:var(--landing-ink);color:#fff}.lp2-ba-tab:focus-visible{outline:3px solid var(--landing-blue);outline-offset:2px}.lp2-ba-fig{margin:0}.lp2-ba-frame{--ba: 50%;position:relative;overflow:hidden;border-radius:var(--lp2-radius);background:#dfe3e8;box-shadow:var(--lp2-shadow);cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none}.lp2-ba-img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.lp2-ba-before{clip-path:inset(0 calc(100% - var(--ba)) 0 0)}.lp2-ba-lab{position:absolute;top:14px;padding:6px 11px;border-radius:var(--radius-pill);background:#0a0f16a8;color:#fff;font-size:var(--fs-sm);font-weight:760;letter-spacing:.01em;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lp2-ba-lab.left{left:14px}.lp2-ba-lab.right{right:14px;background:#3156ede0}.lp2-ba-line{position:absolute;top:0;bottom:0;left:var(--ba);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px #0a0f161f,0 0 18px #0a0f1640;pointer-events:none}.lp2-ba-handle{position:absolute;top:50%;left:var(--ba);display:flex;align-items:center;justify-content:center;gap:0;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#fff;color:var(--landing-ink);box-shadow:0 8px 24px #0a0f164d;transition:transform .15s var(--ease)}.lp2-ba-frame.dragging .lp2-ba-handle,.lp2-ba-handle:hover{transform:scale(1.08)}.lp2-ba-handle:focus-visible{outline:3px solid var(--landing-blue);outline-offset:3px}.lp2-ba-cap{margin-top:14px;color:#5b6572;font-size:var(--fs-md);line-height:1.5}.lp2-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 28px}.lp2-filter{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 14px 8px 16px;border:1px solid rgba(17,25,35,.14);border-radius:var(--radius-pill);background:#ffffffa8;color:var(--landing-ink);font:inherit;font-size:13.5px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease)}.lp2-filter:hover{border-color:#3156ed5c;color:var(--landing-blue)}.lp2-filter.on{border-color:var(--landing-ink);background:var(--landing-ink);color:#fff}.lp2-filter:focus-visible{outline:3px solid var(--landing-blue);outline-offset:2px}.lp2-filter-n{min-width:22px;padding:1px 6px;border-radius:var(--radius-pill);background:#11192312;font-size:11.5px;font-variant-numeric:tabular-nums;text-align:center}.lp2-filter.on .lp2-filter-n{background:#ffffff2e}.lp-lightbox-panel:has(.lp-lightbox-chapters) .lp-lightbox-media video{max-height:calc(100vh - 290px)}.lp-lightbox-chapters{display:flex;gap:8px;padding:12px 16px 4px 20px;overflow-x:auto;scrollbar-width:none}.lp-lightbox-chapters::-webkit-scrollbar{display:none}.lp-lightbox-chap{display:inline-flex;flex-shrink:0;align-items:center;gap:8px;min-height:36px;padding:6px 12px 6px 8px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-pill);background:#ffffff0f;color:#ffffffdb;font:inherit;font-size:12.5px;font-weight:650;white-space:nowrap;cursor:pointer}.lp-lightbox-chap:hover{background:#ffffff24;color:#fff}.lp-lightbox-chap.on{border-color:var(--landing-lime);background:#bfd98c24;color:#fff}.lp-lightbox-chap:focus-visible{outline:2px solid var(--landing-lime);outline-offset:2px}.lp-lightbox-chap-t{padding:1px 6px;border-radius:6px;background:#ffffff1f;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}@media (max-width: 1220px){.lp2-stats{margin-left:28px;margin-right:28px}}@media (max-width: 980px){.lp2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lp2-stat:nth-child(2){border-right:0}.lp2-stat:nth-child(-n+2){border-bottom:1px solid var(--landing-line)}.lp2-compare{grid-template-columns:1fr}.lp2-compare-copy{max-width:620px}}@media (max-width: 720px){.lp-funnel{--lp2-section: 80px}.lp2-stats{margin-left:16px;margin-right:16px}.lp2-stat{padding:20px 14px 18px}.lp2-stat:nth-child(odd){padding-left:0}.lp2-stat-l{font-size:12.5px}.lp2-head-row{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:20px}.lp2-head-row .landing-btn{align-self:flex-start}.lp2-chaps-rail{gap:12px;margin:0 -16px;padding:4px 16px 14px;scroll-padding-inline:16px}.lp2-chap{flex-basis:72%}.lp2-chaps-nav{display:none}.lp2-hero-chip{top:10px;left:10px;font-size:var(--fs-xs)}.lp2-hero-watch{left:10px;bottom:10px;min-height:40px;font-size:12.5px}.lp2-hero-watch-disc{width:28px;height:28px}.lp2-hero-pause{right:10px;bottom:14px;width:32px;height:32px}.lp2-hero-frame{border-radius:18px}.lp-funnel .lp2-hero{padding-top:44px}.lp-funnel .lp2-visual{margin-top:4px;padding:8px 0 24px}.lp-funnel .lp2-visual .landing-float-ai{display:none}.lp2-filters{flex-wrap:nowrap;justify-content:flex-start;margin:0 -16px 18px;padding:2px 16px 6px;overflow-x:auto;scrollbar-width:none}.lp2-filters::-webkit-scrollbar{display:none}.lp2-ba-tabs{display:flex}.lp2-ba-tab{flex:1}.lp2-ba-handle{width:42px;height:42px;margin:-21px 0 0 -21px}.lp2-ba-lab{top:10px;font-size:var(--fs-xs)}.lp2-ba-lab.left{left:10px}.lp2-ba-lab.right{right:10px}.lp-lightbox-panel:has(.lp-lightbox-chapters) .lp-lightbox-media video{max-height:none}}.pr-funnel .pricing-wrap{box-sizing:border-box;width:100%;max-width:1120px}.pr-funnel .pricing-hero{max-width:640px}.pr-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:18px 0 0;padding:0;list-style:none;color:var(--muted);font-size:13.5px;font-weight:600}.pr-trust li{display:inline-flex;align-items:center;gap:6px}.pr-trust .ico{color:var(--ok);stroke-width:2.6}.pr-funnel .pricing-split{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start}.pr-funnel .pricing-free-list{flex:0 0 auto;align-content:start}.pr-free-price{margin:-6px 0 18px;font-size:34px;font-weight:820;letter-spacing:-.04em}.pr-free-price span{font-size:13.5px;font-weight:600;letter-spacing:0;color:color-mix(in srgb,#fff 70%,var(--accent))}.pr-funnel .pricing-packs{grid-template-columns:repeat(3,minmax(0,1fr))}.pr-funnel .pricing-pack.featured{border-color:var(--accent);box-shadow:0 16px 40px #0f172a24}.pr-rec{position:absolute;top:-11px;left:50%;transform:translate(-50%);padding:4px 11px;border-radius:var(--radius-pill);background:var(--accent-fill);color:var(--on-accent);font-size:var(--fs-xs);font-weight:750;letter-spacing:.03em;white-space:nowrap}.pr-funnel .pricing-pack{padding-top:30px}.pr-pack-notes{display:grid;gap:9px;margin:18px 0 0;padding:16px 18px;border:1px dashed var(--line-strong, var(--line));border-radius:var(--radius-lg);list-style:none;color:var(--muted);font-size:13.5px;line-height:1.45}.pr-pack-notes li{display:flex;gap:8px}.pr-pack-notes .ico{flex-shrink:0;margin-top:2px;color:var(--ok)}.pr-funnel button.pricing-pack-cta{width:100%;font-family:inherit;cursor:pointer}.pr-funnel .pricing-pack-cta{margin-top:auto}.pr-compare-wrap,.pr-faq-wrap{margin-top:56px}.pr-compare{width:100%;max-width:820px;margin:0 auto;border-collapse:collapse;font-size:14.5px}.pr-compare th,.pr-compare td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:center}.pr-compare thead th{color:var(--ink);font-size:var(--fs-md);font-weight:750;letter-spacing:.02em;text-transform:uppercase}.pr-compare tbody th{color:var(--ink);font-weight:560;text-align:left}.pr-compare td{width:120px}.pr-yes{color:var(--ok)}.pr-no{color:color-mix(in srgb,var(--muted) 60%,transparent)}.pr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pr-faq{--landing-ink: var(--ink);--landing-muted: var(--muted);--landing-blue: var(--accent);--landing-line: var(--line)}.pr-faq h3{margin:0}.pr-final{margin-top:64px;padding:44px 28px;border-radius:var(--radius-lg);background:linear-gradient(165deg,var(--ink) 0%,color-mix(in srgb,var(--ink) 82%,var(--accent)) 100%);color:#fff;text-align:center}.pr-final h2{margin:0;font-size:clamp(24px,3.4vw,32px);font-weight:800;letter-spacing:-.03em}.pr-final p{margin:10px 0 22px;color:color-mix(in srgb,#fff 72%,var(--accent))}.pr-final-ctas{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 22px}.pricing-free-cta.pr-final-btn{margin-top:0;padding:10px 22px}.pr-final-link{color:#fff;font-weight:650;text-decoration:none}.pr-final-link:hover{text-decoration:underline;text-underline-offset:3px}@media (max-width: 980px){.pr-funnel .pricing-packs{grid-template-columns:1fr}}@media (max-width: 820px){.pr-funnel .pricing-split{grid-template-columns:1fr}.pr-funnel .pricing-packs{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px 12px;padding-top:10px}.pr-free-price{width:100%;margin:0}.pr-funnel .pricing-free-badge{width:auto}.pr-funnel .pricing-free-badge+.pricing-free-title{flex-basis:100%}.pr-compare{font-size:13.5px}.pr-compare td{width:76px}}.gal-page .gal-wrap{box-sizing:border-box;width:100%;min-width:0}.gal-card-pitch{display:-webkit-box;margin:6px 0 0;overflow:hidden;color:var(--muted);font-size:var(--fs-md);line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pricing-cost-grid.pr-cost-grid-2{grid-template-columns:repeat(2,1fr);max-width:66%;margin:12px auto 0}.pr-cost-why{max-width:640px;margin:22px auto 0;padding:16px 18px;border-radius:var(--radius-lg);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));color:var(--ink)}.pr-cost-why h3{margin:0 0 6px;font-size:14.5px;font-weight:750;letter-spacing:-.015em}.pr-cost-why p{margin:0 0 6px;font-size:var(--fs-md);line-height:1.5;color:color-mix(in srgb,var(--muted) 60%,var(--ink))}.pr-cost-why p:last-child{margin-bottom:0}@media (max-width: 720px){.pricing-cost-grid.pr-cost-grid-2{grid-template-columns:1fr;max-width:none}}:root{--bg: #e9edf2;--panel: #ffffff;--panel-2: #f4f6f8;--panel-3: #e9edf2;--panel-glass: rgba(255, 255, 255, .84);--ink: #111722;--muted: #5d6a7b;--line: #dfe4ea;--line-strong: #cbd3dc;--accent: #3156ed;--accent-hover: #2748cf;--accent-soft: #edf1ff;--danger: #dc2626;--ok: #19a765;--fav: #d97706;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .04);--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .07);--shadow-lg: 0 18px 50px rgba(16, 24, 40, .14), 0 3px 10px rgba(16, 24, 40, .06);--shadow-float: 0 12px 34px rgba(16, 24, 40, .13), 0 2px 7px rgba(16, 24, 40, .05);--radius: 10px;--radius-sm: 7px;--radius-lg: 14px;--topbar-h: 46px;--rail-w: 48px;--ease: cubic-bezier(.2, .8, .2, 1);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-xs: 5px;--radius-pill: 999px;--warn: #b45309;--on-accent: #ffffff;--on-danger: #ffffff;--focus-ring-offset: 2px;--fs-2xs: 10.5px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 15px;--fs-xl: 18px;--fs-2xl: 22px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--z-topbar: 20;--z-menu-backdrop: 40;--z-menu: 41;--z-modal: 120;--z-banner: 300;--z-whatsnew: 350;--z-dialog: 400;--z-palette: 1200;--z-toast: 9999;--ai-1: #6b6fa8;--ai-2: #6f9a8f;--ai-3: #b98a7a}:root,.app{--text: var(--ink);--sub: var(--muted);--border: var(--line);--radius-md: var(--radius);--accent-fill: var(--accent);--accent-fill-hover: var(--accent-hover);--accent-tint: color-mix(in srgb, var(--accent) 12%, var(--panel));--danger-soft: color-mix(in srgb, var(--danger) 9%, var(--panel));--ok-soft: color-mix(in srgb, var(--ok) 10%, var(--panel));--warn-soft: color-mix(in srgb, var(--warn) 10%, var(--panel));--focus-ring: 2px solid color-mix(in srgb, var(--accent) 85%, var(--ink));--input-focus-border: color-mix(in srgb, var(--accent) 55%, var(--line));--input-focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);--ai-soft: color-mix(in srgb, var(--ai-1) 9%, var(--panel));--ai-line: color-mix(in srgb, var(--ai-1) 38%, var(--line))}:where(button,a[href],[role=button],[role=tab],[role=menuitem],[role=option],summary,input[type=checkbox],input[type=radio],[tabindex]:not([tabindex="-1"])):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}::selection{background:color-mix(in srgb,var(--accent-soft) 72%,var(--accent));color:var(--ink)}::-moz-selection{background:color-mix(in srgb,var(--accent-soft) 72%,var(--accent));color:var(--ink)}.topbar,.tabbar,.sidebar,.right-panel,.menu-pop,.left-rail,.btn,.field,.ai-chat,.dlg-modal,.help-modal,.help-page,.whatsnew-modal,.fb-panel,.site-header,.gal-page,.landing-page,.pricing-page,.auth-shell,.legal-page,.nf-page,.landing-footer,.pv-gate,.viewer-cta,.viewer-share-note,.viewer-renders-modal,.elev-modal,.share-modal,.pdf-export-modal,.credits-modal,.wiz-modal{font-feature-settings:"cv02","cv03","cv04","cv11";letter-spacing:-.011em}.konva-host,.konva-host canvas,.three-host,.three-host canvas{letter-spacing:normal!important;font-feature-settings:normal!important;font-variant-ligatures:none;direction:ltr;unicode-bidi:normal}.app{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg)}.topbar{display:flex;align-items:center;gap:8px;min-height:var(--topbar-h);padding:6px 12px 6px 10px;padding-top:max(6px,env(safe-area-inset-top));background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 1px #fff9 inset,var(--shadow-xs);z-index:var(--z-topbar);flex-wrap:wrap;flex-shrink:0}.topbar-cluster{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.bar-divider{width:1px;height:16px;background:var(--line);flex-shrink:0;margin:0 2px;opacity:.9}.brand{display:flex;align-items:center;gap:6px;min-height:34px;font-weight:700;font-size:var(--fs-md);letter-spacing:-.02em;line-height:1;flex-shrink:0;text-decoration:none;color:inherit;border-radius:7px;padding:2px 5px 2px 2px;margin-left:-2px;transition:background .14s var(--ease),color .14s var(--ease)}.brand:hover{background:color-mix(in srgb,var(--panel-2) 88%,transparent)}.brand:focus-visible{outline:2px solid var(--accent);outline-offset:1px}a.brand:hover .brand-txt{color:var(--accent)}.brand-logo{width:22px;height:22px;border-radius:5px;display:block;flex-shrink:0;box-shadow:var(--shadow-xs)}.brand-txt{font-weight:750;letter-spacing:-.022em;line-height:1;transition:color .14s var(--ease)}.brand .dot{width:20px;height:20px;border-radius:5px;background:linear-gradient(135deg,#2563eb,#60a5fa);flex-shrink:0}.plan-name{border:1px solid transparent;background:transparent;font-size:var(--fs-md);font-weight:600;letter-spacing:-.015em;line-height:1.2;color:var(--ink);padding:5px 9px;border-radius:8px;width:140px;min-height:34px;height:34px;font-family:inherit;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:border-color .12s var(--ease),background .12s var(--ease),box-shadow .12s var(--ease),color .12s var(--ease)}.plan-name:hover{border-color:color-mix(in srgb,var(--line) 92%,var(--ink));background:color-mix(in srgb,var(--panel-2) 90%,transparent)}.plan-name:focus{outline:none;border-color:var(--input-focus-border);background:var(--panel);box-shadow:var(--input-focus-ring)}.plan-name::placeholder{color:var(--muted);opacity:.85}@media (max-width: 820px){.plan-name{width:min(120px,28vw);font-size:12.5px;padding:5px 8px}.brand{gap:5px;padding:2px 3px 2px 1px}}.spacer{flex:1}.seg{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:3px;gap:2px;flex-shrink:0;align-items:center;box-shadow:inset 0 1px 1px #0f172a08}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:6px 12px;border-radius:9px;font-size:var(--fs-md);font-weight:550;font-family:inherit;letter-spacing:-.01em;line-height:1.25;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .1s var(--ease);min-height:34px;box-sizing:border-box;box-shadow:var(--shadow-xs)}.btn:hover{background:var(--panel-2);border-color:var(--line-strong)}.btn:active{transform:translateY(.5px);box-shadow:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn[disabled]{opacity:.45;cursor:not-allowed;color:var(--muted);box-shadow:none}.btn.ghost{border-color:transparent;background:transparent;box-shadow:none}.btn.ghost:hover{background:var(--panel-2);border-color:transparent}.btn.active{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent);box-shadow:0 1px 2px #2563eb40}.btn.active:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover)}.btn.seg-btn{border:none;background:transparent;padding:6px 10px;border-radius:6px;gap:5px;justify-content:center;box-shadow:none}.btn.seg-btn.active{background:var(--panel);color:var(--accent);box-shadow:var(--shadow-xs);font-weight:650}.btn.danger{color:var(--danger)}.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,var(--panel));border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.bar-tools{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.bar-tools .ico{display:block;flex-shrink:0}.btn.seg-btn.icon-only{padding:0;min-width:28px;width:28px;min-height:28px;height:28px;justify-content:center;gap:0;border-radius:6px;color:color-mix(in srgb,var(--ink) 88%,var(--muted));box-shadow:none;box-sizing:border-box}.btn.seg-btn.icon-only .ico{display:block;flex-shrink:0}.btn.seg-btn.icon-only:hover:not(:disabled){background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--ink);box-shadow:var(--shadow-xs)}.btn.seg-btn.icon-only:active:not(:disabled){transform:none;background:color-mix(in srgb,var(--ink) 6%,var(--panel));box-shadow:none}.btn.seg-btn.icon-only:focus-visible{outline:2px solid var(--accent);outline-offset:0;z-index:1}.history-seg{flex-shrink:0;box-sizing:border-box;height:34px;min-height:34px;padding:2px;gap:1px;border-radius:8px;align-items:center;background:color-mix(in srgb,var(--panel-2) 94%,var(--panel));border-color:color-mix(in srgb,var(--line) 92%,var(--ink));box-shadow:inset 0 1px 1px #0f172a0a}.history-seg .btn.seg-btn.icon-only{min-width:28px;width:28px;min-height:28px;height:28px;padding:0;box-sizing:border-box}.history-seg .btn.seg-btn[disabled],.history-seg .btn.seg-btn.icon-only:disabled{opacity:1;color:color-mix(in srgb,var(--muted) 42%,var(--panel-2));background:transparent;border-color:transparent;box-shadow:none;cursor:not-allowed;transform:none}.history-seg .btn.seg-btn[disabled]:hover,.history-seg .btn.seg-btn.icon-only:disabled:hover{background:transparent;color:color-mix(in srgb,var(--muted) 42%,var(--panel-2));box-shadow:none}.units-seg{flex-shrink:0}.units-seg .btn.seg-btn.units-btn:not(.icon-only){min-width:34px;min-height:28px;padding:4px 8px;font-weight:700;font-size:12.5px;letter-spacing:.01em;color:var(--muted);border-radius:5px}.units-seg .btn.seg-btn.units-btn:hover:not(.active){color:var(--ink);background:color-mix(in srgb,var(--panel) 72%,transparent)}.units-seg .btn.seg-btn.units-btn.active{background:var(--accent-fill);color:var(--on-accent);font-weight:750;box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent)}.units-seg .btn.seg-btn.units-btn.active:hover{background:var(--accent-fill-hover);color:var(--on-accent)}.tool-btn .ico{display:block;margin:0 auto}.side-new{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;font-weight:650;letter-spacing:-.01em;min-height:28px;padding:5px 9px;border-radius:var(--radius-sm)}.proj-action .ico{display:block;margin:0 auto;pointer-events:none}.overlays-btn,.floors-btn,.site-gear,.menu-wrap[data-tour=share]>.btn{min-height:34px;font-weight:600;letter-spacing:-.01em;gap:6px;border-radius:9px;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease)}.overlays-btn,.floors-btn,.menu-wrap[data-tour=share]>.btn{padding:5px 9px}.btn.icon-only.site-gear{width:34px;min-width:34px;min-height:34px;height:34px;padding:0;gap:0;justify-content:center;border-radius:9px;color:var(--ink);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-xs)}.btn.icon-only.site-gear .ico{display:block;flex-shrink:0}.btn.icon-only.site-gear:hover:not(:disabled){background:var(--panel-2);border-color:var(--line-strong);color:var(--ink)}.btn.icon-only.site-gear:active:not(:disabled){transform:translateY(.5px);box-shadow:none}.overlays-btn.has-on,.floors-btn.has-on,.site-gear.has-on,.btn.icon-only.site-gear.has-on,.menu-wrap[data-tour=share]>.btn[aria-expanded=true]{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent)}.overlays-btn:focus-visible,.floors-btn:focus-visible,.site-gear:focus-visible,.btn.icon-only.site-gear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.overlays-caret{display:inline-flex;align-items:center;opacity:.48;margin-left:-1px;flex-shrink:0;color:var(--muted);line-height:0}.overlays-btn.has-on .overlays-caret,.floors-btn.has-on .overlays-caret{opacity:.72;color:inherit}.overlays-caret .ico{display:block}.overlays-count{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;padding:0 4px;border-radius:var(--radius-pill);background:var(--accent-fill);color:var(--on-accent);font-size:9.5px;font-weight:700;letter-spacing:.01em;line-height:1;font-variant-numeric:tabular-nums;flex-shrink:0}.overlays-pop{right:auto;left:0;min-width:200px;padding:6px 6px 8px;gap:1px}.overlay-item{width:100%;display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px;box-sizing:border-box}.overlay-item>.ico{margin-top:0;flex-shrink:0;color:var(--muted);width:18px;display:inline-flex;justify-content:center;opacity:1}.overlay-item:hover>.ico,.overlay-item.on>.ico{color:var(--accent);opacity:1}.overlay-item .overlay-label{flex:1;min-width:0;text-align:left;font-size:var(--fs-md);font-weight:550;line-height:1.2;letter-spacing:-.01em}.overlay-item.on .overlay-label{font-weight:650}.overlay-item .overlay-check{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0;line-height:0}.overlay-item .overlay-check .ico{display:block}.overlay-item.on{color:var(--accent);background:var(--accent-soft)}.menu-sep{height:1px;flex-shrink:0;background:color-mix(in srgb,var(--line) 92%,var(--ink));margin:3px 8px;opacity:.9;border:0;align-self:stretch}.menu-group-label{font-size:var(--fs-2xs);font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);padding:5px 11px 1px;-webkit-user-select:none;user-select:none;pointer-events:none}.menu-group-label:first-child{padding-top:2px}.menu-sep+.menu-group-label{padding-top:2px}.menu-pop>.menu-item:first-child{padding-top:6px}.menu-pop>.menu-item:last-child{padding-bottom:6px}.overlay-elec-filters{display:flex;flex-wrap:wrap;align-items:center;gap:3px;padding:2px 4px 6px 38px}.overlay-chip{border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));background:color-mix(in srgb,var(--panel-2) 88%,var(--panel));color:var(--muted);border-radius:var(--radius-pill);padding:3px 9px;min-height:26px;font-size:var(--fs-xs);font-weight:600;letter-spacing:-.01em;line-height:1.15;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;box-shadow:var(--shadow-xs);transition:color .12s var(--ease),border-color .12s var(--ease),background .12s var(--ease),box-shadow .12s var(--ease)}.overlay-chip:hover{border-color:var(--input-focus-border);color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel))}.overlay-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.overlay-chip.on{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent)}.save-pill{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:5px 10px;border-radius:var(--radius-pill);flex-shrink:0;font-size:var(--fs-sm);font-weight:600;letter-spacing:-.01em;line-height:1;white-space:nowrap;color:var(--muted);background:color-mix(in srgb,var(--panel-2) 72%,var(--panel));border:1px solid var(--line);box-shadow:var(--shadow-xs);box-sizing:border-box;transition:color .14s var(--ease),border-color .14s var(--ease),background .14s var(--ease),box-shadow .14s var(--ease)}.save-pill.saving{color:#b87800;background:color-mix(in srgb,#f0a020 9%,var(--panel));border-color:color-mix(in srgb,#f0a020 30%,var(--line))}.save-pill.saved{color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,var(--panel));border-color:color-mix(in srgb,var(--ok) 26%,var(--line))}.save-pill.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--panel));border-color:color-mix(in srgb,var(--danger) 28%,var(--line))}.save-pill .led{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:color-mix(in srgb,var(--muted) 72%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 6%,transparent)}.save-pill.saving .led{background:#f0a020;box-shadow:0 0 0 1px color-mix(in srgb,#f0a020 28%,transparent),0 0 6px color-mix(in srgb,#f0a020 38%,transparent);animation:led-pulse 1s ease-in-out infinite}.save-pill.saved .led{background:var(--ok);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok) 22%,transparent),0 0 5px color-mix(in srgb,var(--ok) 32%,transparent)}.save-pill.error .led{background:var(--danger);box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 22%,transparent),0 0 5px color-mix(in srgb,var(--danger) 30%,transparent)}@keyframes led-pulse{0%,to{opacity:1}50%{opacity:.35}}.collab-presence{display:inline-flex;align-items:center;gap:0;margin-left:2px;padding:0 2px}.collab-avatar{width:22px;height:22px;border-radius:50%;color:#fff;font-size:var(--fs-xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--panel);margin-left:-6px;box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 8%,transparent);-webkit-user-select:none;user-select:none}.collab-avatar:first-child{margin-left:0}.collab-avatar.more{background:var(--panel-2);color:var(--muted);font-size:10px}.collab-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px color-mix(in srgb,var(--ok) 25%,transparent);margin-left:4px}.tabbar{display:flex;align-items:stretch;gap:1px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 92%,var(--bg)),color-mix(in srgb,var(--panel-2) 55%,var(--bg)));border-bottom:1px solid var(--line);padding:3px 5px 0;overflow-x:auto;min-height:32px;z-index:15;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabbar::-webkit-scrollbar{display:none}.tab{position:relative;display:inline-flex;align-items:center;gap:5px;padding:5px 5px 6px 9px;max-width:184px;min-width:68px;border:1px solid transparent;border-bottom:none;border-radius:7px 7px 0 0;font-size:var(--fs-sm);font-weight:500;letter-spacing:-.01em;color:var(--muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease),box-shadow .12s var(--ease)}.tab:hover{background:color-mix(in srgb,var(--ink) 3.5%,transparent);color:color-mix(in srgb,var(--ink) 88%,var(--muted))}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.tab.active{background:var(--panel);border-color:var(--line);color:var(--ink);font-weight:600;z-index:1;box-shadow:0 1px 0 var(--panel),0 -1px color-mix(in srgb,var(--line) 55%,transparent) inset}.tab.active:before{content:"";position:absolute;top:0;left:7px;right:7px;height:2px;border-radius:0 0 2px 2px;background:color-mix(in srgb,var(--accent) 72%,var(--ink));pointer-events:none}.tab-name{overflow:hidden;text-overflow:ellipsis;max-width:128px;flex:1 1 auto;min-width:0;line-height:1.2}.tab-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);flex:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 6%,transparent);transition:background .15s ease,box-shadow .15s ease,opacity .12s ease}.tab:not(.active) .tab-dot{opacity:.72}.tab-dot.saving{background:#f0a020;box-shadow:0 0 0 1px color-mix(in srgb,#f0a020 28%,transparent);animation:led-pulse 1s ease-in-out infinite}.tab-dot.error{background:var(--danger);box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 22%,transparent)}.tab-dot.idle{background:color-mix(in srgb,var(--muted) 70%,var(--line));box-shadow:none}.tab-dot.saved{background:var(--ok)}.tab-close{border:none;background:transparent;color:var(--muted);font-size:var(--fs-md);line-height:1;cursor:pointer;border-radius:5px;padding:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;pointer-events:none;transition:background .1s var(--ease),color .1s var(--ease),opacity .1s var(--ease)}.tab:hover .tab-close,.tab:focus-within .tab-close,.tab.active .tab-close{opacity:1;pointer-events:auto}.tab-close:hover{background:color-mix(in srgb,var(--ink) 9%,transparent);color:var(--ink)}.tab-close:active{background:color-mix(in srgb,var(--ink) 14%,transparent)}.tab-close:focus-visible{outline:2px solid var(--accent);outline-offset:0;opacity:1;pointer-events:auto}.tab-new{border:1px solid transparent;background:transparent;color:var(--muted);font-size:var(--fs-lg);cursor:pointer;padding:0;width:26px;height:26px;margin:0 1px 0 3px;align-self:center;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease),box-shadow .12s var(--ease)}.tab-new:hover{background:color-mix(in srgb,var(--panel) 88%,var(--ink));border-color:color-mix(in srgb,var(--line) 90%,var(--line-strong));color:var(--ink);box-shadow:var(--shadow-xs)}.tab-new:active{background:color-mix(in srgb,var(--ink) 5%,var(--panel))}.tab-new:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (max-width: 820px){.tab{min-height:36px;min-width:64px;padding:7px 6px 7px 9px;gap:5px}.tab-close{width:26px;height:26px;opacity:1;pointer-events:auto}.tab-new{width:32px;height:32px;margin-bottom:2px}}.sidebar{width:var(--leftw, 200px);background:color-mix(in srgb,var(--panel) 97%,var(--panel-2));border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10;min-height:0;box-shadow:1px 0 color-mix(in srgb,var(--line) 40%,transparent)}.sidebar.collapsed{width:40px;align-items:center;padding-top:8px}.side-head{display:flex;align-items:center;justify-content:space-between;padding:5px 5px 5px 10px;font-size:var(--fs-2xs);font-weight:750;line-height:1.25;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);border-bottom:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 72%,var(--panel)),color-mix(in srgb,var(--panel-2) 38%,var(--panel)));box-shadow:0 1px #ffffff80 inset;flex-shrink:0}.side-toggle{border:none;background:transparent;cursor:pointer;color:var(--muted);font-size:14px;border-radius:var(--radius-sm);padding:0;width:24px;height:24px;min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s var(--ease),color .12s var(--ease)}.side-toggle:hover{background:var(--accent-soft, var(--panel-2));color:var(--accent, var(--ink))}.side-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.side-new{margin:8px 8px 0;align-self:stretch;justify-content:center;background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent);box-shadow:0 1px color-mix(in srgb,var(--panel) 42%,transparent) inset,0 1px 3px color-mix(in srgb,var(--accent) 28%,transparent);transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease),transform .1s var(--ease)}.side-new:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover);color:var(--on-accent);box-shadow:0 1px color-mix(in srgb,var(--panel) 32%,transparent) inset,0 2px 8px color-mix(in srgb,var(--accent) 28%,transparent)}.side-new:active{transform:translateY(.5px);box-shadow:0 1px color-mix(in srgb,var(--panel) 18%,transparent) inset,0 1px 2px color-mix(in srgb,var(--accent) 22%,transparent)}.side-search{display:flex;align-items:center;gap:5px;margin:5px 8px;padding:0 8px;min-height:28px;border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel) 96%,var(--panel-2));color:var(--muted);box-shadow:inset 0 1px 1px color-mix(in srgb,var(--ink) 3.5%,transparent),0 1px #fff6 inset,var(--shadow-xs);transition:border-color .14s var(--ease),box-shadow .14s var(--ease),background .14s var(--ease);flex-shrink:0}.side-search:hover{border-color:var(--line-strong)}.side-search:focus-within{border-color:var(--input-focus-border);box-shadow:var(--input-focus-ring);color:var(--ink);background:var(--panel)}.side-search .ico{flex-shrink:0;opacity:.8}.side-search input{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:12.5px;letter-spacing:-.01em;color:var(--ink);outline:none;padding:5px 0}.side-search input::placeholder{color:color-mix(in srgb,var(--muted) 88%,transparent);letter-spacing:-.005em}.side-search-clear{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:0;width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s var(--ease),color .12s var(--ease)}.side-search-clear:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.side-search-clear:focus-visible{outline:2px solid var(--accent);outline-offset:0}.side-scroll{flex:1;overflow-y:auto;padding:2px 6px 12px}.side-group{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.055em;line-height:1.25;color:color-mix(in srgb,var(--muted) 88%,var(--ink));margin:10px 6px 2px;padding:0 1px}.proj-row{display:flex;align-items:center;gap:4px;padding:4px 6px 4px 7px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;cursor:pointer;font-size:12.5px;letter-spacing:-.01em;color:var(--ink);min-height:28px;margin:1px 0;position:relative;transition:background .14s var(--ease),border-color .14s var(--ease),box-shadow .14s var(--ease),color .14s var(--ease)}.proj-row:hover{background:var(--panel-2);border-color:color-mix(in srgb,var(--line) 90%,transparent);box-shadow:var(--shadow-xs)}.proj-row.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 22%,var(--line));color:var(--accent);font-weight:600;box-shadow:inset 3px 0 0 var(--accent),var(--shadow-xs)}.proj-row.active:hover{background:color-mix(in srgb,var(--accent-soft) 82%,var(--panel));border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.proj-row:focus-visible{outline:2px solid var(--accent);outline-offset:0}.proj-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.25}.proj-badge{font-size:9.5px;font-weight:650;letter-spacing:.015em;line-height:1.2;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 75%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);border-radius:var(--radius-pill);padding:1px 5px;flex-shrink:0}.proj-action{border:1px solid transparent;background:transparent;cursor:pointer;opacity:0;pointer-events:none;font-size:var(--fs-xs);border-radius:var(--radius-sm);padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0;transition:opacity .14s var(--ease),background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease),box-shadow .12s var(--ease)}.proj-row:hover .proj-action,.proj-row:focus-within .proj-action{opacity:1;pointer-events:auto}.proj-action:hover{background:var(--panel);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow-xs)}.proj-action.danger:hover{background:color-mix(in srgb,var(--danger) 10%,var(--panel));border-color:color-mix(in srgb,var(--danger) 28%,var(--line));color:var(--danger);box-shadow:none}.proj-action:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--accent);outline-offset:0}.help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#0f172a 42%,transparent);backdrop-filter:blur(8px) saturate(1.15);-webkit-backdrop-filter:blur(8px) saturate(1.15);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));animation:dlg-scrim-in .16s var(--ease);box-sizing:border-box}.help-backdrop.wiz-backdrop{padding-left:max(12px,env(safe-area-inset-left),var(--wiz-inset-left, 0px));padding-right:max(12px,env(safe-area-inset-right),var(--wiz-inset-right, 0px))}@media (max-width: 820px){.help-backdrop.wiz-backdrop{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}.app:has(.help-backdrop) .left-rail,.app:has(.help-backdrop) .canvas-fabs,.app:has(.help-backdrop) .zoom-controls,.app:has(.help-backdrop) .side-expander,.app:has(.help-backdrop) .panel-expander,.app:has(.help-backdrop) .hint,.app:has(.help-backdrop) .scale-bar,.app:has(.help-backdrop) .north-arrow,.app:has(.help-backdrop) .sel-toolbar,.app:has(.help-backdrop) .fb-root{visibility:hidden!important;pointer-events:none!important}.help-modal{background:color-mix(in srgb,var(--panel) 97%,transparent);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);border-radius:var(--radius-lg);box-shadow:0 1px #ffffff8c inset,var(--shadow-lg);width:min(720px,92vw);max-height:min(86vh,100%);overflow-y:auto;padding:0;border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));color:var(--ink);-webkit-font-smoothing:antialiased;animation:dlg-modal-in .18s var(--ease)}@media (max-width: 520px){.help-modal{width:100%;max-height:100%;border-radius:12px}}.help-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px;font-weight:750;font-size:14.5px;letter-spacing:-.02em;border-bottom:1px solid color-mix(in srgb,var(--line) 85%,transparent);flex-wrap:wrap}.help-modal .help-head{padding:16px 18px 14px;font-weight:700;font-size:var(--fs-lg);flex-shrink:0;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 70%,transparent),transparent)}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 28px;padding:10px 18px 18px}@media (max-width: 640px){.help-grid{grid-template-columns:1fr;gap:2px}.help-row kbd{min-width:68px;font-size:var(--fs-2xs)}}.help-group{min-width:0}.help-group-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:12px 0 7px;padding-bottom:5px;border-bottom:1px solid color-mix(in srgb,var(--line) 88%,transparent)}.help-group:first-child .help-group-title{margin-top:6px}.help-row{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;padding:4px 0;line-height:1.4}.help-row kbd{flex:none;min-width:78px;text-align:center;font:600 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-bottom-width:2px;border-radius:var(--radius-sm);padding:1px 6px;box-shadow:var(--shadow-xs);letter-spacing:0;white-space:nowrap}.help-row span{color:var(--muted);padding-top:1px;letter-spacing:-.005em;font-weight:450}[data-theme=dark] .help-modal{background:color-mix(in srgb,var(--panel) 96%,transparent);border-color:color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 1px #ffffff0a inset,var(--shadow-lg)}[data-theme=dark] .help-modal .help-head{border-bottom-color:color-mix(in srgb,var(--line) 80%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 35%,transparent),transparent)}[data-theme=dark] .help-row kbd{background:color-mix(in srgb,var(--panel-2) 80%,var(--panel));border-color:var(--line);box-shadow:0 1px #00000040}.v3d-seg{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:4px;margin:4px 0;padding:3px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel-2) 70%,transparent);border:1px solid color-mix(in srgb,var(--line) 88%,transparent)}.v3d-seg .seg-btn{padding:6px 0;font-size:var(--fs-xs);font-weight:650;letter-spacing:-.01em;text-transform:capitalize;min-height:30px;border-radius:6px;transition:background .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease)}.roof-colors{display:flex;gap:4px;margin:4px 0}.roof-swatch{width:24px;height:24px;border-radius:var(--radius-sm);border:2px solid var(--panel);box-shadow:0 0 0 1px var(--line),var(--shadow-xs);cursor:pointer;padding:0;flex-shrink:0;transition:transform .12s var(--ease),box-shadow .12s var(--ease)}.roof-swatch:hover{transform:scale(1.08)}.roof-swatch.sel{box-shadow:0 0 0 2px var(--accent),var(--shadow-xs)}.roof-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.v3d-roof-remove{color:var(--danger, #d9534f);width:100%;margin-top:2px;border-radius:var(--radius-sm)}.north-arrow{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:40px;height:40px;background:var(--panel-glass);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));border-radius:var(--radius);box-shadow:0 1px #ffffff8c inset,var(--shadow-float);display:grid;place-items:center;pointer-events:none;z-index:4}.north-needle{fill:var(--ink)}.north-ring{stroke:var(--line)}.north-label{fill:var(--ink)}.scale-bar{position:absolute;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));background:var(--panel-glass);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));border-radius:var(--radius);box-shadow:0 1px #ffffff8c inset,var(--shadow-float);padding:6px 10px 5px;text-align:center;pointer-events:none;z-index:4}.scale-bar-line{height:6px;border:1.6px solid var(--ink);border-top:none;opacity:.75}.scale-bar-label{font-size:var(--fs-2xs);font-weight:650;color:color-mix(in srgb,var(--ink) 92%,var(--muted));margin-top:3px;letter-spacing:-.01em;line-height:1.2;font-variant-numeric:tabular-nums}.stair-builder{border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));border-radius:var(--radius);padding:10px 11px 9px;margin-bottom:10px;background:color-mix(in srgb,var(--panel-2) 58%,var(--panel));box-shadow:inset 0 1px color-mix(in srgb,var(--ink) 2.5%,transparent),var(--shadow-xs);min-width:0}.stair-builder .mini-label{display:block;font-size:10px;font-weight:700;color:color-mix(in srgb,var(--muted) 84%,var(--ink));text-transform:uppercase;letter-spacing:.055em;line-height:1.25;margin:8px 0 5px}.stair-builder .mini-label:first-child{margin-top:0}.stair-builder .seg-btn{text-transform:capitalize;font-size:11.5px;font-weight:600;letter-spacing:-.01em;line-height:1.2;min-height:28px;padding:4px 7px;justify-content:center}.stair-builder .seg-btn.active{font-weight:650}.stair-builder .field{margin-bottom:8px}.stair-builder .row2>.field{margin-bottom:8px}.stair-builder .kind-grid{gap:4px}.v3d-walk-btn{position:absolute;top:58px;right:14px;z-index:5;border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));background:var(--panel-glass);color:var(--ink);font-size:var(--fs-sm);font-weight:650;letter-spacing:-.01em;line-height:1.25;padding:6px 11px;border-radius:var(--radius);cursor:pointer;box-shadow:0 1px #ffffff8c inset,var(--shadow-float);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);display:inline-flex;align-items:center;gap:5px;font-family:inherit;min-height:34px;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .12s var(--ease)}.v3d-measure-btn{top:96px}.v3d-measure-btn.on{border-color:var(--input-focus-border);color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 65%,var(--panel-glass))}.v3d-walk-btn:hover{background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel-glass));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent);box-shadow:0 1px #ffffff73 inset,var(--shadow-lg);transform:translateY(-1px)}.v3d-walk-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.v3d-walk-hint{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:5;background:color-mix(in srgb,#161a1f 88%,transparent);color:#fff;font-size:var(--fs-xs);font-weight:550;letter-spacing:-.015em;line-height:1.3;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.07);box-shadow:var(--shadow-float);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);white-space:nowrap;max-width:min(560px,calc(100% - 24px));overflow:hidden;text-overflow:ellipsis}.v3d-edit-toolbar{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;background:var(--panel-glass);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));border-radius:var(--radius);padding:3px 4px;box-shadow:var(--shadow-float);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);z-index:5;max-width:calc(100% - 24px);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.v3d-edit-toolbar::-webkit-scrollbar{display:none}.v3d-edit-toolbar button{border:none;background:transparent;font-size:var(--fs-sm);font-weight:650;letter-spacing:-.01em;color:var(--ink);padding:5px 8px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:inherit;min-height:32px;display:inline-flex;align-items:center;gap:3px;transition:background .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease)}.v3d-edit-toolbar button:hover{background:var(--panel-2)}.v3d-edit-toolbar button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.v3d-edit-toolbar button.active{background:var(--accent-fill);color:var(--on-accent);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent),var(--shadow-xs)}.v3d-edit-toolbar button.danger{color:var(--danger)}.v3d-edit-toolbar button.danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.v3d-edit-toolbar .v3d-sep{width:1px;height:16px;background:color-mix(in srgb,var(--line) 90%,var(--ink));margin:0 2px;flex-shrink:0;opacity:.9}.v3d-edit-toolbar .v3d-chip{font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;padding:4px 8px;border-radius:6px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);flex-shrink:0;-webkit-user-select:none;user-select:none}@media (max-width: 820px){.v3d-walk-hint{white-space:normal;text-align:center;line-height:1.35;font-size:var(--fs-xs);padding:6px 11px;border-radius:var(--radius)}.v3d-edit-toolbar{top:auto;bottom:max(10px,env(safe-area-inset-bottom));padding:4px 5px}.v3d-edit-toolbar button{min-height:34px;padding:5px 9px}.v3d-walk-btn{top:auto;bottom:max(56px,calc(env(safe-area-inset-bottom) + 52px));right:12px}.v3d-measure-btn{top:auto;bottom:max(96px,calc(env(safe-area-inset-bottom) + 92px));right:12px}}.label3d{background:#ffffffe6;border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-size:var(--fs-sm);font-weight:600;color:var(--ink);white-space:nowrap;pointer-events:none;box-shadow:0 1px 4px #0000002e;-webkit-user-select:none;user-select:none}.label3d.room{font-size:var(--fs-md);background:#2f7df6eb;color:#fff;border-color:transparent}.label3d.void{font-size:var(--fs-xs);font-weight:500;font-style:italic;background:#f6f2ead1;color:#6b6255;box-shadow:none}.stair-info{font-size:var(--fs-xs);font-weight:500;letter-spacing:-.005em;color:color-mix(in srgb,var(--muted) 92%,var(--ink));margin-top:6px;line-height:1.4;padding:6px 8px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel) 88%,var(--panel-2));border:1px solid color-mix(in srgb,var(--line) 90%,transparent);box-shadow:var(--shadow-xs)}.stair-info.warn{color:color-mix(in srgb,#b87800 90%,var(--ink));background:color-mix(in srgb,#f0a000 12%,var(--panel));border-color:color-mix(in srgb,#f0a000 32%,var(--line));box-shadow:none}.elev-modal{width:min(1100px,94vw);max-height:90vh;overflow:auto;color:var(--ink);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));background:color-mix(in srgb,var(--panel) 97%,transparent);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0a inset;padding-bottom:0;animation:dlg-modal-in .18s var(--ease);-webkit-font-smoothing:antialiased}.elev-modal .help-head{padding:10px 14px 9px;gap:8px;font-size:14px;font-weight:700;line-height:1.25;letter-spacing:-.022em;border-bottom-color:color-mix(in srgb,var(--line) 85%,transparent);flex-shrink:0;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 70%,transparent),transparent)}.elev-img{display:block;box-sizing:border-box;width:calc(100% - 28px);height:auto;margin:14px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--line) 90%,var(--ink));background:var(--panel-2);box-shadow:var(--shadow-xs)}@media (max-width: 520px){.elev-modal{width:100%;max-height:min(94vh,100%);border-radius:12px}.elev-img{width:calc(100% - 20px);margin:10px}}.empty-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);text-align:center;overflow-y:auto;padding:32px 20px 36px;background:radial-gradient(ellipse 72% 48% at 50% 36%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 68%),radial-gradient(ellipse 48% 34% at 50% 78%,color-mix(in srgb,var(--accent) 2.5%,transparent),transparent 58%),var(--canvas-bg, var(--bg));-webkit-overflow-scrolling:touch;-webkit-font-smoothing:antialiased;font-feature-settings:"cv02","cv03","cv04","cv11"}.empty-canvas-title{margin:0;font-size:clamp(21px,4vw,26px);font-weight:750;color:var(--ink);letter-spacing:-.032em;line-height:1.12}.empty-canvas-lead{margin:0;max-width:420px;font-size:14.5px;line-height:1.55;font-weight:450;color:var(--muted);letter-spacing:-.01em;opacity:.96}.body{flex:1;display:flex;min-height:0;position:relative}.left-rail{width:var(--rail-w, 48px);background:color-mix(in srgb,var(--panel) 96%,var(--panel-2));border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 8px;z-index:10;flex-shrink:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;box-shadow:1px 0 color-mix(in srgb,var(--line) 40%,transparent)}.left-rail::-webkit-scrollbar{display:none}.tool-btn{width:34px;height:34px;border-radius:9px;border:1px solid transparent;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--muted);padding:0;flex-shrink:0;transition:background .14s var(--ease),color .14s var(--ease),border-color .14s var(--ease),box-shadow .14s var(--ease),transform .1s var(--ease)}.tool-btn:hover{background:var(--panel-2);color:var(--ink)}.tool-btn:active{transform:scale(.96)}.tool-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tool-btn.active{background:var(--accent-fill);color:var(--on-accent);border-color:transparent;box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 40%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.tool-btn.active:hover{background:var(--accent-fill-hover);color:var(--on-accent)}.tool-btn[data-tip]{position:relative}.tool-btn[data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%) translate(-2px);padding:5px 9px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 84%,transparent);color:#fff;font-size:var(--fs-sm);font-weight:550;letter-spacing:-.01em;line-height:1.25;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .08s var(--ease),transform .08s var(--ease),visibility .08s;box-shadow:var(--shadow-float);z-index:50;max-width:240px;overflow:hidden;text-overflow:ellipsis}.tool-btn[data-tip]:before{content:"";position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:color-mix(in srgb,var(--ink) 84%,transparent);opacity:0;visibility:hidden;transition:opacity .08s var(--ease),visibility .08s;pointer-events:none;z-index:50}@media (hover: hover) and (pointer: fine){.tool-btn[data-tip]:hover:after,.tool-btn[data-tip]:hover:before,.tool-btn[data-tip]:focus-visible:after,.tool-btn[data-tip]:focus-visible:before{opacity:1;visibility:visible}.tool-btn[data-tip]:hover:after,.tool-btn[data-tip]:focus-visible:after{transform:translateY(-50%) translate(0)}}@media (max-width: 820px){.tool-btn[data-tip]:after,.tool-btn[data-tip]:before{display:none}}.tool-sep{width:14px;height:1px;background:color-mix(in srgb,var(--line) 78%,var(--ink));margin:3px 0 2px;opacity:.62;flex-shrink:0;border-radius:1px}.canvas-wrap{flex:1;position:relative;min-width:0;background:radial-gradient(1000px 520px at 50% -8%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 55%),radial-gradient(800px 400px at 100% 100%,color-mix(in srgb,var(--accent) 2.5%,transparent),transparent 50%),var(--canvas-bg, #f7f9fc);overflow:hidden}.konva-host{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.viewer-shell .konva-host{touch-action:none;overscroll-behavior:none}.hint{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:color-mix(in srgb,var(--ink) 90%,transparent);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);color:#fff;font-size:var(--fs-xs);font-weight:550;letter-spacing:-.015em;padding:6px 12px;border-radius:var(--radius-pill);pointer-events:none;z-index:5;max-width:min(480px,calc(100% - 24px));text-align:center;line-height:1.3;box-shadow:var(--shadow-float);border:1px solid rgba(255,255,255,.07)}.zoom-controls{position:absolute;bottom:max(64px,calc(env(safe-area-inset-bottom) + 52px));right:max(14px,env(safe-area-inset-right));display:flex;flex-direction:column;gap:2px;z-index:5;padding:4px;border-radius:12px;background:var(--panel-glass);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));box-shadow:var(--shadow-float)}.zoom-controls .btn,.zoom-controls .btn.icon-only{width:34px;height:34px;min-width:34px;min-height:34px;justify-content:center;box-shadow:none;padding:0;background:transparent;border-color:transparent;border-radius:8px;color:var(--ink)}.zoom-controls .btn:hover{background:color-mix(in srgb,var(--panel-2) 88%,var(--panel-glass));border-color:transparent;color:var(--ink)}.zoom-controls .btn:active{background:color-mix(in srgb,var(--ink) 6%,var(--panel-2));transform:none}.zoom-controls .btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.zoom-controls .btn .ico{display:block}.right-panel{width:var(--rightw, 280px);background:color-mix(in srgb,var(--panel) 98%,var(--panel-2));border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:10;flex-shrink:0;min-height:0;box-shadow:-1px 0 color-mix(in srgb,var(--line) 40%,transparent)}.panel-tabs{display:flex;align-items:flex-end;gap:2px;padding:4px 4px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 96%,var(--panel)),color-mix(in srgb,var(--panel-2) 48%,var(--panel)));flex-shrink:0;box-shadow:0 1px color-mix(in srgb,var(--ink) 2.5%,transparent)}.panel-tab{flex:1;padding:6px 7px;text-align:center;font-size:var(--fs-sm);font-weight:650;letter-spacing:-.01em;line-height:1.2;color:color-mix(in srgb,var(--muted) 92%,var(--ink));cursor:pointer;border:none;border-bottom:2px solid transparent;border-radius:7px 7px 0 0;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:inherit;min-height:32px;margin-bottom:-1px;touch-action:manipulation;transition:color .12s var(--ease),background .12s var(--ease),border-color .12s var(--ease),box-shadow .12s var(--ease)}.panel-tab:hover{color:color-mix(in srgb,var(--ink) 88%,var(--muted));background:color-mix(in srgb,var(--ink) 3.5%,transparent)}.panel-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:color-mix(in srgb,var(--panel) 94%,var(--accent-soft));font-weight:700;box-shadow:0 1px color-mix(in srgb,var(--panel) 94%,var(--accent-soft)),0 -1px color-mix(in srgb,var(--line) 45%,transparent) inset}.panel-tab.active:hover{color:var(--accent);background:color-mix(in srgb,var(--panel) 90%,var(--accent-soft))}.panel-scroll{flex:1;overflow-y:auto;padding:12px 12px 16px;-webkit-overflow-scrolling:touch}.materials-panel{display:flex;flex-direction:column;gap:12px}.materials-lead{margin:0 0 4px;font-size:var(--fs-sm);line-height:1.4}.materials-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.materials-stat{border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:var(--radius);padding:8px 10px;background:color-mix(in srgb,var(--panel-2) 92%,var(--panel))}.materials-stat-price-wrap{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px}.materials-stat-labour{font-size:var(--fs-sm);padding-inline-start:2px}.roof-grand-parts{display:block;margin-top:2px;font-size:11.5px;font-weight:400;color:var(--muted)}button.materials-stat.materials-stat-price{grid-column:1 / -1;text-align:start;font:inherit;cursor:pointer;border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent-soft) 60%,var(--panel))}.materials-stat-note{display:block;margin-top:2px;font-size:var(--fs-2xs);color:var(--muted)}.materials-stat-val{display:block;font-size:14px;font-weight:750;letter-spacing:-.02em;color:var(--ink)}.materials-stat-lab{display:block;margin-top:2px;font-size:var(--fs-2xs);font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.materials-fold{align-self:flex-start;font-size:var(--fs-sm)}.materials-section{display:flex;flex-direction:column;gap:6px}.materials-table{width:100%;border-collapse:collapse;font-size:11.5px}.materials-table th,.materials-table td{text-align:left;padding:4px;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);vertical-align:top}.materials-table th{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.materials-table tfoot td{font-weight:700;border-bottom:none;padding-top:6px}.materials-notes{margin:0;padding-left:16px;font-size:var(--fs-xs);line-height:1.4;color:var(--muted)}.materials-notes li{margin-bottom:4px}.materials-panel{min-width:0}.materials-panel .pp-sec-body{display:flex;flex-direction:column;gap:12px;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.materials-panel .pp-sec-body .mini-label{font-size:var(--fs-sm);font-weight:650;color:var(--muted);letter-spacing:.01em}.materials-panel .row2.materials-quick-export{grid-template-columns:1fr 1fr;margin-top:-2px}.roof-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:0 0 10px;padding:8px 10px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--panel-2) 90%,var(--panel));font-size:11.5px;line-height:1.35;color:var(--ink)}.roof-summary strong{font-weight:700;color:var(--muted);margin-right:4px;font-size:10px;text-transform:uppercase;letter-spacing:.03em}.v3d-pitch-presets{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 8px}.v3d-pitch-presets .seg-btn{flex:1 1 auto;min-width:0;padding:4px 6px;font-size:var(--fs-xs)}.v3d-ridge-row{display:flex;gap:6px;margin:0 0 8px}.v3d-ridge-row .seg-btn{flex:1}.panel-scroll .empty-note:not(.left):not(.cat-tip){padding:10px 6px;font-size:var(--fs-sm);line-height:1.4;letter-spacing:-.005em;color:color-mix(in srgb,var(--muted) 94%,var(--ink))}.field{margin-bottom:8px}.field label{display:block;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;color:color-mix(in srgb,var(--muted) 88%,var(--ink));margin-bottom:4px;line-height:1.25}.field input[type=text],.field input[type=number],.field select{width:100%;padding:5px 9px;border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));border-radius:var(--radius-sm);font-size:12.5px;line-height:1.25;letter-spacing:-.01em;color:var(--ink);background:var(--panel);font-family:inherit;transition:border-color .12s var(--ease),box-shadow .12s var(--ease),background .12s var(--ease);min-height:28px;box-sizing:border-box;box-shadow:var(--shadow-xs)}.field input:focus,.field select:focus{outline:none;border-color:var(--input-focus-border);background:var(--panel);box-shadow:var(--input-focus-ring)}.field input:hover:not(:focus):not(:disabled),.field select:hover:not(:focus):not(:disabled){border-color:color-mix(in srgb,var(--line-strong) 82%,var(--ink));background:color-mix(in srgb,var(--panel-2) 72%,var(--panel))}.row2{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-width:0;align-items:start}.row2>.field{min-width:0;margin-bottom:8px}.row2>.field.m-0{margin-bottom:0}.unit-seg{width:100%;box-sizing:border-box;padding:2px;gap:2px;border-color:color-mix(in srgb,var(--line) 90%,var(--ink));background:color-mix(in srgb,var(--panel-2) 86%,var(--panel));box-shadow:inset 0 1px 1px color-mix(in srgb,var(--ink) 3.5%,transparent)}.unit-seg .seg-btn{flex:1;min-width:0;padding:5px 3px;font-size:11.5px;font-weight:600;letter-spacing:-.01em;line-height:1.2;min-height:28px;justify-content:center;border-radius:5px}.unit-seg .seg-btn.active{font-weight:650}.swatches{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.anchor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:96px;padding:4px;box-sizing:border-box;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));background:color-mix(in srgb,var(--panel-2) 94%,var(--panel));box-shadow:inset 0 1px 1px #0f172a08,var(--shadow-xs)}.anchor-cell{aspect-ratio:1 / 1;min-width:0;min-height:0;border:1px solid transparent;background:transparent;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;color:inherit;line-height:0;transition:border-color .12s var(--ease),background .12s var(--ease),box-shadow .12s var(--ease)}.anchor-cell:hover:not(.active){background:color-mix(in srgb,var(--panel) 92%,var(--panel-2));border-color:color-mix(in srgb,var(--line-strong) 78%,transparent);box-shadow:var(--shadow-xs)}.anchor-cell:focus-visible{outline:2px solid var(--accent);outline-offset:1px;z-index:1}.anchor-cell span{width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--muted) 78%,var(--ink));pointer-events:none;transition:background .12s var(--ease),transform .12s var(--ease)}.anchor-cell:hover:not(.active) span{background:color-mix(in srgb,var(--ink) 52%,var(--muted))}.anchor-cell.active{background:var(--accent-fill);border-color:var(--accent-fill);box-shadow:0 1px 2px #2563eb47}.anchor-cell.active:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover)}.anchor-cell.active span{background:#fff;transform:scale(1.08)}.swatch{width:24px;height:24px;border-radius:var(--radius-sm);border:2px solid var(--panel);box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 94%,var(--ink)),var(--shadow-xs);cursor:pointer;transition:box-shadow .12s var(--ease),transform .1s var(--ease);flex-shrink:0;padding:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;display:inline-block;vertical-align:middle}button.swatch{box-sizing:border-box}.swatch:hover{transform:scale(1.08);box-shadow:0 0 0 1px color-mix(in srgb,var(--line-strong) 90%,var(--ink)),var(--shadow-xs)}.swatch.active{box-shadow:0 0 0 2px var(--accent),0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prop-full.mb-md-off,.prop-full.mb-lg{margin-bottom:12px}.empty-note{color:color-mix(in srgb,var(--muted) 96%,var(--ink));font-size:var(--fs-sm);text-align:center;padding:16px 8px;line-height:1.4;letter-spacing:-.005em}.ai-chat{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--panel)}.ai-messages{flex:1;overflow-y:auto;padding:12px 11px 14px;display:flex;flex-direction:column;gap:9px;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.ai-empty{color:color-mix(in srgb,var(--muted) 94%,var(--ink));font-size:var(--fs-sm);line-height:1.35;letter-spacing:-.01em;padding:0;font-weight:450}.ai-empty>p{margin:0 0 1px}.ai-empty-title{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:650;letter-spacing:-.018em;color:var(--ink);margin-bottom:2px;line-height:1.2}.ai-empty-title .ico{color:var(--accent);flex-shrink:0;opacity:.95}.ai-credit-note{margin:6px 0 0;font-size:var(--fs-xs);font-weight:500;line-height:1.3;color:color-mix(in srgb,var(--muted) 92%,var(--ink));display:flex;flex-wrap:wrap;align-items:center;gap:2px;letter-spacing:-.01em}.ai-credit-note .ico{color:var(--accent);vertical-align:-1px;opacity:.88}.ai-chip{display:flex;align-items:center;gap:6px;width:100%;text-align:left;margin-top:4px;padding:5px 10px;border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));border-radius:var(--radius-pill);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 55%,var(--panel-2)),var(--panel-2));color:var(--ink);font-size:12.5px;font-weight:500;font-family:inherit;letter-spacing:-.01em;cursor:pointer;min-height:28px;line-height:1.35;box-shadow:0 1px #ffffff8c inset,var(--shadow-xs);transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .1s var(--ease)}.ai-chip .ico{flex-shrink:0;color:var(--accent);opacity:.9}.ai-chip:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 70%,var(--panel)),var(--accent-soft));color:var(--accent);box-shadow:0 1px #ffffff80 inset,var(--shadow-xs)}.ai-chip:active{transform:translateY(.5px);box-shadow:var(--shadow-xs)}.ai-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-chip:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.ai-msg{max-width:88%;padding:8px 11px;border-radius:var(--radius-lg);font-size:12.5px;line-height:1.4;letter-spacing:-.01em;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px #ffffff73 inset,var(--shadow-xs)}.ai-msg.user{align-self:flex-end;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,var(--accent)),var(--accent));color:#fff;border:1px solid color-mix(in srgb,var(--accent) 70%,transparent);border-bottom-right-radius:5px;box-shadow:0 1px #ffffff38 inset,0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent),0 4px 12px #0f172a1f}.ai-msg.assistant{align-self:flex-start;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--panel-2)),color-mix(in srgb,var(--panel) 90%,var(--panel-2)));border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));color:var(--ink);border-bottom-left-radius:5px;box-shadow:0 1px #ffffff80 inset,var(--shadow-xs)}.ai-msg.error{background:color-mix(in srgb,var(--danger) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--danger) 28%,var(--line));color:var(--danger);box-shadow:none}.ai-msg.thinking{display:inline-flex;gap:5px;align-items:center;background:color-mix(in srgb,var(--panel-2) 88%,var(--panel));border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));color:var(--muted);box-shadow:none}.ai-dot{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:aiblink 1.2s infinite var(--ease)}.ai-dot:nth-child(2){animation-delay:.2s}.ai-dot:nth-child(3){animation-delay:.4s}@keyframes aiblink{0%,80%,to{opacity:.22;transform:scale(.92)}40%{opacity:1;transform:scale(1)}}.ai-input{border-top:1px solid color-mix(in srgb,var(--line) 90%,transparent);padding:8px 10px 10px;display:flex;gap:6px;align-items:flex-end;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 70%,var(--panel-2)),color-mix(in srgb,var(--panel) 92%,var(--panel-2)));flex-shrink:0;box-shadow:0 -1px color-mix(in srgb,var(--line) 55%,transparent),0 -10px 28px color-mix(in srgb,var(--ink) 4%,transparent);position:relative;z-index:1}.ai-input textarea{flex:1;resize:none;border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));border-radius:var(--radius-sm);padding:5px 9px;font-size:12.5px;min-height:28px;max-height:120px;background:color-mix(in srgb,var(--panel) 96%,var(--panel-2));line-height:1.35;letter-spacing:-.01em;font-family:inherit;color:var(--ink);box-shadow:inset 0 1px 1px color-mix(in srgb,var(--ink) 3.5%,transparent),0 1px #fff6 inset,var(--shadow-xs);transition:border-color .14s var(--ease),box-shadow .14s var(--ease),background .14s var(--ease)}.ai-input textarea::placeholder{color:color-mix(in srgb,var(--muted) 85%,transparent)}.ai-input textarea:hover:not(:disabled):not(:focus){border-color:var(--line-strong)}.ai-input textarea:focus{outline:none;border-color:var(--input-focus-border);background:var(--panel);box-shadow:var(--input-focus-ring)}.ai-input textarea:disabled{opacity:.65;cursor:default}.ai-send{white-space:nowrap;display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:5px 9px;flex-shrink:0;border-radius:var(--radius-sm);letter-spacing:-.01em;font-size:12.5px;font-weight:600;line-height:1.25}.ai-send.btn.active{box-shadow:0 1px #ffffff38 inset,0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent)}.ai-send.btn.active:hover:not(:disabled){box-shadow:0 1px #ffffff2e inset,0 1px 3px color-mix(in srgb,var(--accent) 32%,transparent)}.ai-send.btn.active:disabled,.ai-send.btn[disabled]{box-shadow:none}.ai-attach{border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));background:color-mix(in srgb,var(--panel) 96%,var(--panel-2));border-radius:var(--radius-sm);width:28px;height:28px;min-width:28px;min-height:28px;cursor:pointer;font-size:14px;align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);padding:0;flex-shrink:0;box-shadow:0 1px #ffffff73 inset,var(--shadow-xs);transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease)}.ai-attach:hover:not(:disabled){background:color-mix(in srgb,var(--accent-soft) 45%,var(--panel));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent)}.ai-attach:disabled{opacity:.5;cursor:default;box-shadow:none}.asset-modal-title,.dlg-title-ico{display:inline-flex;align-items:center;gap:6px}.dlg-title-ico .ico{color:var(--accent);flex-shrink:0}.viewer-ico-btn{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-weight:600;letter-spacing:-.01em;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .12s var(--ease)}.viewer-ico-btn:not(.active){background:color-mix(in srgb,var(--panel-glass) 70%,var(--panel));border-color:color-mix(in srgb,var(--line) 88%,var(--ink));box-shadow:0 1px #ffffff73 inset,var(--shadow-xs)}.viewer-ico-btn:hover:not([disabled]):not(.active){background:color-mix(in srgb,var(--accent-soft) 45%,var(--panel-glass));border-color:color-mix(in srgb,var(--accent) 32%,var(--line));color:var(--accent);box-shadow:var(--shadow-xs)}.btn.viewer-ico-btn.active{box-shadow:0 1px #ffffff47 inset,0 1px 4px color-mix(in srgb,var(--accent) 30%,transparent)}.viewer-role{display:inline-flex;align-items:center;gap:5px}.viewer-share-note{display:flex;align-items:flex-start;gap:8px}.viewer-share-note .ico{flex-shrink:0;margin-top:2px}.tab-close .ico,.tab-new .ico{display:block;margin:0 auto}.ai-attachment{display:flex;align-items:center;gap:8px;padding:8px 10px 0;font-size:var(--fs-sm);color:var(--muted)}.ai-attachment img{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.ai-attachment button{margin-left:auto;border:none;background:transparent;cursor:pointer;font-size:16px;color:var(--muted);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.ai-attachment button:hover{background:var(--panel-2);color:var(--danger)}.ai-attachment button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.section-title{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.055em;color:color-mix(in srgb,var(--muted) 84%,var(--ink));margin:11px 0 5px;padding:0 0 4px;line-height:1.25;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent)}.section-title:first-child{margin-top:0}.prop-panel{display:flex;flex-direction:column;gap:6px;min-width:0}.prop-panel>.section-title:first-child{margin:0;padding:5px 8px;border-bottom:none;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent-soft) 56%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));color:color-mix(in srgb,var(--accent) 72%,var(--ink));letter-spacing:.04em;font-size:10px;font-weight:700;line-height:1.2;box-shadow:var(--shadow-xs)}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.cat-item{position:relative;border:1px solid color-mix(in srgb,var(--line) 94%,var(--ink));border-radius:var(--radius);padding:6px 5px;text-align:center;cursor:grab;background:var(--panel);font-size:var(--fs-xs);font-weight:600;letter-spacing:-.01em;line-height:1.25;-webkit-user-select:none;user-select:none;transition:border-color .14s var(--ease),background .14s var(--ease),transform .1s var(--ease),box-shadow .14s var(--ease);-webkit-tap-highlight-color:transparent;min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:inherit;color:var(--ink);box-shadow:var(--shadow-xs)}.cat-item:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent-soft) 85%,var(--panel));box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 11%,transparent)}.cat-item:active{cursor:grabbing;transform:scale(.98);border-color:var(--accent)}.cat-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cat-item-new{border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.cat-new-badge{position:absolute;top:4px;left:4px;z-index:1;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1;padding:3px 5px;border-radius:var(--radius-pill);color:var(--on-accent);background:var(--accent-fill);pointer-events:none;box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 35%,transparent)}.cat-item-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.cat-item-dim{display:block;font-size:9.5px;font-weight:600;letter-spacing:0;color:var(--muted, #7a8494);line-height:1.15;opacity:.92}.cat-item .ico{font-size:var(--fs-xl);display:block;margin-bottom:0}.cat-group{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.055em;line-height:1.25;color:color-mix(in srgb,var(--muted) 88%,var(--ink));margin:9px 0 4px}.cat-group:first-child{margin-top:0}.cat-section{font-size:11.5px;font-weight:750;letter-spacing:-.005em;line-height:1.25;color:var(--ink);margin:12px 0 4px;padding-bottom:4px;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);scroll-margin-top:5px}.cat-section:first-child{margin-top:2px}.btn.icon-only{padding:6px 8px;min-width:34px;min-height:34px;justify-content:center}.site-menu-pop{min-width:188px;width:max-content;max-width:min(320px,calc(100vw - 16px));padding:6px}.site-menu-stats{display:grid;grid-template-columns:repeat(3,minmax(78px,1fr));gap:4px;padding:6px;margin:0 0 2px;border-radius:var(--radius);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 92%,var(--panel)),color-mix(in srgb,var(--panel-2) 42%,var(--panel)));border:1px solid color-mix(in srgb,var(--line) 90%,var(--ink));box-shadow:inset 0 1px color-mix(in srgb,var(--ink) 2.5%,transparent),var(--shadow-xs);min-width:0}.site-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:5px 3px 4px;border-radius:var(--radius-sm);text-align:center;background:color-mix(in srgb,var(--panel) 78%,transparent);border:1px solid color-mix(in srgb,var(--line) 82%,transparent);box-shadow:var(--shadow-xs);box-sizing:border-box}.site-stat-lab{font-size:9.5px;font-weight:700;line-height:1.2;color:color-mix(in srgb,var(--muted) 88%,var(--ink));text-transform:uppercase;letter-spacing:.055em}.site-stat-val{font-size:12.5px;font-weight:750;letter-spacing:-.015em;line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:break-word;max-width:100%}.floors-btn{max-width:200px}.cat-tip{padding:8px 0 0!important;text-align:left;margin-top:10px;font-size:11.5px;line-height:1.45;letter-spacing:-.005em;color:color-mix(in srgb,var(--muted) 94%,var(--ink));border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent)}.floors-btn-label{display:inline-flex;align-items:center;gap:4px;min-width:0;overflow:hidden;line-height:1.15}.floors-btn .ico{flex-shrink:0;color:var(--muted)}.floors-btn.has-on .ico{color:var(--accent)}.floors-current{font-size:12.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px;letter-spacing:-.012em;line-height:1.2}.floors-btn.has-on .floors-current{color:var(--accent)}.floors-pop{left:0;right:auto;min-width:200px;padding:6px 6px 8px;gap:1px}.floors-pop .overlay-item{min-height:36px;padding:6px 10px;gap:8px}.floors-pop .overlay-label{font-size:var(--fs-md);font-weight:550;letter-spacing:-.01em;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floors-pop .overlay-item.on .overlay-label{font-weight:650}.floors-pop .menu-item.export-item{min-height:38px;padding:5px 10px}.floors-pop .export-item-title{font-size:12.5px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.floors-pop .menu-sep{margin:4px 6px}.floors-delete{color:var(--danger)}.floors-delete:hover,.floors-delete:focus-visible{background:color-mix(in srgb,var(--danger) 10%,var(--panel));color:var(--danger)}.floors-delete .ico,.floors-delete:hover .ico,.floors-delete:focus-visible .ico{color:var(--danger);opacity:1}.panel-nav{flex-shrink:0}.panel-nav .seg-btn{gap:5px;padding:4px 8px;min-height:28px;font-weight:600;letter-spacing:-.01em}.panel-nav-ico{display:none;line-height:1;align-items:center;justify-content:center;flex-shrink:0}.panel-nav-ico .ico{display:block}.panel-nav-ai{display:inline-flex;align-items:center;gap:5px;min-width:52px;font-weight:650}.panel-nav-ai:not(.active){color:var(--accent)}.panel-nav .seg-btn.active{background:var(--accent-fill);color:var(--on-accent);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent)}.panel-nav .seg-btn.active:hover{background:var(--accent-fill-hover);color:var(--on-accent)}@media (max-width: 1520px){.panel-nav .seg-btn:not(.panel-nav-ai) .bar-label{display:none}.panel-nav .seg-btn:not(.panel-nav-ai) .panel-nav-ico{display:inline-flex}.panel-nav .seg-btn:not(.panel-nav-ai){min-width:28px;padding:4px;gap:0}}.site-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;padding-top:max(14px,env(safe-area-inset-top));max-width:1120px;margin:0 auto;gap:12px}.site-header-brand{display:inline-flex;align-items:center;gap:8px;font-weight:750;font-size:17px;letter-spacing:-.02em;text-decoration:none;color:var(--ink);flex-shrink:0;border-radius:var(--radius-sm);padding:4px 6px 4px 2px;margin-left:-2px;transition:background .14s var(--ease)}.site-header-brand:hover{background:var(--panel-2)}.site-header-logo{width:26px;height:26px;display:block;border-radius:7px;box-shadow:var(--shadow-xs)}.site-header-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.site-header-link{color:var(--muted);text-decoration:none;font-weight:600;font-size:13.5px;letter-spacing:-.01em;padding:7px 11px;border-radius:var(--radius-sm);transition:color .12s var(--ease),background .12s var(--ease)}.site-header-link:hover{color:var(--accent);background:var(--accent-soft)}.site-header-cta{background:var(--accent-fill);color:var(--on-accent);border-radius:var(--radius-sm);padding:8px 14px;font-weight:650;font-size:var(--fs-md);letter-spacing:-.01em;text-decoration:none;white-space:nowrap;box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent);transition:background .14s var(--ease),box-shadow .14s var(--ease)}.site-header-cta:hover{background:var(--accent-fill-hover);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 25%,transparent)}.site-header-link:focus-visible,.site-header-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (max-width: 640px){.site-header{padding:12px 14px}.site-header-link,.site-header-cta{min-height:40px;display:inline-flex;align-items:center}.site-header-cta{padding:8px 12px}.site-header-extra{display:none}.site-header-nav{gap:10px}.site-header-cta{padding:8px 12px;font-size:var(--fs-md)}}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:radial-gradient(900px 360px at 50% -40px,color-mix(in srgb,var(--accent) 10%,transparent),transparent 60%),linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 42%,var(--bg) 100%);color:var(--ink);padding:28px 16px max(40px,env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased}.auth-brand{display:inline-flex;align-items:center;gap:8px;font-weight:750;font-size:var(--fs-xl);letter-spacing:-.02em;color:var(--ink);text-decoration:none;border-radius:var(--radius-sm);padding:6px 10px 6px 6px;transition:background .14s var(--ease),box-shadow .14s var(--ease)}.auth-brand:hover{background:color-mix(in srgb,var(--panel) 88%,var(--panel-2));box-shadow:var(--shadow-xs)}.auth-brand img{width:28px;height:28px;display:block;border-radius:var(--radius-sm);box-shadow:var(--shadow-xs)}.auth-foot{display:flex;gap:6px 4px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:var(--fs-md);letter-spacing:-.01em;color:var(--muted);margin:4px 0 0;padding:8px 12px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--panel) 72%,transparent);border:1px solid color-mix(in srgb,var(--line) 85%,transparent);box-shadow:0 1px #ffffff80 inset,var(--shadow-xs);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1)}.auth-foot>span[aria-hidden]{color:color-mix(in srgb,var(--muted) 70%,var(--line-strong));-webkit-user-select:none;user-select:none;padding:0 2px;font-weight:500}.auth-foot a{color:color-mix(in srgb,var(--ink) 88%,var(--muted));font-weight:600;text-decoration:none;border-radius:var(--radius-sm);padding:5px 10px;transition:color .12s var(--ease),background .12s var(--ease)}.auth-foot a:hover{color:var(--accent);background:var(--accent-soft)}.auth-foot a:focus-visible,.auth-brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}@media (max-width: 480px){.auth-shell{padding:16px 12px max(24px,env(safe-area-inset-bottom));justify-content:flex-start;padding-top:max(32px,env(safe-area-inset-top));gap:16px}.auth-foot{gap:4px 2px;padding:6px 8px;max-width:100%}.auth-foot a{min-height:40px;display:inline-flex;align-items:center}}.menu-wrap{position:relative;display:inline-flex}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-menu-backdrop);background:transparent}.menu-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-menu);background:color-mix(in srgb,var(--panel) 97%,transparent);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid color-mix(in srgb,var(--line) 90%,var(--ink));border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:6px;min-width:188px;display:flex;flex-direction:column;gap:1px;max-height:min(80vh,calc(100dvh - 64px));overflow-y:auto;-webkit-overflow-scrolling:touch;animation:menu-in .14s var(--ease)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.menu-item{text-align:left;border:none;background:transparent;padding:6px 10px;border-radius:8px;font-size:var(--fs-md);color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:8px;width:100%;font-family:inherit;min-height:34px;box-sizing:border-box;text-decoration:none;transition:background .1s var(--ease),color .1s var(--ease)}a.menu-item{color:var(--ink)}.menu-item:hover{background:var(--panel-2);color:var(--ink)}.menu-item:hover .ico{color:var(--accent)}.menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.menu-item.on,.menu-item.overlay-item.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.export-pop{min-width:256px;padding:6px 6px 8px;gap:1px}.export-pop .menu-group-label{padding-left:10px;padding-right:10px}.export-item{width:100%;align-items:center;min-height:40px;gap:10px;padding:6px 10px}.export-item .ico{margin-top:0;flex-shrink:0;color:var(--muted);opacity:1;width:18px;display:inline-flex;justify-content:center}.export-item:hover .ico{color:var(--accent);opacity:1}.export-item-text{display:flex;flex-direction:column;gap:1px;min-width:0;text-align:left}.export-item-title{font-size:var(--fs-md);font-weight:650;line-height:1.2;letter-spacing:-.01em}.export-item-sub{font-size:var(--fs-xs);font-weight:500;color:var(--muted);line-height:1.25;letter-spacing:-.005em}.export-item:hover .export-item-sub{color:inherit;opacity:.85}.viewer3d-controls{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:6;background:var(--panel-glass);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));border-radius:12px;box-shadow:0 1px #ffffff8c inset,var(--shadow-float);padding:8px 8px 10px;color:var(--ink);width:232px;max-height:min(70vh,520px);display:flex;flex-direction:column;gap:8px}.v3d-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;min-height:28px;padding:0 2px}.v3d-header-title{font-size:var(--fs-sm);font-weight:700;letter-spacing:-.01em;color:var(--ink);line-height:1.2}.v3d-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:3px;border-radius:9px;background:color-mix(in srgb,var(--line) 55%,transparent);flex-shrink:0}.v3d-tab{border:none;background:transparent;border-radius:7px;padding:6px 2px;font-size:var(--fs-xs);font-weight:650;letter-spacing:-.01em;font-family:inherit;color:var(--muted);cursor:pointer;min-height:28px;line-height:1.1;transition:background .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease)}.v3d-tab:hover{color:var(--ink);background:color-mix(in srgb,var(--panel) 70%,transparent)}.v3d-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.v3d-tab.active{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-xs)}.v3d-tab-body{display:flex;flex-direction:column;gap:5px;overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding-right:2px;scrollbar-width:thin}.v3d-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.055em;line-height:1.25;color:color-mix(in srgb,var(--muted) 88%,var(--ink));margin-top:5px;padding-top:5px;border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent)}.v3d-title:first-child,.v3d-title-flush{margin-top:0;padding-top:0;border-top:none}.v3d-row{display:flex;align-items:center;gap:6px}.v3d-row input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}.v3d-name{flex:1;font-size:12.5px;font-weight:500;letter-spacing:-.01em;line-height:1.25;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}label.v3d-name{cursor:default;margin:0}.v3d-eye{border:1px solid color-mix(in srgb,var(--line) 90%,var(--ink));background:color-mix(in srgb,var(--panel) 88%,transparent);border-radius:var(--radius-sm);width:30px;height:30px;cursor:pointer;font-size:var(--fs-md);display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--ink);flex-shrink:0;box-shadow:var(--shadow-xs);transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease)}.v3d-eye:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel))}.v3d-eye:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.v3d-eye.off{opacity:.5}.v3d-solo{border:1px solid color-mix(in srgb,var(--line) 90%,var(--ink));background:color-mix(in srgb,var(--panel) 88%,transparent);border-radius:var(--radius-sm);padding:4px 8px;font-size:var(--fs-2xs);font-weight:650;letter-spacing:-.01em;cursor:pointer;color:var(--muted);font-family:inherit;min-height:30px;flex-shrink:0;box-shadow:var(--shadow-xs);transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease)}.v3d-solo:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel))}.v3d-solo:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.v3d-solo.active{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent),var(--shadow-xs)}.v3d-check{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;letter-spacing:-.01em;line-height:1.25;color:var(--ink);cursor:pointer;min-height:30px;padding:1px 0;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm)}.v3d-check input{width:14px;height:14px;accent-color:var(--accent);flex-shrink:0}.v3d-export{margin-top:6px;justify-content:center;border-radius:var(--radius-sm);font-weight:650}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;color:var(--muted);background:radial-gradient(880px 460px at 50% 28%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 62%),radial-gradient(560px 280px at 50% 78%,color-mix(in srgb,var(--accent) 2.5%,transparent),transparent 55%),var(--bg);font-size:13.5px;font-weight:500;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;z-index:100}.loading-screen .spinner{width:36px;height:36px;border-width:2.5px}.spinner{width:32px;height:32px;border:2.5px solid color-mix(in srgb,var(--line-strong) 55%,transparent);border-top-color:var(--accent);border-radius:50%;animation:spin .72s linear infinite;flex-shrink:0;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 6%,transparent)}@media (prefers-reduced-motion: reduce){.spinner,.tab-dot.saving,.save-pill.saving .led{animation:none}}@keyframes spin{to{transform:rotate(360deg)}}.three-host{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(var(--panel-2),var(--bg))}.three-host-center{display:grid;place-items:center;color:var(--muted);gap:10px}.stage-cursor-grab{cursor:grab}.stage-cursor-default{cursor:default}.stage-cursor-crosshair{cursor:crosshair}[data-theme=dark] .three-host{background:linear-gradient(#121820,#0e131a)}.viewer-topbar{flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none;background:color-mix(in srgb,var(--panel-glass) 78%,var(--panel));border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent);box-shadow:0 1px #ffffff94 inset,0 1px 2px #0f172a0a,0 10px 28px -14px #0f172a24;backdrop-filter:saturate(1.55) blur(18px);-webkit-backdrop-filter:saturate(1.55) blur(18px)}.viewer-topbar::-webkit-scrollbar{display:none}.viewer-brand{font-weight:750;letter-spacing:-.02em;text-decoration:none;color:inherit;flex-shrink:0;transition:background .14s var(--ease),color .14s var(--ease)}.viewer-brand:hover{background:color-mix(in srgb,var(--panel-2) 72%,var(--panel-glass))}.viewer-brand:hover .viewer-brand-txt{color:var(--accent)}.viewer-brand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-brand img{width:26px;height:26px;display:block;border-radius:7px;box-shadow:var(--shadow-xs)}.viewer-brand-txt{font-weight:750;letter-spacing:-.02em}.viewer-title{font-size:13.5px;font-weight:600;letter-spacing:-.015em;color:var(--ink);margin-left:2px;padding:5px 11px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel-glass) 55%,var(--panel-2));border:1px solid color-mix(in srgb,var(--line) 78%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(240px,30vw);flex-shrink:1;min-width:0;box-shadow:0 1px #ffffff80 inset,var(--shadow-xs);backdrop-filter:blur(8px) saturate(1.12);-webkit-backdrop-filter:blur(8px) saturate(1.12)}.viewer-topbar .viewer-ico-btn{margin-left:0;flex-shrink:0}.viewer-topbar .seg{background:color-mix(in srgb,var(--panel-glass) 48%,var(--panel-2));border-color:color-mix(in srgb,var(--line) 86%,var(--ink));box-shadow:inset 0 1px 1px #0f172a0a,0 1px #fff6 inset,var(--shadow-xs);backdrop-filter:blur(6px) saturate(1.1);-webkit-backdrop-filter:blur(6px) saturate(1.1)}.viewer-topbar .seg .seg-btn{font-weight:650;letter-spacing:-.01em}.viewer-topbar .seg .seg-btn.active{box-shadow:var(--shadow-xs),0 1px #ffffff8c inset}.section-title-ico{gap:7px}.section-title-ico .ico{opacity:.85;flex-shrink:0}.asset-card{position:relative}.asset-card-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.viewer-title{max-width:28vw}.viewer-role,.viewer-topbar .viewer-btn-lab{display:none}.viewer-topbar .viewer-ico-btn{min-width:40px;justify-content:center;padding-left:10px;padding-right:10px}.viewer-brand-txt{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media (max-width: 820px){.right-panel{position:absolute;right:0;top:0;bottom:0;width:min(86vw,320px);max-width:320px;background:color-mix(in srgb,var(--panel) 98%,var(--panel-2));border-left:1px solid color-mix(in srgb,var(--line) 90%,transparent);box-shadow:var(--shadow-lg);transform:translate(100%);transition:transform .22s var(--ease);z-index:30;padding-bottom:env(safe-area-inset-bottom)}.right-panel.open{transform:translate(0)}.plan-name{width:110px}}.mobile-only{display:none}@media (max-width: 820px){.mobile-only{display:inline-flex}}.hoverable{transition:filter .15s ease,transform .15s ease}.hoverable:hover{filter:brightness(1.07)}.hoverable:active{transform:translateY(1px)}.ai-modelbar-fold{flex-shrink:0;border-bottom:1px solid color-mix(in srgb,var(--line) 90%,transparent)}.ai-modelbar-fold>summary{padding:2px 10px;font-size:var(--fs-2xs);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.ai-modelbar-fold[open]>summary{display:none}.ai-modelbar{display:flex;align-items:center;gap:6px;padding:3px 9px;min-height:32px;border-bottom:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 78%,var(--panel)),color-mix(in srgb,var(--panel-2) 42%,var(--panel)));box-shadow:0 1px #ffffff7a inset;font-size:var(--fs-xs);font-weight:550;letter-spacing:-.005em;color:color-mix(in srgb,var(--muted) 92%,var(--ink));flex-shrink:0}.ai-modelbar label{flex-shrink:0;line-height:1.2}.ai-modelbar select{flex:1;min-width:0;height:26px;min-height:26px;padding:0 7px;border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel) 96%,var(--panel-2));font-size:11.5px;letter-spacing:-.01em;color:var(--ink);font-family:inherit;box-shadow:inset 0 1px 1px color-mix(in srgb,var(--ink) 3.5%,transparent),0 1px #fff6 inset,var(--shadow-xs);transition:border-color .12s var(--ease),box-shadow .12s var(--ease),background .12s var(--ease);cursor:pointer}.ai-modelbar select:hover{border-color:var(--line-strong)}.ai-modelbar select:focus{outline:none;border-color:var(--input-focus-border);background:var(--panel);box-shadow:var(--input-focus-ring)}@media (max-width: 820px){.desktop-only{display:none!important}.topbar{flex-wrap:nowrap;overflow-x:auto;gap:6px;min-height:var(--topbar-h);padding:6px 10px;padding-top:max(6px,env(safe-area-inset-top));-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center}.topbar::-webkit-scrollbar{display:none}.topbar>*{flex:0 0 auto}.topbar .btn{min-height:36px}.topbar-cluster{gap:4px}.plan-name{width:96px}.body{position:relative}.left-rail{position:absolute;left:0;right:0;bottom:0;top:auto;width:auto;height:auto;min-height:58px;flex-direction:row;align-items:center;overflow-x:auto;overflow-y:hidden;border-right:none;border-top:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--panel) 90%,transparent);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);box-shadow:0 -4px 24px #0f172a14;padding:8px 12px max(8px,env(safe-area-inset-bottom));gap:6px;z-index:20;-webkit-overflow-scrolling:touch;scrollbar-width:none}.left-rail::-webkit-scrollbar{display:none}.left-rail .tool-sep{width:1px;height:26px;margin:0 2px;opacity:.72;flex-shrink:0;border-radius:1px;background:color-mix(in srgb,var(--line) 78%,var(--ink))}.zoom-controls{bottom:max(118px,calc(env(safe-area-inset-bottom) + 108px));flex-direction:row}.hint{bottom:max(70px,calc(env(safe-area-inset-bottom) + 62px));max-width:92vw;border-radius:var(--radius);padding:6px 11px}.scale-bar{bottom:max(70px,calc(env(safe-area-inset-bottom) + 62px))}.viewer3d-controls{width:min(232px,calc(100vw - 24px));max-height:52vh;padding:8px;gap:6px;top:8px;left:8px}.no-side .viewer3d-controls,.no-side .viewer3d-chip{left:calc(50px + env(safe-area-inset-left,0px))}.left-rail .tool-btn{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:12px;font-size:17px}}@media (max-width: 820px){.ai-input{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}}.viewer3d-chip{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:6;display:inline-flex;align-items:center;gap:5px;background:var(--panel-glass);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));border-radius:var(--radius-pill);box-shadow:0 1px #ffffff8c inset,var(--shadow-float);padding:6px 12px;font-size:12.5px;font-weight:650;letter-spacing:-.01em;line-height:1.25;color:var(--ink);min-height:34px;cursor:pointer;font-family:inherit;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .12s var(--ease)}.viewer3d-chip:hover{background:color-mix(in srgb,var(--accent-soft) 45%,var(--panel-glass));border-color:color-mix(in srgb,var(--accent) 32%,var(--line));color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.viewer3d-collapse{position:static;flex-shrink:0;border:none;background:transparent;color:var(--muted);font-size:14px;cursor:pointer;padding:0;border-radius:var(--radius-sm);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;transition:background .12s var(--ease),color .12s var(--ease)}.viewer3d-collapse:hover{background:var(--panel-2);color:var(--ink)}.viewer3d-collapse:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.viewer3d-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sel-toolbar{position:absolute;left:50%;transform:translate(-50%);bottom:70px;display:none;gap:4px;z-index:21;align-items:center;background:var(--panel-glass);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));border-radius:12px;padding:4px;box-shadow:var(--shadow-float);max-width:calc(100vw - 20px);flex-wrap:wrap;justify-content:center;backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25)}.sel-toolbar .btn,.sel-toolbar .btn.icon-only{width:34px;height:34px;min-width:34px;min-height:34px;padding:0;justify-content:center;box-shadow:none;background:transparent;border-color:transparent;border-radius:8px;color:var(--ink)}.sel-toolbar .btn:hover{background:color-mix(in srgb,var(--panel-2) 88%,var(--panel-glass));border-color:transparent;color:var(--ink)}.sel-toolbar .btn:active{background:color-mix(in srgb,var(--ink) 6%,var(--panel-2));transform:none}.sel-toolbar .btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sel-toolbar .btn .ico{display:block}.sel-toolbar .btn[title=Delete],.sel-toolbar .btn[aria-label=Delete]{color:var(--danger)}.sel-toolbar .btn[title=Delete]:hover,.sel-toolbar .btn[aria-label=Delete]:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:transparent;color:var(--danger)}.sel-toolbar.multi-desktop{display:flex;bottom:78px;gap:3px;padding:5px 6px}@media (max-width: 820px){.sel-toolbar.desktop-furn-bar{display:none}}.sel-toolbar .btn.sel-tool-text{width:auto;min-width:0;height:34px;padding:0 8px;font-size:var(--fs-xs);font-weight:700;letter-spacing:-.01em}.sel-toolbar .sel-tool-sep{width:1px;height:22px;background:color-mix(in srgb,var(--line) 90%,var(--ink));margin:0 3px;flex-shrink:0}@media (max-width: 820px){.sel-toolbar.mobile-only{display:flex}.sel-toolbar.multi-desktop{bottom:88px}.sel-toolbar .btn,.sel-toolbar .btn.icon-only{width:42px;height:42px;min-width:42px;min-height:42px}.sel-toolbar .btn.sel-tool-text{height:42px;padding:0 10px;font-size:var(--fs-sm)}.field input[type=text],.field input[type=number],.field select,.ai-input textarea,.ai-modelbar select,.ai-convobar select,.asset-input,.dlg-input,.wiz-name,.rm-input,.cat-search input{font-size:16px}.cat-tab{min-height:32px;padding:6px 12px}.cat-create{min-height:38px;padding:8px 12px}.catalog-grid{gap:6px}.cat-item{min-height:64px;padding:8px 6px}.menu-pop{position:fixed;top:var(--topbar-h);right:8px;left:auto;max-width:calc(100vw - 16px);max-height:70vh;overflow-y:auto}.floors-pop{left:8px;right:auto}.overlays-pop{left:auto;right:8px}.proj-action{opacity:.9;pointer-events:auto}.side-toggle{width:42px;height:42px;min-width:42px;min-height:42px}.panel-scroll{padding-bottom:max(16px,env(safe-area-inset-bottom))}.panel-tab{padding:10px 8px;min-height:42px;font-size:12.5px}.panel-collapse{width:34px;height:34px;min-width:34px;margin-bottom:5px}.ai-attach{width:44px;height:44px}.btn{padding:9px 13px}.v3d-walk-btn,.v3d-walk-exit{padding:10px 14px;font-size:12.5px;min-height:40px}.landing-header{padding:14px!important}.landing-nav{gap:8px!important}.landing-nav-extra{display:none}.landing-hero-ctas{flex-wrap:wrap}.landing-hero-ctas a,.landing-hero-ctas button{min-height:44px}}@media (max-width: 480px){.row2,.catalog-grid{grid-template-columns:1fr}.help-grid{grid-template-columns:1fr;gap:6px}}@media (max-width: 820px){.left-rail .tool-btn.active{background:var(--accent-fill);color:var(--on-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}.left-rail .tool-btn[disabled]{opacity:.35}}.ai-progress{margin-left:5px;min-width:0;flex:1 1 auto;font-size:var(--fs-xs);font-weight:500;letter-spacing:-.01em;line-height:1.2;color:color-mix(in srgb,var(--muted) 90%,var(--ink));font-variant-numeric:tabular-nums}.ai-convobar{display:flex;gap:5px;align-items:center;padding:3px 9px;min-height:32px;border-bottom:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 58%,var(--panel)),color-mix(in srgb,var(--panel-2) 28%,var(--panel)));box-shadow:0 1px #ffffff7a inset;flex-shrink:0}.ai-convobar select{flex:1;min-width:0;height:26px;min-height:26px;padding:0 7px;border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel) 96%,var(--panel-2));font-size:11.5px;letter-spacing:-.01em;color:var(--ink);font-family:inherit;box-shadow:inset 0 1px 1px color-mix(in srgb,var(--ink) 3.5%,transparent),0 1px #fff6 inset,var(--shadow-xs);transition:border-color .12s var(--ease),box-shadow .12s var(--ease),background .12s var(--ease);cursor:pointer}.ai-convobar select:hover{border-color:var(--line-strong)}.ai-convobar select:focus{outline:none;border-color:var(--input-focus-border);background:var(--panel);box-shadow:var(--input-focus-ring)}.ai-new-btn{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-height:26px;height:26px;padding:0 7px;box-sizing:border-box;flex-shrink:0;font-size:11.5px;font-weight:550;letter-spacing:-.01em;line-height:1;border-radius:var(--radius-sm);border-color:color-mix(in srgb,var(--line) 92%,var(--ink));background:color-mix(in srgb,var(--panel) 96%,var(--panel-2));box-shadow:0 1px #ffffff73 inset,var(--shadow-xs)}.ai-new-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent-soft) 42%,var(--panel));border-color:color-mix(in srgb,var(--accent) 28%,var(--line));color:color-mix(in srgb,var(--accent) 72%,var(--ink))}.ai-new-btn:active:not(:disabled){transform:translateY(.5px);box-shadow:none}.ai-new-btn:disabled{opacity:.5;box-shadow:none}.ai-new-btn .ico{display:block;flex-shrink:0}.ai-cancel,.ai-follow{margin-left:2px;border-radius:var(--radius-pill);padding:0 7px;height:26px;min-height:26px;max-height:26px;font-size:11.5px;font-weight:550;letter-spacing:-.01em;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:3px;font-family:inherit;box-sizing:border-box;flex-shrink:0;white-space:nowrap;box-shadow:0 1px #ffffff73 inset,var(--shadow-xs);transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease),transform .1s var(--ease)}.ai-cancel .ico,.ai-follow .ico{display:block;flex-shrink:0}.ai-cancel{border:1px solid color-mix(in srgb,var(--danger) 28%,var(--line));background:color-mix(in srgb,var(--danger) 7%,var(--panel));color:var(--danger)}.ai-cancel:hover{background:color-mix(in srgb,var(--danger) 14%,var(--panel));border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.ai-cancel:active{transform:translateY(.5px);box-shadow:none}.ai-cancel:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-follow{border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));background:color-mix(in srgb,var(--panel) 96%,var(--panel-2));color:var(--muted)}.ai-follow:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 42%,var(--panel))}.ai-follow.on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent);font-weight:600}.ai-follow:active{transform:translateY(.5px);box-shadow:none}.ai-follow:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-progress-row{flex-wrap:wrap;gap:4px;align-items:center}.ai-attach:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.side-wizard{margin:5px 8px 2px;align-self:stretch;min-height:28px;padding:5px 9px;font-size:12.5px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent-soft) 70%,var(--panel)),var(--panel));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--ink);box-shadow:0 1px #ffffff73 inset,var(--shadow-xs);font-weight:600;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .1s var(--ease)}.side-wizard:hover{background:linear-gradient(120deg,color-mix(in srgb,var(--accent-soft) 85%,var(--panel)),color-mix(in srgb,var(--accent-soft) 40%,var(--panel)));border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent);box-shadow:0 1px #ffffff80 inset,0 1px 2px color-mix(in srgb,var(--accent) 14%,transparent),var(--shadow-xs)}.side-wizard:active{transform:translateY(.5px);box-shadow:0 1px #ffffff40 inset,0 1px 2px color-mix(in srgb,var(--accent) 10%,transparent)}.elev-modal.wiz-modal,.wiz-modal{width:min(560px,94vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;color:var(--ink);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));background:color-mix(in srgb,var(--panel) 97%,transparent);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0a inset;padding-bottom:0;animation:dlg-modal-in .18s var(--ease)}.wiz-modal .help-head{padding:16px 18px 14px;font-size:var(--fs-lg);font-weight:700;letter-spacing:-.02em;border-bottom-color:color-mix(in srgb,var(--line) 85%,transparent);flex-shrink:0}.wiz-body{padding:14px 18px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.wiz-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.wiz-lab{font-weight:650;font-size:12.5px;letter-spacing:-.01em;color:var(--ink);flex-shrink:0}.wiz-seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-xs);background:color-mix(in srgb,var(--panel-2) 88%,var(--panel));padding:2px;gap:2px}.wiz-seg button{border:0;background:transparent;padding:4px 10px;font:inherit;font-size:var(--fs-md);font-weight:550;letter-spacing:-.01em;color:var(--muted);cursor:pointer;min-width:42px;min-height:28px;border-radius:calc(var(--radius-sm) - 2px);transition:background .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease)}.wiz-seg button:hover:not(.sel){color:var(--ink);background:color-mix(in srgb,var(--panel) 55%,transparent)}.wiz-seg button+button{border-left:none}.wiz-seg button.sel{background:var(--panel);color:var(--accent);font-weight:700;box-shadow:var(--shadow-xs)}.wiz-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px;z-index:1}.wiz-styles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.wiz-style{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--panel-glass) 55%,var(--panel));padding:10px 10px 9px;text-align:left;cursor:pointer;font:inherit;color:var(--ink);display:flex;flex-direction:column;gap:4px;align-items:flex-start;box-shadow:var(--shadow-xs);transition:border-color .14s var(--ease),background .14s var(--ease),box-shadow .14s var(--ease),transform .12s var(--ease)}.wiz-style b{font-weight:700;letter-spacing:-.015em;font-size:13.5px}.wiz-style:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--panel-glass) 70%,var(--panel));box-shadow:var(--shadow);transform:translateY(-1px)}.wiz-style:active{transform:translateY(0)}.wiz-style-ico{display:inline-flex;color:var(--muted);margin-bottom:2px;transition:color .12s var(--ease)}.wiz-style.sel .wiz-style-ico{color:var(--accent)}.wiz-style:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.wiz-style small{color:var(--muted);font-size:var(--fs-sm);line-height:1.4;letter-spacing:-.005em}.wiz-style.sel{border-color:var(--input-focus-border);background:color-mix(in srgb,var(--accent-soft) 85%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent) inset,var(--shadow-xs)}.wiz-style.sel:hover{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));transform:none}.wiz-toggles{display:flex;flex-wrap:wrap;gap:6px}.wiz-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--radius-pill);padding:4px 10px;min-height:28px;box-sizing:border-box;cursor:pointer;font-size:var(--fs-md);font-weight:500;letter-spacing:-.01em;background:color-mix(in srgb,var(--panel-glass) 50%,var(--panel));color:var(--ink);-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-xs);transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease)}.wiz-toggle:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--accent-soft) 40%,var(--panel))}.wiz-toggle input{margin:0;accent-color:var(--accent);flex-shrink:0}.wiz-toggle:focus-within{outline:2px solid var(--accent);outline-offset:1px}.wiz-toggle.on{border-color:var(--input-focus-border);background:color-mix(in srgb,var(--accent-soft) 88%,var(--panel));color:var(--accent);font-weight:600;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent) inset,var(--shadow-xs)}.wiz-toggle.on:hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));background:color-mix(in srgb,var(--accent-soft) 100%,var(--panel))}.wiz-stepper{display:inline-flex;align-items:center;gap:8px;padding:2px;border-radius:var(--radius);background:color-mix(in srgb,var(--panel-2) 70%,transparent)}.wiz-stepper button{width:30px;height:30px;min-width:30px;min-height:30px;border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb,var(--panel-glass) 55%,var(--panel));color:var(--ink);font-size:var(--fs-lg);line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;box-shadow:var(--shadow-xs);transition:border-color .12s var(--ease),color .12s var(--ease),background .12s var(--ease),box-shadow .12s var(--ease)}.wiz-stepper button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel))}.wiz-stepper button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.wiz-stepper button:disabled{opacity:.35;cursor:default;box-shadow:none}.wiz-stepper b{min-width:20px;text-align:center;font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--fs-md);letter-spacing:-.02em;color:var(--ink)}.wiz-floor{border:1px solid color-mix(in srgb,var(--line) 90%,var(--ink));border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--panel-2) 72%,var(--panel-glass));box-shadow:var(--shadow-xs)}.wiz-floor+.wiz-floor{margin-top:2px}.wiz-floor-title{font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-bottom:1px;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);margin-bottom:0}.wiz-name{flex:1;min-width:0}.wiz-summary{margin:0;font-weight:650;font-size:14px;line-height:1.5;letter-spacing:-.015em;color:var(--ink);padding:12px 14px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:color-mix(in srgb,var(--panel-2) 65%,var(--panel-glass))}.wiz-note{margin:0;color:var(--muted);font-size:var(--fs-md);line-height:1.55;letter-spacing:-.005em}.wiz-foot{display:flex;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--panel-2) 55%,var(--panel-glass));backdrop-filter:blur(10px) saturate(1.15);-webkit-backdrop-filter:blur(10px) saturate(1.15);flex-wrap:wrap;align-items:center;flex-shrink:0}.wiz-foot .btn{min-height:34px;min-width:88px;justify-content:center;touch-action:manipulation}.wiz-nav-btn{display:inline-flex;align-items:center;gap:5px}.wiz-toggle-ico{display:inline-flex;align-items:center;gap:6px}.btn.primary{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent);font-weight:650;letter-spacing:-.01em;box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent)}.btn.primary:hover:not(:disabled){background:var(--accent-fill-hover);border-color:var(--accent-fill-hover);color:var(--on-accent)}.btn.primary:disabled{opacity:.55;box-shadow:none}.dlg-actions .btn{min-height:30px;min-width:64px;padding:5px 11px;font-weight:600;letter-spacing:-.01em;justify-content:center;touch-action:manipulation}.ai-msg.thinking{flex-direction:column;align-items:stretch;gap:5px;padding:8px 11px}.ai-progress-row{display:flex;align-items:center;gap:4px;min-width:0}.ai-live-reply{font-style:normal;color:var(--ink);font-size:12.5px;line-height:1.35;letter-spacing:-.01em;opacity:.88}.ai-live-feed{display:flex;flex-direction:column;gap:1px;border-left:2px solid color-mix(in srgb,var(--accent) 38%,var(--line));padding:2px 2px 2px 8px;margin-top:1px;max-height:120px;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--accent-soft) 48%,transparent),transparent 78%);border-radius:0 3px 3px 0}.ai-feed-line{font-size:var(--fs-xs);font-weight:500;letter-spacing:-.01em;line-height:1.3;color:color-mix(in srgb,var(--muted) 88%,var(--ink));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:feedIn .2s var(--ease)}.ai-feed-line.latest{color:color-mix(in srgb,var(--ink) 94%,var(--accent));font-weight:650;letter-spacing:-.012em}@keyframes feedIn{0%{opacity:0;transform:translateY(1px)}to{opacity:1;transform:none}}.v3d-undo{position:absolute;top:58px;right:172px;display:flex;align-items:center;gap:1px;z-index:6;padding:3px;border-radius:var(--radius);background:var(--panel-glass);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));box-shadow:0 1px #ffffff8c inset,var(--shadow-float)}.v3d-undo button{width:34px;height:34px;min-width:34px;min-height:34px;border-radius:8px;border:1px solid transparent;background:transparent;font-size:var(--fs-lg);cursor:pointer;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);padding:0;font-family:inherit;transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease)}.v3d-undo button:hover{background:color-mix(in srgb,var(--panel-2) 88%,var(--panel-glass));border-color:transparent;color:var(--accent)}.v3d-undo button:active{background:color-mix(in srgb,var(--ink) 6%,var(--panel-2));transform:none}.v3d-undo button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (max-width: 820px){.v3d-undo{top:12px;right:12px}.v3d-walk-btn{right:12px}}.v3d-look-zone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;touch-action:none}.v3d-joystick{position:absolute;left:max(16px,env(safe-area-inset-left));bottom:max(84px,calc(env(safe-area-inset-bottom) + 64px));width:100px;height:100px;border-radius:50%;background:color-mix(in srgb,var(--panel-glass) 68%,rgba(255,255,255,.14));border:1px solid color-mix(in srgb,var(--line) 70%,rgba(255,255,255,.55));backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);z-index:6;touch-action:none;display:flex;align-items:center;justify-content:center;box-shadow:0 1px #ffffff73 inset,var(--shadow-float)}.v3d-joy-knob{width:40px;height:40px;border-radius:50%;background:var(--panel);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));box-shadow:0 1px #ffffffa6 inset,var(--shadow),0 2px 8px #0f172a24;pointer-events:none}.v3d-walk-exit{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:7;padding:6px 11px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));background:var(--panel-glass);font:inherit;font-size:var(--fs-sm);font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;min-height:34px;gap:5px;font-weight:650;letter-spacing:-.01em;line-height:1.25;color:var(--ink);box-shadow:0 1px #ffffff8c inset,var(--shadow-float);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .12s var(--ease)}.v3d-walk-exit:hover{background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel-glass));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent);box-shadow:0 1px #ffffff73 inset,var(--shadow-lg);transform:translateY(-1px)}.v3d-walk-exit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.v3d-edit-toolbar button{display:inline-flex;align-items:center;gap:3px}.elec-filter{display:inline-flex;gap:4px;margin-left:4px}.elec-filter .btn{padding:6px 9px;font-size:12.5px}.whatsnew-backdrop{z-index:var(--z-whatsnew)}.whatsnew-modal{width:min(720px,96vw);max-height:min(84vh,700px);display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);box-shadow:0 1px #ffffff8c inset,var(--shadow-lg);-webkit-font-smoothing:antialiased;position:relative;z-index:1}.whatsnew-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 90%,var(--panel)),color-mix(in srgb,var(--panel) 40%,transparent));flex-shrink:0}.whatsnew-title{margin:0;font-size:17px;font-weight:750;letter-spacing:-.025em;color:var(--ink);line-height:1.25}.whatsnew-sub{margin:4px 0 0;font-size:var(--fs-md);color:var(--muted);line-height:1.45;letter-spacing:-.005em;font-weight:450}.whatsnew-layout{display:flex;flex:1;min-height:0;overflow:hidden}.whatsnew-nav{width:200px;flex-shrink:0;border-right:1px solid color-mix(in srgb,var(--line) 90%,transparent);overflow-y:auto;background:color-mix(in srgb,var(--panel-2) 72%,var(--panel));padding:8px 5px}.whatsnew-nav-title{font-size:var(--fs-2xs);font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:2px 8px 6px}.whatsnew-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.whatsnew-nav-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;border:none;background:transparent;padding:7px 10px;cursor:pointer;font:inherit;color:var(--ink);border-radius:var(--radius-sm);border-left:none;transition:background .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease)}.whatsnew-nav-item:hover{background:color-mix(in srgb,var(--ink) 4.5%,transparent)}.whatsnew-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.whatsnew-nav-item.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.whatsnew-nav-item-title{font-size:var(--fs-sm);font-weight:650;letter-spacing:-.01em;line-height:1.25}.whatsnew-nav-item-date{font-size:var(--fs-2xs);color:var(--muted);letter-spacing:-.005em;font-variant-numeric:tabular-nums}.whatsnew-main{flex:1;min-width:0;overflow-y:auto;padding:14px 16px 12px}.whatsnew-entry-focus{padding:0;border:none}.whatsnew-entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.whatsnew-entry-title{margin:0;font-size:17px;font-weight:750;letter-spacing:-.02em;color:var(--ink);line-height:1.3}.whatsnew-badge{display:inline-block;font-size:var(--fs-2xs);font-weight:750;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:var(--radius-pill);margin-left:8px;vertical-align:middle;box-shadow:var(--shadow-xs)}.whatsnew-entry-date{font-size:12.5px;font-weight:550;color:var(--muted);white-space:nowrap;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.whatsnew-entry-summary{margin:10px 0 14px;font-size:14px;line-height:1.55;letter-spacing:-.005em;color:color-mix(in srgb,var(--ink) 88%,var(--muted))}.whatsnew-entry-list{margin:0;padding-left:1.2em;font-size:13.5px;line-height:1.55;letter-spacing:-.005em;color:var(--muted)}.whatsnew-entry-list li{margin-bottom:7px;padding-left:2px}.whatsnew-entry-list li::marker{color:color-mix(in srgb,var(--accent) 55%,var(--muted))}.whatsnew-list-toggle{display:none;margin-top:14px;width:100%}.whatsnew-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px 12px;border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:color-mix(in srgb,var(--panel-2) 45%,var(--panel));flex-shrink:0}.whatsnew-pager{display:inline-flex;align-items:center;gap:8px}.whatsnew-page-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;min-height:34px}.whatsnew-page-btn:disabled{opacity:.35;cursor:default}.whatsnew-page-pos{font-size:12.5px;font-weight:600;letter-spacing:-.01em;color:var(--muted);min-width:4.5em;text-align:center;font-variant-numeric:tabular-nums}.whatsnew-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent-fill);margin-left:6px;vertical-align:middle;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}[data-theme=dark] .whatsnew-modal{background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 1px #ffffff0a inset,var(--shadow-lg);border-color:color-mix(in srgb,var(--line) 80%,transparent)}@media (max-width: 640px){.whatsnew-modal{width:min(96vw,520px);max-height:min(90vh,720px)}.whatsnew-nav{display:none;position:absolute;z-index:2;left:0;right:0;top:0;bottom:52px;width:auto;border-right:none;border-bottom:1px solid var(--line)}.whatsnew-nav.open{display:block}.whatsnew-layout{position:relative}.whatsnew-list-toggle{display:block}.whatsnew-page-btn .bar-label{display:none}}.dlg-backdrop{z-index:var(--z-dialog);background:color-mix(in srgb,#0f172a 42%,transparent);backdrop-filter:blur(8px) saturate(1.15);-webkit-backdrop-filter:blur(8px) saturate(1.15);animation:dlg-scrim-in .16s var(--ease)}.dlg-modal{width:min(420px,94vw);max-height:none;overflow:visible;padding-bottom:0;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));background:color-mix(in srgb,var(--panel) 97%,transparent);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0a inset;animation:dlg-modal-in .18s var(--ease)}.dlg-modal .help-head{padding:16px 18px 14px;font-size:var(--fs-lg);font-weight:700;letter-spacing:-.02em;border-bottom-color:color-mix(in srgb,var(--line) 85%,transparent)}.dlg-body{padding:14px 18px 16px}.dlg-msg{margin:0;font-size:13.5px;line-height:1.45;font-weight:450;color:color-mix(in srgb,var(--ink) 88%,var(--muted));white-space:pre-wrap;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}.dlg-input{display:block;width:100%;margin-top:12px;font-weight:500}.dlg-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;padding-top:0}@keyframes dlg-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes dlg-modal-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.btn.danger-solid,.app .btn.danger-solid{min-height:36px;--danger-fill: var(--danger);background:var(--danger-fill);border-color:var(--danger-fill);color:var(--on-danger);font-weight:650;box-shadow:0 1px 2px color-mix(in srgb,var(--danger) 30%,transparent)}[data-theme=dark] .btn.danger-solid{--danger-fill: color-mix(in srgb, var(--danger) 74%, #000)}.btn.danger-solid:hover:not(:disabled),.app .btn.danger-solid:hover:not(:disabled){background:color-mix(in srgb,var(--danger-fill) 88%,#000);border-color:color-mix(in srgb,var(--danger-fill) 88%,#000);color:var(--on-danger)}.theme-seg{display:inline-flex;align-items:center;justify-content:center;min-width:32px;color:var(--muted)}.theme-seg.active{color:var(--accent)}.theme-seg .ico,.theme-seg svg{display:block}.elev-dl{display:inline-flex;align-items:center;gap:6px;font-weight:600;letter-spacing:-.01em;text-decoration:none;flex-shrink:0}.update-toast{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--panel-glass) 94%,transparent);color:var(--ink);padding:12px 14px 12px 16px;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--line) 82%,var(--ink));box-shadow:0 1px #ffffff8c inset,var(--shadow-float),0 0 0 1px color-mix(in srgb,var(--ink) 2.5%,transparent);backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35);z-index:var(--z-banner);font-size:13.5px;font-weight:550;letter-spacing:-.01em;max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center;animation:toast-in .22s var(--ease);-webkit-font-smoothing:antialiased}.update-toast-msg{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}.update-toast-msg .ico{color:var(--accent);flex-shrink:0}.update-toast-btn{display:inline-flex;align-items:center;gap:5px;min-height:32px}.update-toast-dismiss{border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;padding:0;width:32px;height:32px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}.update-toast-dismiss:hover{background:color-mix(in srgb,var(--panel-2) 88%,transparent);border-color:color-mix(in srgb,var(--line) 90%,var(--ink));color:var(--ink)}.update-toast-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 480px){.update-toast{left:12px;right:12px;transform:none;max-width:none;animation-name:toast-in-mobile}}@keyframes toast-in-mobile{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .update-toast{background:color-mix(in srgb,var(--panel-glass) 92%,transparent);border-color:color-mix(in srgb,var(--line) 72%,var(--ink));box-shadow:0 1px #ffffff0e inset,var(--shadow-float),0 0 0 1px #00000047}[data-theme=dark] .update-toast-dismiss:hover{background:color-mix(in srgb,var(--panel-2) 82%,transparent);border-color:color-mix(in srgb,var(--line) 80%,var(--ink))}@media (prefers-reduced-motion: reduce){.update-toast{animation:none}}[data-theme=dark]{--bg: #0c1118;--panel: #121923;--panel-2: #18212d;--panel-3: #202b38;--ink: #f3f6fb;--muted: #96a2b3;--line: #293442;--line-strong: #3a4859;--accent: #7894ff;--accent-hover: #91a8ff;--accent-soft: #202d59;--danger: #ff6369;--ok: #46ca87;--fav: #f0b429;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .18);--shadow: 0 1px 2px rgba(0, 0, 0, .18), 0 10px 28px rgba(0, 0, 0, .24);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .42), 0 3px 10px rgba(0, 0, 0, .22);--shadow-float: 0 14px 38px rgba(0, 0, 0, .38), 0 2px 8px rgba(0, 0, 0, .2);--panel-glass: rgba(18, 25, 35, .86);--warn: #d9a35b;--accent-fill: var(--accent);--accent-fill-hover: var(--accent-hover);--on-accent: #0d1420;--ai-1: #9a9ed0;--ai-2: #8fb8ad;--ai-3: #d1a797;color-scheme:dark}[data-theme=dark] .topbar{box-shadow:0 1px #ffffff08 inset,var(--shadow-xs)}[data-theme=dark] .history-seg{box-shadow:inset 0 1px 1px #00000038;border-color:color-mix(in srgb,var(--line) 88%,var(--ink))}[data-theme=dark] .history-seg .btn.seg-btn.icon-only:hover:not(:disabled){background:color-mix(in srgb,var(--panel) 72%,transparent);box-shadow:var(--shadow-xs)}[data-theme=dark] .history-seg .btn.seg-btn[disabled],[data-theme=dark] .history-seg .btn.seg-btn.icon-only:disabled{color:color-mix(in srgb,var(--muted) 38%,var(--panel-2))}[data-theme=dark] .btn.icon-only.site-gear:hover:not(:disabled){background:var(--panel-2);border-color:var(--line-strong)}[data-theme=dark] .tool-btn.active{box-shadow:0 1px 4px color-mix(in srgb,var(--accent) 50%,transparent)}[data-theme=dark] .canvas-fabs .fab-seg .seg-btn.active{background:#e8edf4;color:#0c1118;box-shadow:none}[data-theme=dark] .sel-toolbar,[data-theme=dark] .zoom-controls,[data-theme=dark] .canvas-fabs .fab,[data-theme=dark] .canvas-fabs .fab-seg,[data-theme=dark] .north-arrow,[data-theme=dark] .scale-bar{box-shadow:0 1px #ffffff0a inset,var(--shadow-float);border-color:color-mix(in srgb,var(--line) 80%,var(--ink))}[data-theme=dark] .sel-toolbar .btn:hover,[data-theme=dark] .zoom-controls .btn:hover,[data-theme=dark] .canvas-fabs .fab:hover:not(.fab-render),[data-theme=dark] .canvas-fabs .fab-seg .seg-btn:hover:not(.active){background:color-mix(in srgb,var(--panel-2) 78%,transparent)}[data-theme=dark] .canvas-fabs .fab-render{background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel-glass));border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}[data-theme=dark] .canvas-fabs .fab-render:hover{background:color-mix(in srgb,var(--accent-soft) 92%,var(--panel));border-color:var(--input-focus-border)}[data-theme=dark] .credits-pill{background:linear-gradient(180deg,var(--accent-soft),var(--panel));border-color:color-mix(in srgb,var(--accent) 36%,var(--line));box-shadow:0 1px #ffffff0a inset,var(--shadow-xs);color:var(--ink)}[data-theme=dark] .credits-pill:hover{background:color-mix(in srgb,var(--accent-soft) 75%,var(--panel-2));border-color:var(--input-focus-border);color:var(--accent)}[data-theme=dark] .credits-pill:active{background:color-mix(in srgb,var(--accent-soft) 88%,var(--panel-2))}[data-theme=dark] .credits-pill .ico{color:var(--accent)}[data-theme=dark] .save-pill{background:color-mix(in srgb,var(--panel-2) 88%,transparent);border-color:color-mix(in srgb,var(--line) 90%,var(--ink));color:var(--muted);box-shadow:0 1px #ffffff08 inset,var(--shadow-xs)}[data-theme=dark] .save-pill.saving{color:color-mix(in srgb,#f0a020 82%,var(--ink));background:color-mix(in srgb,#f0a020 12%,var(--panel));border-color:color-mix(in srgb,#f0a020 34%,var(--line))}[data-theme=dark] .save-pill.saved{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,var(--panel));border-color:color-mix(in srgb,var(--ok) 32%,var(--line))}[data-theme=dark] .save-pill.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--panel));border-color:color-mix(in srgb,var(--danger) 34%,var(--line))}[data-theme=dark] .save-pill .led{background:color-mix(in srgb,var(--muted) 55%,var(--panel-3));box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent)}[data-theme=dark] .save-pill.saving .led{background:#f0a020;box-shadow:0 0 0 1px color-mix(in srgb,#f0a020 32%,transparent),0 0 7px color-mix(in srgb,#f0a020 42%,transparent)}[data-theme=dark] .save-pill.saved .led{background:var(--ok);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok) 28%,transparent),0 0 6px color-mix(in srgb,var(--ok) 36%,transparent)}[data-theme=dark] .save-pill.error .led{background:var(--danger);box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 28%,transparent),0 0 6px color-mix(in srgb,var(--danger) 34%,transparent)}[data-theme=dark] .menu-group-label{color:color-mix(in srgb,var(--muted) 88%,var(--ink))}[data-theme=dark] .tool-btn[data-tip]:after{background:color-mix(in srgb,var(--bg) 86%,var(--panel));color:var(--ink);box-shadow:var(--shadow-float)}[data-theme=dark] .tool-btn[data-tip]:before{border-right-color:color-mix(in srgb,var(--bg) 86%,var(--panel))}[data-theme=dark] .brand:hover{background:color-mix(in srgb,var(--panel-2) 82%,transparent)}[data-theme=dark] .brand-logo{box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 75%,transparent),var(--shadow-xs)}[data-theme=dark] .plan-name:hover{border-color:color-mix(in srgb,var(--line) 88%,var(--ink));background:color-mix(in srgb,var(--panel-2) 88%,var(--panel))}[data-theme=dark] .plan-name:focus{background:var(--panel-2);border-color:color-mix(in srgb,var(--accent) 48%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}[data-theme=dark] .hint,[data-theme=dark] .v3d-walk-hint{background:color-mix(in srgb,#0a0e14 90%,transparent);border-color:#ffffff0e}[data-theme=dark] .elev-modal.wiz-modal,[data-theme=dark] .wiz-modal{background:color-mix(in srgb,var(--panel) 94%,transparent);border-color:color-mix(in srgb,var(--line) 80%,var(--ink));box-shadow:var(--shadow-lg),0 1px #ffffff0a inset}[data-theme=dark] .wiz-modal .help-head{border-bottom-color:color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 1px #ffffff08 inset}[data-theme=dark] .wiz-lab{color:var(--muted)}[data-theme=dark] .wiz-seg{background:color-mix(in srgb,var(--panel) 70%,var(--panel-2));border-color:var(--line)}[data-theme=dark] .wiz-seg button.sel{background:var(--panel-2);color:var(--accent);box-shadow:var(--shadow-xs)}[data-theme=dark] .wiz-seg button+button{border-left-color:var(--line)}[data-theme=dark] .wiz-style{background:color-mix(in srgb,var(--panel) 88%,var(--panel-2));border-color:var(--line)}[data-theme=dark] .wiz-style:hover{background:var(--panel);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}[data-theme=dark] .wiz-style.sel,[data-theme=dark] .wiz-toggle.on{background:var(--accent-soft);border-color:var(--input-focus-border)}[data-theme=dark] .wiz-style.sel:hover{background:color-mix(in srgb,var(--accent-soft) 90%,var(--panel-2))}[data-theme=dark] .wiz-style small{color:var(--muted)}[data-theme=dark] .wiz-toggle{background:color-mix(in srgb,var(--panel) 88%,var(--panel-2));border-color:var(--line);color:var(--ink)}[data-theme=dark] .wiz-toggle:hover{background:var(--panel);border-color:color-mix(in srgb,var(--accent) 36%,var(--line))}[data-theme=dark] .wiz-toggle.on:hover{background:color-mix(in srgb,var(--accent-soft) 90%,var(--panel-2))}[data-theme=dark] .wiz-stepper{background:color-mix(in srgb,var(--panel) 55%,transparent)}[data-theme=dark] .wiz-stepper button{background:color-mix(in srgb,var(--panel) 88%,var(--panel-2));border-color:var(--line);color:var(--ink)}[data-theme=dark] .wiz-stepper button:hover:not(:disabled){background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}[data-theme=dark] .wiz-floor{background:color-mix(in srgb,var(--panel-2) 80%,var(--panel));border-color:var(--line);box-shadow:none}[data-theme=dark] .wiz-floor-title{border-bottom-color:color-mix(in srgb,var(--line) 75%,transparent);color:var(--muted)}[data-theme=dark] .wiz-name{background:color-mix(in srgb,var(--panel) 90%,var(--panel-2));border-color:var(--line);color:var(--ink)}[data-theme=dark] .wiz-name:hover{border-color:var(--line-strong)}[data-theme=dark] .wiz-name:focus{background:var(--panel);border-color:var(--input-focus-border)}[data-theme=dark] .wiz-summary{background:color-mix(in srgb,var(--panel-2) 78%,var(--panel));border-color:var(--line);color:var(--ink)}[data-theme=dark] .wiz-note{color:var(--muted)}[data-theme=dark] .wiz-foot{background:color-mix(in srgb,var(--panel-2) 70%,var(--panel));border-top-color:color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 1px #ffffff08 inset}[data-theme=dark] .elev-modal,[data-theme=dark] .elev-modal.share-modal,[data-theme=dark] .elev-modal.credits-modal,[data-theme=dark] .share-modal,[data-theme=dark] .credits-modal{background:color-mix(in srgb,var(--panel) 94%,transparent);border-color:color-mix(in srgb,var(--line) 80%,var(--ink));box-shadow:var(--shadow-lg),0 1px #ffffff0a inset}[data-theme=dark] .elev-modal .help-head,[data-theme=dark] .share-modal .help-head,[data-theme=dark] .credits-modal .help-head{border-bottom-color:color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 1px #ffffff08 inset;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 35%,transparent),transparent)}[data-theme=dark] .elev-img{border-color:color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--panel-2) 80%,var(--panel));box-shadow:0 1px #ffffff08 inset}[data-theme=dark] .share-vis{background:color-mix(in srgb,var(--panel) 88%,var(--panel-2));border-color:var(--line);color:var(--ink)}[data-theme=dark] .share-vis:hover{background:var(--panel)}[data-theme=dark] .share-vis.sel{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 65%,var(--line))}[data-theme=dark] .share-vis.sel .share-vis-desc,[data-theme=dark] .share-vis.sel div:last-child{color:var(--muted)}[data-theme=dark] .share-row{background:color-mix(in srgb,var(--panel-2) 80%,var(--panel));border-color:var(--line)}[data-theme=dark] .share-input{background:color-mix(in srgb,var(--panel-2) 72%,var(--panel));border-color:var(--line);color:var(--ink)}[data-theme=dark] .share-input:hover{border-color:var(--line-strong)}[data-theme=dark] .share-input:focus{background:var(--panel)}[data-theme=dark] .share-public-fields{background:color-mix(in srgb,var(--panel-2) 55%,var(--panel));border-color:var(--line)}[data-theme=dark] .share-note b{color:var(--ink)}[data-theme=dark] .credits-pack{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 55%,var(--panel)),var(--panel));border-color:var(--line)}[data-theme=dark] .credits-pack:hover{background:var(--panel);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}[data-theme=dark] .credits-balance{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 32%,var(--line));color:var(--accent)}[data-theme=dark] .credits-bonus{background:color-mix(in srgb,var(--ok) 16%,var(--panel));border-color:color-mix(in srgb,var(--ok) 32%,var(--line))}[data-theme=dark] .credits-warn{background:color-mix(in srgb,#f0a020 14%,var(--panel));border-color:color-mix(in srgb,#f0a020 32%,var(--line));color:color-mix(in srgb,#e8c070 72%,var(--ink))}[data-theme=dark] .credits-warn .ico{color:#e8c070}[data-theme=dark] .share-done{background:color-mix(in srgb,var(--ok) 12%,var(--panel));border-color:color-mix(in srgb,var(--ok) 28%,var(--line))}[data-theme=dark] .floors-delete:hover,[data-theme=dark] .floors-delete:focus-visible{background:color-mix(in srgb,var(--danger) 18%,var(--panel));color:var(--danger)}[data-theme=dark] .floors-delete .ico,[data-theme=dark] .floors-delete:hover .ico,[data-theme=dark] .floors-delete:focus-visible .ico{color:var(--danger)}[data-theme=dark] .export-item-sub{color:var(--muted)}[data-theme=dark] .rm-ibtn{background:var(--panel);border-color:var(--line);color:var(--ink)}[data-theme=dark] .rm-pill{background:color-mix(in srgb,var(--panel) 90%,transparent);border-color:color-mix(in srgb,var(--line) 85%,var(--ink));color:var(--ink)}[data-theme=dark] .rm-modal{background:color-mix(in srgb,var(--panel) 94%,transparent);border-color:color-mix(in srgb,var(--line) 80%,var(--ink))}[data-theme=dark] .rm-head{background:color-mix(in srgb,var(--panel) 86%,transparent);box-shadow:0 1px color-mix(in srgb,var(--line) 40%,transparent) inset,var(--shadow-xs)}[data-theme=dark] .rm-tab.sel,[data-theme=dark] .rm-seg button.sel{background:var(--panel-2)}[data-theme=dark] .viewer3d-controls,[data-theme=dark] .viewer3d-chip,[data-theme=dark] .v3d-edit-toolbar,[data-theme=dark] .v3d-undo,[data-theme=dark] .v3d-walk-btn,[data-theme=dark] .v3d-walk-exit{background:var(--panel-glass);border-color:color-mix(in srgb,var(--line) 75%,rgba(255,255,255,.12));box-shadow:var(--shadow-float)}[data-theme=dark] .v3d-walk-btn,[data-theme=dark] .v3d-walk-exit,[data-theme=dark] .v3d-undo{box-shadow:0 1px #ffffff0f inset,var(--shadow-float)}[data-theme=dark] .viewer3d-chip:hover,[data-theme=dark] .v3d-walk-btn:hover,[data-theme=dark] .v3d-walk-exit:hover{background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel-glass));border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}[data-theme=dark] .v3d-walk-btn:hover,[data-theme=dark] .v3d-walk-exit:hover{box-shadow:0 1px #ffffff0d inset,var(--shadow-lg)}[data-theme=dark] .v3d-edit-toolbar button:hover,[data-theme=dark] .v3d-undo button:hover{background:var(--panel-2)}[data-theme=dark] .v3d-edit-toolbar button.danger:hover{background:color-mix(in srgb,var(--danger) 18%,transparent)}[data-theme=dark] .v3d-eye,[data-theme=dark] .v3d-solo{background:color-mix(in srgb,var(--panel-2) 80%,transparent);border-color:color-mix(in srgb,var(--line) 85%,rgba(255,255,255,.08))}[data-theme=dark] .v3d-eye:hover,[data-theme=dark] .v3d-solo:hover{background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel));border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}[data-theme=dark] .v3d-seg{background:color-mix(in srgb,var(--panel-2) 55%,transparent);border-color:color-mix(in srgb,var(--line) 80%,transparent)}[data-theme=dark] .v3d-title{border-top-color:color-mix(in srgb,var(--line) 70%,transparent)}[data-theme=dark] .v3d-joystick{background:color-mix(in srgb,var(--panel-glass) 62%,rgba(0,0,0,.28));border-color:color-mix(in srgb,var(--line) 60%,rgba(255,255,255,.14));box-shadow:0 1px #ffffff0f inset,var(--shadow-float)}[data-theme=dark] .v3d-joy-knob{background:color-mix(in srgb,var(--panel-2) 92%,var(--panel));border-color:color-mix(in srgb,var(--line) 70%,rgba(255,255,255,.1));box-shadow:0 1px #ffffff0f inset,var(--shadow),0 2px 10px #00000073}[data-theme=dark] .v3d-edit-toolbar .v3d-sep{background:color-mix(in srgb,var(--line) 80%,rgba(255,255,255,.08))}[data-theme=dark] .empty-canvas{background:radial-gradient(ellipse 72% 48% at 50% 36%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 68%),radial-gradient(ellipse 48% 34% at 50% 78%,color-mix(in srgb,var(--accent) 3.5%,transparent),transparent 58%),var(--canvas-bg, var(--bg))}[data-theme=dark] .empty-canvas-lead{color:color-mix(in srgb,var(--muted) 92%,var(--ink));opacity:1}[data-theme=dark] .start-card{background:color-mix(in srgb,var(--panel) 92%,transparent);border-color:color-mix(in srgb,var(--line) 88%,rgba(255,255,255,.06));box-shadow:0 1px #ffffff0b inset,var(--shadow-xs)}[data-theme=dark] .start-card:hover{background:color-mix(in srgb,var(--panel-2) 88%,var(--panel));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 1px #ffffff0f inset,var(--shadow-float)}[data-theme=dark] .start-card-ai{background:color-mix(in srgb,var(--accent-soft) 62%,var(--panel));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 1px #ffffff0d inset,var(--shadow-xs),0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent)}[data-theme=dark] .start-card-ai:hover{background:color-mix(in srgb,var(--accent-soft) 82%,var(--panel-2));border-color:var(--input-focus-border);box-shadow:0 1px #ffffff0f inset,var(--shadow-float),0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}[data-theme=dark] .start-ico{background:color-mix(in srgb,var(--accent-soft) 68%,var(--panel));border-color:color-mix(in srgb,var(--accent) 24%,var(--line));box-shadow:0 1px #ffffff0d inset,var(--shadow-xs)}[data-theme=dark] .start-card:hover .start-ico{background:color-mix(in srgb,var(--accent-soft) 88%,var(--panel-2));border-color:color-mix(in srgb,var(--accent) 36%,var(--line))}[data-theme=dark] .start-card-ai .start-ico{background:color-mix(in srgb,var(--accent) 16%,var(--panel));border-color:color-mix(in srgb,var(--accent) 34%,var(--line))}[data-theme=dark] .panel-scroll,[data-theme=dark] .side-scroll,[data-theme=dark] .menu-pop,[data-theme=dark] .ai-messages{scrollbar-color:color-mix(in srgb,var(--muted) 55%,transparent) transparent}[data-theme=dark] .panel-scroll::-webkit-scrollbar-thumb,[data-theme=dark] .side-scroll::-webkit-scrollbar-thumb,[data-theme=dark] .menu-pop::-webkit-scrollbar-thumb,[data-theme=dark] .ai-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 48%,transparent)}[data-theme=dark] .panel-scroll::-webkit-scrollbar-thumb:hover,[data-theme=dark] .side-scroll::-webkit-scrollbar-thumb:hover,[data-theme=dark] .menu-pop::-webkit-scrollbar-thumb:hover,[data-theme=dark] .ai-messages::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 70%,transparent)}[data-theme=dark] .ai-chat{background:var(--panel)}[data-theme=dark] .ai-input{background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 88%,transparent),color-mix(in srgb,var(--panel-2) 55%,var(--panel)));border-top-color:color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 -1px color-mix(in srgb,var(--line) 45%,transparent),0 -12px 28px #00000038}[data-theme=dark] .ai-input textarea{background:color-mix(in srgb,var(--panel-2) 55%,var(--panel));border-color:color-mix(in srgb,var(--line) 88%,var(--ink));box-shadow:inset 0 1px 1px #0000002e,0 1px #ffffff08 inset}[data-theme=dark] .ai-input textarea:hover:not(:disabled):not(:focus){border-color:var(--line-strong)}[data-theme=dark] .ai-input textarea:focus{background:var(--panel);border-color:var(--input-focus-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}[data-theme=dark] .ai-send.btn.active{box-shadow:0 1px #ffffff14 inset,0 1px 2px color-mix(in srgb,var(--accent) 35%,transparent)}[data-theme=dark] .ai-send.btn.active:hover:not(:disabled){box-shadow:0 1px #ffffff1a inset,0 1px 3px color-mix(in srgb,var(--accent) 40%,transparent)}[data-theme=dark] .ai-attach{background:color-mix(in srgb,var(--panel-2) 55%,var(--panel));border-color:color-mix(in srgb,var(--line) 88%,var(--ink));box-shadow:0 1px #ffffff0a inset,var(--shadow-xs)}[data-theme=dark] .ai-attach:hover:not(:disabled){background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent)}[data-theme=dark] .ai-chip{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 70%,var(--panel)),color-mix(in srgb,var(--panel-2) 90%,var(--panel-3)));border-color:color-mix(in srgb,var(--line) 88%,var(--ink));box-shadow:0 1px #ffffff0a inset,var(--shadow-xs)}[data-theme=dark] .ai-chip:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 88%,var(--panel)),color-mix(in srgb,var(--accent-soft) 100%,var(--panel-2)));border-color:color-mix(in srgb,var(--accent) 36%,var(--line));box-shadow:0 1px #ffffff0d inset,var(--shadow-xs)}[data-theme=dark] .ai-msg{box-shadow:0 1px #ffffff0a inset,var(--shadow-xs)}[data-theme=dark] .ai-msg.user{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 12%,var(--accent)),var(--accent));border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 1px #ffffff1a inset,0 1px 2px color-mix(in srgb,var(--accent) 35%,transparent),0 4px 14px #0f172a21}[data-theme=dark] .ai-msg.assistant{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 40%,var(--panel)),color-mix(in srgb,var(--panel-2) 55%,var(--panel)));border-color:color-mix(in srgb,var(--line) 88%,var(--ink));box-shadow:0 1px #ffffff0a inset,var(--shadow-xs)}[data-theme=dark] .ai-msg.thinking{background:color-mix(in srgb,var(--panel-2) 70%,var(--panel));border-color:color-mix(in srgb,var(--line) 88%,var(--ink))}[data-theme=dark] .ai-msg.error{background:color-mix(in srgb,var(--danger) 12%,var(--panel));border-color:color-mix(in srgb,var(--danger) 32%,var(--line))}[data-theme=dark] .ai-modelbar,[data-theme=dark] .ai-convobar{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 55%,var(--panel)),color-mix(in srgb,var(--panel) 88%,var(--panel-2)));border-bottom-color:color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 1px #ffffff08 inset}[data-theme=dark] .ai-modelbar select,[data-theme=dark] .ai-convobar select,[data-theme=dark] .ai-new-btn,[data-theme=dark] .ai-follow{background:color-mix(in srgb,var(--panel-2) 55%,var(--panel));box-shadow:inset 0 1px 1px #00000024,0 1px #ffffff08 inset}[data-theme=dark] .ai-new-btn:hover:not(:disabled),[data-theme=dark] .ai-follow:hover{background:color-mix(in srgb,var(--accent-soft) 28%,var(--panel));border-color:color-mix(in srgb,var(--accent) 32%,var(--line));color:color-mix(in srgb,var(--accent) 78%,var(--ink))}[data-theme=dark] .ai-cancel{box-shadow:inset 0 1px 1px #0000001a,0 1px #ffffff08 inset}[data-theme=dark] .ai-follow.on{background:color-mix(in srgb,var(--accent-soft) 34%,var(--panel));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:color-mix(in srgb,var(--accent) 82%,var(--ink))}[data-theme=dark] .ai-attachment img{border-color:color-mix(in srgb,var(--line) 88%,var(--ink));box-shadow:var(--shadow-xs)}.cat-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:calc(var(--radius-sm) - 1px);display:block;margin:0 auto 2px;background:color-mix(in srgb,var(--panel-2) 88%,var(--panel-3));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent)}.cat-chips{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:2px 0 12px;margin-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.cat-chips::-webkit-scrollbar{height:5px}.cat-room-chips{display:flex;gap:5px;flex-wrap:wrap;padding:0 0 10px;margin-top:-2px}.cat-room-chips .cat-chip{font-size:var(--fs-xs);padding:4px 8px}.room-kit-grid{grid-template-columns:1fr 1fr;gap:6px}.room-kit-grid .kind-card{min-height:52px;padding:8px 8px 7px;align-items:flex-start;text-align:left}.room-kit-label{display:block;font-size:var(--fs-sm);font-weight:700;color:var(--ink)}.room-kit-blurb{display:block;margin-top:2px;font-size:var(--fs-2xs);font-weight:500;line-height:1.3;color:var(--muted, #7a8494)}.room-kit-grid .kind-card img{display:none}.section-title .furn-size-badge{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:650;letter-spacing:0;text-transform:none;color:var(--sub, #5d6673);background:color-mix(in srgb,var(--panel-2) 90%,var(--line));vertical-align:middle}.cat-search{display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;margin-bottom:8px;padding:0 8px;border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel) 96%,var(--panel-2));color:var(--muted);min-height:28px;box-shadow:inset 0 1px 1px color-mix(in srgb,var(--ink) 3.5%,transparent),0 1px #fff6 inset,var(--shadow-xs);transition:border-color .14s var(--ease),box-shadow .14s var(--ease),background .14s var(--ease);flex-shrink:0}.cat-search:hover{border-color:var(--line-strong)}.cat-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:12.5px;font-family:inherit;color:var(--ink);padding:5px 0;letter-spacing:-.01em}.cat-search input::placeholder{color:color-mix(in srgb,var(--muted) 88%,transparent);letter-spacing:-.005em}.cat-search:focus-within{border-color:var(--input-focus-border);background:var(--panel);color:var(--ink);box-shadow:var(--input-focus-ring)}.cat-search-clear{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:0;width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s var(--ease),color .12s var(--ease)}.cat-search-clear:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.cat-search-clear:focus-visible{outline:2px solid var(--accent);outline-offset:0}.cat-tabs{display:flex;gap:4px;margin-bottom:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 0 2px}.cat-tabs::-webkit-scrollbar{display:none}.cat-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;background:color-mix(in srgb,var(--panel-2) 88%,var(--panel));border-radius:var(--radius-pill);padding:5px 9px;font-size:11.5px;font-weight:650;letter-spacing:-.01em;color:var(--muted);cursor:pointer;white-space:nowrap;font-family:inherit;min-height:28px;transition:border-color .12s var(--ease),color .12s var(--ease),background .12s var(--ease),box-shadow .12s var(--ease)}.cat-tab:hover{background:var(--panel);border-color:color-mix(in srgb,var(--line) 90%,var(--ink));color:var(--ink);box-shadow:var(--shadow-xs)}.cat-tab.sel{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent);box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 32%,transparent)}.cat-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cat-fav{position:absolute;top:3px;right:3px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--panel) 86%,transparent);backdrop-filter:blur(8px) saturate(1.15);-webkit-backdrop-filter:blur(8px) saturate(1.15);cursor:pointer;line-height:1;padding:3px;min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--muted) 78%,var(--line-strong));z-index:1;border-radius:var(--radius-sm);box-shadow:0 1px color-mix(in srgb,var(--panel) 55%,transparent) inset,var(--shadow-xs);transition:color .12s var(--ease),background .12s var(--ease),border-color .12s var(--ease),box-shadow .12s var(--ease),transform .1s var(--ease)}.cat-fav:hover{color:color-mix(in srgb,var(--fav) 94%,var(--ink));background:color-mix(in srgb,var(--fav) 14%,var(--panel));border-color:color-mix(in srgb,var(--fav) 32%,var(--line));box-shadow:0 1px color-mix(in srgb,var(--panel) 40%,transparent) inset,0 1px 4px color-mix(in srgb,var(--fav) 22%,transparent);transform:scale(1.06)}.cat-fav.on{color:color-mix(in srgb,var(--fav) 98%,var(--ink));background:color-mix(in srgb,var(--fav) 16%,var(--panel));border-color:color-mix(in srgb,var(--fav) 36%,var(--line));box-shadow:0 1px color-mix(in srgb,var(--panel) 35%,transparent) inset,0 1px 3px color-mix(in srgb,var(--fav) 20%,transparent)}.cat-fav.on:hover{background:color-mix(in srgb,var(--fav) 20%,var(--panel));border-color:color-mix(in srgb,var(--fav) 44%,var(--line))}.cat-fav:active{transform:scale(.96)}.cat-fav:focus-visible{outline:2px solid var(--accent);outline-offset:0}.cat-create{width:100%;margin-bottom:8px;padding:5px 9px;font-size:12.5px;font-weight:650;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;border-radius:var(--radius-sm);box-shadow:0 1px color-mix(in srgb,var(--panel) 42%,transparent) inset,0 1px 3px color-mix(in srgb,var(--accent) 28%,transparent);transition:background .12s var(--ease),border-color .12s var(--ease),box-shadow .12s var(--ease),transform .1s var(--ease)}.cat-create:hover:not(:disabled){box-shadow:0 1px color-mix(in srgb,var(--panel) 32%,transparent) inset,0 2px 8px color-mix(in srgb,var(--accent) 30%,transparent)}.cat-create:active:not(:disabled){transform:translateY(.5px);box-shadow:0 1px color-mix(in srgb,var(--panel) 18%,transparent) inset,0 1px 2px color-mix(in srgb,var(--accent) 22%,transparent)}.cat-create:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.asset-modal{max-width:420px}.asset-body{padding:14px 16px 16px}.asset-lab{display:block;font-weight:600;font-size:14px;margin-bottom:8px}.asset-input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:14px;font-family:inherit;resize:vertical;outline:none;background:var(--panel);color:var(--ink);min-height:72px}.asset-input:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-ring)}.asset-examples{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 4px}.asset-error{color:var(--danger, #a13030);font-size:var(--fs-md);margin:8px 0 0}.asset-busy{color:var(--muted);font-size:var(--fs-md);margin:8px 0 0;line-height:1.4}.asset-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;flex-wrap:wrap}.asset-create-btn{display:inline-flex;align-items:center;gap:6px;min-height:38px}.asset-credit-note{padding-bottom:0;margin-top:10px;text-align:left}.elev-head-actions{display:flex;gap:8px;align-items:center;margin-left:auto;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 520px){.asset-modal{width:100%;max-width:none;max-height:min(94vh,100%)}.asset-foot .btn{flex:1;justify-content:center}}.asset-result{text-align:center;padding:6px 0 2px}.asset-result-preview{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px}.asset-result small{display:block;color:var(--muted);margin-top:3px}.asset-result .asset-foot{justify-content:center}.asset-job{cursor:default;min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--panel-2);border-style:dashed}.asset-job-err{border-color:#d4a0a0;background:#fdf6f6}[data-theme=dark] .asset-job-err{background:#a1303026;border-color:#8a4040}.asset-job-thumb{font-size:var(--fs-xl);line-height:1.2;height:28px;display:flex;align-items:center;justify-content:center}.asset-job-spin{display:inline-flex;animation:asset-spin 1.1s linear infinite;color:var(--accent)}.asset-job-err .asset-job-thumb{color:#a13030}@keyframes asset-spin{to{transform:rotate(360deg)}}.asset-job-label{font-size:var(--fs-xs);font-weight:700;color:var(--muted)}.asset-job-prompt{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--muted);opacity:.85;padding:0 4px}.asset-job-actions{display:flex;gap:4px;margin-top:2px}.asset-job-actions button{border:none;background:transparent;cursor:pointer;font-size:var(--fs-md);padding:4px;min-width:28px;min-height:28px;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.asset-job-actions button:hover{color:var(--text, #1a1a1a);background:#0000000d}.asset-job-err-msg{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#a13030;padding:0 4px}.cat-chip{border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));border-radius:var(--radius-pill);padding:5px 11px;font-size:var(--fs-xs);font-weight:650;letter-spacing:-.005em;color:color-mix(in srgb,var(--muted) 92%,var(--ink));background:color-mix(in srgb,var(--panel-2) 80%,var(--panel));cursor:pointer;white-space:nowrap;font-family:inherit;min-height:28px;display:inline-flex;align-items:center;gap:4px;transition:border-color .12s var(--ease),color .12s var(--ease),background .12s var(--ease),box-shadow .12s var(--ease)}.cat-chip:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 80%,var(--panel));box-shadow:var(--shadow-xs)}.cat-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cat-group-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 6px;margin:0 -4px;border-radius:var(--radius-sm);min-height:28px;outline:none;border:1px solid transparent;transition:color .12s var(--ease),background .12s var(--ease),border-color .12s var(--ease),box-shadow .12s var(--ease)}.cat-group-toggle:hover{color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 72%,transparent);border-color:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:var(--shadow-xs)}.cat-group-toggle:active{background:color-mix(in srgb,var(--accent-soft) 92%,var(--panel));border-color:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:none}.cat-group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cat-group-toggle:hover .cat-count{color:color-mix(in srgb,var(--accent) 70%,var(--muted))}.cat-count{display:inline-flex;align-items:center;gap:3px;font-size:10px;line-height:1.2;color:var(--muted);font-weight:650;letter-spacing:.01em;font-variant-numeric:tabular-nums}[data-theme=dark] .cat-fav{background:color-mix(in srgb,var(--panel-2) 78%,transparent);border-color:color-mix(in srgb,var(--line) 80%,var(--ink));box-shadow:0 1px #ffffff0a inset,var(--shadow-xs);color:color-mix(in srgb,var(--muted) 85%,var(--ink))}[data-theme=dark] .cat-fav:hover{color:color-mix(in srgb,var(--fav) 96%,var(--ink));background:color-mix(in srgb,var(--fav) 16%,var(--panel));border-color:color-mix(in srgb,var(--fav) 38%,var(--line));box-shadow:0 1px #ffffff0d inset,0 1px 5px color-mix(in srgb,var(--fav) 28%,transparent)}[data-theme=dark] .cat-fav.on{color:var(--fav);background:color-mix(in srgb,var(--fav) 18%,var(--panel));border-color:color-mix(in srgb,var(--fav) 42%,var(--line));box-shadow:0 1px #ffffff0a inset,0 1px 4px color-mix(in srgb,var(--fav) 26%,transparent)}[data-theme=dark] .cat-fav.on:hover{background:color-mix(in srgb,var(--fav) 24%,var(--panel));border-color:color-mix(in srgb,var(--fav) 50%,var(--line))}[data-theme=dark] .cat-create{box-shadow:0 1px #ffffff14 inset,0 1px 3px color-mix(in srgb,var(--accent) 35%,transparent)}[data-theme=dark] .cat-create:hover:not(:disabled){box-shadow:0 1px #ffffff1a inset,0 2px 10px color-mix(in srgb,var(--accent) 38%,transparent)}[data-theme=dark] .cat-create:active:not(:disabled){box-shadow:0 1px #ffffff0d inset,0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent)}[data-theme=dark] .cat-group-toggle:hover{background:color-mix(in srgb,var(--accent-soft) 80%,transparent);border-color:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:var(--shadow-xs)}[data-theme=dark] .cat-group-toggle:active{background:color-mix(in srgb,var(--accent-soft) 95%,var(--panel-2));border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.kind-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.kind-card{border:1px solid color-mix(in srgb,var(--line) 94%,var(--ink));border-radius:var(--radius-sm);background:var(--panel);cursor:pointer;overflow:hidden;padding:0;text-align:center;font:inherit;color:var(--ink);box-shadow:var(--shadow-xs);transition:border-color .12s var(--ease),box-shadow .12s var(--ease),background .12s var(--ease),transform .1s var(--ease)}.kind-card:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel));box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 10%,transparent);transform:translateY(-1px)}.kind-card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.kind-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 72%,var(--panel));box-shadow:0 0 0 1px var(--accent) inset,var(--shadow-xs)}.kind-card img{width:100%;aspect-ratio:48 / 39;object-fit:cover;display:block;background:var(--panel-2)}.kind-card span{display:block;font-size:var(--fs-2xs);font-weight:650;letter-spacing:-.01em;padding:3px 3px 4px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kind-noimg{display:grid;place-items:center;width:100%;aspect-ratio:48 / 39;background:var(--panel-2);color:var(--muted);font-size:var(--fs-2xl)}.viewer-zoom{position:absolute;right:14px;bottom:max(72px,calc(env(safe-area-inset-bottom) + 64px));z-index:9;display:flex;flex-direction:column;gap:6px}.viewer-zoom-btn{width:36px;height:36px;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:10px!important;background:var(--panel-glass)!important;border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink))!important;box-shadow:var(--shadow-float);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25)}.viewer-zoom-btn:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))!important;color:var(--accent)}.viewer-cta{position:absolute;left:50%;transform:translate(-50%);bottom:max(14px,env(safe-area-inset-bottom));z-index:8;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--panel-glass) 90%,transparent);border:1px solid color-mix(in srgb,var(--line) 82%,var(--ink));box-shadow:var(--shadow-float),0 1px #ffffff8c inset;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);max-width:calc(100% - 24px);white-space:nowrap;flex-wrap:wrap;justify-content:center}.viewer-cta-txt{font-size:var(--fs-md);font-weight:500;letter-spacing:-.01em;color:var(--muted)}.viewer-cta-txt b{color:var(--ink);font-weight:700;letter-spacing:-.015em}.viewer-cta .btn{font-weight:650;box-shadow:0 1px #fff6 inset,var(--shadow-xs)}.viewer-cta .btn:hover:not([disabled]){transform:translateY(-.5px)}@media (max-width: 640px){.viewer-cta-txt{display:none}.viewer-cta{bottom:max(10px,env(safe-area-inset-bottom));padding:7px;border-radius:14px;gap:7px}}.btn:focus-visible,.tool-btn:focus-visible,.menu-item:focus-visible,.cat-item:focus-visible,.tab:focus-visible,.panel-tab:focus-visible,.seg-btn:focus-visible,.overlay-chip:focus-visible,.cat-tab:focus-visible,.avatar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.menu-pop,.dlg-backdrop,.dlg-modal,.help-backdrop,.help-modal,.elev-modal,.wiz-modal,.share-modal,.credits-modal{animation:none!important}}.canvas-fabs{position:absolute;top:10px;right:12px;z-index:7;display:flex;gap:8px;align-items:center}.canvas-fabs .fab,.canvas-fabs .fab-seg{box-shadow:var(--shadow-float);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink))}.canvas-fabs .fab{background:var(--panel-glass);font-weight:650;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius);min-height:34px;color:var(--ink);box-shadow:var(--shadow-float)}.canvas-fabs .fab:hover:not(.fab-render){background:color-mix(in srgb,var(--panel-2) 55%,var(--panel-glass));border-color:color-mix(in srgb,var(--line) 72%,var(--ink));color:var(--ink)}.canvas-fabs .fab:active:not(.fab-render){transform:none;background:color-mix(in srgb,var(--ink) 5%,var(--panel-glass))}.canvas-fabs .fab.icon-only{width:34px;min-width:34px;padding:0;justify-content:center}.canvas-fabs .fab .ico,.canvas-fabs .btn .ico{display:block}.canvas-fabs .fab-render{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel-glass));min-height:34px}.canvas-fabs .fab-render:hover{background:color-mix(in srgb,var(--accent-soft) 85%,var(--panel-glass));border-color:color-mix(in srgb,var(--accent) 50%,var(--line));color:var(--accent)}.canvas-fabs .fab:focus-visible,.canvas-fabs .fab-render:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.canvas-fabs .fab-seg{background:var(--panel-glass);border-radius:var(--radius);padding:3px}.canvas-fabs .fab-seg .btn.seg-btn:not(.icon-only){min-width:36px;font-weight:650;gap:5px;letter-spacing:-.02em;box-shadow:none;background:transparent;border-color:transparent;color:var(--ink)}.canvas-fabs .fab-seg .seg-btn:hover:not(.active){background:color-mix(in srgb,var(--panel-2) 72%,transparent);color:var(--ink)}.canvas-fabs .fab-seg .seg-btn.active{background:var(--ink);color:#fff;box-shadow:none;border-color:transparent}.canvas-fabs .fab-seg .seg-btn .ico{opacity:.9}.canvas-fabs .fab-seg .seg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (max-width: 820px){.canvas-fabs{top:max(8px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));gap:6px}.canvas-fabs .fab-render-label{display:none}.canvas-fabs .fab-render{padding:8px;min-width:38px;justify-content:center}.canvas-fabs .fab.icon-only{width:38px;min-width:38px;min-height:38px}.canvas-fabs .fab-seg .btn.seg-btn:not(.icon-only){padding:7px 10px;min-height:36px}}.credits-pill{display:inline-flex;align-items:center;gap:5px;min-height:34px;height:34px;flex-shrink:0;padding:5px 10px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 80%,var(--panel)),var(--panel));color:var(--ink);font-weight:650;font-size:12.5px;letter-spacing:-.01em;line-height:1;white-space:nowrap;box-shadow:var(--shadow-xs);box-sizing:border-box;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .1s var(--ease)}.credits-pill:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:var(--accent-soft);color:var(--accent)}.credits-pill:active{transform:translateY(.5px);box-shadow:none}.credits-pill .ico{flex-shrink:0;color:var(--accent);display:block}.side-expander .ico{display:block;margin:0 auto}.zoom-controls .btn.icon-only{padding:0;min-width:34px;min-height:34px;justify-content:center}.sel-toolbar .btn.icon-only{padding:0;min-width:34px;min-height:34px;justify-content:center;box-shadow:none;background:transparent;border-color:transparent}.start-ico .ico{color:var(--accent)}.menu-item.export-item,.menu-item.overlay-item{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px}.floors-pop .menu-item.overlay-item{min-height:36px;gap:8px;padding:6px 10px}.avatar-btn{width:34px;height:34px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));padding:0;overflow:hidden;cursor:pointer;background:linear-gradient(145deg,var(--panel-2),var(--panel));flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs),inset 0 1px color-mix(in srgb,var(--panel) 70%,transparent);transition:border-color .14s var(--ease),box-shadow .14s var(--ease),transform .1s var(--ease)}.avatar-btn:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),var(--shadow-xs)}.avatar-btn:active{transform:scale(.97)}.avatar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.credits-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-btn img{width:100%;height:100%;object-fit:cover;display:block}.avatar-fallback{font-size:var(--fs-md);font-weight:750;color:var(--accent);line-height:1;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(160deg,var(--accent-soft),color-mix(in srgb,var(--accent-soft) 55%,var(--panel)))}.profile-pop{min-width:min(280px,calc(100vw - 24px));right:0;max-height:min(80vh,560px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px;gap:2px;box-shadow:var(--shadow-float),0 0 0 1px color-mix(in srgb,var(--line) 75%,transparent)}.profile-head{padding:10px 11px 9px;margin:-2px -2px 5px;border-radius:var(--radius);min-width:0;background:linear-gradient(165deg,color-mix(in srgb,var(--accent-soft) 94%,var(--panel)),color-mix(in srgb,var(--accent-soft) 28%,transparent) 72%,transparent);border:1px solid color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--panel) 65%,transparent)}.profile-name{font-weight:750;font-size:13.5px;letter-spacing:-.018em;color:var(--ink);line-height:1.22;min-width:0}.profile-mail{font-size:11.5px;font-weight:450;color:color-mix(in srgb,var(--muted) 96%,var(--ink));letter-spacing:-.005em;word-break:break-all;margin-top:2px;line-height:1.3;min-width:0}.theme-row{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:default;padding-top:7px;padding-bottom:7px}.theme-row:hover,.theme-row:focus-visible{background:transparent;color:inherit}.theme-row>span:first-child{font-size:var(--fs-md);font-weight:550;color:var(--ink);letter-spacing:-.01em}.theme-row .seg{padding:2px;gap:1px;flex-shrink:0;background:color-mix(in srgb,var(--panel-2) 90%,var(--panel));border-color:color-mix(in srgb,var(--line) 90%,var(--ink));box-shadow:inset 0 1px 1px color-mix(in srgb,var(--ink) 4%,transparent)}.theme-row .seg .btn{padding:5px 9px;font-size:var(--fs-sm);min-width:34px;min-height:30px;justify-content:center;border-radius:6px;color:var(--muted);box-shadow:none}.theme-row .seg .btn:hover{color:var(--ink);background:color-mix(in srgb,var(--panel) 72%,transparent)}.theme-row .seg .btn.active{color:var(--accent);background:var(--panel);box-shadow:var(--shadow-xs);font-weight:650}@media (max-width: 820px){.profile-pop{position:fixed;top:max(var(--topbar-h),calc(env(safe-area-inset-top) + var(--topbar-h)));right:max(8px,env(safe-area-inset-right));left:auto;max-height:min(80vh,calc(100dvh - 64px))}}.panel-scroll,.side-scroll,.menu-pop,.ai-messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 42%,transparent) transparent}.panel-scroll::-webkit-scrollbar,.side-scroll::-webkit-scrollbar,.menu-pop::-webkit-scrollbar,.ai-messages::-webkit-scrollbar{width:8px;height:8px}.panel-scroll::-webkit-scrollbar-track,.side-scroll::-webkit-scrollbar-track,.menu-pop::-webkit-scrollbar-track,.ai-messages::-webkit-scrollbar-track{background:transparent}.panel-scroll::-webkit-scrollbar-thumb,.side-scroll::-webkit-scrollbar-thumb,.menu-pop::-webkit-scrollbar-thumb,.ai-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 38%,transparent);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}.panel-scroll::-webkit-scrollbar-thumb:hover,.side-scroll::-webkit-scrollbar-thumb:hover,.menu-pop::-webkit-scrollbar-thumb:hover,.ai-messages::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 62%,transparent);border:2px solid transparent;background-clip:padding-box}.panel-scroll::-webkit-scrollbar-corner,.side-scroll::-webkit-scrollbar-corner,.menu-pop::-webkit-scrollbar-corner,.ai-messages::-webkit-scrollbar-corner{background:transparent}.side-resizer{width:8px;cursor:col-resize;flex-shrink:0;background:transparent;z-index:11;margin:0 -3px;position:relative;touch-action:none}.side-resizer:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%) scaleY(.94);border-radius:1px;background:transparent;opacity:0;pointer-events:none;transition:background .12s var(--ease),opacity .12s var(--ease),transform .12s var(--ease),box-shadow .12s var(--ease)}.side-resizer:hover:after{background:var(--accent-fill);opacity:.88;transform:translate(-50%) scaleY(1);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}.side-resizer:active:after{background:var(--accent-fill);opacity:1;transform:translate(-50%) scaleY(1);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}@media (prefers-reduced-motion: reduce){.side-resizer:after{transition:none}}.panel-backdrop{display:none}@media (max-width: 820px){.panel-backdrop.mobile-only{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;background:color-mix(in srgb,var(--ink) 38%,transparent);animation:panelScrimIn .18s var(--ease);backdrop-filter:blur(2px) saturate(1.05);-webkit-backdrop-filter:blur(2px) saturate(1.05)}}@keyframes panelScrimIn{0%{opacity:0}to{opacity:1}}.sidebar.collapsed{width:40px!important}.sidebar.collapsed+.side-resizer{display:none}@media (min-width: 821px){.right-panel.closed{display:none}}.panel-collapse{border:none;background:transparent;color:color-mix(in srgb,var(--muted) 90%,var(--ink));font-size:var(--fs-lg);line-height:1;padding:0;width:28px;height:28px;min-width:28px;margin-left:auto;margin-right:1px;margin-bottom:2px;align-self:center;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);flex-shrink:0;touch-action:manipulation;transition:background .12s var(--ease),color .12s var(--ease)}.panel-collapse:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5.5%,transparent)}.panel-collapse:active{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.panel-collapse:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.panel-expander{position:absolute;top:10px;right:10px;z-index:12;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));border-radius:var(--radius);background:var(--panel-glass);color:var(--muted);cursor:pointer;box-shadow:var(--shadow-float);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .12s var(--ease)}.panel-expander:hover{color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel-glass));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:var(--shadow-lg);transform:translateY(-1px)}.panel-expander:active{transform:none;background:color-mix(in srgb,var(--ink) 5%,var(--panel-glass));box-shadow:var(--shadow-float)}.panel-expander:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.body:has(>.panel-expander) .canvas-fabs{right:52px}.body{position:relative}@media (max-width: 820px){.side-resizer,.panel-expander{display:none}.right-panel.closed{display:flex}.canvas-fabs{top:8px;right:10px}}.menu-item,a.menu-item{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px;min-height:34px;padding:6px 10px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}[data-theme=dark] .side-head{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 55%,var(--panel)),color-mix(in srgb,var(--panel) 92%,var(--panel-2)));border-bottom-color:color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 1px #ffffff08 inset}[data-theme=dark] .side-new:not(.side-wizard){box-shadow:0 1px #ffffff14 inset,0 1px 3px color-mix(in srgb,var(--accent) 35%,transparent)}[data-theme=dark] .side-new:not(.side-wizard):hover{box-shadow:0 1px #ffffff1a inset,0 2px 10px color-mix(in srgb,var(--accent) 38%,transparent)}[data-theme=dark] .side-new:not(.side-wizard):active{box-shadow:0 1px #ffffff0f inset,0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent)}[data-theme=dark] .side-search{background:color-mix(in srgb,var(--panel-2) 55%,var(--panel));border-color:color-mix(in srgb,var(--line) 88%,var(--ink));box-shadow:inset 0 1px 1px #0000002e,0 1px #ffffff08 inset}[data-theme=dark] .side-search:hover{border-color:var(--line-strong)}[data-theme=dark] .side-search:focus-within{background:var(--panel);border-color:var(--input-focus-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}[data-theme=dark] .side-search-clear:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}[data-theme=dark] .cat-search{background:color-mix(in srgb,var(--panel-2) 55%,var(--panel));border-color:color-mix(in srgb,var(--line) 88%,var(--ink));box-shadow:inset 0 1px 1px #0000002e,0 1px #ffffff08 inset}[data-theme=dark] .cat-search:hover{border-color:var(--line-strong)}[data-theme=dark] .cat-search:focus-within{background:var(--panel);border-color:var(--input-focus-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}[data-theme=dark] .cat-search-clear:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}[data-theme=dark] .side-wizard{background:linear-gradient(120deg,color-mix(in srgb,var(--accent-soft) 90%,var(--panel)),var(--panel));border-color:color-mix(in srgb,var(--accent) 38%,var(--line));color:var(--ink);box-shadow:0 1px #ffffff0a inset,var(--shadow-xs)}[data-theme=dark] .side-wizard:hover{background:linear-gradient(120deg,color-mix(in srgb,var(--accent-soft) 100%,var(--panel)),color-mix(in srgb,var(--accent-soft) 55%,var(--panel)));border-color:var(--input-focus-border);color:var(--accent-hover);box-shadow:0 1px #ffffff0d inset,0 1px 2px color-mix(in srgb,var(--accent) 18%,transparent),var(--shadow-xs)}[data-theme=dark] .bulk-bar{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 72%,var(--panel)),color-mix(in srgb,var(--accent-soft) 42%,var(--panel)));border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:inset 3px 0 0 var(--accent),0 1px #ffffff08 inset,var(--shadow-xs)}[data-theme=dark] .danger-ghost:hover{background:color-mix(in srgb,var(--danger) 14%,var(--panel))}[data-theme=dark] .panel-expander,[data-theme=dark] .side-expander{box-shadow:0 1px #ffffff0a inset,var(--shadow-float);border-color:color-mix(in srgb,var(--line) 80%,var(--ink))}[data-theme=dark] .panel-expander:hover,[data-theme=dark] .side-expander:hover{background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel-glass));border-color:color-mix(in srgb,var(--accent) 42%,var(--line));box-shadow:0 1px #ffffff0d inset,var(--shadow-lg)}[data-theme=dark] .panel-expander:active,[data-theme=dark] .side-expander:active{background:color-mix(in srgb,var(--ink) 6%,var(--panel-glass));box-shadow:0 1px #ffffff08 inset,var(--shadow-float)}[data-theme=dark] .btn.active,[data-theme=dark] .seg-btn.active{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}.proj-check{width:14px;height:14px;margin:0 2px 0 0;flex-shrink:0;opacity:0;transition:opacity .12s var(--ease)}.proj-row:hover .proj-check,.proj-row.checked .proj-check,.sidebar .bulk-bar~.side-scroll .proj-check{opacity:1}.proj-row.checked{background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel-2));border-color:color-mix(in srgb,var(--accent) 18%,var(--line))}.proj-row.checked:not(.active){box-shadow:var(--shadow-xs)}.bulk-bar{display:flex;flex-direction:column;gap:4px;margin:0 8px 5px;padding:5px 6px 6px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:var(--radius-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 56%,var(--panel)),color-mix(in srgb,var(--accent-soft) 32%,var(--panel)));box-shadow:inset 3px 0 0 var(--accent),var(--shadow-xs)}.bulk-count{font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--accent);line-height:1.2;font-variant-numeric:tabular-nums}.bulk-actions{display:flex;gap:3px;flex-wrap:wrap;align-items:center}.bulk-actions .btn{padding:3px 7px;font-size:var(--fs-xs);font-weight:600;letter-spacing:-.01em;line-height:1.2;min-height:28px;border-radius:var(--radius-sm)}.bulk-actions .btn.icon-only{padding:0;min-width:28px;width:28px;height:28px}.danger-ghost{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line));background:transparent;transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease)}.danger-ghost:hover{background:color-mix(in srgb,var(--danger) 10%,var(--panel));border-color:var(--danger)}.bulk-move-pop{left:0;right:auto;max-height:260px;overflow-y:auto}.folder-head{display:flex;align-items:center;gap:4px;width:100%;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;font-size:var(--fs-2xs);font-weight:700;line-height:1.25;text-transform:uppercase;letter-spacing:.055em;color:color-mix(in srgb,var(--muted) 88%,var(--ink));margin:11px 4px 3px;padding:3px 6px 3px 5px;border-radius:var(--radius-sm);min-height:26px;transition:background .12s var(--ease),color .12s var(--ease)}.folder-head:hover{background:color-mix(in srgb,var(--panel-2) 72%,transparent);color:var(--accent)}.folder-head:hover .folder-count{color:color-mix(in srgb,var(--accent) 55%,var(--muted));border-color:color-mix(in srgb,var(--accent) 18%,var(--line));background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel))}.folder-head:hover .folder-chevron{color:color-mix(in srgb,var(--accent) 48%,var(--muted))}.folder-head:focus-visible{outline:2px solid var(--accent);outline-offset:0}.folder-count{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;min-width:16px;height:15px;padding:0 5px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:color-mix(in srgb,var(--panel-2) 70%,var(--panel));color:color-mix(in srgb,var(--muted) 92%,var(--ink));font-size:9.5px;font-weight:650;letter-spacing:.02em;line-height:1;font-variant-numeric:tabular-nums;text-transform:none;flex-shrink:0;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}.side-tip{flex-shrink:0;padding:5px 8px;font-size:var(--fs-2xs);font-weight:500;letter-spacing:-.005em;line-height:1.25;color:color-mix(in srgb,var(--muted) 92%,var(--ink));border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:color-mix(in srgb,var(--panel-2) 38%,var(--panel))}@media (max-width: 820px){.proj-check{opacity:1}.proj-action{opacity:.9;pointer-events:auto}.side-tip{display:none}.bulk-bar{margin:0 8px 6px;padding:6px 8px 7px;gap:5px}.bulk-actions{gap:5px}.bulk-actions .btn{min-height:34px;padding:5px 9px;font-size:11.5px;flex:1 1 auto}.bulk-actions .btn.icon-only{min-width:34px;width:34px;height:34px;padding:0;flex:0 0 auto}.side-wizard{min-height:38px;margin:6px 8px 4px}.side-new{min-height:38px}.side-search,.proj-row{min-height:36px}}.canvas-loading{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(720px 380px at 50% 42%,color-mix(in srgb,var(--accent) 5.5%,transparent),transparent 62%),var(--canvas-bg, var(--bg));color:color-mix(in srgb,var(--muted) 94%,var(--ink));-webkit-font-smoothing:antialiased}.canvas-loading .spinner{width:28px;height:28px;border-width:2px}.canvas-loading-txt{font-size:12.5px;font-weight:550;letter-spacing:-.015em;line-height:1.3;opacity:.9}.north-arrow{top:58px!important}.side-expander{position:absolute;top:10px;left:10px;z-index:8;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));border-radius:var(--radius);background:var(--panel-glass);color:var(--ink);font-size:var(--fs-lg);cursor:pointer;box-shadow:var(--shadow-float);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .12s var(--ease)}.side-expander:hover{background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel-glass));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.side-expander:active{transform:none;background:color-mix(in srgb,var(--ink) 5%,var(--panel-glass));box-shadow:var(--shadow-float)}.side-expander:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.no-side .viewer3d-controls,.no-side .viewer3d-chip{top:max(12px,env(safe-area-inset-top));left:calc(52px + env(safe-area-inset-left,0px))}:root{--canvas-bg: #fbfcfd}[data-theme=dark]{--canvas-bg: #131a23}@media (max-width: 1520px){.topbar{gap:8px}.topbar .btn{padding:6px 9px;font-size:12.5px}.panel-nav .seg-btn{padding:4px 8px;min-height:28px}.panel-nav .seg-btn:not(.panel-nav-ai){min-width:28px;padding:4px;gap:0}.plan-name{width:110px}.save-txt,.topbar .bar-label{display:none}.topbar .overlays-btn,.topbar .floors-btn,.topbar .menu-wrap[data-tour=share]>.btn{padding:5px 7px;gap:4px}.save-pill{padding:5px;min-width:34px;justify-content:center;gap:0}}@media (max-width: 1280px){.topbar .credits-pill{display:none}}@media (max-width: 820px){.sel-toolbar.mobile-only{bottom:126px;max-width:94vw;flex-wrap:wrap;justify-content:center}.zoom-controls{z-index:6}.hint{bottom:122px}.sel-toolbar.mobile-only~.hint,.canvas-wrap:has(.sel-toolbar) .hint{bottom:178px}}.gal-page{min-height:100vh;background:radial-gradient(1000px 480px at 50% -10%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 55%),var(--bg);font-family:inherit;color:var(--ink)}.gal-wrap{max-width:1180px;margin:0 auto;padding:12px 24px 60px}.gal-title{font-size:28px;font-weight:750;letter-spacing:-.03em;margin:0 0 6px;color:var(--ink)}.gal-lead{color:var(--muted);margin:0 0 18px;font-size:14.5px;line-height:1.5;letter-spacing:-.01em;max-width:52ch}.gal-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.gal-cats{display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex:1;min-width:0}.gal-chip{border:1px solid transparent;background:var(--panel-2);color:var(--muted);border-radius:var(--radius-pill);padding:7px 14px;min-height:34px;font-weight:650;font-size:12.5px;letter-spacing:-.01em;cursor:pointer;font-family:inherit;transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease)}.gal-chip:hover{background:var(--panel);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow-xs)}.gal-chip.on{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--on-accent);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 30%,transparent)}.gal-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gal-search{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--muted);min-height:38px;min-width:min(240px,100%);box-shadow:var(--shadow-xs);transition:border-color .12s var(--ease),box-shadow .12s var(--ease)}.gal-search input{border:none;outline:none;background:transparent;font-size:13.5px;width:100%;min-width:0;font-family:inherit;color:var(--ink);padding:9px 0}.gal-search:focus-within{border-color:var(--accent);box-shadow:var(--input-focus-ring)}.gal-search-clear{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:0;width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.gal-search-clear:hover{background:var(--panel-2);color:var(--ink)}.gal-search-clear:focus-visible{outline:2px solid var(--accent);outline-offset:0}.gal-count{color:var(--muted);font-size:12.5px;margin:10px 0 0}.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:18px}.gal-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xs);transition:transform .16s var(--ease),box-shadow .16s var(--ease),border-color .16s var(--ease)}.gal-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-float);border-color:color-mix(in srgb,var(--accent) 22%,var(--line))}.gal-thumb-link{display:block;aspect-ratio:4 / 3;background:var(--panel-2);overflow:hidden}.gal-thumb-link img{width:100%;height:100%;object-fit:cover;display:block}.gal-thumb{aspect-ratio:4 / 3}.gal-thumb-empty{display:grid;place-items:center;height:100%;color:var(--muted);font-size:var(--fs-md);background:linear-gradient(135deg,var(--panel-2),var(--panel-3));gap:6px;text-align:center}.gal-card-body{padding:12px 14px;display:flex;flex-direction:column;gap:6px;flex:1 1 auto}.gal-card-name{font-weight:700}.gal-card-author{color:var(--muted);font-size:12.5px}.gal-card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-top:auto;padding-top:4px}.gal-retry{margin-top:var(--sp-3)}.gal-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;padding:9px 14px;min-height:40px;box-sizing:border-box;font-weight:700;font-size:13.5px;cursor:pointer;text-decoration:none;font-family:inherit;border:none}.gal-btn.primary{background:var(--accent-fill);color:var(--on-accent)}.gal-btn.primary:hover:not(:disabled){background:var(--accent-fill-hover);filter:none}.gal-btn.primary:disabled{opacity:.7;cursor:default}.gal-btn.ghost{background:var(--panel);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line))}.gal-btn.ghost:hover{background:var(--accent-soft)}.gal-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gal-empty{padding:50px 16px;text-align:center;color:var(--muted)}.gal-empty-ico{display:flex;justify-content:center;margin-bottom:8px;color:var(--muted);opacity:.75}@media (max-width: 640px){.gal-wrap{padding:4px 14px 48px}.gal-title{font-size:26px}.gal-search{margin-left:0;width:100%;min-width:0}.gal-toolbar{flex-direction:column;align-items:stretch;flex-wrap:nowrap}.gal-cats{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.gal-cats::-webkit-scrollbar{display:none}.gal-chip{flex:0 0 auto}}.shimmer{background:linear-gradient(100deg,#eef1f4 40%,#f7f9fb,#eef1f4 60%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.start-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,196px));gap:10px;justify-content:center;margin-top:20px;width:100%;max-width:880px}.start-card{width:100%;background:color-mix(in srgb,var(--panel) 97%,transparent);border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:var(--radius-lg);padding:18px 14px 14px;cursor:pointer;text-align:center;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:5px;min-height:148px;font-family:inherit;align-items:center;font-size:14px;font-weight:650;letter-spacing:-.015em;box-shadow:0 1px #ffffff9e inset,var(--shadow-xs);backdrop-filter:blur(12px) saturate(1.12);-webkit-backdrop-filter:blur(12px) saturate(1.12);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}.start-card:hover{transform:translateY(-2px);box-shadow:0 1px #ffffffb8 inset,var(--shadow-float);border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--panel)}.start-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.start-card:active{transform:translateY(-.5px);box-shadow:var(--shadow)}.start-card-ai{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:color-mix(in srgb,var(--accent-soft) 58%,var(--panel));box-shadow:0 1px #ffffff94 inset,var(--shadow-xs),0 0 0 1px color-mix(in srgb,var(--accent) 9%,transparent)}.start-card-ai:hover{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));background:color-mix(in srgb,var(--accent-soft) 78%,var(--panel));box-shadow:0 1px #ffffffad inset,var(--shadow-float),0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.start-card b{font-weight:700;font-size:13.5px;letter-spacing:-.02em;line-height:1.25;color:var(--ink)}.start-ico{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:4px;font-size:var(--fs-xl);color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 72%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));box-shadow:0 1px #ffffff8c inset,var(--shadow-xs);transition:transform .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease)}.start-card:hover .start-ico{transform:scale(1.05);background:color-mix(in srgb,var(--accent-soft) 92%,var(--panel));border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:0 1px #ffffffa6 inset,var(--shadow-xs)}.start-card-ai .start-ico{background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.start-ico .ico{color:var(--accent);display:block;opacity:.96}.start-card small{color:var(--muted);line-height:1.5;font-weight:450;font-size:12.5px;letter-spacing:-.005em;max-width:15.5em}@media (max-width: 520px){.start-cards{grid-template-columns:1fr;max-width:320px;gap:8px;margin-top:16px}.start-card{min-height:0;padding:16px 14px 14px}.start-ico{width:38px;height:38px;border-radius:var(--radius);margin-bottom:2px}}@media (prefers-reduced-motion: reduce){.start-card,.start-ico{transition:none}.start-card:hover,.start-card:active,.start-card:hover .start-ico{transform:none}}.rm-modal{position:fixed;top:14px;right:14px;bottom:14px;left:14px;background:color-mix(in srgb,var(--panel) 97%,transparent);color:var(--ink);border-radius:calc(var(--radius-lg) + 2px);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0a inset;display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.rm-head{display:flex;align-items:center;gap:12px;padding:10px 14px;background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 1px #ffffff8c inset,var(--shadow-xs);flex-shrink:0;z-index:2}.rm-title{font-weight:750;font-size:14.5px;letter-spacing:-.02em;color:var(--ink)}.rm-tabs{display:flex;gap:2px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-pill);padding:2px;box-shadow:inset 0 1px 1px #0f172a08}.rm-tab{border:none;background:transparent;border-radius:var(--radius-pill);padding:5px 12px;font-size:12.5px;font-weight:600;letter-spacing:-.01em;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:inherit;min-height:28px;transition:color .14s var(--ease),background .14s var(--ease),box-shadow .14s var(--ease)}.rm-tab:hover:not(.sel){color:var(--ink)}.rm-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rm-tab.sel{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-xs)}.rm-head .side-toggle{margin-left:auto}.rm-error{margin:10px 14px 0;padding:7px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--danger) 28%,var(--line));color:var(--danger);font-size:var(--fs-md);letter-spacing:-.01em;line-height:1.4}.rm-body{flex:1;overflow-y:auto;padding:12px 14px 18px;background:radial-gradient(ellipse 80% 40% at 50% 0%,color-mix(in srgb,var(--accent) 4%,transparent),transparent 70%),var(--bg)}@media (max-width: 640px){.rm-modal{top:0;right:0;bottom:0;left:0;border-radius:0;border:none;backdrop-filter:none;-webkit-backdrop-filter:none}.rm-head{flex-wrap:wrap;gap:8px;padding:8px 10px}.rm-tabs{order:3;width:100%}.rm-tab{flex:1;justify-content:center;min-height:40px}}.rm-step{background:var(--panel);border:1px solid color-mix(in srgb,var(--line) 90%,transparent);border-radius:var(--radius-lg);padding:10px 12px;margin-bottom:10px;box-shadow:var(--shadow-xs)}.rm-step-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.rm-step-num{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--accent-fill),color-mix(in srgb,var(--accent-fill) 70%,var(--ai-1)));color:var(--on-accent);font-size:var(--fs-sm);font-weight:700;display:grid;place-items:center;flex-shrink:0;box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 35%,transparent)}.rm-step-title{font-weight:700;font-size:13.5px;letter-spacing:-.015em}.rm-scouting{font-size:var(--fs-sm);color:var(--muted);animation:rm-pulse 1.4s ease-in-out infinite}@keyframes rm-pulse{50%{opacity:.45}}.rm-step-actions{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rm-ibtn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-sm);padding:5px 10px;font-size:var(--fs-sm);font-weight:550;letter-spacing:-.01em;color:var(--ink);cursor:pointer;text-decoration:none;font-family:inherit;min-height:32px;box-shadow:var(--shadow-xs);transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease)}.rm-ibtn i{font-style:normal;font-weight:600}.rm-ibtn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel))}.rm-ibtn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rm-ibtn:disabled{opacity:.5;cursor:default;box-shadow:none}.rm-views{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.rm-view{flex:0 0 auto;width:158px;border:1px solid color-mix(in srgb,var(--line) 92%,transparent);border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--panel);box-shadow:var(--shadow-xs);transition:transform .14s var(--ease),border-color .14s var(--ease),box-shadow .14s var(--ease);padding:0;font:inherit;color:inherit;text-align:left;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:block}.rm-view:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}.rm-view:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rm-view.sel{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent),var(--shadow-xs)}.rm-view img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;background:var(--panel-2)}.rm-view span,.rm-view .rm-view-label{display:flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:500;letter-spacing:-.01em;padding:5px 8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rm-view.sel span,.rm-view.sel .rm-view-label{background:var(--accent-soft);color:var(--ink);font-weight:600}.rm-view.skeleton{display:grid;place-items:center;aspect-ratio:16 / 10;color:var(--muted);font-size:11.5px;border-style:dashed;box-shadow:none;animation:rm-pulse 1.4s ease-in-out infinite}.rm-empty{color:var(--muted);font-size:var(--fs-md);letter-spacing:-.01em}.rm-empty-lg{padding:56px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted);border:1px dashed color-mix(in srgb,var(--line) 90%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--panel) 70%,transparent)}.rm-empty-lg .ico{opacity:.5;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--panel-2) 80%,var(--panel));border:1px solid color-mix(in srgb,var(--line) 85%,transparent);color:var(--muted)}.rm-empty-lg p{margin:0;max-width:300px;line-height:1.5;font-size:13.5px;letter-spacing:-.01em}.color-input{width:42px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);cursor:pointer}.gate-card{border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));border-radius:var(--radius);padding:9px 10px 8px;margin-bottom:8px;background:color-mix(in srgb,var(--panel-2) 58%,var(--panel));box-shadow:inset 0 1px color-mix(in srgb,var(--ink) 2.5%,transparent),var(--shadow-xs);min-width:0}.gate-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:8px;padding-bottom:5px;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent)}.gate-card-title{font-size:var(--fs-xs);font-weight:650;letter-spacing:-.01em;line-height:1.25;color:color-mix(in srgb,var(--ink) 92%,var(--muted));min-width:0}.gate-remove{width:28px;height:28px;min-width:28px;min-height:28px;padding:0;color:color-mix(in srgb,var(--muted) 90%,var(--ink));border-radius:var(--radius-sm);transition:color .12s var(--ease),background .12s var(--ease),border-color .12s var(--ease)}.gate-remove:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--panel));border-color:color-mix(in srgb,var(--danger) 28%,var(--line))}.gate-remove:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.gate-card .field{margin-bottom:8px}.gate-card .field:last-child{margin-bottom:0}.gate-card .kind-grid{gap:5px}.rm-styles{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:8px}.rm-style{border:1px solid color-mix(in srgb,var(--line) 92%,transparent);background:var(--panel);color:var(--ink);border-radius:var(--radius);padding:11px 8px 9px;text-align:center;cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .14s var(--ease),border-color .14s var(--ease),box-shadow .14s var(--ease),background .14s var(--ease);font-family:inherit}.rm-style:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 36%,var(--line))}.rm-style:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rm-style.sel{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));background:var(--accent-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent),var(--shadow-xs)}.rm-style-ico{display:flex;align-items:center;justify-content:center;height:28px;margin-bottom:4px;color:var(--muted)}.rm-style.sel .rm-style-ico{color:var(--accent)}.rm-card-style{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.rm-style b{display:block;font-size:12.5px;font-weight:650;letter-spacing:-.015em}.rm-style small{display:block;color:var(--muted);font-size:var(--fs-2xs);margin-top:2px;letter-spacing:-.005em}.rm-seg{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-pill);padding:2px;gap:1px;box-shadow:inset 0 1px 1px #0f172a08}.rm-seg button{border:none;background:transparent;border-radius:var(--radius-pill);padding:5px 12px;font-size:var(--fs-sm);font-weight:600;letter-spacing:-.01em;color:var(--muted);cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:4px;min-height:28px;transition:color .14s var(--ease),background .14s var(--ease),box-shadow .14s var(--ease)}.rm-seg button:hover:not(.sel){color:var(--ink)}.rm-seg button.sel{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-xs)}.rm-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rm-finish{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.rm-preview{position:relative;flex:0 0 auto}.rm-preview img{width:min(260px,100%);aspect-ratio:16 / 10;object-fit:cover;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--line) 90%,transparent);display:block;background:var(--panel-2);box-shadow:var(--shadow-xs)}.rm-preview-label{position:absolute;left:8px;bottom:8px;background:color-mix(in srgb,#0f172a 72%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:var(--fs-xs);font-weight:600;letter-spacing:-.01em;padding:3px 9px;border-radius:var(--radius-pill)}.rm-preview-empty{width:min(260px,100%);aspect-ratio:16 / 10;border-radius:var(--radius);border:1px dashed color-mix(in srgb,var(--line) 90%,transparent);display:grid;place-items:center;color:var(--muted);font-size:12.5px;letter-spacing:-.01em;background:color-mix(in srgb,var(--panel-2) 80%,var(--panel))}.rm-finish-right{flex:1;min-width:min(260px,100%)}.rm-input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius);padding:9px 12px;font:inherit;font-size:13.5px;letter-spacing:-.01em;resize:vertical;outline:none;background:var(--panel);color:var(--ink);min-height:72px;transition:border-color .14s var(--ease),box-shadow .14s var(--ease),background .14s var(--ease)}.rm-input:hover{border-color:var(--line-strong)}.rm-input:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-ring)}.rm-cta{margin-top:8px;border:1px solid color-mix(in srgb,var(--accent) 80%,#000);border-radius:var(--radius);padding:7px 14px;min-height:34px;font-size:var(--fs-md);font-weight:700;letter-spacing:-.015em;color:var(--on-accent);background:linear-gradient(135deg,var(--accent-fill),color-mix(in srgb,var(--accent-fill) 70%,var(--ai-1)));cursor:pointer;box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent),0 6px 16px #0f172a24;transition:transform .12s var(--ease),box-shadow .14s var(--ease),filter .14s var(--ease);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;width:100%;box-sizing:border-box}.rm-ico-btn{display:inline-flex;align-items:center;gap:6px}.rm-seg button{display:inline-flex;align-items:center;gap:4px}.rm-pill-msg{display:inline-flex;align-items:center;gap:6px}.help-page{background:radial-gradient(900px 320px at 50% -48px,color-mix(in srgb,var(--accent) 8%,transparent),transparent 62%),var(--bg);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased}.help-wrap{width:100%;min-width:0;max-width:860px;margin:0 auto;padding:28px 24px 80px;font-size:var(--fs-lg);line-height:1.65;color:var(--ink)}.help-wrap a{color:var(--accent);text-decoration:none;font-weight:550;transition:color .12s var(--ease)}.help-wrap a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:2px}.help-wrap a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.help-wrap code{font:600 12.5px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;letter-spacing:0;color:var(--ink)}.help-wrap ul{padding-left:1.25em;margin:10px 0 14px}.help-wrap li{margin-bottom:7px;padding-left:2px}.help-wrap li::marker{color:color-mix(in srgb,var(--accent) 45%,var(--muted))}.help-wrap p{margin:0 0 12px;color:color-mix(in srgb,var(--ink) 92%,var(--muted))}.help-wrap b{font-weight:650;color:var(--ink)}.help-page-title{font-size:clamp(26px,5vw,32px);margin:0 0 8px;letter-spacing:-.03em;font-weight:800;line-height:1.15;color:var(--ink)}.help-page-lead{color:var(--muted);margin:0 0 18px;font-size:15.5px;line-height:1.5;letter-spacing:-.005em;font-weight:450;max-width:42em}.help-toc{display:flex;flex-wrap:wrap;gap:6px;background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));border-radius:var(--radius-lg);padding:12px 14px;margin:16px 0 12px;box-shadow:0 1px #ffffff8c inset,var(--shadow-xs);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15)}.help-toc-link{color:var(--ink);text-decoration:none;font-size:var(--fs-md);font-weight:600;letter-spacing:-.01em;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid transparent;background:transparent;min-height:32px;display:inline-flex;align-items:center;transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease)}.help-toc-link:hover{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.help-toc-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.help-h2{margin-top:40px;margin-bottom:12px;font-size:21px;font-weight:750;letter-spacing:-.025em;line-height:1.25;color:var(--ink);scroll-margin-top:72px;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--line) 92%,transparent)}.help-h3{margin-top:22px;margin-bottom:8px;font-size:15.5px;font-weight:700;letter-spacing:-.015em;color:var(--ink)}.help-kbd{display:inline-block;background:var(--panel);border:1px solid var(--line);border-bottom-width:2px;border-radius:var(--radius-sm);padding:1px 7px;font:600 12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);white-space:nowrap;box-shadow:var(--shadow-xs);letter-spacing:0;vertical-align:baseline}.help-card{background:color-mix(in srgb,var(--panel) 97%,transparent);border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));border-radius:var(--radius-lg);padding:6px 16px;margin:16px 0;box-shadow:0 1px #ffffff80 inset,var(--shadow-xs)}.help-shortcut-row{display:flex;gap:16px;padding:10px 4px;border-bottom:1px solid color-mix(in srgb,var(--line) 90%,transparent);align-items:flex-start}.help-shortcut-row:last-child{border-bottom:none}.help-shortcut-row .help-kbd{flex:none;min-width:7.5em;text-align:center}.help-shortcut-desc{color:var(--muted);line-height:1.5;font-size:14px;letter-spacing:-.005em;padding-top:2px}@media (max-width: 640px){.help-wrap{padding:16px 14px 60px}.help-toc{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px 12px}.help-toc::-webkit-scrollbar{display:none}.help-toc-link{flex:0 0 auto}.help-shortcut-row{flex-direction:column;gap:6px}.help-shortcut-row .help-kbd{min-width:0;text-align:left}.help-h2{font-size:19px}}.landing-features{max-width:1100px;margin:0 auto;padding:28px 28px 48px}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.landing-feat-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 22px 24px;box-shadow:var(--shadow-xs);transition:transform .16s var(--ease),box-shadow .16s var(--ease),border-color .16s var(--ease)}.landing-feat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-float);border-color:var(--line-strong)}.landing-feat-ico{width:44px;height:44px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}.landing-feat-t{font-weight:700;font-size:17px;margin-bottom:8px;letter-spacing:-.02em;color:var(--ink)}.landing-feat-d{color:var(--muted);font-size:14.5px;line-height:1.55}@media (max-width: 640px){.landing-features{padding-left:14px;padding-right:14px}}.landing-feat-ico .ico{display:block}.share-fold>summary{cursor:pointer;list-style:revert}details.share-fold.share-note>summary{font-weight:600;color:var(--accent)}details.share-scene-fold>summary.share-sec-title{display:list-item}.share-private-hint{margin:6px 0 0;color:#b45309}.share-sec-title{display:flex;align-items:center;gap:7px;font-weight:700;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.share-sec-title .ico{color:var(--accent);flex-shrink:0}.share-icon-btn{padding:4px}.icon-btn.share-icon-btn.danger{color:var(--danger)}.share-vis{display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 92%,var(--panel-2));color:var(--ink);box-shadow:var(--shadow-xs);transition:border-color .14s var(--ease),background .14s var(--ease),box-shadow .14s var(--ease),transform .12s var(--ease)}.share-vis:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--panel);box-shadow:var(--shadow)}.share-vis.sel{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));background:var(--accent-soft);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent),var(--shadow-xs)}.share-vis:focus-within{border-color:var(--input-focus-border);box-shadow:var(--input-focus-ring)}.share-vis input{margin-top:3px;accent-color:var(--accent);flex-shrink:0}.share-vis-ico{color:var(--accent);flex-shrink:0;margin-top:1px;opacity:.9}.share-vis.sel .share-vis-ico{opacity:1}.share-vis-desc{color:var(--muted);font-size:12.5px;line-height:1.45;margin-top:2px}.elev-modal.credits-modal,.credits-modal{width:min(680px,94vw);max-height:88vh;overflow:auto;color:var(--ink);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));background:color-mix(in srgb,var(--panel) 97%,transparent);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0a inset;padding-bottom:0;animation:dlg-modal-in .18s var(--ease)}.credits-modal .help-head{padding:14px 16px 12px;font-size:14.5px;font-weight:700;letter-spacing:-.02em;border-bottom-color:color-mix(in srgb,var(--line) 85%,transparent)}.credits-body{padding:14px 18px 16px}.credits-lead{margin:0 0 10px;color:var(--muted);font-size:var(--fs-md);line-height:1.45;letter-spacing:-.01em}.credits-balance{display:inline-flex;align-items:center;gap:3px;color:var(--accent);font-weight:750;padding:1px 7px 1px 5px;border-radius:var(--radius-pill);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));vertical-align:baseline;letter-spacing:-.02em}.credits-balance .ico{flex-shrink:0;color:var(--accent)}.credits-warn{display:flex;align-items:flex-start;gap:7px;background:color-mix(in srgb,#f0a020 12%,var(--panel));border:1px solid color-mix(in srgb,#f0a020 36%,var(--line));border-radius:var(--radius-sm);padding:8px 10px;color:color-mix(in srgb,#7a5c14 88%,var(--ink));margin-bottom:10px;font-size:12.5px;line-height:1.4;box-shadow:var(--shadow-xs)}.credits-warn .ico{flex-shrink:0;margin-top:1px;color:color-mix(in srgb,#f0a020 82%,var(--ink))}.credits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(156px,1fr));gap:10px}.credits-pack{position:relative;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 12px 12px;text-align:center;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 70%,var(--panel-2)),var(--panel));box-shadow:var(--shadow-xs);transition:border-color .16s var(--ease),box-shadow .16s var(--ease),transform .14s var(--ease),background .16s var(--ease)}.credits-pack:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));box-shadow:var(--shadow-float);transform:translateY(-1px);background:var(--panel)}.credits-pack:focus-within{border-color:var(--input-focus-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),var(--shadow)}.credits-bonus{position:absolute;top:8px;right:8px;background:color-mix(in srgb,var(--ok) 14%,var(--panel));color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 28%,var(--line));border-radius:var(--radius-pill);font-size:10px;font-weight:750;letter-spacing:.02em;padding:1px 6px;line-height:1.35}.credits-pack-label{font-size:var(--fs-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.credits-pack-qty{font-size:28px;font-weight:750;margin:6px 0 1px;color:var(--ink);letter-spacing:-.03em;line-height:1.05}.credits-pack-sub{font-size:var(--fs-sm);color:var(--muted);letter-spacing:-.01em}.credits-pack-price{font-size:16.5px;font-weight:700;margin:8px 0 10px;color:var(--ink);letter-spacing:-.02em}.credits-pack-skel{min-height:148px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none}.credits-skel-line{height:11px;width:64%;border-radius:6px}.credits-skel-line.short{width:40%;height:9px}.credits-skel-qty{height:24px;width:48%;border-radius:8px}.credits-skel-btn{height:34px;width:100%;border-radius:var(--radius-sm);margin-top:2px}.credits-buy{width:100%;min-height:34px;justify-content:center;font-weight:650}.credits-err{color:var(--danger);margin-top:10px;font-size:var(--fs-md);font-weight:550;line-height:1.35;letter-spacing:-.01em}.credits-foot{color:var(--muted);font-size:11.5px;margin-top:12px;margin-bottom:0;opacity:.88;letter-spacing:-.01em;line-height:1.4}@media (max-width: 520px){.elev-modal.credits-modal,.credits-modal{width:100%;max-height:min(92vh,100%);border-radius:12px}.credits-body{padding:12px 14px 14px}.credits-grid{grid-template-columns:1fr}.credits-pack:hover{transform:none}}.viewer3d-chip{display:inline-flex;align-items:center;gap:5px}.viewer3d-collapse,.v3d-eye{display:inline-flex;align-items:center;justify-content:center}.v3d-eye.off{opacity:.4}.v3d-light-btn{display:inline-flex;align-items:center;gap:5px;border-radius:var(--radius-sm);font-weight:650;letter-spacing:-.01em;transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease)}.v3d-export{display:inline-flex;align-items:center;gap:6px}@media (max-width: 820px){.tool-btn{min-height:40px}.panel-nav .seg-btn{min-height:36px}.ai-attach{min-width:40px;min-height:40px}.ai-send{min-height:40px}.floors-btn .floors-current{max-width:72px}.topbar{gap:6px}.brand span{display:none}.panel-tabs{padding:4px 4px 0;gap:2px}.panel-tab{min-height:42px;font-size:12.5px;padding:10px 8px}.panel-scroll{padding:12px 12px max(16px,env(safe-area-inset-bottom))}.ai-input{padding-bottom:max(10px,env(safe-area-inset-bottom))}.empty-canvas{padding:24px 14px 28px;gap:6px}.empty-canvas-title{font-size:clamp(19px,5.2vw,22px)}.empty-canvas-lead{font-size:13.5px;max-width:34em}.cat-fav{min-width:32px;min-height:32px}}.nf-page{background:radial-gradient(900px 360px at 50% -48px,color-mix(in srgb,var(--accent) 9%,transparent),transparent 62%),var(--bg);min-height:100vh;display:flex;flex-direction:column;color:var(--ink);-webkit-font-smoothing:antialiased}.nf-body{flex:1;display:flex;align-items:center;justify-content:center;padding:28px 16px 36px}.nf-card{text-align:center;max-width:480px;width:100%;padding:32px 28px 28px;background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));border-radius:var(--radius-lg);box-shadow:0 1px #ffffff8c inset,var(--shadow-float);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15)}.nf-ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 16px;border-radius:var(--radius-lg);color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));box-shadow:var(--shadow-xs)}.nf-ico .ico{display:block;opacity:.92}.nf-title{font-size:clamp(24px,5vw,30px);margin:0 0 10px;color:var(--ink);font-weight:800;letter-spacing:-.03em;line-height:1.15}.nf-lead{color:var(--muted);font-size:15.5px;line-height:1.55;letter-spacing:-.005em;font-weight:450;margin:0 auto;max-width:36em}.nf-actions{display:flex;gap:10px;justify-content:center;margin-top:22px;flex-wrap:wrap}.nf-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border-radius:var(--radius-sm);padding:10px 16px;font-weight:650;letter-spacing:-.01em;text-decoration:none;font-size:13.5px;background:var(--panel);color:var(--ink);border:1px solid color-mix(in srgb,var(--line) 90%,var(--ink));box-shadow:var(--shadow-xs);transition:border-color .14s var(--ease),color .14s var(--ease),background .14s var(--ease),box-shadow .14s var(--ease)}.nf-btn:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel));box-shadow:var(--shadow-xs)}.nf-btn.primary{background:var(--accent-fill);color:var(--on-accent);border-color:var(--accent-fill);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent)}.nf-btn.primary:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover);color:var(--on-accent);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 25%,transparent)}.nf-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 480px){.nf-card{padding:26px 18px 22px}.nf-btn{min-height:44px;flex:1 1 auto}}.pricing-page{min-height:100vh;background:radial-gradient(900px 360px at 50% -60px,color-mix(in srgb,var(--accent) 10%,transparent),transparent 60%),linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 55%,var(--bg) 100%);color:var(--ink)}.pricing-wrap{max-width:1040px;margin:0 auto;padding:36px 28px 72px}.pricing-hero{text-align:center;max-width:560px;margin:0 auto 36px}.pricing-eyebrow{display:inline-block;margin:0 0 12px;padding:5px 12px;border-radius:var(--radius-pill);background:var(--panel);border:1px solid var(--line);color:var(--ink);font-size:12.5px;font-weight:650;letter-spacing:-.01em;box-shadow:var(--shadow-xs)}.pricing-title{font-size:clamp(28px,5vw,36px);margin:0;letter-spacing:-.03em;font-weight:800;line-height:1.15;color:var(--ink)}.pricing-lead{color:var(--muted);font-size:16px;line-height:1.5;margin:12px 0 0}.pricing-split{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:20px;align-items:stretch}.pricing-free{background:linear-gradient(165deg,var(--ink) 0%,color-mix(in srgb,var(--ink) 82%,var(--accent)) 100%);color:#fff;border-radius:var(--radius-lg);padding:28px 24px;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid color-mix(in srgb,var(--ink) 90%,var(--accent))}.pricing-free-badge{align-self:flex-start;font-size:var(--fs-xs);font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--ok) 70%,#fff);background:color-mix(in srgb,var(--ok) 16%,transparent);border:1px solid color-mix(in srgb,var(--ok) 32%,transparent);border-radius:var(--radius-pill);padding:4px 10px;margin-bottom:14px}.pricing-free-title{margin:0 0 16px;font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.02em}.pricing-free-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;flex:1}.pricing-free-list li{position:relative;padding-left:22px;font-size:14.5px;font-weight:550;color:color-mix(in srgb,#fff 82%,var(--accent));line-height:1.35}.pricing-free-list li:before{content:"✓";position:absolute;left:0;top:0;color:color-mix(in srgb,var(--ok) 75%,#fff);font-weight:800;font-size:var(--fs-md)}.pricing-free-cta{margin-top:22px;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--radius);padding:10px 16px;background:var(--panel);color:var(--ink);font-weight:700;font-size:var(--fs-lg);letter-spacing:-.01em;text-decoration:none;box-shadow:var(--shadow-xs);transition:background .14s var(--ease),transform .12s var(--ease),box-shadow .14s var(--ease)}.pricing-free-cta:hover{background:var(--panel-2);transform:translateY(-1px);box-shadow:var(--shadow)}.pricing-free-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}.pricing-ai-col{min-width:0}.pricing-ai-head{margin-bottom:14px}.pricing-ai-title{margin:0;font-size:var(--fs-xl);font-weight:800;letter-spacing:-.02em;color:var(--ink)}.pricing-ai-sub{margin:4px 0 0;font-size:13.5px;color:var(--muted);line-height:1.4}.pricing-packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.pricing-pack{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 16px 18px;text-align:center;position:relative;display:flex;flex-direction:column;box-shadow:var(--shadow-xs);transition:transform .14s var(--ease),box-shadow .14s var(--ease),border-color .14s var(--ease)}.pricing-pack:hover{transform:translateY(-2px);box-shadow:var(--shadow-float);border-color:var(--line-strong)}.pricing-pack.featured{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:0 8px 28px #0f172a1c;background:linear-gradient(180deg,var(--accent-soft) 0%,var(--panel) 48%)}.pricing-bonus{position:absolute;top:10px;right:10px;background:color-mix(in srgb,var(--ok) 14%,var(--panel));color:color-mix(in srgb,var(--ok) 78%,var(--ink));border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:750;padding:3px 8px}.pricing-bonus.popular{background:var(--accent-soft);color:var(--accent-hover)}.pricing-pack-label{font-weight:700;font-size:var(--fs-lg);color:var(--ink);letter-spacing:-.01em}.pricing-pack-price{font-size:34px;font-weight:800;margin:8px 0 0;letter-spacing:-.03em;line-height:1;display:flex;align-items:baseline;justify-content:center;gap:4px;color:var(--ink)}.pricing-pack-unit{font-size:var(--fs-sm);font-weight:650;color:var(--muted);letter-spacing:0}.pricing-pack-credits{color:var(--muted);font-size:13.5px;font-weight:600;margin:8px 0 12px}.pricing-pack-stats{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:5px;text-align:left;flex:1}.pricing-pack-stats li{font-size:12.5px;color:var(--muted);padding:5px 8px;background:var(--panel-2);border-radius:var(--radius-sm);line-height:1.3}.pricing-pack-stats b{color:var(--ink);font-weight:700;margin-right:2px}.pricing-pack.featured .pricing-pack-stats li{background:color-mix(in srgb,var(--accent-soft) 88%,var(--panel))}.pricing-pack-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;background:var(--panel);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--radius-sm);padding:8px 14px;font-weight:700;font-size:14px;letter-spacing:-.01em;text-decoration:none;margin-top:auto;transition:background .14s var(--ease),border-color .14s var(--ease),box-shadow .14s var(--ease),color .14s var(--ease)}.pricing-pack-cta.primary,.pricing-pack.featured .pricing-pack-cta{background:var(--accent-fill);color:var(--on-accent);border-color:var(--accent-fill);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent)}.pricing-pack-cta:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.pricing-pack-cta.primary:hover,.pricing-pack.featured .pricing-pack-cta:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover);box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 28%,transparent)}.pricing-pack-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pricing-muted{color:var(--muted);font-size:14px;margin:12px 0 0}.pricing-pack-skel{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none}.pricing-skel-line{height:12px;width:55%;border-radius:6px;background:var(--panel-3)}.pricing-skel-line.short{width:36%;height:11px}.pricing-skel-price{height:36px;width:42%;border-radius:var(--radius-sm);background:var(--panel-3)}.pricing-skel-cta{height:40px;width:70%;border-radius:var(--radius-sm);margin-top:4px;background:var(--panel-3)}.pricing-costs{margin-top:48px;padding-top:8px}.pricing-section-title{text-align:center;font-size:var(--fs-xl);font-weight:800;letter-spacing:-.02em;margin:0 0 16px;color:var(--ink)}.pricing-cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pricing-cost-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 16px;text-align:center;box-shadow:var(--shadow-xs);transition:box-shadow .14s var(--ease),border-color .14s var(--ease)}.pricing-cost-card:hover{box-shadow:var(--shadow);border-color:var(--line-strong)}.pricing-cost-ico{width:40px;height:40px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px}.pricing-cost-name{font-size:13.5px;font-weight:650;color:var(--muted)}.pricing-cost-val{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.02em;margin:6px 0 2px;color:var(--ink)}.pricing-cost-hint{font-size:12.5px;color:var(--muted);font-weight:550}.pricing-footnote{color:var(--muted);font-size:var(--fs-md);margin:18px auto 0;line-height:1.45;text-align:center;max-width:480px}.pricing-footnote a{color:var(--accent);font-weight:650;text-decoration:none}.pricing-footnote a:hover{color:var(--accent-hover);text-decoration:underline}@media (max-width: 820px){.pricing-split{grid-template-columns:1fr}.pricing-free{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:8px 24px}.pricing-free-badge{width:100%}.pricing-free-title{margin-bottom:0;flex:1;min-width:140px}.pricing-free-list{width:100%;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.pricing-free-cta{margin-top:8px;min-width:140px}}@media (max-width: 640px){.pricing-wrap{padding:24px 14px 56px}.pricing-hero{margin-bottom:28px}.pricing-pack-price{font-size:30px}.pricing-cost-grid{grid-template-columns:1fr}.pricing-costs{margin-top:36px}}.elev-modal.share-modal,.share-modal{width:min(560px,94vw);max-height:88vh;overflow-y:auto;color:var(--ink);border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));background:color-mix(in srgb,var(--panel) 97%,transparent);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0a inset;padding-bottom:0;animation:dlg-modal-in .18s var(--ease)}.share-modal .help-head{padding:16px 18px 14px;font-size:var(--fs-lg);font-weight:700;letter-spacing:-.02em;border-bottom-color:color-mix(in srgb,var(--line) 85%,transparent)}.share-body{padding:14px 18px 16px;display:flex;flex-direction:column;gap:12px}.share-invite-row,.share-link-row{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap;align-items:center}.share-input{min-width:0}textarea.share-input{resize:vertical;min-height:56px;line-height:1.45;padding-top:8px}.share-input:hover{border-color:var(--line-strong)}.share-invite-row .share-input:first-child,.share-link-row .share-input{flex:1;min-width:140px}.share-input:focus{outline:none;border-color:var(--input-focus-border);box-shadow:var(--input-focus-ring);background:var(--panel)}.share-select{flex:0 0 auto;cursor:pointer}.share-select-sm{padding:4px 8px;font-size:12.5px;min-height:32px;border-radius:var(--radius-sm);cursor:pointer}.share-people{display:flex;flex-direction:column;gap:6px}.share-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel-2) 88%,var(--panel));font-size:13.5px;flex-wrap:wrap;box-shadow:var(--shadow-xs);transition:border-color .12s var(--ease),background .12s var(--ease),box-shadow .12s var(--ease)}.share-row:hover{border-color:color-mix(in srgb,var(--line-strong) 80%,var(--line));background:var(--panel-2);box-shadow:var(--shadow)}.share-row-name{flex:1;min-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550;letter-spacing:-.01em;color:var(--ink)}.share-row-meta{color:var(--muted);font-size:12.5px;line-height:1.45;letter-spacing:-.01em}.share-field-label{display:block;margin:2px 0 6px;color:var(--ink);font-size:12.5px;font-weight:600;line-height:1.35;letter-spacing:-.01em}.share-note{color:var(--muted);font-size:12.5px;line-height:1.55;margin:10px 0 0;letter-spacing:-.01em}.share-note b{color:var(--ink);font-weight:650}.share-vis-list{display:flex;flex-direction:column;gap:8px}.share-vis-label{font-weight:700;font-size:13.5px;letter-spacing:-.015em;color:var(--ink)}.share-public-fields{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:12px;border-radius:var(--radius);border:1px solid var(--line);background:color-mix(in srgb,var(--panel-2) 70%,var(--panel));box-shadow:var(--shadow-xs)}.share-public-fields .share-row-meta{margin-top:2px}.share-err{color:var(--danger);font-size:13.5px;font-weight:550;line-height:1.4;letter-spacing:-.01em}.share-done{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ok) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--ok) 22%,var(--line));box-shadow:var(--shadow-xs)}.share-ok{color:var(--ok);font-weight:650;display:inline-flex;align-items:center;gap:6px;letter-spacing:-.01em}.share-ok .ico{flex-shrink:0;color:var(--ok)}.share-save{align-self:flex-start;min-height:40px}.share-copy-btn{display:inline-flex;align-items:center;gap:6px;min-height:38px}.share-req-btn{font-size:var(--fs-sm);min-height:32px;padding:4px 10px}.share-icon-btn{min-width:32px;min-height:32px}@media (max-width: 520px){.elev-modal.share-modal,.share-modal{width:100%;max-height:min(94vh,100%);border-radius:12px}.share-body{padding:12px 14px 14px;gap:12px}.share-invite-row .btn.active{width:100%;justify-content:center}}.rm-view-label{display:inline-flex;align-items:center;gap:4px}.rm-hist-lab{display:inline-flex;align-items:center;gap:3px;justify-content:center}.rm-seg button{gap:4px}.bulk-ico-btn{display:inline-flex;align-items:center;gap:4px}.folder-head-ico{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;color:color-mix(in srgb,var(--accent) 88%,var(--muted));opacity:.92;line-height:0}.folder-chevron{display:inline-flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--muted) 90%,transparent);flex-shrink:0;width:12px;line-height:0;transition:color .12s var(--ease)}.proj-badge-role{display:inline-flex;align-items:center;gap:3px;color:var(--muted);background:var(--panel-2);border-color:var(--line);font-weight:600}.proj-badge-role.edit{color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 75%,var(--panel));border-color:color-mix(in srgb,var(--accent) 26%,transparent)}.prop-ico-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:28px;padding:5px 9px;font-size:12.5px;font-weight:600;letter-spacing:-.01em;line-height:1.2;border-radius:var(--radius-sm);border-color:color-mix(in srgb,var(--line) 92%,var(--ink));box-shadow:var(--shadow-xs);box-sizing:border-box;white-space:nowrap;transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease),transform .1s var(--ease)}.prop-ico-btn>svg,.prop-ico-btn .ico{flex-shrink:0;display:block}.prop-ico-btn:hover:not(:disabled):not(.active):not(.danger){border-color:color-mix(in srgb,var(--line-strong) 82%,var(--ink));background:color-mix(in srgb,var(--panel-2) 72%,var(--panel))}.prop-ico-btn.active{font-weight:650;box-shadow:0 1px color-mix(in srgb,var(--panel) 28%,transparent) inset,0 1px 3px color-mix(in srgb,var(--accent) 26%,transparent)}.btn.prop-ico-btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 9%,var(--panel));border-color:color-mix(in srgb,var(--danger) 36%,var(--line))}.prop-ico-btn.prop-full{width:100%;min-height:28px;padding:5px 9px;justify-content:center}.row2>.prop-ico-btn{width:100%;min-width:0}.prop-full{width:100%}.prop-full.mb-sm{margin-bottom:8px}.prop-full.mt-sm{margin-top:6px}.prop-full.mt-md{margin-top:8px}.empty-note.left{text-align:left;padding:0 0 8px;font-size:var(--fs-sm);line-height:1.4;letter-spacing:-.005em}.empty-note.left.pb-md{padding-bottom:10px}.empty-note.left.pt-xs{padding:3px 0 0}.empty-note.left.tight{padding:0 0 4px;margin:0}.empty-note.left.tip{padding:2px 0 4px;margin:0;font-size:11.5px}.rm-refine-btn{white-space:nowrap}.empty-note.multi-sel-note{margin:0;padding:0 1px 2px;font-size:var(--fs-sm);line-height:1.4;letter-spacing:-.005em;color:color-mix(in srgb,var(--muted) 92%,var(--ink))}.section-title.mt-sm{margin-top:12px}.btn.mini{padding:4px 8px;font-size:var(--fs-sm);min-height:28px}.swatch-row{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.field.mb-xs{margin-bottom:4px}.field.mb-sm{margin-bottom:8px}.field.m-0{margin:0}.row2.mb-sm{margin-bottom:8px}.row2.mb-md{margin-bottom:10px}.row2.mt-xs{margin-top:4px}.kind-grid.cols-3{grid-template-columns:repeat(3,1fr)}.v3d-check.mb-sm{margin:2px 0 10px}.v3d-walk-floor{margin-right:6px;font-weight:650;letter-spacing:-.01em}.level-block{margin-bottom:10px;padding:9px 10px 8px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));background:color-mix(in srgb,var(--panel-2) 58%,var(--panel));box-shadow:inset 0 1px color-mix(in srgb,var(--ink) 2.5%,transparent),var(--shadow-xs);min-width:0}.level-block .section-title{margin:0 0 5px;padding-bottom:4px;border-bottom-color:color-mix(in srgb,var(--line) 82%,transparent)}.level-block .field{margin-bottom:8px}.level-block .field:last-child{margin-bottom:0}.level-block .seg-btn{font-size:11.5px;font-weight:600;letter-spacing:-.01em;line-height:1.2;min-height:28px;padding:4px 7px;justify-content:center}.level-block .seg-btn.active{font-weight:650}.level-block .stair-info{margin-top:2px;margin-bottom:0}.field-hint{font-size:11.5px;color:var(--muted);margin:4px 0 0;line-height:1.45;letter-spacing:-.005em}.prop-full.mb-md{margin-bottom:12px}.three-host.grab{cursor:grab}.field input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.field input[type=number]::-webkit-outer-spin-button,.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field input[type=number]:disabled{opacity:.55;cursor:not-allowed}button.kind-card{font:inherit;color:inherit;text-align:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}button.kind-card:disabled{opacity:.5;cursor:not-allowed}.seg .btn.seg-btn{touch-action:manipulation}.seg .btn.seg-btn:not(.icon-only){min-width:0}.hint.z-high{z-index:9}.edge-chip-row{display:flex;gap:6px;flex-wrap:wrap}.edge-chip{padding:6px 10px!important;font-size:12px!important;min-height:32px}.prop-empty{text-align:center;padding:14px 10px 11px;margin-top:0;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--panel-2) 40%,var(--panel));box-shadow:none}.prop-empty-ico{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0 auto 6px;border-radius:8px;color:color-mix(in srgb,var(--muted) 90%,var(--ink));background:color-mix(in srgb,var(--panel) 94%,var(--panel-2));border:1px solid color-mix(in srgb,var(--line) 72%,transparent);box-shadow:none;opacity:.88}.prop-empty .empty-note{margin:0;padding:0 2px;font-size:var(--fs-sm);line-height:1.35;letter-spacing:-.01em;color:color-mix(in srgb,var(--muted) 94%,var(--ink))}.prop-empty-tip{margin-top:6px!important;font-size:11px!important;line-height:1.35;opacity:.88;color:var(--muted)}.prop-empty-tip strong{color:color-mix(in srgb,var(--ink) 68%,var(--muted));font-weight:600}.rm-cta:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 2px 4px color-mix(in srgb,var(--accent) 30%,transparent),0 10px 22px #0f172a24}.rm-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rm-cta:disabled{opacity:.55;cursor:default;box-shadow:none;filter:none}.rm-note{margin-top:8px;font-size:var(--fs-sm);color:var(--muted);line-height:1.45;letter-spacing:-.005em}.viewer-renders-modal{width:min(920px,94vw);max-height:88vh;overflow:auto;background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));box-shadow:var(--shadow-lg),0 1px #ffffff80 inset;border-radius:var(--radius-lg)}.viewer-renders-grid{padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.viewer-render-card{display:block;border-radius:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));background:color-mix(in srgb,var(--panel-glass) 70%,var(--panel));text-decoration:none;color:inherit;box-shadow:var(--shadow-xs);transition:transform .14s var(--ease),box-shadow .14s var(--ease),border-color .14s var(--ease)}.viewer-render-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-float);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.viewer-render-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-render-card img{width:100%;display:block;aspect-ratio:16 / 9;object-fit:cover;background:var(--panel-2)}.viewer-render-lab{padding:8px 11px;font-size:12.5px;font-weight:600;letter-spacing:-.01em;color:var(--muted);text-transform:capitalize;background:color-mix(in srgb,var(--panel-2) 55%,transparent);border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent)}@media (max-width: 640px){.viewer-renders-modal{width:100%;max-height:100%;border-radius:12px}.app .topbar .viewer-ico-btn .bar-label{display:none}}.pv-gate{min-height:100vh;display:grid;place-items:center;font-family:inherit;background:radial-gradient(900px 420px at 50% -60px,color-mix(in srgb,var(--accent) 14%,transparent),transparent 58%),radial-gradient(560px 300px at 85% 110%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 52%),linear-gradient(180deg,var(--panel) 0%,var(--bg) 100%);color:var(--ink);padding:24px 20px}.pv-gate-card{text-align:center;max-width:440px;width:100%;padding:28px 26px 22px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--panel-glass) 92%,transparent);border:1px solid color-mix(in srgb,var(--line) 84%,var(--ink));box-shadow:var(--shadow-lg),0 1px #ffffff8c inset;backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25)}.pv-gate-ico{display:flex;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:18px;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 72%,var(--panel-glass));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));box-shadow:var(--shadow-xs),0 1px #ffffff80 inset}.pv-gate-title{font-size:clamp(20px,4vw,22px);font-weight:750;letter-spacing:-.025em;margin:0 0 8px;color:var(--ink)}.pv-gate-lead{color:var(--muted);line-height:1.55;font-size:14.5px;letter-spacing:-.01em;margin:0 0 18px}.pv-gate-lead.muted{color:var(--muted)}.pv-gate-ok{color:var(--ok);font-weight:700;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:6px;justify-content:center;line-height:1.4;padding:10px 14px;border-radius:var(--radius);background:color-mix(in srgb,var(--ok) 10%,var(--panel-glass));border:1px solid color-mix(in srgb,var(--ok) 28%,var(--line));box-shadow:0 1px #fff6 inset,var(--shadow-xs)}.pv-gate-btn{font-size:var(--fs-lg);font-weight:650;letter-spacing:-.01em;padding:10px 22px;min-height:44px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px #ffffff59 inset,0 1px 4px color-mix(in srgb,var(--accent) 24%,transparent)}.pv-gate-alt{margin-top:18px;margin-bottom:0}.pv-gate-alt a{color:var(--accent);font-weight:700;letter-spacing:-.01em;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 10px;border-radius:var(--radius-sm);transition:background .12s var(--ease),color .12s var(--ease)}.pv-gate-alt a:hover{text-decoration:none;color:var(--accent-hover);background:color-mix(in srgb,var(--accent-soft) 70%,transparent)}.pv-gate-alt a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.landing-page{min-height:100vh;background:radial-gradient(1200px 480px at 50% -80px,color-mix(in srgb,var(--accent) 12%,transparent),transparent 60%),linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 40%,var(--bg) 100%);color:var(--ink)}.landing-header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:1120px;margin:0 auto;gap:12px;position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--panel) 82%,transparent);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.landing-header-brand{font-weight:750;font-size:17px;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:8px;flex-shrink:0;text-decoration:none;color:var(--ink);border-radius:var(--radius-sm);padding:4px 6px 4px 2px;margin-left:-2px;transition:background .14s var(--ease)}.landing-header-brand:hover{background:var(--panel-2)}.landing-header-brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.landing-header-brand img{width:28px;height:28px;display:block;border-radius:7px;box-shadow:var(--shadow-xs)}.landing-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.landing-nav-link{color:var(--muted);text-decoration:none;font-weight:600;font-size:13.5px;letter-spacing:-.01em;padding:7px 11px;border-radius:var(--radius-sm);transition:color .12s var(--ease),background .12s var(--ease)}.landing-nav-link:hover{color:var(--accent);background:var(--accent-soft)}.landing-nav-ghost{background:var(--panel);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--radius-sm);padding:8px 14px;font-weight:650;font-size:var(--fs-md);letter-spacing:-.01em;cursor:pointer;font-family:inherit;min-height:40px;box-shadow:var(--shadow-xs);transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease)}.landing-nav-ghost:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.landing-nav-cta{background:var(--accent-fill);color:var(--on-accent);border:none;border-radius:var(--radius-sm);padding:8px 14px;font-weight:650;font-size:var(--fs-md);letter-spacing:-.01em;text-decoration:none;min-height:40px;display:inline-flex;align-items:center;box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent);transition:background .14s var(--ease),box-shadow .14s var(--ease)}.landing-nav-cta:hover{background:var(--accent-fill-hover);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 25%,transparent)}.landing-nav-ghost:focus-visible,.landing-nav-cta:focus-visible,.landing-nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.landing-hero{max-width:860px;margin:0 auto;padding:56px 28px 28px;text-align:center}.landing-hero-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 auto 18px;padding:6px 14px;border-radius:var(--radius-pill);background:var(--panel);border:1px solid var(--line);color:var(--ink);font-size:var(--fs-md);font-weight:650;letter-spacing:-.01em;box-shadow:var(--shadow-xs)}.landing-hero-h1{font-size:clamp(34px,8.5vw,56px);line-height:1.04;letter-spacing:-.035em;margin:0;font-weight:800;color:var(--ink)}.landing-hero-accent{background:linear-gradient(105deg,var(--accent-hover) 0%,var(--accent) 45%,color-mix(in srgb,var(--accent) 65%,#fff) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-hero-lead{font-size:clamp(16px,3.2vw,19px);color:var(--muted);max-width:560px;margin:18px auto 0;line-height:1.5}.landing-hero-ctas{display:flex;gap:12px;justify-content:center;margin-top:28px;flex-wrap:wrap}.landing-hero-note{margin:14px 0 0;font-size:var(--fs-md);color:var(--muted);font-weight:550}.landing-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:var(--radius);padding:14px 24px;font-weight:700;font-size:var(--fs-lg);letter-spacing:-.01em;text-decoration:none;border:none;cursor:pointer;font-family:inherit;transition:transform .12s var(--ease),background .14s var(--ease),box-shadow .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease)}.landing-btn.primary{background:var(--accent-fill);color:var(--on-accent);box-shadow:0 1px #ffffff2e inset,0 8px 22px #0f172a24}.landing-btn.primary:hover{background:var(--accent-fill-hover);transform:translateY(-1px);box-shadow:0 1px #ffffff2e inset,0 10px 26px #0f172a24}.landing-btn.ghost{background:var(--panel);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:var(--shadow-xs)}.landing-btn.ghost:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.landing-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing-shot-wrap{max-width:1080px;margin:0 auto;padding:20px 28px 36px}.landing-shot{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-lg);overflow:hidden;background:var(--panel)}.landing-shot-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:linear-gradient(180deg,var(--panel-2),var(--panel-3));border-bottom:1px solid var(--line)}.landing-shot-dot{width:11px;height:11px;border-radius:6px;flex-shrink:0}.landing-shot-url{margin-left:10px;font-size:12.5px;color:var(--muted);font-weight:600;letter-spacing:-.01em}.landing-shot img{width:100%;display:block}.landing-section-head{text-align:center;margin-bottom:22px;position:relative}.landing-section-head.wide{max-width:640px;margin-left:auto;margin-right:auto;margin-bottom:24px}.landing-section-h2{font-size:clamp(22px,3.6vw,28px);letter-spacing:-.025em;margin:0;font-weight:800;line-height:1.2;color:var(--ink)}.landing-section-link{display:inline-block;margin-top:10px;color:var(--accent);font-weight:700;font-size:14px;letter-spacing:-.01em;text-decoration:none;border-radius:var(--radius-sm);transition:color .12s var(--ease)}.landing-section-link:hover{color:var(--accent-hover);text-decoration:underline}.landing-section-lab{text-align:center;color:var(--accent);font-weight:700;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.landing-detail{max-width:1120px;margin:12px auto 0;padding:48px 28px 56px;display:grid;grid-template-columns:minmax(260px,.95fr) minmax(300px,1.15fr);gap:40px;align-items:center}.landing-detail-copy{min-width:0}.landing-section-lab.left{text-align:left;margin-bottom:0;color:var(--accent)}.landing-detail-h2{font-size:clamp(26px,4vw,34px);letter-spacing:-.03em;margin:10px 0 14px;font-weight:800;line-height:1.15;color:var(--ink)}.landing-detail-p{color:var(--muted);font-size:15.5px;line-height:1.65;margin:0}.landing-detail-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}.landing-detail-list li{position:relative;padding:11px 14px 11px 40px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);font-size:14px;font-weight:600;color:var(--ink);line-height:1.4;box-shadow:var(--shadow-xs)}.landing-detail-list li:before{content:"✓";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-sm);font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}.landing-detail-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.landing-detail-shot{margin:0;border-radius:var(--radius-lg);border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--panel);position:relative}.landing-detail-shot img{width:100%;display:block;aspect-ratio:21 / 14;object-fit:cover;object-position:center;background:var(--panel-2)}.landing-detail-cap{padding:10px 14px 12px;font-size:12.5px;font-weight:650;color:var(--muted);background:var(--panel-2);border-top:1px solid var(--line);letter-spacing:-.01em}.landing-render-showcase{background:radial-gradient(700px 280px at 50% 0%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 70%),linear-gradient(180deg,var(--panel-2) 0%,var(--bg) 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0 64px;margin:8px 0 16px}.landing-render-inner{max-width:1080px;margin:0 auto;padding:0 28px;text-align:center}.landing-render-h2{margin-left:auto;margin-right:auto;max-width:640px}.landing-render-lead{max-width:600px;margin:0 auto 32px;text-align:center;color:var(--muted)}.landing-render-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:16px 20px;align-items:center;margin:0 auto 28px;max-width:1000px}.landing-render-card{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);text-align:left;position:relative}.landing-render-card-after{box-shadow:0 12px 36px #0f172a1f;border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}.landing-render-card img{width:100%;display:block;aspect-ratio:4 / 3;object-fit:cover;background:var(--panel-2)}.landing-render-card figcaption{padding:11px 14px 13px;font-size:var(--fs-md);font-weight:650;color:var(--muted);background:var(--panel-2);border-top:1px solid var(--line);letter-spacing:-.01em}.landing-render-badge{position:absolute;top:12px;left:12px;z-index:1;background:color-mix(in srgb,var(--ink) 80%,transparent);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.02em;padding:6px 11px;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.landing-render-badge.accent{background:color-mix(in srgb,var(--accent) 94%,transparent)}.landing-render-arrow{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--accent);font-weight:800;flex-shrink:0}.landing-render-arrow-ico{width:44px;height:44px;border-radius:50%;background:var(--panel);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;box-shadow:0 6px 16px #0f172a1a}.landing-render-arrow-lab{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.landing-render-cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}@media (max-width: 900px){.landing-detail{grid-template-columns:1fr;gap:28px;padding-top:36px;padding-bottom:40px}}@media (max-width: 820px){.landing-render-compare{grid-template-columns:1fr;gap:12px}.landing-render-arrow{flex-direction:row;gap:8px;transform:rotate(90deg);margin:2px 0}.landing-render-arrow-lab{display:none}.landing-render-showcase{padding:40px 0 48px}.landing-render-inner{padding:0 14px}}.landing-cta-wrap{max-width:920px;margin:0 auto 48px;padding:0 28px}.landing-cta-banner{background:radial-gradient(600px 200px at 80% 0%,color-mix(in srgb,var(--accent) 32%,transparent),transparent 60%),linear-gradient(135deg,var(--ink) 0%,color-mix(in srgb,var(--ink) 78%,var(--accent)) 55%,color-mix(in srgb,var(--ink) 55%,var(--accent)) 100%);border-radius:calc(var(--radius-lg) + 4px);padding:48px 36px;text-align:center;color:#fff;box-shadow:var(--shadow-lg);border:1px solid color-mix(in srgb,var(--ink) 85%,var(--accent))}.landing-cta-h2{font-size:clamp(24px,4vw,32px);letter-spacing:-.03em;margin:0;font-weight:800}.landing-cta-p{color:color-mix(in srgb,#fff 72%,var(--accent));font-size:16px;margin:14px auto 26px;max-width:560px;line-height:1.55}.landing-cta-banner .landing-btn.primary{box-shadow:0 8px 24px #00000047}@media (max-width: 640px){.landing-hero,.landing-shot-wrap,.landing-detail,.landing-cta-wrap{padding-left:14px;padding-right:14px}.landing-hero{padding-top:36px}.landing-cta-banner{padding:36px 20px}}.landing-steps{max-width:1040px;margin:0 auto;padding:12px 28px 40px}.landing-steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.landing-step{display:flex;gap:14px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 16px;box-shadow:var(--shadow-xs);transition:box-shadow .14s var(--ease),border-color .14s var(--ease)}.landing-step:hover{box-shadow:var(--shadow);border-color:var(--line-strong)}.landing-step-n{width:36px;height:36px;border-radius:var(--radius);background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 78%,#fff),var(--accent));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0;box-shadow:0 4px 12px #0f172a24}.landing-step-t{font-weight:700;font-size:16px;letter-spacing:-.015em;color:var(--ink)}.landing-step-d{color:var(--muted);font-size:14px;line-height:1.5;margin-top:4px}.landing-showcase{max-width:1100px;margin:0 auto;padding:8px 28px 40px}.landing-showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.landing-showcase-card{display:block;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:var(--panel);text-decoration:none;color:var(--ink);box-shadow:var(--shadow-xs);transition:transform .16s var(--ease),box-shadow .16s var(--ease),border-color .16s var(--ease)}.landing-showcase-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-float);border-color:var(--line-strong)}.landing-showcase-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing-showcase-card img{width:100%;display:block;aspect-ratio:16 / 9;object-fit:cover;background:var(--panel-2)}.landing-showcase-name{padding:11px 13px;font-weight:650;font-size:14px;letter-spacing:-.01em}@media (max-width: 640px){.landing-steps,.landing-showcase{padding-left:14px;padding-right:14px}}.landing-page{--landing-ink: #111923;--landing-muted: #5e6875;--landing-blue: #3156ed;--landing-blue-deep: #203fc5;--landing-lime: #bfd98c;--landing-cream: #f6f5ee;--landing-card: #fbfbf7;--landing-line: rgba(17, 25, 35, .12);overflow:clip;background:radial-gradient(circle at 77% 8%,rgba(49,86,237,.13),transparent 25rem),linear-gradient(180deg,#fbfbf7 0%,var(--landing-cream) 48%,#f2f3f6 100%);color:var(--landing-ink)}.landing-header{width:calc(100% - 32px);max-width:1184px;margin:16px auto 0;padding:9px 10px 9px 14px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:#fbfbf7c2;box-shadow:0 10px 40px #1119230f,0 1px #fffc inset;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35)}.landing-header-brand{gap:9px;margin:0;padding:4px 7px 4px 3px;color:var(--landing-ink);font-size:17px;font-weight:800}.landing-header-brand img{width:30px;height:30px;border-radius:9px;box-shadow:0 5px 16px #3156ed2e}.landing-header-brand:hover{background:#3156ed12}.landing-nav{gap:3px}.landing-nav-link{padding:10px 12px;color:#505b68;font-size:13.5px;font-weight:650}.landing-nav-link:hover{color:var(--landing-blue);background:#3156ed12}.landing-nav-ghost,.landing-nav-cta{min-height:42px;margin-left:4px;padding:9px 16px;border-radius:12px;font-size:13.5px;font-weight:720}.landing-nav-ghost{border-color:#1119231f;background:#ffffffb8;color:var(--landing-ink);box-shadow:none}.landing-nav-cta{background:var(--landing-ink);box-shadow:0 7px 20px #11192329}.landing-nav-cta:hover{background:var(--landing-blue);box-shadow:0 9px 24px #3156ed3d}.landing-hero{position:relative;display:grid;grid-template-columns:minmax(0,.86fr) minmax(500px,1.14fr);align-items:center;gap:clamp(48px,6vw,84px);max-width:1248px;min-height:720px;margin:0 auto;padding:88px 32px 110px;text-align:left}.landing-hero:before{position:absolute;top:5%;right:-9%;width:56%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at center,rgba(49,86,237,.075) 0 1px,transparent 1px 32px);-webkit-mask-image:radial-gradient(circle,#000 24%,transparent 69%);mask-image:radial-gradient(circle,#000 24%,transparent 69%);content:"";pointer-events:none}.landing-hero-copy{position:relative;z-index:3;min-width:0}.landing-hero-eyebrow{gap:9px;margin:0 0 24px;padding:0;border:0;background:transparent;box-shadow:none;color:#3e4955;font-size:var(--fs-sm);font-weight:760;letter-spacing:.07em;text-transform:uppercase}.landing-hero-eyebrow>span{display:inline-block;flex-shrink:0;width:9px;height:9px;border-radius:50%;background:var(--landing-lime);box-shadow:0 0 0 5px #bfd98c3d}.landing-hero-h1{max-width:610px;color:var(--landing-ink);font-size:clamp(52px,5.4vw,76px);font-weight:820;line-height:.98;letter-spacing:-.061em;text-wrap:balance}.landing-hero-accent{background:none;color:var(--landing-blue);-webkit-text-fill-color:currentColor}.landing-hero-lead{max-width:570px;margin:27px 0 0;color:var(--landing-muted);font-size:clamp(17px,1.5vw,19px);line-height:1.62;letter-spacing:-.018em}.landing-hero-ctas{justify-content:flex-start;margin-top:32px}.landing-btn{min-height:54px;gap:9px;padding:15px 22px;border-radius:14px;font-size:14.5px;font-weight:740}.landing-btn.primary{background:var(--landing-blue);box-shadow:0 12px 30px #3156ed3d,0 1px #ffffff3d inset}.landing-btn.primary .ico{transition:transform .18s var(--ease)}.landing-btn.primary:hover{background:var(--landing-blue-deep);box-shadow:0 15px 34px #3156ed4d,0 1px #ffffff3d inset}.landing-btn.primary:hover .ico{transform:translate(3px)}.landing-btn.ghost{border-color:#11192321;background:#ffffff9e;color:var(--landing-ink);box-shadow:none}.landing-btn.ghost:hover{border-color:#3156ed47;background:#3156ed12;color:var(--landing-blue)}.landing-hero-proof{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px;color:#68717b;font-size:var(--fs-sm);font-weight:620}.landing-hero-proof>span{display:inline-flex;align-items:center;gap:5px}.landing-hero-proof .ico{color:var(--landing-blue);stroke-width:2.5}.landing-visual{position:relative;z-index:2;min-width:0;padding:34px 0 44px}.landing-visual-orbit{position:absolute;z-index:-1;top:-10%;right:-13%;bottom:-8%;left:2%;border-radius:46% 54% 48% 52%;background:radial-gradient(circle at 68% 34%,rgba(191,217,140,.7) 0 9%,transparent 9.5%),linear-gradient(145deg,#3156ed26,#3156ed05 58%);transform:rotate(-5deg)}.landing-shot{position:relative;overflow:hidden;border:1px solid rgba(17,25,35,.13);border-radius:24px;background:#fff;box-shadow:0 32px 80px #18223533,0 3px 8px #11192314;transform:rotate(1.35deg)}.landing-shot-bar{justify-content:space-between;min-height:45px;padding:8px 12px;border-color:#11192317;background:#f9fafbf5}.landing-shot-brand,.landing-shot-mode{display:inline-flex;align-items:center;gap:6px;color:#374151;font-size:10px;font-weight:760}.landing-shot-brand img{width:19px;height:19px;border-radius:6px}.landing-shot-mode{padding:5px 8px;border:1px solid #dfe3e8;border-radius:7px;background:#fff}.landing-shot-mode>span{width:6px;height:6px;border-radius:50%;background:#42c879;box-shadow:0 0 0 3px #42c87921}.landing-shot>img{display:block;width:100%;aspect-ratio:18 / 11;object-fit:cover}.landing-float-card{position:absolute;z-index:4;display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.86);border-radius:16px;background:#ffffffe0;box-shadow:0 16px 40px #11192329;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.landing-float-card strong,.landing-float-card span{display:block;white-space:nowrap}.landing-float-card strong{color:var(--landing-ink);font-size:var(--fs-sm);line-height:1.15}.landing-float-card div>span{margin-top:3px;color:#697482;font-size:10px;font-weight:600}.landing-float-plan{bottom:3px;left:-34px;width:244px;padding:8px;transform:rotate(-2.5deg)}.landing-float-plan>img{width:82px;height:59px;border-radius:9px;object-fit:cover}.landing-float-ai{top:1px;right:-24px;padding:11px 14px 11px 11px}.landing-float-ai-ico{display:inline-flex!important;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:var(--landing-ink);color:var(--landing-lime)}.landing-capabilities{display:grid;grid-template-columns:repeat(4,1fr);max-width:1184px;margin:0 auto;border-top:1px solid var(--landing-line);border-bottom:1px solid var(--landing-line)}.landing-capability{display:flex;align-items:center;gap:11px;min-width:0;padding:23px 22px;border-right:1px solid var(--landing-line);color:#3e4853;font-size:var(--fs-md);font-weight:700}.landing-capability:last-child{border-right:0}.landing-capability>span{color:var(--landing-blue);font-size:10px;font-weight:800;letter-spacing:.08em}.landing-section-head{margin-bottom:42px}.landing-section-head.wide{max-width:760px;margin-bottom:46px}.landing-section-lab,.landing-section-lab.left{margin-bottom:12px;color:var(--landing-blue);font-size:var(--fs-xs);font-weight:800;letter-spacing:.13em}.landing-section-h2{max-width:820px;margin-inline:auto;color:var(--landing-ink);font-size:clamp(34px,4.2vw,50px);font-weight:810;line-height:1.04;letter-spacing:-.05em;text-wrap:balance}.landing-section-link{margin-top:16px;color:var(--landing-blue)}.landing-steps{max-width:1184px;padding:118px 0 126px}.landing-steps-grid{grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--landing-line)}.landing-step{position:relative;display:block;min-height:230px;padding:30px 34px 26px;border:0;border-right:1px solid var(--landing-line);border-radius:0;background:transparent;box-shadow:none}.landing-step:last-child{border-right:0}.landing-step:hover{border-color:var(--landing-line);background:#ffffff70;box-shadow:none}.landing-step-n{width:auto;height:auto;margin-bottom:48px;border-radius:0;background:none;color:var(--landing-blue);box-shadow:none;font-size:var(--fs-xs);letter-spacing:.1em}.landing-step-t{color:var(--landing-ink);font-size:20px;font-weight:770}.landing-step-d{max-width:310px;margin-top:9px;color:var(--landing-muted);font-size:14px;line-height:1.62}.landing-showcase{max-width:1184px;padding:0 0 116px}.landing-showcase-grid{grid-template-columns:repeat(3,1fr);gap:16px}.landing-showcase-card{border-color:var(--landing-line);border-radius:18px;background:var(--landing-card);box-shadow:0 10px 30px #1119230f}.landing-showcase-card:hover{transform:translateY(-4px);border-color:#3156ed47;box-shadow:0 20px 45px #1119231f}.landing-features{max-width:none;padding:118px max(32px,calc((100vw - 1184px)/2)) 128px;background:radial-gradient(circle at 7% 10%,rgba(49,86,237,.38),transparent 24rem),radial-gradient(circle at 94% 85%,rgba(191,217,140,.1),transparent 22rem),#101720}.landing-features .landing-section-lab{color:var(--landing-lime)}.landing-features .landing-section-h2{color:#f7f8fb}.landing-features-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;max-width:1184px;margin:0 auto}.landing-feat-card{position:relative;grid-column:span 4;display:flex;flex-direction:column;align-items:flex-start;min-height:270px;overflow:hidden;padding:30px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:#ffffff0e;box-shadow:none;color:#fff;transition:transform .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}.landing-feat-card:hover{transform:translateY(-3px);border-color:#fff3;background:#ffffff13;box-shadow:none}.landing-feat-1{grid-column:span 7;min-height:340px;background:var(--landing-blue)}.landing-feat-1:hover{background:#385df3}.landing-feat-2{grid-column:span 5;min-height:340px}.landing-feat-3{background:var(--landing-lime);color:var(--landing-ink)}.landing-feat-3:hover{background:#d2ff5b}.landing-feat-6{grid-column:span 12;flex-direction:row;align-items:flex-end;min-height:190px}.landing-feat-ico{display:inline-flex;width:48px;height:48px;margin-bottom:auto;border-radius:14px;background:#ffffff1a;color:var(--landing-lime)}.landing-feat-1 .landing-feat-ico{background:#ffffff29;color:#fff}.landing-feat-3 .landing-feat-ico{background:#1119231a;color:var(--landing-ink)}.landing-feat-6 .landing-feat-ico{margin:0 24px 0 0;flex-shrink:0}.landing-feat-copy{position:relative;z-index:2;max-width:520px}.landing-feat-t{color:inherit;font-size:clamp(20px,2vw,26px);font-weight:770;letter-spacing:-.035em}.landing-feat-d{max-width:520px;margin-top:10px;color:#f1f5f9ad;font-size:14px;line-height:1.62}.landing-feat-1 .landing-feat-d{color:#ffffffc2}.landing-feat-3 .landing-feat-d{color:#111923b3}.landing-feat-mark{position:absolute;top:20px;right:24px;color:#ffffff3d;font-size:var(--fs-xs);font-weight:800;letter-spacing:.12em}.landing-feat-3 .landing-feat-mark{color:#11192347}.landing-detail{max-width:1184px;margin:0 auto;padding:132px 0 140px;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:76px}.landing-section-lab.left{text-align:left}.landing-detail-h2{color:var(--landing-ink);font-size:clamp(38px,4.3vw,54px);font-weight:810;line-height:1.03;letter-spacing:-.052em;text-wrap:balance}.landing-detail-p{color:var(--landing-muted);font-size:15.5px;line-height:1.7}.landing-detail-list{gap:0;margin-top:25px;border-top:1px solid var(--landing-line)}.landing-detail-list li{padding:15px 0 15px 30px;border:0;border-bottom:1px solid var(--landing-line);border-radius:0;background:transparent;box-shadow:none;color:#37414c;font-size:var(--fs-md)}.landing-detail-list li:before{left:0;width:18px;height:18px;background:var(--landing-blue);color:#fff;font-size:10px}.landing-detail-ctas{margin-top:28px}.landing-detail-shot{overflow:visible;border:0;border-radius:24px;background:#fff;box-shadow:0 34px 70px #1119232b;transform:rotate(1.4deg)}.landing-detail-shot:before{position:absolute;z-index:-1;top:-20px;right:28px;bottom:24px;left:-24px;border-radius:28px;background:#3156ed21;content:"";transform:rotate(-3deg)}.landing-detail-shot img{border-radius:24px 24px 0 0;aspect-ratio:21 / 13.65}.landing-detail-cap{border-top-color:#11192317;border-radius:0 0 24px 24px;background:#fff;color:#68727e}.landing-render-showcase{margin:0;padding:126px 0 134px;border-color:#ffffff14;background:radial-gradient(circle at 50% 0%,rgba(49,86,237,.34),transparent 34rem),#111923}.landing-render-inner{max-width:1184px;padding:0}.landing-render-showcase .landing-section-lab{color:var(--landing-lime)}.landing-render-showcase .landing-detail-h2{max-width:760px;color:#fff}.landing-render-lead{max-width:650px;margin-bottom:48px;color:#f1f5f9a8}.landing-render-compare{gap:22px;max-width:1100px;margin-bottom:36px}.landing-render-card{border-color:#ffffff1c;border-radius:22px;background:#17212d;box-shadow:0 24px 60px #00000040}.landing-render-card-after{border-color:#bfd98c6b;box-shadow:0 28px 70px #00000057,0 0 0 1px #bfd98c14}.landing-render-card img{aspect-ratio:1.08 / 1}.landing-render-card figcaption{border-top-color:#ffffff14;background:#17212d;color:#f1f5f9a8}.landing-render-badge{top:14px;left:14px;padding:7px 11px;background:#111923d1}.landing-render-badge.accent{background:var(--landing-lime);color:var(--landing-ink)}.landing-render-arrow{color:var(--landing-lime)}.landing-render-arrow-ico{border-color:#bfd98c40;background:#ffffff12;box-shadow:none}.landing-render-arrow-lab{color:#f1f5f980}.landing-render-showcase .landing-btn.ghost{border-color:#ffffff2e;background:#ffffff0f;color:#fff}.landing-render-showcase .landing-btn.ghost:hover{border-color:#bfd98c6b;background:#bfd98c14;color:var(--landing-lime)}.landing-cta-wrap{max-width:1184px;margin:0 auto;padding:112px 0}.landing-cta-banner{position:relative;overflow:hidden;padding:82px 42px;border:0;border-radius:28px;background:var(--landing-blue);box-shadow:0 28px 70px #3156ed3d}.landing-cta-banner:before,.landing-cta-banner:after{position:absolute;border:1px solid rgba(255,255,255,.17);border-radius:50%;content:""}.landing-cta-banner:before{top:-210px;left:-80px;width:450px;height:450px}.landing-cta-banner:after{right:-170px;bottom:-260px;width:540px;height:540px;box-shadow:0 0 0 58px #ffffff09,0 0 0 116px #ffffff06}.landing-cta-h2,.landing-cta-p,.landing-cta-banner .landing-btn{position:relative;z-index:2}.landing-cta-h2{max-width:720px;margin:0 auto;font-size:clamp(38px,5vw,58px);line-height:1.02;letter-spacing:-.052em;text-wrap:balance}.landing-cta-p{margin:20px auto 30px;color:#ffffffbd}.landing-cta-banner .landing-btn.primary{background:var(--landing-lime);color:var(--landing-ink);box-shadow:0 12px 30px #11192330}.landing-cta-banner .landing-btn.primary:hover{background:#dbff7c}.landing-page .landing-footer{border-top-color:#1119231a;background:#ffffff5c}@media (prefers-reduced-motion: no-preference){.landing-hero-copy{animation:landing-rise .7s var(--ease) both}.landing-visual{animation:landing-rise .8s .08s var(--ease) both}.landing-float-plan{animation:landing-float-plan 5s .9s ease-in-out infinite}.landing-float-ai{animation:landing-float-ai 5.6s .45s ease-in-out infinite}}@keyframes landing-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-float-plan{0%,to{transform:rotate(-2.5deg) translateY(0)}50%{transform:rotate(-2.5deg) translateY(-7px)}}@keyframes landing-float-ai{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}@media (max-width: 1220px){.landing-capabilities,.landing-steps,.landing-showcase,.landing-detail,.landing-render-inner,.landing-cta-wrap{margin-left:28px;margin-right:28px}.landing-detail{grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr);gap:52px}}@media (max-width: 980px){.landing-hero{grid-template-columns:1fr;gap:38px;max-width:780px;padding-top:78px}.landing-hero-copy,.landing-hero-h1{max-width:680px}.landing-visual{margin:0 22px}.landing-capabilities{grid-template-columns:repeat(2,1fr)}.landing-capability:nth-child(2){border-right:0}.landing-capability:nth-child(-n+2){border-bottom:1px solid var(--landing-line)}.landing-detail{grid-template-columns:1fr;gap:62px;max-width:760px}.landing-detail-copy{max-width:620px}.landing-feat-1,.landing-feat-2{grid-column:span 6}.landing-feat-3,.landing-feat-4,.landing-feat-5{grid-column:span 4}}@media (max-width: 720px){.landing-header{width:calc(100% - 16px);margin-top:8px;padding:7px 8px 7px 10px;border-radius:15px}.landing-header-brand{font-size:var(--fs-lg)}.landing-header-brand img{width:28px;height:28px}.landing-nav{gap:1px}.landing-nav-link{padding:8px 9px;font-size:12.5px}.landing-nav-extra,.landing-nav-ghost{display:none}.landing-nav-cta{min-height:38px;padding:8px 12px;font-size:12.5px}.landing-hero{min-height:0;padding:65px 18px 82px}.landing-hero-eyebrow{margin-bottom:20px;font-size:var(--fs-2xs)}.landing-hero-h1{font-size:clamp(44px,13vw,60px);letter-spacing:-.057em}.landing-hero-lead{margin-top:22px;font-size:16px}.landing-hero-ctas{display:grid;grid-template-columns:1fr;gap:10px}.landing-hero-ctas>a,.landing-hero-ctas>button{width:100%}.landing-hero-proof{gap:9px 14px}.landing-visual{margin:28px 4px 0;padding-bottom:58px}.landing-shot{border-radius:18px;transform:rotate(.8deg)}.landing-shot-bar{min-height:38px}.landing-float-plan{bottom:10px;left:-7px;width:180px}.landing-float-plan>img{width:60px;height:46px}.landing-float-ai{top:-30px;right:-5px}.landing-float-card strong{font-size:var(--fs-2xs)}.landing-float-card div>span{font-size:8.5px}.landing-capabilities,.landing-steps,.landing-showcase,.landing-detail,.landing-render-inner,.landing-cta-wrap{margin-left:18px;margin-right:18px}.landing-capability{padding:18px 12px;font-size:11.5px}.landing-capability>span{display:none}.landing-section-head{margin-bottom:30px}.landing-section-h2{font-size:clamp(32px,10vw,42px)}.landing-steps{padding-top:88px;padding-bottom:92px}.landing-steps-grid{grid-template-columns:1fr}.landing-step{min-height:0;padding:27px 4px 30px;border-right:0;border-bottom:1px solid var(--landing-line)}.landing-step-n{margin-bottom:24px}.landing-features{padding:86px 18px 92px}.landing-features-grid{grid-template-columns:1fr}.landing-feat-card,.landing-feat-1,.landing-feat-2,.landing-feat-3,.landing-feat-4,.landing-feat-5,.landing-feat-6{grid-column:1;min-height:250px}.landing-feat-6{flex-direction:column;align-items:flex-start}.landing-feat-6 .landing-feat-ico{margin:0 0 auto}.landing-detail{padding-top:92px;padding-bottom:102px}.landing-detail-h2{font-size:clamp(36px,11vw,48px)}.landing-detail-shot{border-radius:18px}.landing-detail-shot img{border-radius:18px 18px 0 0}.landing-detail-cap{border-radius:0 0 18px 18px}.landing-render-showcase{padding:90px 0 96px}.landing-render-compare{grid-template-columns:1fr}.landing-render-arrow{transform:rotate(90deg)}.landing-render-card img{aspect-ratio:1.12 / 1}.landing-render-cta-row{display:grid;grid-template-columns:1fr}.landing-cta-wrap{padding:72px 0}.landing-cta-banner{padding:60px 22px;border-radius:22px}.landing-cta-h2{font-size:clamp(34px,11vw,46px)}}.app{--radius: 10px;--radius-sm: 8px;--radius-lg: 16px;--topbar-h: 54px;--rail-w: 54px;background:var(--bg)}.app .topbar{min-height:var(--topbar-h);padding:8px 12px;gap:7px;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--panel) 88%,transparent);box-shadow:0 1px color-mix(in srgb,#fff 58%,transparent) inset;backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35)}[data-theme=dark] .app .topbar{background:color-mix(in srgb,var(--panel) 90%,transparent);box-shadow:0 1px #ffffff09 inset}.app .topbar-cluster,.app .bar-tools{gap:5px}.app .brand{min-height:38px;gap:8px;padding:4px 7px 4px 3px;border-radius:var(--radius);font-size:14px}.app .brand-logo{width:28px;height:28px;border-radius:8px;box-shadow:0 5px 15px #0f172a21}.app .brand-txt{font-weight:780}.app .plan-name{width:150px;height:38px;min-height:38px;padding:7px 10px;border-radius:9px;font-size:13.5px;font-weight:630}.app .plan-name:hover{border-color:var(--line);background:color-mix(in srgb,var(--panel-2) 66%,transparent)}.app .plan-name:focus{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));background:var(--panel);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.app .bar-divider{height:22px;margin:0 3px;background:color-mix(in srgb,var(--line) 86%,transparent)}.app .btn{min-height:36px;padding:7px 11px;border-color:color-mix(in srgb,var(--line) 90%,var(--ink));border-radius:var(--radius);background:var(--panel);box-shadow:none;font-size:12.5px;font-weight:620;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .1s var(--ease)}.app .btn:hover:not(:disabled){border-color:var(--line-strong);background:var(--panel-2)}.app .btn.active,.app .btn.primary{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--on-accent);box-shadow:0 5px 14px #0f172a24}.app .btn.primary:hover:not(:disabled),.app .btn.active:hover:not(:disabled){border-color:var(--accent-fill-hover);background:var(--accent-fill-hover);color:var(--on-accent)}.app .btn.ghost{border-color:transparent;background:transparent;box-shadow:none}.app .btn.danger{color:var(--danger)}.app .btn.icon-only{min-width:36px;padding:0}[data-theme=dark] .app .btn.active{color:#0d1420}[data-theme=dark] .app .btn.primary,[data-theme=dark] .app .btn.active:hover:not(:disabled),[data-theme=dark] .app .btn.primary:hover:not(:disabled){color:#0d1420}.app .seg{gap:2px;padding:3px;border-color:color-mix(in srgb,var(--line) 86%,transparent);border-radius:11px;background:color-mix(in srgb,var(--panel-2) 82%,var(--panel));box-shadow:none}.app .btn.seg-btn{min-height:30px;padding:6px 9px;border-radius:8px}.app .btn.seg-btn.active{background:var(--panel);color:var(--accent);box-shadow:0 1px 3px #10182814,0 1px #ffffffb3 inset}[data-theme=dark] .app .btn.seg-btn.active{color:var(--accent);box-shadow:0 1px 3px #0000004d}.app .history-seg,.app .units-seg{height:38px;min-height:38px;padding:3px;border-radius:11px}.app .history-seg .btn.seg-btn.icon-only{width:30px;min-width:30px;height:30px;min-height:30px;border-radius:8px}.app .units-seg .btn.seg-btn.units-btn:not(.icon-only){min-height:30px;border-radius:8px}.app .overlays-btn,.app .floors-btn,.app .site-gear,.app .menu-wrap[data-tour=share]>.btn,.app .credits-pill,.app .save-pill{height:38px;min-height:38px;border-radius:11px}.app .floors-btn{min-width:132px;justify-content:flex-start}.app .save-pill{border-color:transparent;background:transparent;box-shadow:none}.app .credits-pill{border-color:color-mix(in srgb,var(--accent) 24%,var(--line));background:color-mix(in srgb,var(--accent-soft) 52%,var(--panel));box-shadow:none}.app .site-gear.has-on,.app .overlays-btn.has-on,.app .floors-btn.has-on{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:var(--accent-soft);color:var(--accent)}.app .tabbar{min-height:36px;padding:4px 7px 0;gap:3px;border-bottom-color:var(--line);background:color-mix(in srgb,var(--panel-2) 74%,var(--bg))}.app .tab{min-height:31px;padding:6px 6px 7px 10px;border-radius:9px 9px 0 0;font-size:12.5px}.app .tab.active{border-color:var(--line);background:var(--panel);box-shadow:0 1px 0 var(--panel)}.app .tab.active:before{left:9px;right:9px;height:2px;border-radius:0 0 3px 3px;background:var(--accent-fill)}.app .sidebar{background:var(--panel);border-right-color:var(--line);box-shadow:none}.app .side-head{min-height:38px;padding:7px 7px 7px 12px;border-bottom-color:var(--line);background:var(--panel);box-shadow:none;color:color-mix(in srgb,var(--muted) 88%,var(--ink));letter-spacing:.085em}[data-theme=dark] .app .side-head{background:var(--panel);box-shadow:none}.app .side-toggle{width:28px;min-width:28px;height:28px;min-height:28px;border-radius:8px}.app .side-new:not(.side-wizard){min-height:38px;margin:10px 10px 0;border-color:var(--accent-fill);border-radius:var(--radius);background:var(--accent-fill);color:var(--on-accent);box-shadow:0 7px 18px #0f172a24;font-weight:700}.app .side-new:not(.side-wizard):hover:not(:disabled){border-color:var(--accent-fill-hover);background:var(--accent-fill-hover);color:var(--on-accent)}[data-theme=dark] .app .side-new:not(.side-wizard){color:#0d1420}.app .side-wizard{margin-left:10px;margin-right:10px;min-height:36px;border-color:color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--radius);background:color-mix(in srgb,var(--accent-soft) 46%,var(--panel));color:var(--ink);box-shadow:none}.app .side-wizard:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:var(--accent-soft);color:var(--accent)}.app .side-search{min-height:34px;margin:7px 10px 6px;padding:0 9px;border-radius:9px;border-color:var(--line);background:var(--panel-2);box-shadow:none}.app .side-search:focus-within{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:var(--panel);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.app .side-scroll{padding:3px 8px 14px}.app .side-group{margin:13px 7px 5px;color:var(--muted);letter-spacing:.08em}.app .proj-row{min-height:34px;margin:2px 0;padding:6px 8px;border-radius:9px;font-size:12.5px}.app .proj-row:hover{border-color:transparent;background:var(--panel-2);box-shadow:none}.app .proj-row.active{border-color:color-mix(in srgb,var(--accent) 17%,transparent);background:var(--accent-soft);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.app .left-rail{width:var(--rail-w);gap:3px;padding:8px 0 10px;border-right-color:var(--line);background:color-mix(in srgb,var(--panel) 96%,var(--panel-2));box-shadow:none}.app .tool-btn{width:38px;height:38px;border-radius:11px;color:color-mix(in srgb,var(--muted) 90%,var(--ink))}.app .tool-btn:hover{border-color:color-mix(in srgb,var(--line) 72%,transparent);background:var(--panel-2);color:var(--ink)}.app .tool-btn.active{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--on-accent);box-shadow:0 7px 18px #0f172a24}[data-theme=dark] .app .tool-btn.active{color:#0d1420}.app .tool-sep{width:20px;margin:4px 0 3px;background:var(--line);opacity:1}.app .canvas-wrap{background:radial-gradient(900px 500px at 50% -12%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 58%),var(--canvas-bg, #f8fafc)}.app .canvas-fabs{top:12px;right:14px;gap:7px}.app .canvas-fabs .fab,.app .canvas-fabs .fab-seg,.app .zoom-controls,.app .side-expander,.app .panel-expander{border-color:color-mix(in srgb,var(--line) 82%,var(--ink));background:var(--panel-glass);box-shadow:var(--shadow-float);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3)}.app .canvas-fabs .fab,.app .canvas-fabs .fab-seg{min-height:40px;border-radius:13px}.app .canvas-fabs .fab{padding:8px 11px}.app .canvas-fabs .fab.icon-only{width:40px;min-width:40px}.app .canvas-fabs .fab-render{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--accent-soft) 68%,var(--panel-glass));color:var(--accent)}.app .canvas-fabs .fab-seg{padding:4px}.app .canvas-fabs .fab-seg .btn.seg-btn:not(.icon-only){min-width:43px;min-height:30px;border-radius:9px}.app .canvas-fabs .fab-seg .seg-btn.active{background:var(--ink);color:var(--panel)}.app .zoom-controls{right:16px;gap:3px;padding:5px;border-radius:14px}.app .zoom-controls .btn,.app .zoom-controls .btn.icon-only{width:36px;min-width:36px;height:36px;min-height:36px;border-radius:9px}.app .hint{bottom:max(14px,env(safe-area-inset-bottom));padding:7px 13px;border-color:#ffffff1a;background:#111722e6;box-shadow:0 10px 26px #10182833;font-size:11.5px}.app .viewer3d-controls{top:14px;left:14px;width:232px;gap:8px;padding:10px;border-color:color-mix(in srgb,var(--line) 82%,var(--ink));border-radius:16px;background:var(--panel-glass);box-shadow:var(--shadow-float);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3)}.app.no-side .viewer3d-controls,.app.no-side .viewer3d-chip,.no-side .app .viewer3d-controls,.canvas-wrap.no-side .viewer3d-controls,.canvas-wrap.no-side .viewer3d-chip{left:calc(52px + env(safe-area-inset-left,0px))}.app .v3d-title{margin-top:8px;padding-top:8px;border-top-color:var(--line);color:var(--muted);letter-spacing:.08em}.app .v3d-row{gap:7px}.app .v3d-eye,.app .v3d-solo{min-height:32px;border-color:var(--line);border-radius:9px;background:var(--panel);box-shadow:none}.app .v3d-eye{width:32px;height:32px}.app .v3d-check{min-height:32px}.app .right-panel{background:color-mix(in srgb,var(--panel) 98%,var(--panel-2));border-left-color:var(--line);box-shadow:none}.app .panel-tabs{align-items:center;gap:3px;min-height:48px;padding:7px 6px;border-bottom-color:var(--line);background:var(--panel);box-shadow:none}.app .panel-tab{min-height:34px;margin:0;padding:7px 6px;border:0;border-radius:9px;color:var(--muted);font-size:11.5px;font-weight:650}.app .panel-tab:hover{background:var(--panel-2);color:var(--ink)}.app .panel-tab.active,.app .panel-tab.active:hover{border:0;background:var(--accent-soft);color:var(--accent);box-shadow:none}.app .panel-collapse{width:30px;min-width:30px;height:30px;margin:0 0 0 2px;border-radius:9px}.app .panel-scroll{padding:14px 13px 18px}.app .section-title{gap:6px;margin:15px 0 7px;padding-bottom:6px;border-bottom-color:color-mix(in srgb,var(--line) 78%,transparent);color:var(--muted);font-size:10px;letter-spacing:.08em}.app .prop-panel>.section-title:first-child{padding:8px 10px;border-radius:9px;border-color:color-mix(in srgb,var(--accent) 18%,var(--line));background:var(--accent-soft);box-shadow:none}.app .level-block{margin-bottom:12px;padding:11px;border-color:var(--line);border-radius:12px;background:var(--panel-2);box-shadow:none}.app .field{margin-bottom:10px}.app .field label{margin-bottom:5px;color:color-mix(in srgb,var(--muted) 92%,var(--ink));font-size:11.5px;font-weight:630}.app .field input[type=text],.app .field input[type=number],.app .field select,.app .dlg-input{min-height:36px;padding:7px 9px;border-color:var(--line);border-radius:9px;background:var(--panel);box-shadow:0 1px 2px #10182806 inset}.app .field input:focus,.app .field select:focus{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}.app .prop-ico-btn,.app .prop-ico-btn.prop-full{min-height:34px;padding:7px 9px;border-radius:9px;box-shadow:none}.app .prop-empty{padding:18px 12px 15px;border-color:var(--line);border-radius:12px;background:var(--panel-2)}.app .prop-empty-ico{width:38px;height:38px;margin-bottom:8px;border-color:var(--line);border-radius:11px;background:var(--panel)}.app .menu-pop{padding:7px;border-color:var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25)}.app .menu-item,.app a.menu-item,.app .menu-item.export-item,.app .menu-item.overlay-item{min-height:40px;padding:8px 10px;border:0;border-radius:9px;background:transparent;box-shadow:none}.app .menu-item:hover,.app .menu-item.overlay-item:hover,.app .menu-item.overlay-item.on{background:var(--panel-2)}.app .menu-item.overlay-item.on{color:var(--accent)}.app .menu-sep{margin:6px 4px;background:var(--line)}.app .menu-group-label{padding:7px 9px 4px;color:var(--muted);letter-spacing:.08em}.app .cat-item{min-height:72px;padding:8px 6px;border-color:var(--line);border-radius:11px;box-shadow:none}.app .cat-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--accent-soft);box-shadow:0 8px 18px #0f172a14}.app .empty-canvas{background:radial-gradient(circle at 50% 36%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 23rem),var(--canvas-bg)}.app .empty-canvas-title{color:var(--ink);font-size:clamp(30px,4vw,42px);letter-spacing:-.045em}.app .start-cards{gap:14px;margin-top:28px}.app .start-card{min-height:164px;padding:21px 16px 16px;border-color:var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 10px 30px #1018280f}.app .start-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:0 18px 40px #1018281c}.app .start-card-ai{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:var(--accent-soft)}html:has(.app) .help-backdrop,html:has(.app) .dlg-backdrop{background:#0f162175;backdrop-filter:blur(9px) saturate(.9);-webkit-backdrop-filter:blur(9px) saturate(.9)}html:has(.app) .elev-modal,html:has(.app) .dlg-modal,html:has(.app) .help-modal,html:has(.app) .wiz-modal,html:has(.app) .share-modal,html:has(.app) .credits-modal{border-color:var(--line);border-radius:18px;background:var(--panel);box-shadow:0 28px 90px #0a111c47,0 6px 20px #0a111c1a}html:has(.app) .whatsnew-header,html:has(.app) .whatsnew-footer{background:var(--panel)}@media (max-width: 820px){.app{--topbar-h: 54px}.app .topbar{min-height:var(--topbar-h);padding:7px 9px;gap:5px;scroll-padding-inline:9px}.app .brand{order:0;min-width:38px;padding:3px 5px 3px 2px}.app .brand-logo{width:28px;height:28px}.app .plan-name{display:none}.app .floors-wrap{order:1}.app .floors-btn{min-width:126px;max-width:144px}.app .spacer{display:none}.app .topbar>.topbar-cluster:not(.bar-tools){order:2}.app .bar-tools{order:3}.app .menu-wrap[data-tour=share]{order:4}.app .history-seg,.app .save-pill,.app .topbar .credits-pill{display:none}.app .topbar .panel-nav{min-height:38px;padding:3px}.app .topbar .panel-nav .seg-btn{width:32px;min-width:32px;height:30px;min-height:30px;padding:0;border-radius:8px}.app .topbar .panel-nav .panel-nav-ai{width:auto;min-width:38px;padding:0 7px}.app .tabbar{min-height:40px;padding:4px 7px 0}.app .tab{min-height:36px}.app .left-rail{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto;min-height:62px;padding:8px 10px;gap:6px;border:1px solid color-mix(in srgb,var(--line) 82%,var(--ink));border-radius:17px;background:var(--panel-glass);box-shadow:0 18px 44px #10182833;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35)}.app .left-rail .tool-btn{width:44px;min-width:44px;height:44px;min-height:44px;border-radius:12px}.app .canvas-fabs{top:10px;right:10px}.app .canvas-fabs .fab,.app .canvas-fabs .fab-seg{min-height:42px}.app .canvas-fabs .fab-seg .btn.seg-btn:not(.icon-only){min-height:32px}.app .zoom-controls{right:12px;bottom:max(98px,calc(env(safe-area-inset-bottom) + 88px));flex-direction:row}.app .hint{bottom:max(104px,calc(env(safe-area-inset-bottom) + 94px));max-width:calc(100% - 32px);border-radius:12px}.app .scale-bar{bottom:max(98px,calc(env(safe-area-inset-bottom) + 88px))}.app .right-panel{top:8px;right:8px;bottom:8px;width:min(90vw,344px);max-width:344px;overflow:hidden;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px #0a111c47}.app .panel-tabs{min-height:52px;padding:8px 7px}.app .panel-tab{min-height:36px;padding:8px 6px}.app .panel-scroll{padding:14px 13px max(18px,env(safe-area-inset-bottom))}.app .panel-backdrop.mobile-only{background:#0f162157;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}}@media (max-width: 520px){.app .units-seg{height:38px}.app .overlays-btn,.app .menu-wrap[data-tour=share]>.btn{min-width:38px;width:38px;padding:0;justify-content:center}.app .start-card{min-height:0;border-radius:14px}}.asset-actions{position:absolute;top:2px;right:4px;display:flex;gap:1px;z-index:2}.asset-action{border:none;background:color-mix(in srgb,var(--panel) 88%,transparent);cursor:pointer;padding:4px;min-width:26px;min-height:26px;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.asset-action:hover{color:var(--accent);background:var(--panel)}.asset-action.danger{color:var(--danger, #a13030)}.asset-action.danger:hover{background:color-mix(in srgb,var(--danger) 12%,var(--panel));color:var(--danger)}.asset-action:focus-visible{outline:2px solid var(--accent);outline-offset:0}.side-empty{text-align:center;padding:18px 10px 8px;color:var(--muted)}.side-empty .ico{margin:0 auto 6px;opacity:.65;display:block}.side-empty .empty-note{margin:0}.side-empty-tip{margin-top:6px!important;font-size:11.5px;opacity:.9}.landing-footer{text-align:center;padding:28px 16px 24px;color:var(--muted);font-size:var(--fs-md);letter-spacing:-.01em;border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:color-mix(in srgb,var(--panel) 55%,transparent);box-shadow:0 1px #ffffff73 inset;-webkit-font-smoothing:antialiased}.landing-footer-links{display:flex;gap:4px 6px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}.landing-footer-links a{color:color-mix(in srgb,var(--muted) 92%,var(--ink));text-decoration:none;font-weight:600;font-size:var(--fs-md);letter-spacing:-.01em;min-height:36px;display:inline-flex;align-items:center;padding:0 10px;border-radius:var(--radius-sm);transition:color .12s var(--ease),background .12s var(--ease)}.landing-footer-links a:hover{color:var(--accent);background:var(--accent-soft)}.landing-footer-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.landing-footer-copy{color:color-mix(in srgb,var(--muted) 88%,var(--line-strong));font-size:12.5px;font-weight:500;letter-spacing:-.005em;opacity:1}.site-footer{margin-top:auto;padding-bottom:max(28px,env(safe-area-inset-bottom))}.help-page,.pricing-page,.legal-page,.gal-page,.nf-page{display:flex;flex-direction:column;min-height:100vh}.help-page{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){.help-page{scroll-behavior:auto}}.driver-active .driver-active-element{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px;border-radius:var(--radius-sm);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 14%,transparent),var(--shadow-float)}.dream-tour-pop.driver-popover{background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);color:var(--ink);border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));border-radius:var(--radius-lg);box-shadow:0 1px #ffffff8c inset,var(--shadow-lg);max-width:min(320px,calc(100vw - 24px));min-width:240px;padding:16px 16px 14px;font-family:inherit;letter-spacing:-.011em;-webkit-font-smoothing:antialiased}.dream-tour-pop.driver-popover *{font-family:inherit}.dream-tour-pop .driver-popover-title{font-size:14.5px;font-weight:700;letter-spacing:-.02em;line-height:1.35;color:var(--ink);padding-right:22px}.dream-tour-pop .driver-popover-description{font-size:var(--fs-md);line-height:1.5;letter-spacing:-.005em;color:var(--muted);margin-top:6px;font-weight:450}.dream-tour-pop .driver-popover-footer{margin-top:14px;gap:8px}.dream-tour-pop .driver-popover-progress-text{font-size:11.5px;font-weight:550;letter-spacing:-.01em;color:var(--muted);font-variant-numeric:tabular-nums}.dream-tour-pop .driver-popover-navigation-btns{gap:6px;display:flex;align-items:center}.dream-tour-pop .driver-popover-prev-btn,.dream-tour-pop .driver-popover-next-btn{border-radius:var(--radius-sm);font-family:inherit;font-weight:600;font-size:12.5px;letter-spacing:-.01em;padding:7px 12px;min-height:32px;line-height:1.2;text-shadow:none;border:1px solid color-mix(in srgb,var(--line) 90%,var(--ink));background:var(--panel-2);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-xs);cursor:pointer;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease),transform .1s var(--ease)}.dream-tour-pop .driver-popover-prev-btn:hover,.dream-tour-pop .driver-popover-next-btn:hover{background:color-mix(in srgb,var(--panel-2) 70%,var(--panel));border-color:var(--line-strong)}.dream-tour-pop .driver-popover-prev-btn:focus-visible,.dream-tour-pop .driver-popover-next-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dream-tour-pop .driver-popover-next-btn{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent)}.dream-tour-pop .driver-popover-next-btn:hover{background:var(--accent-fill-hover);border-color:var(--accent-fill-hover);color:var(--on-accent)}.dream-tour-pop .driver-popover-close-btn{color:var(--muted);width:28px;height:28px;border-radius:var(--radius-sm);top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;transition:color .12s var(--ease),background .12s var(--ease)}.dream-tour-pop .driver-popover-close-btn:hover,.dream-tour-pop .driver-popover-close-btn:focus{color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}.dream-tour-pop .driver-popover-close-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dream-tour-pop .driver-popover-arrow-side-left.driver-popover-arrow,.dream-tour-pop .driver-popover-arrow-side-right.driver-popover-arrow,.dream-tour-pop .driver-popover-arrow-side-top.driver-popover-arrow,.dream-tour-pop .driver-popover-arrow-side-bottom.driver-popover-arrow{border-color:var(--panel)}[data-theme=dark] .dream-tour-pop.driver-popover{background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 1px #ffffff0a inset,var(--shadow-lg);border-color:color-mix(in srgb,var(--line) 80%,transparent)}[data-theme=dark] .driver-active .driver-active-element{outline-color:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 22%,transparent),var(--shadow-float)}.legal-page{background:radial-gradient(900px 320px at 50% -48px,color-mix(in srgb,var(--accent) 8%,transparent),transparent 62%),var(--bg);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased}.legal-wrap{max-width:760px;margin:0 auto;padding:28px 24px 80px;font-size:var(--fs-lg);line-height:1.65;color:var(--ink);flex:1;width:100%}.legal-wrap a{color:var(--accent);text-decoration:none;font-weight:550;transition:color .12s var(--ease)}.legal-wrap a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:2px}.legal-wrap a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.legal-wrap p{margin:0 0 12px;color:color-mix(in srgb,var(--ink) 92%,var(--muted));letter-spacing:-.005em}.legal-wrap ul{padding-left:1.25em;margin:10px 0 14px}.legal-wrap li{margin-bottom:7px;padding-left:2px;color:color-mix(in srgb,var(--ink) 92%,var(--muted));letter-spacing:-.005em}.legal-wrap li::marker{color:color-mix(in srgb,var(--accent) 45%,var(--muted))}.legal-wrap b{font-weight:650;color:var(--ink)}.legal-title{font-size:clamp(26px,5vw,32px);margin:0 0 8px;letter-spacing:-.03em;font-weight:800;line-height:1.15;color:var(--ink)}.legal-updated{color:var(--muted);font-size:13.5px;font-weight:450;letter-spacing:-.005em;margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid color-mix(in srgb,var(--line) 92%,transparent)}.legal-h2{margin-top:36px;margin-bottom:12px;font-size:18.5px;font-weight:750;letter-spacing:-.025em;line-height:1.25;color:var(--ink);padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--line) 92%,transparent)}@media (max-width: 640px){.legal-wrap{padding:16px 14px 60px}.legal-h2{font-size:17.5px;margin-top:30px}}.rm-strip{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:2px}.rm-strip-item{flex:0 0 auto;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);line-height:0}.rm-strip-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rm-strip img,.rm-strip-item img{height:92px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);box-shadow:var(--shadow-xs);transition:transform .14s var(--ease),border-color .14s var(--ease),box-shadow .14s var(--ease);background:var(--panel-2);display:block}.rm-strip img:hover,.rm-strip-item:hover img{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:var(--shadow)}.rm-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.rm-card{border:1px solid color-mix(in srgb,var(--line) 90%,transparent);border-radius:var(--radius);overflow:hidden;background:var(--panel);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .14s var(--ease),box-shadow .14s var(--ease),border-color .14s var(--ease);padding:0;font:inherit;text-align:left;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:block;width:100%}.rm-input-lab{display:block;font-size:var(--fs-sm);font-weight:600;letter-spacing:-.01em;color:var(--muted);margin:0 0 6px}.rm-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}.rm-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rm-card img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;background:var(--panel-2)}.rm-card-foot{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;font-size:12.5px;font-weight:550;letter-spacing:-.01em;gap:8px;color:var(--muted);background:color-mix(in srgb,var(--panel) 92%,var(--panel-2));border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.rm-card-foot small{color:var(--muted);opacity:.85;font-weight:500}.rm-detail-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.rm-detail-meta{font-size:var(--fs-md);letter-spacing:-.01em;color:var(--muted)}.rm-detail-img{max-width:100%;max-height:52vh;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--line) 90%,transparent);display:block;margin:0 auto 12px;background:var(--panel-2);box-shadow:var(--shadow)}.rm-refine{background:var(--panel);border:1px solid color-mix(in srgb,var(--line) 90%,transparent);border-radius:var(--radius-lg);padding:13px 14px;box-shadow:var(--shadow-xs)}.rm-refine-head{font-weight:700;font-size:13.5px;letter-spacing:-.015em;margin-bottom:8px}.rm-refine-row{display:flex;gap:8px}.rm-refine-row .rm-cta{margin-top:0}.rm-pill{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:60;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border:1px solid color-mix(in srgb,var(--line) 85%,var(--ink));border-radius:var(--radius);box-shadow:var(--shadow-float);padding:10px 14px;display:flex;align-items:center;gap:10px;font-size:var(--fs-md);font-weight:500;letter-spacing:-.01em;color:var(--ink);max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center}.rm-pill-adjust{z-index:70;border-color:color-mix(in srgb,#f5a623 70%,var(--line));box-shadow:var(--shadow-float),0 0 0 1px color-mix(in srgb,#f5a623 18%,transparent)}.rm-adjust-frame{position:fixed;inset:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(88px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border:3px solid #f5a623;border-radius:12px;pointer-events:none;z-index:55;box-shadow:0 0 0 9999px #0f141e59}.rm-adjust-scrim{position:fixed;left:50%;top:max(28px,env(safe-area-inset-top));transform:translate(-50%);z-index:65;border:1px solid rgba(255,255,255,.12);background:color-mix(in srgb,#0f172a 78%,transparent);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);color:#fff;border-radius:var(--radius-pill);padding:10px 18px;font:inherit;font-size:var(--fs-md);font-weight:600;letter-spacing:-.01em;cursor:pointer;max-width:calc(100vw - 32px);box-shadow:var(--shadow-float);transition:background .14s var(--ease)}.rm-adjust-scrim:hover{background:color-mix(in srgb,#0f172a 90%,transparent)}.rm-adjust-scrim:focus-visible{outline:2px solid #fff;outline-offset:2px}.rm-adjust-hint kbd{display:inline-block;margin:0 3px;padding:1px 7px;border-radius:5px;border:1px solid rgba(255,255,255,.35);font:600 12px/1.5 ui-monospace,Menlo,monospace}.rm-view{display:flex;flex-direction:column;width:186px}.rm-view-thumb{display:block;width:100%;padding:0;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}.rm-view-actions{display:flex;flex-wrap:wrap;gap:3px;padding:5px 5px 6px;border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--panel-2) 70%,var(--panel))}.rm-view-act{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:3px 6px;font-size:var(--fs-2xs);font-weight:600;letter-spacing:-.01em;color:var(--muted);cursor:pointer;font-family:inherit;min-height:26px;transition:color .12s var(--ease),border-color .12s var(--ease),background .12s var(--ease)}.rm-view-act:hover:not(:disabled){color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent-soft) 60%,var(--panel))}.rm-view-act:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rm-view-act:disabled{opacity:.45;cursor:not-allowed}.rm-view-act.icon{padding:3px 5px}.rm-view-act.icon.on{color:#f0a020;border-color:color-mix(in srgb,#f0a020 55%,var(--line));background:color-mix(in srgb,#f0a020 10%,var(--panel))}.rm-view-act.danger:hover:not(:disabled){color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--panel))}.rm-view.fav{box-shadow:0 0 0 1px color-mix(in srgb,#f0a020 40%,transparent),var(--shadow-xs)}.rm-view.sel{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent),var(--shadow-xs)}.rm-3d-tip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin:0 0 14px;padding:12px 14px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent-soft) 75%,var(--panel));box-shadow:var(--shadow-xs);font-size:var(--fs-md);line-height:1.45;letter-spacing:-.01em;color:var(--ink)}.rm-3d-tip-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.rm-history{margin:0 0 14px;padding:10px 12px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:color-mix(in srgb,var(--panel) 88%,var(--panel-2));box-shadow:var(--shadow-xs)}.rm-history-lab{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12.5px;letter-spacing:-.015em;margin-bottom:8px;color:var(--ink)}.rm-history-lab .ico{color:var(--muted)}.rm-history-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.rm-hist{flex:0 0 auto;width:118px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;background:var(--panel);box-shadow:var(--shadow-xs);transition:transform .14s var(--ease),border-color .14s var(--ease),box-shadow .14s var(--ease)}.rm-hist:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 36%,var(--line));box-shadow:var(--shadow)}.rm-hist:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rm-hist.sel{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent),var(--shadow-xs)}.rm-hist img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;background:var(--panel-2)}.rm-hist span,.rm-hist .rm-hist-lab{display:flex;align-items:center;gap:3px;font-size:var(--fs-2xs);font-weight:500;letter-spacing:-.01em;padding:4px 6px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rm-hist.sel span,.rm-hist.sel .rm-hist-lab{color:var(--ink);font-weight:600;background:var(--accent-soft)}.rm-detail-stage{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:12px}.rm-detail-stage .rm-detail-img{margin:0}.rm-nav{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:20px;line-height:1;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease),background .12s var(--ease),box-shadow .12s var(--ease);display:inline-flex;align-items:center;justify-content:center;padding:0}.rm-nav:hover:not(:disabled){transform:scale(1.06);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel));box-shadow:var(--shadow)}.rm-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rm-nav:disabled{opacity:.35;cursor:default;box-shadow:none}.rm-detail-count{font-size:11.5px;font-weight:600;letter-spacing:-.01em;color:var(--muted);background:var(--panel-2);border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:var(--radius-pill);padding:3px 10px}.rm-refine-row{flex-wrap:wrap}.rm-refine-row .rm-input{flex:1;min-width:160px}.rm-refine-row .rm-cta{width:auto;min-width:120px}@media (max-width: 520px){.rm-detail-stage{gap:6px}.rm-nav{width:36px;height:36px}.rm-refine-row .rm-cta{width:100%}}.roof-sides{display:grid;grid-template-columns:1fr 1fr;gap:6px}.roof-side{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;padding:4px 6px;background:var(--panel-2)}.roof-side span{flex:1;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.roof-side button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:6px;width:28px;height:28px;line-height:1;cursor:pointer;font-size:var(--fs-sm);padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.roof-side button:hover{border-color:var(--accent);color:var(--accent)}.roof-side button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.roof-side input{width:44px;border:none;background:transparent;font-size:var(--fs-sm);text-align:center;outline:none;padding:2px 0;color:var(--ink);font-family:inherit}.roof-edge-ctl{display:flex;align-items:center;gap:3px;background:var(--panel-glass);border:1px solid var(--line);border-radius:var(--radius-pill);padding:2px 4px;box-shadow:var(--shadow);pointer-events:auto;white-space:nowrap;backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2)}.roof-edge-ctl button{border:none;background:var(--accent-fill);color:var(--on-accent);border-radius:50%;width:20px;height:20px;line-height:1;font-size:14px;cursor:pointer;padding:0}.roof-edge-ctl button:first-child{background:var(--panel-2);color:var(--ink)}.roof-edge-ctl button:hover{filter:brightness(1.08)}.roof-edge-ctl span{min-width:22px;text-align:center;font-size:var(--fs-2xs);font-weight:700;color:var(--ink)}.viewer-role{margin-left:4px;font-size:var(--fs-sm);font-weight:650;letter-spacing:-.01em;color:var(--muted);background:color-mix(in srgb,var(--panel-2) 70%,var(--panel-glass));border:1px solid color-mix(in srgb,var(--line) 86%,var(--ink));border-radius:var(--radius-pill);padding:5px 11px;white-space:nowrap;flex-shrink:0;box-shadow:0 1px #ffffff7a inset,var(--shadow-xs);backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1)}.viewer-share-note{background:color-mix(in srgb,#f0a020 12%,var(--panel-glass));backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);border-bottom:1px solid color-mix(in srgb,#f0a020 30%,var(--line));color:color-mix(in srgb,#7a5c14 88%,var(--ink));font-size:12.5px;font-weight:500;letter-spacing:-.01em;padding:8px 14px;line-height:1.45;box-shadow:0 1px #ffffff59 inset}.viewer-share-note.edit{background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel-glass));border-bottom-color:color-mix(in srgb,var(--accent) 32%,var(--line));color:color-mix(in srgb,var(--accent) 88%,var(--ink))}.viewer-share-note b{font-weight:700}.viewer-share-note-x{margin-inline-start:auto;flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:inherit;cursor:pointer}.viewer-share-note-x:hover{background:color-mix(in srgb,currentColor 12%,transparent)}[data-theme=dark] .viewer-topbar{box-shadow:0 1px #ffffff0a inset,0 1px 2px #00000040,0 10px 28px -14px #00000080}[data-theme=dark] .viewer-title{box-shadow:0 1px #ffffff0a inset,var(--shadow-xs)}[data-theme=dark] .viewer-ico-btn:not(.active){box-shadow:0 1px #ffffff0a inset,var(--shadow-xs)}[data-theme=dark] .viewer-ico-btn:hover:not([disabled]):not(.active){background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel-glass))}[data-theme=dark] .viewer-cta{box-shadow:var(--shadow-float),0 1px #ffffff0a inset}[data-theme=dark] .viewer-renders-modal{box-shadow:var(--shadow-lg),0 1px #ffffff0a inset}[data-theme=dark] .viewer-role{background:color-mix(in srgb,var(--panel-2) 70%,transparent);box-shadow:0 1px #ffffff0a inset,var(--shadow-xs)}[data-theme=dark] .viewer-share-note{background:color-mix(in srgb,#f0a020 16%,var(--panel));border-bottom-color:color-mix(in srgb,#f0a020 35%,var(--line));color:#f0d9a0;box-shadow:none}[data-theme=dark] .viewer-share-note.edit{background:color-mix(in srgb,var(--accent) 16%,var(--panel));border-bottom-color:color-mix(in srgb,var(--accent) 35%,var(--line));color:color-mix(in srgb,var(--accent) 75%,#fff)}[data-theme=dark] .pv-gate-card{box-shadow:var(--shadow-lg),0 1px #ffffff0a inset}[data-theme=dark] .pv-gate-ico,[data-theme=dark] .pv-gate-ok{box-shadow:0 1px #ffffff0a inset,var(--shadow-xs)}[data-theme=dark] .shimmer{background:linear-gradient(100deg,color-mix(in srgb,var(--ink) 8%,var(--panel)) 40%,color-mix(in srgb,var(--ink) 14%,var(--panel)),color-mix(in srgb,var(--ink) 8%,var(--panel)) 60%);background-size:200% 100%}.fb-root{position:fixed;left:auto;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.fb-root>*{pointer-events:auto}.fb-fab-wrap{position:relative;display:inline-flex;align-items:center}.fb-fab{display:inline-flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));background:color-mix(in srgb,var(--panel-glass) 88%,var(--panel));backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);color:var(--ink);border-radius:var(--radius-pill);padding:6px 12px 6px 10px;font:inherit;font-size:12.5px;font-weight:650;letter-spacing:-.015em;cursor:pointer;box-shadow:0 1px #ffffff8c inset,var(--shadow-float);max-width:min(200px,calc(100vw - 28px));min-height:34px;-webkit-font-smoothing:antialiased;transition:transform .14s var(--ease),box-shadow .14s var(--ease),background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease)}.fb-fab.fb-fab-mini{width:28px;height:28px;min-height:28px;min-width:28px;padding:0;max-width:none;justify-content:center;gap:0;border-radius:50%;opacity:.92}.fb-fab.fb-fab-mini:hover{opacity:1}.fb-fab-q{font-size:14px;font-weight:700;line-height:1;color:var(--accent);letter-spacing:0}.fb-fab-dismiss{position:absolute;top:-6px;right:-6px;width:18px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));background:color-mix(in srgb,var(--panel) 96%,var(--ink));color:var(--muted);cursor:pointer;box-shadow:var(--shadow-xs);transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}.fb-fab-dismiss:hover{color:var(--ink);background:var(--panel);border-color:color-mix(in srgb,var(--ink) 18%,var(--line))}.fb-fab-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fb-fab:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--accent-soft) 45%,var(--panel-glass));border-color:color-mix(in srgb,var(--accent) 32%,var(--line));color:var(--accent);box-shadow:0 1px #ffffff8c inset,var(--shadow-lg)}.fb-fab:active{transform:translateY(0);box-shadow:0 1px #fff6 inset,var(--shadow-xs)}.fb-fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fb-fab-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-fill);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent);flex-shrink:0}.fb-fab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:fb-label-in .32s var(--ease)}@keyframes fb-label-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.fb-panel{width:min(340px,calc(100vw - 28px));max-height:min(452px,calc(100vh - 100px));display:flex;flex-direction:column;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));border-radius:var(--radius-lg);box-shadow:0 1px #ffffff8c inset,var(--shadow-lg);overflow:hidden;color:var(--ink);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;animation:fb-panel-in .18s var(--ease)}@keyframes fb-panel-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.fb-head{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 88%,var(--panel)),color-mix(in srgb,var(--panel-glass) 55%,transparent));flex-shrink:0}.fb-title{font-weight:700;font-size:14px;letter-spacing:-.022em;line-height:1.25}.fb-sub{font-size:11.5px;font-weight:450;color:var(--muted);margin-top:2px;line-height:1.4;letter-spacing:-.005em}.fb-close{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s var(--ease),color .12s var(--ease)}.fb-close:hover{background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink)}.fb-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fb-messages{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-height:100px;max-height:196px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 55%,transparent),color-mix(in srgb,var(--panel-2) 28%,transparent));-webkit-overflow-scrolling:touch}.fb-empty{font-size:12.5px;color:var(--muted);line-height:1.4;letter-spacing:-.01em;padding:8px 4px;text-align:center}.fb-bubble-msg{max-width:92%;padding:7px 10px;box-shadow:0 1px #ffffff80 inset,var(--shadow-xs)}.fb-bubble-msg.user{align-self:flex-end;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 14%,var(--panel)),color-mix(in srgb,var(--accent) 9%,var(--panel)));border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:12px 12px 4px}.fb-bubble-msg.admin{align-self:flex-start;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--panel-2)),color-mix(in srgb,var(--panel) 88%,var(--panel-2)));border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));border-radius:12px 12px 12px 4px}.fb-bubble-who{font-size:var(--fs-2xs);font-weight:700;letter-spacing:-.01em;color:var(--accent);margin-bottom:2px}.fb-bubble-text{font-size:12.5px;line-height:1.4;letter-spacing:-.01em;white-space:pre-wrap;word-break:break-word}.fb-bubble-meta{font-size:10px;font-weight:500;color:var(--muted);margin-top:3px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.fb-field-lab{font-size:11.5px;font-weight:600;letter-spacing:-.01em;color:var(--muted);display:flex;align-items:center;gap:6px}.fb-req{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 80%,transparent);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);padding:1px 6px;border-radius:var(--radius-pill);box-shadow:0 1px #fff6 inset}.fb-thanks{align-self:center;font-size:12.5px;font-weight:600;letter-spacing:-.01em;color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--panel));border:1px solid color-mix(in srgb,var(--ok) 28%,var(--line));border-radius:var(--radius-pill);padding:5px 12px;box-shadow:0 1px #ffffff73 inset,var(--shadow-xs)}.fb-compose{padding:8px 10px 10px;border-top:1px solid color-mix(in srgb,var(--line) 90%,transparent);display:flex;flex-direction:column;gap:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 70%,transparent),color-mix(in srgb,var(--panel) 92%,transparent));flex-shrink:0}.fb-identity{font-size:var(--fs-xs);font-weight:500;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.005em}.fb-email,.fb-input{width:100%;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));border-radius:var(--radius-sm);padding:5px 9px;font:inherit;font-size:12.5px;letter-spacing:-.01em;color:var(--ink);background:color-mix(in srgb,var(--panel) 96%,var(--panel-2));outline:none;box-shadow:inset 0 1px 1px #0f172a08,0 1px #fff6 inset,var(--shadow-xs);transition:border-color .14s var(--ease),box-shadow .14s var(--ease),background .14s var(--ease)}.fb-email{min-height:28px;line-height:1.25}.fb-email::placeholder,.fb-input::placeholder{color:color-mix(in srgb,var(--muted) 85%,transparent)}.fb-input{resize:vertical;min-height:56px;line-height:1.35}.fb-email:hover,.fb-input:hover{border-color:var(--line-strong)}.fb-email:focus,.fb-input:focus{border-color:var(--accent);background:var(--panel);box-shadow:var(--input-focus-ring)}.fb-send{align-self:flex-end;display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:5px 9px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;line-height:1.25;letter-spacing:-.01em}.fb-send.btn.active{box-shadow:0 1px #ffffff38 inset,0 1px 2px color-mix(in srgb,var(--accent) 28%,transparent)}.fb-send:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fb-err{font-size:var(--fs-sm);font-weight:550;letter-spacing:-.01em;color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--danger) 28%,var(--line));border-radius:var(--radius-sm);padding:5px 9px;box-shadow:0 1px #fff6 inset,var(--shadow-xs)}[data-theme=dark] .fb-fab,[data-theme=dark] .fb-panel,[data-theme=dark] .fb-fab:hover{box-shadow:0 1px #ffffff0a inset,var(--shadow-lg)}[data-theme=dark] .fb-fab-dismiss{background:color-mix(in srgb,var(--panel) 94%,var(--ink));color:var(--muted)}[data-theme=dark] .fb-head{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 40%,transparent),transparent);border-bottom-color:color-mix(in srgb,var(--line) 80%,transparent)}[data-theme=dark] .fb-messages{background:color-mix(in srgb,var(--panel-2) 50%,transparent)}[data-theme=dark] .fb-bubble-msg{box-shadow:0 1px #ffffff0a inset,var(--shadow-xs)}[data-theme=dark] .fb-bubble-msg.user{background:color-mix(in srgb,var(--accent) 16%,var(--panel))}[data-theme=dark] .fb-bubble-msg.admin{background:color-mix(in srgb,var(--panel-2) 55%,var(--panel))}[data-theme=dark] .fb-compose{background:color-mix(in srgb,var(--panel) 88%,transparent);border-top-color:color-mix(in srgb,var(--line) 80%,transparent)}[data-theme=dark] .fb-email,[data-theme=dark] .fb-input{background:color-mix(in srgb,var(--panel-2) 55%,var(--panel));box-shadow:inset 0 1px 1px #0000002e,0 1px #ffffff08 inset}[data-theme=dark] .fb-email:focus,[data-theme=dark] .fb-input:focus{background:var(--panel);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}[data-theme=dark] .fb-thanks,[data-theme=dark] .fb-err,[data-theme=dark] .fb-req{box-shadow:0 1px #ffffff0a inset,var(--shadow-xs)}[data-theme=dark] .fb-send.btn.active{box-shadow:0 1px #ffffff14 inset,0 1px 2px color-mix(in srgb,var(--accent) 35%,transparent)}@media (max-width: 480px){.fb-fab{font-size:var(--fs-sm);padding:7px 12px 7px 10px;min-height:36px;gap:6px}.fb-fab.fb-fab-mini{width:32px;height:32px;min-height:32px;min-width:32px;padding:0}.fb-fab-dismiss{width:20px;height:20px;top:-7px;right:-7px}.fb-panel{max-height:min(70vh,520px)}}@media (max-width: 820px){.app~.fb-root,.app .fb-root{bottom:max(72px,calc(env(safe-area-inset-bottom) + 64px))}}.pdf-export-modal{max-width:min(920px,96vw);width:920px}.pdf-export-body{max-height:min(70vh,640px);overflow:auto}.pdf-export-grid{display:grid;grid-template-columns:1.15fr .95fr;gap:22px;align-items:start}@media (max-width: 720px){.pdf-export-grid{grid-template-columns:1fr}.pdf-export-modal{width:96vw}}.pdf-export-hint{font-size:12.5px;color:var(--muted);line-height:1.45;margin:0 0 10px}.pdf-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.pdf-chip-row-wrap{max-height:180px;overflow:auto}.pdf-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:var(--fs-md);font-weight:600;cursor:pointer;transition:border-color .14s var(--ease),background .14s var(--ease),box-shadow .14s var(--ease)}.pdf-chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--panel-2)}.pdf-chip.sel{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.pdf-chip-sub{font-size:var(--fs-2xs);font-weight:500;color:var(--muted)}.pdf-chip.sel .pdf-chip-sub{color:color-mix(in srgb,var(--accent) 70%,var(--muted))}.pdf-check{display:flex;align-items:center;gap:8px;font-size:13.5px;margin:4px 0 8px;cursor:pointer;-webkit-user-select:none;user-select:none}.pdf-check input{accent-color:var(--accent)}.pdf-export-preview-col{position:sticky;top:0}.pdf-tile-preview{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-md, 10px);min-height:200px;display:grid;place-items:center;padding:16px;margin-bottom:12px}.pdf-tile-empty{color:var(--muted);font-size:var(--fs-md);text-align:center}.pdf-tile-grid{position:relative}.pdf-tile-page{position:absolute;background:#fff;border:1px solid #9aa3ad;border-radius:2px;box-shadow:0 1px 3px #00000014;overflow:hidden}[data-theme=dark] .pdf-tile-page{background:#1a222c;border-color:#4a5563}.pdf-tile-frame{position:absolute;border:1px dashed color-mix(in srgb,var(--accent) 50%,#9aa3ad);box-sizing:border-box}.pdf-tile-content{position:absolute;background:color-mix(in srgb,var(--accent) 28%,transparent);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);box-sizing:border-box}.pdf-tile-label{position:absolute;right:3px;bottom:2px;font-size:9px;font-weight:700;color:#6b7785;line-height:1}.pdf-preview-meta{font-size:var(--fs-md);line-height:1.5;color:var(--ink)}.pdf-preview-meta b{font-variant-numeric:tabular-nums}.pdf-preview-dims{color:var(--muted);font-size:12.5px;margin-top:2px}.pdf-preview-pages{display:flex;flex-direction:column;gap:1px;margin-top:6px;padding:6px 9px;border-radius:8px;background:var(--panel-2);font-size:12.5px}.pdf-preview-pages span{color:var(--muted);line-height:1.4}.pdf-export-foot{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px 16px;border-top:1px solid var(--line)}@media (min-width: 821px){.app{--rail-w: 66px}.app .left-rail{gap:2px;padding:8px 0}.app .left-rail .tool-btn.rail-labeled{width:56px;height:auto;min-height:46px;padding:6px 2px 5px;flex-direction:column;gap:3px;border-radius:11px}.app .left-rail .tool-btn.rail-labeled .ico{width:18px;height:18px}.app .left-rail .tool-sep{width:28px;margin:5px 0 4px}.app .left-rail .rail-spacer{flex:1 1 auto;min-height:8px}.app .left-rail .rail-help:not(:hover){color:color-mix(in srgb,var(--muted) 80%,transparent)}}.rail-label{font-size:10px;font-weight:620;line-height:1.05;letter-spacing:-.01em;max-width:54px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app .left-rail .tool-btn:disabled{opacity:.38;cursor:default}.app .left-rail .tool-btn:disabled:hover{background:transparent;border-color:transparent}.rail-group{position:relative}.rail-group-caret{position:absolute;top:6px;right:6px;width:0;height:0;border-left:4px solid transparent;border-top:4px solid currentColor;opacity:.5}.app .left-rail .tool-btn.rail-group.open:not(.active){background:var(--accent-soft);color:var(--accent)}@media (max-width: 820px){.rail-label,.rail-spacer{display:none}.rail-group-caret{top:4px;right:4px}.app .left-rail .tool-sep{width:1px;height:26px;min-height:26px;margin:0 2px;align-self:center;background:var(--line);opacity:1}}.rail-flyout-backdrop{z-index:60}.rail-flyout{position:fixed;z-index:61;width:240px;padding:6px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 97%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25);animation:rail-flyout-in .12s var(--ease, ease-out)}@keyframes rail-flyout-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}.rail-flyout-title{padding:6px 8px;color:var(--muted);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.rail-flyout-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font:inherit}.rail-flyout-item:hover,.rail-flyout-item:focus-visible{background:var(--panel-2);outline:none}.rail-flyout-item.on{background:var(--accent-soft);color:var(--accent)}.rail-flyout-ico{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.rail-flyout-text{display:flex;flex-direction:column;min-width:0;flex:1}.rail-flyout-name{font-size:var(--fs-md);font-weight:650}.rail-flyout-sub{color:var(--muted);font-size:11.5px;line-height:1.3}.rail-flyout-item kbd,.start-opt kbd{min-width:20px;padding:1px 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:var(--panel);color:var(--muted);font:600 10.5px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center}.app .hint{transition:opacity .4s ease,transform .4s ease}.app .hint.hint-faded{opacity:0;transform:translate(-50%) translateY(6px)}@media (min-width: 821px){.app .canvas-wrap:has(.sel-toolbar.multi-desktop) .hint{bottom:max(66px,calc(env(safe-area-inset-bottom) + 58px))}.app .sel-toolbar.multi-desktop{bottom:max(14px,env(safe-area-inset-bottom))}}.start-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;align-items:center;justify-content:center;padding:72px 20px 80px;pointer-events:none}.start-overlay-card{position:relative;width:min(560px,100%);padding:26px 24px 22px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);pointer-events:auto;animation:start-overlay-in .28s var(--ease, ease-out)}@keyframes start-overlay-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.start-overlay-close{position:absolute;top:12px;right:12px;width:32px;height:32px}.start-overlay-kicker{color:var(--accent);font-size:var(--fs-xs);font-weight:750;letter-spacing:.08em;text-transform:uppercase}.start-overlay-title{margin:6px 0 4px;color:var(--ink);font-size:var(--fs-2xl);font-weight:760;letter-spacing:-.02em;line-height:1.2}.start-overlay-lead{margin:0 0 18px;color:var(--muted);font-size:13.5px}.start-overlay-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.start-opt{display:flex;align-items:flex-start;gap:12px;padding:14px 13px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);text-align:left;text-decoration:none;cursor:pointer;font:inherit;transition:border-color .14s ease,box-shadow .14s ease,transform .1s ease}.start-opt:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 8px 22px #0f172a1a;transform:translateY(-1px)}.start-opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.start-opt-primary{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent-soft) 60%,var(--panel))}.start-opt-ico{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:11px;background:var(--accent-soft);color:var(--accent)}.start-opt-text{display:flex;flex-direction:column;gap:3px;min-width:0}.start-opt-text b{font-size:14px;font-weight:700}.start-opt-text small{color:var(--muted);font-size:var(--fs-sm);line-height:1.4}@media (max-width: 820px){.start-overlay{align-items:flex-start;padding:64px 12px 110px;overflow-y:auto}.start-overlay-card{padding:20px 16px 16px}.start-overlay-title{font-size:19px}.start-overlay-grid{grid-template-columns:1fr;gap:8px}.start-opt{padding:11px 12px}}@media (min-width: 821px){.app .topbar .save-txt{display:inline}.app .topbar .save-pill{min-width:0;padding:5px 8px;gap:6px;color:var(--muted);font-size:var(--fs-sm);font-weight:600}}@media (min-width: 1181px){.app .topbar .bar-label{display:inline}.app .topbar .overlays-btn,.app .topbar .floors-btn,.app .topbar .site-gear,.app .topbar .menu-wrap[data-tour=share]>.btn{gap:6px;padding:6px 10px}}@media (max-width: 1180px){.app .topbar .site-gear{width:38px;min-width:38px;padding:0;justify-content:center}}@media (min-width: 821px){.app.right-open .topbar .panel-nav{display:none}}.app .topbar .collab-dot{display:none}.app .topbar .topbar-help{width:38px;min-width:38px;height:38px;min-height:38px;border-radius:11px;color:var(--muted)}.app .topbar .topbar-help:hover{color:var(--ink)}@media (min-width: 821px){body:has(.app) .fb-root{right:calc(var(--editor-right-inset, 0px) + 16px)}}.pp-nothing{display:flex;align-items:flex-start;gap:11px;margin-bottom:10px;padding:12px;border:1px dashed color-mix(in srgb,var(--line) 70%,var(--muted));border-radius:12px}.pp-nothing-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent)}.pp-nothing-title{color:var(--ink);font-size:13.5px;font-weight:700}.pp-nothing-sub{margin:2px 0 0;color:var(--muted);font-size:var(--fs-sm);line-height:1.45}.pp-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.pp-quick-btn,.pp-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:58px;padding:8px 4px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--ink);font:inherit;font-size:11.5px;font-weight:620;line-height:1.15;text-align:center;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.pp-quick-btn:hover,.pp-action:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent-soft) 45%,var(--panel))}.pp-quick-btn:focus-visible,.pp-action:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pp-quick-ai{color:var(--accent)}.pp-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:2px 0 12px}.pp-action{min-height:52px;font-size:var(--fs-xs)}.pp-action.on{border-color:var(--input-focus-border);background:var(--accent-soft);color:var(--accent)}.pp-more{margin:4px 0 8px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.level-block .pp-more{margin-bottom:0}.pp-more>summary{display:flex;align-items:center;gap:8px;padding:10px 11px;list-style:none;cursor:pointer;border-radius:12px;-webkit-user-select:none;user-select:none}.pp-more>summary::-webkit-details-marker{display:none}.pp-more>summary:hover{background:var(--panel-2)}.pp-more>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pp-more-text{display:flex;flex-direction:column;flex:1;min-width:0}.pp-more-title{color:var(--ink);font-size:12.5px;font-weight:680}.pp-more-hint{color:var(--muted);font-size:var(--fs-xs);line-height:1.35}.pp-more-thumb{flex:none;width:44px;height:34px;border-radius:7px;object-fit:cover;border:1px solid var(--line);background:var(--panel-2)}.pp-more-caret{display:inline-flex;color:var(--muted);transition:transform .16s ease}.pp-more[open]>summary .pp-more-caret{transform:rotate(180deg)}.pp-more[open]>summary{border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}.pp-more-body{padding:10px 11px 4px}.link-btn{padding:0;border:0;background:none;color:var(--accent);font:inherit;font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.mt-0{margin-top:0}.app .field.mb-0{margin-bottom:0}.app .level-block .field-hint{margin-top:6px}.app .right-panel .row2>.btn.seg-btn,.app .right-panel .btn.seg-btn.prop-full,.app .right-panel .v3d-seg>.btn.seg-btn{min-height:32px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:var(--fs-sm);font-weight:600}.app .right-panel .row2>.btn.seg-btn:hover:not(:disabled),.app .right-panel .btn.seg-btn.prop-full:hover:not(:disabled){border-color:var(--line-strong);background:var(--panel-2)}.app .right-panel .row2>.btn.seg-btn.active,.app .right-panel .btn.seg-btn.prop-full.active{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));background:var(--accent-soft);color:var(--accent);box-shadow:none}.app .right-panel .field-hint+.pp-more,.app .right-panel .row2.mb-md+.pp-more{margin-top:0}.app .viewer3d-chip{gap:7px;font-weight:650}@media (max-width: 820px){.app .topbar{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.app .topbar::-webkit-scrollbar{display:none}.app .topbar>*{flex-shrink:0}.app .zoom-controls{bottom:max(150px,calc(env(safe-area-inset-bottom) + 140px))}.app .hint{top:62px;bottom:auto;left:58px;right:58px;max-width:none;transform:none;text-align:center}.app .hint.hint-faded{transform:translateY(-6px)}.app .canvas-wrap:has(.three-host) .hint{top:104px}.app .canvas-wrap:has(.sel-toolbar) .hint{bottom:auto}.app .sel-toolbar.mobile-only{width:max-content;flex-wrap:nowrap}.app .canvas-wrap:has(.sel-toolbar.mobile-only) .zoom-controls{display:none}.pp-quick-btn,.pp-action{min-height:56px}}.app .right-panel .kind-grid:not(.room-kit-grid):has(>.kind-card>img){grid-template-columns:repeat(3,1fr);gap:5px}.app .right-panel .field.mt-sm{margin-top:12px}.app .left-rail .tool-btn[data-tip]:after,.app .left-rail .tool-btn[data-tip]:before{display:none}.rail-tip{position:fixed;z-index:70;display:flex;align-items:center;gap:8px;max-width:300px;padding:6px 8px 6px 10px;border-radius:9px;background:color-mix(in srgb,var(--ink) 90%,transparent);color:#fff;font-size:var(--fs-sm);font-weight:560;line-height:1.3;white-space:normal;transform:translateY(-50%);box-shadow:var(--shadow-float);pointer-events:none;animation:rail-tip-in .1s ease-out}.rail-tip kbd{flex-shrink:0}[data-theme=dark] .rail-tip{background:#2a3442}.rail-tip kbd{min-width:18px;padding:1px 5px;border:1px solid rgba(255,255,255,.28);border-radius:5px;background:#ffffff1f;color:#fff;font:700 10.5px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center}@keyframes rail-tip-in{0%{opacity:0;transform:translate(-3px,-50%)}to{opacity:1;transform:translateY(-50%)}}@media (max-width: 820px){.rail-tip{display:none}}@media (max-width: 820px){body:has(.app) .fb-root:not(.open){top:calc(156px + env(safe-area-inset-top,0px));bottom:auto;left:10px;right:auto;align-items:flex-start}body:has(.app) .fb-root:not(.open) .fb-fab{width:38px;min-width:38px;height:38px;min-height:38px;padding:0;justify-content:center;border-radius:12px}body:has(.app) .fb-root:not(.open) .fb-fab-label,body:has(.app) .fb-root:not(.open) .fb-fab-dismiss,body:has(.app) .fb-root:not(.open) .fb-fab-dot{display:none}body:has(.app) .fb-root:not(.open) .fb-fab:not(.fb-fab-mini):before{content:"?";color:var(--accent);font-size:16px;font-weight:800;line-height:1}}@media (max-width: 820px){.app .right-panel:not(.open){transform:translate(calc(100% + 24px));box-shadow:none}}.cat-howto{margin:0 0 10px;padding:8px 10px;border-radius:var(--radius);background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel));color:color-mix(in srgb,var(--muted) 70%,var(--ink));font-size:var(--fs-sm);line-height:1.45}.cat-howto b{color:var(--ink);font-weight:650}.cat-openings{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}.cat-opening-btn{display:flex;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease}.cat-opening-btn:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent-soft) 45%,var(--panel))}.cat-opening-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cat-opening-ico{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.cat-opening-text{display:flex;flex-direction:column;min-width:0}.cat-opening-text b{font-size:var(--fs-md);font-weight:650}.cat-opening-text small{color:var(--muted);font-size:var(--fs-xs)}.wiz-modal .help-head{gap:12px}@media (max-width: 420px){.wiz-modal .help-head{flex-wrap:nowrap;gap:6px}.wiz-modal .help-head .dlg-title-ico{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wiz-modal .wiz-steps{margin:0 2px 0 auto;gap:2px;flex:none}.wiz-modal .wiz-steps li+li:before{width:8px;margin-right:2px}}.wiz-steps{display:flex;align-items:center;gap:4px;margin:0 8px 0 auto;padding:0;list-style:none}.wiz-steps li{display:flex;align-items:center}.wiz-steps li+li:before{content:"";width:14px;height:1px;margin-right:4px;background:var(--line)}.wiz-steps button{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 3px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.wiz-steps button:disabled{cursor:default}.wiz-steps button:not(:disabled):hover{background:var(--panel-2)}.wiz-step-n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;background:var(--panel);font-size:var(--fs-xs);font-weight:700}.wiz-steps li.cur button{color:var(--ink)}.wiz-steps li.cur .wiz-step-n{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--on-accent)}.wiz-steps li.done .wiz-step-n{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft);color:var(--accent)}.wiz-lab-sub{display:block;margin-top:2px;color:var(--muted);font-size:11.5px;font-weight:500}@media (max-width: 560px){.wiz-step-l{display:none}.wiz-steps button{padding:3px}}[data-theme=dark] .app .units-seg .btn.seg-btn.units-btn.active{background:var(--panel);color:var(--accent)}.save-pill.blocked,.app .topbar .save-pill.blocked{color:color-mix(in srgb,var(--accent) 88%,var(--ink))}.save-pill.blocked .led,.more-status.blocked .led,.tab-dot.blocked{background:var(--accent-fill);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.app .topbar .save-copy-btn{height:38px;min-height:38px;border-radius:11px;gap:6px;padding:0 12px;font-weight:650;white-space:nowrap}.example-note{display:none}@media (max-width: 820px){.example-note.mobile-only{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px 7px 14px;font-size:var(--fs-md);font-weight:550;color:var(--ink);background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel));border-bottom:1px solid color-mix(in srgb,var(--accent) 22%,var(--line))}.example-note .btn{flex:none;min-height:34px;padding:0 12px;font-size:var(--fs-md)}}.fb-fab-ico{display:inline-flex;color:var(--accent);flex-shrink:0}.fb-fab-ico .ico{width:15px;height:15px}@media (min-width: 821px){body:has(.app) .fb-root:not(.open) .fb-fab{font-weight:600;color:color-mix(in srgb,var(--ink) 82%,var(--muted))}}@media (max-width: 820px){body:has(.app) .fb-root:not(.open){display:none}body:has(.app) .fb-root.open{top:auto;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));align-items:stretch}body:has(.app) .fb-root.open .fb-panel{width:auto;max-width:none;max-height:min(78dvh,560px)}body:has(.app) .fb-root.open .fb-fab-wrap{align-self:flex-end}}@media (max-width: 820px){.app .topbar{overflow:visible;flex-wrap:nowrap;gap:6px}.app .brand,.app .topbar .units-seg,.app .topbar .overlays-wrap>.btn,.app .topbar .site-menu-wrap>.btn,.app .topbar .menu-wrap[data-tour=share]>.btn,.app .topbar .topbar-restore,.app .topbar .bar-divider{display:none}.app .topbar .bar-tools,.app .topbar .overlays-wrap,.app .topbar .site-menu-wrap,.app .topbar .menu-wrap[data-tour=share]{display:contents}.app .floors-wrap{flex:1 1 auto;min-width:0}.app .topbar .floors-btn{min-width:0;width:100%;max-width:180px}.app .topbar .floors-btn .floors-current{max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app .topbar>.topbar-cluster:not(.bar-tools){margin-left:auto;gap:6px}.app .topbar .topbar-more{position:relative;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;border-radius:11px;justify-content:center}.app .topbar .topbar-more.has-on{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));color:var(--accent)}.more-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--accent-fill);box-shadow:0 0 0 2px var(--panel)}.app .menu-pop.more-pop{left:auto;right:8px;width:min(320px,calc(100vw - 16px));max-height:calc(100dvh - var(--topbar-h) - 16px);gap:2px}.more-status{display:flex;align-items:center;gap:8px;padding:8px 10px 6px;font-size:12.5px;font-weight:600;color:var(--muted)}.more-status .led{width:8px;height:8px;border-radius:50%;flex:none;background:var(--ok)}.more-status.saving .led{background:#f0a020}.more-status.error .led{background:var(--danger)}.more-status.blocked{color:var(--ink)}.more-pop .more-save-copy{margin:2px 4px 6px;min-height:42px;justify-content:center;gap:8px;font-weight:650}.more-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px}.more-row .btn{min-height:40px;justify-content:center;gap:7px}.more-pop .more-units{justify-content:space-between}.more-pop .more-units .seg-btn{min-width:64px;min-height:32px}}@media (max-width: 820px){.app .topbar .avatar-btn{display:none}.app .topbar .floors-btn{max-width:200px}}@media (max-width: 820px){body:has(.app) .fb-root.open .fb-fab-wrap{display:none}}.gal-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:18px 0 20px}.gal-hero .gal-title{font-size:clamp(28px,4vw,40px);line-height:1.08;letter-spacing:-.035em;margin-bottom:8px}.gal-hero .gal-lead{margin:0;font-size:15.5px;max-width:58ch}.gal-hero-cta{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:46px;padding:0 20px;border-radius:var(--radius-pill);background:var(--accent-fill);color:var(--on-accent);font-weight:700;font-size:14.5px;text-decoration:none;box-shadow:0 8px 22px #0f172a24}.gal-hero-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.gal-thumb-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (max-width: 640px){.gal-hero{flex-direction:column;align-items:stretch;margin-top:8px}.gal-hero-cta{justify-content:center}.gal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gal-card-body{padding:9px 10px 10px;gap:4px}.gal-card-name{font-size:14px;line-height:1.25}.gal-card-author{font-size:var(--fs-sm)}.gal-card-actions{flex-direction:column;gap:6px}.gal-card-actions .gal-btn{width:100%;min-height:38px;padding:7px 8px;font-size:var(--fs-md)}}@media (max-width: 640px){.gal-hero-cta{display:none}}@media (max-width: 480px){body:not(:has(.app)) .fb-root:not(.open) .fb-fab{width:42px;min-width:42px;height:42px;min-height:42px;padding:0;justify-content:center;border-radius:50%}body:not(:has(.app)) .fb-root:not(.open) .fb-fab-label,body:not(:has(.app)) .fb-root:not(.open) .fb-fab-dismiss{display:none}body:not(:has(.app)) .fb-root:not(.open) .fb-fab-ico .ico{width:19px;height:19px}}.credits-why{margin:-4px 0 10px;font-size:var(--fs-sm);line-height:1.4;color:var(--muted)}.credits-pack-buys{margin-top:6px;font-size:11.5px;line-height:1.35;color:color-mix(in srgb,var(--accent) 70%,var(--ink));font-weight:550}.app .panel-tab{flex:1 1 auto;min-width:0;overflow:hidden;overflow-wrap:break-word;padding-left:5px;padding-right:5px;white-space:nowrap}@media (max-width: 480px){.landing-nav,.site-header-nav{flex-wrap:nowrap;min-width:0}.landing-nav .landing-nav-link,.site-header-nav .site-header-link{display:none}.landing-nav-cta,.site-header-cta{white-space:nowrap;flex-shrink:0}}@property --strip-fade-s{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --strip-fade-e{syntax: "<length>"; inherits: false; initial-value: 0px;}@keyframes strip-fade{0%{--strip-fade-s: 0px;--strip-fade-e: 40px}8%,92%{--strip-fade-s: 40px;--strip-fade-e: 40px}to{--strip-fade-s: 40px;--strip-fade-e: 0px}}@supports (animation-timeline: scroll()){.cat-tabs,.cat-chips{--strip-dir: to right;-webkit-mask-image:linear-gradient(var(--strip-dir),transparent 0,#000 var(--strip-fade-s),#000 calc(100% - var(--strip-fade-e)),transparent 100%);mask-image:linear-gradient(var(--strip-dir),transparent 0,#000 var(--strip-fade-s),#000 calc(100% - var(--strip-fade-e)),transparent 100%);animation:strip-fade linear both;animation-timeline:scroll(self inline)}@media (max-width: 640px){.help-toc,.gal-cats{--strip-dir: to right;-webkit-mask-image:linear-gradient(var(--strip-dir),transparent 0,#000 var(--strip-fade-s),#000 calc(100% - var(--strip-fade-e)),transparent 100%);mask-image:linear-gradient(var(--strip-dir),transparent 0,#000 var(--strip-fade-s),#000 calc(100% - var(--strip-fade-e)),transparent 100%);animation:strip-fade linear both;animation-timeline:scroll(self inline)}}[dir=rtl] :is(.cat-tabs,.cat-chips,.help-toc,.gal-cats){--strip-dir: to left}}.side-expander.side-expander-labeled{width:auto;padding:0 12px 0 10px;gap:7px;font-size:var(--fs-md);font-weight:600;white-space:nowrap}.side-expander-labeled .ico{margin:0}.side-expander-count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:var(--fs-xs);font-weight:700;line-height:18px;text-align:center}@media (max-width: 820px){.side-expander-labeled .side-expander-label{display:none}}.proj-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.proj-text .proj-name{flex:none}.proj-meta{font-size:var(--fs-2xs);line-height:1.25;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.proj-meta .proj-badge{display:inline-block;vertical-align:1px;margin-inline-end:5px;font-size:9px;padding:0 5px}.proj-actions{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}@media (hover: hover) and (min-width: 821px){.proj-actions{position:absolute;inset-inline-end:4px;top:50%;translate:0 -50%;padding-inline-start:14px;background:linear-gradient(to right,transparent,var(--panel-2) 14px);opacity:0;pointer-events:none;transition:opacity .14s var(--ease)}[dir=rtl] .proj-actions{background:linear-gradient(to left,transparent,var(--panel-2) 14px)}.proj-row.active .proj-actions{background:linear-gradient(to right,transparent,var(--accent-soft) 14px)}[dir=rtl] .proj-row.active .proj-actions{background:linear-gradient(to left,transparent,var(--accent-soft) 14px)}.proj-row:hover .proj-actions,.proj-row:focus-within .proj-actions{opacity:1;pointer-events:auto}}.app .canvas-wrap.no-side .viewer3d-chip,.app .canvas-wrap.no-side .viewer3d-controls,.app.no-side .canvas-wrap .viewer3d-chip,.app.no-side .canvas-wrap .viewer3d-controls{top:calc(52px + env(safe-area-inset-top,0px));left:max(10px,env(safe-area-inset-left))}.wall-add{margin-bottom:12px}.wall-add-title{display:block;font-weight:650}.wall-add-lead{margin:2px 0 6px;color:var(--muted);font-size:11.5px;line-height:1.4}.wall-add-grid{grid-template-columns:repeat(3,1fr)}.wall-add-grid .kind-card.wall-add-wide{grid-column:span 2}.wall-add-grid .kind-card.wall-add-wide img{aspect-ratio:96 / 37}.opening-kind-grid{grid-template-columns:repeat(3,1fr)}.opening-kind-head{margin:6px 0 4px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.opening-kind-grid .kind-card span,.wall-add-grid .kind-card span{white-space:normal;overflow:visible;text-overflow:clip;-webkit-hyphens:auto;hyphens:auto}.wall-face{--face: #2563eb;margin:2px 0 12px;padding:10px 10px 8px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--face) 35%,var(--line));background:color-mix(in srgb,var(--face) 6%,var(--panel))}.wall-face.outside{--face: #d97706}.wall-face-head{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-weight:650;font-size:12.5px;line-height:1.35;color:var(--ink)}.wall-face-dot{flex:none;width:10px;height:10px;margin-top:3px;border-radius:3px;background:var(--face)}.wall-face-switch{margin-bottom:8px}.wall-face-switch .seg-btn.active{border-color:var(--face);color:var(--face);background:color-mix(in srgb,var(--face) 10%,var(--panel))}.wall-face-only,.wall-face-whole{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:4px 0 6px}.wall-face-whole{margin:10px -10px -8px;padding:6px 10px;border-top:1px dashed color-mix(in srgb,var(--face) 30%,var(--line));background:var(--panel);border-radius:0 0 10px 10px}.wall-face-note{margin:4px 0 0;font-size:var(--fs-xs);color:var(--muted)}.wall-face-finish{grid-template-columns:repeat(2,1fr)}.v3d-face-tag{padding:3px 8px;border-radius:var(--radius-pill);font:650 11.5px/1.3 var(--font, system-ui, sans-serif);white-space:nowrap;color:#fff;background:#2563eb;box-shadow:0 2px 8px #0f172a40}.v3d-face-tag.outside{background:#d97706}.roof-part-custom{display:inline-block;width:6px;height:6px;margin-inline-start:5px;border-radius:50%;background:var(--accent-fill);vertical-align:middle}.loc-summary-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px}@media (max-width: 820px){.app .topbar .panel-nav .seg-btn:not(.panel-nav-ai){width:auto;min-width:34px;height:34px;min-height:34px;padding:1px 2px 0;flex-direction:column;gap:0}.app .topbar .floors-btn .overlays-caret{display:none}.app .topbar .panel-nav .seg-btn:not(.panel-nav-ai) .bar-label{display:block;order:2;max-width:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;font-weight:650;line-height:1.25;letter-spacing:0}.app .topbar .panel-nav .seg-btn:not(.panel-nav-ai) .panel-nav-ico .ico{width:15px;height:15px}}.plan-ctx-menu{position:absolute;z-index:30;min-width:170px;display:flex;flex-direction:column;padding:6px;border-radius:12px;border:1px solid var(--line);background:var(--panel);box-shadow:0 12px 32px #0f172a38}.plan-ctx-menu .menu-item{text-align:start;min-height:40px;padding:8px 12px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}.plan-ctx-menu .menu-item:hover,.plan-ctx-menu .menu-item:focus-visible{background:var(--panel-2)}.plan-ctx-menu .menu-item.danger{color:#d92d20}@media (max-width: 820px){.app .sel-toolbar.multi-desktop{display:none}.app .sel-toolbar.multi-desktop.align-open{display:flex;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;bottom:184px;max-width:calc(100vw - 24px);scrollbar-width:none}}.merge-note{position:absolute;top:64px;left:50%;transform:translate(-50%);z-index:22;display:flex;align-items:center;gap:8px;max-width:min(560px,calc(100vw - 32px));padding:8px 8px 8px 14px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--panel);box-shadow:var(--shadow-float);font-size:var(--fs-md);color:var(--ink)}.merge-note-x{padding:4px}.sel-toolbar .msb-extra{display:contents}@media (max-width: 820px){.app .sel-toolbar.multi-desktop.align-open .msb-extra{display:none}}.merge-note .merge-note-alt{flex-shrink:0;min-height:30px;padding:0 10px;font-size:12.5px;white-space:nowrap}@media (max-width: 560px){.merge-note{flex-wrap:wrap}}.merge-note{max-width:min(720px,calc(100vw - 32px))}.merge-note>span{flex:1 1 auto;min-width:0}.group-panel .pp-actions{margin-bottom:10px}.group-members{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:4px}.group-members li{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-md)}.group-member-size{color:var(--muted);font-variant-numeric:tabular-nums}@media (min-width: 821px){.app .sel-toolbar.multi-desktop{flex-wrap:nowrap;max-width:none;white-space:nowrap}}html[lang=ar] .help-row kbd,html[lang=hi] .help-row kbd,html[lang=th] .help-row kbd,html[lang=ja] .help-row kbd,html[lang=zh-CN] .help-row kbd{font-family:inherit;font-size:11.5px}.canvas-wrap:has(.merge-note) .hint{opacity:0}@media (max-width: 560px){.merge-note{position:absolute;padding-inline-end:34px}.merge-note .merge-note-x{position:absolute;top:6px;inset-inline-end:6px}}.stair-rails{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:center;min-width:0}.stair-rails-main{min-width:0}.stair-rail-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;min-width:0}.stair-builder .stair-rail-seg .seg-btn{padding:4px 3px;font-size:var(--fs-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stair-rail-diagram{color:color-mix(in srgb,var(--muted) 70%,var(--ink));margin-top:14px}.stair-rails-hint{grid-column:1 / -1;margin:5px 0 6px;font-size:var(--fs-2xs);line-height:1.35;color:var(--muted)}.app-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);display:flex;align-items:center;gap:var(--sp-3);max-width:min(92vw,460px);padding:9px 16px;border-radius:var(--radius);background:color-mix(in srgb,var(--ink) 94%,transparent);color:var(--panel);font:500 var(--fs-md) / 1.35 var(--font);letter-spacing:-.006em;text-align:center;box-shadow:var(--shadow-lg);pointer-events:none;opacity:0;transform:translate(-50%) translateY(8px);transition:opacity .16s var(--ease),transform .16s var(--ease)}.app-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.app-toast.show.has-action{pointer-events:auto}.app-toast-msg{flex:1 1 auto;min-width:0}.app-toast-btn{flex:none;padding:3px 10px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--panel) 40%,transparent);background:transparent;color:var(--panel);font:650 var(--fs-sm) / 1.4 var(--font);cursor:pointer}.app-toast-btn:hover{background:color-mix(in srgb,var(--panel) 14%,transparent)}.app-toast-btn:focus-visible{outline:2px solid var(--panel);outline-offset:2px}.gal-empty-ico,.snap-empty-ico,.rm-empty-lg>svg:first-child{box-sizing:content-box;width:28px;height:28px;padding:14px;margin:0 auto var(--sp-2);border-radius:50%;background:var(--panel-2);color:var(--muted);opacity:1;display:flex;align-items:center;justify-content:center}.gal-empty-ico svg{width:26px;height:26px}.gal-empty,.rm-empty-lg,.snap-empty{font-size:var(--fs-md);line-height:1.5}.gal-empty{display:flex;flex-direction:column;align-items:center}.help-foot{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);background:var(--panel-2);position:sticky;bottom:0;z-index:1}.help-foot-sub{color:var(--muted);font-size:var(--fs-sm)}.pv-admin-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:var(--accent-tint);border-bottom:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));color:color-mix(in srgb,var(--accent) 70%,var(--ink));font:600 var(--fs-md) / 1.4 var(--font)}.pv-admin-bar a{color:inherit}.pv-admin-bar-main{font-weight:750}.auth-state{width:min(400px,100%);display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5) var(--sp-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow);text-align:center}.auth-state-loading{flex-direction:row;align-items:center;justify-content:center;gap:var(--sp-3);box-shadow:none;background:transparent;border-color:transparent}.auth-state-loading .spinner{width:20px;height:20px;border-width:2px}.auth-state-title{margin:0;font:650 var(--fs-lg) / 1.3 var(--font);color:var(--ink)}.auth-state-body{margin:0;font:400 var(--fs-md) / 1.5 var(--font);color:var(--muted)}.auth-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-2)}@media (min-width: 821px){body:has([data-ideas-panel]) .app .canvas-fabs{right:max(14px,calc(408px - var(--editor-right-inset, 0px) + 14px));transition:right .18s var(--ease)}}@media (max-width: 520px){.app .side-expander{top:calc(max(8px,env(safe-area-inset-top)) + 46px)}.app .canvas-wrap:not(:has(.three-host)) .hint{top:98px;left:10px;right:80px}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font:inherit;cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}.icon-btn:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink)}.icon-btn.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.icon-btn:focus-visible{outline:var(--focus-ring);outline-offset:1px}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.text-input{box-sizing:border-box;min-height:32px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--line) 92%,var(--ink));border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font:inherit;font-size:13.5px;line-height:1.3;letter-spacing:-.01em;box-shadow:var(--shadow-xs);outline:none;transition:border-color .12s var(--ease),box-shadow .12s var(--ease),background .12s var(--ease)}.text-input::placeholder{color:color-mix(in srgb,var(--muted) 85%,transparent)}.text-input:hover:not(:disabled):not(:focus){border-color:var(--line-strong)}.text-input:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-ring);background:var(--panel)}.text-input:disabled{opacity:.55;cursor:not-allowed}a.btn,a.btn:hover{text-decoration:none}
