:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--workbench-paper:#f7f6f1;--workbench-ink:#24231f;--workbench-muted:#6b6861;--workbench-line:#c9c4b7;--workbench-accent:#8d4c46;--workbench-focus:#2c79d8;--workbench-font:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--text-caption:.6875rem;--text-small:.75rem;--text-ui:.8125rem;--text-body:.9375rem;--text-subhead:1.0625rem;--text-heading:1.25rem;--weight-body:430;--weight-medium:560;--weight-strong:640;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px}html,body,#app{height:100%;margin:0}body{font-family:var(--workbench-font);font-kerning:normal;font-optical-sizing:auto;background:#e9eef1}button{font-family:inherit}.unified-workbench{min-width:320px;height:100dvh;color:var(--workbench-ink);font-family:var(--workbench-font);background:#eef2f4;grid-template-rows:auto minmax(0,1fr);display:grid}.unified-workbench :where(h1,h2,h3,h4,p,button,input,select,textarea,small,strong,span){font-family:inherit}.unified-workbench-top{border-bottom:1px solid var(--workbench-line);background:color-mix(in srgb, var(--workbench-paper) 94%, white);z-index:4;grid-template-columns:minmax(180px,1fr) minmax(220px,auto) auto;align-items:center;gap:8px 16px;min-height:60px;padding:6px 14px;display:grid;box-shadow:0 1px #24231f0f}.project-shell{justify-self:end;align-items:center;gap:8px;min-width:0;max-width:360px;display:flex;position:relative}.project-shell-toggle,.project-shell-command,.project-picker-row{border:1px solid var(--workbench-line);color:var(--workbench-ink);font-size:var(--text-ui);font-weight:var(--weight-strong);letter-spacing:0;cursor:pointer;background:#fff;border-radius:6px}.project-shell-toggle{min-height:30px;padding:0 12px}.project-shell-current{min-width:0;color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-shell-popover{z-index:20;border:1px solid var(--workbench-line);background:#fff;border-radius:8px;gap:8px;width:min(360px,100vw - 28px);padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #24231f29}.project-shell-identity{gap:2px;min-width:0;display:grid}.project-shell-identity strong,.project-picker-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-shell-identity span,.project-picker-row small{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-strong);letter-spacing:.045em;text-transform:uppercase}.project-shell-command{text-align:left;min-height:34px;padding:0 12px}.project-shell-command:hover,.project-shell-toggle:hover,.project-picker-row:hover,.project-picker-row.is-active{border-color:color-mix(in srgb, var(--workbench-accent) 58%, var(--workbench-line));background:color-mix(in srgb, var(--workbench-accent) 10%, #fff)}.project-picker-list{gap:10px;max-height:min(360px,52vh);display:grid;overflow:auto}.project-picker-section{gap:6px;display:grid}.project-picker-section h2{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-strong);letter-spacing:.055em;text-transform:uppercase;margin:4px 2px 0}.project-picker-row{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:0 10px;display:grid}.project-picker-empty{color:var(--workbench-muted);font-size:var(--text-ui);margin:0}.workbench-brand p,.eyebrow{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-strong);letter-spacing:.055em;text-transform:uppercase;margin:0 0 2px}.workbench-brand h1{font-size:var(--text-subhead);letter-spacing:0;text-wrap:balance;margin:0;font-weight:690;line-height:1.08}.workbench-mode-tabs{border:1px solid var(--workbench-line);background:#ffffffb8;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;justify-self:center;align-items:center;gap:6px;width:min(100%,360px);padding:4px;display:grid}.workbench-mode-button,.grammar-layout-tabs button{width:100%;min-width:0;min-height:30px;color:var(--workbench-ink);font-size:var(--text-ui);font-weight:var(--weight-strong);letter-spacing:0;cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;padding:0 18px}.workbench-mode-button.is-active,.grammar-layout-tabs button.is-active{border-color:color-mix(in srgb, var(--workbench-accent) 38%, var(--workbench-line));color:#5d2f2c;background:#f3ebe4;box-shadow:0 1px 2px #24231f14}.workbench-mode-button:focus-visible,.grammar-layout-tabs button:focus-visible,.rulebook-editor-utility button:focus-visible,.contract-builder button:focus-visible,.contract-builder select:focus-visible,.contract-builder textarea:focus-visible,.runtime-support-controls button:focus-visible,.runtime-accept-button:focus-visible,.runtime-inline-action:focus-visible,.slash-command-menu button:focus-visible,.graph-node:focus-visible,.ref-list button:focus-visible{outline:2px solid var(--workbench-focus);outline-offset:2px}.surface-project-status{color:var(--workbench-muted);font-size:var(--text-small);font-weight:var(--weight-medium);letter-spacing:0;text-transform:none;margin:5px 0 0;line-height:1.25}.workbench-surface{min-height:0;overflow:hidden}.workbench-surface>.observatory-shell,.workbench-surface>.playtester-shell{height:100%;min-height:0}.unified-workbench[data-active-mode=Components]{height:100dvh;min-height:0}.unified-workbench[data-active-mode=Components] .workbench-surface{overflow:hidden}.unified-workbench[data-active-mode=Grammar] .workbench-surface{overflow:visible}.unified-workbench[data-active-mode=Grammar]{height:auto;min-height:100dvh}.unified-workbench[data-active-mode=Playtest]{background:#120e08;grid-template-rows:46px minmax(0,1fr);height:100dvh;min-height:0}.unified-workbench[data-active-mode=Playtest] .unified-workbench-top{background:#f4f1ea;border-bottom-color:#e7decc2e;grid-template-columns:minmax(180px,1fr) auto;justify-items:stretch;min-height:46px;padding:5px 12px}.unified-workbench[data-active-mode=Playtest] .workbench-brand{grid-area:1/1;display:block}.unified-workbench[data-active-mode=Playtest] .workbench-mode-tabs{background:#ffffffd1;grid-area:1/2;justify-self:end;padding:3px}.unified-workbench[data-active-mode=Playtest] .workbench-surface{overflow:hidden}.unified-workbench[data-active-mode=Playtest] .workbench-surface>.observatory-shell{height:auto;min-height:calc(100dvh - 74px)}.unified-workbench[data-active-mode=Playtest] .workbench-surface>.playtester-shell{height:100%;min-height:0}.unified-workbench[data-active-mode=Components] .workbench-surface>.lab-shell{height:100%;min-height:0;padding-top:0}.grammar-workbench{box-sizing:border-box;min-height:calc(100dvh - 60px);padding:var(--space-sm) var(--space-md) var(--space-md);background-color:#f8f7f2;background-image:linear-gradient(#dfe4e694 1px,#0000 1px),linear-gradient(90deg,#dfe4e694 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;grid-template-rows:auto auto;display:grid;overflow-x:hidden}.grammar-header{justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:36px;padding:0 0 var(--space-sm);display:flex}.grammar-header h2{font-size:var(--text-heading);letter-spacing:0;text-wrap:balance;margin:0;font-weight:680;line-height:1.12}.grammar-layout-tabs{gap:var(--space-xs);border:1px solid color-mix(in srgb, var(--workbench-line) 74%, transparent);background:color-mix(in srgb, var(--workbench-paper) 82%, white);border-radius:7px;padding:2px;display:inline-flex;box-shadow:0 1px #24231f0a}.grammar-layout-tabs button{min-height:32px;font-size:var(--text-ui);font-weight:var(--weight-medium);padding:0 18px}.grammar-grid{grid-template-columns:minmax(260px, var(--grammar-rulebook-width,.72fr)) 10px minmax(430px, var(--grammar-map-width,1.82fr)) 10px minmax(220px, var(--grammar-inspector-width,.58fr));column-gap:0;row-gap:var(--space-md);grid-template-areas:"rulebook resize-left map resize-right inspector";align-items:start;min-width:0;display:grid}.grammar-layout-write .grammar-grid{grid-template-columns:minmax(260px,.72fr) minmax(430px,1.82fr) minmax(220px,.58fr);grid-template-areas:"rulebook map inspector";align-items:start}.grammar-layout-map .grammar-grid{grid-template-columns:minmax(260px, var(--grammar-rulebook-width,.72fr)) 10px minmax(430px, var(--grammar-map-width,1.82fr)) 10px minmax(220px, var(--grammar-inspector-width,.58fr));grid-template-areas:"rulebook resize-left map resize-right inspector"}.grammar-layout-review .grammar-grid{grid-template-columns:minmax(0,.64fr) minmax(0,.68fr) minmax(0,1.35fr);grid-template-areas:"rulebook map inspector"}.grammar-layout-write .grammar-map,.grammar-layout-review .grammar-map{gap:var(--space-xs);min-height:0;padding:var(--space-sm);grid-template-columns:1fr;grid-auto-rows:minmax(62px,auto)}.grammar-layout-write .graph-node,.grammar-layout-review .graph-node{padding:9px 10px;transform:none}.grammar-layout-write .graph-node strong,.grammar-layout-review .graph-node strong{font-size:.84rem}.grammar-layout-write .graph-node small,.grammar-layout-review .graph-node small{font-size:.66rem}.grammar-layout-map .rulebook-page{padding:18px;font-size:.9rem}.grammar-layout-review .grammar-inspector{border-color:color-mix(in srgb, #9a7a2d 48%, var(--workbench-line))}.rulebook-panel,.grammar-map-panel,.rules-runtime-panel,.grammar-inspector{scrollbar-width:none;border:1px solid color-mix(in srgb, var(--workbench-line) 74%, transparent);background:#fbfaf7;border-radius:8px;min-width:0;min-height:0;overflow:hidden;box-shadow:0 1px #24231f09}.rulebook-panel::-webkit-scrollbar{display:none}.grammar-map-panel::-webkit-scrollbar{display:none}.rules-runtime-panel::-webkit-scrollbar{display:none}.grammar-inspector::-webkit-scrollbar{display:none}.rulebook-panel{grid-area:rulebook}.grammar-map-panel,.rules-runtime-panel{grid-area:map}.grammar-inspector{grid-area:inspector}.grammar-resizer{cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;z-index:3;align-self:stretch;min-height:360px}.grammar-resizer[data-grammar-resizer=rulebook-map]{grid-area:resize-left}.grammar-resizer[data-grammar-resizer=map-inspector]{grid-area:resize-right}.grammar-layout-write .grammar-resizer,.grammar-layout-review .grammar-resizer{display:none}.grammar-layout-write .rulebook-panel,.grammar-layout-map .rulebook-panel,.grammar-layout-map .grammar-inspector,.grammar-layout-write .grammar-inspector{height:clamp(620px,100dvh - 168px,900px);overflow-y:auto}.grammar-layout-map .grammar-map-panel,.grammar-layout-write .grammar-map-panel,.grammar-layout-map .rules-runtime-panel,.grammar-layout-write .rules-runtime-panel{min-height:clamp(640px,100dvh - 168px,900px)}.is-resizing-grammar,.is-resizing-grammar *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.panel-heading{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:40px;padding:var(--space-sm) var(--space-md) var(--space-xs);border-bottom:0;display:flex}.rulebook-document-title{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;display:flex}.rulebook-save-status{text-wrap:nowrap;min-width:max-content;color:color-mix(in srgb, var(--workbench-accent) 70%, var(--workbench-ink));line-height:1;font-weight:var(--weight-strong);flex:none;justify-content:flex-end;align-items:center;margin-left:auto;display:inline-flex}.rulebook-save-status[data-save-state=saving],.rulebook-save-status[data-save-state=error]{font-size:var(--text-small);color:color-mix(in srgb, var(--workbench-muted) 70%, var(--workbench-ink));text-transform:none}.rulebook-panel>.panel-heading{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px}.panel-heading strong{color:color-mix(in srgb, var(--workbench-ink) 78%, var(--workbench-muted));font-size:var(--text-ui);font-weight:var(--weight-strong)}.rulebook-toc{gap:2px;width:min(28ch,100% - 40px);margin-left:20px;display:grid}.rulebook-toc button,.rulebook-toc-empty{width:100%;color:color-mix(in srgb, var(--workbench-ink) 74%, var(--workbench-muted));text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-ui);font-weight:var(--weight-medium);text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;margin:0;padding:4px 6px;overflow:hidden}.rulebook-toc button{cursor:pointer}.rulebook-toc button:hover,.rulebook-toc button.is-active{border-color:color-mix(in srgb, var(--workbench-accent) 34%, var(--workbench-line));color:color-mix(in srgb, var(--workbench-accent) 70%, var(--workbench-ink));background:#f8f4f0}.rulebook-page{max-width:min(64ch,100% - 4px);font-size:var(--text-body);margin:0 auto;padding:0;line-height:1.58}.rulebook-editor-utility{z-index:1;box-sizing:border-box;width:min(64ch,100% - 4px);margin:0 auto var(--space-sm);padding:0 clamp(0px, calc(2.6vw - 24px), 12px) var(--space-xs);border-bottom:1px solid color-mix(in srgb, var(--workbench-line) 44%, transparent);background:0 0;flex-wrap:wrap;align-items:center;gap:5px;display:flex;position:relative}.heading-level-menu{z-index:5;border:1px solid var(--workbench-line);background:#fbfaf6;border-radius:7px;gap:3px;width:190px;padding:6px;display:grid;position:absolute;box-shadow:0 12px 28px #24231f1f}.heading-level-menu[hidden]{display:none}.rulebook-editor-utility button{border:1px solid color-mix(in srgb, var(--workbench-line) 54%, transparent);min-width:30px;min-height:30px;color:color-mix(in srgb, var(--workbench-ink) 70%, var(--workbench-muted));cursor:pointer;font-size:var(--text-caption);font-weight:var(--weight-medium);background:#fbfaf6b8;border-radius:5px;flex:none;padding:0 8px}.rulebook-editor-utility .rulebook-icon-button{justify-content:center;align-items:center;width:30px;padding:0;font-size:.92rem;line-height:1;display:inline-flex}.rulebook-editor-utility .rulebook-icon-button span{display:block;transform:translateY(-.5px)}.rulebook-editor-utility .heading-level-menu button{text-align:left;background:0 0;border:0;justify-content:space-between;gap:12px;width:100%;min-height:34px;display:flex}.rulebook-editor-utility .heading-level-menu button span{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-body)}.rulebook-editor-utility button:hover,.rulebook-editor-utility .heading-level-menu button:focus,.slash-command-menu button:hover{border-color:color-mix(in srgb, var(--workbench-accent) 34%, var(--workbench-line));background:#f8f3ef}.rulebook-editor-shell{min-height:var(--rulebook-measured-height,clamp(500px, 62dvh, 760px));cursor:text;width:min(64ch,100% - 4px);margin-inline:auto;padding-block:clamp(18px,2vw,30px);padding-inline:clamp(0px,2.6vw - 24px,12px);position:relative}.rulebook-editor h2{font-size:var(--text-heading);margin:0 0 12px;font-weight:650;line-height:1.14}.rulebook-editor h1{margin:0 0 16px;font-size:1.5rem;font-weight:700;line-height:1.08}.rulebook-editor h3{font-size:var(--text-subhead);margin:18px 0 8px;font-weight:650;line-height:1.18}.rulebook-editor h4{color:color-mix(in srgb, var(--workbench-ink) 82%, var(--workbench-muted));font-size:var(--text-body);margin:14px 0 6px;font-weight:640;line-height:1.2}.rulebook-editor h1 *,.rulebook-editor h2 *,.rulebook-editor h3 *,.rulebook-editor h4 *,.rulebook-editor p *,.rulebook-editor li *{font:inherit!important;line-height:inherit!important}.rulebook-editor{z-index:1;min-height:calc(var(--rulebook-measured-height,520px) - 88px);color:var(--workbench-ink);outline:none;position:relative}.rulebook-editor:focus{outline:none}.rulebook-editor:empty:before{color:color-mix(in srgb, var(--workbench-muted) 70%, transparent);content:attr(data-placeholder);white-space:pre-line;max-width:min(58ch,100%);font-size:var(--text-body);font-weight:var(--weight-body);line-height:1.55;display:block}.rulebook-editor:focus:empty:before{content:""}.rulebook-editor p,.rulebook-editor li{font-size:var(--text-body);font-weight:var(--weight-body);text-wrap:pretty;margin:0 0 .72rem;line-height:1.56}.rulebook-editor blockquote{border:1px solid color-mix(in srgb, var(--workbench-line) 72%, transparent);color:color-mix(in srgb, var(--workbench-ink) 82%, var(--workbench-muted));background:#ffffff73;border-radius:6px;margin:16px 0;padding:12px 14px}.rulebook-editor ul,.rulebook-editor ol{font-size:var(--text-body);margin:0 0 .9rem;padding-left:1.35rem;line-height:1.56}.rulebook-editor li{padding-left:.12rem}.rulebook-save-status{font-size:var(--text-small);font-weight:var(--weight-medium);text-wrap:nowrap}.rulebook-save-status[data-save-state=dirty],.rulebook-save-status[data-save-state=saving]{width:auto;color:color-mix(in srgb, var(--workbench-muted) 88%, var(--workbench-ink));text-transform:uppercase;letter-spacing:.03em;padding:0;font-size:.68rem}.rulebook-save-status[data-save-state=error]{color:#8f3029;text-transform:uppercase;width:auto;padding:0;font-size:.68rem}.slash-command-menu{z-index:4;border:1px solid var(--workbench-line);background:#fbfaf6;border-radius:7px;gap:3px;width:min(230px,100% - 56px);padding:6px;display:grid;position:absolute;top:70px;left:28px;box-shadow:0 12px 28px #24231f1f}.slash-command-menu[hidden]{display:none}.slash-command-menu button{min-height:32px;color:var(--workbench-ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;font-weight:650}.slash-command-menu button.is-active{color:color-mix(in srgb, var(--workbench-accent) 72%, var(--workbench-ink));background:#f8f3ee}.section-purpose{color:var(--workbench-muted);font-weight:650}.grammar-map{gap:var(--space-md);min-height:100%;padding:var(--space-md) var(--space-lg) var(--space-lg);grid-template-columns:repeat(3,minmax(120px,1fr));grid-auto-rows:minmax(108px,auto);align-content:center;display:grid}.empty-panel-note{max-width:38ch;padding:var(--space-xs) var(--space-md) var(--space-md);color:var(--workbench-muted);text-align:left;place-self:center}.empty-panel-note.compact{justify-self:stretch;max-width:none}.empty-panel-note strong{color:var(--workbench-ink);margin-bottom:6px;font-size:.92rem;display:block}.empty-panel-note p{margin:0;font-size:.86rem;line-height:1.42}.graph-node{border:1px solid var(--workbench-line);color:var(--workbench-ink);text-align:left;cursor:pointer;background:#f6f4ed;border-radius:8px;min-width:0;padding:12px;overflow:hidden;box-shadow:0 4px 14px #24231f0f}.graph-node span,.graph-node small,.ref-list span,.ref-list small,.issue-list span,.issue-list small{color:var(--workbench-muted);overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;font-size:.72rem;font-weight:700;display:block}.graph-node strong,.ref-list strong,.issue-list strong{overflow-wrap:anywhere;word-break:break-word;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:4px 0;font-size:.92rem;line-height:1.15;display:block;overflow:hidden}.node-1{transform:translateY(-12px)}.node-2{transform:translateY(14px)}.node-3{transform:translateY(4px)}.rules-runtime-panel{align-content:start;gap:var(--space-xs);padding:var(--space-sm);background:linear-gradient(#ffffffbd,#f8f7f2f0),#fbfaf7;display:grid;overflow:clip auto;container-type:inline-size}.rules-runtime-panel>.panel-heading{min-height:0;padding:0 0 var(--space-xs);border-bottom:1px solid color-mix(in srgb, var(--workbench-line) 58%, transparent)}.rules-runtime-panel>.panel-heading strong{color:var(--workbench-ink);font-size:var(--text-ui);font-weight:var(--weight-strong);margin-top:2px;line-height:1.2;display:block}.runtime-readiness{min-height:20px;color:color-mix(in srgb, #27483e 68%, var(--workbench-muted));font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:0;text-align:right;white-space:normal;background:0 0;border:0;border-radius:0;align-items:center;max-width:24ch;padding:0;display:inline-flex}.rules-runtime-panel .panel-heading small{max-width:42ch;color:var(--workbench-muted);font-size:var(--text-small);margin-top:3px;line-height:1.35;display:block}.runtime-unresolved{color:#7a3327;background:0 0}.runtime-support-strip{padding:0 0 var(--space-xs);border-bottom:1px solid color-mix(in srgb, var(--workbench-line) 42%, transparent);flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.runtime-support-filter{min-width:0;color:color-mix(in srgb, var(--workbench-muted) 86%, var(--workbench-ink));cursor:pointer;font-size:var(--text-caption);font-weight:var(--weight-medium);opacity:.36;background:0 0;border:0;border-radius:0;align-items:baseline;gap:5px;padding:0;display:inline-flex}.runtime-support-filter.is-active{opacity:1}.runtime-support-filter strong{color:var(--workbench-ink);font-size:var(--text-ui);font-variant-numeric:tabular-nums;line-height:1;display:inline}.runtime-flow,.runtime-contracts,.runtime-traces,.runtime-issues{gap:6px;display:grid}.rules-runtime-panel .eyebrow{font-size:var(--text-caption);letter-spacing:.045em;font-weight:var(--weight-medium)}.runtime-flow>.eyebrow{margin-top:0}.runtime-tree{gap:var(--space-sm);grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);align-items:start;display:grid}.runtime-tree-rail,.runtime-tree-detail,.runtime-mini-list{gap:6px;display:grid}.runtime-tree-detail{gap:var(--space-sm);min-width:0}.runtime-branch{border:0;border-bottom:1px solid color-mix(in srgb, var(--workbench-line) 58%, transparent);color:var(--workbench-ink);text-align:left;cursor:pointer;background:0 0;border-radius:0;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:6px;padding:6px 6px 7px;display:grid}.runtime-branch strong{font-size:var(--text-ui);font-weight:var(--weight-medium);line-height:1.18;display:block}.runtime-branch.is-active{border-color:color-mix(in srgb, #2f6b58 46%, var(--workbench-line));background:#f1f7f2}.runtime-branch.is-accepted{box-shadow:inset 2px 0 #8fafa5}.runtime-step{width:18px;height:18px;color:color-mix(in srgb, #27483e 76%, var(--workbench-ink));font-size:var(--text-caption);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums;background:0 0;border-radius:0;place-items:center;display:grid}.runtime-decision-header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);border-bottom:1px solid color-mix(in srgb, var(--workbench-line) 62%, transparent);padding:0 0 var(--space-xs);background:0 0;display:flex}.runtime-decision-header h3{font-size:var(--text-ui);font-weight:var(--weight-strong);text-wrap:balance;margin:0 0 4px;line-height:1.22}.runtime-decision-header p:last-child{color:var(--workbench-muted);font-size:var(--text-small);max-width:64ch;margin:0;line-height:1.38}.runtime-review-summary{border-top:1px solid color-mix(in srgb, var(--workbench-line) 62%, transparent);gap:10px;padding-top:9px;display:grid}.runtime-source-line{min-width:0;color:color-mix(in srgb, var(--workbench-ink) 78%, var(--workbench-muted));font-size:var(--text-small);flex-wrap:wrap;align-items:baseline;gap:8px;line-height:1.32;display:flex}.runtime-source-line span,.runtime-source-line small{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-medium);flex:none}.runtime-source-line strong{overflow-wrap:anywhere;min-width:0;font-size:var(--text-small);font-weight:var(--weight-medium)}.runtime-source-line p{color:color-mix(in srgb, var(--workbench-ink) 68%, var(--workbench-muted));font-size:var(--text-small);flex-basis:100%;margin:-2px 0 0 35px}.runtime-contract strong{overflow-wrap:anywhere;min-width:0;font-size:var(--text-ui);font-weight:var(--weight-medium);line-height:1.25;display:block}.runtime-branch p,.runtime-trace p,.runtime-issue p,.runtime-quiet{color:color-mix(in srgb, var(--workbench-ink) 72%, var(--workbench-muted));font-size:var(--text-small);margin:3px 0 0;line-height:1.38}.runtime-support-choice{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.runtime-support-copy{min-width:min(24ch,100%)}.runtime-support-copy strong{font-size:var(--text-small);font-weight:var(--weight-medium);line-height:1.25;display:block}.runtime-support-copy p{max-width:62ch;color:color-mix(in srgb, var(--workbench-ink) 70%, var(--workbench-muted));font-size:var(--text-small);margin:3px 0 0;line-height:1.38}.runtime-support-controls{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;gap:6px;min-width:0;display:flex}.runtime-support-controls button,.runtime-accept-button,.runtime-dismiss-button,.runtime-inline-action{border:0;border-bottom:1px solid color-mix(in srgb, var(--workbench-line) 82%, transparent);min-height:26px;color:var(--workbench-ink);cursor:pointer;font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:0;background:0 0;border-radius:0;padding:0 2px}.runtime-support-controls button{border:1px solid color-mix(in srgb, var(--workbench-line) 74%, transparent);background:color-mix(in srgb, white 62%, var(--workbench-panel));letter-spacing:0;border-radius:6px;min-height:30px;padding:0 9px}.runtime-support-controls button.is-active{border-color:color-mix(in srgb, #2f6b58 58%, var(--workbench-line));color:color-mix(in srgb, #27483e 82%, var(--workbench-ink));background:#f2f8f3}.runtime-slot-list{flex-wrap:wrap;gap:2px 8px;display:flex}.runtime-slot-list span{color:var(--workbench-ink);font-size:var(--text-small);font-weight:var(--weight-body);background:0 0;border:0;border-radius:0;padding:0}.runtime-evidence-drawer{border-top:1px solid color-mix(in srgb, var(--workbench-line) 54%, transparent);padding-top:var(--space-xs)}.runtime-evidence-drawer details{gap:var(--space-xs);display:grid}.runtime-evidence-drawer summary{justify-content:space-between;align-items:baseline;gap:var(--space-sm);color:color-mix(in srgb, var(--workbench-ink) 74%, var(--workbench-muted));cursor:pointer;font-size:var(--text-ui);font-weight:var(--weight-medium);list-style:none;display:flex}.runtime-evidence-drawer summary::-webkit-details-marker{display:none}.runtime-evidence-drawer summary:before{content:"+";width:1.1em;color:var(--workbench-muted);font-weight:var(--weight-medium)}.runtime-evidence-drawer details[open] summary:before{content:"-"}.runtime-evidence-drawer summary span{margin-right:auto}.runtime-evidence-drawer summary small{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-body)}.runtime-evidence-drawer details[open]{gap:var(--space-sm)}.runtime-evidence-drawer section{gap:4px;display:grid}.runtime-accept-button{border:1px solid color-mix(in srgb, #2f6b58 42%, var(--workbench-line));width:100%;min-height:30px;color:color-mix(in srgb, #27483e 82%, var(--workbench-ink));font-size:var(--text-small);background:#f3f8f5;border-radius:4px;justify-self:stretch}.runtime-dismiss-button{border-color:color-mix(in srgb, var(--workbench-line) 86%, transparent);width:100%;min-height:28px;color:color-mix(in srgb, var(--workbench-muted) 86%, var(--workbench-ink));font-size:var(--text-small);justify-self:stretch}.runtime-inline-action{border-color:color-mix(in srgb, #2f6b58 58%, var(--workbench-line));color:color-mix(in srgb, #27483e 82%, var(--workbench-ink));justify-self:start;margin-top:8px}.runtime-accept-button:disabled,.runtime-dismiss-button:disabled,.runtime-inline-action:disabled{border-color:color-mix(in srgb, var(--workbench-line) 78%, transparent);color:var(--workbench-muted);cursor:default;background:0 0}.runtime-smoke-card{border-top:1px solid color-mix(in srgb, var(--workbench-line) 62%, transparent);padding-top:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 12px;display:grid}.runtime-smoke-card strong{font-size:var(--text-ui);font-weight:var(--weight-strong);display:block}.runtime-smoke-card p{color:color-mix(in srgb, var(--workbench-ink) 70%, var(--workbench-muted));font-size:var(--text-small);margin:3px 0 0;line-height:1.38}.runtime-smoke-card>button,.runtime-smoke-results button{border:1px solid color-mix(in srgb, #2f6b58 42%, var(--workbench-line));min-height:30px;color:color-mix(in srgb, #27483e 82%, var(--workbench-ink));cursor:pointer;font-size:var(--text-small);font-weight:var(--weight-medium);background:#f3f8f5;border-radius:5px}.runtime-smoke-card>button:disabled{color:var(--workbench-muted);cursor:default}.runtime-smoke-results{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px 10px;display:flex}.runtime-smoke-results span{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-medium)}.runtime-contract,.runtime-trace,.runtime-issue{border:0;border-top:1px solid color-mix(in srgb, var(--workbench-line) 58%, transparent);background:0 0;border-radius:0;padding:8px 0}@container (width<=820px){.runtime-tree{grid-template-columns:minmax(0,1fr)}.runtime-tree-rail{gap:4px;display:grid;overflow:visible}.runtime-branch{padding:7px 8px}.runtime-decision-header{grid-template-columns:minmax(0,1fr);display:grid}.runtime-support-choice{gap:8px;display:grid}.runtime-support-controls{justify-content:flex-start}.runtime-readiness{text-align:left;justify-self:start;max-width:none}.runtime-evidence-drawer summary{flex-wrap:wrap;align-items:flex-start}}.runtime-contract span,.runtime-contract small,.runtime-trace span,.runtime-issue span{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:.035em;text-transform:uppercase;display:inline}.runtime-support-enforce{border-color:color-mix(in srgb, #2f6b58 58%, var(--workbench-line))}.runtime-support-warn{border-color:color-mix(in srgb, #b09c54 62%, var(--workbench-line))}.runtime-support-manual_only{border-color:color-mix(in srgb, #6a7192 58%, var(--workbench-line))}.runtime-support-unsupported{border-color:color-mix(in srgb, #a75d4d 62%, var(--workbench-line))}.grammar-inspector{padding:0 0 12px}.grammar-inspector section{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--workbench-line)}.grammar-inspector .contract-builder{padding:0}.inspector-disclosure{border-bottom:1px solid var(--workbench-line)}.inspector-disclosure>summary{align-items:baseline;gap:var(--space-sm);min-width:0;padding:var(--space-sm) var(--space-md);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;list-style:none;display:grid}.inspector-disclosure>summary::-webkit-details-marker{display:none}.inspector-disclosure>summary:before{content:"+";color:var(--workbench-muted);font-weight:var(--weight-medium)}.inspector-disclosure[open]>summary:before{content:"-"}.inspector-disclosure>summary span{min-width:0;color:color-mix(in srgb, var(--workbench-ink) 82%, var(--workbench-muted));font-size:var(--text-ui);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;grid-column:2/3;margin-right:0;overflow:hidden}.inspector-disclosure>summary small{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-body);white-space:nowrap;text-align:right;text-overflow:ellipsis;flex:none;grid-column:3/4;max-width:min(60ch,42vw);margin-left:auto;overflow:hidden}.inspector-empty-note{border-top:1px solid color-mix(in srgb, var(--workbench-line) 52%, transparent);padding:11px var(--space-md) var(--space-md);color:var(--workbench-muted);margin:0}.inspector-empty-note strong{color:color-mix(in srgb, var(--workbench-ink) 72%, var(--workbench-muted));font-size:var(--text-ui);font-weight:var(--weight-medium);margin-bottom:2px;line-height:1.22;display:block}.inspector-empty-note p{color:var(--workbench-muted);font-size:var(--text-small);margin:0;line-height:1.28}.inspector-disclosure>.contract-builder{padding-bottom:var(--space-md)}.contract-manual-note{margin:var(--space-xs) var(--space-md) 0;border-top:1px solid color-mix(in srgb, var(--workbench-line) 70%, transparent)}.contract-manual-note summary{align-items:baseline;gap:var(--space-xs);cursor:pointer;padding:9px 0;list-style:none;display:flex}.contract-manual-note summary::-webkit-details-marker{display:none}.contract-manual-note summary:before{content:"+";color:var(--workbench-muted);font-weight:var(--weight-medium)}.contract-manual-note[open] summary:before{content:"-"}.contract-manual-note summary span{color:color-mix(in srgb, var(--workbench-ink) 82%, var(--workbench-muted));font-size:var(--text-ui);font-weight:var(--weight-medium);margin-right:auto}.contract-manual-note summary small{color:var(--workbench-muted);font-size:var(--text-caption)}.inspector-band h3{font-size:var(--text-subhead);font-weight:var(--weight-strong);margin:0 0 6px;line-height:1.18}.inspector-band p{font-size:var(--text-ui);font-weight:var(--weight-body);line-height:1.42}.inspector-band p:last-child{color:var(--workbench-muted);margin-bottom:0}.contract-builder-form{padding:0 0 var(--space-sm);gap:6px;display:grid}.contract-builder-form label{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:.04em;text-transform:uppercase;gap:4px;display:grid}.contract-builder-form select,.contract-builder-form textarea{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--workbench-line) 78%, transparent);width:100%;color:var(--workbench-ink);font:inherit;font-size:var(--text-ui);text-transform:none;background:#ffffffad;border-radius:6px}.contract-builder-form select{min-height:32px;padding:0 8px}.contract-builder-form textarea{resize:vertical;min-height:66px;padding:8px;line-height:1.42}.contract-builder-form button,.contract-actions button{border:1px solid color-mix(in srgb, var(--workbench-accent) 34%, var(--workbench-line));min-height:32px;color:color-mix(in srgb, var(--workbench-accent) 76%, var(--workbench-ink));cursor:pointer;font-size:var(--text-ui);font-weight:var(--weight-medium);background:#f8f3ee;border-radius:6px}.contract-cookbook{padding:0 var(--space-md) var(--space-sm);gap:8px;display:grid}.cookbook-grid{gap:8px;display:grid}.cookbook-card{border:1px solid color-mix(in srgb, var(--workbench-line) 82%, transparent);background:#ffffff94;border-radius:7px;gap:8px;padding:9px;display:grid}.cookbook-card span,.cookbook-flow dt,.contract-builder-summary dt{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:.035em;text-transform:uppercase}.cookbook-card strong{font-size:var(--text-ui);font-weight:var(--weight-strong);margin-top:2px;display:block}.cookbook-card p{color:color-mix(in srgb, var(--workbench-ink) 72%, var(--workbench-muted));font-size:var(--text-small);margin:3px 0 0;line-height:1.34}.cookbook-flow,.contract-builder-summary{gap:4px;margin:0;display:grid}.cookbook-flow div,.contract-builder-summary div{grid-template-columns:minmax(66px,.24fr) minmax(0,1fr);gap:7px;display:grid}.cookbook-flow dd,.contract-builder-summary dd{overflow-wrap:anywhere;min-width:0;color:color-mix(in srgb, var(--workbench-ink) 76%, var(--workbench-muted));font-size:var(--text-small);margin:0;line-height:1.34}.cookbook-card button{border:1px solid color-mix(in srgb, #2f6b58 42%, var(--workbench-line));min-height:30px;color:color-mix(in srgb, #27483e 82%, var(--workbench-ink));cursor:pointer;font-size:var(--text-small);font-weight:var(--weight-medium);background:#f3f8f5;border-radius:5px}.contract-list{padding:0 var(--space-md) var(--space-sm);gap:8px;display:grid}.contract-list .empty-panel-note{padding:var(--space-xs) 0 var(--space-sm);place-self:start stretch}.contract-status-group{gap:6px;display:grid}.contract-status-heading{border-top:1px solid color-mix(in srgb, var(--workbench-line) 62%, transparent);align-items:baseline;gap:8px;padding-top:2px;display:flex}.contract-status-group:first-child .contract-status-heading{border-top:0}.contract-status-heading strong{color:color-mix(in srgb, var(--workbench-ink) 78%, var(--workbench-muted));font-size:var(--text-small);font-weight:var(--weight-medium);margin-right:auto}.contract-status-heading small,.contract-group-empty{color:var(--workbench-muted);font-size:var(--text-caption)}.contract-group-empty{margin:0 0 4px}.contract-record{border:1px solid var(--workbench-line);background:#ffffff94;border-radius:7px;gap:6px;padding:8px 9px;display:grid}.contract-record span,.contract-record small{color:var(--workbench-muted);font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:.035em;display:block}.contract-record strong{overflow-wrap:anywhere;font-size:var(--text-ui);font-weight:var(--weight-strong);margin:3px 0;line-height:1.2;display:block}.contract-record p{color:color-mix(in srgb, var(--workbench-ink) 78%, var(--workbench-muted));font-size:var(--text-small);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 6px;line-height:1.38;display:-webkit-box;overflow:hidden}.contract-advanced{border-top:1px solid color-mix(in srgb, var(--workbench-line) 62%, transparent);padding-top:6px}.contract-advanced summary{color:var(--workbench-muted);cursor:pointer;font-size:var(--text-caption);font-weight:var(--weight-medium)}.contract-advanced pre{border:1px solid color-mix(in srgb, var(--workbench-line) 70%, transparent);background:color-mix(in srgb, white 72%, var(--workbench-panel));max-height:220px;color:color-mix(in srgb, var(--workbench-ink) 78%, var(--workbench-muted));border-radius:5px;margin:6px 0 0;padding:7px;font-size:11px;line-height:1.35;overflow:auto}.contract-proposed{border-color:color-mix(in srgb, #b09c54 62%, var(--workbench-line))}.contract-accepted{border-color:color-mix(in srgb, #2f6b58 58%, var(--workbench-line))}.contract-rejected{opacity:.72}.contract-actions{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:6px;display:grid}.ref-list,.issue-list{gap:var(--space-xs);padding:0 0 var(--space-md);display:grid}.ref-list button,.issue-card{box-sizing:border-box;border:1px solid var(--workbench-line);width:100%;color:var(--workbench-ink);text-align:left;min-width:0;width:calc(100% - (var(--space-md) * 2));margin-inline:var(--space-md);background:#ffffff9e;border-radius:6px;padding:10px;overflow:hidden}.issue-card p{color:color-mix(in srgb, var(--workbench-muted) 82%, var(--workbench-ink));font-size:var(--text-small);margin:5px 0;line-height:1.35}.issue-card-note{background:#f8f7f1}.issue-warning{border-color:#b09c54!important}@media (width<=1180px){.unified-workbench-top,.unified-workbench[data-active-mode=Playtest] .unified-workbench-top{grid-template-columns:minmax(180px,1fr) auto;align-items:center;min-height:0;padding:6px 14px}.workbench-mode-tabs,.unified-workbench[data-active-mode=Playtest] .workbench-mode-tabs{grid-area:1/2;justify-self:end;width:min(42vw,420px);padding:4px}.project-shell,.unified-workbench[data-active-mode=Playtest] .project-shell{grid-area:2/1/auto/-1;justify-self:stretch;max-width:none}.project-shell-popover{left:0;right:auto}.unified-workbench[data-active-mode=Playtest]{grid-template-rows:auto minmax(0,1fr)}.unified-workbench[data-active-mode=Playtest] .workbench-brand{grid-area:1/1;display:block}.grammar-workbench{padding:var(--space-md)}.grammar-header{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.grammar-layout-tabs{width:min(100%,420px)}.grammar-layout-tabs button{flex:1}.grammar-layout-write .grammar-grid,.grammar-layout-map .grammar-grid,.grammar-layout-review .grammar-grid{grid-template-rows:auto auto;grid-template-columns:minmax(220px,.34fr) minmax(0,1fr)}.grammar-resizer{display:none}.grammar-layout-write .grammar-grid{grid-template-areas:"rulebook map""inspector inspector"}.grammar-layout-map .grammar-grid{grid-template-columns:minmax(220px, var(--grammar-rulebook-width,.34fr)) 10px minmax(360px, var(--grammar-map-width,1fr));grid-template-areas:"rulebook resize-left map""inspector inspector inspector";align-items:stretch}.grammar-layout-map .grammar-resizer[data-grammar-resizer=rulebook-map]{grid-area:resize-left;display:block}.grammar-layout-review .grammar-grid{grid-template-areas:"rulebook map""inspector inspector"}.grammar-layout-map .grammar-map,.grammar-layout-review .grammar-inspector{min-height:clamp(260px,42dvh,420px)}.grammar-layout-write .rulebook-panel,.grammar-layout-map .rulebook-panel,.grammar-layout-map .grammar-inspector,.grammar-layout-write .grammar-inspector{height:clamp(520px,72dvh,720px)}.grammar-layout-map .rulebook-panel{align-self:stretch;height:0;min-height:100%;overflow-y:auto}.grammar-layout-map .grammar-map-panel,.grammar-layout-write .grammar-map-panel,.grammar-layout-map .rules-runtime-panel,.grammar-layout-write .rules-runtime-panel{min-height:clamp(560px,100dvh - 150px,760px)}.rulebook-page{max-width:min(72ch,100% - 24px)}}@media (width<=760px){.unified-workbench{grid-template-rows:auto minmax(0,1fr)}.unified-workbench[data-active-mode=Components]{height:auto;min-height:100dvh}.unified-workbench[data-active-mode=Components] .workbench-surface{overflow:visible}.unified-workbench[data-active-mode=Components] .workbench-surface>.lab-shell{height:auto;min-height:calc(100dvh - 94px)}.unified-workbench-top,.unified-workbench[data-active-mode=Playtest] .unified-workbench-top{grid-template-columns:1fr;gap:6px;min-height:0;padding:6px 8px}.workbench-mode-tabs,.unified-workbench[data-active-mode=Playtest] .workbench-mode-tabs{grid-area:1/1;justify-self:stretch;gap:5px;width:100%;max-width:none;padding:3px}.workbench-mode-button{min-height:34px;padding:0 4px}.workbench-brand,.unified-workbench[data-active-mode=Playtest] .workbench-brand{grid-area:2/1}.project-shell,.unified-workbench[data-active-mode=Playtest] .project-shell{grid-area:3/1;justify-content:space-between}.grammar-workbench{padding:var(--space-sm)}.grammar-layout-tabs{width:100%}.grammar-layout-write .grammar-grid,.grammar-layout-map .grammar-grid,.grammar-layout-review .grammar-grid{grid-template-columns:minmax(0,1fr)}.grammar-resizer[data-grammar-resizer=map-inspector]{display:none}.grammar-layout-write .grammar-grid,.grammar-layout-map .grammar-grid,.grammar-layout-review .grammar-grid{grid-template-areas:"map""rulebook""inspector"}.grammar-map{padding:var(--space-sm);grid-template-columns:1fr}.runtime-support-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.runtime-tree{grid-template-columns:minmax(0,1fr)}.rulebook-page{max-width:100%}.grammar-layout-write .rulebook-panel,.grammar-layout-map .rulebook-panel,.grammar-layout-map .grammar-inspector,.grammar-layout-write .grammar-inspector{height:auto;min-height:520px}.grammar-layout-map .grammar-resizer[data-grammar-resizer=rulebook-map]{display:none}}
