/* Public composition, using the same identity as the working application. */
.public-site { margin:0; -webkit-font-smoothing:antialiased; }
.public-site *, .public-site *::before, .public-site *::after { box-sizing:border-box; }
.public-site::before, .public-site::after { display:none; }
.public-site a { color:inherit; text-decoration:none; }
.public-site p { line-height:var(--typography-line-height-1-7-8f65223); }
.public-site button, .public-site input, .public-site select { font:inherit; }
.public-site button:disabled { opacity:.55; cursor:wait; }
.public-site [hidden] { display:none!important; }
.public-site :is(h1,h2,h3,p) { margin:0; }
.wrap { width:min(var(--layout-public-max), calc(100% - var(--geometry-width-96px-96ecb2f))); margin-inline:auto; }
.public-header { border-bottom:var(--geometry-border-1px-93e2062) solid var(--line-soft); }
.public-nav { display:flex; align-items:center; gap:var(--spacing-gap-36px-a0a3565); min-height:var(--geometry-min-height-88px-6c2f838); }
.public-brand { font-family:var(--font-pixel); display:inline-flex; gap:var(--spacing-padding-10px-38cb6b4); align-items:center; font-size:var(--typography-font-size-21px-dfe998b); font-weight:var(--typography-font-weight-650-2099a9b); letter-spacing:var(--typography-letter-spacing-7px-ecca76a); }
.public-brand img { display:block; }
.public-nav nav { display:flex; align-items:center; gap:var(--spacing-gap-28px-c80bfee); margin-left:auto; }
.public-nav nav a, .public-signin { color:var(--muted); font-size:var(--public-control-font); }
.public-nav a:hover, .quiet-link:hover { color:var(--accent); }
.public-nav .public-button { min-height:var(--geometry-min-height-40px-1db6432); font-size:var(--typography-font-size-13px-145f2f5); padding:0 var(--spacing-padding-16px-6793164); }
.public-nav-tools { display:flex; align-items:center; gap:var(--spacing-padding-22px-5d6c439); }.public-menu { display:none; }
.public-sr-only { position:absolute; width:var(--geometry-border-1px-93e2062); height:var(--geometry-border-1px-93e2062); padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.public-menu-dialog { color:var(--ink); background:var(--paper); border:0; padding:0; width:100%; max-width:none; height:var(--geometry-height-100dvh-9e432e5); max-height:none; margin:0; overscroll-behavior:contain; }
.public-menu-dialog::backdrop { background:var(--paper); }.public-menu-open { overflow:hidden; }
.public-menu-content { display:flex; flex-direction:column; min-height:100%; padding:0 var(--spacing-gap-24px-2793cbc); }
.public-menu-head { display:flex; align-items:center; justify-content:space-between; min-height:var(--geometry-min-height-72px-be40887); border-bottom:var(--geometry-border-1px-93e2062) solid var(--line); touch-action:pan-x; }
.public-menu-head .public-menu { gap:var(--spacing-padding-10px-38cb6b4); }.public-menu svg { display:block; width:var(--geometry-width-16px-6793164); height:var(--geometry-width-16px-6793164); flex:none; fill:currentColor; }
.public-menu-groups { display:grid; grid-template-columns:1fr 1fr; gap:var(--spacing-gap-32px-9d9bfb3) var(--spacing-gap-24px-2793cbc); padding-block:var(--spacing-gap-32px-9d9bfb3); }
.public-menu-groups section { min-width:0; }.public-menu-groups h3 { padding-bottom:var(--spacing-padding-12px-7769e81); margin-bottom:var(--spacing-padding-8px-eb4ebe4); border-bottom:var(--geometry-border-1px-93e2062) solid var(--line-strong); color:var(--dim); font:var(--typography-font-size-11px-6d3b65a) var(--font-mono); }
.public-menu-groups a { display:flex; align-items:center; min-height:var(--public-control-height); font-size:var(--public-control-font); }.public-menu-groups a:hover { color:var(--accent); }
.public-menu-foot { display:flex; align-items:center; justify-content:space-between; gap:var(--spacing-gap-20px-9bf0c8e); margin-top:auto; padding-block:var(--spacing-padding-block-18px-ab98c04) max(var(--spacing-padding-block-18px-ab98c04),env(safe-area-inset-bottom)); border-top:var(--geometry-border-1px-93e2062) solid var(--line); color:var(--dim); font-size:var(--typography-font-size-12px-7769e81); }
.footer-inner .public-socials { gap:var(--spacing-gap-4px-3566015); }
.skip-link { position:fixed; top:8px; left:8px; padding:var(--spacing-padding-12px-7769e81); background:var(--accent); color:var(--accent-ink)!important; z-index:20; transform:translateY(-150%); }.skip-link:focus { transform:none; }
.public-button { display:inline-flex; align-items:center; justify-content:center; gap:var(--spacing-gap-26px-48984c3); min-height:var(--public-control-height); padding:var(--public-control-py) var(--public-control-px); border:var(--geometry-border-1px-93e2062) solid var(--line-strong); border-radius:var(--r-sm); background:var(--panel); color:var(--ink); font-size:var(--public-control-font); font-weight:var(--typography-font-weight-550-f89f8d0); line-height:var(--typography-line-height-1-2-77ac319); transition:background var(--dur-control),border-color var(--dur-control),transform var(--dur-control); }
.public-button > span { display:block; }.public-button:hover { border-color:var(--accent); transform:translateY(-2px); box-shadow:2px 3px 0 var(--line-soft); }
.public-button:active { transform:translateY(0); box-shadow:none; }
.public-button.primary { background:var(--button-fill); border-color:var(--button-fill); color:var(--button-text); }.public-button.primary:hover { background:var(--button-hover); border-color:var(--button-hover); color:var(--button-text); }
.public-actions { display:flex; align-items:center; gap:var(--spacing-gap-28px-c80bfee); flex-wrap:wrap; }.quiet-link { display:inline-flex; align-items:center; gap:var(--spacing-padding-16px-6793164); min-height:var(--geometry-min-height-44px-717594b); font-size:var(--public-control-font); }
.public-hero { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--spacing-gap-56px-7d24764); align-items:center; padding-block:var(--spacing-padding-block-76px-f4c7d87) var(--spacing-padding-block-100px-cf197d3); }.eyeline,.section-number,.demo-caption,.mono { font-family:var(--font-mono); font-size:var(--typography-font-size-11px-6d3b65a); letter-spacing:var(--typography-letter-spacing-01em-d57b5fa); }
.eyeline { display:flex; align-items:center; gap:var(--spacing-padding-9px-12a8299); color:var(--muted); }.status-dot { display:block; width:var(--geometry-border-radius-6px-7adef6a); height:var(--geometry-border-radius-6px-7adef6a); background:var(--accent); border-radius:50%; }
.public-hero h1 { font-family:var(--font-heading); font-size:clamp(var(--typography-font-size-48px-4712812),var(--typography-font-size-5-3vw-90d1b05),var(--typography-font-size-80px-686f5c0)); font-weight:var(--type-hero-weight); line-height:var(--typography-line-height-1-08-2af765d); letter-spacing:var(--typography-letter-spacing-06em-3381b6e); margin-block:var(--spacing-padding-22px-5d6c439); }.public-hero h1 > span { color:var(--accent); }
.hero-intro { max-width:var(--geometry-max-width-570px-7cf0d35); font-size:var(--typography-font-size-18px-ab98c04); color:var(--muted); }.public-hero .public-actions { margin-top:var(--spacing-gap-20px-9bf0c8e); }.access-note { color:var(--dim); font-size:var(--typography-font-size-12px-7769e81); margin-top:var(--spacing-padding-12px-7769e81)!important; }
.product-section { padding-block:0 var(--spacing-padding-block-100px-cf197d3); scroll-margin-top:28px; }.section-top { display:flex; align-items:baseline; justify-content:space-between; gap:var(--spacing-gap-20px-9bf0c8e); padding-top:var(--spacing-gap-24px-2793cbc); border-top:var(--geometry-border-1px-93e2062) solid var(--line); color:var(--dim); font-size:var(--typography-font-size-12px-7769e81); }.section-number { color:var(--accent); }
.section-intro { display:flex; align-items:end; justify-content:space-between; gap:var(--spacing-gap-50px-dbea953); margin-block:var(--spacing-margin-block-38px-6018510); }.public-site h2 { font-family:var(--font-heading); font-size:clamp(var(--typography-font-size-32px-9d9bfb3),var(--typography-font-size-3-6vw-9f5d2e9),var(--typography-font-size-48px-4712812)); font-weight:var(--typography-font-weight-500-0604cd3); line-height:var(--typography-line-height-1-15-9f0e787); letter-spacing:var(--typography-letter-spacing-047em-bff7af3); }.section-intro > p { max-width:var(--geometry-max-width-390px-d16c9e6); color:var(--muted); font-size:var(--typography-font-size-15px-7f10880); }
#iris .section-intro { margin-block:var(--spacing-gap-20px-9bf0c8e); }#iris .section-top { padding-top:var(--spacing-padding-16px-6793164); }
.product-shot { margin:0; border:var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--r-sm); overflow:hidden; background:var(--sunken); }.demo-toolbar { display:flex; align-items:center; justify-content:space-between; gap:var(--spacing-padding-16px-6793164); padding:var(--spacing-padding-16px-6793164) var(--spacing-padding-22px-5d6c439); border-bottom:var(--geometry-border-1px-93e2062) solid var(--line); background:var(--panel); color:var(--muted); font-size:var(--typography-font-size-12px-7769e81); }
.segmented { display:inline-flex; gap:var(--spacing-gap-3px-ac33ff9); border:var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--r-xs); padding:var(--spacing-gap-3px-ac33ff9); }.segmented button { background:transparent; border:0; border-radius:var(--geometry-height-3px-ac33ff9); color:var(--muted); padding:var(--spacing-padding-7px-a15202e) var(--spacing-padding-12px-7769e81); font-size:var(--typography-font-size-12px-7769e81); }.segmented button[aria-pressed="true"] { background:var(--panel-strong); color:var(--ink); }
.screenshot-frame { aspect-ratio:16/10; overflow:hidden; }.screenshot-frame img { display:block; width:100%; height:auto; }.product-shot figcaption { padding:var(--spacing-gap-14px-09f9739) var(--spacing-padding-22px-5d6c439); border-top:var(--geometry-border-1px-93e2062) solid var(--line); font-size:var(--typography-font-size-11px-6d3b65a); color:var(--dim); }
.preview-expand { display:block; position:relative; cursor:zoom-in; }.preview-expand picture,.preview-expand img { display:block; width:100%; height:auto; }.preview-hint { position:absolute; right:14px; bottom:14px; display:inline-flex; align-items:center; gap:var(--spacing-padding-12px-7769e81); padding:var(--spacing-padding-9px-12a8299) var(--spacing-padding-12px-7769e81); border:var(--geometry-border-1px-93e2062) solid var(--line-strong); border-radius:var(--r-xs); background:var(--panel); color:var(--ink); font-size:var(--typography-font-size-11px-6d3b65a); }
.use-cases { display:grid; grid-template-columns:1fr 1fr; gap:var(--spacing-gap-36px-a0a3565); padding-top:var(--spacing-gap-26px-48984c3); }.use-cases p { color:var(--dim); font-size:var(--typography-font-size-13px-145f2f5); }.use-cases span { display:block; color:var(--ink); margin-bottom:var(--spacing-padding-6px-7adef6a); }
.home-experience { border:var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--r-md); overflow:hidden; background:var(--paper); }
.public-not-found { padding-block:clamp(var(--spacing-padding-block-64px-a7d674f),var(--spacing-padding-block-12vh-89f50e3),var(--spacing-padding-block-140px-46bd065)); min-height:var(--geometry-min-height-65vh-6a20967); }.public-not-found h1 { font-size:clamp(var(--typography-font-size-38px-6018510),var(--typography-font-size-6vw-f89fcb9),var(--typography-font-size-76px-f4c7d87)); font-weight:var(--typography-font-weight-500-0604cd3); line-height:var(--typography-line-height-1-08-2af765d); letter-spacing:var(--typography-letter-spacing-055em-992504f); margin-block:var(--spacing-gap-24px-2793cbc); }.public-not-found > p:not(.eyeline) { color:var(--muted); }.public-not-found .public-actions { margin-top:var(--spacing-gap-32px-9d9bfb3); }.public-not-found .access-note a { text-decoration:underline; text-underline-offset:var(--geometry-text-underline-offset-4px-3566015); }
.demo-entry-bar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--spacing-padding-12px-7769e81); padding:var(--spacing-padding-block-18px-ab98c04) var(--spacing-padding-22px-5d6c439); border-bottom:var(--geometry-border-1px-93e2062) solid var(--line); color:var(--muted); font-size:var(--typography-font-size-10px-38cb6b4); background:var(--panel); }
.demo-entry-body,.demo-entry { text-align:center; }.demo-entry-body { padding:var(--spacing-margin-block-38px-6018510) var(--spacing-gap-24px-2793cbc); }.demo-entry-body > img { display:block; margin:0 auto var(--spacing-padding-block-18px-ab98c04); }.demo-entry h3 { font-size:var(--typography-font-size-24px-2793cbc); font-weight:var(--typography-font-weight-500-0604cd3); letter-spacing:var(--typography-letter-spacing-035em-e41687e); }.demo-entry-body > p { color:var(--muted); font-size:var(--typography-font-size-13px-145f2f5); margin-top:var(--spacing-gap-14px-09f9739); }
.demo-entry-prompts { display:grid; grid-template-columns:1fr 1fr; gap:var(--spacing-padding-10px-38cb6b4); max-width:var(--geometry-max-width-650px-24aa210); margin:var(--spacing-gap-24px-2793cbc) auto; }.demo-entry-prompts button { display:flex; align-items:center; text-align:left; min-height:var(--geometry-min-height-58px-9e79cb0); padding:var(--spacing-gap-14px-09f9739) var(--spacing-padding-block-18px-ab98c04); font-size:var(--typography-font-size-12px-7769e81); border:var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--r-sm); background:var(--panel); color:var(--ink); }.demo-entry-prompts button:hover { border-color:var(--accent); }.demo-entry-note { font-size:var(--typography-font-size-11px-6d3b65a)!important; }.demo-entry-note a { display:inline-flex; align-items:center; min-height:var(--geometry-min-height-44px-717594b); margin-left:var(--spacing-padding-12px-7769e81); text-decoration:underline; text-underline-offset:var(--geometry-text-underline-offset-4px-3566015); }
.reference-captures { margin-top:var(--spacing-gap-24px-2793cbc); }.reference-captures > summary { display:flex; align-items:center; min-height:var(--public-control-height); cursor:pointer; color:var(--muted); font-size:var(--typography-font-size-12px-7769e81); list-style:none; gap:var(--spacing-gap-14px-09f9739); }.reference-captures > summary::before { content:"+"; font-family:var(--font-mono); }.reference-captures[open] > summary::before { content:"−"; }.reference-captures > summary::-webkit-details-marker { display:none; }
.demo-page-intro { padding-block:var(--spacing-padding-block-42px-c98b24d) var(--spacing-gap-28px-c80bfee); }.demo-page-intro h1 { margin-block:var(--spacing-padding-16px-6793164); font-size:clamp(var(--typography-font-size-36px-a0a3565),var(--typography-font-size-5vw-897330e),var(--typography-font-size-58px-9e79cb0)); font-weight:var(--typography-font-weight-500-0604cd3); letter-spacing:var(--typography-letter-spacing-05em-ea898e2); }.demo-page-intro > p:last-child { color:var(--muted); font-size:var(--typography-font-size-15px-7f10880); }.demo-page-wrap { width:calc(100% - var(--geometry-width-64px-a7d674f)); max-width:var(--geometry-max-width-1440px-b4cad4d); margin:auto; }.demo-page-outro { display:flex; align-items:center; justify-content:space-between; gap:var(--spacing-gap-30px-95a8d35); padding-block:var(--spacing-gap-30px-95a8d35) var(--spacing-gap-50px-dbea953); }.demo-page-outro p { max-width:var(--geometry-max-width-700px-38402fb); color:var(--dim); font-size:var(--typography-font-size-12px-7769e81); }
@media (max-width:720px) { .demo-entry-bar { padding:var(--spacing-gap-14px-09f9739); }.demo-entry-bar > span:last-child { display:none; }.demo-entry-body { padding:var(--spacing-gap-28px-c80bfee) var(--spacing-padding-16px-6793164); }.demo-entry-prompts { grid-template-columns:1fr; gap:var(--spacing-padding-8px-eb4ebe4); }.demo-entry-prompts button { min-height:var(--public-control-height); font-size:var(--typography-font-size-11px-6d3b65a); padding:var(--spacing-padding-12px-7769e81); }.demo-entry h3 { font-size:var(--typography-font-size-21px-dfe998b); }.demo-entry-note a { margin-left:0; }.demo-page-wrap { width:calc(100% - var(--geometry-width-20px-9bf0c8e)); }.demo-page-intro { padding-block:var(--spacing-gap-30px-95a8d35) var(--spacing-gap-24px-2793cbc); }.demo-page-outro { flex-wrap:wrap; padding-block:var(--spacing-gap-24px-2793cbc) var(--spacing-gap-36px-a0a3565); } }
.public-preview-open { overflow:hidden; }.preview-dialog { width:calc(100% - var(--geometry-min-height-40px-1db6432)); max-width:var(--geometry-max-width-1480px-b43d93f); max-height:calc(var(--geometry-height-100dvh-9e432e5) - var(--geometry-min-height-40px-1db6432)); padding:var(--spacing-gap-20px-9bf0c8e); border:var(--geometry-border-1px-93e2062) solid var(--line-strong); border-radius:var(--r-sm); background:var(--paper); color:var(--ink); }.preview-dialog::backdrop { background:var(--overlay); }.preview-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:var(--spacing-padding-16px-6793164); padding-bottom:var(--spacing-padding-block-18px-ab98c04); }.preview-dialog-head h2 { font-size:var(--typography-font-size-20px-9bf0c8e); }.preview-dialog-head button { min-height:var(--geometry-min-height-44px-717594b); }.preview-dialog-scroll { max-height:calc(var(--geometry-height-100dvh-9e432e5) - var(--geometry-max-height-220px-db2299b)); overflow:auto; border:var(--geometry-border-1px-93e2062) solid var(--line); background:var(--sunken); }.preview-dialog-scroll img { display:block; width:auto; min-width:100%; max-width:none; height:auto; }.preview-dialog > p { color:var(--muted); font-size:var(--typography-font-size-12px-7769e81); padding-top:var(--spacing-padding-16px-6793164); }
.preview-dialog[open] { display:flex; flex-direction:column; height:calc(var(--geometry-height-100dvh-9e432e5) - var(--geometry-min-height-40px-1db6432)); overflow:hidden; }
.preview-dialog[open][data-preview-kind="plan"] { height:fit-content; }
.preview-dialog[data-preview-kind="plan"] .preview-dialog-scroll { flex:0 1 auto; }
.preview-dialog-head,.preview-dialog-tools,.preview-dialog > p { flex:none; }
.preview-dialog-tools { display:flex; align-items:center; justify-content:space-between; gap:var(--spacing-padding-12px-7769e81) var(--spacing-gap-20px-9bf0c8e); flex-wrap:wrap; padding-bottom:var(--spacing-padding-16px-6793164); }
.preview-view-options { display:flex; align-items:center; gap:var(--spacing-padding-16px-6793164); flex-wrap:wrap; }
.preview-view-options .public-button { padding:var(--spacing-padding-10px-38cb6b4) var(--spacing-padding-12px-7769e81); font-size:var(--typography-font-size-11px-6d3b65a); gap:var(--spacing-padding-12px-7769e81); min-height:var(--geometry-min-height-44px-717594b); }
.preview-view-options svg { display:block; flex:none; }
.preview-view-options .public-button[aria-pressed="true"] { border-color:var(--accent); color:var(--accent); }
.preview-dialog-scroll { min-height:0; flex:1 1 auto; max-height:none; overscroll-behavior:contain; }
.preview-dialog-scroll img { width:100%; min-width:0; max-width:none; margin-inline:auto; }
.preview-dialog { --preview-native-width:1440px; }
.preview-dialog[data-preview-kind="plan"] { --preview-native-width:833px; }
.preview-dialog[data-zoom="detail"] .preview-dialog-scroll img { width:var(--preview-native-width); }
.preview-dialog > .preview-reader-note { color:var(--dim); font-size:var(--typography-font-size-11px-6d3b65a); padding-top:var(--spacing-padding-8px-eb4ebe4); }
@media (max-width:720px) {
  .preview-dialog[open] { height:calc(var(--geometry-height-100dvh-9e432e5) - var(--geometry-width-20px-9bf0c8e)); }
  .preview-dialog[data-preview-kind] { --preview-native-width:430px; }
  .preview-dialog-tools { gap:var(--spacing-padding-10px-38cb6b4); padding-bottom:var(--spacing-padding-12px-7769e81); }
  .preview-view-options { width:100%; justify-content:space-between; gap:var(--spacing-padding-8px-eb4ebe4); }
  .preview-dialog-head { padding-bottom:var(--spacing-padding-12px-7769e81); }
  .preview-dialog > p { font-size:var(--typography-font-size-11px-6d3b65a); padding-top:var(--spacing-padding-10px-38cb6b4); }
}
@media (max-height:600px) { .preview-dialog > .preview-reader-note { display:none; } }
.iris-notes { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--spacing-gap-36px-a0a3565); padding-block:var(--spacing-gap-28px-c80bfee) 0; }.iris-notes p { color:var(--dim); font-size:var(--typography-font-size-13px-145f2f5); }.iris-notes span { display:block; color:var(--ink); font-size:var(--typography-font-size-13px-145f2f5); margin-bottom:var(--spacing-padding-6px-7adef6a); }
.workflow-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--spacing-padding-16px-6793164); margin-top:var(--spacing-gap-24px-2793cbc); font-size:var(--typography-font-size-13px-145f2f5); color:var(--muted); }.workflow-links a { display:inline-flex; gap:var(--spacing-gap-24px-2793cbc); align-items:center; min-height:var(--geometry-min-height-44px-717594b); }.workflow-links a:hover { color:var(--accent); }
.plan-preview > img { display:block; width:100%; height:auto; min-height:var(--geometry-min-height-240px-1c8c76d); object-fit:contain; background:var(--paper); }.plan-preview figcaption { min-height:var(--geometry-min-height-72px-be40887); }.section-footnote { margin-top:var(--spacing-gap-20px-9bf0c8e)!important; color:var(--dim); font-size:var(--typography-font-size-13px-145f2f5); max-width:var(--geometry-max-width-760px-d06240e); }.evidence-shot { margin-top:var(--spacing-gap-32px-9d9bfb3); }.evidence-shot > img { display:block; width:100%; height:auto; }
.split-section { display:grid; grid-template-columns:1fr 1fr; gap:var(--spacing-gap-90px-f9378ad); align-items:center; margin-top:var(--spacing-margin-top-48px-4712812); }.section-copy > p { font-size:var(--typography-font-size-16px-6793164); color:var(--muted); margin-top:var(--spacing-gap-24px-2793cbc); max-width:var(--geometry-max-width-420px-c09f5af); }.section-copy > p.small-copy { font-size:var(--typography-font-size-13px-145f2f5); color:var(--dim); margin-top:var(--spacing-padding-16px-6793164); }.section-copy > :is(.public-button,.public-actions,.quiet-link) { margin-top:var(--spacing-gap-28px-c80bfee); }
.patch-demo,.record-demo,.code-demo { border:var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--r-sm); background:var(--panel); overflow:hidden; }.patch-demo { padding:var(--spacing-gap-26px-48984c3); }.patch-demo > .demo-caption { color:var(--dim); padding-bottom:var(--spacing-gap-28px-c80bfee); }
.patch-assumption,.patch-steps li { display:flex; align-items:center; gap:var(--spacing-padding-16px-6793164); font-size:var(--typography-font-size-13px-145f2f5); min-height:var(--geometry-width-64px-a7d674f); }.patch-assumption { border-bottom:var(--geometry-border-1px-93e2062) solid var(--line); padding-bottom:var(--spacing-padding-12px-7769e81); }.patch-assumption p { flex:1; line-height:var(--type-line-body); }.step-index { color:var(--dim); font-family:var(--font-mono); font-size:var(--typography-font-size-11px-6d3b65a); flex:none; }.step-state { margin-left:auto; color:var(--dim); font-size:var(--typography-font-size-10px-38cb6b4); border:var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--geometry-text-underline-offset-4px-3566015); padding:var(--spacing-gap-4px-3566015) var(--spacing-padding-7px-a15202e); white-space:nowrap; }.patch-steps { list-style:none; padding:var(--spacing-padding-8px-eb4ebe4) 0; margin:0; }
.patch-demo.is-corrected .step-state { color:var(--amber); border-color:color-mix(in srgb,var(--amber) 30%,var(--line)); }.patch-demo.is-corrected [data-state="keep"] { color:var(--ok); border-color:color-mix(in srgb,var(--ok) 30%,var(--line)); }.patch-explanation { min-height:var(--geometry-min-height-3-4em-3bfd2f6); color:var(--muted); font-size:var(--typography-font-size-12px-7769e81); border-top:var(--geometry-border-1px-93e2062) solid var(--line); padding-top:var(--spacing-padding-16px-6793164); }
.record-demo > .demo-caption { padding:var(--spacing-padding-22px-5d6c439); color:var(--dim); border-bottom:var(--geometry-border-1px-93e2062) solid var(--line); }.record-demo details { border-bottom:var(--geometry-border-1px-93e2062) solid var(--line-soft); }.record-demo summary { display:flex; align-items:center; gap:var(--spacing-gap-14px-09f9739); padding:var(--spacing-gap-20px-9bf0c8e) var(--spacing-padding-22px-5d6c439); cursor:pointer; font-size:var(--typography-font-size-13px-145f2f5); list-style:none; }.record-demo summary::-webkit-details-marker { display:none; }.record-demo summary::after { content:"+"; color:var(--dim); }.record-demo details[open] summary::after { content:"−"; }.record-dot { width:var(--geometry-width-7px-a15202e); height:var(--geometry-width-7px-a15202e); border:var(--geometry-border-1px-93e2062) solid var(--accent); border-radius:50%; flex:none; }.record-demo details[open] .record-dot { background:var(--accent); }.record-time { margin-left:auto; color:var(--dim); font-family:var(--font-mono); font-size:var(--typography-font-size-10px-38cb6b4); }.record-demo details p { padding:0 var(--spacing-padding-22px-5d6c439) var(--spacing-padding-22px-5d6c439) var(--spacing-padding-43px-b7f46a8); color:var(--muted); font-size:var(--typography-font-size-13px-145f2f5); }.record-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--spacing-padding-8px-eb4ebe4); color:var(--dim); font-size:var(--typography-font-size-10px-38cb6b4); padding:var(--spacing-gap-20px-9bf0c8e) var(--spacing-padding-22px-5d6c439); }.record-footer .mono { font-size:var(--typography-font-size-9px-12a8299); }
.code-demo pre { font-size:var(--typography-font-size-12px-7769e81); line-height:var(--typography-line-height-1-9-eca06fd); padding:var(--spacing-gap-26px-48984c3); margin:0; overflow-x:auto; background:var(--code-bg); color:var(--code-ink); }.syntax-keyword { color:var(--syn-keyword); }.syntax-string { color:var(--syn-string); }.syntax-comment { color:var(--syn-comment); }.code-demo > a { display:flex; justify-content:space-between; font-size:var(--typography-font-size-12px-7769e81); padding:var(--spacing-padding-block-18px-ab98c04) var(--spacing-padding-22px-5d6c439); border-top:var(--geometry-border-1px-93e2062) solid var(--line); }
.waitlist-section { display:grid; grid-template-columns:1fr 1fr; gap:var(--spacing-gap-90px-f9378ad); align-items:start; border-top:var(--geometry-border-1px-93e2062) solid var(--line); padding-block:var(--spacing-padding-block-64px-a7d674f) var(--spacing-padding-block-80px-686f5c0); }.waitlist-section h2 { margin-top:var(--spacing-gap-26px-48984c3); font-size:clamp(var(--typography-font-size-40px-1db6432),var(--typography-font-size-4-5vw-fae75ae),var(--typography-font-size-64px-a7d674f)); }.waitlist-section > div > p:last-child { margin-top:var(--spacing-gap-24px-2793cbc); color:var(--muted); font-size:var(--public-control-font); max-width:var(--geometry-max-width-320px-9b10085); }.waitlist-card { padding:var(--spacing-gap-30px-95a8d35); background:var(--panel); border:var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--r-sm); }
.waitlist-card label { display:flex; align-items:center; justify-content:space-between; gap:var(--spacing-padding-12px-7769e81); margin-bottom:var(--spacing-padding-10px-38cb6b4); font-size:var(--typography-font-size-12px-7769e81); }.waitlist-card input,.waitlist-card select { width:100%; min-height:var(--public-control-height); padding:var(--spacing-padding-10px-38cb6b4) var(--spacing-padding-12px-7769e81); border:var(--geometry-border-1px-93e2062) solid var(--line-strong); background:var(--paper); color:var(--ink); border-radius:var(--r-xs); font-size:var(--public-control-font); margin-bottom:var(--spacing-gap-24px-2793cbc); }.waitlist-card input::placeholder { color:var(--dim); }.waitlist-card .public-button { width:100%; justify-content:space-between; }.optional,.form-fine { color:var(--dim); font-size:var(--typography-font-size-11px-6d3b65a); }.form-fine { margin-top:var(--spacing-padding-block-18px-ab98c04)!important; }.public-site .form-fine a,.google-note a,.public-standalone p a { text-decoration:underline; text-underline-offset:var(--geometry-height-3px-ac33ff9); }.form-status { font-size:var(--typography-font-size-13px-145f2f5); color:var(--muted); }.form-status:not(:empty) { margin-top:var(--spacing-padding-block-18px-ab98c04); }.form-status[data-error="true"] { color:var(--danger); }.honey { position:absolute; width:var(--geometry-border-1px-93e2062); height:var(--geometry-border-1px-93e2062); overflow:hidden; clip-path:inset(50%); }
.google-note { border-top:var(--geometry-border-1px-93e2062) solid var(--line-soft); padding-block:var(--spacing-gap-24px-2793cbc); color:var(--dim); font-size:var(--typography-font-size-11px-6d3b65a); }.public-footer { border-top:var(--geometry-border-1px-93e2062) solid var(--line); padding-block:var(--spacing-gap-30px-95a8d35); }.footer-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--spacing-gap-24px-2793cbc); }.footer-inner p { color:var(--dim); font-size:var(--typography-font-size-12px-7769e81); }.footer-inner nav { display:flex; flex-wrap:wrap; gap:var(--spacing-padding-22px-5d6c439); font-size:var(--typography-font-size-12px-7769e81); color:var(--muted); }.theme-label { display:inline-flex; align-items:center; gap:var(--spacing-padding-8px-eb4ebe4); color:var(--dim); font-size:var(--typography-font-size-11px-6d3b65a); }.theme-label select { background:var(--paper); color:var(--muted); border:var(--geometry-border-1px-93e2062) solid var(--line); padding:var(--spacing-padding-8px-eb4ebe4); border-radius:var(--r-xs); font-size:var(--typography-font-size-12px-7769e81); }
.public-standalone { max-width:var(--geometry-max-width-560px-ae6cfbb); margin:var(--spacing-gap-90px-f9378ad) auto; padding-inline:var(--spacing-gap-24px-2793cbc); }.public-standalone h1 { font-size:var(--typography-font-size-48px-4712812); line-height:var(--typography-line-height-1-1-b05e244); font-weight:var(--typography-font-weight-500-0604cd3); letter-spacing:var(--typography-letter-spacing-045em-d1531a8); margin-block:var(--spacing-gap-24px-2793cbc); }.public-standalone > p { color:var(--muted); font-size:var(--typography-font-size-15px-7f10880); margin-bottom:var(--spacing-gap-28px-c80bfee); }.public-standalone .waitlist-card { margin-top:var(--spacing-gap-28px-c80bfee); }
.public-standalone .waitlist-card > .form-status { margin-top:0; font-size:var(--public-control-font); }
.public-standalone .waitlist-card > .form-status:not([hidden]) + form { margin-top:var(--spacing-padding-22px-5d6c439); }
.waitlist-account-links { display:grid; gap:var(--spacing-gap-4px-3566015); margin-top:var(--spacing-gap-24px-2793cbc); padding-top:var(--spacing-padding-16px-6793164); border-top:var(--geometry-border-1px-93e2062) solid var(--line); }
.waitlist-account-links p { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--spacing-gap-4px-3566015) var(--spacing-padding-16px-6793164); color:var(--muted); font-size:var(--typography-font-size-12px-7769e81); }
.waitlist-account-links a { display:inline-flex; align-items:center; min-height:var(--geometry-min-height-44px-717594b); color:var(--ink); font-size:var(--typography-font-size-13px-145f2f5); }
.waitlist-account-links a:hover { color:var(--accent); }
.public-admin { padding-block:var(--spacing-padding-block-60px-229a5dc); min-height:var(--geometry-min-height-65vh-6a20967); }.public-admin h1 { margin-bottom:var(--spacing-padding-16px-6793164); font-size:var(--typography-font-size-40px-1db6432); font-weight:var(--typography-font-weight-500-0604cd3); letter-spacing:var(--typography-letter-spacing-04em-0b92113); }.admin-controls { display:flex; align-items:center; gap:var(--spacing-padding-16px-6793164); flex-wrap:wrap; margin-block:var(--spacing-gap-28px-c80bfee); }.admin-controls select { min-height:var(--geometry-min-height-44px-717594b); padding:var(--spacing-padding-8px-eb4ebe4); background:var(--panel); color:var(--ink); border:var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--r-xs); }.waitlist-entries { display:grid; gap:var(--spacing-padding-12px-7769e81); }.waitlist-entry { padding:var(--spacing-padding-22px-5d6c439); border:var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--r-sm); }.waitlist-entry h2 { font-size:var(--typography-font-size-18px-ab98c04); overflow-wrap:anywhere; letter-spacing:var(--typography-letter-spacing-02em-a1bf9ed); }.waitlist-entry p { color:var(--muted); font-size:var(--typography-font-size-12px-7769e81); margin-block:var(--spacing-padding-8px-eb4ebe4) var(--spacing-padding-16px-6793164); }.waitlist-entry .public-actions { gap:var(--spacing-padding-10px-38cb6b4); }.waitlist-entry input { width:100%; margin-top:var(--spacing-padding-16px-6793164); min-height:var(--geometry-min-height-44px-717594b); padding:var(--spacing-padding-12px-7769e81); border:var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--r-xs); background:var(--paper); color:var(--ink); }
@media (max-width:1000px) { .wrap { width:calc(100% - var(--geometry-width-56px-7d24764)); }.split-section,.waitlist-section { gap:var(--spacing-padding-40px-1db6432); }.public-nav { gap:var(--spacing-padding-22px-5d6c439); }.public-nav nav { gap:var(--spacing-gap-20px-9bf0c8e); }.public-nav-tools { gap:var(--spacing-gap-14px-09f9739); } }
@media (max-width:720px) {
  .wrap { width:calc(100% - var(--geometry-min-height-40px-1db6432)); }.public-nav { min-height:var(--geometry-min-height-72px-be40887); gap:var(--spacing-gap-20px-9bf0c8e); flex-wrap:wrap; position:relative; }.public-brand { font-size:var(--typography-font-size-19px-6ddf472); }.public-nav-tools { margin-left:auto; gap:var(--spacing-padding-16px-6793164); }.public-nav-tools > .public-button { display:none; }.public-menu { display:inline-flex; align-items:center; justify-content:center; background:var(--panel); color:var(--ink); border:var(--geometry-border-1px-93e2062) solid var(--line); border-radius:var(--r-xs); min-width:var(--geometry-min-height-44px-717594b); min-height:var(--geometry-min-height-44px-717594b); padding:var(--spacing-padding-8px-eb4ebe4); font-size:var(--typography-font-size-12px-7769e81); }.public-nav nav { display:none; width:100%; margin:0; padding:0 0 var(--spacing-gap-20px-9bf0c8e); gap:var(--spacing-gap-24px-2793cbc); }.public-nav nav.is-open { display:flex; }
  .public-hero { padding-block:var(--spacing-padding-block-52px-da5e345) var(--spacing-padding-block-44px-717594b); }.public-hero h1 { font-size:clamp(var(--typography-font-size-40px-1db6432),var(--typography-font-size-8-3vw-a3cb791),var(--typography-font-size-60px-229a5dc)); margin-block:var(--spacing-gap-24px-2793cbc); }.eyeline { font-size:var(--typography-font-size-9px-12a8299); }.hero-intro { font-size:var(--typography-font-size-16px-6793164); }.access-note { max-width:var(--geometry-max-width-270px-b8666c8); }.section-top { gap:var(--spacing-padding-12px-7769e81); }.section-top > p:last-child { font-size:var(--typography-font-size-10px-38cb6b4); text-align:right; }.section-intro { display:block; margin-block:var(--spacing-gap-28px-c80bfee); }.section-intro > p { margin-top:var(--spacing-padding-22px-5d6c439); max-width:100%; }.public-site h2 { font-size:var(--typography-font-size-34px-929994f); }.product-section { padding-bottom:var(--spacing-padding-block-64px-a7d674f); }.demo-toolbar { padding:var(--spacing-padding-12px-7769e81); flex-wrap:wrap; }.segmented button { padding:var(--spacing-padding-9px-12a8299); font-size:var(--typography-font-size-10px-38cb6b4); }.demo-caption { font-size:var(--typography-font-size-9px-12a8299); }.screenshot-frame { aspect-ratio:auto; }.screenshot-frame img { height:auto; width:100%; max-width:100%; }.product-shot figcaption { font-size:var(--typography-font-size-11px-6d3b65a); padding:var(--spacing-gap-14px-09f9739); }.iris-notes { grid-template-columns:1fr; gap:var(--spacing-padding-block-18px-ab98c04); padding-top:var(--spacing-padding-22px-5d6c439); }.iris-notes span { margin-bottom:var(--spacing-gap-2px-7476140); }.use-cases { grid-template-columns:1fr; gap:var(--spacing-padding-block-18px-ab98c04); }.preview-hint { right:10px; bottom:10px; }.preview-dialog { width:calc(100% - var(--geometry-width-20px-9bf0c8e)); max-height:calc(var(--geometry-height-100dvh-9e432e5) - var(--geometry-width-20px-9bf0c8e)); padding:var(--spacing-gap-14px-09f9739); }.preview-dialog-head h2 { font-size:var(--typography-font-size-17px-9bb5d32); }.preview-dialog-head button { padding:var(--spacing-padding-10px-38cb6b4); font-size:var(--typography-font-size-12px-7769e81); }
  .split-section,.waitlist-section { grid-template-columns:1fr; gap:var(--spacing-gap-30px-95a8d35); margin-top:var(--spacing-gap-30px-95a8d35); }.record-layout .record-demo { order:2; }.patch-demo { padding:var(--spacing-gap-20px-9bf0c8e); }.patch-assumption,.patch-steps li { gap:var(--spacing-padding-10px-38cb6b4); font-size:var(--typography-font-size-12px-7769e81); }.step-state { font-size:var(--typography-font-size-9px-12a8299); padding:var(--spacing-gap-4px-3566015); }.waitlist-section { padding-block:var(--spacing-padding-40px-1db6432) var(--spacing-margin-top-48px-4712812); margin-top:0; }.waitlist-section h2 { font-size:var(--typography-font-size-44px-717594b); }.waitlist-card { padding:var(--spacing-padding-22px-5d6c439); }.footer-inner { align-items:start; }.footer-inner nav { gap:var(--spacing-padding-block-18px-ab98c04); }.public-standalone { margin-block:var(--spacing-padding-block-60px-229a5dc); }.public-standalone h1 { font-size:var(--typography-font-size-40px-1db6432); }
}
@media (prefers-reduced-motion:no-preference) { .public-hero h1,.hero-intro,.public-hero .public-actions { animation:public-enter var(--dur-reveal) var(--ease-out) both; }.hero-intro { animation-delay:var(--motion-animation-delay-70ms-134dd96); }.public-hero .public-actions { animation-delay:var(--motion-animation-delay-140ms-9202e73); }@keyframes public-enter { from { opacity:0; transform:translateY(10px); }to { opacity:1; transform:none; } } }


/* A small workbench, not a second application or a decorative game scene. */
