html,body,#root{height:100%;margin:0}body{background:var(--bg-canvas);color:var(--text-primary);font:var(--font-size-ui) / var(--line-height-ui) var(--font-ui)}.marketing-root{min-height:100%;display:flex;flex-direction:column}.marketing-header,.marketing-footer{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--bg-surface)}.marketing-header{border-bottom:var(--edge-width-deep) solid var(--line)}.marketing-footer{justify-content:center;border-top:var(--edge-width-deep) solid var(--line)}.marketing-header nav{display:flex;flex-wrap:wrap;gap:var(--space-3)}.marketing-header a,.marketing-footer a,.public-action-card a{color:var(--text-primary);text-decoration:none;min-height:var(--tap-min-touch);display:inline-flex;align-items:center}.marketing-header a:hover,.marketing-footer a:hover,.public-action-card a:hover{color:var(--accent)}.marketing-brand{font-weight:var(--font-weight-caption)}.marketing-language{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;color:var(--text-secondary)}.marketing-language select,.public-action-card input{font:inherit;color:var(--text-primary);background:var(--bg-sunken);border:var(--edge-width-deep) solid var(--line);border-radius:var(--radius-sm);min-height:var(--control-height);padding:var(--space-1) var(--space-2)}.marketing-app-link,.public-action-card button.primary{border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-fg);padding:0 var(--space-3)}.marketing-header .marketing-app-link{color:var(--root-fg)}.marketing-main{flex:1;display:flex;justify-content:center;width:100%;box-sizing:border-box;padding:var(--space-7) var(--space-5)}.marketing-page{width:calc(var(--dialog-width) * 2);max-width:100%}.marketing-page h1{margin:0 0 var(--space-4);font-size:calc(var(--font-size-ui) * 2);line-height:calc(var(--line-height-ui) * 2)}.marketing-page p{color:var(--text-secondary)}.public-action-card{width:var(--dialog-width);max-width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);background:var(--bg-surface);border:var(--edge-width-deep) solid var(--line);border-radius:var(--dialog-radius);box-shadow:var(--shadow-popover)}.public-action-card p{margin:0}.public-action-card label{display:flex;width:100%;flex-direction:column;gap:var(--space-1);color:var(--text-secondary)}.public-action-card button{font:inherit;min-height:var(--tap-min-touch);border:0;cursor:pointer}.public-action-card button[disabled]{cursor:default;opacity:var(--node-hover-alpha)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto}}.landing{min-height:100%;background:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--landing-text);line-height:var(--landing-line);-webkit-font-smoothing:antialiased}.landing *,.landing *:before,.landing *:after{box-sizing:border-box}.landing a{color:inherit}.landing :where(a,button):focus-visible,.landing main:focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.landing :where(h1,h2,h3){margin:0;text-wrap:balance}.landing :where(p,figure,dl,dd,pre){margin:0}.landing-wrap{width:100%;max-width:var(--landing-col);margin:0 auto;padding-inline:var(--landing-gutter)}.landing-visually-hidden{position:absolute;width:var(--sr-size);height:var(--sr-size);overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.landing-skip{position:absolute;left:var(--space-4);top:var(--space-2);z-index:30;padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:var(--edge-width-deep) solid var(--line);border-radius:var(--radius-sm);transform:translateY(-200%)}.landing-skip:focus{transform:none}.landing h1{font-size:var(--landing-h1);line-height:var(--landing-h1-line);font-weight:var(--font-weight-strong);letter-spacing:var(--landing-h1-tracking);margin-bottom:var(--space-5)}.landing h2{font-size:var(--landing-h2);line-height:var(--landing-h2-line);font-weight:var(--font-weight-strong);letter-spacing:var(--landing-h2-tracking)}.landing h3{font-size:var(--landing-h3);font-weight:var(--font-weight-strong)}.landing-eyebrow{font-family:var(--font-mono);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);letter-spacing:var(--landing-eyebrow-tracking);text-transform:uppercase;color:var(--text-tertiary)}.landing-eyebrow:not(.landing-feature-tag){margin-bottom:var(--space-3)}.landing-head{position:var(--landing-head-position);top:0;z-index:20;background:var(--bg-canvas);background:color-mix(in srgb,var(--bg-canvas) var(--landing-head-alpha),transparent);-webkit-backdrop-filter:blur(var(--landing-head-blur));backdrop-filter:blur(var(--landing-head-blur));border-bottom:var(--edge-width-deep) solid var(--line)}.landing-head-row{min-height:var(--landing-head-height);display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--space-3);row-gap:var(--space-2);padding-block:var(--space-2)}.landing-brand{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--landing-head-tap);margin-right:auto;font-weight:var(--font-weight-strong);text-decoration:none}.landing-mark{display:block;width:var(--landing-mark);height:var(--landing-mark)}.landing-mark .landing-branch{stroke-width:var(--landing-mark-stroke);opacity:1}.landing-nav{order:var(--landing-nav-order);flex-basis:var(--landing-nav-basis);display:flex;flex-wrap:wrap;column-gap:var(--landing-nav-gap);margin-right:auto;font-size:var(--landing-note)}.landing-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:var(--landing-head-tap);min-height:var(--landing-head-tap);color:var(--text-secondary);text-decoration:none}.landing-nav a:hover{color:var(--text-primary)}.landing-lang{display:flex;gap:var(--space-1);padding:var(--track-pad);border:var(--edge-width-deep) solid var(--line);border-radius:var(--menu-radius);font-family:var(--font-mono);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption)}.landing .landing-lang-link{display:inline-flex;align-items:center;justify-content:center;min-width:var(--landing-head-tap);min-height:var(--landing-head-tap);border-radius:var(--segment-radius);color:var(--text-tertiary);text-decoration:none;letter-spacing:var(--letter-spacing-caption)}.landing .landing-lang-link[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.landing-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--landing-tap);padding:0 var(--space-4);border-radius:var(--field-radius);border:var(--edge-width-deep) solid transparent;font-size:var(--landing-note);font-weight:var(--font-weight-caption);text-decoration:none;white-space:nowrap}.landing-head .landing-btn{min-height:var(--landing-head-tap);padding:0 var(--space-3);font-size:var(--landing-fine);flex-grow:var(--landing-head-action-grow)}.landing a.landing-btn-primary{background:var(--root-bg);color:var(--root-fg)}.landing-btn-primary:hover{filter:brightness(1.08)}.landing-btn-ghost{border-color:var(--edge);color:var(--text-primary)}.landing-btn-ghost:hover{background:var(--bg-sunken)}.landing-hero{position:relative;overflow:hidden;border-bottom:var(--edge-width-deep) solid var(--line)}.landing-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,var(--canvas-grid-color) var(--canvas-grid-line),transparent 0),linear-gradient(to bottom,var(--canvas-grid-color) var(--canvas-grid-line),transparent 0);background-size:var(--canvas-grid-step) var(--canvas-grid-step);-webkit-mask-image:linear-gradient(to bottom,black,black var(--landing-grid-fade),transparent);mask-image:linear-gradient(to bottom,black,black var(--landing-grid-fade),transparent);pointer-events:none}.landing-hero-grid{position:relative;display:grid;grid-template-columns:var(--landing-hero-cols);gap:var(--landing-gap);align-items:center;padding-block:var(--landing-hero-pad)}.landing-hero-copy{max-width:var(--landing-measure-narrow)}.landing-lead{font-size:var(--landing-lead);color:var(--text-secondary);max-width:var(--landing-measure)}.landing-cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.landing-cta-note{margin-top:var(--space-4);font-size:var(--landing-fine);color:var(--text-tertiary)}.landing-map{min-width:0;width:100%;max-width:var(--landing-map-max);background:var(--bg-surface);border:var(--edge-width-deep) solid var(--line);border-radius:var(--dialog-radius);box-shadow:var(--shadow-pop);overflow:hidden}.landing-map-bar{height:var(--landing-map-bar);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-bottom:var(--edge-width-deep) solid var(--line);font-family:var(--font-mono);font-size:var(--font-size-caption);color:var(--text-tertiary)}.landing-map-dot{width:var(--landing-map-dot);height:var(--landing-map-dot);border-radius:50%;background:var(--edge);flex:none}.landing-map-saved{margin-left:auto}.landing-map-svg{display:block;width:100%;height:auto}.landing-ink-teal{color:var(--node-teal)}.landing-ink-amber{color:var(--node-amber)}.landing-ink-green{color:var(--node-green)}.landing-ink-purple{color:var(--node-purple)}.landing-ink-red{color:var(--node-red)}.landing-branch{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:var(--edge-width-first);opacity:var(--edge-alpha-first)}.landing-branch.is-deep{stroke-width:var(--edge-width-deep);opacity:var(--edge-alpha-deep)}.landing-map-root{fill:var(--root-bg)}.landing-map-root-text{fill:var(--root-fg);font-family:var(--font-ui);font-weight:var(--font-weight-strong)}.landing-map-node text{fill:currentColor;font-family:var(--font-ui)}.landing-map-node line{stroke:currentColor;stroke-linecap:round;stroke-width:var(--edge-width-first);opacity:var(--edge-alpha-first)}.landing-map-node line.is-deep{stroke-width:var(--edge-width-deep);opacity:var(--edge-alpha-deep)}.landing-map-selection{fill:var(--accent-soft)}.landing-map-selection-ring{fill:none;stroke:var(--accent);stroke-width:var(--node-selected-border)}.landing-map-collapse{fill:var(--bg-surface);stroke:var(--collapse-ring);stroke-width:var(--edge-width-deep)}.landing-map-collapse-count{fill:currentColor;font-family:var(--font-ui)}.landing main>section{border-bottom:var(--edge-width-deep) solid var(--line);scroll-margin-top:var(--landing-head-height)}.landing main:focus{outline:none}.landing-section{padding-block:var(--landing-section-pad)}.landing-section-head{max-width:var(--landing-measure);margin-bottom:var(--space-7)}.landing-section-head>p:last-child,.landing-note{color:var(--text-secondary);margin-top:var(--space-3)}.landing-note{font-size:var(--landing-small)}.landing-features{display:grid;grid-template-columns:var(--landing-feature-cols);gap:var(--edge-width-deep);background:var(--line);border-top:var(--edge-width-deep) solid var(--line)}.landing-section-top{padding-top:var(--landing-section-pad)}.landing-feature{background:var(--bg-canvas);padding:var(--landing-feature-pad);display:flex;flex-direction:column;gap:var(--space-2)}.landing-feature .landing-feature-tag{color:var(--accent)}.landing-feature p{color:var(--text-secondary);font-size:var(--landing-small)}.landing-split{display:grid;grid-template-columns:var(--landing-split-cols);gap:var(--landing-gap);align-items:start}.landing-keys{display:grid}.landing-key-row{display:grid;grid-template-columns:var(--landing-key-cols);gap:var(--space-1) var(--space-4);align-items:baseline;padding:var(--space-3) 0;border-bottom:var(--edge-width-deep) solid var(--line);font-size:var(--landing-small)}.landing-key-row:first-child{border-top:var(--edge-width-deep) solid var(--line)}.landing-key-row dt{display:flex;flex-wrap:wrap;gap:var(--space-1)}.landing-key-row dd{color:var(--text-secondary)}.landing kbd{font-family:var(--font-mono);font-size:var(--landing-kbd);font-weight:var(--font-weight-caption);color:var(--text-primary);background:var(--bg-sunken);border:var(--edge-width-deep) solid var(--line);border-bottom-width:var(--edge-width-first);border-radius:var(--landing-kbd-radius);padding:var(--landing-kbd-pad);white-space:nowrap}.landing-plans{display:grid;grid-template-columns:var(--landing-plan-cols);gap:var(--space-5)}.landing-plan{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--landing-plan-pad);background:var(--bg-surface);border:var(--edge-width-deep) solid var(--line);border-radius:var(--dialog-radius)}.landing-plan-free{border-color:var(--accent)}.landing .landing-plan-name{font-family:var(--font-mono);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);letter-spacing:var(--landing-eyebrow-tracking);text-transform:uppercase;color:var(--text-tertiary)}.landing-price{font-size:var(--landing-price);font-weight:var(--font-weight-strong);letter-spacing:var(--landing-price-tracking);font-variant-numeric:tabular-nums}.landing-price small{font-size:var(--landing-note);font-weight:400;letter-spacing:0;color:var(--text-tertiary)}.landing-plan-status{align-self:flex-start;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);font-size:var(--landing-fine);font-weight:var(--font-weight-caption)}.landing-plan ul{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2);font-size:var(--landing-small);color:var(--text-secondary)}.landing-plan li{display:flex;gap:var(--space-2)}.landing-plan li:before{content:"—";flex:none;color:var(--edge)}.landing-plans-note{margin-top:var(--space-5);font-size:var(--landing-note);color:var(--text-tertiary)}.landing-road{display:grid;margin-top:var(--space-6)}.landing-road-item{display:grid;gap:var(--space-1);padding:var(--space-4) 0;border-bottom:var(--edge-width-deep) solid var(--line)}.landing-road-item:first-child{border-top:var(--edge-width-deep) solid var(--line)}.landing .landing-road-item h3{font-size:var(--landing-small)}.landing-road-item p{color:var(--text-secondary);font-size:var(--landing-small)}.landing-code pre{padding:var(--space-4);background:var(--bg-sunken);border:var(--edge-width-deep) solid var(--line);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--landing-code);line-height:var(--landing-code-line);color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.landing-code b{color:var(--text-primary);font-weight:var(--font-weight-caption)}.landing-code-comment{color:var(--text-secondary);font-style:italic}.landing-code figcaption{margin-top:var(--space-3);font-size:var(--landing-fine);color:var(--text-tertiary)}.landing-faq{display:grid;max-width:var(--landing-measure-wide)}.landing-qa{display:grid;gap:var(--space-2);padding:var(--space-4) 0;border-bottom:var(--edge-width-deep) solid var(--line)}.landing-qa:first-child{border-top:var(--edge-width-deep) solid var(--line)}.landing-qa p{color:var(--text-secondary);font-size:var(--landing-small)}.landing-final-body{display:grid;justify-items:center;gap:var(--space-4);text-align:center}.landing-final-body p{max-width:var(--landing-measure-narrow);color:var(--text-secondary)}.landing-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);padding-block:var(--space-5) var(--space-7);font-size:var(--landing-fine);color:var(--text-tertiary)}.landing-foot-link{display:inline-flex;align-items:center;min-height:var(--landing-head-tap);margin-left:auto}.landing .landing-foot-link{color:var(--text-secondary)}.landing .landing-foot-link:hover{color:var(--text-primary)}@media (prefers-reduced-motion: reduce){.landing *,.landing *:before,.landing *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
