:root{--bg: #fbfaf7;--panel: #fff;--ink: #1b1b19;--muted: #6b6a65;--line: #ddd9d0;--accent: #0b5d7a;--bad: #a11;--ok: #1f6f3f;--warn: #8a5a00;--med: #dbe9f1;--snap: #f6e3d3;--all: #e9e7e1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}.app{min-height:100vh;display:flex;flex-direction:column}main{padding:16px;flex:1}.topbar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{font-weight:600;text-decoration:none;color:var(--ink)}.volume{color:var(--muted)}.tag{display:inline-block;padding:1px 6px;border:1px solid var(--line);border-radius:10px;font-size:12px;background:var(--all)}.tag.ref{background:var(--med);border-color:var(--accent)}nav{display:flex;gap:10px}nav a{text-decoration:none;padding:2px 6px;border-radius:4px}nav a.on{background:var(--med)}details.browse{position:relative}details.browse summary{cursor:pointer;list-style:none;padding:2px 6px}details.browse summary::-webkit-details-marker{display:none}details.browse nav.dropdown{position:absolute;top:100%;left:0;z-index:20;flex-direction:column;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:6px;min-width:120px;box-shadow:0 6px 20px #0000001f}.hdrfoot{padding:2px 16px;background:var(--panel);border-bottom:1px solid var(--line);font-size:12px}.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.door{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px;cursor:pointer;font:inherit;color:inherit}.door:hover{background:var(--med)}.door h3{margin:0 0 6px}.door p{margin:0;color:var(--muted)}.searchbox{position:relative;flex:1;min-width:220px}.searchbox input{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:4px;font:inherit;background:var(--bg)}.results{position:absolute;z-index:20;top:100%;left:0;right:0;max-height:60vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:0 6px 20px #0000001f}.results h4{margin:8px 10px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.results a{display:block;padding:5px 10px;text-decoration:none;color:var(--ink)}.results a:hover{background:var(--med)}.results small{display:block;color:var(--muted)}.btn{padding:5px 10px;border:1px solid var(--line);border-radius:4px;background:var(--panel);font:inherit;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.status{color:var(--muted)}.status.bad{color:var(--bad)}.view{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:12px}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:10px}.controls label{display:flex;gap:4px;align-items:center;color:var(--muted)}.controls select{font:inherit;padding:3px}table.grid{border-collapse:collapse;width:100%}table.grid th,table.grid td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--line);vertical-align:top}table.grid th{position:sticky;top:0;background:var(--panel)}ul.notinforce{margin:8px 0 0;padding-left:18px;color:var(--muted)}.linkish{background:none;border:0;font:inherit;color:var(--accent);cursor:pointer;padding:0}.prog-medicaid{background:var(--med)}.prog-snap{background:var(--snap)}.ok{color:var(--ok)}.bad{color:var(--bad)}.warn{color:var(--warn)}.card h1{font-size:20px;margin:0}.cardhead{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}.spacer{flex:1}.tabs button,.tabs a{border:1px solid var(--line);background:var(--panel);font:inherit;padding:3px 8px;cursor:pointer;text-decoration:none;color:inherit}.tabs button.on,.tabs a.on{background:var(--med)}.meaning{font-size:15px}.muted{color:var(--muted)}pre.derivation,pre.projection,pre.statute{background:var(--bg);border:1px solid var(--line);padding:10px;overflow-x:auto;white-space:pre-wrap}.citation{color:var(--muted);font-size:13px}details.source summary{cursor:pointer;padding:3px 0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.problems ul{margin:0;padding-left:18px}.gwrap{display:grid;grid-template-columns:1fr 280px;gap:12px}.gsvg{background:var(--bg);border:1px solid var(--line);border-radius:6px}.gsvg .node{cursor:pointer}.gsvg .node text{pointer-events:none}.edge{stroke:#bbb;stroke-width:1}.edge.upstream{stroke:var(--accent);stroke-width:2}.edge.downstream{stroke:#b5561d;stroke-width:2}.gpanel{border:1px solid var(--line);border-radius:6px;padding:10px;background:var(--panel);font-size:13px}@media (max-width: 800px){.gwrap{grid-template-columns:1fr}}article.source{border-bottom:1px solid var(--line);padding:10px 0}article.source h3{margin:0 0 2px;font-size:15px}.cited-by{font-size:13px}ul.hits{list-style:none;padding:0;margin:0}ul.hits li{padding:6px 0;border-bottom:1px solid var(--line)}ul.hits small{display:block;color:var(--muted)}.snippet{margin:3px 0 0;color:var(--muted);font-size:12px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141259;display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:24px;z-index:50}.sheet{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;width:min(1000px,100%)}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form label{display:flex;flex-direction:column;gap:3px;color:var(--muted)}.form label.wide{grid-column:1 / -1}.form input,.form select,.form textarea{font:inherit;padding:4px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink)}.tree .slot{margin-left:12px;border-left:2px solid var(--line);padding-left:8px}.slot .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);display:block}.node{border:1px solid var(--line);border-radius:4px;padding:6px;margin:3px 0;background:var(--bg)}.node.leaf{display:inline-flex;align-items:center;gap:6px}.node .head{display:flex;justify-content:space-between;align-items:center}.rm{border:0;background:none;cursor:pointer;color:var(--bad)}.btn.small{padding:1px 6px;font-size:12px}.btn.danger{color:var(--bad)}label.inline{display:inline-flex;gap:4px;margin-right:10px}.textsurface{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px}.textsurface .editorcol{position:relative;min-width:0}.textsurface .statusline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px;font-size:12px}.textsurface .legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pill{display:inline-block;padding:2px 9px;border-radius:10px;font-size:12px}.pill.ok{background:#e2f0ea;color:var(--ok)}.pill.bad{background:#fde2e2;color:var(--bad)}.edwrap{position:relative;height:420px;border:1px solid var(--line);border-radius:4px;background:var(--panel);overflow:hidden}.edwrap pre.hl,.edwrap textarea.block{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:8px 10px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;overflow:auto;-moz-tab-size:4;tab-size:4;border:0;border-radius:0;background:transparent;word-break:normal}.edwrap pre.hl{color:var(--ink);pointer-events:none}.edwrap textarea.block{color:transparent;caret-color:var(--ink);resize:none;outline:none;width:100%;height:100%}.edwrap textarea.block::selection{background:#0b5d7a2e}.edwrap .line{display:inline-block;min-width:100%}.edwrap .line.errline{background:#fde2e2}.textsurface .tk.key{color:#6b6b66;font-weight:600}.textsurface .tk.fact{color:#5a4a2c;background:#f3eee2;border-radius:3px}.textsurface .tk.derived{color:#3b2f7a;background:#ebe8f7;border-radius:3px}.textsurface .tk.param{color:#8a3b12;background:#f7e7dd;border-radius:3px}.textsurface .tk.phrase{color:var(--accent);font-weight:600}.textsurface .tk.const{color:var(--accent);font-style:italic}.textsurface .tk.literal{color:var(--ok)}.textsurface .tk.tag{color:var(--warn)}.textsurface .tk.source{color:var(--accent);text-decoration:underline dotted}.textsurface .tk.error{color:var(--bad);background:#fff0f0;border-radius:3px}.textsurface .tk.unknown{color:var(--bad);background:#fff0f0;text-decoration:underline wavy var(--bad)}.textsurface ul.ac{position:absolute;z-index:20;list-style:none;margin:0;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:0 6px 20px #0000001f;min-width:260px;max-width:460px;max-height:260px;overflow:auto;font-size:13px}.textsurface ul.ac li{display:flex;gap:10px;justify-content:space-between;padding:4px 9px;cursor:pointer;border-bottom:1px solid var(--line)}.textsurface ul.ac li.on,.textsurface ul.ac li:hover{background:var(--med)}.textsurface ul.ac small{color:var(--muted);white-space:nowrap}.textsurface .tip{position:absolute;z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #00000024;padding:8px 10px;max-width:420px;font-size:12px;pointer-events:none}.textsurface .inspector{border:1px solid var(--line);border-radius:4px;background:var(--panel);padding:8px 10px;font-size:12px;min-height:56px;margin-top:8px}.tokcard .tip-title{font-weight:600;margin-bottom:4px;font-size:13px}.tokcard .tip-title .tk{padding:1px 6px;border-radius:3px}.tokcard .tip-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px;padding:1px 0}.tokcard .tip-k{color:var(--muted)}.textsurface .diagnostics .ln{color:var(--muted);margin-right:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.textsurface .tabs.subtabs{margin-bottom:8px}.textsurface aside{min-width:0}.textsurface aside h4{margin:8px 0 4px}.textsurface table.examples{font-size:12px}.constraints,.diagnostics{list-style:none;padding:0;margin:4px 0;font-size:13px}.form .similar{grid-column:1 / -1;border:1px solid var(--line);border-radius:4px;padding:8px;background:var(--bg)}.form .similar h4{margin:0 0 6px}.candidates{list-style:none;padding:0;margin:0;font-size:13px}li.candidate{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:4px 0;border-top:1px solid var(--line)}li.candidate .score{color:var(--muted);font-variant-numeric:tabular-nums}.start .hits{list-style:none;padding:0;margin:8px 0}.start .hits li{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;padding:4px 0;border-bottom:1px solid var(--line)}.start .hits small{color:var(--muted)}.start label.wide{display:flex;flex-direction:column;gap:3px;color:var(--muted)}.start input{font:inherit;width:100%;padding:5px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink)}.actions{display:flex;gap:8px;align-items:center;margin-top:12px}@media (max-width: 800px){.form,.textsurface{grid-template-columns:1fr}}.kindchoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:10px 0}.kindchoice{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);font:inherit;cursor:pointer}.kindchoice:hover{background:var(--med)}.kindchoice span{color:var(--muted);font-size:13px}.form label.allfields{flex-direction:row;align-items:center;gap:6px}.form .also{border-top:1px solid var(--line);padding-top:8px;margin-top:4px}.form .also h4{margin:0 0 6px}details.advanced summary{cursor:pointer}.advtabs{display:inline-flex;gap:4px;margin-left:6px}.tray .entries{list-style:none;padding:0;margin:8px 0}.tray li.entry{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.tray li.entry .errors{flex-basis:100%;list-style:none;padding:0 0 0 8px;margin:0;font-size:12px}.impact{border-top:1px solid var(--line);padding-top:8px;font-size:13px}article.diff{border:1px solid var(--line);border-radius:6px;padding:10px;margin-bottom:12px}article.diff h3{margin:0 0 6px;font-size:15px}.sidebyside{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sidebyside pre{background:var(--bg);border:1px solid var(--line);padding:8px;overflow-x:auto;font-size:12px}@media (max-width: 800px){.sidebyside{grid-template-columns:1fr}}.aipanel .actions{flex-wrap:wrap}blockquote.notes{border-left:3px solid var(--accent);margin:8px 0;padding:4px 10px;background:var(--bg);white-space:pre-wrap}.aipanel .review{border:1px solid var(--line);border-radius:4px;padding:8px;margin-top:10px;background:var(--bg)}.proposalitems{list-style:none;padding:0;margin:0}li.proposalitem{display:flex;gap:8px;padding:8px 0;border-top:1px solid var(--line)}li.proposalitem:first-child{border-top:0}li.proposalitem .body{flex:1;min-width:0}li.proposalitem .head{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}li.proposalitem .derivation{font-size:12px;white-space:pre-wrap}.excerptlist{list-style:none;padding:0;margin:0}.excerptlist li{padding:6px 0;border-top:1px solid var(--line)}.excerptlist li:first-child{border-top:0}.settings label.wide{display:flex;flex-direction:column;gap:3px;margin:8px 0;color:var(--muted)}.settings input{font:inherit;padding:5px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink)}.cases td.counts{display:flex;gap:6px;flex-wrap:wrap}.expectations tr.expectation{cursor:pointer}.expectations tr.expectation.on{background:var(--med)}.expectations tr.tracerow td{background:var(--bg)}.case .person h4,.newcase h4{margin:10px 0 4px}.params{list-style:none;padding:0;margin:4px 0;font-size:13px}.trace{font-size:13px}.tnode{margin:2px 0}.thead{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap;padding:1px 0}.thead.openable{cursor:pointer}.thead.openable:hover{background:var(--med)}.twist{width:10px;color:var(--muted)}.tname{font-weight:600}.tval{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.origin{border:1px solid var(--line);border-radius:8px;padding:0 6px;font-size:11px;color:var(--muted)}.origin-evaluated{background:var(--all)}.origin-case{background:var(--med)}.origin-parameter{background:var(--snap)}.origin-missing{color:var(--warn);border-color:var(--warn)}.tbody{margin-left:10px;border-left:2px solid var(--line);padding-left:8px}.tbody pre.derivation{margin:4px 0;font-size:12px}.tsources{margin:2px 0;display:flex;gap:4px}.storyhead{margin:0 0 4px}ul.story{list-style:none;margin:0 0 8px;padding:0}ul.story li{padding:1px 0 1px 10px;border-left:2px solid var(--med)}ul.story li.sub{margin-left:14px;color:var(--muted)}button.showall{border:1px solid var(--line);background:var(--panel);font:inherit;font-size:12px;padding:2px 8px;border-radius:4px;cursor:pointer}.tmark{color:var(--warn);font-size:11px}.thead.decisive .tname{text-decoration:underline;text-decoration-color:var(--warn)}.outcome{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.outcome h4{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.documents td.citation{font-size:12px}.document .doctext pre.statute{margin:6px 0}.document .excerpt{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.document .excerpt h4{margin:0 0 2px}.newdoc{margin-top:12px;border-top:1px solid var(--line);padding-top:8px}.newdoc summary{cursor:pointer;font-weight:600}.newdoc .form{margin-top:8px}.newdoc textarea{min-height:140px}.tag.doclink{text-decoration:none;color:var(--accent)}.tray li.entry.file code{font-size:12px}.newcase .actions label{display:flex;gap:4px;align-items:center;color:var(--muted)}.newcase .actions input{font:inherit;padding:4px;border:1px solid var(--line);border-radius:4px;min-width:260px}.handoff-toc{margin:8px 0 16px;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.handoff-toc h2{margin:0 0 4px;font-size:14px}.handoff-toc ul{margin:0;padding-left:18px}.handoff-toc>ul{display:flex;flex-wrap:wrap;gap:4px 20px;padding-left:0;list-style:none}.handoff-toc>ul>li{min-width:140px}.handoff .program-group{margin-top:12px}.handoff .chapter-group{margin-top:8px}.handoff .chapter-group h4{margin:0 0 4px;color:var(--muted);font-weight:400}.handoff-md{margin-top:8px}.handoff-md table{border-collapse:collapse;width:100%;margin:8px 0}.handoff-md th,.handoff-md td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--line)}.handoff-md pre{background:var(--bg);border:1px solid var(--line);padding:10px;overflow-x:auto;white-space:pre-wrap}label.example{display:flex;gap:6px;align-items:center;color:var(--muted);margin:8px 0}.unknown-hint button{margin:0 2px}code.alias{font-size:11px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:0 4px}.tourbox{position:fixed;right:16px;bottom:16px;z-index:60;width:min(320px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;box-shadow:0 6px 20px #0003}.app.tour-open main{padding-bottom:calc(var(--tourbox-h, 160px) + 16px)}.tourstep{margin:0 0 4px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.tour-target{outline:2px solid var(--warn);outline-offset:2px;border-radius:3px}.help-overlay .sheet.help{width:min(420px,100%)}.help.sheet p{line-height:1.6}.tok{font:inherit;color:inherit;background:none;border:0;padding:0 1px;margin:0;cursor:pointer;border-radius:3px;text-align:inherit}.tok:hover,.tok:focus-visible{text-decoration:underline dotted}.tok.key,.tokpop .tk.key{color:#6b6b66;font-weight:600}.tok.fact,.tokpop .tk.fact{color:#5a4a2c;background:#f3eee2}.tok.derived,.tokpop .tk.derived{color:#3b2f7a;background:#ebe8f7}.tok.param,.tokpop .tk.param{color:#8a3b12;background:#f7e7dd}.tok.phrase,.tokpop .tk.phrase{color:var(--accent);font-weight:600}.tok.const,.tokpop .tk.const{color:var(--accent);font-style:italic}.tok.literal,.tokpop .tk.literal{color:var(--ok)}.tok.tag,.tokpop .tk.tag{color:var(--warn)}.tok.source,.tokpop .tk.source{color:var(--accent);text-decoration:underline dotted}.tok.error,.tokpop .tk.error{color:var(--bad);background:#fff0f0}.tok.unknown,.tokpop .tk.unknown{color:var(--bad)}.rich{font:inherit}pre.rich{margin:0;white-space:pre-wrap}pre.rich.derivation,pre.rich.projection{margin:0 0 8px}.tokpop{position:fixed;z-index:60;max-width:360px;max-height:min(70vh,420px);overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:12px;box-shadow:0 8px 24px #0000002e}.tokpop .tip-title .tk{padding:1px 6px;border-radius:3px}.tokpop-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.tokpop-actions a,.tokpop-actions button{font:inherit;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.tokpop-actions .tokpop-close{color:var(--muted)}article.excerpt.on{background:var(--med);border-left:3px solid var(--accent);padding-left:8px}
