:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#e7ede7;background:#111917;--panel:#192320;--line:#34423c;--muted:#9ba8a0;--mint:#a6d6b4;--gold:#e8bf82;--mono:ui-monospace,Consolas,monospace}*{box-sizing:border-box}body{margin:0}header{height:62px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:18px;background:#151d1b}.brand{font-weight:750;letter-spacing:1.6px;color:#e8eee8;text-decoration:none}.demo{font:10px var(--mono);color:var(--mint);letter-spacing:.6px;border:1px solid #3b5747;border-radius:20px;padding:6px 9px}.primary{border:1px solid #88b996;background:#a9d8b6;color:#132019;padding:9px 13px;border-radius:6px;font-weight:650;cursor:pointer}.primary:hover{filter:brightness(1.08)}header .primary{margin-left:auto}main{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);min-height:calc(100vh - 62px)}.left{border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;min-height:0}.pane-title,.node-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.pane-title small,.node-toolbar small,.topic-head small,.side-card small,.dialog>small,.welcome>small{font:10px var(--mono);letter-spacing:1px;color:#9caaa2}.pane-title h2,.activity h2{font-size:15px;margin:4px 0}.small{background:#202a26;color:#c4d0c7;border:1px solid #3a4941;padding:7px 9px;border-radius:5px;font:10px var(--mono);cursor:pointer}.small:hover{border-color:#6c9278}.search{display:flex;align-items:center;gap:8px;margin:16px 0 10px;border:1px solid var(--line);border-radius:6px;padding:0 10px;color:#a8cdb2}.search input{border:0;background:none;color:#eaf0ea;height:36px;width:100%;outline:0}.tree{overflow:auto;flex:1;min-height:180px;font-size:12px}.tree .empty{font-size:12px;line-height:1.7;color:var(--muted);padding:18px 4px}.tree-row{display:flex;align-items:flex-start;gap:4px;margin:2px 0;min-width:max-content}.tree-toggle{width:21px;height:24px;background:transparent;border:0;color:#a7b4ab;cursor:pointer}.tree-select,.tree-ref{background:transparent;border:0;color:#d7e1d9;text-align:left;padding:5px 7px;border-radius:4px;cursor:pointer;font:12px system-ui;max-width:610px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-select:hover,.tree-ref:hover{background:#28352f}.tree-select.active{background:#284234;color:#c5e6ce;box-shadow:inset 2px 0 #9bcaa7}.tree-ref{color:#d9bd8f;font:11px var(--mono)}.tree-edge{padding:5px 0;color:#87958d;font:9px var(--mono)}.node-id{color:#91ac99;font:9px var(--mono);margin-right:4px}.tree-tools{border-top:1px solid var(--line);padding-top:10px}.content{padding:24px 26px;max-width:1450px;width:100%;margin:0 auto}.welcome{max-width:600px;margin:11vh auto;text-align:left}.spark{font-size:25px;color:var(--mint);margin-bottom:12px}.welcome h1{font-size:32px;letter-spacing:-.7px;margin:10px 0}.welcome p{max-width:550px;color:#a5b2a9;line-height:1.7;margin:12px 0 22px}.topic-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.topic-head h1{font-size:26px;margin:5px 0}.topic-head p{font:10px var(--mono);color:var(--muted)}.tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tools select{max-width:150px}.tools select,.controls select,.controls input,.controls textarea,.dialog select,.dialog textarea{background:#111917;color:#e3ebe4;border:1px solid #46544b;border-radius:5px;padding:8px;font:12px system-ui}.upload{position:relative}.upload input{display:none}.trail{display:flex;align-items:center;gap:10px;margin:20px 0;padding:10px 12px;border:1px solid var(--line);background:#17201c;border-radius:6px}.trail>span{font:9px var(--mono);color:#92a197;letter-spacing:.8px;flex:none}.trail div{flex:1;overflow:auto;white-space:nowrap;color:#b8d9c1;font:11px var(--mono)}.columns{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px}.node-card,.side-card,.activity{border:1px solid var(--line);border-radius:8px;background:linear-gradient(150deg,#1b2621,#171f1c);padding:17px}.node-card h2{font-size:18px;margin-top:5px}.tag{font:9px var(--mono);text-transform:uppercase;letter-spacing:.5px;color:#d5be8f;border:1px solid #66583e;padding:5px 7px;border-radius:4px}.rationale{color:#b5c0b8;font-size:12px;line-height:1.6;margin:14px 0}.source{font:10px var(--mono);color:#a9cfb4}.rule{border-top:1px solid #34423a;margin:16px 0}.controls{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.controls label,.dialog label{display:grid;gap:6px;font:10px var(--mono);color:#aab7ae}.controls select,.controls input{width:100%;height:36px}.limit-note{font-size:10px;color:#829188;line-height:1.55;margin:10px 0 0;grid-column:1/-1}.indicators{display:grid;align-content:start;gap:10px}.side-card{padding:13px}.side-card small{display:block;margin-bottom:9px}.side-card p{font-size:11px;line-height:1.55}.muted{color:#9ba89f}.activity{margin-top:14px}.activity .pane-title{margin-bottom:10px}.stream-label{font:9px var(--mono);color:#829087}.event{display:grid;grid-template-columns:45px 1fr;gap:7px;border-top:1px solid #2d3933;padding:9px 2px;font-size:11px;line-height:1.5;color:#c4cec7}.event time{font:9px var(--mono);color:#9ac4a5}.event small{display:block;color:#829087;font:9px var(--mono);margin-top:3px}.overlay{position:fixed;inset:0;z-index:5;background:#060a09d9;display:grid;place-items:center;padding:20px}.overlay[hidden]{display:none}.dialog{position:relative;width:min(520px,100%);display:grid;gap:13px;padding:24px;background:#1b2621;border:1px solid #526154;border-radius:9px;box-shadow:0 25px 80px #0009}.dialog h2{margin:0}.dialog p{margin:-5px 0 2px;color:#a9b5ac;font-size:12px;line-height:1.6}.dialog textarea{resize:vertical}.x{position:absolute;right:14px;top:12px;border:0;background:none;color:#dce4dd;font-size:24px;cursor:pointer}#toast{position:fixed;bottom:15px;right:15px;max-width:340px;background:#294335;color:#d4eedb;border:1px solid #61816a;border-radius:6px;padding:10px 13px;font-size:12px;box-shadow:0 7px 30px #0008;opacity:0;transform:translateY(6px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}.node-count{font:10px var(--mono);color:#829087}
@media(max-width:980px){main{grid-template-columns:270px minmax(0,1fr)}.content{padding:18px}.columns{grid-template-columns:1fr}.indicators{grid-template-columns:repeat(3,1fr)}.controls{grid-template-columns:1fr 1fr}.controls .primary{grid-column:1/-1}.topic-head{display:block}.tools{justify-content:flex-start;margin-top:12px}}
@media(max-width:700px){header{padding:0 13px;height:56px;gap:8px}.brand{font-size:12px}.demo{font-size:8px;padding:5px 6px}.primary{padding:8px;font-size:11px}main{display:flex;flex-direction:column;min-height:calc(100vh - 56px)}.left{border-right:0;border-bottom:1px solid var(--line);padding:12px;max-height:44vh}.tree{min-height:90px}.tree-tools{padding-top:7px}.content{padding:16px 12px}.topic-head h1{font-size:21px}.tools{gap:5px}.tools .small{font-size:9px;padding:6px}.trail{margin:13px 0;padding:8px}.indicators{grid-template-columns:1fr}.controls{grid-template-columns:1fr}.controls .primary{grid-column:auto}.welcome{margin:7vh 5px}.welcome h1{font-size:25px}.event{grid-template-columns:39px 1fr}}
.search-results{display:grid;gap:3px;max-height:230px;overflow:auto;margin:-6px 0 8px;padding:5px;background:#111917;border:1px solid var(--line);border-radius:5px}.search-results[hidden]{display:none}

/* Adjustable, keyboard-accessible concept-tree viewport. */
main{grid-template-columns:minmax(220px,var(--tree-width,300px)) 12px minmax(0,1fr)}
.left{min-width:0}
.tree{font-size:calc(12px * var(--tree-zoom,1));}
.tree-select,.tree-ref{font-size:calc(12px * var(--tree-zoom,1));max-width:calc(100% - 28px)}
.tree-ref{font-size:calc(11px * var(--tree-zoom,1))}
.node-id{font-size:calc(9px * var(--tree-zoom,1))}
.tree-row{min-width:0}
.tree-select{min-width:0;flex:1}
.tree-resize{border:0;background:transparent;cursor:col-resize;position:relative;touch-action:none;min-width:12px;padding:0}
.tree-resize::after{content:"";position:absolute;top:0;bottom:0;left:5px;width:2px;background:#34423c;transition:background .15s,width .15s}
.tree-resize:hover::after,.tree-resize:focus-visible::after{left:4px;width:4px;background:var(--mint)}
.tree-resize:focus-visible{outline:2px solid var(--mint);outline-offset:-2px}
.tree-view-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px}
#zoomLabel{font:9px var(--mono);color:var(--muted);min-width:34px;text-align:center}
.danger{border-color:#915d54!important;color:#ffd3c8!important}
.primary.danger{background:#8f5148;color:white!important}
.reset-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.generation-note{border:1px solid #66583e;background:#28251d;color:#e0d2ae;padding:11px 12px;border-radius:6px;font-size:11px;line-height:1.6;margin:12px 0}
@media(max-width:980px) and (min-width:701px){main{grid-template-columns:minmax(220px,var(--tree-width,270px)) 12px minmax(0,1fr)}}
@media(max-width:700px){main{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(180px,var(--tree-height,38vh)) 14px minmax(0,1fr);align-items:stretch}.left{max-height:none;min-height:0}.tree{min-height:0}.tree-resize{min-height:14px;width:100%;cursor:row-resize}.tree-resize::after{left:0;right:0;top:6px;bottom:auto;width:auto;height:2px}.tree-resize:hover::after,.tree-resize:focus-visible::after{left:0;right:0;top:5px;width:auto;height:4px}.content{min-width:0}.tree-view-tools{gap:4px}.tree-view-tools .small{padding:6px 7px}}
@media(max-width:390px){.tree-view-tools #resetTree{flex-basis:100%}.tree-view-tools #unfoldAll{max-width:100%}.reset-actions>*{flex:1 1 auto}}

.persist-status{font:10px var(--mono);color:#a6cdb0}.persist-status.failed{color:#f2bb86}button:disabled{opacity:.45;cursor:not-allowed}.noscript{margin:0;padding:12px 22px;background:#493927;color:#ffdbab;font-size:13px}

.tree-row.depth-0{padding-left:0px}.tree-row.depth-1{padding-left:13px}.tree-row.depth-2{padding-left:26px}.tree-row.depth-3{padding-left:39px}.tree-row.depth-4{padding-left:52px}.tree-row.depth-5{padding-left:65px}.tree-row.depth-6{padding-left:78px}.tree-row.depth-7{padding-left:91px}.tree-row.depth-8{padding-left:104px}.tree-row.depth-9{padding-left:117px}.tree-row.depth-10{padding-left:130px}.tree-row.depth-11{padding-left:143px}.tree-row.depth-12{padding-left:156px}

/* Keep the tree controls in view; give touch resizing a usable hit area. */
header{position:sticky;top:0;z-index:2}main{grid-template-columns:minmax(220px,var(--tree-width,300px)) 24px minmax(0,1fr)}.left{position:sticky;top:62px;height:calc(100dvh - 62px);overflow:hidden;align-self:start}.tree-resize{min-width:24px;position:sticky;top:62px;height:calc(100dvh - 62px);align-self:start}.tree-resize::after{left:11px}.tree-resize:hover::after,.tree-resize:focus-visible::after{left:10px}.tree-view-tools button,#unfoldAll{min-height:44px;min-width:44px}.tree{min-width:0}@media(max-width:980px) and (min-width:701px){main{grid-template-columns:minmax(220px,var(--tree-width,300px)) 24px minmax(0,1fr)}}@media(max-width:700px){header{position:relative;top:auto}main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(320px,var(--tree-height,400px)) 44px minmax(0,1fr)}.left{position:relative;top:auto;height:100%;min-height:0}.tree-resize{position:relative;top:auto;height:44px;min-height:44px;width:100%}.tree-resize::after{left:12px;right:12px;top:21px;height:2px;width:auto}.tree-resize:hover::after,.tree-resize:focus-visible::after{left:12px;right:12px;top:20px;height:4px;width:auto}}
