@font-face{font-family:Geist;font-weight:100 900;font-style:normal;font-display:swap;src:url(/fonts/geist-latin-wght-normal.woff2) format("woff2")}:root{color-scheme:light;--ink-0: #0c0f14;--ink-1: #13171e;--ink-2: #0f1319;--ink-line: #252c37;--ink-line-2: #364050;--ink-text: #e8ebf0;--ink-muted: #a4aebd;--ink-subtle: #8e99a9;--ink-accent-text: #f09a58;--bg: #f4f5f7;--surface: #ffffff;--sunken: #eef0f3;--hover: #f0f2f5;--line: #e1e4ea;--line-2: #c9ced8;--text: #14181f;--muted: #505a69;--subtle: #5d6776;--accent: #e8863d;--accent-hover: #f09a58;--accent-contrast: #1a1a1a;--accent-text: #8a4210;--accent-soft: #fdf5f0;--accent-soft-text: #6e3208;--accent-border: #fae4d4;--gold: #e8c43d;--aurore: #5cc9a7;--epinette: #16302b;--bouleau: #f3efe6;--focus: #b8601f;--ok: #1a7a4a;--ok-soft: #e5f5ec;--pilot: #5b3fc4;--pilot-soft: #f0ecfd;--plan: #505a69;--plan-soft: #eef0f3;--shadow-card: 0 12px 40px rgb(20 28 44 / .08);--font: "Geist", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;--r-s: 8px;--r-m: 14px;--r-l: 20px;--r-pill: 999px;--ease: cubic-bezier(.32, .72, 0, 1);--wrap: 1200px}[data-theme=dark]{color-scheme:dark;--bg: #0c0f14;--surface: #13171e;--sunken: #0f1319;--hover: #1b2029;--line: #252c37;--line-2: #364050;--text: #e8ebf0;--muted: #a4aebd;--subtle: #8e99a9;--accent-text: #f09a58;--accent-soft: #252224;--accent-soft-text: #f6b27a;--accent-border: #433128;--focus: #f09a58;--ok: #6cc995;--ok-soft: #12301f;--pilot: #b9a6ff;--pilot-soft: #2a2150;--plan: #a4aebd;--plan-soft: #1b2029;--shadow-card: 0 12px 40px rgb(0 0 0 / .45)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px;scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-size:17px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}img,svg{max-width:100%;display:block}a{color:var(--accent-text);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.03em;line-height:1.1;text-wrap:balance}p{margin:0;text-wrap:pretty}ul,ol{margin:0;padding:0}:where(a,button,input,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.on-ink :where(a,button,summary):focus-visible{outline-color:#f09a58}button{font:inherit;color:inherit;touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:12px;top:-80px;z-index:100;padding:12px 18px;border-radius:var(--r-s);background:var(--accent);color:var(--accent-contrast);font-weight:600;text-decoration:none}.skip-link:focus{top:12px}.wrap{width:100%;max-width:calc(var(--wrap) + 48px);margin-inline:auto;padding-inline:24px}.mono{font-family:var(--mono);font-size:.8em;letter-spacing:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:var(--r-pill);border:1px solid transparent;font-weight:600;font-size:16px;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .35s var(--ease),background-color .25s,border-color .25s,color .25s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary .arrow{display:grid;place-items:center;width:28px;height:28px;margin-right:-14px;border-radius:50%;background:#1a1a1a1f;transition:transform .35s var(--ease)}.btn-primary:hover .arrow{transform:translate(2px,-1px)}.btn-ghost{background:transparent;color:var(--ink-text);border-color:var(--ink-line-2)}.btn-ghost:hover{border-color:var(--ink-muted)}.btn-line{background:var(--surface);color:var(--text);border-color:var(--line-2)}.btn-line:hover{border-color:var(--text)}.btn-dark{background:var(--text);color:var(--bg)}.btn-sm{min-height:44px;padding:0 18px;font-size:15px}.on-ink{background:var(--ink-0);color:var(--ink-text)}.site-header{position:relative;z-index:40}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:20px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink-text);text-decoration:none;font-weight:700;font-size:22px;letter-spacing:-.035em}.brand-map{color:var(--accent)}.hero2 h1 .hl{color:var(--aurore)}.nav-links{display:flex;align-items:center;gap:4px}.nav-links a:not(.btn){color:var(--ink-muted);text-decoration:none;font-size:15px;padding:10px 14px;border-radius:var(--r-pill);transition:color .2s,background-color .2s}.nav-links a:not(.btn):hover,.nav-links a[aria-current=page]{color:var(--ink-text);background:var(--ink-1)}.nav-tools{display:flex;align-items:center;gap:4px;margin:0 8px}.icon-btn{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border-radius:var(--r-pill);border:1px solid transparent;background:transparent;color:var(--ink-muted);cursor:pointer;font-size:14px;font-weight:500;text-decoration:none}.icon-btn:hover{color:var(--ink-text);background:var(--ink-1)}.nav-toggle,.theme-toggle .moon,[data-theme=dark] .theme-toggle .sun{display:none}[data-theme=dark] .theme-toggle .moon{display:block}@media(max-width:900px){.nav-toggle{display:inline-grid}.nav-links{position:absolute;left:12px;right:12px;top:76px;flex-direction:column;align-items:stretch;gap:2px;padding:12px;background:var(--ink-1);border:1px solid var(--ink-line-2);border-radius:var(--r-l);box-shadow:0 30px 60px #00000080;opacity:0;transform:translateY(-8px);pointer-events:none;visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}.nav-links[data-open=true]{opacity:1;transform:none;pointer-events:auto;visibility:visible}.nav-links a:not(.btn){padding:14px 16px;font-size:17px}.nav-tools{margin:6px 0 0;justify-content:space-between;border-top:1px solid var(--ink-line);padding-top:10px}.nav-links .btn{margin-top:6px}}.hero{padding:40px 0 112px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:56px;align-items:center;padding-top:40px}.kicker{font-family:var(--mono);font-size:13px;color:var(--ink-accent-text);margin-bottom:20px}.hero h1{font-size:clamp(40px,5.4vw,68px);line-height:1.02;letter-spacing:-.035em}.hero .lead{margin-top:24px;font-size:19px;color:var(--ink-muted);max-width:520px}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.hero-note{margin-top:28px;font-size:14px;color:var(--ink-subtle)}.page-hero{padding:24px 0 88px}.page-hero h1{font-size:clamp(36px,4.6vw,58px);letter-spacing:-.035em;max-width:880px;margin-top:40px}.page-hero .lead{margin-top:22px;font-size:19px;color:var(--ink-muted);max-width:700px}@media(max-width:960px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}.hero{padding-bottom:72px}.page-hero{padding-bottom:64px}}.altitude{background:var(--ink-1);border:1px solid var(--ink-line);border-radius:var(--r-l);padding:20px;box-shadow:0 30px 80px #00000073;min-width:0}.alt-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.alt-org{font-size:13px;color:var(--ink-subtle)}.alt-pause{margin-left:0;margin-right:0;min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--ink-line-2);background:transparent;color:var(--ink-muted);font-size:13px;cursor:pointer}.alt-pause:hover{color:var(--ink-text);border-color:var(--ink-muted)}.alt-org i{font-style:normal;color:#7a8497}.seg{display:flex;gap:4px;background:var(--ink-2);border:1px solid var(--ink-line);border-radius:var(--r-pill);padding:4px}.seg button{border:0;background:transparent;color:var(--ink-muted);border-radius:var(--r-pill);padding:0 14px;min-height:40px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .3s var(--ease),color .3s}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast)}.alt-body{display:flex;gap:16px}.rail{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:8px 0;width:22px;flex:none}.rail:before{content:"";position:absolute;top:14px;bottom:14px;left:50%;width:1px;background:var(--ink-line-2)}.rail i{position:relative;width:10px;height:10px;border-radius:50%;background:var(--ink-line-2);transition:background-color .4s var(--ease),box-shadow .4s var(--ease)}.rail i[data-on=true]{background:var(--accent);box-shadow:0 0 0 4px #e8863d38}.alt-stage{flex:1;min-width:0;background:var(--ink-2);border:1px solid var(--ink-line);border-radius:var(--r-m);padding:16px 16px 14px}.alt-stage h2{font-size:15px;letter-spacing:0;font-weight:600;line-height:1.3;color:var(--ink-text)}.alt-aud{font-size:13px;color:var(--ink-subtle);margin:4px 0 14px}.tour-wrap{container-type:inline-size}.tour-vp{position:relative;overflow:hidden;margin-inline:auto;max-width:560px;aspect-ratio:496 / 300;contain:layout paint}.tour-stage{position:absolute;left:0;top:0;transform-origin:0 0;transform:scale(var(--s, 1))}.tour-lvl{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0}.tour-lvl[hidden]{display:block!important;visibility:hidden;opacity:0}.tour-lvl svg{position:absolute;inset:0;overflow:visible}.tbox{position:absolute;box-sizing:border-box;padding:10px 12px;border-radius:8px;border:1px solid;color:#14181f;overflow:hidden;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}.tbox .id{font-family:var(--mono);font-size:11px;background:#14181f14;border-radius:3px;padding:1px 5px}.tbox b{display:block;font-size:13px;font-weight:600;margin-top:6px;line-height:1.3;letter-spacing:-.01em}.tbox small{display:block;font-size:12px;color:#505a69;margin-top:2px;line-height:1.35}.c0{background:#fdf5f0;border-color:#fae4d4}.c1{background:#eef0f3;border-color:#c9ced8}.c2{background:#e3f2f0;border-color:#8fcac5}.c3{background:#fbf3d9;border-color:#ecd58a}.c4{background:#eef0f3;border-color:#c9ced8}.tbox.visited{border-color:#e8863d8c}.tbox.step-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 0 5px #e8863d2e,0 2px 8px #00000073;animation:node-arrive .7s ease-out}@keyframes node-arrive{0%{box-shadow:0 0 0 1px var(--accent),0 0 0 12px #e8863d00,0 2px 8px #00000073}to{box-shadow:0 0 0 1px var(--accent),0 0 0 5px #e8863d2e,0 2px 8px #00000073}}.t-edge{stroke:#7a8497;stroke-width:2;fill:none}.t-flow{stroke:var(--accent);stroke-width:2.5;fill:none;stroke-dasharray:100;stroke-dashoffset:100}.t-trav{fill:var(--accent);opacity:0}.tour-wrap{position:relative;overflow:hidden;border-radius:10px}.tour-doc{position:absolute;z-index:2;top:0;right:0;bottom:0;width:56%;max-width:330px;box-sizing:border-box;padding:12px 14px;background:var(--ink-1);border:1px solid var(--ink-line-2);border-radius:10px;box-shadow:-12px 0 32px #00000073;overflow:hidden;visibility:hidden;opacity:0;transform:translate(calc((1 - var(--p, 0)) * 105%));font-size:12px;line-height:1.45;color:var(--ink-muted)}.td-top{display:flex;justify-content:space-between;gap:8px;font-weight:600;font-size:13px;color:var(--ink-text)}.td-top i{font-style:normal;font-weight:400;color:var(--ink-subtle)}.td-box{margin-top:6px;font-weight:600;font-size:13px;color:var(--ink-text)}.tour-doc dl{margin:8px 0 0;display:grid;gap:7px}.tour-doc dt{font-size:11px;color:var(--ink-subtle)}.tour-doc dd{margin:0;color:var(--ink-text)}.td-src{margin-top:9px;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;font-size:11px}.td-ai{padding:1px 8px;border-radius:999px;background:#e8863d29;color:#f6b27a;border:1px solid rgb(232 134 61 / .35);font-weight:600}.tour-cap{margin-top:12px;min-height:4.5em;font-size:14px;line-height:1.5;color:var(--ink-text)}.tour-foot{display:flex;align-items:center;gap:12px}.tour-progress{flex:1;height:3px;border-radius:3px;background:var(--ink-line);overflow:hidden}.tour-progress i{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform .4s var(--ease)}.tour-step{display:none;min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--ink-line-2);background:transparent;color:var(--ink-text);font-size:13px;cursor:pointer}.tour-step:hover{border-color:var(--ink-muted)}.tour-rm .tour-step{display:inline-flex;align-items:center}.tour-rm .alt-pause{display:none}@container (max-width: 419px){.tour-vp{aspect-ratio:292 / 408}.tour-doc{left:0!important;right:0!important;top:auto!important;width:auto!important;max-width:none!important;height:62%;transform:translateY(calc((1 - var(--p, 0)) * 105%))!important;box-shadow:0 -12px 32px #00000073!important}}@media(max-width:520px){.rail{display:none}.altitude{padding:14px}.alt-stage{padding:12px}.alt-stage h2,.alt-aud{min-height:2.6em}.seg button{padding:0 10px}}@media(prefers-reduced-motion:reduce){.tbox.step-active{animation:none}}.section{padding-block:112px}.section-tight{padding:0 0 112px}.big{font-size:clamp(32px,3.6vw,46px);max-width:780px}.sub{margin-top:18px;font-size:18px;color:var(--muted);max-width:680px}.eyebrow{font-family:var(--mono);font-size:13px;color:var(--accent-text);margin-bottom:12px;display:block}.band{background:var(--surface);border-block:1px solid var(--line)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:48px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}@media(max-width:960px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding-block:80px}.section-tight{padding-bottom:80px}}@media(max-width:640px){.grid-3,.grid-4,.grid-2{grid-template-columns:minmax(0,1fr)}.grid-4{gap:28px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:28px;min-width:0}.card h3{font-size:22px;margin:10px 0 8px;letter-spacing:-.02em}.card p{color:var(--muted)}.level-card{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.level-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}.level-card .lvl{font-family:var(--mono);font-size:13px;color:var(--accent-text)}.rule-col{border-top:2px solid var(--text);padding-top:18px}.rule-col h3{font-size:17px;letter-spacing:-.01em}.rule-col p{margin-top:8px;color:var(--muted);font-size:16px}.status{display:inline-flex;align-items:center;min-height:24px;padding:1px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600;letter-spacing:0;white-space:nowrap}.status.st-ok{background:var(--ok-soft);color:var(--ok)}.status.st-pilot{background:var(--pilot-soft);color:var(--pilot)}.status.st-plan{background:var(--plan-soft);color:var(--plan);border:1px solid var(--line)}.player{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:48px}.player h2{font-size:clamp(28px,3vw,38px);line-height:1.15}.player p.t{margin-top:16px;color:var(--muted)}.player-ctl{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.track{display:flex;align-items:center;margin-bottom:18px}.track .dot{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:11px;background:var(--sunken);color:var(--muted);border:1px solid var(--line);transition:background-color .4s var(--ease),color .4s,border-color .4s,transform .4s var(--ease)}.track .dot[data-state=done]{background:var(--text);color:var(--bg);border-color:var(--text)}.track .dot[data-state=current]{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);transform:scale(1.12)}.track .seg-line{flex:1;height:2px;background:var(--line);position:relative;overflow:hidden;min-width:8px}.track .seg-line:after{content:"";position:absolute;inset:0;background:var(--accent);transform:scaleX(var(--fill, 0));transform-origin:left;transition:transform .7s var(--ease)}.steps{list-style:none;display:flex;flex-direction:column;gap:8px}.step{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface);opacity:.6;transition:opacity .4s var(--ease),background-color .4s,border-color .4s}.step[data-state=done]{opacity:1}.step[data-state=current]{opacity:1;background:var(--accent-soft);border-color:var(--accent)}.step .id{font-family:var(--mono);font-size:12px;min-width:34px;padding:3px 6px;border-radius:4px;text-align:center;background:var(--sunken);color:var(--muted)}.step[data-state=current] .id{background:var(--accent);color:var(--accent-contrast)}.step[data-state=done] .id{background:var(--text);color:var(--bg)}.step b{font-size:15px;font-weight:600;display:block}.step .detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}.step .detail>div{overflow:hidden;font-size:14px;color:var(--muted);line-height:1.55}.step[data-state=current] .detail{grid-template-rows:1fr}.step[data-state=current] .detail>div{padding-top:6px;color:var(--text)}@media(max-width:960px){.player{grid-template-columns:minmax(0,1fr);padding:28px 20px;gap:32px}}.ai-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:center}@media(max-width:960px){.ai-grid{grid-template-columns:minmax(0,1fr);gap:36px}}.ai-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:24px;box-shadow:var(--shadow-card)}.ai-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tag-ai{font-size:13px;font-weight:600;color:var(--accent-soft-text);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--r-pill);padding:3px 12px}.ai-card .lbl{margin:18px 0 4px;font-size:13px;color:var(--subtle)}.ai-card .prop{font-size:18px;font-weight:500;line-height:1.5}.ai-card .src{margin-top:14px;font-size:13px;color:var(--subtle)}.ai-card details{margin-top:10px;font-size:14px;color:var(--muted)}.ai-card summary{cursor:pointer;color:var(--accent-text);font-weight:500;min-height:32px;display:flex;align-items:center}.ai-card blockquote{margin:8px 0 0;padding:12px 14px;background:var(--sunken);border-radius:var(--r-s);font-size:14px;line-height:1.55}.ai-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.ai-result{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;padding:12px 16px;border-radius:var(--r-s);background:var(--hover);font-size:14px;font-weight:500;animation:fadein .4s ease both}.ai-result button{border:0;background:transparent;color:var(--accent-text);text-decoration:underline;cursor:pointer;min-height:44px;font-size:14px}.ai-field{margin-top:18px;padding:14px 16px;border-radius:var(--r-s);background:var(--sunken);border:1px dashed var(--line-2);font-size:14px;color:var(--subtle);transition:background-color .5s var(--ease),border-color .5s}.ai-field[data-filled=true]{border-style:solid;border-color:var(--ok);background:var(--ok-soft);color:var(--text)}.ai-field span{display:block;font-size:12px;color:var(--subtle);margin-bottom:2px}[hidden]{display:none!important}.ex-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px}@media(max-width:960px){.ex-grid{grid-template-columns:minmax(0,1fr)}}.ex{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:var(--bg);cursor:pointer;color:var(--text);transition:transform .5s var(--ease),box-shadow .5s var(--ease);width:100%}.ex:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}.ex .shot{aspect-ratio:16 / 9.8;background:var(--sunken);overflow:hidden;border-bottom:1px solid var(--line)}.ex .shot img{width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .8s var(--ease)}.ex:hover .shot img{transform:scale(1.03)}.ex .body{padding:22px}.ex .org{font-size:13px;color:var(--subtle)}.ex .ttl{font-size:19px;font-weight:600;margin-top:4px;letter-spacing:-.01em}.ex .meta{font-size:14px;color:var(--muted);margin-top:8px}.ex .go{font-size:15px;font-weight:600;color:var(--accent-text);margin-top:16px}dialog.viewer{overscroll-behavior:contain;width:min(1280px,96vw);height:min(860px,92vh);max-width:none;max-height:none;padding:0;border:1px solid var(--line-2);border-radius:var(--r-l);background:var(--surface);color:var(--text);overflow:hidden}dialog.viewer::backdrop{background:#080a0eb8}dialog.viewer[open]{display:flex;flex-direction:column;animation:dlg .45s var(--ease)}@keyframes dlg{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px 10px 20px;border-bottom:1px solid var(--line);flex:none;flex-wrap:wrap}.viewer-bar strong{font-size:15px;letter-spacing:-.01em}.viewer-bar .act{display:flex;gap:8px;align-items:center}.viewer-bar .hint{font-size:13px;color:var(--subtle);flex-basis:100%}.viewer-bar .icon-btn{color:var(--muted)}.viewer-bar .icon-btn:hover{background:var(--hover);color:var(--text)}.viewer-frame{flex:1;min-height:0;position:relative;background:var(--bg)}.viewer-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .5s ease}.viewer-frame iframe[data-ready=true]{opacity:1}.viewer-img{position:absolute;inset:0;overflow:auto;display:grid;place-items:start center;padding:20px;background:#0c0f14;opacity:0;transition:opacity .3s ease}.viewer-img[data-ready=true]{opacity:1}.viewer-img img{display:block;width:100%;max-width:1400px;height:auto;border-radius:var(--r-s)}.viewer-load{position:absolute;inset:0;display:grid;place-items:center;color:var(--subtle);font-size:14px}@media(max-width:640px){dialog.viewer{overscroll-behavior:contain;width:100vw;height:100dvh;border-radius:0;border:0}.viewer-bar{padding:8px 12px;justify-content:flex-end}.viewer-bar strong{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.viewer-bar .hint{display:none}}.shot-frame{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:8px;box-shadow:var(--shadow-card)}.shot-frame img{border-radius:calc(var(--r-l) - 8px);width:100%;height:auto;border:1px solid var(--line);background:#fff}.shot-frame figcaption{padding:12px 10px 6px;font-size:14px;color:var(--subtle)}.feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center;padding-block:72px}.feature.flip{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.feature.flip .copy{order:2}.feature h2{font-size:clamp(28px,3vw,38px);line-height:1.15}.feature .copy p{margin-top:16px;color:var(--muted)}.feature .copy ul{margin-top:18px;padding-left:20px;color:var(--muted);display:grid;gap:8px}@media(max-width:960px){.feature,.feature.flip{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:48px}.feature.flip .copy{order:0}}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media(max-width:960px){.plans{grid-template-columns:minmax(0,1fr)}}.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:32px}.plan .name{font-size:15px;color:var(--muted)}.plan .price{margin-top:10px;font-size:44px;font-weight:600;letter-spacing:-.03em;line-height:1.1}.plan .price span{white-space:nowrap;font-size:16px;font-weight:400;letter-spacing:0;color:var(--muted)}.plan .note{margin-top:10px;font-size:14px;color:var(--subtle)}.plan.dark{background:var(--ink-0);color:var(--ink-text);border-color:var(--ink-line)}.plan.dark .name{color:var(--ink-accent-text)}.plan.dark .note{color:var(--ink-muted);line-height:1.6}.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:15px;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:14px 18px;vertical-align:top}thead th{background:var(--sunken);font-weight:600;font-size:14px}tbody tr+tr td,tbody tr+tr th{border-top:1px solid var(--line)}tbody th{font-weight:500}.tbl-wrap table{min-width:560px}@media(max-width:600px){.tbl-wrap{overflow:visible}.tbl-wrap table{min-width:0}.tbl-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tbl-wrap tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;padding:14px 16px}.tbl-wrap tbody tr+tr{border-top:1px solid var(--line)}.tbl-wrap tbody tr+tr td,.tbl-wrap tbody tr+tr th{border-top:0}.tbl-wrap tbody th{grid-column:1 / -1;padding:0 0 8px;font-weight:600}.tbl-wrap tbody td{padding:0;font-size:14.5px}.tbl-wrap tbody td:before{content:attr(data-label);display:block;font-size:12px;color:var(--subtle);margin-bottom:2px}}.prose{max-width:760px}.prose h2{font-size:26px;margin:48px 0 12px;letter-spacing:-.02em}.prose h3{font-size:19px;margin:28px 0 8px;letter-spacing:-.01em}.prose p,.prose li{color:var(--muted)}.prose p+p{margin-top:14px}.prose ul{padding-left:22px;display:grid;gap:8px;margin-top:12px}.prose strong{color:var(--text);font-weight:600}.banner{padding:16px 20px;border-radius:var(--r-m);background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-soft-text);font-size:15px;margin-bottom:40px;max-width:760px}.banner strong{font-weight:600}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:20px 4px;font-size:18px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:44px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:24px;color:var(--accent-text);transition:transform .35s var(--ease);flex:none}.faq details[open] summary:after{transform:rotate(45deg)}.faq .ans{padding:0 4px 22px;color:var(--muted);max-width:720px}.cta-final{padding:112px 0 0;text-align:center}.cta-final h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.035em;line-height:1.08}.cta-final p{margin:20px auto 0;font-size:18px;color:var(--ink-muted);max-width:600px}.cta-final .btn{margin-top:36px;min-height:56px;font-size:17px;padding:0 30px}.footer{margin-top:96px;border-top:1px solid var(--ink-line);padding:28px 0 40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;font-size:14px;color:var(--ink-subtle);text-align:left}.footer nav{display:flex;gap:8px 24px;flex-wrap:wrap}.footer a{color:var(--ink-subtle);text-underline-offset:3px;display:inline-flex;min-height:24px;align-items:center}.footer a:hover{color:var(--ink-text)}@media(max-width:600px),(pointer:coarse){.footer nav{gap:0 22px}.footer a{min-height:44px}}.footer-plain{margin-top:0;padding-top:48px;border-top:0}.on-ink .eyebrow{color:var(--ink-accent-text)}.on-ink a:not(.btn){color:var(--ink-accent-text)}.on-ink .nav a:not(.btn),.on-ink .brand,.on-ink .footer a{color:inherit}.on-ink .nav-links a:not(.btn){color:var(--ink-muted)}.on-ink .footer a{color:var(--ink-subtle)}.cta-inline{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}.demo-steps{list-style:none;display:grid;gap:16px;margin-top:32px;counter-reset:s}.demo-steps li{counter-increment:s;display:flex;gap:16px;align-items:flex-start}.demo-steps li:before{content:counter(s);flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:13px;background:var(--accent-soft);color:var(--accent-soft-text);border:1px solid var(--accent-border)}.cols-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}@media(max-width:960px){.cols-2{grid-template-columns:minmax(0,1fr);gap:36px}}.mt-s{margin-top:20px}.mt-m{margin-top:40px}.mt-l{margin-top:56px}.js [data-reveal]{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:var(--d, 0ms)}.js [data-reveal].is-in{opacity:1;transform:none;filter:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important;transition-delay:0s!important}.js [data-reveal]{opacity:1;transform:none;filter:none}}.ai3-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px;align-items:stretch}@media(max-width:1000px){.ai3-grid{grid-template-columns:minmax(0,1fr)}}.ai3-item{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:28px;min-width:0}.ai3-n{font-size:64px;line-height:1;font-weight:600;letter-spacing:-.05em;color:var(--accent-text)}.ai3-item h3{font-size:22px;margin:16px 0 8px;letter-spacing:-.02em}.ai3-item>p{color:var(--muted);font-size:16px}.ai3-vis{margin:22px 0 0;border:1px solid var(--line);background:var(--sunken);border-radius:var(--r-m);overflow:hidden;position:relative}.ai3-item>.ai3-vis{margin-top:auto}.ai3-item>p+.ai3-vis{margin-top:22px}.ai3-grid .ai3-vis{margin-top:auto}.ai3-item>p:first-of-type{margin-bottom:22px}.ai3-small{margin-top:14px;font-size:13px;color:var(--subtle);line-height:1.5}.ai3-soon{display:inline-block;margin-left:2px;padding:0 8px;border:1px dashed var(--line-2);border-radius:var(--r-pill);color:var(--muted)}.v1{width:100%;height:auto;display:block}.v1-file{font-family:var(--mono);font-size:11px;fill:var(--subtle)}.v1-paper{fill:var(--surface);stroke:var(--line-2)}.v1-pic{transform-box:fill-box;transform-origin:center;transform:rotate(-1.5deg)}.v1-flat{fill:var(--sunken);stroke:var(--line-2);stroke-width:1.2}.v1-line{fill:var(--line-2)}.v1-flatpath{stroke:var(--line-2);stroke-width:1.4;fill:none;stroke-dasharray:3 3}.v1-scan{fill:var(--accent);opacity:0}.v1-chev{stroke:var(--accent-text);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.v1-b.c0{fill:#fdf5f0;stroke:#fae4d4}.v1-b.c1{fill:#eef0f3;stroke:#c9ced8}.v1-b.c2{fill:#e3f2f0;stroke:#8fcac5}.v1-b.c3{fill:#fbf3d9;stroke:#ecd58a}.v1-id{font-family:var(--mono);font-size:10px;fill:#14181f}.v1-t{font-size:12px;font-weight:600;fill:#14181f}.v1-box{transform-box:fill-box;transform-origin:center}.v1-edge{stroke:#7a8497;stroke-width:1.6;fill:none;stroke-dasharray:20}.is-play .v1-box,.is-play .v1-edge,.is-play .v1-scan,.is-play .v1-go{animation-play-state:running}.ai3-vis:not(.is-static) .v1-box{animation:v1snap 8s var(--ease) infinite backwards paused;animation-delay:var(--d)}.ai3-vis:not(.is-static) .v1-edge{animation:v1edge 8s linear infinite backwards paused;animation-delay:var(--d)}.ai3-vis:not(.is-static) .v1-scan{animation:v1scan 8s linear infinite paused}.ai3-vis:not(.is-static) .v1-go{animation:v1go 1.6s ease-in-out infinite paused}@keyframes v1snap{0%{opacity:0;transform:translate(-70px) scale(.8)}6%{opacity:1;transform:translate(3px) scale(1.03)}9%{opacity:1;transform:none}86%{opacity:1;transform:none}94%,to{opacity:0;transform:none}}@keyframes v1edge{0%,2%{opacity:0;stroke-dashoffset:20}3%{opacity:1;stroke-dashoffset:20}8%,86%{opacity:1;stroke-dashoffset:0}94%,to{opacity:0;stroke-dashoffset:0}}@keyframes v1scan{0%{opacity:.8;transform:translate(0)}12%{opacity:.8;transform:translate(144px)}13%,to{opacity:0;transform:translate(144px)}}@keyframes v1go{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.v2{padding:14px;display:grid;gap:10px}.v2 .v2-box{position:static;width:100%;height:auto;display:block}.v2-rows{display:grid;gap:8px}.v2-row{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0}.v2-l{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px;color:var(--subtle)}.v2 .td-ai{font-style:normal;font-size:10px;padding:0 7px;color:var(--accent-soft-text);background:var(--accent-soft);border-color:var(--accent-border)}.v2-v{font-size:13px;color:var(--text);line-height:1.35;margin-top:2px}.v2-s{margin-top:3px;font-size:10.5px;color:var(--subtle)}.is-play .v2-row,.is-play .v2-v span,.is-play .v2-s{animation-play-state:running}.ai3-vis.v2:not(.is-static) .v2-row,.ai3-vis.v2:not(.is-static) .v2-v span,.ai3-vis.v2:not(.is-static) .v2-s{animation-play-state:paused}.ai3-vis.v2.is-play .v2-row,.ai3-vis.v2.is-play .v2-v span,.ai3-vis.v2.is-play .v2-s{animation-play-state:running}.ai3-vis.v2:not(.is-play):not(.is-static) .v2-row{opacity:0}.v3{padding:14px;display:grid;gap:10px}.v3-field{padding:10px 12px;border-radius:8px;border:1px dashed var(--line-2);background:var(--surface);display:grid;gap:2px;font-size:13px;transition:border-color .5s var(--ease),background-color .5s var(--ease)}.v3-field[data-filled=true]{border-style:solid;border-color:var(--ok);background:var(--ok-soft)}.v3-fl{font-size:12px;color:var(--subtle)}.v3-fl b{font-weight:500;color:var(--accent-text)}.v3-lbl{font-size:11px;color:var(--subtle)}.v3-val{color:var(--text);line-height:1.4}.v3-src{font-size:10.5px;color:var(--subtle)}.v3-card{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-card)}.js .v3-card:not(.is-in){opacity:0;transform:translateY(12px)}.v3-card{transition:opacity .5s var(--ease),transform .5s var(--ease)}.v3-ptr{position:absolute;left:0;top:0;z-index:3;pointer-events:none;transition:transform .9s var(--ease);filter:drop-shadow(0 2px 3px rgb(0 0 0 / .3));transform:translate(300px,400px)}@media(prefers-reduced-motion:reduce){.v3-ptr{display:none}.v3-card,.v3-field{transition:none}}.is-play .v2-row:nth-child(1){animation:v2r0 10s var(--ease) infinite}.is-play .v2-row:nth-child(1) .v2-v span{animation:v2v0 10s linear infinite}.is-play .v2-row:nth-child(1) .v2-s{animation:v2s0 10s linear infinite}.is-play .v2-row:nth-child(2){animation:v2r1 10s var(--ease) infinite}.is-play .v2-row:nth-child(2) .v2-v span{animation:v2v1 10s linear infinite}.is-play .v2-row:nth-child(2) .v2-s{animation:v2s1 10s linear infinite}.is-play .v2-row:nth-child(3){animation:v2r2 10s var(--ease) infinite}.is-play .v2-row:nth-child(3) .v2-v span{animation:v2v2 10s linear infinite}.is-play .v2-row:nth-child(3) .v2-s{animation:v2s2 10s linear infinite}.is-play .v2-row:nth-child(4){animation:v2r3 10s var(--ease) infinite}.is-play .v2-row:nth-child(4) .v2-v span{animation:v2v3 10s linear infinite}.is-play .v2-row:nth-child(4) .v2-s{animation:v2s3 10s linear infinite}@keyframes v2r0{0%,8.00%{opacity:0;transform:translateY(8px)}12.00%{opacity:1;transform:none}90%{opacity:1;transform:none}96%,to{opacity:0;transform:none}}@keyframes v2v0{0%,10.00%{clip-path:inset(0 100% 0 0)}18.00%,to{clip-path:inset(0 0 0 0)}}@keyframes v2s0{0%,17.00%{opacity:0}21.00%,to{opacity:1}}@keyframes v2r1{0%,22.00%{opacity:0;transform:translateY(8px)}26.00%{opacity:1;transform:none}90%{opacity:1;transform:none}96%,to{opacity:0;transform:none}}@keyframes v2v1{0%,24.00%{clip-path:inset(0 100% 0 0)}32.00%,to{clip-path:inset(0 0 0 0)}}@keyframes v2s1{0%,31.00%{opacity:0}35.00%,to{opacity:1}}@keyframes v2r2{0%,36.00%{opacity:0;transform:translateY(8px)}40.00%{opacity:1;transform:none}90%{opacity:1;transform:none}96%,to{opacity:0;transform:none}}@keyframes v2v2{0%,38.00%{clip-path:inset(0 100% 0 0)}46.00%,to{clip-path:inset(0 0 0 0)}}@keyframes v2s2{0%,45.00%{opacity:0}49.00%,to{opacity:1}}@keyframes v2r3{0%,50.00%{opacity:0;transform:translateY(8px)}54.00%{opacity:1;transform:none}90%{opacity:1;transform:none}96%,to{opacity:0;transform:none}}@keyframes v2v3{0%,52.00%{clip-path:inset(0 100% 0 0)}60.00%,to{clip-path:inset(0 0 0 0)}}@keyframes v2s3{0%,59.00%{opacity:0}63.00%,to{opacity:1}}.ai3-vis.is-play:not(.is-static) .v1-box,.ai3-vis.is-play:not(.is-static) .v1-edge,.ai3-vis.is-play:not(.is-static) .v1-scan,.ai3-vis.is-play:not(.is-static) .v1-go{animation-play-state:running}.ai3-soon:empty{display:none}.ai3-soon{display:block;width:fit-content;margin:8px 0 0;border-radius:10px}.v2-v span{display:block}.ai3-fmts{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none}.ai3-fmts li{padding:2px 10px;border:1px solid var(--line-2);border-radius:var(--r-pill);color:var(--muted);font-size:13px;line-height:1.5}.dd-rule{display:block}.dd-rule+.dd-rule{margin-top:5px}.dd-rule b{font-weight:650;font-variant-numeric:tabular-nums;margin-right:2px}
