:root{--c-bg: #faf9f6;--c-surface: #ffffff;--c-surface-2: #f3f1ec;--c-surface-3: #e8e6e0;--c-line: #e2e0d9;--c-line-strong: #cdcac0;--c-text: #1c1b18;--c-text-2: #4a4945;--c-text-muted: #8a8983;--c-accent: #0f766e;--c-accent-hover: #115e59;--c-accent-soft: #ccfbf1;--c-accent-text: #134e4a;--c-danger: #b91c1c;--c-danger-soft: #fee2e2;--c-warning: #b45309;--c-success: #15803d;--c-ink: #1a1815;--c-ink-soft: #4a4540;--c-paper: #f8f6f1;--c-selection: #0f766e;--c-selection-bg: rgba(15, 118, 110, .06);--c-handle: #ffffff;--c-handle-stroke: #0f766e;--c-pencil-graphite: #5a5550;--c-pencil-graphite-soft: rgba(90, 85, 80, .4);--c-pencil-navy: #2c5f7e;--c-pencil-navy-soft: rgba(44, 95, 126, .35);--c-pencil-red: #b11226;--c-pencil-red-soft: rgba(177, 18, 38, .35);--c-pencil-red-tint: rgba(177, 18, 38, .08);--c-guide: #b11226;--c-guide-soft: rgba(177, 18, 38, .45);--c-polar: #2c5f7e;--c-polar-soft: rgba(44, 95, 126, .35);--c-dim: rgba(26, 24, 21, .65);--c-dim-strong: rgba(26, 24, 21, .95);--glass-bg: color-mix(in srgb, var(--c-surface) 75%, transparent);--glass-border: color-mix(in srgb, var(--c-line-strong) 60%, transparent);--sh-hud: 0 1px 0 rgba(26, 24, 21, .08), 0 8px 24px rgba(26, 24, 21, .1);--r-xs: 6px;--r-sm: 8px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-pill: 999px;--sh-1: 0 1px 1px rgba(28, 27, 24, .04), 0 1px 2px rgba(28, 27, 24, .06);--sh-2: 0 1px 2px rgba(28, 27, 24, .04), 0 4px 12px rgba(28, 27, 24, .08);--sh-3: 0 4px 8px rgba(28, 27, 24, .06), 0 12px 32px rgba(28, 27, 24, .12);--ease: cubic-bezier(.2, .8, .2, 1);--dur-fast: .12s;--dur: .18s;--ff-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ff-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#app{height:100%;margin:0;padding:0}body{font-family:var(--ff-sans);font-size:14px;line-height:1.5;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}button{font:inherit;cursor:pointer;color:inherit}input,textarea,select{font:inherit;color:inherit}a{color:var(--c-accent);text-decoration:none;transition:color var(--dur-fast) var(--ease)}a:hover{color:var(--c-accent-hover)}::selection{background:var(--c-accent-soft);color:var(--c-accent-text)}.num{font-variant-numeric:tabular-nums;font-family:var(--ff-mono)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-text);font-weight:500;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);box-shadow:var(--sh-1)}.btn:hover{background:var(--c-surface-2)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.btn-primary{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}.btn-primary:hover{background:var(--c-accent-hover);border-color:var(--c-accent-hover)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none}.btn-ghost:hover{background:var(--c-surface-2)}.btn-danger{background:transparent;border-color:var(--c-danger);color:var(--c-danger);box-shadow:none}.btn-danger:hover{background:var(--c-danger-soft)}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--r-md)}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.input{width:100%;height:38px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-text);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.input::placeholder{color:var(--c-text-muted)}.input:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-accent) 14%,transparent)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:12px;font-weight:500;color:var(--c-text-2)}.field-error{font-size:12px;color:var(--c-danger)}.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.divider{height:1px;background:var(--c-line)}.auth-layout{min-height:100%;display:grid;place-items:center;padding:32px;background:radial-gradient(1100px 600px at 90% -10%,color-mix(in srgb,var(--c-accent) 10%,transparent),transparent 60%),radial-gradient(900px 500px at 0% 100%,color-mix(in srgb,var(--c-accent) 6%,transparent),transparent 60%),var(--c-bg)}.auth-form{width:100%;max-width:380px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:28px;box-shadow:var(--sh-3);display:flex;flex-direction:column;gap:16px}.auth-form h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em}.auth-form .hint{margin:4px 0 0;color:var(--c-text-muted);font-size:13px;text-align:center}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.01em}.brand-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--c-accent),color-mix(in srgb,var(--c-accent) 50%,#65a30d));display:grid;place-items:center;color:#fff;box-shadow:var(--sh-1)}.brand-mark svg{display:block}.home{overflow-x:clip;--home-max: 1080px;--home-max-wide: 1240px;--home-ink: #0a0f0d;--home-ink-soft: #111816;--home-fg: #f6f6f2;--home-fg-muted: rgba(246, 246, 242, .68);--home-fg-faint: rgba(246, 246, 242, .44);--home-page: #f7f7f4;--home-card: #ffffff;--home-line: rgba(10, 15, 13, .08);--home-line-strong: rgba(10, 15, 13, .14);--home-radius: 16px;--home-radius-lg: 24px;--home-space: 96px;--ff-display: "Plus Jakarta Sans", var(--ff-sans);position:relative;min-height:100%;display:flex;flex-direction:column;color:var(--c-text);background:var(--home-page);-webkit-font-smoothing:antialiased}.home-shell{width:100%;max-width:var(--home-max);margin:0 auto;padding-inline:24px}.home-mesh{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 90% 55% at 50% -15%,rgba(45,212,191,.16),transparent 58%),radial-gradient(ellipse 50% 40% at 80% 20%,rgba(20,184,166,.06),transparent 50%),linear-gradient(180deg,#0a0f0d,#0c1210 72%,#0a0f0d)}.home-grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay}.home-nav{position:fixed;inset:0 0 auto;z-index:50;padding:18px 0 22px;background:linear-gradient(180deg,rgba(10,15,13,.92) 0%,rgba(10,15,13,.55) 65%,transparent 100%)}.home-nav-inner{display:flex;align-items:center;gap:40px;max-width:var(--home-max-wide)}.home-logo{display:flex;align-items:center;gap:11px;flex-shrink:0;color:var(--home-fg);text-decoration:none}.home-logo:hover{color:var(--home-fg);text-decoration:none}.home-logo-glyph{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;color:var(--home-fg);border:1.5px solid rgba(255,255,255,.18);border-radius:9px}.home-logo-glyph svg{display:block}.home-logo-word{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.1}.home-logo-name{font-family:var(--ff-display);font-size:15px;font-weight:700;letter-spacing:-.03em;white-space:nowrap}.home-logo-role{font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--home-fg-faint);white-space:nowrap}.home-nav-links{display:flex;align-items:center;gap:28px;flex:1;min-width:0}.home-nav-links a{position:relative;font-size:13px;font-weight:500;color:var(--home-fg-muted);text-decoration:none;transition:color .14s var(--ease)}.home-nav-links a:after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:#5eead4;transition:width .2s var(--ease)}.home-nav-links a:hover{color:var(--home-fg);text-decoration:none}.home-nav-links a:hover:after{width:100%}.home-nav-links a:focus-visible,.home-logo:focus-visible,.home-nav-signin:focus-visible,.home-btn:focus-visible,.home-preview-tab:focus-visible,.home-footer-links a:focus-visible,.home-faq-q:focus-visible{outline:2px solid rgba(45,212,191,.85);outline-offset:3px}.home-nav-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.home-nav-signin{font-size:13px;font-weight:500;color:var(--home-fg-muted);text-decoration:none;transition:color .14s var(--ease)}.home-nav-signin:hover{color:var(--home-fg);text-decoration:none}.home-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 18px;border-radius:var(--r-pill);font-size:13px;font-weight:600;line-height:1;text-decoration:none;border:1px solid transparent;white-space:nowrap;cursor:pointer;transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),transform .14s var(--ease)}.home-btn:hover{text-decoration:none}.home-btn-lg{height:48px;padding:0 26px;font-size:15px}.home-btn-primary{background:var(--c-accent);color:#fff;border-color:color-mix(in srgb,var(--c-accent) 80%,#000);box-shadow:0 1px #ffffff1f inset}.home-btn-primary:hover{background:var(--c-accent-hover);color:#fff;transform:translateY(-1px)}.home-btn-secondary{background:#ffffff0d;color:var(--home-fg);border-color:#ffffff24}.home-btn-secondary:hover{background:#ffffff17;color:var(--home-fg)}.home-btn-nav-cta{height:36px;padding:0 18px;font-size:13px;font-weight:600;background:var(--home-fg);color:var(--home-ink);border-color:transparent}.home-btn-nav-cta:hover{background:#fff;color:var(--home-ink);transform:none}.home-hero{position:relative;z-index:2;padding:112px 0 0;color:var(--home-fg)}.home-hero-inner{max-width:780px;margin-inline:auto;text-align:center;padding:0 0 40px}.home-title{margin:0 0 20px;font-family:var(--ff-display);font-size:clamp(40px,6.8vw,76px);font-weight:800;line-height:1.02;letter-spacing:-.045em}.home-title-accent{display:block;background:linear-gradient(135deg,#a7f3d0,#5eead4 38%,#14b8a6);-webkit-background-clip:text;background-clip:text;color:transparent}.home-lead{margin:0 auto 28px;max-width:46ch;font-size:17px;line-height:1.65;color:var(--home-fg-muted)}.home-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.home-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px 0 0;padding:0;list-style:none}.home-trust li{padding:6px 12px;border-radius:var(--r-pill);font-size:12px;font-weight:500;line-height:1.2;color:var(--home-fg-muted);background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}@keyframes home-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.home-rise{animation:home-rise .7s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--d, 0ms)}.home-showcase{position:relative;width:100%;max-width:var(--home-max-wide);margin:0 auto;padding:0 24px 64px;scroll-margin-top:88px}.home-showcase-stage{position:relative}.home-showcase-stage:before{content:"";position:absolute;top:-12%;right:-6%;bottom:-8%;left:-6%;background:radial-gradient(ellipse 70% 55% at 50% 40%,rgba(45,212,191,.14),transparent 68%);pointer-events:none;z-index:-1}.home-preview{display:flex;flex-direction:column;border-radius:var(--home-radius-lg);overflow:hidden;background:var(--home-ink-soft);border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 1px #0003,0 32px 80px #0000006b,0 8px 24px #0003}.home-preview-tabs{display:flex;justify-content:center;gap:4px;padding:14px 16px 0;background:#ffffff05}.home-preview-tab{height:34px;padding:0 16px;border:none;border-radius:var(--r-pill);font-family:inherit;font-size:13px;font-weight:500;color:var(--home-fg-faint);background:transparent;cursor:pointer;transition:color .14s var(--ease),background .14s var(--ease)}.home-preview-tab:hover{color:var(--home-fg-muted);background:#ffffff0d}.home-preview-tab.is-active{color:var(--home-fg);background:#ffffff1a}.home-preview-chrome{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:10px 18px 12px;flex:none}.home-preview-live{flex:none;font-family:var(--ff-mono);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#5eead4}.home-preview-live:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:currentColor;vertical-align:1px;box-shadow:0 0 0 3px #5eead433;animation:home-pulse 2.4s ease-in-out infinite}@keyframes home-pulse{0%,to{opacity:1}50%{opacity:.45}}.home-preview-title{min-width:0;font-size:12px;color:var(--home-fg-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.home-preview-editor{display:grid;grid-template-columns:48px minmax(0,1fr) 188px;min-height:clamp(440px,54vh,600px);border-top:1px solid rgba(255,255,255,.06)}.home-preview-toolbar{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;background:#ffffff05;border-right:1px solid rgba(255,255,255,.06)}.home-preview-tool{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#f6f6f257}.home-preview-tool.is-active{color:#5eead4;background:#14b8a624}.home-preview-canvases{position:relative;min-width:0;min-height:0;height:100%;background:#0b100e}.home-preview-pane{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .32s var(--ease)}.home-preview-pane.is-active{opacity:1;pointer-events:auto}.home-preview-host{flex:1;min-height:0;width:100%;pointer-events:none;-webkit-user-select:none;user-select:none;background:var(--c-paper)}.home-preview-panel{display:flex;flex-direction:column;min-width:0;background:#ffffff05;border-left:1px solid rgba(255,255,255,.06)}.home-preview-panel-head{flex:none;padding:13px 14px 11px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#f6f6f25c;border-bottom:1px solid rgba(255,255,255,.05)}.home-preview-tree{margin:0;padding:8px 6px;list-style:none;overflow:hidden}.home-preview-tree-row{display:flex;align-items:center;gap:7px;padding:6px 8px 6px calc(8px + var(--depth, 0) * 13px);border-radius:7px;font-size:11px;line-height:1.3;color:#f6f6f285}.home-preview-tree-row.is-active{color:#f6f6f2;background:#14b8a61f}.home-preview-tree-row.is-group{font-weight:600;color:#f6f6f2bd}.home-preview-tree-swatch{flex:none;width:7px;height:7px;border-radius:2px}.home-preview-tree-dot{flex:none;width:5px;height:5px;border-radius:50%;background:#f6f6f233}.home-preview-tree-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-quote-wrap{padding-bottom:80px}.home-quote{margin:0;max-width:640px;margin-inline:auto;text-align:center}.home-quote p{margin:0 0 12px;font-family:var(--ff-display);font-size:clamp(18px,2.4vw,22px);font-weight:600;line-height:1.45;letter-spacing:-.02em;color:var(--home-fg-muted)}.home-quote footer{font-size:13px;color:var(--home-fg-faint)}.home-body{position:relative;z-index:2;padding:var(--home-space) 0 48px;background:var(--home-page)}.home-section{margin-bottom:var(--home-space);scroll-margin-top:88px}.home-section-head{margin-bottom:40px;max-width:560px}.home-section-head--center{margin-inline:auto;text-align:center;max-width:640px}.home-section-head h2{margin:0;font-family:var(--ff-display);font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.035em;line-height:1.1}.home-section-desc{margin:14px 0 0;font-size:16px;line-height:1.6;color:var(--c-text-2)}.home-pillars-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-pillar{padding:28px 24px;border-radius:var(--home-radius);background:var(--home-card);border:1px solid var(--home-line)}.home-pillar-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:18px;border-radius:12px;background:var(--c-accent-soft);color:var(--c-accent-text)}.home-pillar-icon svg{width:20px;height:20px}.home-pillar h3{margin:0 0 8px;font-family:var(--ff-display);font-size:17px;font-weight:700;letter-spacing:-.02em;line-height:1.25}.home-pillar p{margin:0;font-size:15px;line-height:1.6;color:var(--c-text-2)}.home-spotlights{display:flex;flex-direction:column;gap:20px}.home-spotlight{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;padding:36px;border-radius:var(--home-radius-lg);background:var(--home-card);border:1px solid var(--home-line)}.home-spotlight--flip .home-spotlight-copy{order:2}.home-spotlight--flip .home-spotlight-visual{order:1}.home-spotlight-tag{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--c-accent-text)}.home-spotlight-copy h2{margin:0 0 12px;font-family:var(--ff-display);font-size:clamp(22px,2.8vw,28px);font-weight:700;letter-spacing:-.03em;line-height:1.15}.home-spotlight-copy p{margin:0;font-size:15px;line-height:1.65;color:var(--c-text-2)}.home-spotlight-visual{display:grid;place-items:center;min-height:200px}.home-spotlight-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;max-width:280px;aspect-ratio:4 / 3;border-radius:var(--home-radius);background:radial-gradient(ellipse 80% 70% at 50% 30%,rgba(20,184,166,.12),transparent 70%),linear-gradient(160deg,#f0f4f2,#e8eeeb);border:1px solid var(--home-line)}.home-spotlight-card-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--c-accent-soft);color:var(--c-accent-text)}.home-spotlight-card-icon svg{width:26px;height:26px}.home-spotlight-card-label{font-size:13px;font-weight:600;color:var(--c-text-muted)}.home-steps-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.home-step-card{padding:24px 22px;border-radius:var(--home-radius);background:var(--home-card);border:1px solid var(--home-line)}.home-step-index{display:block;margin-bottom:14px;font-family:var(--ff-mono);font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--c-text-muted)}.home-step-card h3{margin:0 0 6px;font-size:16px;font-weight:600;letter-spacing:-.015em}.home-step-card p{margin:0;font-size:14px;line-height:1.55;color:var(--c-text-2)}.home-faq-list{display:flex;flex-direction:column;gap:8px;max-width:680px;margin-inline:auto}.home-faq-item{border-radius:var(--home-radius);background:var(--home-card);border:1px solid var(--home-line);overflow:hidden;transition:border-color .14s var(--ease)}.home-faq-item[open]{border-color:var(--home-line-strong)}.home-faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;font-size:15px;font-weight:600;letter-spacing:-.01em;cursor:pointer;list-style:none}.home-faq-q::-webkit-details-marker{display:none}.home-faq-icon{flex:none;width:22px;height:22px;border-radius:7px;background:var(--c-surface-2);position:relative}.home-faq-icon:before,.home-faq-icon:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--c-text-muted);transform:translate(-50%,-50%);transition:transform .14s var(--ease),opacity .14s var(--ease)}.home-faq-icon:after{transform:translate(-50%,-50%) rotate(90deg)}.home-faq-item[open] .home-faq-icon:after{opacity:0}.home-faq-a{margin:0;padding:0 20px 18px;font-size:14px;line-height:1.65;color:var(--c-text-2)}.home-cta{margin-bottom:8px}.home-cta-card{text-align:center;padding:52px 32px;border-radius:var(--home-radius-lg);background:var(--home-ink-soft);color:var(--home-fg);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 64px #0000001f}.home-cta-card h2{margin:0 0 10px;font-family:var(--ff-display);font-size:clamp(24px,3.2vw,32px);font-weight:700;letter-spacing:-.03em;line-height:1.15}.home-cta-card p{margin:0 0 24px;font-size:15px;line-height:1.55;color:var(--home-fg-muted)}.home-footer{padding:40px 0 48px;border-top:1px solid var(--home-line);background:var(--home-page)}.home-footer-inner{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:24px 40px;align-items:start}.home-footer-brand p{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--c-text-muted);max-width:30ch}.home-footer-domain{display:inline-block;margin-top:6px;font-size:13px;font-weight:500;color:var(--c-accent);text-decoration:none}.home-footer-domain:hover{text-decoration:underline}.home-footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:flex-end}.home-footer-links a{font-size:13px;color:var(--c-text-2);text-decoration:none}.home-footer-links a:hover{color:var(--c-accent);text-decoration:none}.home-footer-copy{grid-column:1 / -1;margin:0;padding-top:4px;font-size:12px;color:var(--c-text-muted)}@media (max-width: 960px){.home{--home-space: 72px}.home-preview-editor{grid-template-columns:44px minmax(0,1fr);grid-template-rows:minmax(320px,1fr) auto;min-height:480px}.home-preview-panel{grid-column:1 / -1;border-left:none;border-top:1px solid rgba(255,255,255,.06);max-height:200px}.home-preview-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px}.home-preview-chrome{flex-wrap:wrap;row-gap:6px}.home-preview-title{flex:1 1 100%;text-align:left;white-space:normal}.home-nav-links{display:none}.home-nav-inner{gap:12px}.home-nav-actions{gap:10px;margin-left:auto}.home-logo{min-width:0}.home-pillars-grid,.home-steps-row,.home-spotlight,.home-spotlight--flip{grid-template-columns:1fr}.home-spotlight--flip .home-spotlight-copy,.home-spotlight--flip .home-spotlight-visual{order:unset}.home-spotlight-visual{min-height:160px}.home-hero{padding-top:100px}.home-hero-actions{flex-direction:column;align-items:stretch}.home-hero-actions .home-btn{width:100%}.home-showcase{padding-inline:16px}.home-showcase-stage:before{top:-8%;right:-2%;bottom:-6%;left:-2%}.home-footer-inner{grid-template-columns:1fr;gap:20px}.home-footer-links{justify-content:flex-start}}@media (max-width: 560px){.home{--home-space: 56px}.home-nav{padding:12px 0 16px}.home-logo-role{display:none}.home-logo-name{font-size:14px}.home-logo-glyph{width:32px;height:32px}.home-nav-signin{display:none}.home-btn-nav-cta{height:34px;padding:0 14px;font-size:12px}.home-shell,.home-showcase{padding-inline:16px}.home-hero{padding-top:88px}.home-hero-inner{padding-bottom:28px}.home-title{margin-bottom:14px;font-size:clamp(32px,8.8vw,40px);line-height:1.06;letter-spacing:-.04em}.home-lead{margin-bottom:22px;font-size:15px;line-height:1.6}.home-trust{gap:6px;margin-top:18px}.home-trust li{font-size:11px;padding:5px 10px}.home-body{padding-top:56px;padding-bottom:32px}.home-showcase{padding-bottom:40px}.home-preview{border-radius:var(--home-radius)}.home-preview-tabs{flex-wrap:wrap;justify-content:flex-start;gap:6px;padding:12px 12px 0}.home-preview-tab{height:32px;padding:0 12px;font-size:12px}.home-preview-chrome{padding:8px 12px 10px}.home-preview-editor{min-height:360px;grid-template-rows:minmax(260px,1fr) auto}.home-preview-panel{max-height:168px}.home-section{margin-bottom:56px;scroll-margin-top:72px}.home-section-head{margin-bottom:28px}.home-section-head h2{font-size:clamp(24px,6.5vw,28px)}.home-section-desc{font-size:15px}.home-spotlight{padding:24px 18px}.home-cta-card{padding:36px 20px}.home-footer{padding:32px 0 40px}.home-footer-inner{gap:16px}.home-footer-links{gap:8px 16px}.home-footer-copy{padding-top:8px;font-size:11px}}@media (prefers-reduced-motion: reduce){.home-btn,.home-nav-links a,.home-preview-tab,.home-faq-icon:before,.home-faq-icon:after,.home-preview-pane,.home-preview-live:before{transition:none;animation:none}.home-rise{animation:none}}.dashboard{max-width:1120px;margin:0 auto;padding:32px 24px 64px}.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--c-line)}.dashboard-brand,.dashboard-brand:hover{color:inherit;text-decoration:none}.dashboard-topbar h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em}.dashboard-topbar .actions{display:flex;align-items:center;gap:12px}.dashboard-topbar .user{font-size:13px;color:var(--c-text-muted)}.dashboard-create{display:flex;gap:8px;margin-bottom:28px;max-width:520px}.dashboard-create .input{flex:1}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.project-card{display:block;padding:18px 18px 16px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);color:inherit;transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.project-card:hover{border-color:var(--c-line-strong);box-shadow:var(--sh-2);transform:translateY(-1px);text-decoration:none}.project-card h3{margin:0 0 6px;font-size:15px;font-weight:600;letter-spacing:-.005em}.project-card .meta{margin:0;font-size:12px;color:var(--c-text-muted)}.dashboard-empty{grid-column:1 / -1;text-align:center;padding:56px 24px;color:var(--c-text-muted);border:1px dashed var(--c-line-strong);border-radius:var(--r-lg)}.editor{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--c-bg)}.editor-topbar{display:flex;align-items:center;gap:12px;height:56px;padding:0 16px;background:var(--c-surface);border-bottom:1px solid var(--c-line);box-shadow:var(--sh-1)}.editor-topbar .back{display:inline-flex;align-items:center;gap:6px;color:var(--c-text-muted);font-size:13px;height:32px;padding:0 8px;border-radius:var(--r-sm)}.editor-topbar .back:hover{color:var(--c-text);background:var(--c-surface-2);text-decoration:none}.editor-topbar .title-input{flex:0 1 320px;height:36px;padding:0 10px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--c-text);font-size:15px;font-weight:500;letter-spacing:-.005em}.editor-topbar .title-input:hover{border-color:var(--c-line)}.editor-topbar .title-input:focus{outline:none;border-color:var(--c-accent);background:var(--c-surface);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-accent) 14%,transparent)}.editor-topbar .status{flex:1;display:flex;align-items:center;font-size:13px;color:var(--c-text-muted)}.editor-topbar .status .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.editor-topbar .status.dirty .dot{background:var(--c-warning)}.editor-topbar .status.saving .dot{background:var(--c-accent);animation:pulse 1.2s var(--ease) infinite}.editor-topbar .status.saved .dot{background:var(--c-success)}.editor-topbar .status.error .dot{background:var(--c-danger)}.editor-topbar .status.error{color:var(--c-danger)}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.editor-body{flex:1;display:flex;min-height:0;overflow:hidden}.canvas-wrap{position:relative;flex:1;min-width:0;display:flex}.editor-loading{display:grid;place-items:center;height:100vh;color:var(--c-text-muted)}.toolbar{flex:0 0 56px;width:56px;min-width:56px;max-width:56px;background:var(--c-surface);border-right:1px solid var(--c-line);padding:10px 8px;display:flex;flex-direction:column;gap:4px;overflow:visible}.toolbar .tool{width:40px;height:40px;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--c-text-2);display:grid;place-items:center;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);position:relative}.toolbar .tool:hover{background:var(--c-surface-2);color:var(--c-text)}.toolbar .tool.active{background:var(--c-accent);color:#fff;border-color:var(--c-accent);box-shadow:var(--sh-1)}.toolbar .tool[disabled]{opacity:.35;cursor:not-allowed}.toolbar .tool svg{width:18px;height:18px}.toolbar .toolbar-divider{height:1px;margin:6px 4px;background:var(--c-line)}.tool-with-flyout{position:relative}.tool-flyout-marker{position:absolute;right:3px;bottom:3px;width:0;height:0;border-left:4px solid transparent;border-bottom:4px solid currentColor;opacity:.55;pointer-events:none}.toolbar .tool.active .tool-flyout-marker{border-bottom-color:#fff;opacity:.9}.tool-flyout{position:fixed;left:66px;top:var(--flyout-top, 64px);width:240px;max-width:calc(100vw - 80px);max-height:min(calc(100vh - 80px),640px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--sh-2);padding:8px 0;z-index:60;animation:tool-flyout-in .12s var(--ease)}@keyframes tool-flyout-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.tool-flyout-header{font-family:var(--ff-ui);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-muted);padding:4px 14px 8px;border-bottom:1px solid var(--c-line);margin-bottom:4px}.tool-flyout-group+.tool-flyout-group{border-top:1px solid var(--c-line);margin-top:4px;padding-top:4px}.tool-flyout-grouplabel{font-family:var(--ff-ui);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-muted);padding:6px 14px 4px}.tool-flyout-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 14px;background:transparent;border:0;color:var(--c-text);font-family:var(--ff-ui);font-size:13px;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.tool-flyout-item:hover{background:var(--c-surface-2)}.tool-flyout-glyph{font-family:var(--ff-mono);font-size:14px;color:var(--c-text-muted);width:16px;text-align:center;flex:none}.tool-flyout-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-flyout-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:55}.tool-flyout-wide{width:300px}.tool-flyout-wide .tool-flyout-group{padding-bottom:8px}.preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:2px 8px 4px}.preset-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;padding:8px 4px;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--c-text-2);font-family:var(--ff-ui);font-size:11px;line-height:1.2;text-align:center;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.preset-tile:hover{background:var(--c-surface-2);color:var(--c-text)}.preset-tile.active{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}.preset-tile-icon{display:grid;place-items:center;width:28px;height:28px}.preset-tile-icon svg{width:24px;height:24px}.preset-tile-label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tooltip{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%) translate(-4px);padding:4px 8px;background:var(--c-text);color:var(--c-bg);font-size:12px;white-space:nowrap;border-radius:var(--r-xs);pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);box-shadow:var(--sh-2);z-index:20}.tooltip kbd{margin-left:6px;padding:1px 5px;border-radius:3px;background:color-mix(in srgb,var(--c-bg) 25%,transparent);font-family:var(--ff-mono);font-size:10px}.toolbar .tool:hover .tooltip{opacity:1;transform:translateY(-50%) translate(0)}.ob{--ob-row-h: 26px;--ob-row-h-group: 28px;--ob-indent: 16px;--ob-pad-x: 10px;--ob-rail-color: color-mix(in srgb, var(--c-line-strong) 80%, transparent);--ob-rail-strong: color-mix(in srgb, var(--c-line-strong) 100%, transparent);--ob-row-radius: 6px;display:flex;flex-direction:column;width:100%;min-height:0;flex:1;background:var(--c-surface);color:var(--c-text);font-family:var(--ff-sans)}.ob-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 10px;border-bottom:1px solid var(--c-line);background:linear-gradient(to bottom,color-mix(in srgb,var(--c-paper) 60%,transparent),transparent)}.ob-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.ob-title-mark{width:6px;height:6px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-accent) 18%,transparent)}.ob-title-label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-2)}.ob-title-count{font-family:var(--ff-mono);font-size:10px;color:var(--c-text-muted);padding:1px 6px;border:1px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface-2);letter-spacing:.04em}.ob-new{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px 0 8px;border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-text-2);font-size:12px;font-weight:500;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.ob-new:hover{color:var(--c-text);border-color:var(--c-text);background:var(--c-surface-2)}.ob-new:active{transform:translateY(.5px)}.ob-new-glyph{display:inline-flex;width:14px;height:14px;color:var(--c-accent)}.ob-new-glyph svg{width:14px;height:14px}.ob-new-label{font-feature-settings:"cv11","ss01"}.ob-selbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px 8px;border-bottom:1px solid var(--c-line);background:color-mix(in srgb,var(--c-accent) 5%,var(--c-surface))}.ob-selbar-count{font-size:11px;font-weight:500;color:var(--c-text-2);letter-spacing:.02em;white-space:nowrap}.ob-selbar-btn{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border:1px solid color-mix(in srgb,var(--c-accent) 35%,var(--c-line-strong));border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-text);font-size:11.5px;font-weight:500;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.ob-selbar-btn:hover:not(:disabled){border-color:var(--c-accent);background:color-mix(in srgb,var(--c-accent) 8%,var(--c-surface))}.ob-selbar-btn:disabled{opacity:.45;cursor:not-allowed}.ob-selbar-glyph{display:inline-flex;width:13px;height:13px;color:var(--c-accent)}.ob-selbar-glyph svg{width:13px;height:13px}.ob-empty{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 28px;text-align:center;gap:6px}.ob-empty-art{color:var(--c-line-strong);margin-bottom:6px;opacity:.85}.ob-empty-title{margin:0;font-size:13px;font-weight:600;color:var(--c-text);letter-spacing:.01em}.ob-empty-hint{margin:0;font-size:12px;line-height:1.5;color:var(--c-text-muted);max-width:200px}.ob-empty-cta{margin-top:14px;height:30px;padding:0 14px;background:var(--c-ink);color:var(--c-paper);border:none;border-radius:var(--r-pill);font-size:12px;font-weight:500;letter-spacing:.01em;cursor:pointer;box-shadow:var(--sh-1);transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.ob-empty-cta:hover{background:var(--c-text);box-shadow:var(--sh-2);transform:translateY(-.5px)}.ob-empty-cta:active{transform:translateY(.5px)}.ob-list{list-style:none;margin:0;padding:6px 4px 16px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--c-line-strong) transparent}.ob-list::-webkit-scrollbar{width:8px}.ob-list::-webkit-scrollbar-thumb{background:var(--c-line-strong);border-radius:4px;border:2px solid transparent;background-clip:padding-box}.ob-row{--ob-spacer: calc(var(--ob-indent) * var(--depth, 0));--ob-toggle-w: 16px;position:relative;display:grid;grid-template-columns:var(--ob-spacer) var(--ob-toggle-w) 1fr;grid-template-areas:"spacer toggle content";align-items:center;height:var(--ob-row-h);padding:0 6px 0 var(--ob-pad-x);color:var(--c-text-2);cursor:default;transition:color var(--dur-fast) var(--ease)}.ob-row.kind-group{height:var(--ob-row-h-group);color:var(--c-text);font-weight:500}.ob-row.kind-plot{color:var(--c-text)}.ob-spacer{grid-area:spacer;position:relative;align-self:stretch}.ob-spacer:after{content:"";position:absolute;inset:0 auto 0 4px;width:calc(var(--ob-spacer) - 4px);pointer-events:none;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--ob-indent) - 1px),var(--ob-rail-color) calc(var(--ob-indent) - 1px),var(--ob-rail-color) var(--ob-indent));opacity:.55}.ob-row-content{grid-area:content;position:relative;display:flex;align-items:center;gap:6px;min-width:0;border-radius:var(--ob-row-radius);padding:0 4px;height:100%;transition:background var(--dur-fast) var(--ease)}.ob-row:hover .ob-row-content{background:color-mix(in srgb,var(--c-surface-2) 80%,transparent)}.ob-row.kind-shape:hover .ob-row-content,.ob-row.kind-plot:hover .ob-row-content{background:color-mix(in srgb,var(--c-surface-2) 55%,transparent)}.ob-row.is-in-selection .ob-row-content{background:color-mix(in srgb,var(--c-accent) 6%,transparent);color:var(--c-text)}.ob-row.kind-shape.is-in-selection .ob-row-content,.ob-row.kind-plot.is-in-selection .ob-row-content{background:color-mix(in srgb,var(--c-accent) 4%,transparent)}.ob-row.is-selected .ob-row-content{background:color-mix(in srgb,var(--c-accent) 12%,transparent);color:var(--c-text)}.ob-row.kind-shape.is-selected .ob-row-content,.ob-row.kind-plot.is-selected .ob-row-content{background:color-mix(in srgb,var(--c-accent) 9%,transparent)}.ob-row.is-in-selection:not(.is-selected) .ob-row-content:after{content:"";position:absolute;left:0;top:3px;bottom:3px;width:2px;background:color-mix(in srgb,var(--c-accent) 45%,transparent);border-radius:1px}.ob-row.is-selected .ob-row-content:after{content:"";position:absolute;left:0;top:3px;bottom:3px;width:2px;background:var(--c-accent);border-radius:1px}.ob-row.kind-shape.is-selected .ob-row-content:after,.ob-row.kind-plot.is-selected .ob-row-content:after{background:color-mix(in srgb,var(--c-accent) 70%,transparent)}.ob-row.is-active-group .ob-row-content{background:color-mix(in srgb,var(--c-accent) 6%,transparent)}.ob-row.is-active-group .ob-rail{background:linear-gradient(to bottom,transparent 0%,var(--c-accent) 12%,var(--c-accent) 88%,transparent 100%);opacity:.85}.ob-row.is-selected.is-active-group .ob-row-content{background:color-mix(in srgb,var(--c-accent) 13%,transparent)}.ob-row.is-dimmed{opacity:.45}.ob-row.is-renaming .ob-row-content{background:var(--c-surface-2)}.ob-rail{position:absolute;left:0;top:4px;bottom:4px;width:2px;border-radius:1px;pointer-events:none}.ob-twist{grid-area:toggle;display:inline-flex;align-items:center;justify-content:center;width:var(--ob-toggle-w);height:var(--ob-toggle-w);padding:0;border:none;background:transparent;color:var(--c-text-muted);cursor:pointer;border-radius:3px;transition:transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.ob-twist svg{width:10px;height:10px}.ob-twist:hover{color:var(--c-text);background:var(--c-surface-3)}.ob-twist.open{transform:rotate(90deg)}.ob-glyph{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--c-text-muted);flex-shrink:0}.ob-glyph svg{width:14px;height:14px}.ob-row.kind-group .ob-glyph{color:color-mix(in srgb,var(--c-accent) 70%,var(--c-text-2))}.ob-row.kind-plot .ob-glyph{color:var(--c-pencil-navy)}.ob-row.kind-shape .ob-glyph{color:var(--c-text-2)}.ob-row:hover .ob-glyph,.ob-row.is-in-selection .ob-glyph{color:var(--c-text)}.ob-row.kind-group.is-selected .ob-glyph,.ob-row.kind-group:hover .ob-glyph{color:var(--c-accent)}.ob-swatch{position:relative;width:12px;height:12px;border-radius:50%;border:1px solid color-mix(in srgb,var(--c-text) 22%,transparent);background:var(--swatch, var(--c-accent));padding:0;cursor:pointer;flex-shrink:0;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.ob-swatch:hover{transform:scale(1.12);box-shadow:0 0 0 3px color-mix(in srgb,var(--swatch, var(--c-accent)) 24%,transparent)}.ob-swatch-input{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;width:calc(100% + 4px);height:calc(100% + 4px);opacity:0;cursor:pointer;border:none;background:transparent}.ob-name{flex:1 1 auto;min-width:0;font-size:12.5px;line-height:1.2;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;padding:2px 0}.ob-row.kind-group .ob-name{font-weight:500;letter-spacing:-.005em}.ob-row.kind-shape .ob-name{color:var(--c-text-2)}.ob-row.kind-shape:hover .ob-name,.ob-row.kind-shape.is-in-selection .ob-name{color:var(--c-text)}.ob-name--input{background:var(--c-surface);border:1px solid var(--c-accent);border-radius:var(--r-xs);color:var(--c-text);height:22px;padding:0 6px;font-family:inherit;font-size:12.5px;font-weight:inherit;outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--c-accent) 14%,transparent)}.ob-count{flex-shrink:0;font-family:var(--ff-mono);font-size:10px;color:var(--c-text-muted);letter-spacing:.04em;padding:0 4px;min-width:18px;text-align:right;transition:opacity var(--dur-fast) var(--ease)}.ob-row:hover .ob-count,.ob-row.is-in-selection .ob-count{opacity:.4}.ob-row-actions{flex-shrink:0;display:inline-flex;align-items:center;gap:1px;margin-left:2px;opacity:0;transform:translate(2px);pointer-events:none;transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.ob-row:hover .ob-row-actions,.ob-row.is-in-selection .ob-row-actions,.ob-row:focus-within .ob-row-actions{opacity:1;transform:translate(0);pointer-events:auto}.ob-row.is-dimmed .ob-row-actions,.ob-row.is-locked .ob-row-actions{opacity:1;transform:translate(0);pointer-events:auto}.ob-row.is-dimmed .ob-row-actions .ob-act:not(.on),.ob-row.is-locked .ob-row-actions .ob-act:not(.on){opacity:0}.ob-row:hover .ob-row-actions .ob-act,.ob-row.is-in-selection .ob-row-actions .ob-act,.ob-row:focus-within .ob-row-actions .ob-act{opacity:1}.ob-act{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;color:var(--c-text-muted);border-radius:var(--r-xs);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.ob-act svg{width:13px;height:13px}.ob-act:hover{background:var(--c-surface-3);color:var(--c-text)}.ob-act.on{color:var(--c-text)}.ob-act.on:hover{background:var(--c-surface-3)}.ob-act--danger:hover{background:var(--c-danger-soft);color:var(--c-danger)}.ob-row.is-dimmed .ob-act.on,.ob-row.is-locked .ob-act.on{color:var(--c-text);background:var(--c-surface-3)}.ob-grip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:12px;height:18px;margin-left:-2px;color:var(--c-line-strong);opacity:0;cursor:grab;border-radius:3px;transition:opacity var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.ob-grip svg{width:10px;height:10px}.ob-row:hover .ob-grip{opacity:.7}.ob-row:hover .ob-grip:hover{opacity:1;color:var(--c-text-2);background:var(--c-surface-3)}.ob-grip:active{cursor:grabbing}.ob-row.is-dragging{opacity:.3}.ob-row.is-dragging *{pointer-events:none}.ob-row.is-drop-before{box-shadow:inset 0 2px 0 0 var(--c-accent)}.ob-row.is-drop-after{box-shadow:inset 0 -2px 0 0 var(--c-accent)}.ob-row.is-drop-inside .ob-row-content{background:color-mix(in srgb,var(--c-accent) 12%,transparent);box-shadow:inset 0 0 0 1.5px var(--c-accent);border-radius:var(--ob-row-radius)}.ob-list.is-drop-root{background:color-mix(in srgb,var(--c-accent) 6%,transparent);border-radius:var(--r-xs)}.ob-row{cursor:default}.ob-row:not(.is-renaming):not(.is-dragging){cursor:pointer}.ob-row.is-renaming{cursor:text}.right-tabs button{cursor:pointer}.canvas-host{position:relative;flex:1;background:radial-gradient(circle at 20% 30%,color-mix(in srgb,var(--c-accent) 6%,transparent),transparent 50%),var(--c-bg);overflow:hidden}.canvas-mount{position:absolute;top:0;right:0;bottom:0;left:0}.status-bar{position:absolute;left:0;right:0;bottom:0;height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:color-mix(in srgb,var(--c-paper) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--c-line);font-family:var(--ff-mono);font-size:11px;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--c-ink-soft);z-index:8;-webkit-user-select:none;user-select:none}.status-group{display:flex;align-items:center;gap:0}.status-group>*+*{border-left:1px solid var(--c-line);padding-left:12px;margin-left:12px}.status-cell{display:inline-flex;align-items:baseline;gap:6px;color:var(--c-ink)}.status-cell .label{color:var(--c-ink-soft);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;font-family:var(--ff-sans);opacity:.7}.status-cell.muted{color:var(--c-ink-soft)}.status-toggle{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 10px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--c-ink-soft);font-family:var(--ff-sans);font-size:11px;font-weight:500;letter-spacing:0;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.status-toggle:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c-line-strong);transition:background var(--dur-fast) var(--ease)}.status-toggle:hover{background:color-mix(in srgb,var(--c-ink) 4%,transparent);color:var(--c-ink)}.status-toggle.on{background:var(--c-selection-bg);color:var(--c-selection);border-color:color-mix(in srgb,var(--c-selection) 24%,transparent)}.status-toggle.on:before{background:var(--c-selection)}.status-zoom{display:inline-flex;align-items:center;gap:2px}.status-zoom-btn,.status-zoom-val,.status-zoom-fit{display:inline-flex;align-items:center;justify-content:center;height:22px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--c-ink-soft);font-family:var(--ff-sans);font-size:12px;font-weight:500;line-height:1;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.status-zoom-btn{width:22px;padding:0;font-size:14px}.status-zoom-val{min-width:44px;padding:0 6px;font-family:var(--ff-mono);font-size:11px;font-variant-numeric:tabular-nums}.status-zoom-fit{width:24px;padding:0;font-size:13px}.status-zoom-btn:hover,.status-zoom-val:hover,.status-zoom-fit:hover{background:color-mix(in srgb,var(--c-ink) 5%,transparent);color:var(--c-ink);border-color:var(--c-line)}.compass{position:absolute;top:14px;right:14px;width:56px;height:56px;pointer-events:none;z-index:10}.guide-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.guide-item{display:grid;grid-template-columns:18px 1fr 22px;align-items:center;gap:6px;padding:4px 6px;border-left:2px solid var(--c-pencil-navy);background:color-mix(in srgb,var(--c-pencil-navy) 4%,var(--c-paper));border-radius:0 var(--r-xs) var(--r-xs) 0;font-family:var(--ff-mono);font-size:11px;font-weight:300;color:var(--c-ink);font-variant-numeric:tabular-nums}.guide-glyph{color:var(--c-pencil-navy);font-weight:500;text-align:center}.guide-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-remove-btn{width:22px;height:22px;border:none;background:transparent;color:var(--c-ink-soft);font-size:14px;line-height:1;border-radius:var(--r-xs);cursor:pointer;transition:background .12s cubic-bezier(.2,.8,.2,1),color .12s cubic-bezier(.2,.8,.2,1)}.guide-remove-btn:hover{background:color-mix(in srgb,var(--c-pencil-red) 14%,transparent);color:var(--c-pencil-red)}.align-stamp{position:absolute;transform:translate(-50%,-100%);z-index:36;pointer-events:none;display:inline-flex;align-items:baseline;gap:0;padding:4px 12px 5px;background:color-mix(in srgb,var(--c-paper) 94%,transparent);border-bottom:1px dotted var(--c-pencil-graphite-soft);font-family:var(--ff-mono);font-size:10px;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:var(--c-pencil-graphite);white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 1px #1a18150a;animation:align-stamp-in 80ms cubic-bezier(.2,.8,.2,1);transition:color .12s cubic-bezier(.2,.8,.2,1),border-color .12s cubic-bezier(.2,.8,.2,1)}.align-stamp-glyph{display:inline-block;width:14px;margin-right:8px;font-family:var(--ff-mono);font-weight:500;font-size:12px;letter-spacing:0;color:var(--c-pencil-graphite);transform:translateY(1px);transition:color .12s cubic-bezier(.2,.8,.2,1)}.align-stamp-state{font-weight:500;letter-spacing:.16em;color:var(--c-pencil-graphite);transition:color .12s cubic-bezier(.2,.8,.2,1)}.align-stamp-sep{margin:0 8px;color:var(--c-pencil-graphite-soft);font-weight:300;letter-spacing:0}.align-stamp-target{display:inline-flex;align-items:baseline;gap:6px;color:var(--c-ink);font-weight:400}.align-stamp-target-glyph{display:inline-block;width:10px;font-size:11px;letter-spacing:0;color:var(--c-pencil-graphite-soft);transform:translateY(1px)}.align-stamp-diff{color:var(--c-pencil-graphite);font-variant-numeric:tabular-nums;letter-spacing:.06em}.align-stamp.is-locked{border-bottom-style:solid;border-bottom-color:var(--c-pencil-red);background:color-mix(in srgb,var(--c-pencil-red-tint) 70%,var(--c-paper))}.align-stamp.is-locked .align-stamp-glyph,.align-stamp.is-locked .align-stamp-state{color:var(--c-pencil-red);font-weight:500}.align-stamp.is-locked .align-stamp-target-glyph{color:var(--c-pencil-red)}@keyframes align-stamp-in{0%{opacity:0;transform:translate(-50%,-98%)}to{opacity:1;transform:translate(-50%,-100%)}}.dynamic-hud{position:absolute;transform:translate(18px,18px);z-index:35;pointer-events:none;display:flex;flex-direction:column;gap:2px;padding:8px 10px 7px;background:color-mix(in srgb,var(--c-paper) 96%,transparent);border:1px solid var(--c-line-strong);border-radius:6px;box-shadow:var(--sh-hud);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:116px}.dynamic-hud-line{font-family:var(--ff-mono);font-weight:400;font-size:12px;line-height:1.2;color:var(--c-ink);letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.dynamic-hud-line:first-letter{color:var(--c-ink-soft);font-weight:500}.dim-edit{position:absolute;z-index:30;display:inline-flex;align-items:center;background:var(--c-surface);border:1px solid var(--c-accent);border-radius:var(--r-sm);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-accent) 14%,transparent),var(--sh-2);padding:2px 6px;font-family:var(--ff-mono);font-size:12px;font-variant-numeric:tabular-nums;transform:translate(-50%,-50%)}.plot-start{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:color-mix(in srgb,var(--c-bg) 60%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:25;pointer-events:auto}.plot-start-card{width:min(640px,calc(100% - 64px));background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:28px 28px 24px;box-shadow:var(--sh-3)}.plot-start-card h2{margin:0 0 6px;font-size:20px;font-weight:600;letter-spacing:-.01em}.plot-start-sub{margin:0 0 20px;color:var(--c-text-muted);font-size:13px;line-height:1.5}.plot-start-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width: 720px){.plot-start-grid{grid-template-columns:repeat(4,1fr)}}.plot-start-tile.active{background:var(--c-accent-soft);border-color:var(--c-accent)}.cadastre-form{margin-top:16px;padding:14px;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-md);display:flex;flex-direction:column;gap:8px}.cadastre-row{display:flex;gap:8px}.cadastre-row .input{flex:1;font-family:var(--ff-mono);font-variant-numeric:tabular-nums}.plot-start-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 16px;background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--r-lg);color:var(--c-text);text-align:left;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.plot-start-tile:hover{background:var(--c-surface);border-color:var(--c-accent);transform:translateY(-1px)}.plot-start-tile:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.plot-start-tile .tile-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-md);background:var(--c-accent-soft);color:var(--c-accent)}.plot-start-tile .tile-title{font-weight:600;font-size:14px}.plot-start-tile .tile-sub{font-size:12px;color:var(--c-text-muted)}.right-panel{display:flex;flex-direction:column;flex:0 0 300px;width:300px;min-width:300px;max-width:300px;min-height:0;background:var(--c-surface);border-left:1px solid var(--c-line)}.right-tabs{position:relative;display:flex;flex-shrink:0;border-bottom:1px solid var(--c-line);padding:6px 8px 0;gap:4px;background:linear-gradient(to bottom,color-mix(in srgb,var(--c-paper) 50%,transparent),transparent)}.right-tabs button{position:relative;flex:1;height:38px;padding:0 12px;background:transparent;border:none;color:var(--c-text-muted);font-size:12.5px;font-weight:500;letter-spacing:.005em;cursor:pointer;transition:color var(--dur-fast) var(--ease)}.right-tabs button:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:1px 1px 0 0;background:transparent;transition:background var(--dur-fast) var(--ease),left var(--dur-fast) var(--ease),right var(--dur-fast) var(--ease)}.right-tabs button:hover{color:var(--c-text)}.right-tabs button:hover:after{background:color-mix(in srgb,var(--c-text-muted) 35%,transparent)}.right-tabs button.active{color:var(--c-text);font-weight:600}.right-tabs button.active:after{background:var(--c-accent);left:4px;right:4px}.right-panel .ob{width:auto;border-left:none;flex:1;min-height:0;overflow:hidden}.props{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.props-header{flex-shrink:0;padding:14px 16px;border-bottom:1px solid var(--c-line);background:var(--c-surface);position:sticky;top:0;z-index:1}.props-header h3{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-muted)}.props-section{padding:14px 16px;border-bottom:1px solid var(--c-line);display:flex;flex-direction:column;gap:10px}.props-section:last-child{border-bottom:none}.props-section-title{font-size:12px;font-weight:600;color:var(--c-text-2);margin-bottom:4px}.props-row{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:10px}.props-label{font-size:12px;color:var(--c-text-muted)}.props-select{height:30px;padding:0 8px;border-radius:var(--r-sm);border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-text);font-size:13px}.props-select:focus{outline:none;border-color:var(--c-accent)}.props-input{display:inline-flex;align-items:center;gap:6px;height:30px;border:1px solid var(--c-line-strong);border-radius:var(--r-sm);padding:0 8px;background:var(--c-surface);transition:border-color var(--dur-fast) var(--ease)}.props-input:focus-within{border-color:var(--c-accent)}.props-input input{width:100%;border:none;outline:none;background:transparent;font-family:var(--ff-mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--c-text)}.props-input .unit{font-size:12px;color:var(--c-text-muted)}.props-value{font-family:var(--ff-mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--c-text)}.props-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--c-text-2);cursor:pointer}.props-toggle input{width:14px;height:14px;accent-color:var(--c-accent)}.props-info{margin:0;font-size:12px;font-family:var(--ff-mono);font-variant-numeric:tabular-nums;color:var(--c-text-2);line-height:1.4}.props-info.muted{color:var(--c-text-muted);font-family:var(--ff-sans);font-style:italic}.props-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;text-align:center;color:var(--c-text-muted)}.props-empty-glyph{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--r-pill);background:var(--c-surface-2);color:var(--c-text-muted)}.props-empty-title{margin:0;font-size:13px;font-weight:600;color:var(--c-text-2)}.props-empty-hint{margin:0;font-size:12px;line-height:1.45;max-width:220px}.props-danger{margin-top:8px;width:100%}.props-danger svg,.props-section .btn-danger svg{width:16px;height:16px}.ctx-menu{position:absolute;z-index:40;min-width:180px;padding:4px;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-md);box-shadow:var(--sh-3)}.ctx-item{display:flex;align-items:center;width:100%;height:30px;padding:0 10px;background:transparent;border:none;border-radius:var(--r-xs);font-size:13px;color:var(--c-text);text-align:left}.ctx-item:hover{background:var(--c-surface-2)}.ctx-item.danger{color:var(--c-danger)}.ctx-item.danger:hover{background:var(--c-danger-soft)}.dim-edit input{width:64px;border:none;outline:none;background:transparent;font:inherit;color:var(--c-text);text-align:right}.dim-edit .unit{color:var(--c-text-muted);margin-left:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:color-mix(in srgb,var(--c-ink) 35%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:100;animation:modal-fade-in var(--dur) var(--ease)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-sheet{width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-3);overflow:hidden;animation:modal-pop-in var(--dur) var(--ease)}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--c-line)}.modal-title{flex:1;margin:0;font-size:15px;font-weight:600;letter-spacing:-.005em;color:var(--c-text)}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--c-text-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.modal-close:hover{background:var(--c-surface-2);color:var(--c-text)}.modal-close:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.modal-body{flex:1;min-height:0;overflow-y:auto;padding:8px 20px 16px}.modal-section{padding:12px 0;border-bottom:1px solid var(--c-line);display:flex;flex-direction:column;gap:12px}.modal-section:last-child{border-bottom:none}.modal-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-muted);margin:0}.modal-row{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:12px}.modal-row-label{font-size:13px;color:var(--c-text-2)}.modal-toggle{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--c-text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.modal-toggle input{width:14px;height:14px;accent-color:var(--c-accent)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--c-line);background:var(--c-surface-2)}
