.ge { --ge-paper: #fcfbf8; --ge-white: #fffefc; --ge-line: #e6e0da; --ge-ink: #342d31; --ge-muted: #897c81; --ge-accent: #833b4c; display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 540px; color: var(--ge-ink); background: var(--ge-paper); font-family: var(--sans, system-ui, sans-serif); overflow: hidden; position: relative; color-scheme: light; }
.ge *, .ge-dialog * { box-sizing: border-box; }
.ge [hidden] { display: none !important; }
.ge button, .ge input, .ge textarea, .ge select { font-family: inherit; }
.ge button { cursor: pointer; }
.ge button:disabled { opacity: .4; cursor: default; }
.ge button:focus-visible, .ge input:focus-visible, .ge textarea:focus-visible, .ge select:focus-visible, .ge-node:focus-visible { outline: 2px solid #a56879; outline-offset: 3px; }
.ge-top { min-height: 88px; display: flex; align-items: center; justify-content: space-between; padding: 14px 24px; border-bottom: 1px solid var(--ge-line); gap: 24px; background: var(--ge-white); flex-shrink: 0; }
.ge-identity { min-width: 170px; max-width: 380px; position: relative; flex: 1; }
.ge-eyebrow { font-size: 9px; letter-spacing: 1.6px; font-weight: 650; color: #977f88; margin: 0 0 5px; }
.ge-title { display: block; height: 27px; width: 100%; border: 0; padding: 0 0 3px; background: transparent; box-shadow: none; border-radius: 0; font-size: 18px; font-weight: 620; color: var(--ge-ink); text-overflow: ellipsis; }
.ge-title:hover { box-shadow: 0 1px #e5d9dc; }
.ge-save { border: 0; padding: 2px 0 0; background: transparent; color: #788471; font-size: 10px; display: flex; align-items: center; gap: 5px; }
.ge-save::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.ge-save[data-state="saving"] { color: #a48b5f; }
.ge-save[data-state="error"] { color: #a54747; }
.ge-toolbar { display: flex; gap: 7px; align-items: center; flex-shrink: 0; }
.ge-more { position: relative; }
.ge-more-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 40; min-width: 240px; display: flex; flex-direction: column; gap: 1px; padding: 6px; background: var(--ge-white); border: 1px solid var(--ge-line); border-radius: 9px; box-shadow: 0 14px 40px #4b243422; }
.ge-more-menu[hidden] { display: none; }
.ge-more-menu .ge-btn { justify-content: flex-start; width: 100%; border-color: transparent; font-size: 12px; }
.ge-more-menu .ge-btn[hidden] { display: none; }
.ge-more-title { margin: 7px 10px 3px; font-size: 9px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #a08f97; }
.ge-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--ge-line); border-radius: 7px; background: var(--ge-white); color: #67565e; min-height: 35px; padding: 7px 11px; font-size: 11px; font-weight: 550; line-height: 1.3; white-space: nowrap; box-shadow: none; transition: background .15s, border-color .15s; }
.ge-btn:hover:not(:disabled) { background: #f5eeec; border-color: #d3b8c0; }
.ge-btn svg { flex-shrink: 0; }
.ge-primary { background: var(--ge-accent); color: #fff; border-color: var(--ge-accent); }
.ge-primary:hover:not(:disabled) { background: #6a2838; border-color: #6a2838; }
.ge-icon-btn { width: 34px; height: 34px; padding: 6px; flex-shrink: 0; }
.ge-icon-btn > span { display: none; }
.ge-text-btn { background: transparent; border-color: transparent; }
.ge-divider { width: 1px; height: 20px; background: var(--ge-line); margin: 0 3px; }
.ge-body { display: flex; flex: 1; min-height: 0; overflow: hidden; }
.ge-stage { position: relative; flex: 1; min-width: 0; overflow: hidden; background-color: var(--ge-paper); background-image: radial-gradient(#ded5cd .65px, transparent .65px); background-size: 20px 20px; }
.ge-canvas { display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; position: absolute; inset: 0; }
.ge-canvas.ge-dragging { cursor: grabbing; }
.ge-node { cursor: grab; outline: none; }
.ge-node rect { filter: drop-shadow(0 2px 3px #4b354409); }
.ge-node:hover rect, .ge-node:focus-visible rect { stroke: #a66d7b; }
.ge-custom-node rect { stroke-dasharray: 5 4; }
.ge-node text, .ge-annotation text { user-select: none; pointer-events: none; }
.ge-edge { cursor: pointer; }
.ge-edge:hover path:not([stroke="transparent"]) { stroke: #833b4c; stroke-width: 2.5px; }
.ge-edge-label { user-select: none; cursor: grab; pointer-events: all; }
.ge-dragging .ge-edge-label { cursor: grabbing; }
.ge-selection-hint { margin-top: 7px; font-size: 9px; color: #897c81; }
.ge-stage { user-select: none; }
.ge-body { position: relative; }
@media (max-width: 720px) { .ge.ge-chat-open .ge-chat { top: 0; } }
.ge-selection { max-height: calc(100% - 140px); overflow: auto; max-width: min(460px, calc(100% - 36px)); }
.ge-selection-footer { flex-wrap: wrap; }
.ge-selection input:not([type="color"]) { width: 100%; padding: 8px; border: 1px solid #ded1d5; border-radius: 5px; }
.ge-selection .ge-field { margin: 10px 0; }
.ge-palette { display: flex; gap: 6px; align-items: center; margin: 12px 0; }
.ge-palette .ge-swatch { min-height: 24px; width: 24px; height: 24px; padding: 0; border: 1px solid #b1a3a8; }
.ge-swatch[aria-pressed="true"] { outline: 2px solid #833b4c; outline-offset: 2px; }
.ge-swatch > span { display: none; }
.ge-palette input[type="color"] { width: 30px; height: 28px; padding: 1px; border: 0; background: transparent; }
.ge-resize { filter: none !important; stroke-dasharray: none !important; }
.ge-resize-e { cursor: ew-resize; }
.ge-resize-s { cursor: ns-resize; }
.ge-resize-se { cursor: nwse-resize; }
@media (max-width: 720px) { .ge-toolbar { flex-wrap: wrap; } .ge-history-btn { padding: 5px !important; gap: 4px; } .ge-history-btn svg { width: 12px; } .ge-toolbar .ge-divider { display: none; } .ge-selection-hint { display: none; } }
.ge-annotation { cursor: move; }
.ge-stage-top { position: absolute; top: 15px; left: 18px; right: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; pointer-events: none; }
.ge-stage-top button { pointer-events: auto; }
.ge-date { font-size: 10px; color: #938089; min-height: 26px; padding: 5px 7px; background: #fcfbf8dc; }
.ge-legend { display: flex; gap: 14px; font-size: 9px; color: #a09196; background: #fcfbf8dc; padding: 5px; }
.ge-legend span::before { content: ''; display: inline-block; vertical-align: middle; width: 16px; border-top: 1px solid #857a7f; margin-right: 5px; }
.ge-legend .ge-legend-user::before { border-top: 1px dashed #a9854e; }
.ge-canvas-tools { position: absolute; bottom: 18px; left: 20px; right: 20px; display: flex; align-items: center; justify-content: space-between; pointer-events: none; }
.ge-count { color: #9b8f91; font-size: 10px; background: #fcfbf8dc; padding: 6px 0; }
.ge-zoom { display: flex; align-items: center; background: var(--ge-white); border: 1px solid var(--ge-line); border-radius: 8px; box-shadow: 0 2px 10px #34232a06; pointer-events: auto; padding: 2px; }
.ge-zoom .ge-btn { border: 0; font-size: 18px; }
.ge-zoom-value { min-width: 43px; text-align: center; font-size: 10px; color: #7e6d75; }
.ge-empty { position: absolute; top: 48%; left: 50%; transform: translate(-50%, -50%); width: min(500px, 90%); text-align: center; }
.ge-empty-mark { margin: 0 auto 24px; width: 56px; height: 56px; border-radius: 18px; border: 1px solid #e4d3d7; background: #f6ebee; display: flex; align-items: center; justify-content: center; color: #8d4a5c; box-shadow: 0 8px 24px #833b4c07; }
.ge-empty-mark svg { width: 25px; height: 25px; }
.ge-empty .ge-eyebrow { font-size: 9px; margin-bottom: 15px; }
.ge-empty h1 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(24px, 2.5vw, 36px); font-weight: 400; line-height: 1.18; white-space: pre-line; color: #58424c; letter-spacing: -.7px; }
.ge-empty > p:not(.ge-eyebrow) { margin: 19px 0 25px; font-size: 11px; color: #9b8a91; line-height: 1.8; white-space: pre-line; }
.ge-start-prompts { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-bottom: 15px; }
.ge-start-prompts .ge-btn { min-height: 39px; padding: 10px 13px; color: #875368; background: #fffdf9; font-size: 10px; border-color: #e1d1d6; }
.ge-start-prompts svg { width: 13px; height: 13px; }
.ge-empty > .ge-text-btn { color: #a28e98; font-size: 10px; }
.ge-chat { flex: 0 0 340px; min-width: 0; display: flex; flex-direction: column; border-left: 1px solid var(--ge-line); background: var(--ge-white); z-index: 2; }
.ge-chat-head { display: flex; align-items: center; gap: 11px; padding: 22px 21px 18px; border-bottom: 1px solid #f0eae6; }
.ge-assistant-mark { width: 31px; height: 31px; background: #f5e9ed; color: #985b6c; display: flex; align-items: center; justify-content: center; border-radius: 9px; flex-shrink: 0; }
.ge-chat-head h2 { margin: 0 0 5px; font-size: 12px; font-weight: 620; color: #634651; }
.ge-assistant-meta { font-size: 9px; color: #ac969f; display: block; max-width: 230px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.ge-messages { padding: 25px 20px 16px; flex: 1; overflow: auto; scrollbar-width: thin; min-height: 100px; }
.ge-chat-welcome { font-size: 11px; line-height: 1.9; color: #8e7983; }
.ge-chat-welcome p { margin: 11px 0 21px; }
.ge-message-author { font-size: 8px; letter-spacing: 1.3px; font-weight: 650; color: #b09aa3; }
.ge-chat-suggestions { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.ge-chat-suggestions button { border-radius: 6px; min-height: 29px; font-size: 10px; padding: 6px 10px; border-color: #eadce1; color: #a17383; background: #fcf8f8; }
.ge-message { font-size: 12px; line-height: 1.75; margin: 0 0 24px; }
.ge-message-content { white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 8px; color: #73606a; }
.ge-message-user { background: #f7efef; border-radius: 10px 10px 2px 10px; padding: 13px 14px; margin-left: 14px; }
.ge-message-user .ge-message-content { color: #694753; }
.ge-thinking { color: #a47b8b; font-size: 11px; line-height: 1.7; animation: ge-pulse 1.6s ease-in-out infinite; }
.ge-ai-unconfigured { margin-top: 24px; border: 1px solid #ead9bc; background: #fff8eb; border-radius: 8px; padding: 13px; color: #9b7850; font-size: 10px; line-height: 1.75; }
.ge-ai-unconfigured p { margin: 7px 0 0; }
@keyframes ge-pulse { 50% { opacity: .5; } }
.ge-composer { margin: 0 15px; border: 1px solid #e6d3da; border-radius: 11px; padding: 12px 12px 9px; background: #fffdfb; box-shadow: 0 2px 10px #70344503; }
.ge-composer:focus-within { border-color: #b98295; box-shadow: 0 0 0 3px #833b4c07; }
.ge-composer textarea { padding: 0; margin: 0; width: 100%; min-height: 70px; max-height: 180px; font-size: 11px; line-height: 1.75; resize: none; background: transparent; color: #674b57; border: 0; outline: 0; box-shadow: none; }
.ge-composer textarea::placeholder { color: #b49fa8; }
.ge-composer textarea:focus-visible { outline: none; }
.ge-composer-actions { display: flex; align-items: center; gap: 5px; margin-top: 7px; }
.ge-composer-actions > .ge-icon-btn { border: 0; color: #ab8a98; background: transparent; }
.ge-attachments { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.ge-attachment { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; padding: 2px 4px 2px 9px; border: 1px solid #e6d3da; border-radius: 999px; font-size: 11px; color: #674b57; background: #fbf4f6; overflow-wrap: anywhere; }
.ge-attachment .ge-icon-btn { width: 22px; height: 22px; min-height: 22px; padding: 2px; border: 0; background: transparent; color: #ab8a98; }
.ge-attachment.ge-pending { padding-right: 9px; color: #ab8a98; }
.ge-key-hint { font-size: 8px; color: #b4a5ab; flex: 1; }
.ge-send { min-height: 29px; height: 29px; padding: 6px 9px; font-size: 9px; }
.ge-send svg { width: 13px; height: 13px; }
.ge-chat-foot { padding: 0; margin: 11px 21px 17px; font-size: 8px; line-height: 1.65; color: #b2a2a9; }
.ge-recording { color: #b94444 !important; background: #fbe1e1 !important; animation: ge-pulse 1s infinite; }
.ge-selection { position: absolute; top: 57px; left: 18px; background: #fffefcf5; border: 1px solid #e1d3d8; border-radius: 10px; padding: 12px; min-width: 265px; max-width: min(380px, calc(100% - 36px)); box-shadow: 0 10px 30px #57333d16; z-index: 2; }
.ge-selection-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; margin-bottom: 7px; }
.ge-selection-head .ge-icon-btn { width: 24px; height: 24px; min-height: 24px; border: 0; }
.ge-selection-actions { display: flex; flex-wrap: wrap; gap: 5px; margin: 10px 0; }
.ge-selection-actions .ge-btn { font-size: 9px; min-height: 30px; padding: 5px 7px; }
.ge-selection-actions svg { width: 12px; }
.ge-selection-footer { display: flex; border-top: 1px solid #eee3e5; padding-top: 8px; gap: 5px; }
.ge-selection-footer .ge-btn { font-size: 10px; min-height: 27px; border: 0; padding: 5px 7px; }
.ge-error { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 20px; background: #fff1df; border-bottom: 1px solid #e9d4b8; color: #80542e; font-size: 11px; line-height: 1.5; flex-shrink: 0; z-index: 4; }
.ge-error-actions { display: flex; flex-shrink: 0; gap: 6px; }
.ge-error-actions .ge-btn { font-size: 10px; min-height: 28px; }
.ge-dialog { width: min(620px, calc(100vw - 32px)); max-height: calc(100dvh - 60px); margin: auto; border: 1px solid #ded1d5; border-radius: 14px; padding: 24px; color: #48383f; background: #fffefc; box-shadow: 0 25px 100px #30212b30; overflow: auto; }
.ge-dialog::backdrop { background: #32242c55; backdrop-filter: blur(2px); }
.ge-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.ge-dialog-head h2 { font-size: 18px; font-weight: 550; color: #5d414d; margin: 0; }
.ge-dialog-head .ge-icon-btn { border: 0; }
.ge-hint { font-size: 11px; line-height: 1.75; color: #a18a94; white-space: pre-line; }
.ge-field { display: flex; flex-direction: column; gap: 7px; font-size: 11px; color: #987d89; margin: 17px 0; }
.ge-dialog input, .ge-dialog textarea, .ge-dialog select { width: 100%; border: 1px solid #e0d0d6; border-radius: 7px; padding: 10px 12px; font-size: 12px; background: #fffdfb; color: #624855; min-height: 40px; box-shadow: none; }
.ge-search-field { display: flex; align-items: center; border: 1px solid #ded0d5; padding-left: 12px; border-radius: 8px; color: #a18491; }
.ge-search-field input { border: 0; background: transparent; }
.ge-search-field input:focus-visible { outline-offset: -2px; }
.ge-search-results, .ge-projects { max-height: 390px; overflow: auto; margin: 15px -7px; scrollbar-width: thin; padding: 0 7px; }
.ge-search-result { width: 100%; display: flex; justify-content: flex-start; padding: 12px 9px; border: 0; border-bottom: 1px solid #f0e8e9; border-radius: 0; text-align: left; white-space: normal; }
.ge-search-result:disabled { opacity: .6; }
.ge-result-kind { background: #f3eaed; color: #aa7d8f; font-size: 9px; border-radius: 7px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex-shrink: 0; }
.ge-result-name { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.ge-result-name strong { font-size: 12px; font-weight: 550; }
.ge-result-name small { font-size: 9px; font-weight: 400; color: #aa95a0; }
.ge-dialog-footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; padding-top: 17px; border-top: 1px solid #f0e6ea; margin-top: 15px; }
.ge-project-row { display: flex; text-align: left; justify-content: flex-start; padding: 15px 12px; width: 100%; border: 0; border-bottom: 1px solid #eee4e7; border-radius: 0; font-size: 12px; }
.ge-project-row span { overflow: hidden; text-overflow: ellipsis; }
.ge-export-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ge-export-option { display: flex; flex-direction: column; gap: 10px; padding: 24px 10px; border-color: #e1cbd4; color: #875368; font-size: 13px; }
.ge-export-options > .ge-export-option:first-child { grid-column: 1 / -1; padding: 16px 10px; }
.ge-infographic-result:empty { display: none; }
.ge-infographic-image { display: block; width: 100%; max-height: 52vh; object-fit: contain; border: 1px solid var(--ge-line); border-radius: 7px; margin-top: 10px; background: #fff; }
.ge-export-option small { font-size: 9px; color: #b095a1; white-space: normal; min-height: 25px; font-weight: 400; }
.ge-chat-toggle, .ge-mobile-close { display: none; }
@media (max-width: 1180px) { .ge-top { padding: 14px 17px; gap: 12px; } .ge-toolbar { gap: 5px; } .ge-toolbar .ge-btn { font-size: 10px; padding: 7px 9px; } .ge-chat { flex-basis: 300px; } .ge-toolbar .ge-btn[aria-label="Упорядочить"] > span { display: none; } .ge-empty h1 { font-size: 29px; } .ge-legend { display: none; } }
@media (max-width: 900px) { .ge-chat { flex-basis: 275px; } .ge-toolbar .ge-btn[aria-label="Мои схемы"] > span, .ge-toolbar .ge-btn[aria-label="Добавить"] > span { display: none; } .ge-title { font-size: 15px; } .ge-top { gap: 8px; } .ge-identity { min-width: 120px; } .ge-chat-head { padding: 18px 15px; } .ge-messages { padding: 21px 15px; } .ge-empty h1 { font-size: 25px; } .ge-start-prompts { flex-direction: column; align-items: center; } }
@media (max-width: 720px) { .ge { min-height: 480px; } .ge-top { align-items: flex-start; padding: 12px 14px; flex-wrap: wrap; gap: 10px; } .ge-identity { max-width: none; flex-basis: 100%; } .ge-title { max-width: calc(100% - 140px); font-size: 17px; } .ge-save { position: absolute; right: 0; bottom: 5px; } .ge-eyebrow { font-size: 8px; } .ge-toolbar { width: 100%; } .ge-toolbar .ge-primary { margin-left: auto; } .ge-toolbar .ge-btn { height: 32px; min-height: 32px; } .ge-chat { display: none; position: absolute; right: 0; top: 122px; bottom: 0; width: min(370px, 100%); box-shadow: -12px 0 50px #4b243422; } .ge-chat-open .ge-chat { display: flex; } .ge-chat-toggle, .ge-mobile-close { display: inline-flex; } .ge-mobile-close { margin-left: auto; border: 0; } .ge-chat-toggle > span { display: none; } .ge-empty h1 { font-size: 29px; } .ge-empty { top: 48%; } .ge-empty-mark { margin-bottom: 17px; } .ge-error { flex-direction: column; align-items: flex-start; font-size: 10px; } .ge-error-actions { flex-wrap: wrap; } .ge-canvas-tools { left: 15px; right: 15px; bottom: 12px; } .ge-export-options { grid-template-columns: 1fr; } .ge-export-option { padding: 15px; flex-direction: row; justify-content: flex-start; } .ge-export-option small { margin-left: auto; min-height: 0; max-width: 110px; text-align: right; } .ge-dialog { padding: 19px; } }
/* The editor has its own canvas and assistant. Preserve the app's grid slots,
   so hiding the surrounding panes cannot move the workspace into a zero column. */
body[data-view="group-editor"] .app { grid-template-columns: var(--ribbon) 0 minmax(0, 1fr) 0 !important; }
body[data-view="group-editor"] .workspace { grid-column: 3; grid-row: 1; overflow: hidden; }
body[data-view="group-editor"] .ribbon { grid-column: 1; grid-row: 1; }
body[data-view="group-editor"] .app .pane-left,
body[data-view="group-editor"] .app .pane-right { visibility: hidden !important; pointer-events: none; }
body[data-view="group-editor"] .pane-resizer,
body[data-view="group-editor"] #pane-left-open,
body[data-view="group-editor"] #pane-right-open,
body[data-view="group-editor"] .viewheader,
body[data-view="group-editor"] .statusbar,
body[data-view="group-editor"] .pane-shade { display: none !important; }
body[data-view="group-editor"] #main { padding: 0; overflow: hidden; display: flex; flex: 1; min-height: 0; }
body[data-view="group-editor"] .group-editor-host { width: 100%; max-width: none; height: 100%; min-height: 0; margin: 0; }
body[data-view="group-editor"] .ge { min-height: 0; }
@media (max-width: 720px) {
  body[data-view="group-editor"] .app { grid-template-columns: minmax(0, 1fr) !important; }
  body[data-view="group-editor"] .workspace { grid-column: 1; }
  .ge-chat { top: 120px; }
}
@media (max-height: 650px) { .ge-empty-mark { display: none; } .ge-empty h1 { font-size: 25px; } .ge-empty > p:not(.ge-eyebrow) { margin: 12px 0 15px; } .ge-empty .ge-eyebrow { margin-bottom: 10px; } }
@media (prefers-reduced-motion: reduce) { .ge * { animation: none !important; transition: none !important; } }

.ge-selection textarea { width:100%; padding:8px; border:1px solid #ded1d5; border-radius:5px; resize:vertical; font:inherit; }
.ge-selection > .ge-primary { margin-bottom:12px; }

.ge-stage { background-image: none; }
.ge-ruler { position: absolute; z-index: 2; pointer-events: none; background: #f6f2ed; }
.ge-ruler-horizontal { top: 0; left: 0; width: 100%; height: 24px; border-bottom: 1px solid #dcd4cb; }
.ge-ruler-vertical { top: 0; left: 0; width: 24px; height: 100%; border-right: 1px solid #dcd4cb; }
.ge-ruler line { stroke: #b4a8a1; stroke-width: 1; }
.ge-ruler text { font: 9px Arial,sans-serif; fill: #776961; }
.ge-ruler-corner { position: absolute; top: 0; left: 0; width: 24px; height: 24px; z-index: 3; font-size: 8px; display: grid; place-items: center; background: #eee8e0; color: #897c81; }
.ge-stage-top { top: 37px; left: 40px; }
.ge-canvas-tools { left: 40px; }
.ge-drop-hover { box-shadow: inset 0 0 0 3px #833b4c; }
.ge-sidebar { display: flex; flex-direction: column; flex: 0 0 360px; min-width: 0; border-left: 1px solid var(--ge-line); background: var(--ge-white); }
.ge-sidebar-tabs { display: flex; gap: 7px; padding: 13px 16px; border-bottom: 1px solid var(--ge-line); }
.ge-sidebar-tabs .ge-btn[aria-pressed="true"] { background: #f3e8ec; border-color: #c8a7b2; color: #833b4c; }
.ge-sidebar .ge-chat { flex: 1; width: 100%; min-height: 0; border-left: 0; }
.ge-inspector { flex: 1; min-height: 0; overflow: auto; padding: 18px; scrollbar-width: thin; }
.ge-inspector .ge-selection { position: static; padding: 0; width: 100%; max-width: none; max-height: none; overflow: visible; box-shadow: none; border: 0; background: transparent; }
.ge-inspector:has(.ge-selection:not([hidden])) > .ge-inspector-hint { display: none; }
.ge-inspector-hint { font-size: 12px; line-height: 1.6; color: var(--ge-muted); }
.ge-company-brief { display: flex; flex-direction: column; gap: 9px; margin: 14px 0; padding: 12px; border-radius: 8px; background: #f8f5f1; }
.ge-company-brief > div { display: flex; gap: 8px; align-items: baseline; }
.ge-company-brief small { flex: 0 0 70px; font-size: 9px; line-height: 1.4; color: var(--ge-muted); }
.ge-company-brief span { flex: 1; min-width: 0; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.ge-charter-link { text-decoration: none; margin-top: 4px; }
.ge-related-row { display: flex; align-items: center; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--ge-line); cursor: grab; }
.ge-related-info { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 5px; }
.ge-related-info small { font-size: 10px; line-height: 1.4; color: var(--ge-muted); }
.ge-related-name { padding: 0; min-height: 0; border: 0; background: transparent; text-align: left; justify-content: flex-start; white-space: normal; font-size: 11px; line-height: 1.5; }
.ge-related-name:hover { text-decoration: underline; }
.ge-related-add { font-size: 10px; padding: 7px; }
.ge-related-add svg { width: 13px; }
.ge-selection h3 { margin: 20px 0 8px; font-size: 12px; }
@media (max-width: 1180px) { .ge-sidebar { flex-basis: 310px; } }
@media (max-width: 900px) { .ge-sidebar { flex-basis: 285px; } .ge-inspector { padding: 13px; } }
@media (max-width: 720px) {
  .ge-sidebar { display: none; position: absolute; z-index: 5; top: 0; right: 0; bottom: 0; width: min(360px,100%); box-shadow: -12px 0 50px #4b243422; }
  .ge-chat-open .ge-sidebar { display: flex; }
  .ge-sidebar .ge-chat { display: flex; position: static; box-shadow: none; }
  .ge-toolbar { flex-wrap: wrap; }
}

.ge-edge-description > h3 { margin-top: 14px; }
.ge-edge-fact { font-size: 12px; line-height: 1.65; color: var(--ge-ink); overflow-wrap: anywhere; }

.ge-sidebar { position: relative; }
.ge-sidebar-grip { position: absolute; z-index: 6; top: 0; bottom: 0; left: -5px; width: 10px; cursor: col-resize; touch-action: none; }
.ge-sidebar-grip::after { content: ''; position: absolute; top: 0; bottom: 0; left: 4px; width: 2px; background: #c8b4bd; opacity: .45; transition: opacity .15s; }
.ge-sidebar-grip:hover::after, .ge-sidebar-grip:focus-visible::after, .ge-sidebar-resizing .ge-sidebar-grip::after { background: #833b4c; opacity: 1; }
.ge-sidebar-grip:focus-visible { outline: 2px solid #a56879; outline-offset: -3px; }
.ge-sidebar-resizing, .ge-sidebar-resizing * { cursor: col-resize !important; user-select: none !important; }
@media (max-width: 720px) { .ge-sidebar { position: absolute; } .ge-sidebar-grip { display: none; } }
/* Conversations belong to this canvas and stay separate from drawing undo. */
.ge-chat-navigation { padding: 10px 16px; border-bottom: 1px solid var(--line); display: grid; gap: 8px; }
.ge-chat-navigation > div { display: flex; gap: 8px; flex-wrap: wrap; }
.ge-chat-title { font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ge-chat-history-list { max-height: 60vh; overflow-y: auto; }
.ge-chat-history-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.ge-chat-history-row > div { min-width: 0; display: grid; gap: 5px; }
.ge-chat-history-row .ge-btn:not(.ge-icon-btn) { text-align: left; white-space: normal; }
.ge-chat-history-row small { color: var(--muted); }
.ge-relation-row { display:flex; gap:10px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--line); }
.ge-relation-row input { flex:0 0 auto; width:18px; height:18px; margin-top:3px; accent-color:var(--accent); }
.ge-relation-row > span { min-width:0; overflow-wrap:anywhere; }
.ge-relation-row strong, .ge-relation-row small { display:block; }
.ge-relation-row small { color:var(--muted); margin-top:4px; }
.ge-sidebar-tabs { flex-wrap:wrap; }

.ge-provenance{margin:0;padding:10px 20px;background:#fff6df;color:#705828;font-size:13px}
