:root{--surface:#f5f7f1;--panel:#fff;--panel-strong:#f7faf8;--panel-soft:#fbfcf7;--line:#dbe1d6;--ink:#334049;--ink-strong:#11191f;--muted:#6f7b82;--accent:#2e6f6f;--focus:#2d756c;--selected:#e7f1ed;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);background:var(--surface);font-family:var(--sans);letter-spacing:0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.45}*{box-sizing:border-box}html{background:var(--surface);min-width:320px;height:100%}body{min-width:320px;height:100%;min-height:100svh;margin:0;overflow:hidden}#root{height:100%;min-height:100svh}@media (width<=860px){html,body,#root{height:auto}body{overflow:auto}}.app-shell{background:linear-gradient(90deg, #0e1f2a0d 1px, transparent 1px), linear-gradient(180deg, #0e1f2a0d 1px, transparent 1px), var(--surface);height:100svh;color:var(--ink);background-size:28px 28px;overflow:hidden}.workspace{grid-template-rows:auto auto minmax(0,1fr);width:min(1500px,100% - 32px);height:100%;margin:0 auto;padding:24px 0;display:grid}.topbar{justify-content:space-between;align-items:center;gap:12px;padding:12px 0 10px;display:flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:inline-flex}.system-badge{border:1px solid var(--line);background:var(--panel);min-height:32px;color:var(--ink-strong);letter-spacing:.02em;border-radius:999px;align-items:center;padding:0 11px;font-size:12px;font-weight:900;display:inline-flex}h1,h2,p{margin:0}h1{color:var(--ink-strong);letter-spacing:0;white-space:nowrap;font-size:32px;line-height:1.05}h2{color:var(--ink-strong);letter-spacing:0;font-size:16px;line-height:1.2}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.filter-select{border:1px solid var(--line);background:#ffffff94;border-radius:8px;grid-template-columns:auto auto;align-items:center;gap:6px;min-height:38px;padding:0 9px;display:inline-grid}.filter-select span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.filter-select select{color:var(--ink-strong);text-transform:capitalize;background:0 0;border:0;font-size:13px;font-weight:800}.seat-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 8px;font-size:13px;display:flex}.seat-legend>span:first-child{color:var(--ink);font-weight:800}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-item i{background:var(--bidder-color);border-radius:999px;width:18px;height:10px}.search-box{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:42px;padding:0 12px;display:grid}.search-box.compact{width:min(270px,28vw);min-height:38px;padding:0 10px}.search-box svg{color:var(--muted)}.search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0}.search-box input::placeholder{color:var(--muted)}.content-grid{grid-template-columns:minmax(360px,.85fr) minmax(480px,1.15fr);align-items:stretch;gap:12px;min-height:0;display:grid}.content-grid-wide{grid-template-columns:minmax(0,1fr)}.tree-panel,.detail-panel,.code-panel{border:1px solid var(--line);background:#ffffffd6;border-radius:8px;box-shadow:0 16px 50px #17212b14}.tree-panel,.code-panel{scrollbar-gutter:stable;min-height:0;max-height:100%;overflow:auto}.detail-panel{scrollbar-gutter:stable;min-height:0;padding:18px;overflow:auto}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:0 14px;display:flex}.tree-panel-heading{justify-content:space-between;min-height:46px;padding:6px 14px}.tree-mode-actions{flex:none;align-items:center;min-width:0;display:inline-flex}.panel-heading span,.panel-heading svg{color:var(--muted);font-size:13px}.tree-heading-actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:6px;min-width:0;margin-left:auto;display:inline-flex}.tree-counts{white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:6px;width:112px;margin-right:2px;display:inline-flex}.tree-counts i{background:var(--line);border-radius:999px;width:3px;height:3px}.tree-heading-actions>button{border:1px solid var(--line);background:var(--panel);width:30px;height:30px;color:var(--ink);border-radius:6px;flex:none;place-items:center;padding:0;display:inline-grid}.tree-heading-actions>button:hover{border-color:var(--focus);background:var(--panel-strong);color:var(--ink-strong)}.primary-switch,.tree-style-switch{border:1px solid var(--line);background:#ffffff94;border-radius:8px;flex-wrap:wrap;flex:0 auto;align-items:center;gap:3px;padding:3px;display:inline-flex}.primary-switch button,.tree-style-switch button{min-width:0;min-height:30px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.primary-switch button.active,.tree-style-switch button.active{border-color:var(--line);background:var(--panel);color:var(--ink-strong);box-shadow:0 1px 6px #17212b0d}.primary-switch svg,.tree-style-switch svg{flex:none}.tree-list{padding:10px}.tree-node{position:relative}.tree-children{border-left:1px solid var(--line);margin-left:22px;padding-left:12px}.tree-row{border-radius:7px;grid-template-columns:28px minmax(0,1fr);align-items:stretch;margin:2px 0;display:grid}.tree-row.selected{background:var(--selected)}.tree-row.search-context{opacity:.54}.tree-row.search-context.selected,.tree-row.search-match{opacity:1}.tree-row.search-match{background:color-mix(in srgb, var(--focus) 9%, var(--panel));box-shadow:inset 3px 0 0 var(--focus)}.tree-row.search-match.selected{background:color-mix(in srgb, var(--focus) 15%, var(--selected))}.toggle-button{width:28px;min-height:58px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.toggle-button:disabled{cursor:default}.toggle-button span{width:8px;height:8px}.node-button{min-width:0;min-height:58px;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:12px;padding:8px 10px 8px 0;display:grid}.node-button:hover .node-copy strong{color:var(--ink-strong)}.node-bid-stack{place-items:start center;width:72px;display:grid}.node-copy{min-width:0;padding:2px 0 0}.node-title-line{align-items:center;gap:7px;min-width:0;display:flex}.node-title-line .frequency-badge{flex:none}.node-copy strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:14px;line-height:1.25;display:block;overflow:hidden}.node-copy small{color:var(--muted);-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.frequency-badge{color:#2f6d50;white-space:nowrap;background:#f4faf6;border:1px solid #cddbd4;border-radius:999px;align-items:center;width:fit-content;padding:4px 6px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.bid-token{border:1px solid var(--line);border-left:5px solid var(--bidder-color,var(--line));background:var(--panel);min-width:82px;height:58px;color:var(--ink-strong);font-family:var(--mono);letter-spacing:0;box-sizing:border-box;border-radius:7px;justify-content:center;align-items:center;padding:0 9px;font-size:30px;font-weight:800;display:inline-flex}.suit{font-family:"Segoe UI Symbol", "Apple Symbols", "Noto Sans Symbols", var(--sans);vertical-align:-.05em;font-size:1.16em;font-weight:900;line-height:1}.bid-token .suit{vertical-align:baseline;line-height:0}.suit-c{color:#1f7a4d}.suit-d{color:#d97812}.suit-h{color:#c92f3e}.suit-s{color:#0f5f8a}.bid-token.small{border-radius:6px;min-width:72px;height:44px;font-size:22px}.bidder-opener{--bidder-color:#105b87}.bidder-responder{--bidder-color:#3f6f4f}.bidder-intervenor{--bidder-color:#a2442c}.bidder-advancer{--bidder-color:#865a14}.minimal-tree{padding:8px 10px 12px}.minimal-node{margin-left:calc(var(--depth) * 18px)}.minimal-node+.minimal-node,.minimal-node>.minimal-node{margin-top:2px}.minimal-row{border-radius:5px;grid-template-columns:24px minmax(0,1fr);align-items:stretch;display:grid}.minimal-row:hover,.minimal-row.selected{background:var(--selected)}.minimal-row.search-context{opacity:.54}.minimal-row.search-context.selected,.minimal-row.search-match{opacity:1}.minimal-row.search-match{background:color-mix(in srgb, var(--focus) 9%, var(--panel));box-shadow:inset 3px 0 0 var(--focus)}.minimal-row.search-match.selected{background:color-mix(in srgb, var(--focus) 15%, var(--selected))}.minimal-toggle{width:24px;min-height:28px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.minimal-toggle:disabled{cursor:default}.minimal-main{width:100%;min-height:28px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:5px;grid-template-columns:52px 54px minmax(150px,.65fr) minmax(220px,1fr) minmax(220px,1fr);align-items:baseline;gap:8px;padding:3px 6px;display:grid}.minimal-bid{color:var(--ink-strong);font-family:var(--mono);white-space:nowrap;min-width:42px;font-size:15px;font-weight:900}.minimal-node strong,.minimal-node small,.minimal-meaning{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.minimal-node strong{color:var(--ink-strong);font-size:13px}.minimal-node small{color:var(--muted);font-size:12px}.minimal-meaning{color:var(--ink);font-size:12px}.sayc-flow-wrap{padding:14px;overflow:auto}.sayc-flow-diagram{border:1px solid var(--line);background-color:#ffffff7a;background-image:linear-gradient(90deg,#2d756c0b 1px,#0000 1px),linear-gradient(#2d756c0b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;width:1220px;height:860px;position:relative}.sayc-flow-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sayc-flow-lines path{fill:none;stroke:color-mix(in srgb, var(--muted) 58%, transparent);stroke-width:1.6px}.sayc-flow-lines marker path{fill:color-mix(in srgb, var(--muted) 68%, transparent)}.sayc-flow-lines text{fill:var(--focus);font-family:var(--mono);font-size:11px;font-weight:900}.flow-step{left:var(--x);top:var(--y);z-index:1;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, white);width:184px;min-height:94px;color:var(--ink);text-align:left;border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding:12px 13px;display:flex;position:absolute;box-shadow:0 8px 24px #17212b0f}.flow-step svg{color:var(--focus)}.flow-step strong{color:var(--ink-strong);font-size:14px;line-height:1.2}.flow-step small{color:var(--muted);font-size:12px;line-height:1.25}.flow-step-start{border-color:color-mix(in srgb, var(--focus) 34%, var(--line));background:color-mix(in srgb, var(--focus) 8%, var(--panel));width:174px;min-height:78px}.flow-step-question{border-color:color-mix(in srgb, var(--focus) 24%, var(--line))}.flow-step-bid{border-left:6px solid var(--bidder-color);width:210px;min-height:118px;padding-left:11px}.flow-step-bid:hover{border-color:color-mix(in srgb, var(--bidder-color) 52%, var(--line));border-left-color:var(--bidder-color);background:var(--panel-strong);transform:translateY(-1px)}.flow-step-stop{border-color:color-mix(in srgb, #d39935 46%, var(--line));background:#fff8e6;width:150px;min-height:74px}.flow-step-stop svg{color:#9a6818}.flow-step.missing{color:var(--muted);border-style:dashed}.flow-bid-head{align-items:center;gap:8px;min-width:0;display:flex}.flow-bid-head .bid-token.small{min-width:70px}.flow-bid-head .frequency-badge{flex:none}.sequence-bar{align-items:center;gap:8px;min-height:24px;padding:0 2px;display:flex}.sequence-label{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.sequence-list{flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.sequence-list li{align-items:center;gap:6px;display:inline-flex}.sequence-list li+li:before{content:"->";color:var(--muted);font-family:var(--mono);font-size:11px;font-weight:800}.sequence-list button{border:1px solid var(--line);background:var(--panel);min-height:22px;color:var(--ink-strong);font-family:var(--mono);border-radius:6px;align-items:center;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.selected-header{grid-template-columns:auto 1fr;align-items:center;gap:14px;margin:16px 0 22px;display:grid}.selected-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seat-pill{border:1px solid color-mix(in srgb, var(--bidder-color) 38%, var(--line));background:color-mix(in srgb, var(--bidder-color) 10%, var(--panel));width:fit-content;color:var(--bidder-color);border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 7px;display:inline-flex}.seat-pill:before{content:"";background:var(--bidder-color);border-radius:999px;width:14px;height:8px}.selected-meta .seat-pill{text-transform:uppercase;color:var(--bidder-color);font-size:13px;font-weight:700}.selected-header h2{margin-top:3px;font-size:30px;line-height:1.1}.definition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.info-block,.alert-note,.source-card{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;padding:13px}.info-block>span,.source-card>p{color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.info-block p{color:var(--ink-strong);font-size:15px;line-height:1.45}.source-card small{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.35;display:block}.alert-note{background:#fff8e6;border-color:#d39935;grid-template-columns:auto 1fr;gap:10px;margin-top:10px;display:grid}.alert-note strong{color:#865a14}.alert-note>span{color:var(--ink-strong)}.tag-row{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 18px;display:flex}.tag-row .tag-row-label{color:var(--muted);text-transform:uppercase;background:0 0;border:0;padding:0 2px 0 0;font-size:11px;font-weight:900}.tag-row span{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.frequency-note{border:1px solid var(--line);background:var(--panel-soft);color:var(--muted);border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:8px;margin:-4px 0 14px;padding:9px 10px;font-size:12px;line-height:1.35;display:grid}.frequency-note svg{color:var(--muted);margin-top:1px}.continuations{border:1px solid var(--line);border-radius:8px;overflow:hidden}.continuation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.continuation-grid button{border:1px solid var(--line);background:var(--panel-soft);min-height:76px;color:inherit;text-align:left;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:10px;display:grid}.continuation-grid button:hover{border-color:var(--focus);background:var(--panel)}.continuation-grid strong,.continuation-grid small{display:block}.continuation-grid strong{color:var(--ink-strong);font-size:14px;line-height:1.2}.continuation-grid small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.35}.empty-state{color:var(--muted);padding:14px;font-size:14px}.code-panel{padding-bottom:12px}.code-panel .source-card{margin:12px}.source-card strong{color:var(--ink-strong);font-family:var(--mono);font-size:13px}pre{border:1px solid var(--line);color:#d8ede8;background:#111a20;border-radius:8px;margin:12px;padding:14px;overflow:auto}code{font-family:var(--mono);white-space:pre;font-size:12px;line-height:1.55}@media (width<=1180px){.content-grid{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr)}}@media (width<=860px){.app-shell{height:auto;min-height:100svh;overflow:visible}.workspace{width:min(100% - 20px,720px);height:auto;padding:12px 0;display:block}.content-grid,.definition-grid,.continuation-grid{grid-template-columns:1fr}.tree-heading-actions{justify-content:flex-end}.tree-mode-actions,.tree-heading-actions{width:auto}.tree-counts{justify-content:flex-start;width:auto;min-width:112px}.tree-panel{max-height:460px}.minimal-node{margin-left:calc(var(--depth) * 10px)}.minimal-main{grid-template-columns:42px 48px minmax(0,1fr)}.minimal-meaning,.minimal-node small{display:none}.topbar{flex-direction:column;align-items:flex-start;padding:8px 0 10px}.topbar-actions{justify-content:flex-start;width:100%}.search-box.compact{width:min(190px,100%)}.sayc-flow-wrap{padding:10px}.sayc-flow-diagram{transform-origin:0 0;margin-bottom:-327px;margin-right:-464px;transform:scale(.62)}.detail-panel{min-height:auto;overflow:visible}h1{font-size:30px}.selected-header h2{font-size:24px}}@media (width<=560px){.search-box.compact{order:10;width:100%}}
