:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#0f172a;--muted:#64748b;--line:#e8edf3;--line-strong:#cbd5e1;--panel:#f1f5f9;--surface:#fff;--surface-soft:#f8fafc;--bg:#f1f5f9;--accent:#2563eb;--accent-soft:#2563eb17;--accent-hover:#1d4ed8;--danger:#b42318;--danger-soft:#fef3f2;--warn-bg:#fffbeb;--warn-line:#f59e0b55;--warn-ink:#92400e;--success:#059669;--on-accent:#fff;--strong:#0f172a;--on-strong:#f8fafc;--hero-base:#d7e0ec;--hero-grad:linear-gradient(145deg, #c5d0e0 0%, #e4ebf4 45%, #f3f6fa 100%);--hero-scrim:linear-gradient(90deg, #f8fafcf5 0%, #f8fafce6 34%, #f8fafc59 56%, #f8fafc00 72%);--hero-img-blend:multiply;--viewport-3d-bg:#eef1f5;--cube-face-border:#9aa3ae;--cube-face-bg:linear-gradient(145deg, #e8ecf1, #d4dae2);--cube-face-solid:#dce2ea;--cube-face-ink:#3a424c;--cube-face-inset:#fff6;--cube-face-hover-bg:linear-gradient(145deg, #dce4ee, #c5d0dc);--cube-face-hover-ink:#1a1f26;--focus-ring:color-mix(in srgb, var(--accent) 70%, white);--selection-bg:color-mix(in srgb, var(--accent) 28%, white);--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px #0f172a0a, 0 1px 2px #0f172a08;--shadow-md:0 8px 24px #0f172a0f, 0 2px 6px #0f172a0a;--shadow-lg:0 20px 50px #0f172a1a, 0 6px 16px #0f172a0d;--ease:cubic-bezier(.22, 1, .36, 1);--dur:.18s;--dur-slow:.26s;--font-body:"IBM Plex Sans", "Segoe UI", sans-serif;--font-display:"IBM Plex Sans Condensed", "Arial Narrow", sans-serif;--font-mono:"IBM Plex Mono", "Consolas", monospace;color:var(--ink);background:var(--bg);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e8eef7;--muted:#94a3b8;--line:#1e293b;--line-strong:#334155;--panel:#0b1220;--surface:#111827;--surface-soft:#0f172a;--bg:#020617;--accent:#3b82f6;--accent-soft:#3b82f629;--accent-hover:#60a5fa;--danger:#f87171;--danger-soft:#3f1212;--warn-bg:#422006;--warn-line:#f59e0b66;--warn-ink:#fbbf24;--success:#34d399;--on-accent:#fff;--strong:#020617;--on-strong:#e8eef7;--hero-base:#0b1220;--hero-grad:linear-gradient(145deg, #0a1628 0%, #111827 48%, #1a2333 100%);--hero-scrim:linear-gradient(90deg, #020617f5 0%, #020617e0 34%, #02061766 56%, #02061700 72%);--hero-img-blend:normal;--viewport-3d-bg:#0b1220;--cube-face-border:#94a3b8;--cube-face-bg:linear-gradient(145deg, #64748b, #475569);--cube-face-solid:#5b6b7f;--cube-face-ink:#f8fafc;--cube-face-inset:#ffffff2e;--cube-face-hover-bg:linear-gradient(145deg, #7b8fa6, #5b6b82);--cube-face-hover-ink:#fff;--focus-ring:color-mix(in srgb, var(--accent) 65%, white);--selection-bg:color-mix(in srgb, var(--accent) 40%, transparent);--shadow-sm:0 1px 2px #00000059, 0 1px 2px #0003;--shadow-md:0 8px 24px #0006, 0 2px 6px #00000040;--shadow-lg:0 20px 50px #00000080, 0 6px 16px #0000004d}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{width:100%;max-width:100%;min-height:100%;margin:0}body{background:var(--bg);min-width:320px;color:var(--ink);overflow-x:clip}#root{min-height:100dvh}html.app-shell,html.app-shell body{height:100%;max-height:100dvh;overflow:hidden}html.app-shell #root{height:100%;max-height:100dvh}html.app-shell .app{height:100%;min-height:0;max-height:100dvh}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}::selection{background:var(--selection-bg);color:var(--ink)}.theme-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:2.1rem;height:2.1rem;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease);place-items:center;padding:0;display:inline-grid}.theme-toggle:hover{background:var(--surface-soft);border-color:var(--accent);color:var(--accent-hover)}.theme-toggle:active{transform:scale(.96)}.theme-toggle-icon{place-items:center;line-height:0;display:grid}.brand-logo-wrap{align-items:center;min-width:0;line-height:0;display:inline-flex}.brand-logo{object-fit:contain;object-position:left center;width:auto;max-width:min(280px,42vw);height:40px}.brand-logo--light{display:block}.brand-logo--dark,html[data-theme=dark] .brand-logo--light{display:none}html[data-theme=dark] .brand-logo--dark{display:block}.lang-switch{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.lang-switch-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lang-switch-select{appearance:none;border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--surface);background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);color:var(--ink);font:inherit;letter-spacing:.02em;cursor:pointer;max-width:11rem;transition:background-color var(--dur,.15s) var(--ease,ease), border-color var(--dur,.15s) var(--ease,ease), color var(--dur,.15s) var(--ease,ease);background-position:calc(100% - .85rem) calc(50% - .15rem),calc(100% - .55rem) calc(50% - .15rem);background-repeat:no-repeat;background-size:.3rem .3rem,.3rem .3rem;padding:.28rem 1.6rem .28rem .55rem;font-size:.72rem;font-weight:650;line-height:1.2}.lang-switch-select:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));color:var(--ink)}.lang-switch-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lang-switch-landing .lang-switch-select{max-width:12rem;padding:.35rem 1.7rem .35rem .6rem;font-size:.75rem}.segment-context-menu{z-index:80;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-md);animation:menuIn var(--dur-slow) var(--ease);padding:.35rem;display:grid;position:fixed}.segment-context-menu button{text-align:left;font:inherit;cursor:pointer;color:inherit;box-sizing:border-box;border-radius:var(--radius-sm);width:100%;transition:background var(--dur) var(--ease);background:0 0;border:0;padding:.5rem .65rem;font-size:.86rem;display:block}.segment-context-menu button:hover:not(:disabled),.segment-context-menu button:focus-visible:not(:disabled){background:var(--accent-soft);outline:none}.segment-context-menu button:disabled{opacity:.45;cursor:not-allowed}.segment-context-menu hr{border:0;border-top:1px solid var(--line);margin:.3rem .25rem}.user-menu{flex-shrink:0;position:relative}.user-menu-trigger{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-soft,var(--bg));max-width:min(240px,32vw);color:var(--ink);font:inherit;cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);align-items:center;gap:.55rem;padding:.2rem .45rem .2rem .2rem;display:inline-flex}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--accent-soft);box-shadow:var(--shadow-sm)}.user-menu-avatar{letter-spacing:.02em;width:1.85rem;height:1.85rem;color:var(--on-accent,#fff);background:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:.68rem;font-weight:700;display:grid}.user-menu-meta{flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15;display:flex}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;font-weight:600;overflow:hidden}.user-menu-email{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--muted);font-size:.68rem;overflow:hidden}.user-menu-caret{color:var(--muted);flex-shrink:0;margin-right:.15rem;font-size:.7rem}.user-menu-dropdown{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-md);z-index:45;animation:menuIn var(--dur-slow) var(--ease);padding:.35rem;display:grid;position:absolute;top:calc(100% + 6px);right:0}.user-menu-summary{border-bottom:1px solid var(--line);flex-direction:column;gap:.15rem;margin-bottom:.2rem;padding:.55rem .65rem .65rem;display:flex}.user-menu-summary strong{font-size:.88rem;font-weight:650}.user-menu-summary span{color:var(--muted);text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.user-menu-dropdown button{text-align:left;font:inherit;color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:.5rem .65rem;font-size:.88rem}.user-menu-dropdown button:hover,.user-menu-dropdown button:focus-visible{background:var(--accent-soft);color:var(--accent-hover);outline:none}.user-menu-dropdown hr{border:0;border-top:1px solid var(--line);margin:.25rem 0}.user-menu-logout{color:var(--danger,#b42318)!important}.user-menu-logout:hover,.user-menu-logout:focus-visible{background:color-mix(in srgb, var(--danger,#b42318) 10%, transparent)!important;color:var(--danger,#b42318)!important}.modal-account{width:min(440px,100%);max-height:min(90vh,720px);overflow:auto}.account-danger{border-top:1px solid color-mix(in srgb, var(--danger,#b42318) 28%, var(--line));flex-direction:column;gap:.65rem;margin:.25rem 0 0;padding:1rem 1.15rem 1.15rem;display:flex}.account-danger .field{flex-direction:column;gap:.3rem;display:flex}.account-danger .field>span{color:var(--muted);font-size:.8rem;font-weight:550}.account-danger input{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:.55rem .7rem}.account-danger input:focus{outline:2px solid color-mix(in srgb, var(--danger,#b42318) 40%, transparent);outline-offset:1px;border-color:var(--danger,#b42318)}.account-danger-email-hint{margin:-.25rem 0 0;font-family:ui-monospace,monospace;font-size:.78rem}.account-danger .btn.danger{align-self:flex-start}.account-form{flex-direction:column;gap:.75rem;padding:1.1rem 1.15rem 0;display:flex}.account-form .field{flex-direction:column;gap:.3rem;display:flex}.account-form .field>span{color:var(--muted);font-size:.8rem;font-weight:550}.account-form input{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:.55rem .7rem}.account-form input:focus{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px;border-color:var(--accent)}.account-form input:disabled{opacity:.7;background:var(--surface-soft,var(--bg))}.account-section-title{margin:.35rem 0 0;font-size:.92rem}.account-error{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--danger,#b42318) 12%, transparent);color:var(--danger,#b42318);margin:0;padding:.55rem .7rem;font-size:.85rem}.account-info{color:var(--muted);margin:0;font-size:.85rem}.account-form .modal-foot{margin:.35rem -1.15rem 0}@media (width<=720px){.user-menu-meta{display:none}.user-menu-trigger{max-width:none;padding-right:.35rem}.user-menu-caret{display:none}}.app{background:var(--bg);grid-template-rows:auto 1fr auto;min-height:100svh;display:grid}html.app-shell .app{min-height:0}.app-auth-loading{color:var(--muted);place-items:center;font-size:.95rem}.topbar{border-bottom:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);z-index:100;align-items:center;gap:1.1rem;padding:.55rem 1.1rem;display:flex;position:relative}.topbar:before{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 35%, var(--surface)));height:2px;position:absolute;top:0;left:0;right:0}.brand{align-items:center;gap:.55rem;min-width:0;display:flex}.brand-home{min-width:0;color:inherit;align-items:center;text-decoration:none;display:flex}.brand-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-hover);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line-strong));border-radius:var(--radius-pill);flex-shrink:0;align-self:center;padding:.08rem .45rem;font-size:.62rem;font-weight:650;line-height:1.35;display:inline-flex}.topbar-actions{flex-shrink:0;align-items:center;gap:.45rem;margin-left:auto;display:flex}.menubar{flex:1;gap:.2rem;min-width:0;display:flex}.menu{position:relative}.menu-trigger{font:inherit;cursor:pointer;color:var(--ink);border-radius:var(--radius-sm);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;padding:.4rem .75rem;font-size:.88rem;font-weight:500}.menu.is-open .menu-trigger,.menu-trigger[aria-expanded=true]{background:var(--accent-soft);color:var(--accent-hover)}.menu-dropdown{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-md);z-index:40;animation:menuIn var(--dur-slow) var(--ease);padding:.35rem;display:grid;position:absolute;top:100%;left:0}@keyframes menuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.menu-dropdown button,.menu-dropdown .menu-link{text-align:left;font:inherit;cursor:pointer;color:inherit;box-sizing:border-box;border-radius:var(--radius-sm);width:100%;transition:background var(--dur) var(--ease);background:0 0;border:0;padding:.5rem .65rem;font-size:.86rem;text-decoration:none;display:block}.menu-dropdown button:hover:not(:disabled),.menu-dropdown .menu-link:hover{background:var(--accent-soft)}.menu-dropdown button:disabled{opacity:.45;cursor:not-allowed}.menu-dropdown hr{border:0;border-top:1px solid var(--line);margin:.3rem .25rem}.menu-dropdown-wide{min-width:340px;padding:.6rem .7rem}.anim-slider-row{grid-template-columns:7.5rem 1fr;align-items:center;gap:.55rem;padding:.35rem 0;display:grid}.anim-label{color:var(--ink);font-size:.82rem;font-weight:500}.anim-slider-block{gap:.15rem;display:grid}.anim-ends{color:var(--muted);justify-content:space-between;font-size:.68rem;display:flex}.anim-slider-block input[type=range]{width:100%;accent-color:var(--accent)}.workspace-root{flex-direction:column;min-height:0;display:flex;overflow:hidden}.workspace-root>.editor,.workspace-root>.admin-console{flex:auto;min-height:0}.workspace-root>.browser{flex:auto;min-height:0;overflow:auto}.workspace-root>.api-banner,.workspace-root>.upgrade-banner-strip{flex:none}.statusbar{border-top:1px solid var(--line);background:var(--surface);color:var(--muted);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;padding:.42rem 1.1rem;font-size:.76rem;display:grid}.statusbar-left,.statusbar-center,.statusbar-right{align-items:center;gap:.55rem;min-width:0;display:flex}.statusbar-left{justify-self:start}.statusbar-center{justify-content:center;justify-self:center}.statusbar-right{justify-content:flex-end;justify-self:end}.statusbar-autosave{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap;border-radius:4px;padding:.15rem .45rem;line-height:1.2}.statusbar-autosave:hover:not(:disabled){color:var(--text);border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.statusbar-autosave:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 65%, transparent);outline-offset:1px}.statusbar-autosave:disabled{opacity:.65;cursor:wait}.status-dot{background:var(--success);width:.45rem;height:.45rem;box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 22%, transparent);border-radius:50%;flex:none}.status-dot-busy{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);animation:statusDotPulse 1.1s var(--ease) infinite}@keyframes statusDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.reference-busy-backdrop{z-index:120;cursor:wait}.reference-busy-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(28rem,100%);box-shadow:var(--shadow-lg);text-align:center;animation:modalIn var(--dur-slow) var(--ease);padding:1.35rem 1.45rem 1.25rem}.reference-busy-card h2{letter-spacing:-.01em;margin:.85rem 0 .45rem;font-size:1.05rem;font-weight:650}.reference-busy-card p{color:var(--muted);overflow-wrap:anywhere;margin:0 0 1.1rem;font-size:.88rem;line-height:1.45}.reference-busy-spinner{border:2px solid color-mix(in srgb, var(--line) 80%, transparent);border-top-color:var(--accent);border-radius:50%;width:2.1rem;height:2.1rem;margin:0 auto;animation:.75s linear infinite referenceBusySpin}@keyframes referenceBusySpin{to{transform:rotate(360deg)}}.reference-busy-bar{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:999px;height:.28rem;overflow:hidden}.reference-busy-bar-fill{border-radius:inherit;background:var(--accent);width:38%;height:100%;animation:referenceBusySlide 1.35s var(--ease) infinite;display:block}.reference-busy-actions{justify-content:center;margin-top:1rem;display:flex}@keyframes referenceBusySlide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.status-version{text-transform:none;letter-spacing:.02em;font-variant-numeric:tabular-nums}.status-project{opacity:.9}.browser{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:calc(100% - 2rem);max-width:none;box-shadow:var(--shadow-md);box-sizing:border-box;margin:1rem 1rem 1.5rem;padding:1.35rem 1.5rem 2rem}.browser-head{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.15rem;display:flex}.browser-head h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .3rem;font-size:1.55rem;font-weight:700}.browser-head p{color:var(--muted);margin:0;font-size:.9rem}.browser-actions{gap:.5rem;display:flex}.table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:auto}.table-wrap.compact{max-height:280px}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.82rem}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.55rem .65rem}.data-table th{background:var(--surface-soft);white-space:nowrap;color:var(--muted);letter-spacing:.02em;font-size:.75rem;font-weight:600}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface))}.data-table tr.is-selected td,.data-table tr.is-compare td{background:var(--accent-soft)}.row-actions{white-space:nowrap;flex-wrap:wrap;gap:.3rem;display:flex}.compare-banner{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.85rem;padding:.75rem .9rem;font-size:.85rem;display:flex}.editor{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.silencer-side-panel{z-index:30;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:min(320px,100% - 1.2rem);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;top:3.2rem;bottom:.85rem;right:.65rem;overflow:hidden}.silencer-side-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem .85rem;display:flex}.silencer-side-panel-head h2{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.silencer-side-panel-pipe{color:var(--ink);margin:.2rem 0 0;font-size:.85rem}.silencer-side-panel-body{flex-direction:column;gap:.35rem;padding:.75rem .85rem 1rem;display:flex;overflow:auto}.editor-toolbar{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--surface) 0%, var(--surface-soft) 100%);flex-wrap:wrap;flex:none;align-items:stretch;gap:0;min-width:0;padding:.25rem .4rem .2rem;display:flex}.toolbar-group{border-right:1px solid var(--line);flex-direction:column;align-items:stretch;gap:.1rem;padding:.15rem .4rem .1rem;display:flex}.toolbar-group:last-child{border-right:none}.toolbar-group-tools{flex-wrap:wrap;flex:1;justify-content:center;align-items:stretch;gap:.2rem;display:flex}.toolbar-group-label{text-align:center;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);-webkit-user-select:none;user-select:none;padding:.15rem .2rem .05rem;font-size:.62rem;font-weight:600;line-height:1.2}.toolbar-spacer{flex:1;min-width:.5rem}.toolbar-divider{background:var(--line);border-radius:1px;align-self:stretch;width:1px;margin:.3rem .25rem}.toolbar-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-self:center;padding:0 .15rem;font-size:.72rem;font-weight:700}.tool-btn{border-radius:var(--radius-sm);min-width:3.45rem;color:var(--ink);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.4rem .5rem .35rem;display:inline-flex}.tool-btn:hover:not(:disabled){background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}.tool-btn:active:not(:disabled){transform:scale(.97)}.tool-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tool-btn:disabled{opacity:.38;cursor:not-allowed}.tool-btn.is-primary{background:var(--surface);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.tool-btn.is-primary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.tool-btn.is-active{background:var(--surface);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm)}.tool-btn.is-active .tool-btn-icon,.tool-btn.is-active .tool-btn-label{color:var(--accent)}.tool-btn-icon{width:1.35rem;height:1.35rem;color:var(--ink);place-items:center;display:grid}.tool-btn.is-primary .tool-btn-icon{color:var(--accent)}.tool-btn:disabled .tool-btn-icon{color:inherit}.tool-btn-label{letter-spacing:.01em;color:var(--muted);white-space:nowrap;font-size:.62rem;font-weight:600;line-height:1.1}.tool-btn:hover:not(:disabled) .tool-btn-label,.tool-btn.is-primary .tool-btn-label{color:inherit}.hotkey-legend{color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);white-space:nowrap;align-self:center;margin-left:.15rem;padding:.25rem .5rem;font-size:.62rem}.endpipe-bend{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 80%, var(--panel));box-shadow:var(--shadow-sm);margin:.35rem 0 .75rem;padding:.65rem .7rem}.endpipe-bend-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.45rem;font-size:.78rem;display:flex}.endpipe-bend-presets{flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem;display:flex}.endpipe-bend-presets .btn.tiny.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:none}.endpipe-bend-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.endpipe-bend-fields .field{margin-bottom:0}.hint{color:var(--muted);margin:0 0 .55rem;font-size:.75rem;line-height:1.4}.auto-generator-stub-map{margin:.5rem 0 .75rem}.auto-generator-stub-map-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.auto-generator-stub-map-actions{flex-wrap:wrap;gap:.35rem;display:flex}.auto-generator-stub-map-head .field-label{font-size:.8rem;font-weight:600}.auto-generator-stub-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.auto-generator-stub-list .field.compact{gap:.25rem;margin-bottom:0}.auto-generator-stub-list .field.compact span{font-size:.75rem}.cell-input:disabled{background:var(--surface-soft);color:var(--muted)}.editor-body{grid-template-columns:var(--sidebar-width,360px) 6px minmax(0, 1fr);height:100%;min-height:0;display:grid;overflow:hidden}.editor-side{background:color-mix(in srgb, var(--panel) 70%, var(--surface));border-right:none;min-width:0;min-height:0;padding:.9rem;overflow:hidden auto}.sidebar-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.85rem;display:flex}.sidebar-title{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.sidebar-resizer{cursor:col-resize;background:linear-gradient(90deg, transparent, var(--accent-soft), transparent);border-left:1px solid var(--line);border-right:1px solid var(--line);width:6px;transition:background var(--dur) var(--ease)}.sidebar-resizer:hover,.sidebar-resizer:active{background:color-mix(in srgb, var(--accent) 35%, transparent)}.sidebar-rail{border-right:1px solid var(--line);background:color-mix(in srgb, var(--panel) 70%, var(--surface));writing-mode:vertical-rl;text-orientation:mixed;flex-direction:column;justify-content:flex-start;align-items:center;gap:.5rem;padding:.65rem .35rem;display:flex}.editor-body-collapsed{grid-template-columns:auto 1fr}.sidebar-rail .btn{writing-mode:horizontal-tb}.editor-main{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.panel-section+.panel-section{border-top:1px solid var(--line);margin-top:.45rem;padding-top:.45rem}.panel-section h2,.flat-head h2,.modal-head h2,.modal-grid h3{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .65rem;font-size:.78rem;font-weight:700}.accordion-trigger{cursor:pointer;width:100%;color:var(--ink);text-align:left;font:inherit;border-radius:var(--radius-sm);transition:background var(--dur) var(--ease);background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:.45rem .35rem;display:flex}.accordion-trigger:hover{background:var(--accent-soft)}.accordion-trigger:hover .accordion-title{color:var(--accent)}.accordion-title{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;transition:color var(--dur) var(--ease);font-size:.78rem;font-weight:700;line-height:1.25}.accordion-chevron{color:var(--muted);transition:transform var(--dur) var(--ease);flex:none;font-size:.75rem;line-height:1}.accordion.is-collapsed .accordion-trigger{margin-bottom:0}.accordion-body{padding:.2rem .15rem .45rem}.accordion.panel-section h2{display:none}.flat-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1.25rem;padding:.85rem 1.1rem .35rem;display:flex}.flat-head-text{flex:12rem;min-width:0}.flat-head p{color:var(--muted);margin:0;font-size:.85rem}.field{gap:.3rem;margin-bottom:.6rem;display:grid}.field span{color:var(--muted);font-size:.75rem;font-weight:500}.field input,.field select,.group-item input,.cell-input{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-width:0;color:var(--ink);border-radius:var(--radius-sm);font:inherit;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.42rem .55rem}.field input:hover,.field select:hover,.cell-input:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--line-strong))}.field input:focus,.field select:focus,.cell-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.cell-input{border-radius:var(--radius-xs);min-width:3.2rem;padding:.25rem .35rem}.check{align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.85rem;display:flex}.btn{background:var(--ink);color:var(--bg);font:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border:1px solid #0000;padding:.42rem .75rem;font-size:.8rem;font-weight:550}.btn:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 82%, var(--muted))}.btn:active:not(:disabled){transform:scale(.98)}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.btn.ghost:hover:not(:disabled){background:var(--surface-soft);border-color:var(--accent)}.btn.tiny{color:var(--muted);border-color:var(--line);border-radius:var(--radius-xs);background:0 0;padding:.22rem .5rem}.btn.tiny:hover:not(:disabled){color:var(--ink);background:var(--surface-soft);border-color:var(--line-strong)}.btn.tiny.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, var(--surface))}.btn:disabled{opacity:.4;cursor:not-allowed}.group-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.group-item{border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;border-radius:var(--radius-sm);width:100%;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);grid-template-columns:1fr auto;align-items:center;gap:.4rem;padding:.4rem;display:grid}.group-item.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-sm)}.pipe-list{gap:.35rem;margin:0 0 .65rem;padding:0;list-style:none;display:grid}.pipe-item{border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;width:100%;font:inherit;border-radius:var(--radius-sm);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .65rem;display:flex}.pipe-item:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.pipe-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.pipe-item .muted{color:var(--muted);font-size:.72rem}.pipe-import-row{flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem;display:flex}.pipe-fields{gap:.45rem;min-width:0;display:grid}.pipe-origin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;min-width:0;display:grid}.pipe-origin-grid>.field{min-width:0;margin-bottom:0}.tabs{border-bottom:1px solid var(--line);background:var(--surface-soft);gap:.2rem;padding:.4rem .55rem 0;display:flex}.tab{font:inherit;cursor:pointer;color:var(--muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;border:1px solid #0000;border-bottom:0;padding:.5rem .85rem;font-size:.82rem;font-weight:500}.tab:hover{color:var(--ink);background:color-mix(in srgb, var(--surface) 70%, transparent)}.tab.is-active{background:var(--surface);color:var(--ink);border-color:var(--line);border-bottom-color:var(--surface);box-shadow:0 -1px 0 var(--accent) inset;margin-bottom:-1px}.tab-panel{background:var(--panel);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.tab-panel>.guide2d,.tab-panel>.flat-view,.tab-panel>.calc-panel{flex:1;min-height:0;overflow:auto}.tab-panel>.guide2d{flex-direction:column;display:flex;overflow:hidden}.viewport3d{background:var(--viewport-3d-bg);height:100%;min-height:0;position:relative}.viewport3d canvas{border-radius:0;width:100%!important;height:100%!important}.viewport-hint{color:var(--muted);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:.35rem .55rem;font-size:.72rem;position:absolute;bottom:.85rem;left:.85rem}.viewport-autogen-legend{z-index:4;color:var(--ink);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);pointer-events:none;gap:.2rem;padding:.45rem .6rem;font-size:.72rem;display:grid;position:absolute;top:.85rem;left:.85rem}.viewport-autogen-legend span{color:var(--muted);align-items:center;gap:.4rem;display:flex}.viewport-autogen-legend i{border-radius:2px;flex:none;width:.7rem;height:.7rem}.viewport-autogen-legend .viewport-autogen-legend-solid{background:#2f6fbf}.viewport-autogen-legend .viewport-autogen-legend-ghost{border:1px dashed var(--muted);background:repeating-linear-gradient(45deg, transparent 0 2px, color-mix(in srgb, var(--muted) 45%, transparent) 2px 3px)}.viewport-autogen-ghost-label{white-space:nowrap;color:var(--muted);background:color-mix(in srgb, var(--surface) 80%, transparent);border:1px dashed var(--line);border-radius:var(--radius-sm);padding:.05rem .35rem;font-size:.65rem}.viewport-pose-modes{z-index:4;gap:.35rem;display:flex;position:absolute;bottom:2.6rem;left:.85rem}.viewport-pose-delta{border-radius:var(--radius-sm);border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:.28rem .55rem;font-size:.78rem;font-weight:600;transform:translateY(-1.6rem)}.viewport-pose-modes .btn.tiny.is-active{border-color:color-mix(in srgb, var(--accent,#2f6fbf) 55%, var(--line));background:color-mix(in srgb, var(--accent,#2f6fbf) 18%, var(--surface))}.viewport3d .viewcube2d{z-index:4}.view-home-btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 94%, transparent);width:2.1rem;height:2.1rem;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease);place-items:center;padding:0;display:grid}.view-home-btn:hover{border-color:var(--accent);color:var(--accent)}.view-home-btn:active{transform:scale(.96)}.view-home-btn svg{width:16px;height:16px}.viewcube2d .view-home-btn-inline{pointer-events:auto;position:absolute;bottom:.05rem;left:auto;right:.1rem}.flat-view,.guide2d,.calc-panel{min-height:100%}.cad-split{grid-template-rows:minmax(120px, 1fr) 10px var(--guide-height,260px);flex:1;height:100%;min-height:0;display:grid;overflow:hidden}.cad-split-guide-collapsed{grid-template-rows:minmax(120px,1fr) auto}.cad-split .viewport3d{border-bottom:none;height:auto;overflow:hidden;min-height:0!important}.guide-resizer{z-index:5;cursor:row-resize;touch-action:none;background:linear-gradient(180deg, transparent, var(--accent-soft), transparent);border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:10px;transition:background var(--dur) var(--ease);position:relative}.guide-resizer:after{content:"";position:absolute;inset:-8px 0}.guide-resizer:hover,.guide-resizer:active{background:color-mix(in srgb, var(--accent) 35%, transparent)}.guide-rail{border-top:1px solid var(--line);background:color-mix(in srgb, var(--panel) 70%, var(--surface));justify-content:center;align-items:center;gap:.5rem;padding:.4rem .65rem;display:flex}.cad-split .guide2d-compact{background:var(--panel);flex-direction:column;height:100%;display:flex;overflow:hidden;min-height:0!important}.cad-split .guide2d-compact .flat-head{flex:none;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.5rem .85rem 0;display:flex}.cad-split .guide2d-compact .flat-head-text{min-width:0}.guide-body{flex:auto;grid-template-columns:minmax(0,1fr) minmax(12.5rem,15.5rem);min-width:0;min-height:0;display:grid}.guide2d-compact .guide-body{grid-template-columns:unset;flex-direction:column;display:flex}.guide-stage{flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden}.guide-stage .guide-svg{width:100%;height:100%;min-height:0;display:block;position:absolute;inset:0}.guide-info{border-left:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, var(--surface));flex-direction:column;gap:.75rem;min-height:0;padding:.75rem .85rem 1rem;display:flex;overflow:hidden}.guide-info-props{flex:none;min-height:0;max-height:55%;overflow:auto}.guide-info-title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin:0 0 .65rem;font-size:.78rem;font-weight:700}.guide-info-empty{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.guide-info-list{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:0;margin:0;display:grid;overflow:hidden}.guide-info-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(4.5rem,42%) 1fr;align-items:baseline;gap:.35rem .55rem;padding:.45rem .55rem;display:grid}.guide-info-row:last-child{border-bottom:0}.guide-info-row dt{color:var(--muted);margin:0;font-size:.72rem;line-height:1.35}.guide-info-row dd{text-align:right;word-break:break-word;margin:0;font-size:.78rem;font-weight:560;line-height:1.35}.guide-info-flat{flex-direction:column;flex:auto;min-width:0;min-height:8rem;display:flex}.guide-info-flat-svg{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);flex:auto;width:100%;min-height:7rem;display:block}.guide-info-flat-caption{color:var(--muted);margin:.4rem 0 0;font-size:.72rem}@media (width<=900px){.guide2d:not(.guide2d-compact) .guide-body{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.guide2d:not(.guide2d-compact) .guide-info{border-left:0;border-top:1px solid var(--line);max-height:40%}}.flat-head-actions{flex-wrap:wrap;flex:0 auto;align-items:center;gap:.65rem 1rem;display:flex}.viewcube2d{--cube-size:3.35rem;z-index:3;pointer-events:none;perspective:520px;filter:drop-shadow(0 1px 2px #0f172a2e);place-items:center;width:6.2rem;height:6.2rem;display:grid;position:absolute;bottom:.65rem;right:.65rem}html[data-theme=dark] .viewcube2d{filter:drop-shadow(0 2px 6px #0000008c)drop-shadow(0 0 1px #94a3b859)}.viewcube2d-scene{--cube-h:calc(var(--cube-size) / 2);width:var(--cube-size);height:var(--cube-size);transform-style:preserve-3d;transform:rotateX(-28deg) rotateY(var(--cube-yaw,-45deg));transition:transform var(--dur-slow) var(--ease);pointer-events:none;position:relative}.viewcube2d-face{border:1px solid var(--cube-face-border);background:var(--cube-face-bg);color:var(--cube-face-ink);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;pointer-events:auto;backface-visibility:hidden;box-shadow:inset 0 0 0 1px var(--cube-face-inset);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:2px;place-items:center;margin:0;padding:.15rem;font:700 .52rem/1 system-ui,Segoe UI,sans-serif;display:grid;position:absolute;inset:14%}.viewcube2d-face span{pointer-events:none;-webkit-user-select:none;user-select:none}.viewcube2d-face:hover,.viewcube2d-face.is-active{background:var(--cube-face-hover-bg);color:var(--cube-face-hover-ink)}.viewcube2d-face.is-front{transform:translateZ(calc(var(--cube-size) / 2))}.viewcube2d-face.is-back{transform:rotateY(180deg) translateZ(calc(var(--cube-size) / 2))}.viewcube2d-face.is-right{transform:rotateY(90deg) translateZ(calc(var(--cube-size) / 2))}.viewcube2d-face.is-left{transform:rotateY(-90deg) translateZ(calc(var(--cube-size) / 2))}.viewcube2d-face.is-top{transform:rotateX(90deg) translateZ(calc(var(--cube-size) / 2))}.viewcube2d-face.is-bottom{transform:rotateX(-90deg) translateZ(calc(var(--cube-size) / 2))}.viewcube2d-hit{border:1px solid var(--cube-face-border);cursor:pointer;pointer-events:auto;background:color-mix(in srgb, var(--cube-face-solid) 78%, transparent);box-shadow:inset 0 0 0 1px var(--cube-face-inset);transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);margin:0;padding:0;position:absolute;top:50%;left:50%}.viewcube2d-hit:hover,.viewcube2d-hit:focus-visible{background:var(--cube-face-solid);border-color:var(--cube-face-hover-ink);box-shadow:inset 0 0 0 1px var(--cube-face-inset);outline:none}.viewcube2d-edge{border-radius:1px;width:58%;height:.4rem;margin-top:-.2rem;margin-left:-29%}.viewcube2d-corner{border-radius:2px;width:.52rem;height:.52rem;margin-top:-.26rem;margin-left:-.26rem}.viewcube2d-edge.is-top-front{transform:translate3d(0, calc(var(--cube-h) * -1.04), calc(var(--cube-h) * 1.04)) rotateX(45deg)}.viewcube2d-edge.is-top-back{transform:translate3d(0, calc(var(--cube-h) * -1.04), calc(var(--cube-h) * -1.04)) rotateX(-45deg)}.viewcube2d-edge.is-top-right{transform:translate3d(calc(var(--cube-h) * 1.04), calc(var(--cube-h) * -1.04), 0) rotateZ(-45deg) rotateY(90deg)}.viewcube2d-edge.is-top-left{transform:translate3d(calc(var(--cube-h) * -1.04), calc(var(--cube-h) * -1.04), 0) rotateZ(45deg) rotateY(-90deg)}.viewcube2d-edge.is-bottom-front{transform:translate3d(0, calc(var(--cube-h) * 1.04), calc(var(--cube-h) * 1.04)) rotateX(-45deg)}.viewcube2d-edge.is-bottom-back{transform:translate3d(0, calc(var(--cube-h) * 1.04), calc(var(--cube-h) * -1.04)) rotateX(45deg)}.viewcube2d-edge.is-bottom-right{transform:translate3d(calc(var(--cube-h) * 1.04), calc(var(--cube-h) * 1.04), 0) rotateZ(45deg) rotateY(90deg)}.viewcube2d-edge.is-bottom-left{transform:translate3d(calc(var(--cube-h) * -1.04), calc(var(--cube-h) * 1.04), 0) rotateZ(-45deg) rotateY(-90deg)}.viewcube2d-edge.is-front-right{transform:translate3d(calc(var(--cube-h) * 1.04), 0, calc(var(--cube-h) * 1.04)) rotateY(-45deg) rotateZ(90deg)}.viewcube2d-edge.is-front-left{transform:translate3d(calc(var(--cube-h) * -1.04), 0, calc(var(--cube-h) * 1.04)) rotateY(45deg) rotateZ(90deg)}.viewcube2d-edge.is-back-right{transform:translate3d(calc(var(--cube-h) * 1.04), 0, calc(var(--cube-h) * -1.04)) rotateY(45deg) rotateZ(90deg)}.viewcube2d-edge.is-back-left{transform:translate3d(calc(var(--cube-h) * -1.04), 0, calc(var(--cube-h) * -1.04)) rotateY(-45deg) rotateZ(90deg)}.viewcube2d-corner.is-top-front-right{transform:translate3d(calc(var(--cube-h) * 1.06), calc(var(--cube-h) * -1.06), calc(var(--cube-h) * 1.06))}.viewcube2d-corner.is-top-front-left{transform:translate3d(calc(var(--cube-h) * -1.06), calc(var(--cube-h) * -1.06), calc(var(--cube-h) * 1.06))}.viewcube2d-corner.is-top-back-right{transform:translate3d(calc(var(--cube-h) * 1.06), calc(var(--cube-h) * -1.06), calc(var(--cube-h) * -1.06))}.viewcube2d-corner.is-top-back-left{transform:translate3d(calc(var(--cube-h) * -1.06), calc(var(--cube-h) * -1.06), calc(var(--cube-h) * -1.06))}.viewcube2d-corner.is-bottom-front-right{transform:translate3d(calc(var(--cube-h) * 1.06), calc(var(--cube-h) * 1.06), calc(var(--cube-h) * 1.06))}.viewcube2d-corner.is-bottom-front-left{transform:translate3d(calc(var(--cube-h) * -1.06), calc(var(--cube-h) * 1.06), calc(var(--cube-h) * 1.06))}.viewcube2d-corner.is-bottom-back-right{transform:translate3d(calc(var(--cube-h) * 1.06), calc(var(--cube-h) * 1.06), calc(var(--cube-h) * -1.06))}.viewcube2d-corner.is-bottom-back-left{transform:translate3d(calc(var(--cube-h) * -1.06), calc(var(--cube-h) * 1.06), calc(var(--cube-h) * -1.06))}.viewcube2d-nudge{z-index:2;pointer-events:auto;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);padding:.25rem .4rem;font:700 .58rem/1 system-ui,Segoe UI,sans-serif;position:absolute;bottom:.05rem;left:.1rem}.viewcube2d-nudge:hover{border-color:var(--accent);color:var(--accent)}.pipe-segment.is-selected{fill:#f0a20238;stroke:#c47d00;stroke-width:1.6px}.pipe-segment.is-locked{fill:#c0392b47;stroke:#c0392b;stroke-width:1.6px}.pipe-segment.is-locked.is-selected{fill:#e74c3c59;stroke:#e74c3c}.data-table tr.is-locked td{background:#c0392b1a}.data-table tr.is-locked.is-selected td{background:#e74c3c29}.guide-centerline{fill:none;stroke:color-mix(in srgb, var(--accent) 45%, transparent);stroke-width:.9px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.guide-joint{fill:var(--ink);pointer-events:none}.flat-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;padding:.95rem 1.1rem 1.35rem;display:grid}.flat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);padding:0}.flat-card:hover,.flat-card:focus-within{box-shadow:var(--shadow-md);border-color:var(--line-strong)}.flat-card-btn{width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:inherit;font:inherit;background:0 0;border:none;margin:0;padding:.75rem;display:block}.flat-card-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.flat-card h3{margin:0 0 .5rem;font-size:.82rem;font-weight:600}.segment-preview-canvas{border-radius:var(--radius-sm,6px);background:var(--viewport-3d-bg);width:100%;height:160px;margin-bottom:.45rem;overflow:hidden}.segment-preview-canvas canvas,.segment-preview-thumb{object-fit:cover;display:block;width:100%!important;height:100%!important}.segment-detail-modal{flex-direction:column;width:min(960px,96vw);max-height:min(90vh,820px);display:flex}.segment-detail-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(180px,220px);gap:1rem;min-height:0;padding:0 1rem 1rem;display:grid}.segment-detail-canvas{border-radius:var(--radius-md);background:var(--viewport-3d-bg);width:100%;height:min(52vh,420px);overflow:hidden}.segment-detail-canvas canvas{display:block;width:100%!important;height:100%!important}@media (width<=720px){.segment-detail-body{grid-template-columns:1fr}}.flat-detail-modal{flex-direction:column;width:min(960px,96vw);max-height:min(90vh,820px);display:flex}.flat-detail-body{flex:1;grid-template-columns:minmax(0,1.6fr) minmax(200px,.9fr);gap:1rem;min-height:0;padding:0 1.1rem .5rem;display:grid;overflow:auto}.flat-detail-svg{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;height:min(52vh,480px);min-height:320px}.flat-grid-minor{stroke:color-mix(in srgb, var(--ink) 8%, transparent);stroke-width:.4px;vector-effect:non-scaling-stroke}.flat-grid-major{stroke:color-mix(in srgb, var(--ink) 18%, transparent);stroke-width:.7px;vector-effect:non-scaling-stroke}.flat-dim-line{stroke:color-mix(in srgb, var(--ink) 55%, transparent);stroke-width:.9px;vector-effect:non-scaling-stroke}.flat-dim-label{fill:var(--ink);font-family:var(--font-mono,ui-monospace, monospace)}.flat-detail-info{align-content:start;gap:.55rem;margin:0;display:grid}.flat-detail-info>div{grid-template-columns:7.5rem 1fr;gap:.35rem;font-size:.85rem;display:grid}.flat-detail-info dt{color:var(--muted);margin:0;font-weight:500}.flat-detail-info dd{margin:0}@media (width<=720px){.flat-detail-body{grid-template-columns:1fr}.flat-detail-svg{height:42vh;min-height:240px}}.flat-svg{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;height:180px}.guide-svg{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm)}.flat-contour,.pipe-segment{fill:color-mix(in srgb, var(--accent) 8%, transparent);stroke:var(--accent);stroke-width:1.1px;vector-effect:non-scaling-stroke}.flat-div{stroke:color-mix(in srgb, var(--ink) 25%, transparent);stroke-width:.6px;vector-effect:non-scaling-stroke}.canvas-bg{fill:var(--surface-soft)}.design-label{fill:var(--accent);font-family:var(--font-mono);font-size:11px}.compare-line{fill:none;stroke:#c0392b;stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.compare-line-pipe{stroke:#2980b9;stroke-dasharray:3 3}.pipe-scope{align-items:center;gap:.4rem;display:inline-flex}.pipe-scope .btn.is-active{background:var(--accent);color:var(--accent-contrast,#fff);border-color:var(--accent)}.pipe-compare-select{color:var(--muted);border-left:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.45rem;padding-left:1rem;font-size:.75rem;font-weight:500;display:inline-flex}.pipe-compare-vs{color:var(--ink);opacity:.7;font-weight:650}.pipe-compare-select select{appearance:none;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-xs);cursor:pointer;min-width:6.5rem;max-width:12rem;box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background-color var(--dur) var(--ease);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;padding:.22rem 1.75rem .22rem .55rem;font-size:.8rem;font-weight:550}.pipe-compare-select select:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line-strong));background-color:var(--surface-soft)}.pipe-compare-select select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.pipe-compare-table-wrap{margin:0 1.1rem .75rem}.pipe-compare-title{margin:0 0 .5rem;font-size:.95rem;font-weight:600}.pipe-compare-table{width:100%}.pipe-length-hint{color:var(--muted);margin:-.15rem 0 .55rem;font-size:.78rem}.data-table th.num,.data-table td.num{text-align:right}.data-table tr.is-longer td{background:var(--warn-bg)}.data-table tfoot td{border-top:1px solid var(--line);border-bottom:0;font-weight:600}.calc-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;padding:.85rem 1.1rem;display:grid}.calc-summary div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:.3rem;padding:.75rem .85rem;display:grid}.calc-summary span{color:var(--muted);font-size:.75rem}.calc-summary strong{font-variant-numeric:tabular-nums}.calc-panel .table-wrap{margin:0 1.1rem 1.1rem}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;animation:fadeIn var(--dur) var(--ease);background:#12161c66;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(820px,100%);max-height:90svh;box-shadow:var(--shadow-lg);animation:modalIn var(--dur-slow) var(--ease);overflow:auto}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.95rem 1.15rem;display:flex}.modal-grid{grid-template-columns:1fr 1fr;gap:1rem;padding:1.1rem;display:grid}.modal-export{width:min(560px,100%);position:relative}.modal-hydro{width:min(720px,100%)}.hydro-preview-grid{grid-template-columns:1fr 1fr;gap:.85rem;margin-top:.75rem;display:grid}.hydro-preview-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);min-width:0;padding:.55rem .65rem .75rem}.hydro-preview-card h3{margin:0 0 .4rem;font-size:.85rem}.hydro-preview-svg{background:var(--surface);border-radius:4px;width:100%;height:160px;display:block}.hydro-weld-seam{stroke:#c0392b;stroke-width:1.2px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.hydro-error{color:#b91c1c;margin:.75rem 0 0;font-size:.9rem}.export-busy-banner{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:.55rem .85rem;margin:0 1.1rem;padding:.75rem .85rem;display:grid}.export-busy-banner .reference-busy-spinner{grid-row:1;width:1.55rem;height:1.55rem;margin:0}.export-busy-banner>div:nth-child(2){grid-area:1/2}.export-busy-banner strong{font-size:.92rem;display:block}.export-busy-banner p{color:var(--muted);margin:.2rem 0 0;font-size:.82rem;line-height:1.4}.export-busy-banner .reference-busy-bar{grid-area:2/1/auto/-1}.modal-nest{flex-direction:column;width:min(1100px,100%);max-height:min(92vh,900px);display:flex}.modal-head-actions{gap:.4rem;display:flex}.modal-nest-body{flex:1;grid-template-columns:minmax(200px,240px) 1fr minmax(180px,220px);gap:.85rem;min-height:0;padding:.85rem 1.1rem;display:grid;overflow:hidden}.nest-stock,.nest-side{flex-direction:column;gap:.45rem;min-height:0;display:flex;overflow:auto}.nest-stock h3,.nest-side h3{margin:.35rem 0 0;font-size:.9rem}.nest-stock-list{flex-direction:column;gap:.35rem;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.nest-stock-item{text-align:left;border:1px solid var(--line);background:var(--surface);width:100%;color:inherit;cursor:pointer;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.45rem .55rem;display:flex}.nest-stock-item.active{border-color:var(--accent,#3b82f6);background:var(--surface-soft)}.nest-stock-actions,.nest-side-actions{flex-wrap:wrap;gap:.4rem;display:flex}.nest-canvas-wrap{flex-direction:column;gap:.45rem;min-width:0;min-height:280px;display:flex}.nest-zoom-bar{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.nest-zoom-pct{min-width:3.2rem;font-size:.85rem}.nest-zoom-hint{margin:0;font-size:.8rem}.nest-canvas{background:var(--surface-soft);border:1px solid var(--line);touch-action:none;cursor:grab;border-radius:8px;width:100%;height:min(52vh,520px)}.nest-canvas:active{cursor:grabbing}.nest-sheet{fill:color-mix(in srgb, var(--surface) 80%, #888 20%);stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.nest-part path{fill:color-mix(in srgb, var(--accent,#3b82f6) 28%, transparent);stroke:var(--accent,#3b82f6);stroke-width:1.25px;vector-effect:non-scaling-stroke;cursor:grab}.nest-part.selected path{fill:color-mix(in srgb, var(--accent,#3b82f6) 45%, transparent);stroke-width:2px}.nest-warn{background:color-mix(in srgb, #c2410c 18%, var(--surface));border:1px solid color-mix(in srgb, #c2410c 45%, var(--line));color:inherit;border-radius:6px;margin:0;padding:.45rem .6rem;font-size:.88rem}.nest-warn.soft{background:color-mix(in srgb, #ca8a04 14%, var(--surface));border-color:color-mix(in srgb, #ca8a04 40%, var(--line))}.nest-unplaced{max-height:120px;margin:0;padding-left:1.1rem;font-size:.85rem;overflow:auto}@media (width<=860px){.modal-nest-body{grid-template-columns:1fr;overflow:auto}.nest-canvas{height:280px}}.modal-export-body{flex-direction:column;gap:.65rem;padding:1.1rem;display:flex}.modal-export-body h3{margin:.5rem 0 0;font-size:.95rem}.modal-export-grid{grid-template-columns:1fr 1fr;gap:.65rem 1rem;display:grid}.modal-foot{border-top:1px solid var(--line);background:var(--surface-soft);justify-content:flex-end;gap:.5rem;padding:.85rem 1.15rem;display:flex}.modal-wizard{width:min(520px,100%)}.wizard-step-meta{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}.wizard-body{flex-direction:column;gap:.85rem;padding:1.1rem 1.15rem .4rem;display:flex}.wizard-choices{gap:.65rem;display:grid}.wizard-choice{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);color:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.85rem 1rem;display:flex}.wizard-choice strong{font-size:1rem}.wizard-choice span{color:var(--muted);font-size:.85rem}.wizard-choice.is-selected,.wizard-cylinder.is-selected,.wizard-preset.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.wizard-cylinder-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.wizard-cylinder,.wizard-preset{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);color:inherit;cursor:pointer;font-variant-numeric:tabular-nums;padding:.65rem .5rem}.wizard-preset-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}.wizard-four-stroke-ports{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.wizard-four-stroke-ports .check-row,.pipe-fields .check-row,.accordion-body .check-row{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.wizard-foot{justify-content:space-between;align-items:center}.wizard-foot-nav{gap:.5rem;display:flex}.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px color-mix(in srgb, var(--accent) 35%, transparent);border-color:#0000}.btn.primary:hover:not(:disabled){background:var(--accent-hover);filter:none}.btn.primary:disabled{opacity:.6}.muted{color:var(--muted)}.mono{font-family:var(--font-mono);font-size:.78rem}@media (width<=980px){.editor-body{grid-template-rows:minmax(8rem,38%) minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100%}.editor-body:not(.editor-body-collapsed)>.sidebar-resizer{display:none}.editor-side{border-right:0;border-bottom:1px solid var(--line);max-height:none}.editor-body-collapsed{grid-template-rows:auto minmax(0,1fr)}.modal-grid,.calc-summary,.admin-form-grid{grid-template-columns:1fr}}.api-banner{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin:.65rem 1rem 0;padding:.55rem .8rem;font-size:.85rem}.brand-badge-admin{color:var(--warn-ink);background:var(--warn-bg);border-color:var(--warn-line)}.admin-console{background:var(--surface);flex-direction:column;height:100%;min-height:0;display:flex;overflow:auto}.admin-console-head{border-bottom:1px solid var(--line);background:var(--surface-soft);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.85rem 1.25rem;padding:1.1rem 1.35rem .85rem;display:flex}.admin-console-head h1{letter-spacing:-.02em;margin:0;font-size:1.25rem}.admin-console-head .muted{margin:.25rem 0 0}.admin-nav{flex-wrap:wrap;gap:.25rem;display:flex}.admin-nav-item{text-align:left;cursor:pointer;font:inherit;border-radius:var(--radius-sm);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;padding:.6rem .75rem;font-weight:500}.admin-nav-item:hover{background:var(--accent-soft)}.admin-nav-item.is-active{background:var(--accent-soft);color:var(--accent-hover)}.admin-main{background:var(--surface);padding:1.15rem 1.35rem;overflow:auto}.admin-panel h2{margin-top:0}.admin-form-grid{grid-template-columns:1fr 1fr;gap:.65rem 1rem;margin-bottom:.75rem;display:grid}.admin-error{color:var(--danger);margin:.35rem 0}.admin-console .btn.linkish{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:.15rem .35rem;text-decoration:underline}.admin-console .btn.linkish:hover{color:var(--ink)}.admin-user-projects-row td{background:var(--surface-soft);padding:.65rem .75rem}.admin-user-projects{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.admin-user-projects li{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.admin-user-projects li .mono{min-width:7rem}.inspect-banner{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-bottom:1px solid var(--line);color:var(--ink);margin:0;padding:.5rem .85rem;font-size:.9rem}.admin-console select{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);font:inherit;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.35rem .5rem}.admin-console select:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--line-strong))}.admin-console select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.admin-console select:disabled{opacity:1;cursor:not-allowed;color:var(--ink);-webkit-text-fill-color:var(--ink);background:var(--surface-soft);border-color:var(--line)}.maintenance-screen{background:var(--bg);place-items:center;min-height:100svh;padding:1rem;display:grid}.maintenance-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(480px,100%);box-shadow:var(--shadow-lg);padding:1.75rem}.maintenance-card h1{letter-spacing:-.02em;margin-top:0}.maintenance-actions{gap:.5rem;margin-top:1rem;display:flex}.btn.danger{color:var(--danger)}.field textarea{width:100%;font:inherit;border:1px solid var(--line-strong);border-radius:var(--radius-sm);resize:vertical;background:var(--surface);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.45rem .55rem}.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.brand-badge-pro{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.brand-badge-free{color:var(--muted);background:var(--panel);border-color:var(--line)}.upgrade-banner-strip{padding:.55rem 1rem 0}.upgrade-prompt{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.75rem 1rem;display:flex}.upgrade-prompt-copy{flex:16rem;min-width:0}.upgrade-prompt-copy p{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}.upgrade-interval{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.upgrade-prompt-actions{flex-wrap:wrap;gap:.45rem;display:flex}.upgrade-prompt-overlay{background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:var(--shadow-md);border:0;max-width:22rem}.upgrade-modal{width:min(420px,100%);padding:0;overflow:hidden}.upgrade-modal .upgrade-prompt{border-radius:var(--radius-lg);border:0}.help-modal{max-height:min(88vh,920px)}.help-modal-body{flex-direction:column;gap:1rem;padding:1.15rem 1.35rem 1.4rem;display:flex}.help-modal-lede{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.license-modal,.about-modal{width:min(480px,100%)}.bug-report-modal{width:min(560px,100%)}.bug-report-form{gap:.9rem}.bug-report-form .modal-foot,.bug-report-foot{border-radius:0 0 var(--radius-lg) var(--radius-lg);margin:.35rem -1.35rem -1.4rem;padding:.9rem 1.35rem}.bug-report-meta{margin:0}.bug-report-error{color:var(--danger,#b91c1c);margin:0;font-size:.9rem}.license-plan-card{border-radius:var(--radius-md,10px);border:1px solid var(--line);background:var(--surface-soft,color-mix(in srgb, var(--surface) 88%, var(--bg)));flex-direction:column;gap:.35rem;padding:1rem 1.1rem;display:flex}.license-plan-card.is-pro{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent-soft) 70%, var(--surface))}.license-plan-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:650}.license-plan-value{flex-wrap:wrap;align-items:baseline;gap:.45rem .65rem;display:flex}.license-plan-value strong{letter-spacing:.01em;font-size:1.35rem;font-weight:700}.license-plan-note{color:var(--muted);border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);padding:.12rem .5rem;font-size:.85rem}.help-meta-list{border:1px solid var(--line);border-radius:var(--radius-md,10px);background:var(--surface);gap:0;margin:0;display:grid;overflow:hidden}.help-meta-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(7.5rem,34%) 1fr;align-items:start;gap:.85rem 1.1rem;padding:.85rem 1.05rem;display:grid}.help-meta-row:last-child{border-bottom:0}.help-meta-row dt{color:var(--muted);margin:0;padding-top:.1rem;font-size:.84rem;line-height:1.4}.help-meta-row dd{word-break:break-word;margin:0;font-size:.98rem;font-weight:560;line-height:1.45}.about-hero{justify-items:start;gap:.65rem;display:grid}.about-logo .brand-logo{width:auto;max-width:100%;height:44px}.about-product{margin:0;font-size:1.08rem;font-weight:650;line-height:1.35}.faq-modal,.quick-guide-modal{width:min(820px,100%)}.faq-search{margin:0;display:block}.faq-search input{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-sm,6px);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:.7rem .85rem}.faq-search input:focus{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:1px}.faq-empty{color:var(--muted);margin:0;font-size:.95rem}.faq-accordion{gap:.55rem;display:grid}.faq-item{border:1px solid var(--line);border-radius:var(--radius-md,10px);background:var(--surface-soft,color-mix(in srgb, var(--surface) 92%, var(--bg)))}.faq-item-trigger{cursor:pointer;width:100%;color:var(--ink);text-align:left;font:inherit;border-radius:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.85rem 1rem;display:flex}.faq-item-trigger:hover{background:var(--accent-soft)}.faq-item-title{font-size:.95rem;font-weight:600;line-height:1.4}.faq-item-body{padding:0 1rem 1rem}.faq-item-body p{color:color-mix(in srgb, var(--ink) 88%, var(--muted));margin:0;font-size:.92rem;line-height:1.55}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quick-guide-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1.15rem 1.35rem;display:grid}.quick-guide-col{flex-direction:column;gap:.85rem;min-width:0;display:flex}.quick-guide-col h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.quick-guide-card{border:1px solid var(--line);border-radius:var(--radius-md,10px);background:var(--surface-soft,color-mix(in srgb, var(--surface) 92%, var(--bg)));flex-direction:column;gap:.65rem;padding:.9rem 1rem;display:flex}.quick-guide-card h4{margin:0;font-size:.9rem;font-weight:650;line-height:1.35}.quick-guide-dl{gap:.55rem;margin:0;display:grid}.quick-guide-row{grid-template-columns:minmax(7rem,38%) 1fr;align-items:start;gap:.65rem .85rem;display:grid}.quick-guide-func{border-bottom:1px solid var(--line);gap:.2rem;padding-bottom:.55rem;display:grid}.quick-guide-func:last-child{border-bottom:0;padding-bottom:0}.quick-guide-dl dt{margin:0}.quick-guide-dl dd{color:color-mix(in srgb, var(--ink) 90%, var(--muted));margin:0;font-size:.9rem;line-height:1.45}.quick-guide-dl-funcs dt{color:var(--ink);font-size:.92rem;font-weight:650}.quick-guide-dl kbd{border:1px solid var(--line-strong,var(--line));background:var(--surface);color:var(--ink);white-space:normal;word-break:break-word;border-bottom-width:2px;border-radius:6px;padding:.22rem .48rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;font-weight:650;line-height:1.3;display:inline-block}@media (width<=720px){.help-modal-body{padding:1rem 1.05rem 1.15rem}.quick-guide-grid{grid-template-columns:1fr}.help-meta-row,.quick-guide-row{grid-template-columns:1fr;gap:.25rem}}.blur-gate{min-height:12rem;position:relative}.blur-gate-content{filter:blur(7px);-webkit-user-select:none;user-select:none;pointer-events:none}.blur-gate-overlay{background:color-mix(in srgb, var(--bg) 35%, transparent);place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.autogen-scenario-dev-select{width:100%;min-height:8rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}.autogen-scenario-dev-actions{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.auth{box-sizing:border-box;min-height:100dvh;color:var(--ink);background:radial-gradient(ellipse 80% 50% at 50% -10%, var(--accent-soft), transparent), var(--bg);font-family:var(--font-body);flex-direction:column;display:flex}.auth *,.auth :before,.auth :after{box-sizing:border-box}.auth-top{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;height:64px;padding:0 clamp(1rem,3vw,2rem);display:flex}.auth-brand{align-items:center;min-width:0;max-width:min(260px,70%);text-decoration:none;display:flex}.auth-brand .brand-logo{object-fit:contain;width:auto;max-width:100%;height:36px}.auth-top-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.auth-top-link{color:var(--muted);font-size:.9rem;font-weight:500;text-decoration:none}.auth-top-link:hover{color:var(--ink)}.auth-main{flex:1;place-items:center;padding:2rem clamp(1rem,3vw,2rem);display:grid}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(420px,100%);box-shadow:var(--shadow-md);padding:1.75rem 1.5rem 1.5rem}.auth-panel h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.45rem;font-weight:600;line-height:1.2}.auth-lede{color:var(--muted);margin:.45rem 0 0;font-size:.925rem;line-height:1.45}.auth-social{margin-top:1.35rem}.auth-google{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);font:inherit;cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease);justify-content:center;align-items:center;gap:.65rem;padding:.65rem 1rem;font-size:.925rem;font-weight:600;display:inline-flex}.auth-google:hover:not(:disabled){background:var(--surface-soft);border-color:var(--ink)}.auth-google:active:not(:disabled){transform:scale(.98)}.auth-google:disabled{opacity:.65;cursor:not-allowed}.auth-google-icon{flex-shrink:0}.auth-divider{color:var(--muted);text-transform:lowercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin:1.1rem 0 0;font-size:.8rem;font-weight:500;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);height:1px}.auth-form{flex-direction:column;gap:.85rem;margin-top:1.1rem;display:flex}.auth-field{flex-direction:column;gap:.35rem;display:flex}.auth-field label{color:var(--ink);font-size:.8rem;font-weight:600}.auth-field input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.55rem .7rem}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.auth-error{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);margin:0;padding:.55rem .7rem;font-size:.875rem;line-height:1.4}.auth-success{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--success) 14%, var(--surface));color:var(--success);margin:0;padding:.55rem .7rem;font-size:.875rem;line-height:1.4}.auth-submit{border-radius:var(--radius-sm);background:var(--accent);width:100%;color:var(--on-accent);font:inherit;cursor:pointer;transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);border:none;justify-content:center;align-items:center;margin-top:.25rem;padding:.65rem 1rem;font-size:.925rem;font-weight:600;display:inline-flex}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin-top:1.15rem;font-size:.875rem;display:flex}.auth-links a{color:var(--accent);font-weight:500;text-decoration:none}.auth-links a:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){.auth-submit:active:not(:disabled),.auth-google:active:not(:disabled){transform:none}}.lp{--lp-max:72rem;--lp-gutter:clamp(1rem, 3vw, 2rem);--lp-inline:max(var(--lp-gutter), calc((100% - var(--lp-max)) / 2));--lp-ease-out:cubic-bezier(.23, 1, .32, 1);--lp-ease-move:cubic-bezier(.77, 0, .175, 1);--lp-ease:var(--lp-ease-out);box-sizing:border-box;width:100%;min-width:100%;max-width:none;min-height:100dvh;color:var(--ink);background:radial-gradient(1100px 520px at 92% -8%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%), radial-gradient(900px 480px at -5% 18%, color-mix(in srgb, var(--muted) 12%, transparent), transparent 50%), var(--bg);font-family:var(--font-body);flex-direction:column;display:flex;overflow-x:clip}.lp *,.lp :before,.lp :after{box-sizing:border-box}.lp-skip{z-index:100;background:var(--ink);color:var(--on-strong);border-radius:var(--radius-sm);padding:.5rem .85rem;font-size:.875rem;text-decoration:none;position:absolute;top:.75rem;left:-9999px}.lp-skip:focus{left:var(--lp-gutter)}.lp-nav{width:100%;height:64px;padding:0 var(--lp-inline);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(14px);z-index:20;transition:border-color .2s var(--lp-ease-out), box-shadow .2s var(--lp-ease-out), background .2s var(--lp-ease-out);border-bottom:1px solid #0000;flex-shrink:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:1.25rem;margin:0;display:grid;position:sticky;top:0}.lp-nav.is-scrolled{border-bottom-color:var(--line);box-shadow:var(--shadow-sm);background:color-mix(in srgb, var(--surface) 94%, transparent)}.lp-nav-brand{justify-self:start;align-items:center;min-width:0;max-width:100%;display:flex}.lp-nav-brand .brand-logo{object-fit:contain;object-position:left center;width:auto;max-width:min(220px,100%);height:36px}.lp-nav-links{justify-content:center;justify-self:center;align-items:center;gap:.15rem 1.2rem;min-width:0;display:flex}.lp-nav-links a{color:var(--muted);white-space:nowrap;transition:color .16s var(--lp-ease-out);font-size:.875rem;font-weight:500;text-decoration:none}@media (hover:hover) and (pointer:fine){.lp-nav-links a:hover{color:var(--ink)}}.lp-nav-actions{justify-self:end;align-items:center;gap:.5rem .75rem;min-width:0;display:flex}.lp-nav-actions .theme-toggle,.lp-nav-actions .lang-switch{flex-shrink:0}.lp-nav-actions .lp-btn{min-height:2.1rem;padding:.4rem .9rem}.lp-nav-actions .lang-switch-landing .lang-switch-btn{min-height:2.1rem;padding:0 .65rem}.lp-btn{border-radius:var(--radius-sm);font:inherit;cursor:pointer;white-space:nowrap;transition:background .16s var(--lp-ease-out), border-color .16s var(--lp-ease-out), color .16s var(--lp-ease-out), transform .14s var(--lp-ease-out), opacity .16s var(--lp-ease-out);border:1px solid #0000;justify-content:center;align-items:center;padding:.5rem .95rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.lp-btn:active{transform:scale(.97)}.lp-btn:disabled{opacity:.65;cursor:wait}.lp-btn-primary{background:var(--accent);color:var(--on-accent)}@media (hover:hover) and (pointer:fine){.lp-btn-primary:hover{background:var(--accent-hover)}}.lp-btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}@media (hover:hover) and (pointer:fine){.lp-btn-ghost:hover{border-color:var(--accent);background:var(--surface-soft)}}.lp-btn-lg{padding:.75rem 1.35rem;font-size:.95rem}.lp-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem;font-size:.75rem;font-weight:600;display:inline-block}.lp-hero{isolation:isolate;background:var(--hero-base);align-items:center;width:100%;min-height:min(52dvh,28rem);display:grid;position:relative;overflow:hidden}.lp-hero-bleed{z-index:0;background:var(--hero-grad);position:absolute;inset:0}.lp-hero-bleed:before{content:"";background-image:linear-gradient(color-mix(in srgb, var(--ink) 6%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--ink) 6%, transparent) 1px, transparent 1px);opacity:.28;pointer-events:none;background-size:28px 28px;position:absolute;inset:0}.lp-hero-img{object-fit:cover;object-position:68% center;width:100%;height:100%;mix-blend-mode:var(--hero-img-blend);opacity:.96;animation:lp-hero-in .65s var(--lp-ease-out) 60ms both;position:absolute;inset:0}.lp-hero-scrim{z-index:1;pointer-events:none;background:var(--hero-scrim);position:absolute;inset:0}.lp-hero-copy{z-index:2;width:calc(var(--lp-inline) + min(36rem, 48vw));min-width:0;max-width:100%;padding:clamp(2rem, 5vw, 3.5rem) 1.5rem clamp(2rem, 5vw, 3.5rem) var(--lp-inline);animation:lp-hero-in .6s var(--lp-ease-out) both;flex-direction:column;justify-content:center;gap:1rem;margin:0;display:flex;position:relative}.lp-brand-mark{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:clamp(.95rem,1.3vw,1.1rem);font-weight:650}.lp-hero h1{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(2rem,3.6vw,3rem);font-weight:700;line-height:1.08}.lp-hero h1 em{color:var(--accent-hover);font-style:italic;font-weight:700}.lp-lede{max-width:38ch;color:var(--muted);text-wrap:pretty;margin:0;font-size:clamp(1.02rem,1.5vw,1.15rem);line-height:1.55}.lp-hero-actions{flex-wrap:wrap;gap:.65rem;margin-top:.35rem;display:flex}.lp-hero-actions .lp-btn{width:auto}.lp-band{width:100%;padding:clamp(3rem, 6vw, 5rem) var(--lp-inline)}.lp-band-inner{width:100%;max-width:var(--lp-max);margin-inline:auto}.lp-band h2{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(1.5rem,2.4vw,2.05rem);font-weight:700;line-height:1.15}.lp-section-head{max-width:38rem;margin-bottom:clamp(1.35rem,2.8vw,1.85rem)}.lp-section-lede{color:var(--muted);max-width:42ch;margin:.55rem 0 0;font-size:1.02rem;line-height:1.55}.lp-reveal{opacity:0;transition:opacity .38s var(--lp-ease-out), transform .38s var(--lp-ease-out);transition-delay:var(--lp-delay,0s);transform:translateY(12px)}.lp-reveal.is-in{opacity:1;transform:none}.lp-advantage{isolation:isolate;background:radial-gradient(900px 420px at 12% 0%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%), color-mix(in srgb, var(--surface) 55%, var(--bg));border-block:1px solid #0000;border-image:linear-gradient(90deg, transparent, color-mix(in srgb, var(--line-strong) 85%, transparent) 18%, color-mix(in srgb, var(--line-strong) 85%, transparent) 82%, transparent) 1;position:relative}.lp-advantage-head{max-width:28rem;margin-bottom:clamp(1.75rem,3.5vw,2.5rem)}.lp-advantage-head h2{letter-spacing:-.03em;font-optical-sizing:auto;font-size:clamp(1.85rem,3.4vw,2.65rem);line-height:1.05}.lp-advantage-head .lp-section-lede{letter-spacing:-.005em;max-width:38ch;margin-top:.75rem;font-size:1.08rem;line-height:1.45}.lp-advantage-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.lp-advantage-tile{border-radius:calc(var(--radius-md) + 4px);border:1px solid color-mix(in srgb, var(--line-strong) 70%, transparent);background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(18px)saturate(160%);min-width:0;box-shadow:inset 0 1px 0 #ffffff1f, 0 1px 0 color-mix(in srgb, var(--ink) 3%, transparent);transition:transform .14s var(--lp-ease-out), background .2s var(--lp-ease-out), border-color .2s var(--lp-ease-out), box-shadow .2s var(--lp-ease-out);flex-direction:column;grid-column:span 2;gap:1.1rem;padding:1.35rem 1.3rem 1.4rem;display:flex;position:relative}.lp-advantage-tile.is-featured{background:color-mix(in srgb, var(--surface) 82%, color-mix(in srgb, var(--accent) 10%, transparent));grid-column:span 3;justify-content:space-between;min-height:11.5rem;padding:1.55rem 1.55rem 1.6rem}.lp-advantage-tile:nth-child(2){grid-column:span 3}.lp-advantage-tile:nth-child(3),.lp-advantage-tile:nth-child(4),.lp-advantage-tile:nth-child(5){grid-column:span 2}.lp-advantage-index{font-family:var(--font-display);letter-spacing:.06em;color:color-mix(in srgb, var(--muted) 88%, var(--accent));font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:650}.lp-advantage-copy{flex-direction:column;gap:.4rem;margin-top:auto;display:flex}.lp-advantage-tile h3{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:1.2rem;font-weight:700;line-height:1.15}.lp-advantage-tile.is-featured h3{letter-spacing:-.03em;font-size:clamp(1.35rem,2vw,1.65rem)}.lp-advantage-tile p{color:var(--muted);letter-spacing:0;max-width:34ch;margin:0;font-size:.95rem;line-height:1.45}.lp-advantage-tile.is-featured p{max-width:40ch;font-size:1.02rem}.lp-advantage-tile:active{transform:scale(.985)}@media (hover:hover) and (pointer:fine){.lp-advantage-tile:hover{border-color:color-mix(in srgb, var(--accent) 28%, var(--line-strong));background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:inset 0 1px 0 #ffffff29, var(--shadow-sm)}}@media (prefers-reduced-transparency:reduce){.lp-advantage-tile,.lp-advantage-tile.is-featured{-webkit-backdrop-filter:none;background:var(--surface)}}@media (width<=1100px) and (width>=961px){.lp-advantage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-advantage-tile,.lp-advantage-tile.is-featured,.lp-advantage-tile:nth-child(2),.lp-advantage-tile:nth-child(3),.lp-advantage-tile:nth-child(4),.lp-advantage-tile:nth-child(5){grid-column:auto;min-height:0}.lp-advantage-tile:nth-child(5){grid-column:1/-1}}.lp-engines-band{background:var(--surface);border-block:1px solid var(--line)}.lp-engines{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}.lp-engine{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg);min-width:0;transition:border-color .2s var(--lp-ease-out), transform .2s var(--lp-ease-out), box-shadow .2s var(--lp-ease-out);flex-direction:column;gap:.35rem;padding:1.45rem 1.35rem 1.5rem;display:flex}.lp-engine:first-child{background:color-mix(in srgb, var(--accent-soft) 45%, var(--surface))}@media (hover:hover) and (pointer:fine){.lp-engine:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line-strong));box-shadow:var(--shadow-sm);transform:translateY(-2px)}}.lp-engine h3{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:700}.lp-engine-lede{color:var(--muted);max-width:42ch;margin:0 0 .35rem;font-size:.95rem;line-height:1.5}.lp-engine .lp-feature-list{margin-top:.65rem}.lp-zig{background:0 0}.lp-zig-alt{background:var(--surface);border-block:1px solid var(--line)}.lp-zig-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(1.5rem,3.5vw,2.75rem);display:grid}.lp-zig-flip{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.lp-zig-flip .lp-zig-copy{order:2}.lp-zig-flip .lp-shot{order:1}.lp-zig-copy{min-width:0;max-width:36rem}.lp-zig-copy h2{margin-bottom:0}.lp-feature-list{flex-direction:column;gap:.55rem;margin:1.15rem 0 0;padding:0;list-style:none;display:flex}.lp-feature-list li{color:var(--ink);padding-left:1.1rem;font-size:.95rem;line-height:1.45;position:relative}.lp-feature-list li:before{content:"";background:var(--accent);border-radius:1px;width:.4rem;height:.4rem;position:absolute;top:.5em;left:0}.lp-shot{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);width:100%;min-width:0;max-width:100%;height:auto;box-shadow:var(--shadow-sm);transition:transform .26s var(--lp-ease-move), box-shadow .26s var(--lp-ease-out);flex-direction:column;align-self:start;margin:0;display:flex;overflow:hidden}@media (hover:hover) and (pointer:fine){.lp-shot:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.lp-shot:hover img{transform:scale(1.03)}}.lp-shot-frame{width:100%;min-width:0;max-width:100%;height:14rem;aspect-ratio:unset;background:var(--viewport-3d-bg);flex:none;display:block;overflow:hidden}.lp-shot img{object-fit:cover;object-position:center center;width:100%;max-width:100%;height:100%;transition:transform .48s var(--lp-ease-out);display:block}.lp-shot img.lp-shot-img--down{object-position:center top}.lp-shot figcaption{border-top:1px solid var(--line);color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;padding:.75rem 1rem;font-size:.9rem;font-weight:550;line-height:1.3;display:flex}.lp-shot-formats{flex-wrap:wrap;gap:.3rem;display:flex}.lp-chip{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface-soft);color:var(--muted);align-items:center;padding:.2rem .45rem;font-size:.72rem;font-weight:550;display:inline-flex}.lp-gallery{background:color-mix(in srgb, var(--surface) 70%, var(--bg));border-block:1px solid var(--line)}.lp-gallery .lp-band-inner{max-width:min(94rem,100%)}.lp-gallery-stage{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--viewport-3d-bg);box-shadow:var(--shadow-sm);flex-direction:column;margin:0;display:flex;overflow:hidden}.lp-gallery-frame{background:var(--viewport-3d-bg);width:100%;height:clamp(14rem,28vw,24rem);position:relative;overflow:hidden}.lp-gallery-frame img{object-fit:contain;object-position:center center;opacity:0;width:100%;height:100%;transition:opacity .42s var(--lp-ease-out);pointer-events:none;display:block;position:absolute;inset:0}.lp-gallery-frame img.is-active{opacity:1;pointer-events:auto}.lp-gallery-caption{border-top:1px solid var(--line);background:var(--surface);color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:.55rem 1rem;padding:.85rem 1.1rem;font-size:.95rem;font-weight:550;line-height:1.35;display:flex}.lp-gallery-index{letter-spacing:.04em;color:var(--muted);font-size:.78rem;font-weight:500}.lp-gallery-controls{justify-content:center;align-items:center;gap:.85rem;margin-top:1rem;display:flex}.lp-gallery-nav{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:2.4rem;height:2.4rem;color:var(--ink);cursor:pointer;transition:background .16s var(--lp-ease-out), border-color .16s var(--lp-ease-out), transform .16s var(--lp-ease-move);justify-content:center;align-items:center;padding:0;font-size:1.45rem;line-height:1;display:inline-flex}.lp-gallery-nav:hover{background:var(--surface-soft);border-color:var(--accent)}.lp-gallery-nav:active{transform:scale(.96)}.lp-gallery-dots{flex-wrap:wrap;justify-content:center;gap:.4rem;max-width:min(100%,28rem);display:flex}.lp-gallery-dot{background:color-mix(in srgb, var(--muted) 45%, transparent);cursor:pointer;width:.55rem;height:.55rem;transition:background .16s var(--lp-ease-out), transform .16s var(--lp-ease-move);border:0;border-radius:1px;padding:0}.lp-gallery-dot.is-active{background:var(--accent);transform:scale(1.15)}.lp-gallery-dot:focus-visible,.lp-gallery-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.lp-gallery-frame img{transition:none}}.lp-workflow{background:color-mix(in srgb, var(--accent-soft) 40%, var(--bg));border-block:1px solid var(--line)}.lp-steps{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.lp-step{min-width:0;padding:1.35rem 1.15rem}.lp-step+.lp-step{border-left:1px solid var(--line-strong)}.lp-step-num{color:var(--accent);font-family:var(--font-mono);margin-bottom:.5rem;font-size:.72rem;font-weight:650;display:block}.lp-step h3{margin:0 0 .35rem;font-size:1rem;font-weight:650}.lp-step p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.lp-pricing{background:var(--surface);border-block:1px solid var(--line)}.lp-pricing-intro{max-width:38rem;margin-bottom:clamp(1.25rem,2.5vw,1.85rem)}.lp-pricing-intro p{color:var(--muted);margin:.5rem 0 0;font-size:1.02rem;line-height:1.5}.lp-plan-grid{grid-template-columns:1fr 1.08fr;align-items:stretch;gap:1rem;display:grid}.lp-plan{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius-md);min-width:0;height:100%;transition:border-color .2s var(--lp-ease-out), transform .2s var(--lp-ease-out);flex-direction:column;gap:.55rem;padding:1.5rem 1.4rem 1.3rem;display:flex}@media (hover:hover) and (pointer:fine){.lp-plan:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--line-strong))}}.lp-plan-pro{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent-soft) 50%, var(--surface));box-shadow:var(--shadow-md);position:relative;overflow:hidden}.lp-plan-save-ribbon{z-index:1;background:var(--accent);width:8.5rem;color:var(--on-accent);font-family:var(--font-display);letter-spacing:.02em;text-align:center;box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 18%, transparent);pointer-events:none;font-variant-numeric:tabular-nums;padding:.32rem 0;font-size:.78rem;font-weight:700;line-height:1.2;display:block;position:absolute;top:1.35rem;right:-2.35rem;transform:rotate(45deg)}.lp-plan-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);align-self:flex-start;margin:0;font-size:.72rem;font-weight:600}.lp-plan h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:600}.lp-interval{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);align-self:flex-start;gap:.2rem;padding:.2rem;display:inline-flex}.lp-interval-btn{appearance:none;color:var(--muted);font:inherit;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;transition:background .15s var(--lp-ease-out), color .15s var(--lp-ease-out), transform .14s var(--lp-ease-out);background:0 0;border:0;padding:.35rem .7rem;font-size:.85rem;font-weight:550}.lp-interval-btn:active{transform:scale(.97)}.lp-interval-btn.is-active{background:var(--accent);color:var(--on-accent)}.lp-plan-price{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;margin:0;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:650;line-height:1.1;display:flex}.lp-plan-period{letter-spacing:0;color:var(--muted);font-size:.95rem;font-weight:500}.lp-plan-lede{color:var(--muted);margin:0;font-size:.95rem;line-height:1.45}.lp-plan-features{flex-direction:column;flex:1;gap:.4rem;margin:.25rem 0 .65rem;padding:0;list-style:none;display:flex}.lp-plan-features li{color:var(--ink);padding-left:1.05rem;font-size:.9rem;line-height:1.4;position:relative}.lp-plan-features li:before{content:"";background:var(--accent);border-radius:1px;width:.4rem;height:.4rem;position:absolute;top:.45em;left:0}.lp-plan .lp-btn{text-align:center;justify-content:center;align-self:stretch;margin-top:auto}.lp-pricing-actions{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:auto;display:flex}.lp-pricing-actions .lp-btn-lg{flex:auto}.lp-cta{background:var(--strong);color:var(--on-strong);padding-block:clamp(2.5rem,5vw,3.5rem)}.lp-cta .lp-band-inner{max-width:var(--lp-max)}.lp-cta h2{color:var(--on-strong);margin-bottom:.4rem}.lp-cta p{color:color-mix(in srgb, var(--on-strong) 68%, transparent);max-width:36ch;margin:0;line-height:1.45}.lp-cta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem 2rem;display:flex}.lp-cta .lp-btn-primary{background:var(--accent);color:var(--on-accent)}@media (hover:hover) and (pointer:fine){.lp-cta .lp-btn-primary:hover{background:color-mix(in srgb, var(--accent) 85%, var(--on-strong))}}.lp-footer{width:100%;padding:clamp(2rem, 4vw, 2.75rem) var(--lp-inline) 1.5rem;background:linear-gradient(180deg, color-mix(in srgb, var(--surface-soft) 55%, var(--bg)), var(--surface));border-top:1px solid var(--line);margin-top:auto}.lp-footer-inner{width:100%;max-width:var(--lp-max);flex-direction:column;gap:1.75rem;margin-inline:auto;display:flex}.lp-footer-top{grid-template-columns:minmax(0,1.15fr) minmax(0,1.6fr);align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}.lp-footer-brand{min-width:0;max-width:22rem}.lp-footer-brand .brand-logo{object-fit:contain;width:auto;max-width:min(180px,70vw);height:32px}.lp-footer-tagline{color:var(--muted);text-wrap:pretty;margin:.75rem 0 0;font-size:.9rem;line-height:1.45}.lp-footer-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem 1.5rem;display:grid}.lp-footer-col{min-width:0}.lp-mono{font-family:var(--font-mono)}.lp-footer-col-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .7rem;font-size:.72rem;font-weight:550}.lp-footer-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.lp-footer-list a{color:var(--ink);transition:color .16s var(--lp-ease-out);font-size:.9rem;font-weight:500;line-height:1.3;text-decoration:none}@media (hover:hover) and (pointer:fine){.lp-footer-list a:hover{color:var(--accent-hover)}}.lp-footer-list a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.lp-footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.65rem 1.5rem;padding-top:1.15rem;display:flex}.lp-footer-note{max-width:40rem;color:var(--muted);text-wrap:pretty;margin:0;font-size:.8rem;line-height:1.45}.lp-footer-copy{color:var(--muted);white-space:nowrap;margin:0;font-size:.75rem}@keyframes lp-hero-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.lp-hero-copy,.lp-hero-img{animation:none}.lp-reveal{opacity:1;transition:none;transform:none}.lp-btn:active,.lp-interval-btn:active,.lp-advantage-tile:active{transform:none}.lp-shot,.lp-shot img,.lp-engine,.lp-plan,.lp-advantage-tile{transition:none}.lp-shot:hover,.lp-shot:hover img,.lp-engine:hover,.lp-advantage-tile:hover{transform:none}}@media (width<=1100px){.lp-nav{grid-template-columns:minmax(0,auto) 1fr minmax(0,auto);column-gap:1rem}.lp-nav-links{justify-self:end;gap:.15rem 1rem;margin-right:.25rem}.lp-nav-links a[href=\#build],.lp-nav-links a[href=\#fitment],.lp-nav-links a[href=\#fabrication],.lp-nav-links a[href=\#output]{display:none}}@media (width<=960px){.lp-footer-top{grid-template-columns:minmax(0,1fr)}.lp-footer-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-hero{flex-direction:column;min-height:0;display:flex}.lp-hero-bleed{flex-shrink:0;align-self:stretch;width:100%;min-height:min(36vw,14rem);position:relative}.lp-hero-img{object-fit:cover;object-position:center top}.lp-hero-scrim{display:none}.lp-hero-copy{width:100%;max-width:none;padding:1.75rem var(--lp-inline) 2.15rem;background:var(--surface)}.lp-lede{max-width:40rem}.lp-engines,.lp-advantage-grid,.lp-zig-grid,.lp-zig-flip,.lp-steps,.lp-plan-grid{grid-template-columns:minmax(0,1fr)}.lp-advantage-tile,.lp-advantage-tile.is-featured,.lp-advantage-tile:nth-child(2),.lp-advantage-tile:nth-child(3),.lp-advantage-tile:nth-child(4),.lp-advantage-tile:nth-child(5){grid-column:auto;min-height:0}.lp-zig-flip .lp-zig-copy,.lp-zig-flip .lp-shot{order:unset}.lp-zig-copy{padding-top:0}.lp-step+.lp-step{border-left:0;border-top:1px solid var(--line-strong)}}@media (width<=720px){.lp-nav-links{display:none}}@media (width<=560px){.lp-footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-footer-bottom{flex-direction:column;align-items:flex-start}.lp-footer-copy{white-space:normal}.lp-hero-actions{flex-direction:column;align-items:stretch}.lp-hero-actions .lp-btn,.lp-cta .lp-btn,.lp-pricing-actions .lp-btn{width:100%}.lp-cta-row{flex-direction:column;align-items:stretch}}.legal{box-sizing:border-box;min-height:100dvh;color:var(--ink);background:radial-gradient(ellipse 80% 50% at 50% -10%, var(--accent-soft), transparent), var(--bg);font-family:var(--font-body);flex-direction:column;display:flex}.legal *,.legal :before,.legal :after{box-sizing:border-box}.legal-top{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;height:64px;padding:0 clamp(1rem,3vw,2rem);display:flex}.legal-brand{align-items:center;min-width:0;max-width:min(260px,70%);text-decoration:none;display:flex}.legal-brand .brand-logo{object-fit:contain;width:auto;max-width:100%;height:36px}.legal-top-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.legal-top-link{color:var(--muted);font-size:.9rem;font-weight:500;text-decoration:none}.legal-top-link:hover{color:var(--ink)}.legal-main{width:min(44rem,100% - 2rem);margin:0 auto;padding:1.75rem 0 3rem}.legal-tabs{flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1.5rem;display:flex}.legal-tabs a{color:var(--muted);border-bottom:2px solid #0000;padding-bottom:.2rem;font-size:.9rem;font-weight:600;text-decoration:none}.legal-tabs a:hover{color:var(--ink)}.legal-tabs a.is-active{color:var(--ink);border-bottom-color:var(--accent)}.legal-doc h1{font-family:var(--font-display,var(--font-body));letter-spacing:-.02em;margin:0 0 1.25rem;font-size:clamp(1.6rem,3vw,2rem);font-weight:700;line-height:1.2}.legal-section{margin:0 0 1.35rem}.legal-section h2{margin:0 0 .45rem;font-size:1.05rem;font-weight:650;line-height:1.3}.legal-section p{color:var(--muted);white-space:pre-line;margin:0 0 .55rem;font-size:.95rem;line-height:1.55}.legal-section p:last-child{margin-bottom:0}
