:root{--surface-page:#faf9f5;--surface-panel:#fffdfa;--surface-sidebar:#f1eee7;--surface-inset:#f5f1e9;--text-primary:#282722;--text-muted:#706b61;--accent:#a4533b;--accent-soft:#eee0d5;--on-accent:#fff;--border:#ded9ce;--status-pending:#805d18;--status-error:#a13737;--status-success:#37634e;--graph-node-fill:#eee0d5;--graph-node-text:#282722;--graph-edge-stroke:#8c8376;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;--font-display:Georgia, "Noto Serif SC", "Songti SC", SimSun, serif;--radius-panel:10px;--space-sm:8px;--space-md:16px;--space-lg:24px}*{box-sizing:border-box}body{background:var(--surface-page);color:var(--text-primary);font:15px/1.6 var(--font-body);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--surface-panel);color:var(--text-primary);border-radius:6px;padding:8px 14px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.48}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button.danger{color:var(--status-error)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:not([type=checkbox]),select,textarea{border:1px solid var(--border);background:var(--surface-panel);width:100%;color:var(--text-primary);border-radius:5px;padding:9px 11px}textarea{resize:vertical;min-height:100px}label{color:var(--text-muted);flex-direction:column;gap:5px;margin-bottom:13px;font-size:14px;display:flex}label.check{flex-direction:row;align-items:center;gap:8px;display:flex}h1,h2,h3{font-weight:500;line-height:1.35}h1{font:30px/1.3 var(--font-display);margin:5px 0}h2{font:23px/1.4 var(--font-display);margin-top:0}h3{margin:0 0 12px;font-size:17px}p{margin:8px 0 16px}small,.muted{color:var(--text-muted)}code,pre{font-family:Cascadia Code,Consolas,monospace;font-size:12px}code{overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-inset);border-radius:6px;max-height:480px;padding:14px;overflow:auto}blockquote{border-left:3px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;padding:4px 14px}.workspace{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface-sidebar);border-right:1px solid var(--border);flex-direction:column;gap:28px;padding:28px 16px;display:flex}.brand{align-items:center;gap:10px;padding:0 8px;display:flex}.brand-mark{background:var(--accent);width:32px;height:32px;color:var(--on-accent);text-align:center;line-height:32px;font-family:var(--font-display);border-radius:6px}.brand small{letter-spacing:1.3px;font-size:10px;display:block}nav{gap:6px;display:grid}nav button{text-align:left;background:0 0;border-color:#0000;padding:10px 12px}nav button[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.identity{border-top:1px solid var(--border);overflow-wrap:anywhere;margin-top:auto;padding:16px 8px 0}.identity button{margin-top:12px}.main{min-width:0}.page-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:27px 36px 24px;display:flex}.eyebrow{color:var(--text-muted);letter-spacing:1px;font-size:12px}.content{max-width:1600px;margin:auto;padding:28px 36px 48px}.panel{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface-panel);min-width:0;margin-bottom:20px;padding:24px}.two-col{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;gap:24px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}.toolbar label{margin:0}.tag{border:1px solid var(--border);color:var(--text-muted);border-radius:4px;margin-right:6px;padding:2px 8px;font-size:12px;display:inline-block}.tag.pending{color:var(--status-pending);background:var(--surface-inset)}.tag.success{color:var(--status-success)}.alert{border-left:3px solid var(--accent);background:var(--surface-inset);overflow-wrap:anywhere;margin:12px 0 20px;padding:12px 16px}.alert.error{border-color:var(--status-error);color:var(--status-error)}.version{color:var(--text-muted);overflow-wrap:anywhere;font-size:11px}.record{border-top:1px solid var(--border);padding:18px 0}.record:first-child{border-top:0}.empty{text-align:center;color:var(--text-muted);padding:36px 12px}.tree{padding-left:20px;list-style:none}.tree>li{margin:8px 0}.tree button{text-align:left}.tree button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.source-text{min-height:250px}.login{max-width:440px;margin:12vh auto;padding:40px}.login a.primary{background:var(--accent);color:var(--on-accent);border-radius:6px;padding:8px 14px;text-decoration:none;display:inline-block}details{margin-top:12px}summary{cursor:pointer;color:var(--text-muted)}hr{border:0;border-top:1px solid var(--border);margin:24px 0}.canvas-grid{grid-template-columns:minmax(350px,1.5fr) minmax(320px,1fr);align-items:start;gap:20px;display:grid}.ontology-graph{min-width:0;height:540px}.graph-panel{padding:12px}fieldset{border:0;min-width:0;margin:0;padding:0}@media (width<=1120px){.canvas-grid{grid-template-columns:1fr}.ontology-graph{height:420px}}@media (width<=950px){.two-col{grid-template-columns:1fr}.content{padding:20px}.page-header{padding:24px 20px}}@media (width<=680px){.workspace{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);gap:16px;padding:16px}nav{flex-wrap:wrap;gap:4px;display:flex}nav button{padding:7px 9px}.identity{align-items:center;gap:12px;padding-top:10px;display:flex}.identity button{margin:0}.page-header{align-items:start}.panel{padding:18px}.form-grid{grid-template-columns:1fr}.login{margin:4vh 16px}h1{font-size:26px}}
