:root{color-scheme:dark;font-synthesis:none;--bg:#09050f;--surface:#0f0a17;--sunken:#0b0712;--raised:#171022;--line:#ffffff12;--line-strong:#ffffff24;--text:#ece9f4;--text-2:#b3afc4;--muted:#8d8aa3;--faint:#5f5a72;--accent:#ffb27a;--accent-soft:#f6c99a;--accent-wash:#ffb27a14;--blue:#8a92ff;--error:#ff9d8a;--cream:#f6e6d6;--mono:"IBM Plex Mono", monospace;color:var(--text);background:var(--bg);font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:#ffb27a40}.btn-primary,.hero-primary,.apply-button{background:var(--cream);color:#1a1020;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:10px;font-weight:500;display:inline-flex}.btn-primary:hover,.hero-primary:hover,.apply-button:hover{background:#fff;text-decoration:none}.small-button,.event-button{border:1px solid var(--line-strong);color:var(--text);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.small-button:hover,.event-button:hover{background:var(--accent-wash);border-color:#ffb27a80}.hero-secondary{color:var(--text-2);align-items:center;gap:8px;display:inline-flex}.hero-secondary:hover{color:var(--text);text-underline-offset:5px;text-decoration:underline;text-decoration-color:var(--line-strong)}.icon-button{color:var(--muted);border-radius:6px;padding:6px 10px;font-size:11px}.icon-button:hover{color:var(--text);background:#ffffff0d}.site-header{border-bottom:1px solid var(--line);align-items:center;gap:28px;height:72px;padding:0 36px;display:flex}.wordmark{letter-spacing:-1.2px;align-items:center;gap:10px;font-size:24px;font-weight:700;display:flex}.wordmark svg{width:22px;height:22px;color:var(--accent)}.header-caption{font:11px var(--mono);color:var(--muted);border-left:1px solid var(--line-strong);padding-left:26px}.site-header nav{color:var(--text-2);gap:27px;margin-left:auto;font-size:13px;font-weight:500;display:flex}.site-header nav a:hover{color:var(--text)}.eyebrow,.field-label{font:10px var(--mono);letter-spacing:.7px;color:var(--muted);font-weight:500}.eyebrow{margin:0 0 12px}.hero{background:var(--bg);position:relative;overflow:hidden}.hero:after{content:"";background:linear-gradient(transparent, var(--bg));pointer-events:none;height:140px;position:absolute;inset:auto 0 0}.hero-canvas{opacity:0;touch-action:manipulation;width:100%;height:100%;transition:opacity .9s;position:absolute;inset:0}.hero-canvas.ready{opacity:1}.hero .site-header{z-index:2;pointer-events:none;position:relative}.hero .site-header>*{pointer-events:auto}.hero-content{pointer-events:none;grid-template-columns:minmax(0,1fr) minmax(0,min(540px,46vw));align-items:center;column-gap:48px;max-width:1600px;min-height:clamp(560px,100svh - 72px,820px);margin:auto;padding:48px 36px 72px;display:grid}.hero-copy{z-index:1;pointer-events:auto;grid-column:2;position:relative}.js .hero-copy{visibility:hidden;animation:0s 2.5s forwards hero-fallback}@keyframes hero-fallback{to{visibility:visible}}.hero h1{letter-spacing:-.045em;margin:0 0 28px;font-size:clamp(48px,5.6vw,92px);font-weight:300;line-height:1}.hero h1 em{letter-spacing:-.01em;color:var(--accent-soft);font-family:Instrument Serif,serif;font-style:italic;font-weight:400}.hero-lede{color:var(--text-2);max-width:430px;margin:0 0 32px;font-size:16px;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.hero-actions a{font-size:14px;font-weight:500}.hero-primary{height:44px;padding:0 20px}.readout{max-width:430px;font:12px var(--mono);margin-top:64px}.readout-states{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid;position:relative}.readout-states button{font:inherit;color:var(--faint);text-align:left;align-items:center;gap:8px;padding:13px 0 12px;transition:color .3s;display:flex}.readout-states button:hover:not(:disabled){color:var(--text-2);background:0 0}.readout-states button.is-active{color:var(--text)}.readout-states button:disabled{cursor:default;opacity:1}.readout-states button:before{content:"";border:1px solid;flex-shrink:0;width:6px;height:6px;transition:background .3s,border-color .3s;transform:rotate(45deg)}.readout-states button.is-active:before{background:var(--accent);border-color:var(--accent)}.readout-marker{background:var(--accent);width:0;height:1px;position:absolute;bottom:-1px;left:0}.readout-log{min-height:18px;color:var(--muted);gap:12px;margin:12px 0 0;font-size:11px;display:flex}.readout-log strong{color:var(--accent-soft);font-weight:500}.readout-log.is-blocked{color:var(--error)}.hero-edge-label{z-index:1;visibility:hidden;pointer-events:none;font:10px var(--mono);letter-spacing:.14em;color:var(--cream);text-shadow:0 0 14px #09050f;position:absolute;transform:translate(-50%,-50%)}main{max-width:1600px;margin:auto;padding:0 36px}#playground{padding-top:24px;scroll-margin-top:16px}.workbench{border:1px solid var(--line-strong);background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:inset 0 1px #ffffff10,0 30px 80px -40px #4a3aa866}.workbench-toolbar{border-bottom:1px solid var(--line);background:#ffffff04;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:0 18px;display:flex}.example-picker{align-items:center;gap:16px;min-width:0;display:flex}.example-picker select{color:var(--text);background:0 0;border:0;max-width:180px;padding:4px 0;font-size:12px}.example-picker option{background:var(--raised)}.workbench-controls{align-items:center;gap:18px;display:flex}.small-button{padding:6px 12px;font-size:11px}.small-button span{font-size:14px}.workbench-body{grid-template-columns:190px minmax(0,1fr) minmax(0,1fr);min-height:570px;display:grid}.examples-sidebar{border-right:1px solid var(--line);flex-direction:column;padding:22px 0 0;display:flex}.examples-sidebar>.field-label{margin-bottom:14px;padding:0 18px}.example-item{text-align:left;align-items:flex-start;gap:10px;padding:14px 15px;display:flex;position:relative}.example-item:hover{background:#ffffff06}.example-number{font:10px var(--mono);color:var(--faint);line-height:17px}.example-item strong{white-space:nowrap;font-size:12px;font-weight:550;display:block}.example-item small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.example-item.selected{background:#ffffff09}.example-item.selected:before{content:"";background:var(--accent);width:2px;box-shadow:0 0 12px var(--accent);position:absolute;top:0;bottom:0;left:0}.example-item.selected .example-number{color:var(--accent)}.example-arrow{display:none}.sidebar-guide{border-top:1px solid var(--line);margin:35px 18px 24px;padding-top:22px}.sidebar-guide ol{color:var(--text-2);margin:13px 0 20px;padding-left:16px;font-size:12px;line-height:2.2}.sidebar-guide a{color:var(--muted);font-size:11px}.definition-pane{background:var(--sunken);min-width:0;color:var(--text-2);flex-direction:column;display:flex}.pane-heading{border-bottom:1px solid var(--line);height:44px;font:11px var(--mono);color:var(--text-2);justify-content:space-between;align-items:center;padding:0 18px;display:flex}.file-icon{font:12px var(--mono);color:var(--accent);margin-right:7px;font-style:normal}.definition-actions{gap:4px;display:flex}.editor-shell{min-height:450px;font:12px/21px var(--mono);flex:1;position:relative;overflow:hidden}.line-numbers{text-align:right;width:46px;color:var(--faint);user-select:none;padding-right:13px;position:absolute;top:18px;bottom:0;left:0;overflow:hidden}.editor-color{pointer-events:none;color:var(--text-2);position:absolute;inset:18px 0 0 46px;overflow:hidden}.editor-color pre{font:inherit;white-space:pre;tab-size:2;margin:0}.editor-shell textarea{resize:none;white-space:pre;color:#0000;width:calc(100% - 46px);height:100%;caret-color:var(--accent);font:inherit;tab-size:2;background:0 0;border:0;outline:none;margin:0;padding:18px 18px 18px 0;position:absolute;top:0;left:46px;overflow:auto}.editor-shell textarea::selection{color:#0000;background:#8a92ff40}.json-key{color:#aab2ff}.json-string{color:var(--accent-soft)}.json-literal{color:#ff9f7a}.editor-footer{border-top:1px solid var(--line);min-height:56px;font:10px var(--mono);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.editor-footer>span{max-width:60%;color:var(--muted);line-height:1.5}.editor-footer .error{color:var(--error)}.apply-button{padding:8px 14px;font-size:12px}.apply-button span{color:#1a102080}.runtime-pane{border-left:1px solid var(--line);flex-direction:column;min-width:0;display:flex}.runtime-pane>.pane-heading{font-family:DM Sans,sans-serif;font-size:12px;font-weight:550}.machine-diagram{border-bottom:1px solid var(--line);background-image:radial-gradient(#ffffff14 .7px,#0000 .7px);background-size:14px 14px;align-items:center;min-height:198px;padding:13px 10px 8px;display:flex}.machine-diagram svg{width:100%;height:190px;display:block}.diagram-arrow{stroke:#ffffff59}.diagram-link{fill:none;stroke:#ffffff30;stroke-width:1.3px}.diagram-link.is-active{stroke:#ffb27aa6}.diagram-label{font:9px var(--mono);fill:var(--muted);paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}.diagram-node{fill:var(--raised);stroke:#ffffff30;stroke-width:1.5px}.diagram-node.is-active{stroke:var(--accent);fill:#2a1a1a;stroke-width:2px;filter:drop-shadow(0 0 10px #ffb27a59)}.diagram-node.final-node{stroke-width:5px}.diagram-node-text{font:12px var(--mono);fill:var(--text-2)}.diagram-node-text.is-active{fill:var(--accent-soft)}.diagram-dot{fill:var(--accent)}.diagram-entry{font:8px var(--mono);fill:var(--accent);letter-spacing:1px}.machine-details{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.current-state,.context-values{min-width:0;padding:14px 18px}.current-state{border-right:1px solid var(--line)}.current-state strong{font:15px var(--mono);color:var(--accent-soft);overflow-wrap:anywhere;margin-top:8px;display:block}.context-values code{font:12px var(--mono);color:var(--text-2);overflow-wrap:anywhere;max-height:60px;margin-top:9px;display:block;overflow:auto}.event-panel{border-bottom:1px solid var(--line);padding:17px 18px}.event-buttons{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.event-button{font:11px var(--mono);letter-spacing:.3px;padding:7px 13px;font-weight:500}.event-button span{color:var(--accent)}.event-hint{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.6}.event-payload{color:var(--muted);margin-top:13px;font-size:11px}.event-payload summary{cursor:pointer}.event-payload summary span{color:var(--faint);margin-left:5px}.event-payload input{border:1px solid var(--line-strong);width:100%;font:11px var(--mono);color:var(--text);background:var(--sunken);border-radius:8px;margin-top:10px;padding:9px}.event-log{flex:1;min-height:95px;padding:13px 18px}.log-heading{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.log-heading .icon-button{padding:2px 8px;font-size:11px}#event-log{height:88px;overflow:auto}.log-row{font:10px/1.8 var(--mono);color:var(--muted);gap:12px;padding:3px 0;display:flex}.log-row .time{color:var(--faint);flex-shrink:0;width:57px}.log-row strong{color:var(--text-2);margin-right:5px;font-weight:500}.log-row.blocked strong,.log-row.error strong{color:var(--error)}.reference-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;gap:45px;margin-top:96px;padding:48px 0;display:grid}.reference-note p{color:var(--text-2);max-width:390px;margin:9px 0 0;font-size:13px;line-height:1.7}.reference-note>a{color:var(--text-2);align-self:center;gap:25px;font-size:12px;display:flex}footer{max-width:1600px;font:10px var(--mono);color:var(--muted);justify-content:space-between;gap:20px;margin:auto;padding:32px 36px 48px;display:flex}footer>span:first-child{color:var(--text-2);font-family:DM Sans,sans-serif;font-size:13px;font-weight:600}.toast{opacity:0;pointer-events:none;background:var(--raised);border:1px solid var(--line-strong);color:var(--text);border-radius:8px;padding:11px 18px;font-size:12px;transition:opacity .2s,transform .2s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,10px);box-shadow:0 10px 30px #0008}.toast.visible{opacity:1;transform:translate(-50%)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--raised);color:var(--text);border-radius:8px;padding:10px;position:absolute;top:-50px;left:20px}.skip-link:focus{top:10px}.not-found{padding:120px 36px}.not-found h1{letter-spacing:-.04em;margin:0 0 28px;font-size:44px;font-weight:300}.not-found a{padding:11px 18px;font-size:13px}@media (width>=1450px){.workbench-body{grid-template-columns:210px minmax(0,1.1fr) minmax(0,1fr)}.editor-shell{font-size:13px;line-height:23px}.machine-diagram{min-height:210px}}@media (width<=1050px){.workbench-body{grid-template-columns:160px minmax(0,1fr) minmax(0,1fr)}.example-item{gap:7px;padding-left:12px;padding-right:8px}.example-item strong{font-size:11px}.sidebar-guide{margin-left:12px;margin-right:12px}.editor-footer{flex-wrap:wrap}.editor-footer>span{max-width:100%}.reference-note{gap:24px}.reference-note>a{max-width:140px;line-height:1.6}.header-caption{display:none}}@media (width<=899px){.hero-content{grid-template-columns:minmax(0,1fr);min-height:0;padding:360px 20px 48px}.hero-copy{grid-column:1}.hero h1{font-size:clamp(42px,12vw,60px)}.readout{max-width:none;margin-top:44px}}@media (width<=800px){main,.site-header{padding:0 20px}.workbench-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.examples-sidebar{display:none}.editor-shell{font-size:11px;line-height:20px}.reference-note{grid-template-columns:1fr 1fr}.reference-note>a{grid-column:1/-1;max-width:none}footer{flex-wrap:wrap;padding:28px 20px 40px}}@media (width<=580px){.site-header{gap:10px;height:60px}.wordmark{font-size:21px}.site-header nav{gap:14px;font-size:12px}.wordmark svg{width:18px}.hero-content{padding-top:330px}.workbench{border-radius:12px}.workbench-toolbar{gap:8px;min-height:48px;padding:0 10px 0 14px}.workbench-body{flex-direction:column;display:flex}.definition-pane{order:2}.runtime-pane{border-left:0;border-bottom:1px solid var(--line);order:1}.machine-diagram{min-height:160px;padding:0 16px}.machine-diagram svg{max-height:175px}.event-panel{padding:13px 16px}.event-log{padding:10px 16px}.editor-shell{height:360px;min-height:360px;font-size:11px;line-height:20px}.editor-footer{flex-wrap:nowrap}.editor-footer>span{max-width:56%}.reference-note{grid-template-columns:1fr;gap:20px;margin-top:56px;padding:32px 0}footer{gap:15px}footer>span:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
