:root{--paper: #FBFAF7;--surface: #FFFFFF;--surface-warm: #FBF9F4;--paper-sunk: #F3F0E9;--ink: #1F1B16;--ink-secondary: #575046;--ink-muted: #6F685D;--hairline: rgba(31, 27, 22, .1);--hairline-strong: rgba(31, 27, 22, .18);--line-control: rgba(31, 27, 22, .3);--dot-grid: rgba(31, 27, 22, .1);--button-ink: #1F1B16;--button-ink-hover: #3A342C;--button-ink-text: #FBF9F4;--select-fill: #DDAE3C;--select-stroke: #9A7414;--select-ink: #1F1B16;--focus-ring: #1F1B16;--relation-romance: #A3215A;--relation-hostility: #980D03;--relation-family: #5C7D4E;--relation-friendship: #336FC7;--relation-hierarchy: #40362B;--relation-alliance: #2F6867;--relation-rivalry: #B45C08;--relation-default: #73756F;--thread-ink: #1F1B16;--thread-color: var(--thread-ink);--font-display: "Newsreader", Georgia, "Times New Roman", serif;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease-out: cubic-bezier(.22, 1, .36, 1);--header-height: 60px;--content-max: 1200px;--gutter: 72px}@media(max-width:768px){:root{--header-height: 56px}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + 16px)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.home-page{position:relative;overflow-x:clip;font-family:var(--font-ui);font-size:16px;line-height:1.6;color:var(--ink)}:where(.home-page) :is(h1,h2,h3,p,ul,ol,figure,table){margin:0}:where(.home-page) :is(ul,ol){padding:0}:where(.home-page) a{color:inherit;text-decoration:none}:where(.home-page) a:hover{text-decoration:none}:where(.home-page) button{font:inherit;color:inherit}:where(.home-page) :is(img,svg){display:block}:where(.home-page) :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.page-width{width:100%;max-width:calc(var(--content-max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.section-grid{display:grid;grid-template-columns:minmax(0,1fr)}.section-body{min-width:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border:1px solid transparent;border-radius:10px;font-size:15px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out)}.button svg{width:16px;height:16px;flex:none}.button-large{height:50px;padding:0 22px;font-size:16px}.button-small{height:36px;padding:0 14px;font-size:14px;border-radius:8px}.button-ink{background:var(--button-ink);color:var(--button-ink-text)}.button-ink:hover{background:var(--button-ink-hover)}.button-line{background:transparent;color:var(--ink);border-color:var(--line-control)}.button-line:hover{border-color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-color:var(--hairline-strong);text-underline-offset:4px;text-decoration-thickness:1px}.text-link:hover{text-decoration-color:var(--ink)}.text-link svg{width:15px;height:15px;flex:none}.chip{flex:none;height:34px;padding:0 14px;border:1px solid var(--hairline-strong);border-radius:999px;background:var(--surface);font-size:14px;font-weight:500;color:var(--ink-secondary);cursor:pointer;transition:background-color .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out)}.chip:hover{border-color:var(--line-control);color:var(--ink)}.chip[aria-pressed=true]{background:var(--select-fill);border-color:var(--select-stroke);color:var(--select-ink)}.page{position:relative}.page-section{position:relative;padding-top:120px}.page-section>.page-width{position:relative;z-index:2}.section-heading{position:relative;font-family:var(--font-display);font-size:42px;font-weight:500;line-height:1.1;letter-spacing:-.012em;color:var(--ink);text-wrap:balance}.section-lede{max-width:40rem;margin-top:16px;font-size:18px;line-height:1.6;color:var(--ink-secondary)}.section-head{margin-bottom:40px}.heading-knot{display:none;width:22px;height:22px;margin-right:8px;vertical-align:-1px;overflow:visible;color:var(--thread-color)}.heading-knot .knot-loop{fill:none;stroke:currentColor;stroke-width:1.6}.heading-knot .knot-lump{fill:currentColor}.heading-knot .knot-tail{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}.heading-knot .knot-thread{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.page-thread{position:absolute;left:0;top:0;z-index:3;pointer-events:none;overflow:visible}.page-thread .thread-piece{fill:none;stroke:var(--thread-color);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.page-thread .knot-lump{fill:var(--thread-color);stroke:var(--thread-color);stroke-width:1.6}.page-thread .knot-tail{fill:none;stroke:var(--thread-color);stroke-width:1.5;stroke-linecap:round}.section-hero{padding-top:24px}.hero-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);column-gap:56px;align-items:center}.hero-copy{container-type:inline-size;min-width:0;padding-bottom:12px}.hero-title{font-family:var(--font-display);font-weight:500;font-size:clamp(36px,8.3cqi,60px);line-height:1.04;letter-spacing:-.02em;color:var(--ink)}.hero-title-line{display:block}.hero-lede{max-width:31em;margin-top:22px;font-size:18px;line-height:1.6;color:var(--ink-secondary)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-terms{margin-top:14px;font-size:13.5px;line-height:1.5;color:var(--ink-muted)}.hero-terms a{text-decoration:underline;text-decoration-color:var(--hairline-strong);text-underline-offset:3px}.hero-terms a:hover{color:var(--ink);text-decoration-color:var(--ink)}.hero-stage{--face: 64px;display:flex;flex-direction:column;min-width:0;height:clamp(560px,calc(100vh - var(--header-height) - 48px),780px);background:var(--surface);border:1px solid var(--hairline-strong);border-radius:14px;overflow:hidden;box-shadow:0 1px #1f1b1608,0 28px 48px -40px #1f1b166b}@supports (height: 100svh){.hero-stage{height:clamp(560px,calc(100svh - var(--header-height) - 48px),780px)}}.hero-stage-bar{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--hairline);background:var(--surface-warm)}.hero-stage{container-type:inline-size;container-name:hero-stage}@container hero-stage (max-width: 700px){.hero-stage .hero-stage-open{display:none}.hero-stage .hero-foot-open{display:inline-flex}}.hero-chips{display:flex;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none}.hero-chips::-webkit-scrollbar{display:none}.hero-stage-open{margin-left:auto;font-size:13.5px;font-weight:500;color:var(--ink-secondary);white-space:nowrap}.hero-stage-open:hover{color:var(--ink)}.hero-paper{position:relative;flex:1;min-height:0;overflow:hidden;background-color:var(--surface);background-image:radial-gradient(circle at 1px 1px,var(--dot-grid) 1px,transparent 1.4px);background-size:22px 22px;background-position:10px 10px;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hero-paper-title{position:absolute;left:22px;top:18px;right:22px;pointer-events:none}.hero-paper-title h2{margin:0;font-family:var(--font-display);font-style:italic;font-weight:500;font-size:23px;line-height:1.15;letter-spacing:-.01em}.hero-paper-title p{margin:4px 0 0;max-width:34em;font-size:13px;line-height:1.45;color:var(--ink-muted);text-wrap:pretty}.hero-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.hero-wires .tie-line{fill:none;stroke-width:2.1;stroke-linecap:round;transition:stroke .32s ease,opacity .3s ease}.hero-wires .tie-head{transition:fill .32s ease,opacity .3s ease}.hero-wires .tie-label{font-family:var(--font-ui);font-size:12.5px;font-weight:600;paint-order:stroke;stroke:var(--surface);stroke-width:7px;stroke-linejoin:round;transition:fill .32s ease,opacity .22s ease}.hero-wires .tie.is-provisional .tie-line{stroke-dasharray:2 7}.hero-wires .tie.is-provisional .tie-label,.hero-wires .tie.is-fading .tie-line,.hero-wires .tie.is-fading .tie-head,.hero-wires .tie.is-fading .tie-label{opacity:0}.hero-wires .tether{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:6 6;stroke-linecap:round;opacity:0}.hero-cast{position:absolute;inset:0;pointer-events:none}.hero-paper .character{position:absolute;left:0;top:0;width:var(--face);height:var(--face);padding:0;border:0;border-radius:50%;background:none;cursor:grab;pointer-events:auto;touch-action:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.hero-paper .character:focus-visible{outline:2px solid var(--ink);outline-offset:7px}.hero-paper .character.is-lifted{cursor:grabbing;z-index:3}.hero-paper .character-body{position:absolute;inset:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.hero-paper .character-face{position:absolute;inset:0;border-radius:50%;background-color:var(--face-tint, #F1EEE7);background-size:cover;background-position:center;box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--group-ring, #8F877A);transition:box-shadow .22s ease}.hero-paper .character.is-lifted .character-body{transform:translateY(-3px) scale(1.1)}.hero-paper .character.is-lifted .character-face{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--group-ring, #8F877A),0 18px 22px -10px #1f1b1680}.hero-paper .character.is-target .character-body{transform:scale(1.08)}.hero-paper .character-ring{position:absolute;left:-12px;top:-12px;overflow:visible;pointer-events:none}.hero-paper .ring-progress{fill:none;stroke:var(--select-stroke);stroke-width:3;stroke-linecap:round;opacity:0}.hero-paper .ring-progress.is-draining{transition:stroke-dashoffset .18s ease-out,opacity .18s ease-out}.hero-paper .ring-target{fill:none;stroke:var(--select-stroke);stroke-width:3;opacity:0;transition:opacity .12s}.hero-paper .character.is-target .ring-target{opacity:1}.hero-paper .ring-invite{fill:none;stroke:var(--select-stroke);stroke-width:2;stroke-dasharray:3 5;stroke-linecap:round;opacity:0;transition:opacity .3s}.hero-paper .character.is-invited .ring-invite{opacity:1}.hero-paper .character-label{position:absolute;left:50%;top:calc(100% + 7px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;padding:1px 7px 2px;border-radius:6px;background:var(--surface);white-space:nowrap;pointer-events:none}.hero-paper .character-name{font-size:13px;font-weight:600;line-height:1.25;color:var(--ink)}.hero-paper .character-note{display:none;font-size:11.5px;line-height:1.3;color:var(--ink-muted)}.hero-paper.is-roomy .character-note{display:block}.hero-ghost{position:absolute;left:0;top:0;z-index:8;pointer-events:none;opacity:0;transition:opacity .22s ease;will-change:transform}.hero-ghost.is-visible{opacity:1}.hero-ghost .ghost-arrow{position:absolute;left:-2px;top:-2px;width:21px;height:27px;transform-origin:2px 2px;transition:transform .11s ease;filter:drop-shadow(0 2px 2px rgba(31,27,22,.28))}.hero-ghost.is-pressing .ghost-arrow{transform:scale(.86)}.hero-ghost .ghost-finger{display:none;position:absolute;left:-20px;top:-20px;width:40px;height:40px;border-radius:50%;background:#1f1b162e;border:2px solid rgba(31,27,22,.55);transition:transform .14s ease,background-color .14s ease}.hero-ghost.is-touch .ghost-arrow{display:none}.hero-ghost.is-touch .ghost-finger{display:block}.hero-ghost.is-touch.is-pressing .ghost-finger{transform:scale(.82);background:#1f1b163d}.hero-ghost .ghost-tag{position:absolute;left:var(--tag-left, 38px);top:var(--tag-top, -20px);padding:4px 9px;border-radius:6px;background:var(--ink);color:var(--surface-warm);font-size:12.5px;font-weight:600;line-height:1.3;white-space:nowrap;transition:opacity .14s}.hero-ghost.is-flipped .ghost-tag{left:auto;right:var(--tag-right, 50px)}.hero-ghost .ghost-tag:empty{opacity:0}.hero-invite{position:absolute;left:0;top:0;z-index:6;padding:6px 11px;border-radius:8px;background:var(--ink);color:var(--surface-warm);font-size:13px;font-weight:600;line-height:1.35;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .32s ease,visibility 0s linear .32s}.hero-invite.is-visible{opacity:1;visibility:visible;transition:opacity .32s ease,visibility 0s}.tie-popover{position:absolute;left:0;top:0;z-index:7;width:248px;padding:12px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:12px;box-shadow:0 18px 36px -20px #1f1b1680;opacity:0;visibility:hidden;transform:translateY(4px) scale(.98);transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s;-webkit-user-select:text;user-select:text}.tie-popover.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .15s ease,transform .15s ease,visibility 0s}.tie-popover-pair{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:12.5px;font-weight:600;color:var(--ink-secondary)}.tie-popover-pair svg{width:14px;height:10px;color:var(--ink-muted)}.tie-field,.tie-input{display:flex;align-items:center;width:100%;height:38px;padding:0 10px;border:1px solid var(--hairline-strong);border-radius:8px;background:var(--surface);font-family:var(--font-ui);font-size:15px;font-weight:500;color:var(--ink)}.tie-input:focus{outline:none;border-color:var(--ink)}.tie-input::placeholder,.tie-field-placeholder{color:var(--ink-muted);font-weight:400}@media(pointer:coarse){.tie-input{font-size:16px}}.tie-field{display:none}.tie-caret{width:1.5px;height:18px;margin-left:1px;background:var(--ink)}.tie-popover.is-demo .tie-field{display:flex}.tie-popover.is-demo .tie-form,.tie-popover.is-demo .tie-suggestions{display:none}.tie-form{margin:0}.tie-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tie-suggestion{height:30px;padding:0 10px;border:1px solid var(--hairline-strong);border-radius:999px;background:transparent;font-size:13px;font-weight:500;color:var(--ink-secondary);cursor:pointer}.tie-suggestion:hover{border-color:var(--ink);color:var(--ink)}.tie-popover.is-docked{width:auto;right:8px;padding:8px 10px}.tie-popover.is-docked .tie-popover-pair{margin-bottom:5px;font-size:12px}.tie-popover.is-docked .tie-field,.tie-popover.is-docked .tie-input{height:34px}.tie-popover.is-docked .tie-suggestions{margin-top:6px}.tie-popover.is-docked .tie-suggestions{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.tie-popover.is-docked .tie-suggestion{flex:none}.hero-stage-foot{display:flex;align-items:center;gap:12px;min-height:58px;padding:10px 12px 10px 18px;border-top:1px solid var(--hairline);background:var(--surface-warm)}.hero-hint{flex:1;min-width:0;margin:0;font-size:14px;line-height:1.45;color:var(--ink-secondary)}.hero-foot-open{display:none;font-size:13.5px;font-weight:500;color:var(--ink-secondary);white-space:nowrap}.demo-control{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 10px;border:0;border-radius:8px;background:transparent;font-size:13.5px;font-weight:500;color:var(--ink-secondary);white-space:nowrap;cursor:pointer}.demo-control:hover{background:#1f1b160d;color:var(--ink)}.demo-control svg{width:14px;height:14px}.script-stage{position:relative;display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);column-gap:32px;align-items:stretch}.script-sheet{--script-line-height: 22px;--script-font-size: 14px;--script-visible-lines: 15;--sheet-padding-y: 14px;display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:14px;overflow:hidden;box-shadow:0 1px #1f1b1608,0 22px 40px -34px #1f1b166b}.script-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 9px 9px 16px;border-bottom:1px solid var(--hairline);background:var(--surface-warm)}.script-sheet-name{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ink-secondary)}.script-sheet-name svg{width:16px;height:16px;color:var(--ink-muted)}.script-sheet-body{position:relative;flex:1;min-height:calc(var(--script-visible-lines) * var(--script-line-height) + 2 * var(--sheet-padding-y));max-height:calc(var(--script-visible-lines) * var(--script-line-height) + 2 * var(--sheet-padding-y));padding:var(--sheet-padding-y) 16px var(--sheet-padding-y) 20px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.script-sheet-body::-webkit-scrollbar{display:none}.script-text{font-family:var(--font-mono);font-size:var(--script-font-size);line-height:var(--script-line-height);color:var(--ink);white-space:pre}.script-line{position:relative;height:var(--script-line-height);margin:0 -8px;padding:0 8px;border-radius:4px;transition:background-color .6s var(--ease-out)}.script-line.is-flash{background:#ddae3c38;transition:none}.script-line.is-linked{background:#ddae3c2e;transition:background-color .12s}.script-line.is-pending .line-content{opacity:.62}.token-mark,.token-arrow{color:var(--ink-muted);font-weight:400}.token-title{font-family:var(--font-ui);font-weight:600;font-size:15px;letter-spacing:-.005em}.token-heading{font-family:var(--font-ui);font-weight:600;font-size:14px}.token-name{font-weight:600}.token-subtitle{color:var(--ink-secondary)}.token-label{transition:color .5s var(--ease-out)}.script-line.is-landed .token-label{color:var(--line-color, var(--ink));font-weight:600}.script-caret{display:inline-block;width:2px;height:1.15em;margin-left:1px;vertical-align:-.22em;background:var(--ink)}.script-caret.is-idle{animation:caret-blink 1.06s steps(1,end) infinite}@keyframes caret-blink{50%{opacity:0}}.script-plate{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:14px;overflow:hidden}.script-plate-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 18px 0 20px}.script-plate-title{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:22px;line-height:1.2;color:var(--ink)}.script-plate-count{font-size:13px;color:var(--ink-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.script-plate-canvas{position:relative;flex:1 1 auto;min-height:0}.script-map{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.script-plate-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:6px 12px 10px 20px}.script-hint{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:14px;line-height:1.4;color:var(--ink-secondary);opacity:0;transition:opacity .45s var(--ease-out)}.script-hint svg{flex:none;width:18px;height:18px;color:var(--ink)}.script-hint.is-visible{opacity:1}.replay-button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--ink-secondary);font-size:13.5px;font-weight:500;cursor:pointer}.replay-button svg{width:15px;height:15px}.replay-button:hover{color:var(--ink);background:#1f1b160d}.script-stage .replay-button{visibility:hidden}.script-stage.is-finished .replay-button{visibility:visible}.reduced-motion .script-stage .replay-button{display:none}.script-map .map-grid-dot{fill:var(--dot-grid)}.script-map .node{cursor:grab}.script-map .node-halo{fill:var(--surface)}.script-map .node-ring{fill:none;stroke:var(--node-ring, var(--ink));stroke-width:1.6}.script-map .node-ring-fresh{fill:none;stroke:var(--ink-muted);stroke-width:2.2;opacity:0}.script-map .node-ring-selected{opacity:0}.script-map .node-ring-selected-fill{fill:none;stroke:var(--select-fill);stroke-width:4.5}.script-map .node-ring-selected-edge{fill:none;stroke:var(--select-stroke);stroke-width:1.2}.script-map .node.is-linked .node-ring-fresh{opacity:1!important}.script-map .node-name{font-family:var(--font-display);font-weight:500;fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.script-map .node-subtitle{font-family:var(--font-ui);fill:var(--ink-muted);text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.script-map .edge-path{fill:none;stroke:var(--edge-color);stroke-width:1.9;stroke-linecap:round}.script-map .edge-arrow{fill:var(--edge-color)}.script-map .edge.is-linked .edge-path{stroke-width:3}.script-map .edge-label{font-family:var(--font-display);font-style:italic;font-weight:500;fill:var(--edge-color);text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:7px;stroke-linejoin:round}.script-map .hold-ring{fill:none;stroke:var(--select-stroke);stroke-width:3.2;stroke-linecap:round}.script-map .connecting-line{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-dasharray:6 5;stroke-linecap:round}.script-map .demo-cursor-arrow{fill:var(--ink);stroke:var(--surface);stroke-width:1.4;stroke-linejoin:round}.script-map .demo-cursor-touch{fill:#1f1b1629;stroke:#1f1b168c;stroke-width:1.5}.script-label-chip,.script-label-input{position:absolute;left:0;top:0;height:32px;padding:0 10px;border:1.5px solid var(--ink);border-radius:7px;background:var(--surface);color:var(--ink);font-family:var(--font-mono);font-size:14px;line-height:29px;white-space:nowrap;box-shadow:0 6px 18px -10px #1f1b1680;transform:translate(-50%,-50%)}.script-label-chip{pointer-events:none;display:none}.script-label-chip.is-visible{display:block}.script-label-chip .script-caret{vertical-align:-.24em}.script-label-input{width:168px;display:none}.script-label-input.is-visible{display:block}.script-label-input:focus{outline:2px solid var(--select-stroke);outline-offset:1px}@media(pointer:coarse){.script-label-input{font-size:16px}}.script-label-input::placeholder{color:var(--ink-muted)}.script-leaders{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}.script-leaders .leader-path,.script-map .leader-path{fill:none;stroke:var(--thread-color);stroke-width:1.3;stroke-linecap:round}.script-leaders .leader-dot,.script-map .leader-dot{fill:var(--thread-color)}.motion-allowed .script-line:not(.is-prefilled) .line-content{visibility:hidden}.motion-allowed .script-stage.is-ready .script-line .line-content{visibility:visible}.demo-maps{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);border:1px solid var(--hairline-strong);border-radius:14px;overflow:hidden;background:var(--surface)}.demo-map-list{display:flex;flex-direction:column;border-right:1px solid var(--hairline);background:var(--surface-warm)}.demo-map-item{display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;border:1px solid transparent;border-bottom-color:var(--hairline);color:var(--ink);transition:background-color .15s var(--ease-out)}.demo-map-item:last-child{border-bottom-color:transparent}.demo-map-item:hover{background:#1f1b1609}.demo-map-item[aria-selected=true]{background:var(--select-fill);border-color:var(--select-stroke)}.demo-map-item:focus-visible{outline-offset:-3px}.demo-map-thumb{flex:0 0 96px;width:96px;height:60px;border-radius:8px;overflow:hidden;background:var(--surface);border:1px solid var(--hairline)}.demo-map-item[aria-selected=true] .demo-map-thumb{border-color:#1f1b1640}.demo-map-thumb img{width:100%;height:100%;object-fit:contain}.demo-map-text{display:flex;flex-direction:column;gap:3px;min-width:0}.demo-map-title{font-size:15px;font-weight:600;line-height:1.3}.demo-map-description{font-size:13.5px;line-height:1.45;color:var(--ink-secondary)}.demo-map-stats{font-size:12.5px;line-height:1.3;color:var(--ink-muted);font-variant-numeric:tabular-nums}.demo-map-item[aria-selected=true] .demo-map-description,.demo-map-item[aria-selected=true] .demo-map-stats{color:var(--select-ink)}.demo-map-preview{position:relative;display:flex;flex-direction:column;min-width:0}.demo-map-preview-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 18px 0 22px}.demo-map-preview-title{font-family:var(--font-display);font-style:italic;font-size:22px;font-weight:500;line-height:1.2}.demo-map-canvas-wrap{position:relative;flex:1;min-height:480px;display:flex;align-items:center;justify-content:center;padding:8px 12px}.demo-map-canvas{width:100%;height:auto;max-height:100%;overflow:visible;touch-action:manipulation}.demo-map-canvas .map-hull{fill:#1f1b1609;stroke:#1f1b1609;stroke-width:22;stroke-linejoin:round}.demo-map-canvas .map-edge{stroke-width:1.4;stroke-linecap:round;opacity:.78;transition:opacity .16s var(--ease-out)}.demo-map-canvas .map-node{fill:var(--ink);stroke:var(--surface);stroke-width:1.6}.demo-map-canvas .map-name{font-family:var(--font-ui);font-weight:500;fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;transition:opacity .16s var(--ease-out)}.demo-map-canvas .map-person{cursor:pointer}.demo-map-canvas .map-person-hit{fill:transparent}.demo-map-canvas .map-edge-label{font-family:var(--font-ui);font-size:11.5px;font-weight:600;paint-order:stroke;stroke:var(--surface);stroke-width:7px;stroke-linejoin:round;text-anchor:middle}.demo-map-canvas.is-focused .map-edge{opacity:.12}.demo-map-canvas.is-focused .map-edge.is-lit{opacity:1;stroke-width:2}.demo-map-canvas.is-focused .map-name{fill:var(--ink-muted)}.demo-map-canvas.is-focused .map-name.is-lit{fill:var(--ink);font-weight:600}.demo-map-hint{padding:0 22px 14px;font-size:13.5px;color:var(--ink-muted)}.made-with-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.carousel-arrows{display:flex;gap:8px;flex:none}.carousel-arrow{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-control);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer}.carousel-arrow:hover{border-color:var(--ink)}.carousel-arrow[aria-disabled=true]{opacity:.35;cursor:default}.carousel-arrow svg{width:18px;height:18px}.carousel-track{--carousel-gap: 20px;display:flex;gap:var(--carousel-gap);margin:0;padding:4px 4px 14px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;scrollbar-width:thin;overscroll-behavior-x:contain}.carousel-slide{flex:0 0 calc((100% - 3 * var(--carousel-gap)) / 3.3);scroll-snap-align:start;min-width:0}.carousel-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--hairline-strong);border-radius:12px;overflow:hidden;background:var(--surface);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.carousel-card:hover{border-color:var(--line-control);box-shadow:0 14px 26px -18px #1f1b1666}.carousel-thumb{aspect-ratio:16 / 10;border-bottom:1px solid var(--hairline);background:var(--surface)}.carousel-thumb img{width:100%;height:100%;object-fit:contain}.carousel-text{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;flex:1}.carousel-kind{font-size:12.5px;font-weight:500;color:var(--ink-muted)}.carousel-title{font-size:16px;font-weight:600;line-height:1.3;color:var(--ink)}.carousel-stats{font-size:13px;color:var(--ink-secondary);font-variant-numeric:tabular-nums}.carousel-credit{margin-top:auto;padding-top:8px;font-size:12.5px;color:var(--ink-muted)}.carousel-card:focus-visible{outline:none;border-color:var(--select-stroke)}.carousel-card:focus-visible .carousel-text{background:var(--select-fill)}.carousel-card:focus-visible .carousel-kind,.carousel-card:focus-visible .carousel-credit,.carousel-card:focus-visible .carousel-stats{color:var(--select-ink)}.carousel-fine{margin-top:18px;font-size:13.5px;color:var(--ink-muted)}.carousel-fine a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--hairline-strong);text-underline-offset:3px}.ai-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:56px;row-gap:18px;padding:36px 40px;border:1px solid var(--hairline-strong);border-radius:14px;background:var(--surface)}.pro-tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;margin-bottom:14px;border:1px solid var(--line-control);border-radius:999px;font-size:12.5px;font-weight:500;color:var(--ink-secondary)}.ai-copy p{font-size:16px;line-height:1.65;color:var(--ink-secondary)}.ai-copy p+p{margin-top:12px}.ai-copy .text-link{margin-top:18px}.share-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:56px;row-gap:32px;align-items:start}.link-box{display:flex;align-items:center;min-height:52px;padding:0 16px;border:1px solid var(--hairline-strong);border-radius:10px;background:var(--surface);font:400 14px/1.4 var(--font-mono);color:var(--ink);overflow-wrap:anywhere}.link-box-scheme{color:var(--ink-muted)}.share-note{margin-top:12px;font-size:14px;line-height:1.6;color:var(--ink-muted)}.format-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--hairline-strong);border-radius:12px;overflow:hidden;background:var(--surface);font-size:15px}.format-table th,.format-table td{padding:13px 16px;border-bottom:1px solid var(--hairline);text-align:left;vertical-align:top}.format-table th{background:var(--paper-sunk);font-size:12.5px;font-weight:500;color:var(--ink-muted)}.format-table tr:last-child td{border-bottom:0}.format-table td:first-child{color:var(--ink)}.format-table td:last-child{color:var(--ink-secondary);white-space:nowrap}.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.plan{display:flex;flex-direction:column;padding:28px 28px 30px;border:1px solid var(--hairline-strong);border-radius:14px;background:var(--surface)}.plan-name{font-size:15px;font-weight:600;color:var(--ink-secondary)}.plan-price{margin-top:8px;font-family:var(--font-display);font-size:34px;font-weight:500;line-height:1.1;letter-spacing:-.01em;color:var(--ink)}.plan-price-note{margin-top:6px;font-size:15px;color:var(--ink-secondary)}.plan-list{list-style:none;margin:22px 0 26px;display:grid;gap:11px}.plan-list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;font-size:15px;line-height:1.5;color:var(--ink)}.plan-list svg{width:16px;height:16px;margin-top:3px;color:var(--ink-muted)}.plan-list .plan-condition{color:var(--ink-secondary)}.plan .button{margin-top:auto;align-self:flex-start}.seo-what{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px}.seo-what .section-heading{max-width:14ch}.seo-body p{font-size:16px;line-height:1.75;color:var(--ink-secondary)}.seo-body p+p{margin-top:14px}.seo-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.seo-step{border-top:1px solid var(--hairline-strong);padding-top:22px}.step-art{width:100%;max-width:280px;height:auto;margin-bottom:18px;overflow:visible}.step-art .art-node circle{fill:var(--surface);stroke:var(--ink);stroke-width:1.5}.step-art .art-node text{font-family:var(--font-ui);font-size:11.5px;font-weight:600;fill:var(--ink);text-anchor:middle}.step-art .art-name{font-family:var(--font-ui);font-size:12px;fill:var(--ink-muted);text-anchor:middle}.step-art .art-edge{stroke:var(--relation-rivalry);stroke-width:1.6}.step-art .art-arrow{fill:var(--relation-rivalry)}.step-art .art-label{font-family:var(--font-ui);font-size:12px;font-weight:600;fill:var(--relation-rivalry);text-anchor:middle;paint-order:stroke;stroke:var(--paper);stroke-width:5px;stroke-linejoin:round}.step-art .art-card{fill:var(--surface);stroke:var(--hairline-strong)}.step-art .art-plain-edge{stroke:var(--relation-friendship);stroke-width:1.6}.step-art .art-chip rect{fill:var(--surface);stroke:var(--hairline-strong)}.step-art .art-chip text{font-family:var(--font-ui);font-size:12px;font-weight:500;fill:var(--ink-secondary);text-anchor:middle}.step-number{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--ink-muted)}.seo-step h3{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px}.seo-step p{font-size:15px;line-height:1.65;color:var(--ink-secondary)}.seo-block+.seo-block{margin-top:112px}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}.faq-item{padding:22px 0;border-top:1px solid var(--hairline-strong)}.faq-question{font-size:16px;font-weight:600;line-height:1.4;color:var(--ink);margin-bottom:8px}.faq-answer{font-size:15px;line-height:1.65;color:var(--ink-secondary);max-width:36rem}.faq-answer a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--hairline-strong);text-underline-offset:2px}.faq-answer a:hover{text-decoration-color:var(--ink)}.faq-answer strong{color:var(--ink);font-weight:600}.section-endcap{padding-bottom:120px}.endcap{display:flex;flex-direction:column;align-items:center;gap:28px;padding:28px 0 8px;text-align:center}.endcap .section-heading{font-size:48px}@media(max-width:1199px){:root{--gutter: 56px}.hero-layout{column-gap:36px}.hero-stage-open{display:none}.hero-foot-open{display:inline-flex}.script-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:24px}.demo-maps{grid-template-columns:minmax(0,320px) minmax(0,1fr)}}@media(max-width:1099px){:root{--gutter: 32px}.page-section{padding-top:96px}.section-heading{font-size:36px}.heading-knot{display:inline-block}.page-thread{display:none}.hero-layout{grid-template-columns:minmax(0,1fr);row-gap:28px}.hero-copy{padding:16px 0 0}.hero-title{font-size:clamp(34px,7.4cqi,54px)}.hero-stage{height:640px}.script-stage{grid-template-columns:minmax(0,1fr);row-gap:16px}.script-sheet{--script-visible-lines: 9}.script-plate{height:460px}.demo-maps{grid-template-columns:minmax(0,1fr)}.demo-map-list{border-right:0;border-top:1px solid var(--hairline);order:2}.demo-map-preview{order:1}.ai-block{grid-template-columns:minmax(0,1fr);padding:28px 28px 30px}.share-grid{grid-template-columns:minmax(0,1fr)}.seo-what{grid-template-columns:minmax(0,1fr);gap:20px}.seo-what .section-heading{max-width:none}}@media(max-width:899px){.plans,.faq-grid{grid-template-columns:minmax(0,1fr)}.seo-steps{grid-template-columns:minmax(0,1fr);gap:28px}.carousel-slide{flex-basis:calc((100% - 2 * var(--carousel-gap)) / 2.3)}}@media(max-width:719px){:root{--gutter: 16px;--header-height: 56px}.page-section{padding-top:72px}.section-head{margin-bottom:28px}.section-heading{font-size:30px}.section-lede{font-size:16px;margin-top:12px}.heading-knot{width:18px;height:18px;margin-right:6px}.section-hero{padding-top:14px}.hero-copy{padding-top:0}.hero-title{font-size:clamp(28px,8.3cqi,40px);line-height:1.06}.hero-title-line{display:inline}.hero-lede{margin-top:12px;font-size:16px;line-height:1.5}.hero-actions{margin-top:18px;gap:10px}.hero-actions .button{height:46px;padding:0 14px;font-size:15px;flex:1 1 auto}.hero-terms{margin-top:10px;font-size:13px}.hero-layout{row-gap:20px}.hero-stage{height:auto;border-radius:12px}.hero-stage-bar{padding:9px 0 9px 10px}.hero-chips{padding-right:24px;-webkit-mask-image:linear-gradient(to right,#000 82%,transparent);mask-image:linear-gradient(to right,#000 82%,transparent)}.hero-chips .chip{height:32px;padding:0 12px;font-size:13px}.hero-paper{flex:none;height:420px}.tie-popover{width:226px;padding:10px}.hero-paper-title{left:14px;top:12px}.hero-paper-title h2{font-size:19px}.hero-paper-title p{display:none}.hero-paper .character-name,.hero-wires .tie-label{font-size:12px}.hero-stage-foot{flex-wrap:wrap;gap:6px 10px;padding:12px 10px 10px 14px}.hero-hint{flex-basis:100%;font-size:13.5px}.hero-invite{font-size:12.5px;padding:5px 10px}.hero-foot-open{margin-left:auto;padding:0 4px}.demo-control{margin-left:-10px}.script-sheet{--script-line-height: 20px;--script-font-size: 12.5px;--script-visible-lines: 7;--sheet-padding-y: 10px}.script-sheet-header{padding:6px 6px 6px 12px}.script-sheet-body{padding-left:14px;padding-right:10px}.script-plate{height:330px}.script-plate-header{padding:10px 12px 0 14px}.script-plate-title{font-size:18px}.script-plate-count{display:none}.script-plate-footer{min-height:40px;padding:2px 8px 8px 14px}.script-hint{font-size:13px}.script-label-chip,.script-label-input{height:30px;font-size:13.5px;line-height:27px}.demo-map-preview-head{padding:12px 14px 0 16px}.demo-map-preview-title{font-size:19px}.demo-map-canvas-wrap{min-height:0;padding:6px 4px}.demo-map-hint{padding:0 16px 12px;font-size:13px}.demo-map-item{gap:12px;padding:11px 12px 11px 10px}.demo-map-thumb{flex-basis:76px;width:76px;height:48px}.made-with-head{align-items:flex-start}.carousel-arrows{display:none}.carousel-track{--carousel-gap: 12px}.carousel-slide{flex-basis:80%}.ai-block{padding:22px 18px 24px}.plan{padding:22px 20px 24px}.plan-price{font-size:30px}.format-table th,.format-table td{padding:11px 12px;font-size:14px}.format-table td:last-child{white-space:normal}.endcap .section-heading{font-size:34px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.heading-knot .knot-lump{transform-box:fill-box;transform-origin:center;stroke:currentColor;stroke-width:0;transition:transform .42s cubic-bezier(.34,1.56,.64,1),fill-opacity .26s ease,stroke-width .26s ease}.heading-knot .knot-tail{stroke-dasharray:12;stroke-dashoffset:0;transition:stroke-dashoffset .38s ease-out .22s}html.script-enabled .heading-knot:not(.is-tied) .knot-lump{transform:scale(2.3);fill-opacity:0;stroke-width:.7}html.script-enabled .heading-knot:not(.is-tied) .knot-tail{stroke-dashoffset:12}.section-hero{position:relative}.section-hero>.page-width{position:relative;z-index:1}.hero-scene,.hero-paper-scene{display:none;pointer-events:none}.scene-layer{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}.scene-layer.is-active{opacity:var(--scene-strength, 1)}.scene-layer picture,.scene-layer img{display:block;width:100%;height:100%}.scene-layer img{object-fit:cover;object-position:50% 50%}@media(min-width:1100px){.hero-scene{display:block;position:absolute;inset:0;z-index:0;overflow:hidden;--scene-clearing: radial-gradient(ellipse var(--clear-rx, 40%) var(--clear-ry, 46%) at var(--clear-x, 26%) var(--clear-y, 52%), transparent 52%, #000 100%);--scene-bottom: linear-gradient(to bottom, #000 74%, transparent 100%);-webkit-mask-image:var(--scene-clearing),var(--scene-bottom);-webkit-mask-composite:source-in;mask-image:var(--scene-clearing),var(--scene-bottom);mask-composite:intersect}.section-hero:not(.hero-no-scene) .hero-stage{background:#ffffffe0;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.section-hero:not(.hero-no-scene) .hero-paper{background-color:transparent;background-image:none}.section-hero:not(.hero-no-scene) .hero-stage-bar{background:#fbf9f4f0}}@media(max-width:1099px){.hero-paper-scene{display:block;position:absolute;inset:0;overflow:hidden;--scene-strength: .45}.section-hero:not(.hero-no-scene) .hero-paper{background-image:none}.section-hero:not(.hero-no-scene) .hero-paper-title :is(h2,p){text-shadow:0 0 4px #fff,0 0 10px #fff,0 0 18px #fff,0 0 26px #fff}}
