:root{--table: #1e2023;--panel: #26282c;--panel-2: #2e3136;--line: #3a3d43;--text: #e9e7e0;--muted: #a09d93;--faint: #75726a;--paper: #f5f3ec;--ink: #35322b;--accent: #7ea3f7;--accent-strong: #2563eb;--red: #f08080;--red-bg: #3b2629;--amber: #e2a350;--amber-bg: #3a3122;--mono: ui-monospace, "SF Mono", Menlo, monospace;--serif: Georgia, "Times New Roman", serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,SF Pro Text,Segoe UI,system-ui,sans-serif;font-size:13px;color:var(--text);background:var(--table)}.app{display:flex;flex-direction:column;height:100%}button,select,input{font:inherit}button,select{padding:4px 9px;white-space:nowrap;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--text);cursor:pointer}select{background:var(--panel-2)}button:hover:not(:disabled){background:var(--panel-2)}button:disabled{opacity:.4;cursor:default}button.danger{color:var(--red);border-color:#5d3a3d}button.danger:hover{background:var(--red-bg)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.topbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--table);border-bottom:1px solid var(--line)}.wordmark{font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:.14em;color:var(--muted);-webkit-user-select:none;user-select:none}.wordmark em{font-style:normal;color:var(--text)}.bar-label{color:var(--faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em}.bar-group,.bar-context,.sheet-picker{display:flex;align-items:center;gap:6px}.sheet-picker{position:relative}.sheet-picker select{font-family:var(--mono);font-size:12px}.spacer{flex:1}.seg{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.seg button{border:none;border-radius:0;padding:4px 12px;color:var(--muted)}.seg button+button{border-left:1px solid var(--line)}.seg button.active{background:var(--panel-2);color:var(--text)}.concept-form{position:absolute;top:calc(100% + 8px);left:40px;z-index:50;width:220px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #0006}.concept-form-label{font-size:12px;color:var(--muted);margin-bottom:6px}.concept-form input{width:100%;font-family:var(--mono);padding:5px 8px;border:1px solid var(--line);border-radius:5px;background:var(--panel-2);color:var(--text)}.concept-form-hint{color:var(--faint);font-size:10px;margin-top:5px}.main{display:flex;flex:1;min-height:0}.rail{display:flex;flex-direction:column;gap:2px;padding:8px 6px;background:var(--table);border-right:1px solid var(--line)}.rail-tool{display:flex;flex-direction:column;align-items:center;gap:3px;width:56px;padding:7px 2px 6px;border:1px solid transparent;border-radius:7px;color:var(--muted);font-size:9.5px;letter-spacing:.03em}.rail-tool:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.rail-tool.active{background:#2c3a57;border-color:#3d5482;color:#b7ccff}.canvas{flex:1;min-width:0;position:relative;display:flex}.plan-wrap{flex:1;min-width:0;position:relative;background:var(--paper)}.plan{display:block;touch-action:none}.plan.tool-wall{cursor:crosshair}.plan-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#a49f8f}.view3d{flex:1;min-width:0;position:relative}.plan-wrap+.view3d{border-left:2px solid var(--line)}.view3d canvas{display:block}.titleblock{position:absolute;right:16px;bottom:16px;z-index:5;min-width:230px;border:1.5px solid var(--ink);background:#f5f3eced;color:var(--ink);pointer-events:none;-webkit-user-select:none;user-select:none}.titleblock-split{right:calc(50% + 16px)}.tb-row{display:grid;grid-template-columns:62px 1fr;align-items:baseline}.tb-row+.tb-row{border-top:1px solid #c9c4b4}.tb-label{padding:4px 8px;font-size:8.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#8a8577;border-right:1px solid #c9c4b4}.tb-value{padding:4px 9px;font-family:var(--mono);font-size:11px}.tb-dim{color:#8a8577}.tb-conflict{color:#c22a2a;font-weight:700}.sidebar{width:312px;overflow-y:auto;background:var(--table);border-left:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:10px}.panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:10px 12px}.panel h3{margin:0 0 9px;font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);display:flex;align-items:center;gap:8px}.panel h3 .overflow-badge{background:var(--red-bg);color:var(--red);font-size:10px;padding:1px 8px;border-radius:999px;text-transform:none;letter-spacing:0}.audit-badge{background:var(--amber-bg);color:var(--amber);font-size:11px;padding:1px 8px;border-radius:999px;text-transform:none;letter-spacing:0}.panel-actions{display:flex;gap:6px;margin-top:10px}.panel-actions button{font-size:12px}.prop{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:8px;padding:2px 0;min-height:26px}.prop-label{color:var(--faint);font-size:11.5px}.prop-value{display:flex;align-items:center;gap:6px;min-width:0}.prop-value select{font-family:var(--mono);font-size:12px;padding:2px 6px;max-width:100%}.ro{color:var(--text);overflow-wrap:anywhere}.prop-muted{color:var(--faint)}.ghost-toggle{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);cursor:pointer}.ghost-toggle input{accent-color:var(--accent-strong);margin:0}.diag-note{color:var(--muted);font-size:11.5px;margin-top:4px}.parent-picker{position:relative;display:inline-flex;flex-direction:column;min-width:0}.parent-options{display:flex;flex-direction:column;margin-top:4px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);overflow:hidden}.parent-options button{font-family:var(--mono);font-size:11.5px;text-align:left;padding:4px 10px;border:none;background:transparent;color:var(--text);cursor:pointer}.parent-options button:hover{background:var(--panel);color:var(--accent)}.parent-options button.active{color:var(--accent)}.level-tabs{position:absolute;top:14px;left:14px;z-index:4;display:flex;gap:2px;padding:3px;background:#f5f3eceb;border:1px solid #c9c4b4;border-radius:7px}.level-tabs button{font-family:var(--mono);font-size:11.5px;padding:3px 10px;border:none;border-radius:5px;background:transparent;color:#6d6a5f;cursor:pointer}.level-tabs button.active{background:var(--ink);color:var(--paper)}.mono{font-family:var(--mono);font-size:12px}.field{font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;padding:2px 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text);text-decoration:underline dotted var(--faint) 1px;text-underline-offset:3px}.field:hover{background:var(--panel-2);border-color:var(--line);text-decoration-color:var(--muted)}.field-edit{display:inline-flex;flex-direction:column;gap:3px;min-width:0}.field-edit input{font-family:var(--mono);font-size:12px;width:110px;padding:2px 6px;border:1px solid var(--accent);border-radius:4px;background:var(--panel-2);color:var(--text)}.field-error{color:var(--red);font-size:10.5px;line-height:1.3;max-width:180px}.chip{display:inline-block;font-size:10px;border:1px solid;border-radius:999px;padding:0 7px;line-height:15px;flex-shrink:0}.params{width:100%;border-collapse:collapse}.params td{padding:2px 3px;border-top:1px solid #2e3034;vertical-align:middle}.param-name{font-family:var(--mono);font-size:11.5px;color:var(--muted);word-break:break-all}.param-value{text-align:right;white-space:nowrap}.drift{color:var(--amber);margin-left:2px}.row-audit .param-name{color:var(--amber)}.param-actions{white-space:nowrap;text-align:right}.param-actions button{padding:1px 5px;border:none;background:none;font-size:12px}.hint{color:var(--faint);margin:6px 0 0;line-height:1.5;font-size:11.5px}.hint b{color:var(--muted)}.hint-panel{border-style:dashed;background:transparent}.hint-panel .hint{margin:0}.diag{border-radius:6px;padding:7px 10px;margin-bottom:6px;line-height:1.45}.diag-error{background:var(--red-bg);color:#f3c6c6}.diag-warning{background:var(--amber-bg);color:#ecd3a8}.suspect-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding:5px 7px;background:var(--panel);border:1px solid #5d3a3d;border-radius:6px;color:var(--text)}.suspect-name{font-size:12px;font-family:var(--mono);overflow-wrap:anywhere}.suspect-name em{color:var(--muted);font-family:-apple-system,SF Pro Text,system-ui,sans-serif}.suspect-actions{display:flex;gap:4px;flex-shrink:0}.suspect-actions button{padding:2px 8px;font-size:11.5px}.review-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.review-actions button{padding:3px 10px;font-size:11.5px}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);padding:9px 16px;border-radius:8px;background:var(--paper);color:#2b2a25;box-shadow:0 6px 24px #00000073;max-width:70vw}.toast-error{background:#8c2f2f;color:#ffe4e4}.value-editor{position:fixed;z-index:40;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #00000073;padding:10px;width:220px}.value-editor-label{font-size:12px;color:var(--muted);margin-bottom:6px;font-family:var(--mono)}.value-editor input{width:100%;font-family:var(--mono);font-variant-numeric:tabular-nums;padding:5px 8px;border:1px solid var(--line);border-radius:5px;background:var(--panel-2);color:var(--text)}.value-editor input:focus{outline:2px solid var(--accent);outline-offset:-1px}.value-editor-error{color:var(--red);font-size:11px;margin-top:5px;line-height:1.35}.value-editor-hint{color:var(--faint);font-size:10px;margin-top:5px}
