.theme-ph{--canvas:#fff;--canvas-screen:#fcfcfd;--canvas-subtle:#f9f9fb;--surface-element:#f0f0f3;--surface-hover:#e8e8ec;--surface-selected:#e0e1e6;--surface-dark:#151718;--ink:#171717;--body:#60646c;--tertiary:#80838d;--quaternary:#8b8d98;--on-dark:#fff;--on-dark-soft:#80838d;--hairline:#d9d9e0;--hairline-secondary:#e0e1e6;--hairline-soft:#e8e8ec;--primary:#000;--primary-hover:#171717;--text-link:var(--color-cx-link);--text-link-hover:var(--color-cx-link-hover);--blue-9:var(--color-cx-link);--blue-8:var(--color-cx-link);--success:#30a46c;--success-11:#218358;--pill:9999px;--r-btn-sm:36px;--r-btn-lg:48px;--r-card:24px;--r-card-lg:32px;--r-md:12px;--r-sm:8px;--shadow-pill:0 5px 14px -3px #0000003d;--shadow-soft:0 1px 3px #0000000a;--shadow-card:0 5px 10px #0000000d, 0 15px 25px #0000001f;--shadow-terminal:0 24px 60px #00000029, 0 2px 8px #0000000f;--ease:cubic-bezier(0, 0, .2, 1);--sans:var(--font-inter), -apple-system, system-ui, "Segoe UI", sans-serif;--mono:"JetBrains Mono", "Fira Code", ui-monospace, Menlo, monospace;--background:var(--canvas);--foreground:var(--ink);--card:var(--canvas-subtle);--card-foreground:var(--ink);--popover:var(--canvas);--popover-foreground:var(--ink);--secondary:var(--surface-element);--secondary-foreground:var(--ink);--muted:var(--canvas-subtle);--muted-foreground:var(--body);--accent:var(--surface-element);--accent-foreground:var(--ink);--border:var(--hairline);--input:var(--hairline-soft);--ring:var(--color-cx-link-hover);--radius:.625rem;--font-sans:var(--sans);--font-heading:var(--sans);--font-mono:var(--mono)}@layer base{.theme-ph{font-family:var(--sans);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}code{font-family:var(--mono)}}html{scroll-behavior:smooth}.docs-code{color:#d9d9dd;font-family:var(--mono);line-height:inherit;tab-size:2;white-space:pre}.docs-code .tok-com{color:#6c7086;font-style:italic}.docs-code .tok-cmd{color:#7dd3fc}.docs-code .tok-sub,.docs-code .tok-str{color:#a6e3a1}.docs-code .tok-flag,.docs-code .tok-pipe{color:#ffc53d}.doc-ol{counter-reset:doc-step}.doc-ol>li{counter-increment:doc-step;padding-left:2rem;position:relative}.doc-ol>li:before{content:counter(doc-step);background:var(--color-cx-element);width:1.45rem;height:1.45rem;color:var(--color-cx-ink);font-family:var(--mono);border-radius:9999px;place-items:center;font-size:.75rem;font-weight:500;line-height:1;display:grid;position:absolute;top:.2em;left:0}.doc-ul>li::marker{color:var(--color-cx-tertiary);font-size:.7em}.reveal{opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transform:translateY(12px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}}.cx-stage{--cx-accent:#0b90fa;--cx-accent-hover:#0072e0;--cx-accent-soft:color-mix(in srgb, var(--cx-accent) 9%, transparent);--cx-accent-soft-2:color-mix(in srgb, var(--cx-accent) 16%, transparent);--cx-accent-ring:color-mix(in srgb, var(--cx-accent) 20%, transparent);--cx-glow:color-mix(in srgb, var(--cx-accent) 13%, transparent)}.cx-el-button,.cx-el-input,.cx-el-badge,.cx-el-card{transition:box-shadow .45s}.cx-stage [data-scene=s2] .cx-el-button,.cx-stage [data-scene=s2] .cx-el-input,.cx-stage [data-scene=s2] .cx-el-badge,.cx-stage [data-scene=s5] .cx-el-card,.cx-el-card.cx-pick-hot{box-shadow:0 0 0 2px var(--cx-accent), 0 0 0 6px var(--cx-accent-soft), 0 14px 30px -12px var(--cx-accent-ring)}@keyframes cx-hov-card{0%,10%{box-shadow:0 0 #0000,0 0 #0000,0 0 #0000}16%,30%{box-shadow:0 0 0 2px var(--cx-accent), 0 0 0 6px var(--cx-accent-soft), 0 14px 30px -12px var(--cx-accent-ring)}36%,to{box-shadow:0 0 #0000,0 0 #0000,0 0 #0000}}@keyframes cx-hov-body{0%,20%{background:0 0}26%,32%{background:color-mix(in srgb, var(--cx-accent) 3%, #fff)}36%,to{background:0 0}}@keyframes cx-hov-btn{0%,26%{box-shadow:0 0 #0000,0 0 #0000}34%,86%{box-shadow:0 0 0 2px var(--cx-accent), 0 0 0 6px var(--cx-accent-soft)}92%,to{box-shadow:0 0 #0000,0 0 #0000}}@keyframes cx-hov-tip{0%,32%{opacity:0;transform:translate(-50%,5px)}38%,86%{opacity:1;transform:translate(-50%)}92%,to{opacity:0;transform:translate(-50%,5px)}}@keyframes cx-hov-card-tip{0%,14%{opacity:0;transform:translate(-50%,5px)}20%,30%{opacity:1;transform:translate(-50%)}36%,to{opacity:0;transform:translate(-50%,5px)}}.cx-el-card.cx-hov-active{animation:3.5s ease-in-out forwards cx-hov-card}.cx-el-card.cx-hov-active>div{border-radius:10px;animation:3.5s ease-in-out forwards cx-hov-body}.cx-hov-active .cx-el-button{animation:3.5s ease-in-out forwards cx-hov-btn}.cx-hov-active .cx-btn-wrap .cx-tag-btn{animation:3.5s ease-in-out forwards cx-hov-tip}.cx-el-card.cx-hov-active .cx-tag-card{animation:3.5s ease-in-out forwards cx-hov-card-tip}.cx-hov-held .cx-el-button{box-shadow:0 0 0 2px var(--cx-accent), 0 0 0 6px var(--cx-accent-soft)}.cx-hov-held .cx-btn-wrap .cx-tag-btn{opacity:1;transform:translate(-50%)}@keyframes cx-send-cursor-path{0%{opacity:0;transform:translate(-140px,-26px)}8%{opacity:1}40%{transform:translate(0)}48%{transform:translate(0)scale(.78)}54%{transform:translate(0)scale(1)}78%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(0)}}.cx-send-cursor{animation:2.2s ease-out forwards cx-send-cursor-path}@keyframes cx-send-ring{0%,42%{opacity:0;transform:scale(.55)}50%{opacity:.9;transform:scale(.7)}68%{opacity:0;transform:scale(1.5)}to{opacity:0}}.cx-send-ring{animation:2.2s ease-out forwards cx-send-ring}.cx-done-tag{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:6;background:#10b981;border-radius:6px;align-items:center;gap:4px;padding:4px 9px;font:500 11px/1 Inter,ui-sans-serif,system-ui,sans-serif;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards cx-done-pop;display:inline-flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,5px)scale(.4);box-shadow:0 4px 12px #10b98166}@keyframes cx-done-pop{0%{opacity:0;transform:translate(-50%,5px)scale(.4)}60%{opacity:1;transform:translate(-50%)scale(1.15)}to{opacity:1;transform:translate(-50%)scale(1)}}.cx-tag{text-overflow:ellipsis;background:var(--cx-accent);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:5;border-radius:6px;align-items:center;max-width:240px;padding:4px 10px;font:500 11px/1 Inter,ui-sans-serif,system-ui,sans-serif;transition:opacity .4s,transform .4s;display:inline-flex;position:absolute;bottom:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%,5px);box-shadow:0 4px 12px #0f172a33}.cx-stage [data-scene=s2] .cx-tag-btn,.cx-stage [data-scene=s2] .cx-tag-input,.cx-stage [data-scene=s2] .cx-tag-badge{opacity:1;transform:translate(-50%)}.cx-ovl{opacity:0;pointer-events:none;transition:opacity .45s,transform .45s}.cx-stage [data-scene=s3] .cx-ovl-shot,.cx-stage [data-scene=s4] .cx-ovl-annotate,.cx-stage [data-scene=s6] .cx-ovl-s6{opacity:1}.cx-shot-frame{z-index:10;pointer-events:none;position:absolute;inset:-10px}.cx-shot-frame-inner{border:1.5px dashed var(--cx-accent);background:var(--cx-accent-soft);border-radius:14px;position:absolute;inset:0}.cx-shot-chip{background:var(--cx-accent);color:#fff;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font:500 11px/1 Inter,ui-sans-serif,system-ui,sans-serif;display:inline-flex;position:absolute;top:0;left:50%;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 4px 12px #0f172a33}.cx-shot-size{color:#64748b;background:#fff;border-radius:4px;padding:3px 6px;font:500 9.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;bottom:-10px;right:10px;box-shadow:0 2px 8px #0f172a1f}.cx-stage [data-scene=s4] .cx-ovl-annotate{opacity:1}.cx-shot-dim{box-shadow:0 0 0 9999px #0f172a4d}.cx-shot-dock{background:#fff;border-radius:10px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;top:calc(100% + 8px);right:8px;box-shadow:0 8px 20px -6px #0f172a33}.cx-shot-dock button{color:#64748b;cursor:default;border-radius:7px;place-items:center;width:26px;height:26px;transition:background .18s,color .18s;display:grid}.cx-shot-dock button:hover{color:#0f172af2;background:#0f172a12}.cx-shot-dock button.is-active{color:#fff;background:#0f172a}.cx-shot-dock button.is-done{background:var(--cx-accent);color:#fff;box-shadow:inset 0 1px #ffffff47}.cx-shot-dock .cx-dock-divider{background:#0f172a1a;width:1px;height:16px;margin:0 2px}.cx-hover-el{background:var(--cx-accent-soft);box-shadow:0 0 0 2px var(--cx-accent);border-radius:5px}.cx-squiggle{pointer-events:none;height:6px;position:absolute;bottom:-2px;left:15px;right:8px}.cx-step-dot{color:#fff;width:20px;height:20px;box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--cx-accent-soft-2);opacity:0;background:#0f172a;border-radius:99px;place-items:center;font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;transition:opacity .4s,transform .4s cubic-bezier(.34,1.56,.64,1);display:grid;position:absolute;top:50%;left:-26px;transform:translateY(-50%)scale(.4)}@keyframes cx-ctx-pulse{0%,to{box-shadow:0 0 0 2px var(--cx-accent), 0 0 0 5px #0b90fa29}50%{box-shadow:0 0 0 2px var(--cx-accent), 0 0 0 9px #0b90fa0d}}.cx-ctx-target{animation:1.8s ease-in-out infinite cx-ctx-pulse}@keyframes cx-ctx-preview-pulse{0%,to{box-shadow:0 0 0 2px #ea9000,0 0 0 5px #ea90002e;box-shadow:0 0 0 2px lab(68.1942% 30.1784 81.3274),0 0 0 5px lab(68.1942% 30.1784 81.3274/.18)}50%{box-shadow:0 0 0 2px #ea9000,0 0 0 9px #ea90000f;box-shadow:0 0 0 2px lab(68.1942% 30.1784 81.3274),0 0 0 9px lab(68.1942% 30.1784 81.3274/.06)}}.cx-ctx-preview{animation:1.8s ease-in-out infinite cx-ctx-preview-pulse}.cx-neighbor-hot{background:#0000000d}@keyframes cx-panel-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.cx-panel{animation:.26s both cx-panel-in}@keyframes cx-jump-in{0%{opacity:0;transform:translate(-50%,6px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.cx-jump-toast>span{animation:.3s cubic-bezier(.34,1.4,.64,1) both cx-jump-in}@keyframes cx-editor-in{0%{opacity:0;transform:translate(34px)scale(.96)}to{opacity:1;transform:none}}.cx-editor-win{animation:.34s cubic-bezier(.22,1,.36,1) both cx-editor-in}@keyframes cx-cursor-s7-move{0%{opacity:0;transform:translate(-280px,-190px)}10%{opacity:1}38%{transform:translate(-64px,-48px)}72%{transform:translate(0)}to{opacity:1;transform:translate(0)}}.cx-cursor-s7-move{animation:3s cubic-bezier(.4,0,.2,1) forwards cx-cursor-s7-move}@keyframes cx-hov-s7-card{0%,26%{box-shadow:0 0 #0000}34%,56%{box-shadow:0 0 0 2px var(--cx-accent), 0 0 0 6px var(--cx-accent-soft), 0 14px 30px -12px var(--cx-accent-ring)}64%,to{box-shadow:0 0 #0000}}.cx-hov-s7-card{animation:3s ease-in-out forwards cx-hov-s7-card}@keyframes cx-hov-s7-card-tip{0%,30%{opacity:0;transform:translate(-50%,5px)}38%,56%{opacity:1;transform:translate(-50%)}64%,to{opacity:0;transform:translate(-50%,5px)}}.cx-hov-s7-card-tip{animation:3s ease-in-out forwards cx-hov-s7-card-tip}@keyframes cx-hov-s7-btn{0%,58%{box-shadow:0 0 #0000}66%,to{box-shadow:0 0 0 2px var(--cx-accent), 0 0 0 6px var(--cx-accent-soft)}}.cx-hov-s7-btn{animation:3s ease-in-out forwards cx-hov-s7-btn}@keyframes cx-hov-s7-btn-tip{0%,62%{opacity:0;transform:translate(-50%,5px)}70%,to{opacity:1;transform:translate(-50%)}}.cx-hov-s7-btn-tip{animation:3s ease-in-out forwards cx-hov-s7-btn-tip}@keyframes cx-cursor-s7-press{0%{opacity:1;transform:translate(0)scale(1)}35%{opacity:.85;transform:translate(1px,2px)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}.cx-cursor-s7-press{animation:.6s ease-out forwards cx-cursor-s7-press}@keyframes cx-tap-ring-s7{0%{opacity:.85;transform:scale(.55)}to{opacity:0;transform:scale(1.3)}}.cx-tap-ring-s7{animation:.6s ease-out forwards cx-tap-ring-s7}@keyframes cx-btn-press{0%,to{transform:scale(1)}35%{transform:scale(.94)}}.cx-btn-pressed{animation:.6s ease-out cx-btn-press}#cx-composer{transition:opacity .45s,transform .45s}.cx-composer-hidden{pointer-events:none;transform:translateY(10px);opacity:0!important}.cx-stage [data-scene=s6] #cx-composer{opacity:0;pointer-events:none;transform:translateY(10px)}.cx-stage [data-scene]:not([data-scene=s1]) .cx-cursor-anim,.cx-stage [data-scene]:not([data-scene=s1]) .cx-tap-ring{display:none}@keyframes cx-cursor-path{0%{opacity:0;transform:translate(-250px,-150px)}10%{opacity:1}36%{transform:translate(0)}42%{transform:translate(0)scale(.78)}48%{transform:translate(0)scale(1)}74%{opacity:1;transform:translate(0)}88%,to{opacity:0;transform:translate(0)}}.cx-cursor-anim{animation:3.5s cubic-bezier(.4,0,.2,1) forwards cx-cursor-path}@keyframes cx-cursor-shot-path{0%{opacity:0;transform:translate(-26px,-26px)}10%{opacity:1}62%{transform:translate(0)}68%{transform:translate(0)scale(.78)}76%{transform:translate(0)scale(1)}to{opacity:1;transform:translate(0)}}.cx-cursor-shot{animation:1.7s cubic-bezier(.4,0,.2,1) forwards cx-cursor-shot-path}.cx-cursor-shot-hold{opacity:1}@keyframes cx-tap-ring-shot{0%,30%{opacity:0;transform:scale(.55)}40%{opacity:.9;transform:scale(.7)}62%{opacity:0;transform:scale(1.6)}to{opacity:0}}.cx-tap-ring-shot{animation:1.7s ease-out forwards cx-tap-ring-shot}@keyframes cx-cursor-send-path{0%{opacity:1;transform:translate(0)}62%{opacity:1;transform:translate(270px)}68%{transform:translate(270px)scale(.78)}76%{transform:translate(270px)scale(1)}92%,to{opacity:0;transform:translate(270px)}}.cx-cursor-send{animation:1.7s cubic-bezier(.4,0,.2,1) forwards cx-cursor-send-path}@keyframes cx-send-ring-shot{0%,62%{opacity:0;transform:scale(.55)}68%{opacity:.9;transform:scale(.7)}86%{opacity:0;transform:scale(1.6)}to{opacity:0}}.cx-send-ring-shot{animation:1.7s ease-out forwards cx-send-ring-shot}@keyframes cx-tap-ring{0%,40%{opacity:0;transform:scale(.55)}46%{opacity:.9;transform:scale(.7)}64%{opacity:0;transform:scale(1.6)}to{opacity:0}}.cx-tap-ring{animation:3.5s ease-out forwards cx-tap-ring}@keyframes cx-caret-blink{0%,45%{opacity:1}50%,to{opacity:0}}.cx-caret{vertical-align:-2px;background:var(--cx-accent);width:1.5px;height:14px;margin-left:1px;animation:1s step-end infinite cx-caret-blink;display:inline-block}#cx-composer[data-mode=static] .cx-caret{display:none}@keyframes cx-chip-pop{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:none}}.cx-chip-pop>*{animation:.35s cubic-bezier(.34,1.3,.64,1) both cx-chip-pop}.cx-chip-pop>:nth-child(2){animation-delay:50ms}.cx-chip-pop>:nth-child(3){animation-delay:.1s}.cx-scene-copy{opacity:.22;transition:opacity .6s,transform .6s;transform:translateY(16px)}.cx-scene.is-active .cx-scene-copy{opacity:1;transform:none}@keyframes cx-hint-float{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.cx-hint-arrow{animation:1.8s ease-in-out infinite cx-hint-float}.cx-key{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-bottom-width:2px;border-radius:4px;padding:1px 5px;font:500 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.cx-shadow-composer{box-shadow:0 16px 28px #0f172a1f,0 8px 16px #0f172a0f}.cx-shadow-control{box-shadow:inset 0 1px #fffc,inset 0 0 1px 1px #fffc,0 .5px 1px #0000000f,0 0 1px #0000001f,0 0 4px -1px #0000001f}.cx-rail-dot{background:#cbd5e1;border-radius:99px;width:7px;height:7px;transition:all .3s;position:relative}.cx-rail-dot.on{background:var(--cx-accent);box-shadow:0 0 0 4px var(--cx-accent-soft);transform:scale(1.35)}.cx-rail-tip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#0f172a;border-radius:5px;padding:4px 7px;font:500 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;transition:opacity .2s;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.cx-rail-dot:hover .cx-rail-tip{opacity:1}.cx-agent-marquee{margin:-28px 0;padding:28px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000);mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000)}.cx-agent-track{will-change:transform;width:max-content;animation:80s linear infinite cx-agent-scroll;display:flex}.cx-agent-marquee:hover .cx-agent-track{animation-play-state:paused}.cx-agent-group{align-items:stretch;gap:12px;padding-right:12px;display:flex}@keyframes cx-agent-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.cx-cursor-anim,.cx-tap-ring,.cx-cursor-shot,.cx-tap-ring-shot,.cx-cursor-send,.cx-send-ring-shot,.cx-caret,.cx-hint-arrow,.cx-ctx-target,.cx-ctx-preview,.cx-agent-track{animation:none!important}}
