.site-redesign .blueprint{display:block;width:100%;height:auto;overflow:visible}.site-redesign .blueprint .bp-scan circle{transition:none}.site-redesign .bp-scan,.site-redesign .bp-column,.site-redesign .bp-model,.site-redesign .bp-check,.site-redesign .bp-station{opacity:0;transition:opacity .5s ease}.site-redesign .blueprint:is([data-step="1"],[data-step="2"],[data-step="3"]) :is(.bp-scan-1,.bp-column,.bp-station-1){opacity:1}.site-redesign .blueprint:is([data-step="1"],[data-step="2"],[data-step="3"]) :is(.bp-scan-2,.bp-station-2,.bp-station-3){opacity:1;transition-delay:.3s}.site-redesign .blueprint:is([data-step="2"],[data-step="3"]) .bp-model{opacity:1}.site-redesign .blueprint[data-step="3"] .bp-model{opacity:.55}.site-redesign .blueprint[data-step="3"] .bp-column{opacity:.18}.site-redesign .blueprint[data-step="3"] .bp-check{opacity:1}.site-redesign .blueprint[data-step="3"] .bp-scan{opacity:.7}.site-redesign .bp-faces{fill:color-mix(in srgb,var(--accent) 9%,transparent)}.site-redesign .bp-edges{fill:none;stroke:var(--accent);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s ease}.site-redesign .blueprint:is([data-step="2"],[data-step="3"]) .bp-edges{stroke-dashoffset:0}.site-redesign .bp-shifted circle,.site-redesign .bp-dim-end{fill:var(--issue)}.site-redesign .bp-dim{stroke:var(--issue);stroke-width:1.5}.site-redesign .bp-dim-label{font-size:11px;font-weight:600;fill:var(--issue)}.site-redesign .bp-dim-label .dots{font-size:13px}.site-redesign .bp-tag path{stroke:var(--issue);stroke-width:1.2}.site-redesign .bp-tag rect{fill:color-mix(in srgb,var(--bg) 94%,transparent);stroke:var(--issue)}.site-redesign .bp-tag text{font-size:10.5px;font-weight:600;fill:var(--text)}.site-redesign .bp-tag .dots{fill:var(--issue)}.site-redesign .bp-station-ring{fill:var(--text)}.site-redesign .bp-station-center{fill:var(--accent)}.site-redesign .bp-station text{font-size:10px;fill:var(--text)}:root[data-motion=calm] .site-redesign .bp-edges{stroke-dashoffset:0}@font-face{font-family:IFCT Sans;src:url(/fonts/onest-cyr-lat.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:IFCT Dots;src:url(/fonts/bitcount-single-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}.site.site-redesign{--bg: #0e1115;--panel: #151a21;--edge: #262d38;--text: #e6e9ee;--muted: #8b95a5;--accent: #4c9aff;--issue: #ffb020;--fact: #c9d1dc;--site-gutter: clamp(16px, 4vw, 56px);--header-h: 64px;--ease-out: cubic-bezier(.16, 1, .3, 1);font-family:IFCT Sans,system-ui,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--text) 13%,transparent) 1px,transparent 1.4px) 0 0 / 24px 24px,var(--bg)}.site-redesign .dots,.site-redesign .step-number,.site-redesign .scene-label .dots{font-family:IFCT Dots,ui-monospace,monospace;font-variation-settings:"ELSH" 0;letter-spacing:.02em}.site-redesign .site-bar{height:var(--header-h);padding-block:0;background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom-color:color-mix(in srgb,var(--edge) 70%,transparent)}.site-redesign .brand-redesign{display:inline-flex;align-items:center;gap:11px;padding:6px 4px;margin-left:-4px;border-radius:8px}.site-redesign .brand-station{width:24px;height:24px;flex:none}.site-redesign .station-mark-ring{fill:var(--text)}.site-redesign .station-mark-center{fill:var(--accent)}.site-redesign .brand-wordmark{height:17px;width:auto;aspect-ratio:3904 / 604}.site-redesign .wordmark-ifc{fill:var(--text)}.site-redesign .wordmark-tour{fill:var(--accent)}.site-redesign .brand-wordmark .wordmark-dot{transform-box:fill-box;transform-origin:center;animation:dot-dense 1.3s var(--ease-out) both}.site-redesign .brand-wordmark .wordmark-tour .wordmark-dot{animation-delay:.18s}@keyframes dot-dense{0%{transform:scale(.2)}}.site-redesign .site-nav>a:not(.button-ghost){color:#a7b0bf}.site-redesign a.button-primary,.site-redesign a.button-ghost,.site-redesign button.button-primary{min-height:44px;padding:11px 20px;font-weight:600;font-size:15px}.site-redesign a.button-primary,.site-redesign button.button-primary{box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 28%,transparent)}.site-redesign a.button-ghost{background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(6px)}.site-redesign a.button-primary:active,.site-redesign button.button-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.site-redesign a:focus-visible,.site-redesign button:focus-visible,.site-redesign input:focus-visible,.site-redesign textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-redesign .eyebrow{font-family:inherit;font-weight:600;font-size:12px;letter-spacing:.14em;color:var(--accent)}.site-redesign .lead{color:#c3cad5;font-size:clamp(16px,.6vw + 13px,19px);line-height:1.6}.site-redesign .site-footer-full{position:relative;z-index:1;background:var(--bg)}.site-redesign .footer-title{font-family:IFCT Dots,ui-monospace,monospace;font-size:18px;font-weight:500}.site.site-redesign.site-plain{background:var(--bg)}.site-redesign .auth-page{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center;width:100%;max-width:1280px;margin:0 auto;padding:clamp(32px,6vw,80px) var(--site-gutter)}.site-redesign .auth-main{display:flex;justify-content:center}.site-redesign .auth-main .login-card{max-width:440px;padding:clamp(22px,3vw,34px);border:1px solid var(--edge);border-radius:16px;background:var(--panel);box-shadow:0 30px 80px #0006}.site-redesign .login-card h1{font-size:clamp(28px,3vw,36px);font-weight:750;letter-spacing:-.03em}.site-redesign .login-card input:not([type=checkbox]){min-height:44px;background:#0b0e12;font-size:15px}.site-redesign .login-card button[type=submit]{min-height:44px;border-radius:10px;font-size:15px}.site-redesign .auth-art{display:flex;flex-direction:column;gap:20px}.site-redesign .auth-art .lead{font-size:clamp(18px,1.6vw,24px);font-weight:600;color:var(--text)}.site-redesign .topic-layout{display:grid;grid-template-columns:minmax(0,780px) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}.site-redesign .topic-page h1,.site-redesign .legal h1{font-weight:750;letter-spacing:-.03em}.site-redesign .topic-points li{border-top-color:var(--edge)}.site-redesign .topic-points p{color:#c3cad5}.site-redesign .topic-art{position:sticky;top:calc(var(--header-h) + 24px);padding:clamp(32px,6vw,72px) var(--site-gutter) 0 0}.site-redesign .docs-body,.site-redesign .legal{max-width:68ch}.site-redesign .legal{box-sizing:content-box}.site-redesign .legal h2,.site-redesign .topic-points h2,.site-redesign .topic-section h2,.site-redesign .topic-docs h2{font-weight:650;letter-spacing:-.01em;text-transform:none;color:var(--text)}@media(max-width:860px){.site-redesign .auth-page,.site-redesign .topic-layout{grid-template-columns:minmax(0,1fr)}.site-redesign .auth-art{max-width:440px;margin:0 auto}.site-redesign .topic-art{position:static;padding:0 var(--site-gutter) 48px}}@media(max-width:767px){.site-redesign{--header-h: 56px}.site-redesign .brand-wordmark{height:15px}.site-redesign .brand-station{width:22px;height:22px}}@media(prefers-reduced-motion:reduce){.site-redesign *,.site-redesign *:before,.site-redesign *:after{animation:none!important;transition:none!important}}.site-redesign .story{position:relative}.site-redesign .story-stage{position:sticky;top:0;height:100svh;margin-bottom:-100svh;overflow:hidden;pointer-events:none;mask-image:linear-gradient(180deg,#000 82%,transparent)}.site-redesign .story:not(.mode-static) .steps{padding-bottom:60svh}.site-redesign .story-canvas,.site-redesign .story-plan{position:absolute;inset:0;width:100%;height:100%}.site-redesign .story-canvas{opacity:0;transition:opacity .5s ease}.site-redesign .story-canvas.is-ready{opacity:1}.site-redesign .story-plan{transition:opacity .5s ease}.site-redesign .story-plan.is-hidden{opacity:0}.site-redesign .story-stage:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 92%,transparent) 38%,color-mix(in srgb,var(--bg) 45%,transparent) 50%,transparent 60%)}.site-redesign .story-content{position:relative;z-index:1}.site-redesign .hero{display:flex;flex-direction:row;align-items:center;min-height:calc(100svh - var(--header-h));padding:clamp(32px,6vw,80px) var(--site-gutter);grid-template-columns:none}.site-redesign .hero-copy{max-width:min(36rem,44vw)}.site-redesign .hero h1{margin:16px 0 22px;font-size:clamp(38px,5vw,76px);line-height:1.02;letter-spacing:-.035em;font-weight:750;text-wrap:balance}.site-redesign .hero-actions{margin-top:32px}.site-redesign .hero-band{animation:band-in .7s ease-out both}.site-redesign .hero-band-1{animation-delay:.25s}.site-redesign .hero-band-2{animation-delay:.45s}.site-redesign .hero-band-3{animation-delay:.65s}.site-redesign .hero-band-4{animation-delay:.85s}.site-redesign .hero-band-5{animation-delay:1.05s}.site-redesign .hero-band-6{animation-delay:1.25s}.site-redesign .hero-band-7{animation-delay:1.45s}.site-redesign .hero-band-8{animation-delay:1.65s}.site-redesign .hero-band-9{animation-delay:1.85s}@keyframes band-in{0%{opacity:0}}.site-redesign .hero-ring{animation:ring-flash .52s ease-out both}.site-redesign .hero-ring-1{animation-delay:.2s}.site-redesign .hero-ring-2{animation-delay:.4s}.site-redesign .hero-ring-3{animation-delay:.6s}.site-redesign .hero-ring-4{animation-delay:.8s}.site-redesign .hero-ring-5{animation-delay:1s}.site-redesign .hero-ring-6{animation-delay:1.2s}.site-redesign .hero-ring-7{animation-delay:1.4s}.site-redesign .hero-ring-8{animation-delay:1.6s}.site-redesign .hero-ring-9{animation-delay:1.8s}.site-redesign .hero-ring-10{animation-delay:2s}.site-redesign .hero-ring-11{animation-delay:2.2s}@keyframes ring-flash{0%{opacity:.25}35%{opacity:1;fill:var(--accent)}}.site-redesign #how,.site-redesign #pricing,.site-redesign #pilot{scroll-margin-top:var(--header-h)}.site-redesign .steps{padding:0 var(--site-gutter);border-top:0}.site-redesign .steps h2{position:relative;margin:0;padding-top:clamp(24px,4vw,48px);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.site-redesign .steps ol{display:block;margin:0;padding:0;list-style:none}.site-redesign .story-step{display:flex;flex-direction:row;align-items:center;min-height:100svh;padding:0;border-top:0}.site-redesign .story-step:first-child{min-height:90svh}.site-redesign .story-step-text{display:flex;flex-direction:column;gap:12px;max-width:min(30rem,40vw);padding:24px 0 24px 24px;border-left:2px solid var(--edge);transition:border-color .3s ease}.site-redesign .story-step .step-number{font-size:30px;line-height:1;color:var(--muted);transition:color .3s ease}.site-redesign .story-step h3{font-size:clamp(28px,3vw,44px);letter-spacing:-.03em;font-weight:720;color:var(--muted);transition:color .3s ease}.site-redesign .story-step p{font-size:17px;line-height:1.6;color:var(--muted);transition:color .3s ease}.site-redesign .story-step.is-active .story-step-text{border-left-color:var(--accent)}.site-redesign .story-step.is-active .step-number{color:var(--accent)}.site-redesign .story-step.is-active h3{color:var(--text)}.site-redesign .story-step.is-active p{color:#c3cad5}.site-redesign .step-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px}.site-redesign .story-labels{position:absolute;inset:0;z-index:1}.site-redesign .scene-label{position:absolute;left:0;top:0;opacity:0;white-space:nowrap;will-change:transform}.site-redesign .scene-station .dots{display:inline-block;transform:translate(14px,-26px);padding:2px 6px;border-radius:5px;background:color-mix(in srgb,var(--bg) 70%,transparent);font-size:13px;color:var(--text)}.site-redesign .scene-deviation{padding:3px 8px;border-radius:6px;background:color-mix(in srgb,var(--bg) 88%,transparent);font-size:15px;font-weight:600;color:var(--issue)}.site-redesign .scene-deviation .dots{font-size:20px}.site-redesign .scene-deviation>*{display:inline-block}.site-redesign .scene-deviation{translate:calc(-100% - 12px) -50%}.site-redesign .scene-issue{translate:-50% calc(-100% - 18px);padding:9px 14px 9px 12px;border:1px solid var(--issue);border-radius:10px;background:color-mix(in srgb,var(--bg) 92%,transparent);font-size:15px;font-weight:600;color:var(--text);box-shadow:0 16px 40px #00000073}.site-redesign .scene-issue .dots{margin-right:6px;color:var(--issue)}.site-redesign .scene-counter{z-index:3;padding:4px 10px;border-radius:8px;background:color-mix(in srgb,var(--bg) 85%,transparent);position:absolute;right:var(--site-gutter);bottom:28px;opacity:0;transition:opacity .2s ease;font-size:13px;color:var(--muted)}.site-redesign .scene-counter .dots{font-size:20px;color:var(--text)}.site-redesign .story-blueprint{position:absolute;right:var(--site-gutter);top:50%;width:min(54vw,920px);translate:0 -44%;transition:opacity .4s ease}.site-redesign .story[data-frame="0"] .story-blueprint{opacity:0}.site-redesign .story.mode-static .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px)}.site-redesign .story.mode-static .hero-copy{max-width:36rem}.site-redesign .hero-art-static{aspect-ratio:4 / 3;width:100%;border:1px solid var(--edge);border-radius:18px;background:color-mix(in srgb,var(--panel) 70%,transparent);overflow:hidden}.site-redesign .story.mode-static .story-step{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,4vw,56px);min-height:0;padding:clamp(28px,5vw,64px) 0}.site-redesign .story.mode-static .story-step-text{max-width:34rem;border-left-color:var(--accent)}.site-redesign .story.mode-static .story-step :is(h3,p,.step-number){color:var(--text)}.site-redesign .story.mode-static .story-step .step-number{color:var(--accent)}.site-redesign .story.mode-static .story-step p{color:#c3cad5}.site-redesign .pricing{position:relative;z-index:1;background:linear-gradient(var(--bg),color-mix(in srgb,var(--bg) 92%,transparent));border-top-color:var(--edge)}.site-redesign .price-card{padding-top:8px;background:color-mix(in srgb,var(--panel) 92%,transparent)}.site-redesign .price-card:hover{transform:translateY(-4px)}.site-redesign .volume-cube{display:block;width:100%;max-width:240px;height:auto;margin:0 auto 4px;fill:var(--fact)}.site-redesign .price-card.is-featured .volume-cube{fill:var(--accent)}.site-redesign .volume-cube circle{opacity:0;transform:translate(var(--dx),var(--dy));transition:transform 1.1s var(--ease-out) var(--delay),opacity .6s ease var(--delay)}.site-redesign .volume-cube.is-in circle{opacity:1;transform:none}.site-redesign .volume-cube.is-in circle.is-back{opacity:.35}.site-redesign .price-name{font-family:inherit;font-weight:700;letter-spacing:.14em}.site-redesign .price-storage{display:flex;align-items:baseline;gap:8px;font-size:22px;font-weight:600;letter-spacing:0}.site-redesign .price-storage .dots{font-size:clamp(44px,4.6vw,64px);font-weight:500;line-height:1}.site-redesign .pilot{position:relative;overflow:hidden;isolation:isolate}.site-redesign .pilot-copy{position:relative}.site-redesign .pilot-mark{position:absolute;z-index:-1;left:clamp(-220px,-10vw,-60px);bottom:-140px;width:clamp(380px,46vw,640px);aspect-ratio:1;pointer-events:none}.site-redesign .pilot-arcs{position:absolute;inset:0;width:100%;height:100%}.site-redesign .pilot-arcs circle{fill:none;stroke:var(--text);stroke-linecap:round;opacity:.16}.site-redesign .pilot-station{position:absolute;left:39%;top:39%;width:22%;height:22%;opacity:.85}.site-redesign .pilot-form,.site-redesign .pilot-done{position:relative;background:var(--panel);box-shadow:0 30px 80px #0006}.site-redesign .pilot-form input,.site-redesign .pilot-form textarea{min-height:44px;background:#0b0e12}.site-redesign .pilot-form .checkbox input{min-height:0}.site-redesign .hero-logo{--logo-h: clamp(30px, 3.4vw, 50px);display:flex;align-items:center;gap:calc(var(--logo-h) * .45);margin-bottom:clamp(18px,3vw,34px)}.site-redesign .hero-logo-mark{width:calc(var(--logo-h) * 1.3);height:calc(var(--logo-h) * 1.3);flex:none}.site-redesign .hero-logo-word{height:var(--logo-h);width:auto;aspect-ratio:3904 / 604}.site-redesign .hero-logo .wordmark-ifc{fill:var(--text)}.site-redesign .hero-logo .wordmark-tour{fill:var(--accent)}.site-redesign .phone-tour{display:block;width:100%;height:auto}.site-redesign .phone-body{fill:#1b2129;stroke:#3a4350;stroke-width:2}.site-redesign .phone-screen{fill:#0b0e12}.site-redesign .phone-notch{fill:#1b2129}.site-redesign .phone-dots circle{fill:var(--fact);opacity:.8}.site-redesign .phone-dots circle.is-issue{fill:var(--issue);opacity:1}.site-redesign .phone-model{fill:none;stroke:var(--accent);stroke-width:1.4}.site-redesign .phone-pin path{stroke:var(--issue);stroke-width:1.4}.site-redesign .phone-pin rect{fill:#0b0e12;stroke:var(--issue)}.site-redesign .phone-pin text,.site-redesign .phone-chip text{font-size:10px;font-weight:600;fill:var(--text)}.site-redesign .phone-chip rect,.site-redesign .phone-toolbar rect{fill:color-mix(in srgb,var(--panel) 92%,transparent);stroke:var(--edge)}.site-redesign .phone-toolbar circle{fill:none;stroke:var(--muted);stroke-width:1.6}.site-redesign .phone-toolbar circle.is-active{fill:var(--accent);stroke:none}.site-redesign .onsite{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);flex-direction:row;gap:clamp(28px,6vw,96px);align-items:center;padding:clamp(48px,8vw,110px) var(--site-gutter);border-top:1px solid var(--edge);background:var(--bg)}.site-redesign .onsite h2{margin:12px 0 28px;font-size:clamp(30px,3.6vw,48px);letter-spacing:-.03em;line-height:1.05;color:var(--text);text-transform:none}.site-redesign .onsite-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px;margin:0;padding:0;list-style:none}.site-redesign .onsite-facts li{padding-top:14px;border-top:2px solid var(--edge)}.site-redesign .onsite-facts h3{margin-bottom:6px;font-size:18px;letter-spacing:-.01em}.site-redesign .onsite-facts p{font-size:15px;line-height:1.55;color:#c3cad5}.site-redesign .onsite-phone{justify-self:center;max-width:260px;filter:drop-shadow(0 30px 70px rgb(0 0 0 / .55));transform:rotate(-4deg)}@media(max-width:767px){.site-redesign .onsite,.site-redesign .onsite-facts{grid-template-columns:minmax(0,1fr)}.site-redesign .onsite-phone{max-width:180px;grid-row:1}}.site-redesign .layout-narrow .story-stage:after{background:linear-gradient(180deg,transparent 0%,transparent 48%,color-mix(in srgb,var(--bg) 70%,transparent) 62%,var(--bg) 78%)}.site-redesign .story.layout-narrow[data-frame="0"] .story-stage:after{background:linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 88%,transparent) 46%,transparent 62%)}.site-redesign .layout-narrow .hero{align-items:flex-start;min-height:calc(100svh - var(--header-h));padding-top:28px;padding-bottom:46svh}.site-redesign .layout-narrow .hero-copy{max-width:none}.site-redesign .layout-narrow .hero h1{font-size:clamp(34px,10vw,46px);margin:12px 0 14px}.site-redesign .layout-narrow .lead{font-size:16px}.site-redesign .layout-narrow .hero-actions{margin-top:22px}.site-redesign .layout-narrow .story-step,.site-redesign .layout-narrow .story-step:first-child{align-items:flex-end;min-height:100svh;padding-bottom:6svh}.site-redesign .layout-narrow .story-step-text{max-width:none;width:100%;padding:18px 18px 20px;border:1px solid var(--edge);border-left:2px solid var(--edge);border-radius:14px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(8px)}.site-redesign .layout-narrow .story-step h3{font-size:28px}.site-redesign .layout-narrow .story-step p{font-size:16px}.site-redesign .layout-narrow .scene-counter{top:calc(var(--header-h) + 12px);bottom:auto;right:var(--site-gutter)}.site-redesign .layout-narrow .scene-issue{width:max-content;max-width:78vw;white-space:normal;text-align:center;font-size:13px;padding:7px 10px}.site-redesign .layout-narrow .story-blueprint{left:var(--site-gutter);right:var(--site-gutter);top:calc(var(--header-h) + 8px);width:auto;translate:none}.site-redesign .story.mode-static.layout-narrow .hero,.site-redesign .story.mode-static.layout-narrow .story-step{grid-template-columns:minmax(0,1fr);padding-bottom:32px}.site-redesign .story.mode-static.layout-narrow .story-step-text{border:0;border-left:2px solid var(--accent);border-radius:0;background:none;backdrop-filter:none;padding:4px 0 4px 18px}@media(max-width:767px){.site-redesign .hero-actions>*{flex:1 1 100%}.site-redesign .pilot-mark{inset:-60px -180px auto auto;width:420px;opacity:.6}}:root[data-motion=calm] .site-redesign .volume-cube circle{opacity:1;transform:none}.scene-note{margin-top:18px;max-width:56ch;font-size:13px;line-height:1.5;color:var(--muted)}.scene-note-button{padding:0;border:none;background:none;font:inherit;color:var(--accent);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.scene-note-button:hover{color:var(--text)}.scene-note-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.docs-layout{--docs-top: 76px;display:grid;grid-template-columns:250px minmax(0,760px) 200px;justify-content:center;gap:clamp(24px,3vw,48px);padding:clamp(24px,4vw,48px) var(--site-gutter) clamp(48px,8vw,96px);align-items:start}.docs-sidebar,.docs-toc{position:sticky;top:var(--docs-top);max-height:calc(100dvh - var(--docs-top) - 16px);overflow-y:auto;scrollbar-width:thin}.docs-sidebar{display:flex;flex-direction:column;gap:16px}.docs-search{position:relative}.docs-search input{width:100%;padding:10px 12px;border:1px solid var(--edge);border-radius:10px;background:var(--panel);color:var(--text);font:inherit;font-size:14px}.docs-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.docs-search-results{margin-top:6px;padding:4px;list-style:none;border:1px solid var(--edge);border-radius:10px;background:var(--panel);box-shadow:0 12px 32px #00000059}.docs-search-results li.hint{padding:10px;font-size:13px}.docs-search-results a{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:7px;color:var(--text);text-decoration:none}.docs-search-results a.is-active{background:color-mix(in srgb,var(--accent) 16%,transparent)}.docs-hit-title{font-size:14px;font-weight:600}.docs-hit-heading{font-weight:400;color:var(--accent)}.docs-hit-snippet{font-size:12px;line-height:1.45;color:var(--muted)}.docs-nav summary{display:none}.docs-nav-group+.docs-nav-group{margin-top:18px}.docs-nav-section{margin-bottom:6px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.docs-nav ul,.docs-toc ul{display:flex;flex-direction:column;gap:1px;padding:0;list-style:none}.docs-nav a,.docs-toc a{display:block;padding:5px 10px;border-left:2px solid var(--edge);color:color-mix(in srgb,var(--text) 78%,var(--muted));font-size:14px;line-height:1.35;text-decoration:none;transition:color .15s,border-color .15s}.docs-nav a:hover,.docs-toc a:hover{color:var(--text);border-left-color:var(--muted)}.docs-nav a.is-current,.docs-toc a.is-current{color:var(--accent);border-left-color:var(--accent)}.docs-toc li.is-sub a{padding-left:22px;font-size:13px}.docs-article{min-width:0}.docs-article>h1{margin:10px 0 24px;font-size:clamp(30px,3.6vw,46px);letter-spacing:-.03em;line-height:1.1}.docs-body,.docs-static article{font-size:16px;line-height:1.7;color:color-mix(in srgb,var(--text) 88%,var(--muted))}.docs-body>*+*{margin-top:14px}.docs-body h2,.docs-body h3{color:var(--text);scroll-margin-top:var(--docs-top)}.docs-body h2{margin-top:40px;margin-bottom:0;padding-top:20px;border-top:1px solid var(--edge);font-size:24px;letter-spacing:-.015em;text-transform:none}.docs-body h3{margin-top:28px;font-size:18px}.docs-body ol,.docs-body ul{display:flex;flex-direction:column;gap:6px;padding-left:24px}.docs-body ol>li::marker{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;color:var(--accent)}.docs-body a{color:var(--accent);text-underline-offset:3px}.docs-body strong{color:var(--text)}.docs-body code,.docs-body kbd{padding:1px 6px;border:1px solid var(--edge);border-radius:5px;background:var(--panel);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.88em}.docs-body kbd{border-bottom-width:2px}.docs-body .doc-shot{display:block;max-width:100%;height:auto;margin-top:18px;border:1px solid var(--edge);border-radius:12px;box-shadow:0 18px 48px #0006}.docs-body .doc-caption{display:block;margin-top:8px;font-size:13px;color:var(--muted)}.doc-table{overflow-x:auto;border:1px solid var(--edge);border-radius:10px}.doc-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5}.doc-table th,.doc-table td{padding:9px 12px;border-bottom:1px solid var(--edge);text-align:left;vertical-align:top}.doc-table th{background:var(--panel);color:var(--text);font-weight:600}.doc-table tr:last-child td{border-bottom:0}.callout{--callout: var(--accent);padding:12px 16px;border:1px solid color-mix(in srgb,var(--callout) 35%,var(--edge));border-left:3px solid var(--callout);border-radius:10px;background:color-mix(in srgb,var(--callout) 7%,transparent)}.callout-tip{--callout: var(--ok)}.callout-warning{--callout: var(--warning)}.callout-title{margin-bottom:4px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--callout)}.callout>p+p{margin-top:6px}.docs-body blockquote{padding-left:16px;border-left:2px solid var(--edge);color:var(--muted)}.docs-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;margin-top:36px}.docs-map-section{padding:18px 18px 20px;border:1px solid var(--edge);border-radius:14px;background:color-mix(in srgb,var(--panel) 70%,transparent)}.docs-map-section h2{margin-bottom:12px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.docs-map-section ul{display:flex;flex-direction:column;gap:12px;padding:0;list-style:none}.docs-map-section li{display:flex;flex-direction:column;gap:2px}.docs-map-section a{color:var(--text);font-weight:600;text-decoration:none}.docs-map-section a:hover{color:var(--accent)}.docs-map-section .hint{font-size:13px;line-height:1.45}.docs-pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:48px}.docs-pager a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--edge);border-radius:12px;color:var(--text);font-weight:600;text-decoration:none;transition:border-color .15s}.docs-pager a:hover{border-color:var(--accent)}.docs-pager-next{text-align:right}.docs-footer{margin-top:24px;font-size:13px}.docs-static{display:block;max-width:820px;margin:0 auto;padding:32px 16px}.docs-static nav{margin-top:40px;font-size:14px}@media(max-width:1180px){.docs-layout{grid-template-columns:230px minmax(0,760px)}.docs-toc{display:none}}@media(max-width:900px){.docs-layout{grid-template-columns:minmax(0,1fr);gap:20px}.docs-sidebar{position:static;max-height:none;overflow:visible}.docs-nav{border:1px solid var(--edge);border-radius:10px}.docs-nav summary{display:block;padding:10px 12px;font-size:14px;cursor:pointer}.docs-nav nav{padding:4px 12px 14px}.docs-pager{grid-template-columns:1fr}}.dots-loader{display:inline-flex;flex-direction:column;align-items:center;gap:14px}.dots-loader svg{display:block;width:min(320px,70vw);height:auto;overflow:visible;fill:var(--text, #e6e9ee)}.dots-loader circle{transform-box:fill-box;transform-origin:center;animation:dots-loader-breathe var(--loader-period, 2.5s) ease-in-out infinite both;will-change:transform}@keyframes dots-loader-breathe{0%,to{transform:scale(.35)}50%{transform:scale(1.3)}}.dots-loader-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){.dots-loader circle{animation:none;transform:none}}:root{--bg: #14171c;--panel: #1c2027;--edge: #2b313b;--text: #e6e9ee;--muted: #8b95a5;--accent: #4c9aff;--danger: #ff6b6b;--ok: #4ade80;--warning: #f5b544;color-scheme:dark}*{box-sizing:border-box;margin:0}body{font-family:system-ui,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}body.is-workspace{overflow:hidden;height:100dvh}.viewport{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.viewport:active{cursor:grabbing}.panel{position:fixed;top:14px;left:14px;width:340px;max-height:calc(100dvh - 28px);overflow-y:auto;padding:18px;border:1px solid var(--edge);border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:20px}h1{font-size:17px}header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account{display:flex;align-items:center;gap:8px;flex-shrink:0}.account .hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}button.link{padding:4px 8px;min-height:auto;border:none;background:transparent;color:var(--accent);font-size:12px}button.link:hover{text-decoration:underline}.boot{display:grid;place-items:center;height:100dvh;color:var(--muted)}.boot-error{place-content:center;gap:16px;padding:20px;text-align:center}.login{display:grid;place-items:center;height:100dvh;padding:20px}.login-card{width:100%;max-width:340px;display:flex;flex-direction:column;gap:14px;padding:28px;border:1px solid var(--edge);border-radius:14px;background:var(--panel)}.login-card h1{font-size:22px}.login-card .field{gap:6px}.login-card input{padding:10px;border:1px solid var(--edge);border-radius:8px;background:#0f1216;color:var(--text);font-size:14px}.login-card button[type=submit]{margin-top:6px;padding:11px;border-color:var(--accent);background:var(--accent);color:#0b1220;font-weight:600}h2{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:10px}section{display:flex;flex-direction:column;gap:10px}.hint{font-size:12px;line-height:1.5;color:var(--muted)}.error{font-size:12px;line-height:1.5;padding:8px 10px;border-radius:8px;border:1px solid var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.error-banner{display:flex;align-items:flex-start;gap:8px}.error-banner>span{flex:1;min-width:0;overflow-wrap:anywhere}.error-close{flex:none;padding:0 4px;border:0;background:none;color:inherit;font-size:16px;line-height:1.1;cursor:pointer}.view-error{position:absolute;top:10px;left:10px;right:10px;z-index:9}.view-error .error{margin:0;background:color-mix(in srgb,var(--danger) 18%,var(--panel));box-shadow:0 10px 30px #00000073}.error-inline{font-size:11px;color:var(--danger);margin-top:4px}.upload{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.upload select{min-width:0;max-width:100%}.upload input[type=file]{max-width:100%}select,input[type=file]{font-size:12px;color:var(--text)}select{padding:6px 8px;border:1px solid var(--edge);border-radius:6px;background:#0f1216}input[type=file]::file-selector-button{margin-right:8px;padding:6px 10px;border:1px solid var(--edge);border-radius:6px;background:#252b34;color:var(--text);cursor:pointer}.models{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.models li{padding:8px 10px;border:1px solid var(--edge);border-radius:8px;background:#0f1216}.models label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.discipline{display:inline-block;padding:1px 6px;border-radius:4px;background:#252b34;color:var(--muted);font-size:11px}.status{display:block;margin-top:4px;padding-left:24px;font-size:11px;color:var(--muted)}.status-ready{color:var(--ok)}.status-failed{color:var(--danger)}.slider{display:flex;flex-direction:column;gap:6px;font-size:13px}.slider span{display:flex;justify-content:space-between}output{color:var(--accent);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--accent)}button{padding:8px 12px;border:1px solid var(--edge);border-radius:8px;background:#252b34;color:var(--text);font-size:13px;cursor:pointer}button:hover{border-color:var(--accent)}.category{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.props{display:flex;flex-direction:column;gap:6px;margin:0}.props>div{display:grid;grid-template-columns:42% 1fr;gap:8px;font-size:12px}.props:has(.copy-value)>div{grid-template-columns:42% 1fr 20px;align-items:start}.copy-value{width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--muted);font-size:12px;line-height:1;opacity:0}.props>div:hover .copy-value,.copy-value:focus-visible,.copy-value.is-done,.copy-value.is-failed{opacity:1}.copy-value:hover{color:var(--accent)}.copy-value.is-done{color:var(--ok)}.copy-value.is-failed{color:var(--danger)}@media(hover:none){.copy-value{opacity:1}}.filter-condition{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--edge);border-radius:8px;background:#0f1216}.filter-row{display:flex;gap:6px;min-width:0}.filter-row select,.filter-row input{flex:1;min-width:0}.filter-row .filter-op{flex:none;width:120px}.filter-row input{padding:6px 8px;border:1px solid var(--edge);border-radius:6px;background:#14171c;color:var(--text);font-size:12px}.icon-button{flex:none;width:28px;padding:0}.filter-actions,.filter-export{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.filter-actions button,.filter-export button{padding:6px 10px;font-size:12px}.filter-results{display:flex;flex-direction:column;gap:8px}.filter-results p{font-size:13px}.filter-list{list-style:none;padding:0;display:flex;flex-direction:column;max-height:240px;overflow-y:auto}.props dt{color:var(--muted);overflow-wrap:anywhere}.props dd{margin:0;overflow-wrap:anywhere}.properties-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.props-headline{padding:10px;border:1px solid var(--edge);border-radius:8px;background:#0f1216}.prop-groups{display:flex;flex-direction:column}.prop-groups-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px}.prop-group{border-top:1px solid var(--edge)}.prop-group-head{width:100%;display:flex;align-items:center;gap:8px;padding:7px 2px;border:none;border-radius:0;background:transparent;text-align:left;font-size:12px;color:var(--text)}.prop-group-head:hover .prop-group-name{color:var(--accent)}.prop-group-name{flex:1;min-width:0;overflow-wrap:anywhere}.prop-group-count{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.prop-group .props{padding:2px 2px 10px 18px}.panel-groups{display:flex;flex-direction:column}.panel-group{border-top:1px solid var(--edge)}.panel-group:last-child{border-bottom:1px solid var(--edge)}.panel-group-bar{display:flex;align-items:center;gap:6px}.panel-group-bar .panel-group-head{flex:1;min-width:0}.help-link{flex:none;display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--edge);border-radius:50%;color:var(--muted);font-size:11px;font-weight:600;line-height:1;text-decoration:none;transition:color .15s,border-color .15s}.help-link:hover,.help-link:focus-visible{color:var(--accent);border-color:var(--accent)}.panel-group-head{width:100%;display:flex;align-items:baseline;gap:8px;padding:11px 2px;border:none;border-radius:0;background:transparent;text-align:left;color:var(--text)}.panel-group-head:hover .panel-group-title,.panel-group-head:focus-visible .panel-group-title{color:var(--accent)}.panel-group-title{font-size:14px;font-weight:600}.panel-group-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:11px;color:var(--muted)}.panel-group-chevron{flex:none;width:6px;height:6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-2px) rotate(-45deg);transition:transform .15s ease-out}[aria-expanded=true]>.panel-group-chevron{transform:translateY(-3px) rotate(45deg)}.panel-group-body{display:flex;flex-direction:column;gap:18px;padding:4px 0 16px 14px;border-left:1px solid var(--edge);margin:0 0 12px 2px}.panel-group-body[hidden]{display:none}.panel-group.is-plain .panel-group-body>section:first-child>h2:first-child{display:none}@media(prefers-reduced-motion:reduce){.panel-group-chevron{transition:none}}.area-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.area-title{font-size:15px}.area-block{display:flex;flex-direction:column;gap:6px}.area-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.area-chips{display:flex;flex-wrap:wrap;gap:6px}.area-chips button{padding:5px 10px;font-size:12px}.area-chips button.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,#252b34)}.area-link{display:flex;gap:6px;align-items:center}.area-link select{flex:1;min-width:0}.area-page{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.area-page input{width:56px}.area-link button{padding:6px 10px;font-size:12px}.area-topics{list-style:none;padding:0}.status-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--danger)}.topic-kind{display:flex;gap:6px}.topic-kind label{display:inline-flex;align-items:center;flex:1;justify-content:center;padding:7px 10px;border:1px solid var(--edge);border-radius:8px;font-size:13px;color:var(--muted);cursor:pointer}.topic-kind label.is-active{border-color:var(--accent);color:var(--text)}.topic-kind input{position:absolute;opacity:0;pointer-events:none}.topic-kind label:focus-within{outline:2px solid var(--accent);outline-offset:2px}.topic-kind-badge{display:inline-flex;align-items:center;font-size:12px;color:var(--muted)}.pin-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;margin:0;padding:0;border:0}.pin-categories .status-dot{margin-right:0}.status-dot.status-review{background:#f5c518}.status-dot.status-closed{background:var(--ok)}.status-dot.status-comment{background:#4c9aff}.bcf-actions{display:flex;flex-wrap:wrap;gap:6px}.topic-badge{margin-right:6px;padding:0 5px;border:1px solid var(--accent);border-radius:4px;font-size:10px;color:var(--accent)}.topic-thread-toggle{flex-basis:100%;padding-left:0;text-align:left}.topic-comments{display:flex;flex-direction:column;gap:8px;flex-basis:100%;padding:8px 0 4px 10px;border-left:2px solid var(--edge)}.topic-comments ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.topic-comments li{display:flex;flex-direction:column;gap:2px;font-size:12px}.topic-comment-meta{font-size:11px;color:var(--muted)}.topic-comment-text{white-space:pre-wrap;overflow-wrap:anywhere}.topic-comment-form{display:flex;flex-direction:column;gap:6px}.guid{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.field{display:flex;flex-direction:column;gap:6px;font-size:13px}.checkbox{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.checkbox input{width:16px;height:16px;flex:none}input[type=date],input[type=number]{padding:6px 8px;border:1px solid var(--edge);border-radius:6px;background:#0f1216;color:var(--text);font-variant-numeric:tabular-nums}.xyz{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.xyz input{width:100%;min-width:0}.xyz label{min-width:0;display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.points{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.points li{display:flex;align-items:stretch;gap:6px}.points li.active .point{border-color:var(--accent)}.point{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 9px;border:1px solid var(--edge);border-radius:8px;background:#0f1216;text-align:left}.point:disabled{opacity:.55;cursor:default}.point-label{font-size:13px}.point-meta{font-size:11px;color:var(--muted)}input[type=search]{width:100%;padding:7px 9px;border:1px solid var(--edge);border-radius:6px;background:#0f1216;color:var(--text);font-size:12px}.tree{max-height:34dvh;overflow-y:auto;padding:8px;border:1px solid var(--edge);border-radius:8px;background:#0f1216}.tree-row{display:flex;align-items:center;gap:4px}.tree-label{flex:1;padding:3px 6px;border:none;border-radius:4px;background:transparent;color:var(--text);font-size:12px;text-align:left;overflow-wrap:anywhere}.tree-label:hover:not(:disabled){background:#252b34}.node-category{color:var(--muted)}.node-name{margin-left:6px}.tree-label:disabled{color:var(--muted);cursor:default}.toggle,.isolate{width:20px;height:20px;padding:0;display:grid;place-items:center;border:1px solid var(--edge);border-radius:4px;background:#1c2027;color:var(--muted);font-size:12px;line-height:1;flex-shrink:0}.isolate:hover{color:var(--accent)}.toggle-placeholder{width:20px;flex-shrink:0}textarea,input[type=text]{width:100%;padding:7px 9px;border:1px solid var(--edge);border-radius:6px;background:#0f1216;color:var(--text);font-family:inherit;font-size:12px;resize:vertical}.topics{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.topics>li{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch}.topic-filters{display:flex;flex-direction:column;gap:6px;margin:4px 0}.topic-filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.topic-filters-row .hint{margin-left:auto}.topic-assignee{flex-basis:100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;font-size:12px}.topic-assignee select{width:100%;min-width:0;text-overflow:ellipsis}.topic-delete{flex-basis:100%;text-align:left;font-size:12px}.topic{flex:1;display:flex;gap:8px;align-items:center;padding:6px;border:1px solid var(--edge);border-radius:8px;background:#0f1216;text-align:left}.topic img{width:48px;height:36px;object-fit:cover;border-radius:4px;flex-shrink:0}.topic-body{display:flex;flex-direction:column;gap:2px;overflow:hidden}.topic-title{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-meta{font-size:10px;color:var(--muted)}select.status{align-self:center;font-size:11px;padding:4px 6px}select.status-open{color:var(--danger)}select.status-review{color:#f5c518}select.status-closed{color:var(--ok)}.docs{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.docs li{display:flex;gap:6px}.doc{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 9px;border:1px solid var(--edge);border-radius:8px;background:#0f1216;text-align:left}.doc-title{font-size:13px}.doc-meta{font-size:11px;color:var(--muted)}details summary{font-size:12px;color:var(--muted);cursor:pointer;margin-bottom:8px}.link-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.link-form input{padding:7px 9px;border:1px solid var(--edge);border-radius:6px;background:#0f1216;color:var(--text);font-size:12px}.pdf{position:fixed;inset:5dvh 5vw;display:flex;flex-direction:column;border:1px solid var(--edge);border-radius:12px;background:var(--panel);overflow:hidden;z-index:10}.pdf-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--edge)}.pdf-title{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-places{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.pdf-places button{padding:5px 10px;font-size:12px;border-color:var(--accent)}.pdf-nav{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.pdf-nav button{width:30px;height:30px;padding:0;display:grid;place-items:center}.pdf-body{flex:1;overflow:auto;padding:12px;background:#0f1216}.pdf-body canvas{width:100%;height:auto;background:#fff}.map{position:absolute;top:14px;right:14px;width:280px;border:1px solid var(--edge);border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(12px)}.map-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--edge)}.map-head button{width:22px;height:22px;padding:0;display:grid;place-items:center}.map-tools{position:absolute;left:6px;right:6px;bottom:6px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:6px;pointer-events:none}.map-tools>*{pointer-events:auto;border-radius:8px;background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(8px)}.plan-sources button,.plan-cut button{padding:3px 8px;font-size:11px}.plan-sources button.is-on{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 18%,transparent)}.plan-sources button:not(.is-on){color:var(--muted)}.plan-cut{display:flex;align-items:center;gap:4px}.plan-cut output{min-width:52px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.map-status{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:6px;font-size:11px;color:var(--muted);background:color-mix(in srgb,var(--bg) 80%,transparent);pointer-events:none}.map-body{position:relative;width:100%;aspect-ratio:1}.map-body canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.map-body canvas:active{cursor:grabbing}.map.large{width:min(560px,calc(100vw - 400px))}.map-actions{display:flex;gap:4px}.map-empty{position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center;font-size:12px;color:var(--muted)}.map-point{position:absolute;width:12px;height:12px;padding:0;border:2px solid #ffffff;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);cursor:pointer}.map-point:disabled{background:var(--muted);cursor:default}.map-point.active{background:#fff;border-color:var(--accent)}.map-cone{position:absolute;width:44px;height:44px;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,var(--accent) 55%,transparent),transparent);clip-path:polygon(50% 100%,0 0,100% 0)}.map-toggle{position:absolute;top:14px;right:14px}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;flex-direction:column;background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--edge)}.sheet-body{max-height:62dvh;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:22px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.tabbar{display:flex;border-top:1px solid var(--edge)}.tabbar button{flex:1;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;border:none;border-radius:0;background:transparent;color:var(--muted);font-size:11px}.tabbar button.active{color:var(--accent);background:#0f1216}.tab-icon{font-size:20px;line-height:1}@media(max-width:900px),(max-height:500px),(pointer:coarse)and (hover:none){.panel{display:none}.map{width:150px}.map.large{width:calc(100vw - 20px);z-index:7}.map:not(.large) .map-tools{display:none}.map-toggle{min-height:44px}}.scan-progress{display:flex;flex-direction:column;gap:6px}.progress{height:6px;margin-top:6px;border-radius:3px;background:var(--edge);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);transform-origin:left center;transition:transform .4s ease-out}.scans .status{padding-left:0}.scan-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px}.link-danger{flex:none;padding:2px 4px;border:none;background:none;color:var(--muted);font-size:11px;cursor:pointer}.link-danger:hover,.link-danger:focus-visible{color:var(--danger)}.scan-align{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--edge)}.fit{font-size:11px;line-height:1.5;color:var(--muted)}.fit-good{color:var(--ok)}.fit-partial{color:#f5c451}.fit-poor{color:var(--danger)}.align-proposal{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:12px;line-height:1.5}.align-actions{display:flex;flex-wrap:wrap;gap:6px}.align-actions button{padding:5px 10px;font-size:12px}.align-actions button.primary{border-color:var(--accent);background:var(--accent);color:#0b1220;font-weight:600}.align-actions button:disabled{opacity:.55;cursor:default}.manual-align{position:fixed;inset:0;z-index:50;display:grid;grid-template-rows:auto 1fr auto;background:var(--bg)}.manual-align header,.manual-align footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px;background:var(--panel);border-color:var(--edge);border-style:solid;border-width:0 0 1px}.manual-align footer{border-width:1px 0 0}.manual-align header .hint{flex:1 1 260px}.manual-align canvas{width:100%;height:100%;min-height:0;touch-action:none;cursor:grab}.manual-align canvas:active{cursor:grabbing}.manual-align-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--muted);font-size:13px}.manual-align .rotate{display:flex;flex:1 1 240px;flex-direction:column;gap:4px;font-size:12px}.cloud-controls{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--edge)}.segmented{display:inline-flex;border:1px solid var(--edge);border-radius:8px;overflow:hidden;align-self:flex-start}.segmented button{padding:5px 10px;border:none;border-radius:0;background:transparent;color:var(--muted);font-size:12px}.segmented button+button{border-left:1px solid var(--edge)}.segmented button.active{background:#252b34;color:var(--text)}.measure-toggle,.measure-bar{position:absolute;left:50%;bottom:18px;transform:translate(-50%);border:1px solid var(--edge);background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(12px)}.measure-toggle{padding:9px 16px;border-radius:999px;font-weight:600;box-shadow:0 6px 20px #00000059}.measure-bar{width:min(420px,calc(100vw - 28px));max-height:46dvh;overflow-y:auto;padding:12px 14px;border-radius:12px;gap:8px;box-shadow:0 10px 30px #00000073}.measure-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.measure-close{width:30px;height:30px;padding:0;border-radius:50%;font-size:16px;line-height:1}.measure-hint{font-size:13px;color:var(--text)}.measure-hint-more{color:var(--muted)}.measure-notice{font-size:12px;line-height:1.5;color:#f5c451}.measure-actions{display:flex;gap:6px}.measure-actions button:disabled,.segmented button:disabled{opacity:.4;cursor:default;border-color:var(--edge)}.measure-actions button.primary{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,transparent)}.measure-results{display:flex;flex-direction:column;gap:6px;margin:0;padding:8px 0 0;list-style:none;border-top:1px solid var(--edge)}.measure-value{display:flex;align-items:baseline;gap:8px}.measure-value strong{font-size:15px;font-variant-numeric:tabular-nums}.measure-source{flex:1;font-size:11px;color:var(--muted)}.measure-source.mixed{color:#f5c451}.section-block{display:flex;flex-direction:column;gap:8px}.box-axis{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;border:none;font-size:12px}.box-axis legend{padding:0;margin-bottom:4px;color:var(--muted);font-variant-numeric:tabular-nums}@media(max-width:900px),(max-height:500px),(pointer:coarse)and (hover:none){.measure-toggle,.measure-bar{top:10px;bottom:auto;left:10px;transform:none}.measure-bar{right:10px;width:auto;max-height:40dvh;z-index:6}}.model-browser .tree{max-height:44dvh}.group-label{flex:1;min-width:0;padding:3px 2px;font-size:12px;overflow-wrap:anywhere}.group-label.discipline{font-weight:600}.group-count{margin-left:4px;color:var(--muted);font-variant-numeric:tabular-nums}.tree .visibility{width:15px;height:15px;flex:none;accent-color:var(--accent);cursor:pointer}.browser-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}.tree .browser-status{margin-top:8px;justify-content:flex-start}.scan-activity{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:8;display:flex;align-items:center;gap:12px;max-width:min(520px,calc(100vw - 28px));padding:10px 16px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--edge));border-radius:12px;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(12px);box-shadow:0 10px 30px #00000073;font-size:13px}.scan-activity .hint{margin-top:2px}.spinner{flex:none;width:18px;height:18px;border:2px solid color-mix(in srgb,var(--accent) 30%,transparent);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}@media(max-width:900px),(max-height:500px),(pointer:coarse)and (hover:none){.scan-activity{top:auto;bottom:76px}}.room-issues{margin-top:6px}.room-issues summary{cursor:pointer}.room-issues ul{margin:4px 0 0;padding:0;list-style:none;font-size:12px}.models .room-issues li{padding:2px 0;border:0;background:none}.audit-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;font-size:13px}.audit-list li{display:grid;grid-template-columns:9.5em 1fr;gap:10px;padding:6px 0;border-bottom:1px solid var(--edge)}.audit-list time{color:var(--muted, #8a93a3);font-variant-numeric:tabular-nums}@media(max-width:720px){.audit-list li{grid-template-columns:1fr;gap:2px}}.map-pin{position:absolute;z-index:2;width:14px;height:14px;padding:0;border:2px solid #ffffff;border-radius:50% 50% 50% 0;transform:translate(-50%,-100%) rotate(-45deg);transform-origin:50% 50%;cursor:pointer}.map-pin.pin-open{background:#e5484d}.map-pin.pin-review{background:#f5c518}.map-pin.pin-closed{background:#46a758}.map-pin.pin-comment{background:#4c9aff}.topic-pin-row,.topic-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:4px 0;font-size:12px}.topic-pin-done{color:#4c9aff}.topic-photos{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.topic-photo{position:relative;width:72px;height:54px;padding:0;overflow:hidden;border:1px solid var(--edge);border-radius:6px}.topic-photo img{width:100%;height:100%;object-fit:cover}.topic-photo-status{position:absolute;inset:auto 0 0;padding:1px 3px;font-size:9px;line-height:1.2;color:#fff;background:#0009}.topic-photo-status.status-failed{background:#a01e1ecc}.topics li.is-focused{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.offline-banner{font-size:12px;line-height:1.5;padding:8px 10px;border-radius:8px;border:1px solid var(--warning);color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent)}.offline-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}.made-in{margin:12px 14px 16px;font-size:11px;color:var(--muted)}.made-in a{color:var(--accent)}.spacing-hint{margin-top:6px}.totp-settings{display:grid;gap:10px;margin-top:24px}.totp-qr{width:184px;height:184px;border-radius:8px;background:#fff}.totp-secret{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;letter-spacing:.04em;user-select:all}.pdf:focus,.manual-align:focus,.photo-modal:focus{outline:none}.totp-actions{display:flex;gap:12px;align-items:center}.site{--site-gutter: clamp(16px, 4vw, 56px);min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(color-mix(in srgb,var(--text) 4%,transparent) 1px,transparent 1px) 0 0 / 40px 40px,linear-gradient(90deg,color-mix(in srgb,var(--text) 4%,transparent) 1px,transparent 1px) 0 0 / 40px 40px,var(--bg)}.site-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px var(--site-gutter);border-bottom:1px solid var(--edge);background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(10px);position:sticky;top:0;z-index:5}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:700;font-size:17px;letter-spacing:-.01em;text-decoration:none}.brand-mark{width:18px;height:18px;border:3px solid var(--text);border-radius:50%;background:radial-gradient(circle,var(--accent) 0 3px,transparent 3.5px)}.eyebrow,.section-label{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.section-label{color:var(--muted);margin-bottom:12px}.lead{font-size:clamp(15px,1.2vw + 10px,18px);line-height:1.6;color:color-mix(in srgb,var(--text) 78%,var(--muted));max-width:56ch}a.button-primary,a.button-ghost,button.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}a.button-primary,button.button-primary{border:1px solid var(--accent);background:var(--accent);color:#0b1220}a.button-primary:hover,button.button-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,#fff);transform:translateY(-1px)}button.button-primary:disabled{opacity:.5;cursor:default}a.button-ghost{border:1px solid var(--edge);color:var(--text);background:color-mix(in srgb,var(--panel) 70%,transparent)}a.button-ghost:hover{border-color:var(--accent)}a.button-primary:focus-visible,a.button-ghost:focus-visible,.project-open:focus-visible,.back-link:focus-visible,.brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.back-link{color:var(--muted);font-size:13px;text-decoration:none}.back-link:hover{color:var(--text)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.site-footer{display:flex;justify-content:space-between;gap:16px;margin-top:auto;padding:20px var(--site-gutter);border-top:1px solid var(--edge);color:var(--muted);font-size:12px}.login-card h1{font-size:30px;letter-spacing:-.02em}.login-card input:focus-visible,.project-form input:focus-visible,.password-form input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.login-card .back-link{align-self:center;margin-top:4px}.cabinet-main{display:flex;flex-direction:column;gap:32px;width:100%;max-width:1200px;margin:0 auto;padding:clamp(28px,5vw,56px) var(--site-gutter) 64px}.cabinet-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px}.cabinet-head h1{margin-top:8px;font-size:clamp(30px,3.4vw,44px);letter-spacing:-.03em}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.project-card{position:relative;border:1px solid var(--edge);border-radius:14px;background:var(--panel);overflow:hidden;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.project-card:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--edge));transform:translateY(-2px);box-shadow:0 18px 40px #00000059}.project-open{display:flex;flex-direction:column;color:inherit;text-decoration:none}.project-cover{position:relative;aspect-ratio:16 / 7;display:grid;place-items:center;background:#0f1216;overflow:hidden}.project-cover img{position:absolute;top:0;left:0;width:100%;height:133.4%;object-fit:cover;object-position:50% 0}.project-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb,var(--panel) 85%,transparent),transparent 55%)}.cover-empty{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;color:var(--muted)}.project-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 44px}.project-body h3{font-size:18px;letter-spacing:-.01em}.project-address,.project-meta{font-size:13px;color:var(--muted)}.project-facts{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;color:color-mix(in srgb,var(--text) 80%,var(--muted))}.project-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}.badge-warn{padding:2px 8px;border-radius:999px;background:color-mix(in srgb,#f5c451 18%,transparent);color:#f5c451;font-size:12px}.project-actions{position:absolute;right:12px;bottom:12px;display:flex;gap:4px}.project-error{margin:0 18px 16px}.project-card.featured .project-open{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.project-card.featured .project-cover{aspect-ratio:auto;min-height:260px}.project-card.featured .project-cover:after{background:linear-gradient(to left,color-mix(in srgb,var(--panel) 70%,transparent),transparent 40%)}.project-card.featured .project-body{justify-content:center;gap:10px;padding:28px 28px 52px}.project-card.featured h3{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em}.project-form{display:flex;flex-direction:column;gap:14px;max-width:520px;padding:22px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--edge));border-radius:14px;background:var(--panel)}.project-form h2{margin:0;font-size:12px}.project-form input,.password-form input{padding:10px;border:1px solid var(--edge);border-radius:8px;background:#0f1216;color:var(--text);font-size:14px}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.empty{padding:40px;border:1px dashed var(--edge);border-radius:14px;text-align:center}.empty h2{margin-bottom:8px;font-size:18px;text-transform:none;letter-spacing:0;color:var(--text)}.account-section{padding-top:28px;border-top:1px solid var(--edge)}.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:32px;align-items:start}.password-form{display:flex;flex-direction:column;gap:12px}.account-notify{margin-top:28px;max-width:560px}.notify-settings{display:flex;flex-direction:column;gap:10px;margin-top:10px}.notify-telegram{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ok-inline{font-size:13px;color:var(--ok)}.not-found{gap:16px;align-content:center}.app-crash{padding:0 16px;text-align:center}.app-crash h1{color:var(--text)}.app-crash p{max-width:460px;margin:0;line-height:1.5}.app-crash-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.workspace-title{display:flex;flex-direction:column;gap:4px;min-width:0}.workspace-title h1{overflow-wrap:anywhere}@media(max-width:860px){.project-card.featured .project-open,.account-grid{grid-template-columns:minmax(0,1fr)}.project-card.featured .project-cover{min-height:180px}}@media(prefers-reduced-motion:reduce){.project-card,a.button-primary,a.button-ghost,button.button-primary{transition:none}.project-card:hover,a.button-primary:hover,button.button-primary:hover:not(:disabled){transform:none}}.badge-role{padding:2px 8px;border:1px solid var(--edge);border-radius:999px;color:var(--muted);font-size:12px}.project-form.members{max-width:720px}.members-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.members-head h2{font-size:15px;letter-spacing:0;text-transform:none;color:var(--text)}.member-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border:1px solid var(--edge);border-radius:10px}.member-list li{display:flex;align-items:center;gap:12px;padding:10px 12px}.member-list li+li{border-top:1px solid var(--edge)}.member-who{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;font-size:14px;overflow-wrap:anywhere}.member-list select,.invite-form select{padding:8px 10px;border:1px solid var(--edge);border-radius:8px;background:#0f1216;color:var(--text);font-size:13px}.member-role{color:var(--muted);font-size:13px}.invite-form{display:flex;flex-direction:column;gap:12px;padding-top:14px;border-top:1px solid var(--edge)}.invite-form h3{margin:0;font-size:14px}.invite-fields{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(0,1.2fr);gap:12px}.invite-form .button-primary{align-self:flex-start}.invite-result{padding:12px 14px;border:1px solid color-mix(in srgb,var(--ok) 40%,var(--edge));border-radius:10px;background:color-mix(in srgb,var(--ok) 8%,transparent);font-size:14px}.invite-result p{margin:0 0 6px}.temp-password{display:flex;align-items:center;gap:12px}.temp-password code{min-width:0;padding:6px 12px;border-radius:8px;background:#0f1216;font-size:18px;letter-spacing:.08em;user-select:all;overflow-wrap:anywhere}.temp-password.copy-link{flex-wrap:wrap}.temp-password.copy-link code{flex:1 1 220px;font-size:13px;letter-spacing:0;word-break:break-all}.temp-password{flex-wrap:wrap}.copy-failed{flex-basis:100%}.role-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:0;font-size:12px}.role-legend dt{font-weight:600}.role-legend dd{margin:0;color:var(--muted)}@media(max-width:720px){.invite-fields,.role-legend{grid-template-columns:minmax(0,1fr)}.member-list li{flex-wrap:wrap}}.users-section{display:flex;flex-direction:column;gap:14px;padding-top:28px;border-top:1px solid var(--edge)}.collapsible-section>summary{display:flex;align-items:center;gap:8px;margin-bottom:0;cursor:pointer;list-style:none}.collapsible-section>summary::-webkit-details-marker{display:none}.collapsible-section>summary:before{content:"▸";transition:transform .15s ease}.collapsible-section[open]>summary:before{transform:rotate(90deg)}.collapsible-section>summary:hover,.collapsible-section>summary:focus-visible{color:var(--text)}.collapsible-body{display:flex;flex-direction:column;gap:14px;margin-top:14px}.user-table th:first-child,.user-table td:first-child{min-width:11rem}.user-table{width:100%;border-collapse:collapse;font-size:14px}.user-table th{padding:8px 10px;border-bottom:1px solid var(--edge);color:var(--muted);font-size:12px;font-weight:500;text-align:left}.user-table td{padding:10px;border-bottom:1px solid var(--edge);vertical-align:middle}.user-table td.user-email{overflow-wrap:anywhere}.user-table .user-actions{display:flex;justify-content:flex-end;gap:4px;white-space:nowrap}.user-table select{padding:6px 8px;border:1px solid var(--edge);border-radius:8px;background:#0f1216;color:var(--text);font-size:13px}.user-add{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.user-add .field{flex:1 1 260px}.user-add input[type=email]{padding:10px;border:1px solid var(--edge);border-radius:8px;background:#0f1216;color:var(--text);font-size:14px}.user-add .checkbox{padding-bottom:10px}.users-scroll{position:relative;overflow-x:auto}@media(max-width:400px){.cabinet .account .hint{max-width:72px}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.org-section{display:flex;flex-direction:column;gap:14px;padding-top:28px;border-top:1px solid var(--edge)}.org-card{display:flex;flex-direction:column;gap:14px;max-width:640px;padding:20px 22px;border:1px solid var(--edge);border-radius:14px;background:color-mix(in srgb,var(--panel) 92%,transparent)}.org-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.org-head h2{color:var(--text);text-transform:none;font-size:20px;letter-spacing:-.01em;overflow-wrap:anywhere}.org-plan{flex:none;padding:3px 10px;border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-family:ui-monospace,JetBrains Mono,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.org-plan.plan-trial{border-color:var(--warning);color:var(--warning)}.org-usage{display:flex;flex-direction:column;gap:8px}.org-usage-label{display:flex;justify-content:space-between;gap:12px;font-size:14px}.org-usage-label span:last-child{font-variant-numeric:tabular-nums;font-weight:600}.org-progress{height:8px}.org-progress.is-warning>span{background:var(--warning)}.org-warning{font-size:13px;color:var(--warning)}.org-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.org-facts div{padding:10px 12px;border:1px solid var(--edge);border-radius:10px}.org-facts dt{color:var(--muted);font-size:12px}.org-facts dd{margin:2px 0 0;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.org-table .org-extra{width:64px}.org-table input{padding:6px 8px;border:1px solid var(--edge);border-radius:8px;background:#0f1216;color:var(--text);font-size:13px}.org-table tr.is-inactive td:first-child{color:var(--muted)}.org-inactive{margin-left:6px;font-size:12px;color:var(--warning)}.login-card .consent{align-items:flex-start;font-size:13px;line-height:1.45}.org-sweep{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.owner-section{display:flex;flex-direction:column;gap:16px;padding-top:28px;border-top:1px solid var(--edge)}.owner-health{padding:18px 20px;border:1px solid color-mix(in srgb,var(--ok) 40%,var(--edge));border-radius:14px;background:color-mix(in srgb,var(--ok) 5%,var(--panel))}.owner-health.has-problems{border-color:color-mix(in srgb,var(--danger) 55%,var(--edge));background:color-mix(in srgb,var(--danger) 6%,var(--panel))}.owner-health-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.owner-health-head h2{font-size:18px;color:var(--text);text-transform:none}.owner-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:6px 18px;margin:0 0 10px;padding:0;list-style:none;font-size:13px}.owner-checks li{display:grid;grid-template-columns:10px auto 1fr;align-items:baseline;gap:8px}.owner-checks .hint{overflow-wrap:anywhere}.owner-dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.owner-checks li.is-bad .owner-dot{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 25%,transparent)}.owner-checks li.is-bad>span:nth-child(2){color:var(--danger);font-weight:600}.owner-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:10px;margin:0}.owner-kpis div{padding:12px 14px;border:1px solid var(--edge);border-radius:10px}.owner-kpis div.is-lead{grid-column:span 2;border-color:color-mix(in srgb,var(--accent) 50%,var(--edge))}.owner-kpis dt{color:var(--muted);font-size:12px}.owner-kpis dd{margin:4px 0 0;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.owner-kpis div.is-lead dd{font-size:28px}@media(max-width:520px){.owner-kpis div.is-lead{grid-column:auto}}.site-nav{display:flex;align-items:center;gap:clamp(12px,2.4vw,24px);font-size:14px}.site-nav>a:not(.button-ghost){color:var(--muted);text-decoration:none}.site-nav>a:not(.button-ghost):hover{color:var(--text)}@media(max-width:560px){.site-nav>a:not(.button-ghost){display:none}}.pricing{padding:clamp(40px,7vw,96px) var(--site-gutter);border-top:1px solid var(--edge)}.pricing-head{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:clamp(16px,4vw,56px);align-items:end;margin-bottom:clamp(24px,4vw,44px)}.pricing-head h2,.pilot h2{color:var(--text);text-transform:none;font-size:clamp(30px,3.6vw,48px);letter-spacing:-.03em;line-height:1.05}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px);padding:0;list-style:none}.price-card{display:flex;flex-direction:column;gap:6px;padding:22px 22px 20px;border:1px solid var(--edge);border-radius:16px;background:color-mix(in srgb,var(--panel) 88%,transparent);transition:transform .18s ease,border-color .18s ease}.price-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 50%,var(--edge))}.price-card.is-featured{border-color:var(--accent);box-shadow:0 24px 60px color-mix(in srgb,var(--accent) 16%,transparent)}.price-name{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.price-storage{font-size:clamp(40px,4.6vw,60px);font-weight:700;letter-spacing:-.04em;line-height:1;margin-top:6px}.price-rub{margin-top:14px;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.price-rub span{font-size:14px;font-weight:400;color:var(--muted)}.price-card ul{margin:14px 0 0;padding:14px 0 0;border-top:1px dashed var(--edge);list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px}.price-card ul li:before{content:"— ";color:var(--accent)}.price-note{margin-top:auto;padding-top:14px;font-size:13px;color:var(--muted)}.pricing-foot{margin-top:20px;color:var(--muted);font-size:14px;line-height:1.6}.pilot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:clamp(24px,5vw,72px);align-items:start;padding:clamp(40px,7vw,96px) var(--site-gutter);border-top:1px solid var(--edge)}.pilot h2{margin:12px 0 16px}.pilot-form,.pilot-done{display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--edge);border-radius:16px;background:color-mix(in srgb,var(--panel) 92%,transparent)}.pilot-form input,.pilot-form textarea{padding:10px;border:1px solid var(--edge);border-radius:8px;background:#0f1216;color:var(--text);font:inherit;resize:vertical}.pilot-form input:focus-visible,.pilot-form textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.pilot-form .consent{align-items:flex-start;font-size:13px;line-height:1.45}.trap{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}.pilot-done h3{font-size:22px}@media(max-width:860px){.pricing-head,.pilot,.price-grid{grid-template-columns:minmax(0,1fr)}}.site-footer-full{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:20px 32px;padding:32px var(--site-gutter);font-size:13px}.site-footer-full ul{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.site-footer-full a{color:var(--muted);text-decoration:none}.site-footer-full a:hover{color:var(--text)}.footer-title{color:var(--text);font-weight:700;margin-bottom:6px}.footer-copy{grid-column:1 / -1}@media(max-width:640px){.site-footer-full{grid-template-columns:minmax(0,1fr)}}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;max-width:760px;margin:0 auto;padding:14px 18px;border:1px solid var(--edge);border-radius:14px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 18px 50px #00000080;font-size:13px;line-height:1.5}.cookie-actions{display:flex;align-items:center;gap:14px}.legal,.topic-page{max-width:780px;padding:clamp(32px,6vw,72px) var(--site-gutter) clamp(48px,8vw,96px)}.legal h1,.topic-page h1{margin:12px 0 10px;font-size:clamp(28px,3.6vw,44px);letter-spacing:-.02em;line-height:1.1}.legal h2{margin:28px 0 8px;font-size:18px}.legal p,.legal li{line-height:1.65;color:color-mix(in srgb,var(--text) 85%,var(--muted))}.legal ul{padding-left:20px;display:flex;flex-direction:column;gap:8px}.legal a{color:var(--accent)}.legal-draft{padding:10px 14px;border:1px dashed var(--warning);border-radius:10px;color:var(--warning);font-size:13px}.topic-page .lead{margin-bottom:28px}.topic-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:0 0 32px;padding:0;list-style:none}.topic-points li{padding-top:14px;border-top:2px solid var(--text)}.topic-points h2{font-size:18px;margin-bottom:6px}.topic-points p{color:var(--muted);line-height:1.6;font-size:14px}@media(max-width:640px){.topic-points{grid-template-columns:minmax(0,1fr)}}.topic-section{margin:0 0 36px}.topic-section h2,.topic-docs h2{margin:0 0 12px;font-size:clamp(20px,2.2vw,24px);letter-spacing:-.01em}.topic-section p,.topic-section li{line-height:1.65;color:color-mix(in srgb,var(--text) 85%,var(--muted))}.topic-section>*+p{margin-top:12px}.topic-section ol,.topic-section ul{display:flex;flex-direction:column;gap:8px;margin:12px 0 0;padding-left:22px}.topic-section ol li::marker{color:var(--accent);font-weight:600}.topic-section .hint{margin-top:12px;font-size:13px;line-height:1.55}.topic-table{margin-top:14px;overflow-x:auto;border:1px solid var(--edge);border-radius:12px}.topic-table table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px;line-height:1.5}.topic-table th,.topic-table td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--edge)}.topic-table thead th{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.topic-table tbody th{font-weight:600;color:var(--text)}.topic-table td{color:color-mix(in srgb,var(--text) 85%,var(--muted))}.topic-table tbody tr:last-child>*{border-bottom:0}.topic-docs{margin:0 0 32px;padding-top:18px;border-top:1px solid var(--edge)}.topic-docs ul{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none}.topic-docs a{color:var(--accent)}.owner-leads h3{font-size:15px;margin-bottom:8px}.owner-leads ul{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;font-size:13px}.account-mydata{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px;max-width:560px}.account-delete{align-self:stretch;padding:14px;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--edge));border-radius:12px}.account-delete-actions{display:flex;gap:16px}.pricing-page{padding:clamp(32px,6vw,72px) var(--site-gutter) clamp(48px,8vw,96px)}.pricing-page h1{max-width:900px;margin:0 0 8px;font-size:clamp(28px,3.6vw,44px);letter-spacing:-.02em;line-height:1.1}.pricing-page .pricing{padding:clamp(16px,2.5vw,28px) 0 0;border-top:0}.pricing-page .pricing-head{display:block;margin-bottom:clamp(20px,3vw,32px)}.pricing-faq{max-width:820px;margin-top:clamp(32px,5vw,56px)}.pricing-faq h2{margin:0 0 16px;font-size:clamp(20px,2.2vw,26px)}.pricing-faq dl{display:grid;gap:18px;margin:0}.pricing-faq dt{font-weight:600}.pricing-faq dd{margin:6px 0 0;line-height:1.65;color:color-mix(in srgb,var(--text) 85%,var(--muted))}.contacts-list{display:grid;gap:14px;margin:24px 0}.contacts-list dt{font-size:13px;color:var(--muted)}.contacts-list dd{margin:2px 0 0;font-size:17px}.app{position:relative;height:100dvh}.workspace-desktop{--topbar-height: 44px;display:grid;grid-template-columns:360px minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(0,1fr)}.topbar{grid-column:1 / -1;position:relative;z-index:5;display:flex;align-items:center;gap:20px;padding:0 12px 0 18px;border-bottom:1px solid var(--edge);background:var(--panel);user-select:none;--topbar-control: 30px;font-size:13px}.topbar-project{flex-direction:row;align-items:baseline;gap:12px;flex:0 1 auto;min-width:0}.topbar-project{align-items:center}.topbar-project .back-link{flex:none;display:inline-flex;align-items:center;height:var(--topbar-control);padding:0 10px;border:1px solid var(--edge);border-radius:8px;background:#252b34;color:var(--text);font-size:inherit}.topbar-project .back-link:hover{border-color:var(--accent)}.topbar-project h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;font-weight:600}.topbar-project .role-line{flex:none;font-size:inherit;color:var(--muted)}.topbar-tour{display:flex;align-items:center;gap:12px;margin-inline:auto}.topbar-field{display:flex;align-items:center;gap:8px;font-size:inherit;color:var(--muted)}.topbar input[type=date],.topbar select{height:var(--topbar-control);padding:0 8px;border-radius:8px;font-family:inherit;font-size:inherit}.topbar button{height:var(--topbar-control);padding:0 10px;font-size:inherit}.topbar-station{display:flex;align-items:center;gap:4px}.topbar-station select{width:170px}.topbar-station button{width:var(--topbar-control);padding:0}.topbar button:disabled{opacity:.45;cursor:default}.topbar-tools{display:flex;align-items:center;gap:4px;padding-left:12px;border-left:1px solid var(--edge)}.topbar-tool,.topbar-tools .topbar-menu-button{display:flex;align-items:center;gap:6px}.topbar-tool-icon{width:14px;text-align:center}.topbar .is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,#252b34)}.topbar-section .topbar-menu-panel{left:0;right:auto;width:320px;max-height:calc(100dvh - 70px);overflow-y:auto;padding:14px}@media(max-width:1500px){.topbar-tool-label,.topbar-tools .topbar-menu-button .panel-group-chevron{display:none}.topbar-tool,.topbar-tools .topbar-menu-button{width:var(--topbar-control);padding:0;justify-content:center}}@media(max-width:1280px){.topbar{gap:12px}.topbar-project .role-line{display:none}.topbar-station select{width:130px}.topbar-menu-label{max-width:110px}}@media(max-width:1100px){.topbar{gap:8px;padding-left:10px}.topbar-project h1,.topbar-field>span{display:none}.topbar-project{flex:none}.topbar-project .back-link{width:34px;overflow:hidden;white-space:nowrap}.topbar-tour{gap:8px}.topbar-station select{width:110px}.topbar-menu-label,.topbar-share span{display:inline-block;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}}@media(max-width:1000px){.topbar-station select{width:88px}.topbar-menu-label,.topbar-share span{max-width:64px}}.topbar-actions{display:flex;align-items:center;gap:8px;flex:none}.topbar-menu{position:relative}.topbar-menu-button{display:flex;align-items:center;gap:8px}.topbar-menu-label{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:20;min-width:200px;padding:10px;border:1px solid var(--edge);border-radius:10px;background:var(--panel);box-shadow:0 12px 32px #00000073}.topbar-menu-panel .layout-presets{gap:4px;width:210px}.topbar-menu-panel .layout-presets button{text-align:left}.topbar-menu-panel .layout-presets .hint{padding:6px 10px 0;border-top:1px solid var(--edge);margin-top:4px}.topbar-account-menu{display:flex;flex-direction:column;gap:8px}.workspace-desktop .viewport{pointer-events:none}.panel.docked{position:relative;z-index:1;top:auto;left:auto;width:auto;max-height:none;height:auto;min-height:0;border:none;border-right:1px solid var(--edge);border-radius:0;background:var(--panel);backdrop-filter:none}.layout-presets{display:flex;flex-direction:column;gap:6px}.layout-presets .segmented{flex-wrap:wrap}.layout-area{position:relative;z-index:1;min-width:0;min-height:0}.layout-root{position:absolute;inset:0;display:flex}.layout-split{display:flex;flex:1;min-width:0;min-height:0}.layout-split.row{flex-direction:row}.layout-split.column{flex-direction:column}.layout-pane{position:relative;display:flex;flex-grow:0;flex-shrink:1;min-width:0;min-height:0}.layout-divider{flex:0 0 6px;background:var(--edge);transition:background-color .12s ease;touch-action:none}.layout-split.row>.layout-divider{cursor:col-resize}.layout-split.column>.layout-divider{cursor:row-resize}.layout-divider:hover,.layout-divider:focus-visible{background:var(--accent);outline:none}.layout-block{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.layout-block.drop{outline:2px dashed var(--accent);outline-offset:-4px}.block-head{flex:none;display:flex;align-items:center;gap:8px;height:32px;padding:0 6px 0 4px;border-bottom:1px solid var(--edge);background:var(--panel);font-size:12px;user-select:none}.block-grip{padding:4px 3px;border-radius:4px;color:var(--muted);letter-spacing:-2px;cursor:grab}.block-grip:hover{background:#252b34;color:var(--text)}.block-grip:active{cursor:grabbing}.block-title{font-weight:600}.block-select{padding:3px 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);font-size:12px;font-weight:600;cursor:pointer}.block-select:hover,.block-select:focus-visible{border-color:var(--edge);background:#0f1216}.block-actions{display:flex;gap:2px;margin-left:auto}.block-actions button{width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;line-height:1}.block-actions button:hover:not(:disabled){border-color:var(--edge);color:var(--text)}.block-actions button:disabled{opacity:.35;cursor:default}.block-body{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--bg)}.block-body.block-photo,.block-body.block-photos{background:var(--panel)}.block-body.block-view,.block-body.block-cloud,.block-body.block-compare{background:transparent}.view-surface{position:absolute;inset:0;touch-action:none;cursor:grab}.view-surface:active{cursor:grabbing}.block-scroll{position:absolute;inset:0;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:20px}.block-tools{position:absolute;top:10px;left:10px;z-index:2;display:flex;gap:6px}.block-tools button{padding:5px 10px;font-size:12px;background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(8px)}.block-status,.block-legend{position:absolute;left:10px;right:10px;z-index:2;font-size:12px;color:var(--muted);pointer-events:none}.block-status{top:50%;text-align:center;color:var(--text)}.block-legend{bottom:8px;right:auto;padding:3px 8px;border-radius:6px;background:color-mix(in srgb,var(--bg) 80%,transparent)}.block-tools button.is-on{border-color:var(--accent);color:var(--text)}.map.docked{position:absolute;inset:0;width:auto;border:none;border-radius:0;background:var(--bg);backdrop-filter:none}.map.docked .block-tools{right:10px;flex-wrap:wrap}.map.docked .block-tools button{white-space:nowrap}.map.docked .plan-cut output{min-width:84px}.map.docked .map-status{top:auto;bottom:10px;left:12px}.map.docked .map-body{position:absolute;inset:0;aspect-ratio:auto}.fly-toggle,.fly-bar{position:absolute;left:14px;top:14px;z-index:4;border:1px solid var(--edge);background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(12px)}.fly-toggle{padding:9px 16px;border-radius:999px;font-weight:600;box-shadow:0 6px 20px #00000059}.fly-bar{display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100% - 28px));padding:12px 14px;border-color:var(--accent);border-radius:12px;box-shadow:0 10px 30px #00000073}.fly-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.fly-actions button{padding:6px 12px;font-size:12px}@media(max-width:900px),(max-height:500px),(pointer:coarse)and (hover:none){.fly-toggle{top:auto;left:auto;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));min-height:44px}.fly-bar{top:10px;left:10px;width:calc(100% - 20px);z-index:6}}.compare-toggle,.compare-bar{position:absolute;left:14px;top:14px;z-index:4;border:1px solid var(--edge);background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(12px)}.compare-toggle{padding:9px 16px;border-radius:999px;font-weight:600;box-shadow:0 6px 20px #00000059}.compare-bar{display:flex;flex-direction:column;gap:8px;width:min(330px,calc(100% - 28px));padding:12px 14px;border-radius:12px;box-shadow:0 10px 30px #00000073}.compare-date{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.compare-date select{padding:4px 8px;font-size:12px}.block-tools .compare-date{padding:4px 8px 4px 10px;border:1px solid var(--edge);border-radius:8px;background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(8px)}.swipe-handle{position:absolute;top:0;bottom:0;z-index:3;width:28px;margin-left:-14px;cursor:ew-resize;touch-action:none}.swipe-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px #00000059}.swipe-handle:focus-visible{outline:none}.swipe-handle:focus-visible:before{background:var(--accent)}.swipe-handle:focus-visible .swipe-grip{outline:3px solid var(--accent);outline-offset:2px}.swipe-grip{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#14171c;font-size:12px;letter-spacing:-1px;transform:translate(-50%,-50%);box-shadow:0 4px 14px #00000073;transition:transform .12s ease}.swipe-handle:hover .swipe-grip,.swipe-handle:active .swipe-grip{transform:translate(-50%,-50%) scale(1.12)}.swipe-label{position:absolute;top:calc(50% - 56px);padding:3px 9px;border-radius:6px;background:color-mix(in srgb,var(--bg) 82%,transparent);color:var(--text);font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none}.swipe-label.left{right:calc(50% + 10px)}.swipe-label.right{left:calc(50% + 10px)}@media(max-width:900px),(max-height:500px),(pointer:coarse)and (hover:none){.compare-toggle,.compare-bar{top:62px;left:10px}.compare-toggle{min-height:44px}.compare-bar{width:calc(100% - 20px);z-index:6}}.photo-list{display:flex;flex-direction:column;gap:10px}.block-photos .photo-list{position:absolute;inset:0;padding:14px;overflow-y:auto}.photo-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.photo-actions{display:flex;flex-wrap:wrap;gap:8px}.photo-actions .primary,.photo-buttons .primary{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,transparent)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;margin:0;padding:0;list-style:none}.photo-thumb{position:relative;display:block;width:100%;aspect-ratio:4 / 3;padding:0;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#0f1216}.photo-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .16s ease}.photo-thumb:hover img{transform:scale(1.05)}.photo-thumb.active{border-color:#ffb020}.photo-mark,.photo-note-mark{position:absolute;bottom:4px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#0f1216d1;color:var(--text);font-size:11px;font-weight:700}.photo-mark{right:4px}.photo-note-mark{left:4px}.photo-mark.mark-ok{color:var(--ok)}.photo-mark.mark-approximate{color:#f5c451}.photo-mark.mark-failed{color:var(--danger)}.photo-viewer{position:absolute;inset:0;display:flex;flex-direction:column;min-height:0}.photo-viewer.empty{align-items:center;justify-content:center;padding:24px;text-align:center}.photo-stage{flex:1;min-height:0;display:grid;place-items:center;background:#0b0d10;container-type:size}.photo-frame{position:relative;width:min(100cqw,100cqh * var(--aspect));aspect-ratio:var(--aspect)}.photo-frame img{display:block;width:100%;height:100%}.photo-point{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border:2px solid #fff;border-radius:50%;background:color-mix(in srgb,#ff3d71 55%,transparent);box-shadow:0 0 0 2px #00000080;pointer-events:none}.photo-info{flex:none;display:flex;flex-direction:column;gap:6px;padding:10px 14px 12px;border-top:1px solid var(--edge)}.photo-info p{margin:0}.photo-meta{display:flex;align-items:center;gap:10px;font-size:13px}.photo-status{padding:2px 8px;border:1px solid var(--edge);border-radius:999px;color:var(--muted);font-size:12px}.photo-status.status-ok{color:var(--ok)}.photo-status.status-approximate{color:#f5c451}.photo-status.status-failed{color:var(--danger)}.photo-close{margin-left:auto;width:28px;height:28px;padding:0;font-size:16px}.photo-buttons{display:flex;align-items:center;gap:10px}.photo-buttons .link-danger{margin-left:auto}.photo-note{font-size:14px;white-space:pre-wrap}.photo-modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:#080a0dc7}.photo-modal .photo-viewer{position:relative;inset:auto;width:min(1100px,100%);height:min(86dvh,100%);border:1px solid var(--edge);border-radius:14px;overflow:hidden;background:var(--panel)}.photo-point-toggle,.photo-point-bar{position:absolute;left:14px;top:62px;z-index:4;border:1px solid var(--edge);background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(12px)}.photo-point-toggle{padding:9px 16px;border-radius:999px;font-weight:600;box-shadow:0 6px 20px #00000059}.photo-point-bar{display:flex;align-items:center;gap:10px;max-width:min(360px,calc(100% - 28px));padding:10px 12px 10px 14px;border-color:#ffb020;border-radius:12px;font-size:13px;box-shadow:0 10px 30px #00000073}.photo-point-bar p{flex:1;margin:0}.photo-point-bar .measure-close{flex:none}.compare-bar~.photo-point-toggle,.compare-bar~.photo-point-bar{top:168px}.workspace-desktop .photo-point-bar{top:14px}.workspace-desktop .compare-bar~.photo-point-bar{top:124px}.map-photo{position:absolute;width:14px;height:14px;border:2px solid #14171c;border-radius:50%;background:#ffb020;transform:translate(-50%,-50%);pointer-events:none}.map-photo-cone{position:absolute;width:40px;height:40px;pointer-events:none;background:linear-gradient(to top,color-mix(in srgb,#ffb020 70%,transparent),transparent);clip-path:polygon(50% 100%,0 0,100% 0)}@media(max-width:900px),(max-height:500px),(pointer:coarse)and (hover:none){.photo-point-toggle,.photo-point-bar{top:114px;left:10px}.photo-point-toggle{min-height:44px}.compare-bar~.photo-point-toggle,.compare-bar~.photo-point-bar{top:210px}.photo-modal{padding:0}.photo-modal .photo-viewer{height:100dvh;border:none;border-radius:0}}.view-surface,.viewport,.view-surface button,.view-surface .segmented,.view-surface p,.view-surface span,.view-surface h2,.compare-toggle,.photo-point-toggle,.measure-toggle,.map-toggle,.swipe-handle,.block-head,.block-tools,.block-legend,.block-status{user-select:none;-webkit-user-select:none}.view-surface img,.photo-frame img,.photo-thumb img{-webkit-user-drag:none;user-drag:none}.topbar-account-menu a{color:var(--text);font-size:13px;text-decoration:none}.topbar-account-menu a:hover{color:var(--accent)}.pin-place-bar{position:absolute;left:10px;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:6;display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #ffb020;border-radius:12px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(12px);box-shadow:0 10px 30px #00000073;font-size:14px}.pin-place-bar p{flex:1;margin:0}.pin-place-bar .link{flex:none;min-height:44px;padding:0 6px}.topic-show-all{align-self:flex-start;min-height:44px}.topic-solo{display:flex;flex-direction:column;gap:8px}@media(orientation:landscape)and (max-height:500px),(orientation:landscape)and (pointer:coarse)and (hover:none){.app:not(.workspace-desktop){--rail: calc(64px + env(safe-area-inset-left)) ;--side: var(--rail);position:fixed;inset:0 0 0 var(--side);height:auto}.app.sheet-is-open{--side: calc(var(--rail) + min(360px, 46vw))}.app:not(.workspace-desktop) .viewport{left:var(--side);width:calc(100% - var(--side))}.sheet{top:0;right:auto;flex-direction:row-reverse;border-top:none;border-right:1px solid var(--edge)}.sheet-body{width:min(360px,46vw);max-height:none;padding-bottom:max(16px,env(safe-area-inset-bottom))}.tabbar{flex-direction:column;width:var(--rail);padding-left:env(safe-area-inset-left);border-top:none;border-left:1px solid var(--edge)}.tabbar{justify-content:flex-start}.tabbar button{flex:1 1 0;min-height:0;max-height:104px}.fly-toggle,.scan-activity,.pin-place-bar{bottom:calc(10px + env(safe-area-inset-bottom))}.map.large{width:calc(100% - 20px)}}.site-static{display:block;max-width:820px;margin:0 auto;padding:32px 16px;font-size:16px;line-height:1.6}.site-static section+section,.site-static nav{margin-top:32px}.site-static nav{font-size:14px}
