@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700&display=swap";:root{--bg:#edf0e8;--bg-strong:#e0e6db;--panel:#fcfcf8;--panel-strong:#f7f8f2;--panel-border:#222a261f;--panel-shadow:0 24px 56px #2b382e24;--text:#1c231f;--text-soft:#4a5850;--text-inverse:#eff5ef;--accent:#8ab1a0;--accent-strong:#c3823a;--accent-deep:#294c3d;--editor-kicker:#9fb8ab;--tree-pill-bg:#edf2ec;--tree-pill-border:#294c3d29;--tree-pill-text:#365548;--tree-selection:#e7f0ea;--tree-focus:#294c3d14;--tree-connector:#294c3d29;--specificity-bg:#fbf1e6;--specificity-border:#8a4f1433;--specificity-text:#7a4513;--action-warn:#d5d55a;--editor-surface:linear-gradient(180deg, #111c19fc, #18231ff7);--editor-text:#eef5ee;--gutter:#eef5ee85;--split-primary:52;--splitter-size:.95rem;--workspace-gap:.75rem;--radius-xl:28px;--radius-lg:18px;--radius-md:14px;--sans:"Manrope", sans-serif;--display:"Instrument Serif", serif;--mono:"IBM Plex Mono", monospace;--syntax-keyword:#f6c177;--syntax-property:#8bd5ca;--syntax-variable:#f2f7f2;--syntax-number:#a6da95;--syntax-string:#f4b8e4;--syntax-constant:#91d7e3;--syntax-comment:#8a9a90;--syntax-operator:#c6a0f6;--syntax-punctuation:#d2ddd4;color:var(--text);background:radial-gradient(circle at top left, #8ab1a057, transparent 28%), radial-gradient(circle at right 18%, #c3823a29, transparent 24%), linear-gradient(180deg, #f5f8f0, var(--bg));font:16px/1.5 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body:before{content:"";pointer-events:none;opacity:.42;background-image:linear-gradient(#29392e0a 1px,#0000 1px),linear-gradient(90deg,#29392e0a 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000000c7,#0000 92%);mask-image:linear-gradient(#000000c7,#0000 92%)}button,code{font:inherit}button{cursor:pointer;border:0}code{font-family:var(--mono)}#app{min-height:100svh;padding:1.5rem}.shell{width:min(1400px,100%);grid-template-rows:auto minmax(0,1fr);gap:.75rem;block-size:calc(100svh - 3rem);margin:0 auto;display:grid}.masthead{padding:.2rem .25rem 0}.eyebrow,.panel-kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--accent-deep);margin:0 0 .35rem;font-size:.74rem;font-weight:700}.editor-panel .panel-kicker{color:var(--editor-kicker)}h2,p{margin:0}.masthead-line{color:var(--text-soft);flex-wrap:wrap;align-items:baseline;gap:.65rem;font-size:.96rem;display:flex}.workspace{grid-template-columns:minmax(0, calc((100% - var(--splitter-size) - (var(--workspace-gap) * 2)) * (var(--split-primary) / 100))) var(--splitter-size) minmax(0, calc((100% - var(--splitter-size) - (var(--workspace-gap) * 2)) * ((100 - var(--split-primary)) / 100)));gap:var(--workspace-gap);min-height:0;align-items:stretch;block-size:100%;display:grid;overflow:hidden}.panel{min-height:0;border-radius:var(--radius-xl);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);block-size:100%;min-block-size:min(24rem,100%);overflow:hidden}.editor-panel,.tree-panel{flex-direction:column;min-height:0;display:flex}.editor-panel{background:var(--editor-surface);color:var(--editor-text)}.tree-panel{background:var(--panel)}.panel-header{border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.05rem;display:flex}.panel-header>div:first-child{min-width:0}.tree-panel .panel-header{border-bottom-color:#222a261a}.panel-header h2{letter-spacing:-.03em;font-size:1.08rem;font-weight:700}.actions,.tree-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-left:auto;display:flex}.primary-button,.ghost-button{border-radius:999px;min-height:2.55rem;padding:.68rem .88rem;transition:transform .18s,background-color .18s,border-color .18s}.primary-button{background:var(--action-warn);color:#2f1d0f;border:1px solid #6b6b203d;font-weight:700}.ghost-button{color:inherit;background:0 0;border:1px solid #ffffff29}.tree-panel .ghost-button{border-color:#222a261f}.primary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:focus-visible,.ghost-button:focus-visible{outline-offset:2px;outline:3px solid #eef5eee6;box-shadow:0 0 0 5px #32584759}.tree-panel .primary-button:focus-visible,.tree-panel .ghost-button:focus-visible{outline-color:#325847eb;box-shadow:0 0 0 5px #32584729}.tree-item:focus-visible,.splitter:focus-visible{outline:none}.panel-body,.editor-host,.tree-body,.tree-surface{min-height:0}.panel-body{flex-direction:column;flex:auto;display:flex;overflow:hidden}.editor-meta,.status-strip{flex-wrap:wrap;align-items:center;gap:.55rem;padding:.9rem 1rem 0;display:flex}.editor-meta span,.tree-stats,.status-pill{font-size:.78rem}.editor-meta span{color:#eef5eed1;background:#ffffff14;border:1px solid #ffffff0f;border-radius:999px;padding:.24rem .55rem}.editor-host{flex:auto;padding-top:.5rem;overflow:hidden}.tree-body{flex-direction:column;flex:auto;padding-block:0 .85rem;padding-inline:0;display:flex;overflow:hidden}.status-strip{justify-content:space-between;align-items:start;gap:.75rem;margin-block:0;margin-inline:1rem;padding-block-end:.5rem;padding-inline-end:0}.status-pill{border:1px solid #0000;border-radius:999px;align-items:center;min-height:2rem;padding:.25rem .7rem;font-weight:700;display:inline-flex}.status-success{color:#225040;background:#e6efe9;border-color:#294c3d24}.status-error{color:#7f2d1b;background:#bf5e411f;border-color:#bf5e412e}.status-empty{color:var(--text-soft);background:#ecefe9;border-color:#4a58501f}.tree-stats{min-width:0;max-width:24rem;color:var(--text-soft);text-align:right;overflow-wrap:anywhere;flex:18rem}.tree-surface{border-radius:calc(var(--radius-xl) - 8px);background:linear-gradient(180deg, #ffffffd1, #ffffffad), var(--panel-strong);border:1px solid #222a2614;flex:auto;margin-block:0;margin-inline:1rem;padding-block:.5rem;padding-inline:.5rem;overflow:auto}.tree-root{outline:none;min-height:100%}.tree-empty{text-align:center;min-height:100%;color:var(--text-soft);place-content:center;gap:.35rem;padding:2rem;display:grid}.tree-empty-title{color:var(--text);font-weight:700}.tree-item{position:relative}.tree-group{gap:.2rem;display:grid}.tree-row{min-height:2.4rem;padding:.45rem .55rem .45rem calc(.45rem + var(--tree-depth) * 1.05rem);border-radius:var(--radius-md);grid-template-columns:1rem minmax(0,1fr);align-items:start;gap:.65rem;display:grid;position:relative}.tree-row:before{content:"";inset:.2rem 0;background:var(--tree-connector);inline-size:1px;position:absolute;inset-inline-start:calc(.75rem + var(--tree-depth) * 1.05rem)}.tree-expander{background:var(--tree-pill-bg);border-radius:.3rem;block-size:1rem;inline-size:1rem;margin-top:.2rem;position:relative}.tree-expander:before{content:"";block-size:.38rem;inline-size:.38rem;color:var(--accent-deep);border-bottom:2px solid;border-right:2px solid;transition:transform .16s;position:absolute;inset:50% auto auto 50%;transform:translate(-60%,-56%)rotate(-45deg)}.tree-item[aria-expanded=true]>.tree-row .tree-expander:before{transform:translate(-50%,-68%)rotate(45deg)}.tree-expander-leaf{background:0 0}.tree-expander-leaf:before{opacity:.25;transform:translate(-50%,-50%)rotate(45deg)scale(.75)}.tree-content{gap:.3rem;min-width:0;display:grid}.tree-title{flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0;display:flex}.tree-relation{background:var(--tree-pill-bg);border:1px solid var(--tree-pill-border);color:var(--tree-pill-text);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.18rem .45rem;font-size:.68rem}.tree-label{letter-spacing:-.01em;font-weight:700}.tree-annotation{border:1px solid var(--specificity-border);background:var(--specificity-bg);color:var(--specificity-text);font-family:var(--mono);letter-spacing:.02em;border-radius:999px;padding:.16rem .48rem;font-size:.72rem;font-weight:700}.tree-summary{color:var(--text-soft);font-size:.83rem}.tree-meta{flex-wrap:wrap;gap:.38rem;display:flex}.tree-meta-pill{border:1px solid var(--tree-pill-border);max-width:100%;color:var(--text-soft);font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;background:#fbfcf8;border-radius:999px;padding:.15rem .45rem;font-size:.73rem;overflow:hidden}.tree-item[aria-selected=true]>.tree-row{background:var(--tree-selection)}.tree-item:focus-visible>.tree-row{background:var(--tree-focus);box-shadow:inset 0 0 0 1px #294c3d4d,0 0 0 3px #294c3d29}.splitter{block-size:100%;inline-size:var(--splitter-size);min-inline-size:var(--splitter-size);cursor:col-resize;touch-action:none;border-radius:999px;align-self:stretch;position:relative}.splitter:before{content:"";background:#32584714;border-radius:999px;transition:background-color .18s,box-shadow .18s;position:absolute;inset:.45rem .2rem}.splitter:hover:before{background:#c3823a29}.splitter:focus-visible:before{background:#c3823a2e;box-shadow:0 0 0 3px #c3823a2e}.splitter-handle{background:linear-gradient(#c3823ae0,#8ab1a0f2);border-radius:999px;block-size:4.5rem;inline-size:.3rem;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffff73,0 10px 22px #2d3e3233}.workspace[data-collapsed=true] .editor-panel{min-inline-size:0}@media (width<=980px){#app{padding:1rem}.shell{block-size:auto;min-height:calc(100svh - 2rem)}.masthead-line{font-size:.92rem}.workspace{gap:1rem;block-size:auto;overflow:visible}.panel{block-size:auto;min-block-size:min(30rem,74svh)}.splitter{display:none}}@media (width<=720px){.panel-header,.status-strip{flex-direction:column;align-items:start}.actions,.tree-actions{justify-content:stretch;width:100%}.primary-button,.ghost-button{width:100%}.tree-stats{text-align:left}}
