:root{color-scheme:dark;--bg:#07090e;--ink:#dfe8f2;--muted:#7e90a4;--line:#1e2937;--panel:#0c1119;--accent:#6ef0c8;--warning:#e0b062;--danger:#ee8c90;font:15px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{color:var(--ink);background:#0f1722;border:1px solid #27374a;border-radius:7px;padding:7px 10px;cursor:pointer;font-size:13px;line-height:1.3}button:hover:not(:disabled){background:#172638;border-color:#45617a}button:disabled{opacity:.45;cursor:not-allowed}button[aria-pressed=true]{background:#0e3830;border-color:#2f7c68;color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{width:100%;min-height:34px;color:var(--ink);background:#0e1722;border:1px solid #304156;border-radius:7px;padding:7px 9px;outline:none}select{cursor:pointer}textarea{resize:vertical}input[type=range]{accent-color:var(--accent)}input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--accent)}label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#abc;margin:0 0 12px}label.check{flex-direction:row;align-items:center;gap:8px;margin:11px 0;cursor:pointer}a{color:#83dbc8;text-decoration:none;overflow-wrap:anywhere}a:hover{text-decoration:underline}.primary{background:#115746;border-color:#259474;color:#dcfff3;font-weight:600}.primary:hover:not(:disabled){background:#176f59;border-color:#5bcbab}.danger{color:#ffb9bd;border-color:#764247}.danger:hover:not(:disabled){background:#44272c}.loading-screen{height:100%;display:grid;place-items:center;color:var(--muted)}.login-screen{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse 46% 39% at 50% 42%,#0d3f42 0,#101d2d 47%,#07090e)}.login-card{width:min(100%,370px);padding:32px;border:1px solid #31485b;border-radius:15px;background:#0b1119ed;box-shadow:0 30px 100px #0008}.login-card .brand-mark{color:var(--accent);font-size:32px}.login-card h1{font-size:28px;margin:2px 0}.login-card p{font-size:13px;color:var(--muted);margin:0 0 24px}.login-card .primary{width:100%;margin-top:6px}.language-corner{position:fixed;right:18px;top:18px;z-index:2}.app-shell{height:100dvh;display:flex;flex-direction:column;min-width:320px;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 16px;background:#090d14;border-bottom:1px solid #17212e;min-height:56px}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{color:var(--accent);font-size:21px;line-height:1}.brand h1{font-size:16px;font-weight:650;margin:0;letter-spacing:-.2px}.brand p{font-size:11px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions,.view-controls,.toolbar,.segmented{display:flex;align-items:center;gap:6px}.top-actions{flex-shrink:0}.top-actions button{white-space:nowrap}.toolbar{justify-content:space-between;flex-wrap:wrap;padding:7px 12px;background:#0a1018;border-bottom:1px solid #1a2835;min-height:49px;gap:7px}.segmented{background:#0d1720;border:1px solid #203245;border-radius:9px;padding:3px;gap:2px}.segmented button{border:0;background:transparent;white-space:nowrap;padding:6px 9px}.segmented button[aria-pressed=true]{background:#144539}.view-controls{margin-left:auto;min-width:0}.view-controls button{white-space:nowrap}.view-controls select{width:min(240px,25vw);min-width:110px;height:31px;min-height:31px;font-size:12px}.create-btn{border-color:#2c7e6a;color:#a3f0d6}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 350px}.map-wrap{position:relative;min-width:0;min-height:0;overflow:hidden}.map-stage{position:absolute;inset:0;overflow:hidden}.map-svg{width:100%;height:100%;display:block;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.map-svg:active{cursor:grabbing}.map-mist,.map-halo{pointer-events:none}.map-edge{stroke:#2f4055;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.6;pointer-events:none}.map-edge.navigation{stroke:#3a5068;stroke-width:1.4;opacity:.5}.map-edge.related_to{stroke:#4a4060;stroke-dasharray:2 7;opacity:.55}.map-edge.region{stroke:#31a795;stroke-width:1.8;opacity:.8}.map-edge.lit{stroke:var(--accent);stroke-width:2.4;opacity:1}.map-edge.glow{stroke:var(--accent);stroke-width:8;opacity:.1}.map-node{cursor:pointer}.node-hit{fill:transparent}.node-dot{stroke-width:1.3;vector-effect:non-scaling-stroke}.map-node.mine .node-dot{fill:#9dffe4;stroke:#eafff9}.map-node.selected .node-dot{stroke:#fff;stroke-width:2.5}.map-node .node-label,.map-node.ghost text{fill:#93a6ba;paint-order:stroke;stroke:#07090e;stroke-width:5px;stroke-linejoin:round}.map-node.area .node-label{fill:#dbe7f2;font-weight:600}.map-node.mine .node-label{fill:#a9f7de}.map-node.ghost{text-decoration:line-through;opacity:.8}.map-node.ghost .ghost-dot{fill:#201416;stroke:#ed8f98;stroke-dasharray:3 3}.map-node.ghost text{fill:#ed8f98}.node-diff-ring{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}.diff-added .node-diff-ring{stroke:#66dba7}.diff-edited .node-diff-ring{stroke:#e0b062;stroke-dasharray:3 3}.diff-moved .node-diff-ring{stroke:#83bfff;stroke-dasharray:7 3}.diff-glyph{fill:#f5d28f;stroke:#071018;stroke-width:2;paint-order:stroke}.map-key{position:absolute;left:16px;top:12px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap;font-size:11px;pointer-events:none}.map-key i{display:inline-block;width:18px;height:2px;background:var(--accent);vertical-align:middle;margin-right:5px;box-shadow:0 0 9px #6ef0c870}.map-hint{position:absolute;left:16px;bottom:15px;color:var(--muted);font-size:11px;pointer-events:none}.map-zoom{position:absolute;right:12px;bottom:12px;display:flex;gap:3px;align-items:center;background:#0b111ae8;border:1px solid var(--line);border-radius:9px;padding:4px}.map-zoom button{border:0;background:transparent;min-width:29px;padding:5px}.map-zoom span{width:43px;text-align:center;font-size:11px;color:var(--muted)}.topic-card{position:absolute;top:14px;right:14px;width:min(310px,calc(100% - 28px));max-height:calc(100% - 72px);overflow:auto;background:#0b111af2;border:1px solid #35475a;border-radius:12px;padding:16px;box-shadow:0 22px 55px #000a;z-index:4}.topic-card h2{font-size:19px;line-height:1.2;margin:5px 0 2px}.topic-card h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#94adc0;margin:16px 0 7px}.topic-card p{font-size:13px;color:#b5c5d6;line-height:1.5;margin:9px 0}.topic-card .other-name,.eyebrow{font-size:11px;color:var(--muted)}.topic-card .examples{background:#141e2c;border-radius:6px;padding:8px 10px;font-size:12px;color:#a6b9ca}.topic-card .fineprint{font-size:11px;color:var(--muted)}.icon-close{float:right;border:0;background:none;color:var(--muted);font-size:20px;line-height:1;padding:0 4px}.resource-list{background:#121c29;border-radius:6px;padding:8px 10px;font-size:11px;display:grid;gap:5px;margin:7px 0}.tier{font-size:10px;color:#7e90a4}.source-list{display:grid;gap:5px}.source-list button{text-align:left;background:#111d2a}.source-list strong,.source-list small{display:block}.source-list small{color:var(--muted);margin-top:2px}.delete-label{color:#e9979b}.node-menu{position:fixed;z-index:20;width:240px;background:#0d1722f7;border:1px solid #4c657a;border-radius:10px;box-shadow:0 18px 50px #000c;padding:8px}.node-menu-title{padding:2px 5px 6px;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-menu button{width:100%;display:flex;align-items:center;gap:9px;text-align:left;background:#142635;border-color:#305363}.node-menu button[aria-checked=true]{border-color:#42a687;color:#b1f8df}.menu-value{margin-left:auto;color:var(--muted);font-size:10px}.node-menu p{font-size:11px;color:var(--warning);margin:8px 5px 3px}.side-panel{border-left:1px solid #203041;background:#0a1018;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.panel-head,.welcome-panel,.history-panel{padding:18px}.panel-head{border-bottom:1px solid #23364a}.panel-head h2,.welcome-panel h2,.history-panel h2{font-size:20px;line-height:1.25;margin:6px 0 7px}.panel-head p,.welcome-panel p,.history-panel p{font-size:12px;color:#aebed0;margin:7px 0}.status{display:inline-block;border:1px solid #b8925a;border-radius:20px;padding:2px 9px;font-size:11px;color:#e7c586;margin:8px 0}.status.accepted{color:#88dbb2;border-color:#36795e}.status.rejected{color:#e3a2a5;border-color:#905258}.fineprint{font-size:11px!important;color:var(--muted)!important;line-height:1.45}.panel-tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid #203041}.panel-tabs button{flex:1}.panel-scroll{flex:1;min-height:0;overflow:auto;padding:12px}.diff-list{display:grid;gap:7px}.diff-row{display:flex;gap:10px;align-items:flex-start;padding:9px;border-radius:8px;background:#111b27;border-left:2px solid #d6a762}.diff-row.diff-added{border-color:#55bb89}.diff-row.diff-moved{border-color:#83bfff}.diff-row.diff-deleted{border-color:#e99096}.diff-row.diff-interest{border-color:#a1e5ce}.diff-symbol{font-size:18px;line-height:1;color:#e3c083;width:18px;text-align:center}.diff-added .diff-symbol{color:#76dba7}.diff-moved .diff-symbol{color:#83bfff}.diff-deleted .diff-symbol{color:#ed9a9e}.diff-row strong,.diff-row small{display:block}.diff-row strong{font-size:12px;font-weight:550}.diff-row small{color:var(--muted);font-size:10px;margin-top:2px;overflow-wrap:anywhere}.proposal-editor h3{font-size:14px;margin:0}.editor-head{display:flex;justify-content:space-between;align-items:center;margin:4px 0 14px}.editor-head span{font-size:11px;color:var(--muted)}.proposal-editor form{padding-bottom:12px}.proposal-editor button.primary{width:100%;margin-top:8px}.delete-impact{border:1px solid #7a4e50;background:#211519;border-radius:7px;padding:9px;margin-bottom:12px}.delete-impact p{font-size:12px}.delete-impact label{margin:5px 0}.review-actions{padding:11px;border-top:1px solid #2a3f50;background:#0b131c;display:grid;gap:7px}.review-actions>button{width:100%}.decision-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.decision-row button{font-size:11px;padding:9px 5px}.conflict-list{padding:9px 13px;border-bottom:1px solid #684e33;max-height:190px;overflow:auto}.conflict-list h3{font-size:12px;margin:3px 0 8px;color:#eac88e}.conflict-row{border:1px solid #5b4634;border-radius:7px;padding:8px;margin:5px 0}.conflict-row code{font-size:10px;overflow-wrap:anywhere}.conflict-row p{font-size:11px}.row-actions{display:flex;gap:7px;flex-wrap:wrap}.row-actions button{flex:1}.conflict-row .row-actions button{font-size:10px;padding:5px}.notice{padding:9px 11px;border-radius:7px;font-size:12px;margin:9px 0}.notice.error,.global-notice.error{color:#ffbbbe;background:#371b22;border:1px solid #97535d}.notice.warning{color:#f5d4a1;background:#362817;border:1px solid #8c6a41}.global-notice.success{color:#b4f6d9;background:#12382d;border:1px solid #3a8a6e}.global-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 13px;font-size:12px}.global-notice button{background:transparent;border:0;color:inherit}.welcome-panel,.history-panel{overflow:auto}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0}.stat-grid div{background:#111c28;border:1px solid #23384c;border-radius:8px;padding:9px}.stat-grid strong,.stat-grid span{display:block}.stat-grid strong{font-size:19px;font-weight:600}.stat-grid span{font-size:10px;color:var(--muted)}.welcome-panel h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#9bb2c5;margin:22px 0 8px}.proposal-list-item,.history-item{display:block;width:100%;text-align:left;margin:6px 0}.proposal-list-item strong,.proposal-list-item small,.history-item strong,.history-item small{display:block}.proposal-list-item small,.history-item small{font-size:10px;color:var(--muted);margin-top:3px}.history-panel input[type=range]{margin-top:20px}.history-steps{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:18px}.modal-backdrop{position:fixed;inset:0;z-index:30;background:#000a;display:grid;place-items:center;padding:14px}.modal,.source-sheet{width:min(100%,460px);max-height:90dvh;overflow:auto;background:#0c151f;border:1px solid #40566b;border-radius:12px;padding:20px;box-shadow:0 30px 100px #000c}.modal h2,.source-sheet h3{font-size:20px;margin:0 0 18px}.modal .row-actions{margin-top:16px}.source-sheet{width:min(100%,720px)}.source-content{white-space:pre-wrap;overflow-wrap:anywhere;background:#101b27;border:1px solid #2d4052;border-radius:8px;padding:12px;font-size:12px;line-height:1.6;max-height:48dvh;overflow:auto}.backup-status{margin-top:20px;padding:10px;border:1px solid #2b4454;border-radius:8px;background:#101c27;display:grid;gap:3px;font-size:11px;color:var(--muted)}.backup-status strong{color:#c2d8e5;font-size:12px}.backup-status .pending{color:#edcb8e}.backup-status .backup-error{color:#efa2a8;overflow-wrap:anywhere}@media(max-width:920px){.workspace{grid-template-columns:minmax(0,1fr) 300px}.brand p{display:none}.toolbar{justify-content:flex-start}.view-controls{margin-left:0;flex:1;justify-content:flex-end}}@media(max-width:700px){.topbar{padding:8px 11px;min-height:48px}.top-actions button{padding:6px 8px}.toolbar{padding:6px;min-height:0;align-items:stretch}.segmented{width:100%;justify-content:center}.segmented button{flex:1;font-size:11px}.view-controls{width:100%;justify-content:space-between}.view-controls button{font-size:11px;padding:6px}.view-controls select{width:auto;flex:1;min-width:80px}.create-btn{font-size:11px!important}.workspace{display:flex;flex-direction:column}.map-wrap{flex:none;height:56%;min-height:220px}.side-panel{flex:1;border-left:0;border-top:1px solid #203041}.map-key{font-size:10px;left:9px;top:8px;gap:5px}.map-key span:nth-child(2){display:none}.map-hint{display:none}.map-zoom{right:8px;bottom:8px}.topic-card{inset:auto 7px 7px;width:auto;max-height:70%;padding:13px}.node-menu{width:230px}.panel-head{padding:12px}.panel-head h2{font-size:17px}.review-actions{padding:8px}.panel-scroll{padding:9px}}@media(max-width:390px){.brand p{display:none}.top-actions button{font-size:11px}.view-controls{flex-wrap:wrap}.view-controls select{min-width:95px}.view-controls .create-btn{flex:1}}
