@import url('/assets/design-tokens.css');
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--text);font:13px/1.65 var(--font-ui)}button,input,select,textarea{font:inherit;color:inherit}button,.button,select,input{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);min-height:38px;padding:8px 12px}button,.button,select,summary{cursor:pointer}button:hover,.button:hover{border-color:var(--muted);background:var(--surface-soft)}button:disabled,input:disabled,textarea:disabled,select:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.button{text-decoration:none;display:inline-flex;align-items:center}a{color:var(--accent-text)}button.primary{background:var(--accent);color:#302309;border-color:var(--accent);font-weight:700}button.primary:hover{filter:brightness(.97)}h1,h2,h3,p{margin:0}h1{font-size:20px;line-height:26px;font-weight:650}h2{font-size:17px;line-height:1.5;font-weight:650}h3{font-size:13px;font-weight:700}p{margin:8px 0}.eyebrow{font-size:10px;line-height:14px;letter-spacing:.11em;font-weight:650;color:var(--muted)}.mono,code,pre,textarea{font-family:var(--font-mono)}.muted,.model-note{color:var(--muted)}.model-note{font-size:11px;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-80px;left:12px;z-index:99;padding:12px;background:var(--surface)}.skip:focus{top:12px}.topbar{min-height:88px;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border);background:var(--surface)}.brand{display:flex;gap:14px;align-items:center}.brand-mark{width:46px;height:46px;border-radius:14px;background:var(--accent-soft);color:var(--accent-text);display:grid;place-items:center;font:700 13px var(--font-mono);border:1px solid var(--border)}.brand p{font-size:12px;line-height:18px;margin:3px 0 0;color:var(--muted)}.utilities,.button-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.utilities button,.utilities .button{min-height:42px}.utilities{flex-shrink:0}main{max-width:1700px;margin:0 auto;padding:22px 28px 12px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:22px;box-shadow:var(--shadow-card);margin-bottom:18px;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.section-heading .eyebrow{display:block;margin-bottom:6px}.lab-bar{display:flex;gap:14px;align-items:center;margin-bottom:14px}.lab-bar #reset{margin-left:auto}.lab-picker{display:flex;align-items:center;gap:10px}.lab-picker select{min-width:240px}.guided{background:var(--accent-soft);border:1px solid var(--border);border-radius:16px;padding:12px 18px;margin-bottom:18px}.guided summary{font-weight:650}.guided .badge{margin-left:12px}.guide-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:18px;padding-top:12px}.guide-grid p{font-size:12px;margin:4px 0}.guide-label{font-size:10px;color:var(--accent-text);letter-spacing:.05em;font-weight:700}.lab-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.lab-actions button{font-size:11px;min-height:32px;padding:4px 9px}.badge{border-radius:999px;padding:4px 9px;background:var(--surface-soft);font-size:10px;font-weight:650;border:1px solid var(--border);white-space:nowrap}.badge.success{color:var(--success);background:var(--success-soft)}.badge.selected{color:var(--accent-text);background:var(--accent-soft)}.editor{padding-bottom:16px}.example-picker{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.editor-grid{display:grid;grid-template-columns:1fr 220px;gap:20px}.code-editor{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;overflow:hidden}textarea{display:block;resize:vertical;min-height:115px;width:100%;padding:14px 18px;font-size:13px;line-height:1.8;background:transparent;border:0;tab-size:2;color:var(--text)}.editor-caption{display:block;color:var(--muted);font-size:10px;padding:0 18px 8px}.binds{display:flex;flex-direction:column;gap:10px;padding:5px 0}.binds label{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:8px;font-size:11px}.binds input,.binds select{width:100%;font-family:var(--font-mono);min-height:34px;padding:6px 9px}.editor-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px}.support{font-size:11px;color:var(--muted);max-width:460px}.support[open]{align-self:start}.notice:empty{display:none}.notice{padding:10px 16px;background:var(--success-soft);border:1px solid var(--border);border-radius:12px;margin-bottom:18px}.notice.error{color:var(--danger);background:var(--surface)}.journey>.model-note{margin:-5px 0 16px}.journey-grid{display:grid;grid-template-columns:182px minmax(270px,1fr) minmax(300px,.95fr);gap:24px}.processing>h3{margin-bottom:12px}.flow-node{border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);padding:10px 11px;position:relative;font-size:11px;font-weight:600}.flow-node small{display:block;color:var(--muted);font-weight:400;font-size:10px}.flow-node.current{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft)}.flow-node.visited .flow-state{color:var(--success)}.flow-node.skipped{opacity:.45}.flow-state{float:right;font-family:var(--font-mono)}.connector{height:18px;display:flex;justify-content:center;align-items:center;color:var(--muted);font-size:13px}.parse-branches{display:grid;grid-template-columns:1fr 1fr;gap:7px}.parse-branches .flow-node{font-size:10px;padding:10px 7px}.decision,.plan-section{border-left:1px solid var(--border);padding-left:24px;min-width:0}.micro-label{font-size:9px;letter-spacing:.05em;color:var(--muted)}.empty{min-height:195px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:var(--muted);gap:12px;padding:20px;background:var(--surface-soft);border:1px dashed var(--border);border-radius:14px}.empty .diagram-symbol{font-size:28px;color:var(--accent-text);font-family:var(--font-mono)}.empty p{font-size:12px;max-width:320px}.decision-pipeline{display:flex;flex-wrap:wrap;gap:5px;align-items:center;color:var(--muted);font-size:10px;margin-bottom:14px}.decision-pipeline span{background:var(--surface-soft);border:1px solid var(--border);border-radius:7px;padding:3px 7px}.estimation{padding:12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;margin-bottom:14px}.estimation-head{font-family:var(--font-mono);font-size:10px;color:var(--muted);overflow-wrap:anywhere}.estimate-metrics{display:flex;gap:24px;margin-top:7px}.estimate-metrics span{display:block;font-size:10px;color:var(--muted)}.estimate-metrics strong{font-size:21px;line-height:1.5;font-weight:650;font-variant-numeric:tabular-nums}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.candidate{display:block;text-align:left;padding:12px;min-width:0;white-space:normal;position:relative}.candidate.selected{border-color:var(--accent);background:var(--accent-soft)}.candidate.comparing{box-shadow:inset 0 0 0 1px var(--muted)}.candidate .candidate-label{font-family:var(--font-mono);font-size:10px;font-weight:700;display:block;margin-top:5px;overflow-wrap:anywhere}.candidate .cost{font-size:20px;display:block;line-height:1.5;font-weight:650;font-variant-numeric:tabular-nums}.candidate small{display:block;font-size:10px;color:var(--muted)}.candidate .mini-tree{font-family:var(--font-mono);font-size:9px;line-height:1.6;margin-top:5px;white-space:normal;overflow-wrap:anywhere}.candidate .candidate-status{font-size:9px;color:var(--accent-text)}.why{font-size:12px;margin-top:12px;padding:12px;background:var(--surface-soft);border-radius:12px}.why p{margin:4px 0}.why-button{width:100%;margin-top:12px;font-size:11px}.tree-node{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;display:block;width:calc(100% - var(--indent));margin-left:var(--indent);text-align:left;padding:9px 10px;margin-bottom:7px;position:relative;min-height:50px}.tree-node:before{content:'';position:absolute;height:8px;width:1px;background:var(--border);left:16px;top:-9px}.tree-node:first-child:before{display:none}.tree-node.active{background:var(--accent-soft);border-color:var(--accent)}.tree-node.inspected{box-shadow:inset 0 0 0 1px var(--muted)}.tree-op{display:flex;gap:7px;font-size:10px;font-weight:650;align-items:start;overflow-wrap:anywhere}.node-id{color:var(--muted);font-size:9px}.tree-object{font-size:9px;color:var(--muted);margin-top:3px;display:block}.tree-rows{display:flex;gap:10px;margin-top:4px;font-size:9px;color:var(--muted)}.tree-rows b{color:var(--text);font-weight:500}.node-detail{border:1px solid var(--border);border-radius:12px;padding:12px;margin-top:12px;font-size:11px}.node-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px;margin:5px 0}.node-detail dt{color:var(--muted)}.node-detail dd{margin:0;text-align:right;overflow-wrap:anywhere}.node-detail code{font-size:10px;overflow-wrap:anywhere}.execution-strip{display:flex;align-items:center;gap:10px;background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;padding:11px 14px;margin-top:20px;font-size:11px}.execution-strip #execution-progress{margin-left:auto;white-space:nowrap;font-size:10px;color:var(--muted)}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}body[data-playing=true] .pulse-dot{animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.2;transform:scale(.8)}}.journey>.execution-strip+.model-note{margin:10px 0 0}.secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.table-scroll{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;font-family:var(--font-mono)}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-size:10px;font-weight:500}td button{font-size:10px;padding:3px 7px;min-height:26px}.cache-active{background:var(--accent-soft)}.cache-counts{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px;font-size:11px;color:var(--muted)}.cache-counts b{color:var(--text);font-family:var(--font-mono)}.empty-small{color:var(--muted);font-size:12px;padding:18px 0}.results-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.results-metrics span{font-size:10px;color:var(--muted);display:block}.results-metrics strong{font-size:24px;line-height:1.5;font-weight:650;font-variant-numeric:tabular-nums}.warning{color:var(--danger);font-size:11px}details>summary{font-size:12px}pre{max-width:100%;overflow:auto;background:var(--surface-soft);padding:14px;border-radius:12px;font-size:10px;line-height:1.8;white-space:pre}.xplan-actions{margin-top:12px}.xplan-actions button{font-size:10px}.advanced>summary{display:flex;gap:15px;align-items:center;font-weight:650;list-style:none}.advanced>summary:before{content:'＋';font-size:18px;color:var(--accent-text)}.advanced[open]>summary:before{content:'−'}.advanced>summary .muted{font-weight:400;font-size:11px}.advanced-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin-top:20px}.advanced-grid>section{min-width:0}.advanced-grid h3{margin:15px 0 10px}.advanced-grid p{font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{font-size:10px;color:var(--muted)}.form-grid input,.form-grid select{display:block;width:100%;margin-top:4px;color:var(--text);font-family:var(--font-mono)}.checks{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0;font-size:11px}.checks label{display:flex;align-items:center;gap:5px}.checks input{min-height:0;accent-color:var(--accent)}.distribution{display:flex;height:12px;border-radius:5px;overflow:hidden;background:var(--border);margin:16px 0 7px}.distribution span{display:block;background:var(--accent)}.distribution span:nth-child(2){background:var(--muted)}.distribution span:nth-child(3){background:var(--success)}.distribution-label{font:10px var(--font-mono);color:var(--muted)}.blocks{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;padding:16px;font:11px var(--font-mono)}.parent{font:11px/1.9 var(--font-mono);border-left:2px solid var(--border);padding:8px 12px;margin-top:8px;overflow-wrap:anywhere}.parent code{display:block;overflow-wrap:anywhere;color:var(--muted);font-size:10px}.parent-child{padding-left:12px;font-size:10px}.log-panel #logs{max-height:240px;overflow:auto;font:11px/1.8 var(--font-mono)}.log-entry{display:flex;gap:14px;padding:4px 0;border-bottom:1px solid var(--border)}.log-entry time{color:var(--muted);flex-shrink:0;font-size:10px}.log-entry.error{color:var(--danger)}.documentation #guide-content{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:18px;font-size:12px}.documentation li{margin-bottom:8px}.documentation h3{margin:10px 0}footer{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);padding:8px 4px 18px}button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}[hidden]{display:none!important}
@media(min-width:1500px){.journey-grid{grid-template-columns:210px minmax(380px,1fr) minmax(350px,.85fr);gap:30px}.decision,.plan-section{padding-left:30px}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.journey-grid{grid-template-columns:160px 1fr;gap:20px}.plan-section{grid-column:1/-1;border-left:0;border-top:1px solid var(--border);padding:18px 0 0}.plan-section #plan-tree{max-width:700px}.guide-grid{grid-template-columns:1fr 1fr}.guide-grid>div:last-child{grid-column:1/-1}.topbar{align-items:start}.utilities{max-width:300px;justify-content:end}.lab-bar>.muted{display:none}.secondary-grid{grid-template-columns:1fr}.results-metrics{max-width:500px}}
@media(max-width:700px){main{padding:14px 12px}.topbar{padding:16px;flex-direction:column;gap:12px}.brand-mark{width:40px;height:40px}h1{font-size:18px}.utilities{max-width:none;width:100%;justify-content:start}.utilities button,.utilities .button{min-height:38px;font-size:11px}.panel{padding:16px;border-radius:18px}.lab-bar{flex-wrap:wrap;gap:8px}.lab-picker{flex:1}.lab-picker select{min-width:0;width:100%}.lab-picker .eyebrow{display:none}.lab-bar #reset{font-size:11px}.editor-grid{grid-template-columns:1fr;gap:8px}.binds{flex-direction:row;flex-wrap:wrap;align-items:center}.binds>.eyebrow{display:none}.binds label{grid-template-columns:auto 100px;flex:1;min-width:170px}.section-heading{flex-wrap:wrap;gap:8px}.example-picker{max-width:100%;width:100%;justify-content:space-between}.example-picker select{max-width:220px}.editor-actions{align-items:start;flex-direction:column}.journey-grid{grid-template-columns:1fr}.decision,.plan-section{border-left:0;border-top:1px solid var(--border);padding:18px 0 0}.plan-section{grid-column:auto}.processing #flow{max-width:100%}.flow-node{padding:8px 12px}.parse-branches{gap:14px}.parse-branches .flow-node{padding:10px 12px}.connector{height:16px}.processing h3{margin-bottom:12px}.journey .section-heading .button-group{gap:5px}.button-group button{font-size:11px}.execution-strip{flex-wrap:wrap}.execution-strip #execution-message{flex:1;min-width:160px}.guide-grid{grid-template-columns:1fr;gap:8px}.guide-grid>div:last-child{grid-column:auto}.advanced-grid{grid-template-columns:1fr;gap:12px}.advanced>summary{align-items:start;flex-wrap:wrap;gap:7px}.advanced>summary .muted{width:100%;padding-left:23px}.documentation #guide-content{grid-template-columns:1fr;gap:8px}footer{flex-direction:column;gap:3px}.log-entry{font-size:10px;gap:8px}.results-metrics strong{font-size:21px}.candidate-grid{gap:6px}.candidate{padding:9px}.tree-node{--indent-cap:24px}}
.skip:not(:focus){clip-path:inset(100%)}
.soft-bypass{margin:10px 0;padding:9px;border:1px solid var(--success);background:var(--success-soft);color:var(--success);border-radius:10px;font-size:10px;font-weight:650}.soft-bypass small{display:block;font-weight:400;margin-top:4px}.soft-bypass~.flow-node.skipped{border-style:dashed}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
