/* Public pages only. The authenticated app keeps its existing design. */
.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:1.7; }
.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(1200px, calc(100% - 96px)); margin-inline:auto; }
.public-header { border-bottom:1px solid var(--line-soft); }
.public-nav { display:flex; align-items:center; gap:36px; min-height:88px; }
.public-brand { display:inline-flex; gap:10px; align-items:center; font-size:21px; font-weight:650; letter-spacing:-.7px; }
.public-brand img { display:block; }
.public-nav nav { display:flex; align-items:center; gap:28px; margin-left:auto; }
.public-nav nav a, .public-signin { color:var(--muted); font-size:14px; }
.public-nav a:hover, .quiet-link:hover { color:var(--accent); }
.public-nav .public-button { min-height:40px; font-size:13px; padding:0 16px; }
.public-nav-tools { display:flex; align-items:center; gap:22px; }.public-menu { display:none; }
.public-sr-only { position:absolute; width:1px; height:1px; 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:100dvh; 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 24px; }
.public-menu-head { display:flex; align-items:center; justify-content:space-between; min-height:72px; border-bottom:1px solid var(--line); touch-action:pan-x; }
.public-menu-head .public-menu { gap:10px; }.public-menu svg { display:block; width:16px; height:16px; flex:none; fill:currentColor; }
.public-menu-groups { display:grid; grid-template-columns:1fr 1fr; gap:32px 24px; padding-block:32px; }
.public-menu-groups section { min-width:0; }.public-menu-groups h3 { padding-bottom:12px; margin-bottom:8px; border-bottom:1px solid var(--line-strong); color:var(--dim); font:11px var(--font-mono); }
.public-menu-groups a { display:flex; align-items:center; min-height:48px; font-size:14px; }.public-menu-groups a:hover { color:var(--accent); }
.public-menu-foot { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:auto; padding-block:18px max(18px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); color:var(--dim); font-size:12px; }
.footer-inner .public-socials { gap:4px; }
.skip-link { position:fixed; top:8px; left:8px; padding:12px; 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:26px; min-height:48px; padding:12px 22px; border:1px solid var(--line-strong); border-radius:7px; background:var(--panel); color:var(--ink); font-size:14px; font-weight:550; line-height:1.2; transition:background .18s,border-color .18s,transform .18s; }
.public-button > span { display:block; }.public-button:hover { border-color:var(--accent); transform:translateY(-1px); }
.public-button.primary { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }.public-button.primary:hover { background:var(--accent-hover); border-color:var(--accent-hover); color:var(--accent-ink); }
.public-actions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }.quiet-link { display:inline-flex; align-items:center; gap:16px; min-height:44px; font-size:14px; }
.public-hero { padding-block:32px 20px; }.eyeline,.section-number,.demo-caption,.mono { font-family:var(--font-mono); font-size:11px; letter-spacing:.01em; }
.eyeline { display:flex; align-items:center; gap:9px; color:var(--muted); }.status-dot { display:block; width:6px; height:6px; background:var(--accent); border-radius:50%; }
.public-hero h1 { font-family:var(--font-ui); font-size:clamp(48px,6.4vw,80px); font-weight:520; line-height:1.08; letter-spacing:-.06em; margin-block:22px; }.public-hero h1 > span { color:var(--muted); }
.hero-intro { max-width:570px; font-size:18px; color:var(--muted); }.public-hero .public-actions { margin-top:20px; }.access-note { color:var(--dim); font-size:12px; margin-top:12px!important; }
.product-section { padding-block:0 100px; scroll-margin-top:28px; }.section-top { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding-top:24px; border-top:1px solid var(--line); color:var(--dim); font-size:12px; }.section-number { color:var(--accent); }
.section-intro { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-block:38px; }.public-site h2 { font-family:var(--font-ui); font-size:clamp(32px,3.6vw,48px); font-weight:500; line-height:1.15; letter-spacing:-.047em; }.section-intro > p { max-width:390px; color:var(--muted); font-size:15px; }
#iris .section-intro { margin-block:20px; }#iris .section-top { padding-top:16px; }
.product-shot { margin:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--sunken); }.demo-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 22px; border-bottom:1px solid var(--line); background:var(--panel); color:var(--muted); font-size:12px; }
.segmented { display:inline-flex; gap:3px; border:1px solid var(--line); border-radius:6px; padding:3px; }.segmented button { background:transparent; border:0; border-radius:3px; color:var(--muted); padding:7px 12px; font-size:12px; }.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:14px 22px; border-top:1px solid var(--line); font-size:11px; 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:12px; padding:9px 12px; border:1px solid var(--line-strong); border-radius:5px; background:var(--panel); color:var(--ink); font-size:11px; }
.use-cases { display:grid; grid-template-columns:1fr 1fr; gap:36px; padding-top:26px; }.use-cases p { color:var(--dim); font-size:13px; }.use-cases span { display:block; color:var(--ink); margin-bottom:6px; }
.home-experience { border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--paper); }
.public-not-found { padding-block:clamp(64px,12vh,140px); min-height:65vh; }.public-not-found h1 { font-size:clamp(38px,6vw,76px); font-weight:500; line-height:1.08; letter-spacing:-.055em; margin-block:24px; }.public-not-found > p:not(.eyeline) { color:var(--muted); }.public-not-found .public-actions { margin-top:32px; }.public-not-found .access-note a { text-decoration:underline; text-underline-offset:4px; }
.demo-entry-bar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:18px 22px; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; background:var(--panel); }
.demo-entry-body,.demo-entry { text-align:center; }.demo-entry-body { padding:38px 24px; }.demo-entry-body > img { display:block; margin:0 auto 18px; }.demo-entry h3 { font-size:24px; font-weight:500; letter-spacing:-.035em; }.demo-entry-body > p { color:var(--muted); font-size:13px; margin-top:14px; }
.demo-entry-prompts { display:grid; grid-template-columns:1fr 1fr; gap:10px; max-width:650px; margin:24px auto; }.demo-entry-prompts button { display:flex; align-items:center; text-align:left; min-height:58px; padding:14px 18px; font-size:12px; border:1px solid var(--line); border-radius:8px; background:var(--panel); color:var(--ink); }.demo-entry-prompts button:hover { border-color:var(--accent); }.demo-entry-note { font-size:11px!important; }.demo-entry-note a { display:inline-flex; align-items:center; min-height:44px; margin-left:12px; text-decoration:underline; text-underline-offset:4px; }
.reference-captures { margin-top:24px; }.reference-captures > summary { display:flex; align-items:center; min-height:48px; cursor:pointer; color:var(--muted); font-size:12px; list-style:none; gap:14px; }.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:42px 28px; }.demo-page-intro h1 { margin-block:16px; font-size:clamp(36px,5vw,58px); font-weight:500; letter-spacing:-.05em; }.demo-page-intro > p:last-child { color:var(--muted); font-size:15px; }.demo-page-wrap { width:calc(100% - 64px); max-width:1440px; margin:auto; }.demo-page-outro { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:30px 50px; }.demo-page-outro p { max-width:700px; color:var(--dim); font-size:12px; }
@media (max-width:720px) { .demo-entry-bar { padding:14px; }.demo-entry-bar > span:last-child { display:none; }.demo-entry-body { padding:28px 16px; }.demo-entry-prompts { grid-template-columns:1fr; gap:8px; }.demo-entry-prompts button { min-height:48px; font-size:11px; padding:12px; }.demo-entry h3 { font-size:21px; }.demo-entry-note a { margin-left:0; }.demo-page-wrap { width:calc(100% - 20px); }.demo-page-intro { padding-block:30px 24px; }.demo-page-outro { flex-wrap:wrap; padding-block:24px 36px; } }
.public-preview-open { overflow:hidden; }.preview-dialog { width:calc(100% - 40px); max-width:1480px; max-height:calc(100dvh - 40px); padding:20px; border:1px solid var(--line-strong); border-radius:12px; 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:16px; padding-bottom:18px; }.preview-dialog-head h2 { font-size:20px; }.preview-dialog-head button { min-height:44px; }.preview-dialog-scroll { max-height:calc(100dvh - 220px); overflow:auto; border:1px 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:12px; padding-top:16px; }
.preview-dialog[open] { display:flex; flex-direction:column; height:calc(100dvh - 40px); 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:12px 20px; flex-wrap:wrap; padding-bottom:16px; }
.preview-view-options { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.preview-view-options .public-button { padding:10px 12px; font-size:11px; gap:12px; min-height:44px; }
.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:11px; padding-top:8px; }
@media (max-width:720px) {
  .preview-dialog[open] { height:calc(100dvh - 20px); }
  .preview-dialog[data-preview-kind] { --preview-native-width:430px; }
  .preview-dialog-tools { gap:10px; padding-bottom:12px; }
  .preview-view-options { width:100%; justify-content:space-between; gap:8px; }
  .preview-dialog-head { padding-bottom:12px; }
  .preview-dialog > p { font-size:11px; padding-top:10px; }
}
@media (max-height:600px) { .preview-dialog > .preview-reader-note { display:none; } }
.iris-notes { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; padding-block:28px 0; }.iris-notes p { color:var(--dim); font-size:13px; }.iris-notes span { display:block; color:var(--ink); font-size:13px; margin-bottom:6px; }
.workflow-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; margin-top:24px; font-size:13px; color:var(--muted); }.workflow-links a { display:inline-flex; gap:24px; align-items:center; min-height:44px; }.workflow-links a:hover { color:var(--accent); }
.plan-preview > img { display:block; width:100%; height:auto; min-height:240px; object-fit:contain; background:var(--paper); }.plan-preview figcaption { min-height:72px; }.section-footnote { margin-top:20px!important; color:var(--dim); font-size:13px; max-width:760px; }.evidence-shot { margin-top:32px; }.evidence-shot > img { display:block; width:100%; height:auto; }
.split-section { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; margin-top:48px; }.section-copy > p { font-size:16px; color:var(--muted); margin-top:24px; max-width:420px; }.section-copy > p.small-copy { font-size:13px; color:var(--dim); margin-top:16px; }.section-copy > :is(.public-button,.public-actions,.quiet-link) { margin-top:28px; }
.patch-demo,.record-demo,.code-demo { border:1px solid var(--line); border-radius:10px; background:var(--panel); overflow:hidden; }.patch-demo { padding:26px; }.patch-demo > .demo-caption { color:var(--dim); padding-bottom:28px; }
.patch-assumption,.patch-steps li { display:flex; align-items:center; gap:16px; font-size:13px; min-height:64px; }.patch-assumption { border-bottom:1px solid var(--line); padding-bottom:12px; }.patch-assumption p { flex:1; line-height:1.5; }.step-index { color:var(--dim); font-family:var(--font-mono); font-size:11px; flex:none; }.step-state { margin-left:auto; color:var(--dim); font-size:10px; border:1px solid var(--line); border-radius:4px; padding:4px 7px; white-space:nowrap; }.patch-steps { list-style:none; padding:8px 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:3.4em; color:var(--muted); font-size:12px; border-top:1px solid var(--line); padding-top:16px; }
.record-demo > .demo-caption { padding:22px; color:var(--dim); border-bottom:1px solid var(--line); }.record-demo details { border-bottom:1px solid var(--line-soft); }.record-demo summary { display:flex; align-items:center; gap:14px; padding:20px 22px; cursor:pointer; font-size:13px; 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:7px; height:7px; border:1px 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:10px; }.record-demo details p { padding:0 22px 22px 43px; color:var(--muted); font-size:13px; }.record-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; color:var(--dim); font-size:10px; padding:20px 22px; }.record-footer .mono { font-size:9px; }
.code-demo pre { font-size:12px; line-height:1.9; padding:26px; 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:12px; padding:18px 22px; border-top:1px solid var(--line); }
.waitlist-section { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; border-top:1px solid var(--line); padding-block:64px 80px; }.waitlist-section h2 { margin-top:26px; font-size:clamp(40px,4.5vw,64px); }.waitlist-section > div > p:last-child { margin-top:24px; color:var(--muted); font-size:14px; max-width:320px; }.waitlist-card { padding:30px; background:var(--panel); border:1px solid var(--line); border-radius:10px; }
.waitlist-card label { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; font-size:12px; }.waitlist-card input,.waitlist-card select { width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--line-strong); background:var(--paper); color:var(--ink); border-radius:6px; font-size:14px; margin-bottom:24px; }.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:11px; }.form-fine { margin-top:18px!important; }.public-site .form-fine a,.google-note a,.public-standalone p a { text-decoration:underline; text-underline-offset:3px; }.form-status { font-size:13px; color:var(--muted); }.form-status:not(:empty) { margin-top:18px; }.form-status[data-error="true"] { color:var(--danger); }.honey { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.google-note { border-top:1px solid var(--line-soft); padding-block:24px; color:var(--dim); font-size:11px; }.public-footer { border-top:1px solid var(--line); padding-block:30px; }.footer-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }.footer-inner p { color:var(--dim); font-size:12px; }.footer-inner nav { display:flex; flex-wrap:wrap; gap:22px; font-size:12px; color:var(--muted); }.theme-label { display:inline-flex; align-items:center; gap:8px; color:var(--dim); font-size:11px; }.theme-label select { background:var(--paper); color:var(--muted); border:1px solid var(--line); padding:8px; border-radius:5px; font-size:12px; }
.public-standalone { max-width:560px; margin:90px auto; padding-inline:24px; }.public-standalone h1 { font-size:48px; line-height:1.1; font-weight:500; letter-spacing:-.045em; margin-block:24px; }.public-standalone > p { color:var(--muted); font-size:15px; margin-bottom:28px; }.public-standalone .waitlist-card { margin-top:28px; }
.public-standalone .waitlist-card > .form-status { margin-top:0; font-size:14px; }
.public-standalone .waitlist-card > .form-status:not([hidden]) + form { margin-top:22px; }
.waitlist-account-links { display:grid; gap:4px; margin-top:24px; padding-top:16px; border-top:1px solid var(--line); }
.waitlist-account-links p { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 16px; color:var(--muted); font-size:12px; }
.waitlist-account-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); font-size:13px; }
.waitlist-account-links a:hover { color:var(--accent); }
.public-admin { padding-block:60px; min-height:65vh; }.public-admin h1 { margin-bottom:16px; font-size:40px; font-weight:500; letter-spacing:-.04em; }.admin-controls { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-block:28px; }.admin-controls select { min-height:44px; padding:8px; background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:6px; }.waitlist-entries { display:grid; gap:12px; }.waitlist-entry { padding:22px; border:1px solid var(--line); border-radius:8px; }.waitlist-entry h2 { font-size:18px; overflow-wrap:anywhere; letter-spacing:-.02em; }.waitlist-entry p { color:var(--muted); font-size:12px; margin-block:8px 16px; }.waitlist-entry .public-actions { gap:10px; }.waitlist-entry input { width:100%; margin-top:16px; min-height:44px; padding:12px; border:1px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); }
@media (max-width:1000px) { .wrap { width:calc(100% - 56px); }.split-section,.waitlist-section { gap:40px; }.public-nav { gap:22px; }.public-nav nav { gap:20px; }.public-nav-tools { gap:14px; } }
@media (max-width:720px) {
  .wrap { width:calc(100% - 40px); }.public-nav { min-height:72px; gap:20px; flex-wrap:wrap; position:relative; }.public-brand { font-size:19px; }.public-nav-tools { margin-left:auto; gap:16px; }.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:1px solid var(--line); border-radius:5px; min-width:44px; min-height:44px; padding:8px; font-size:12px; }.public-nav nav { display:none; width:100%; margin:0; padding:0 0 20px; gap:24px; }.public-nav nav.is-open { display:flex; }
  .public-hero { padding-block:52px 44px; }.public-hero h1 { font-size:clamp(40px,8.3vw,60px); margin-block:24px; }.eyeline { font-size:9px; }.hero-intro { font-size:16px; }.access-note { max-width:270px; }.section-top { gap:12px; }.section-top > p:last-child { font-size:10px; text-align:right; }.section-intro { display:block; margin-block:28px; }.section-intro > p { margin-top:22px; max-width:100%; }.public-site h2 { font-size:34px; }.product-section { padding-bottom:64px; }.demo-toolbar { padding:12px; flex-wrap:wrap; }.segmented button { padding:9px; font-size:10px; }.demo-caption { font-size:9px; }.screenshot-frame { aspect-ratio:auto; }.screenshot-frame img { height:auto; width:100%; max-width:100%; }.product-shot figcaption { font-size:11px; padding:14px; }.iris-notes { grid-template-columns:1fr; gap:18px; padding-top:22px; }.iris-notes span { margin-bottom:2px; }.use-cases { grid-template-columns:1fr; gap:18px; }.preview-hint { right:10px; bottom:10px; }.preview-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); padding:14px; }.preview-dialog-head h2 { font-size:17px; }.preview-dialog-head button { padding:10px; font-size:12px; }
  .split-section,.waitlist-section { grid-template-columns:1fr; gap:30px; margin-top:30px; }.record-layout .record-demo { order:2; }.patch-demo { padding:20px; }.patch-assumption,.patch-steps li { gap:10px; font-size:12px; }.step-state { font-size:9px; padding:4px; }.waitlist-section { padding-block:40px 48px; margin-top:0; }.waitlist-section h2 { font-size:44px; }.waitlist-card { padding:22px; }.footer-inner { align-items:start; }.footer-inner nav { gap:18px; }.public-standalone { margin-block:60px; }.public-standalone h1 { font-size:40px; }
}
@media (prefers-reduced-motion:no-preference) { .public-hero h1,.hero-intro,.public-hero .public-actions { animation:public-enter .7s var(--ease-out) both; }.hero-intro { animation-delay:.07s; }.public-hero .public-actions { animation-delay:.14s; }@keyframes public-enter { from { opacity:0; transform:translateY(10px); }to { opacity:1; transform:none; } } }
