/* Mind-map UI. Shared with the self-contained HTML export. */
.mindmap-page,.explorer[data-family=mindmap],.portable:has([data-family=mindmap]) {
  --map-ink:#201d2c;--map-muted:#716b7c;--map-line:#e7e3ed;--map-soft:#f4f0fa;--map-focus:#5935d5;
  color:var(--map-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;
}
.mindmap-page {background:#f7f8fa}
.mindmap-page main {max-width:none}
.mindmap-page .topbar {height:60px;padding:0 32px;border-bottom:1px solid var(--map-line);background:#fff;position:relative}
.mindmap-page .topbar img {width:140px;height:34px}
.mindmap-page .topbar nav {gap:24px}
.mindmap-page .topbar nav a {color:var(--map-muted);font-size:13px;font-weight:500}
.mindmap-page .topbar nav a:hover {color:var(--map-ink)}
.mindmap-page :is(button,input,textarea,select,a,summary):focus-visible,
.explorer[data-family=mindmap] :is(button,input,textarea,select):focus-visible {outline:2px solid var(--map-focus);outline-offset:3px}
.mindmap-page .button {min-height:44px;border-radius:9px;font-size:13px;font-weight:550;box-shadow:none;white-space:nowrap}
.mindmap-page .button.primary,.mindmap-save {background:var(--map-ink);border:1px solid var(--map-ink);color:#fff}
.mindmap-page .button.secondary {background:#fff;border-color:#d6dde3;color:var(--map-ink)}
.mindmap-page .button:hover {filter:none;background:#eef2f5}
.mindmap-page .button.primary:hover,.mindmap-save:hover:not(:disabled) {background:#3a5061}
.mindmap-page .eyebrow {font:550 12px/1.5 system-ui;letter-spacing:.02em;color:var(--map-muted)}

/* Begin with the input; the example supports it below. */
.map-create main {display:flex;flex-direction:column;align-items:center;padding:52px 28px 40px;gap:24px}
.map-intro {width:min(760px,100%);display:flex;align-items:end;justify-content:space-between;gap:32px}
.map-intro .eyebrow {margin-bottom:10px}
.map-intro h1 {margin:0;font-size:38px;line-height:1.15;letter-spacing:-1.4px;font-weight:580}
.map-intro>p {margin:0 0 2px;font-size:14px;line-height:1.65;color:var(--map-muted);max-width:27ch}
.map-composer {width:min(760px,100%);padding:0;margin:0}
.map-composer .source-form {width:100%;max-width:none;margin:0;border:1px solid #d7dfe6;border-radius:16px;padding:22px 24px 8px;background:#fff;box-shadow:0 4px 18px #23384905}
.map-composer .source-form>label {font-size:13px;font-weight:550;margin:0 0 8px;color:#536572}
.map-composer .source-form textarea {min-height:82px;max-height:260px;font-size:18px;line-height:1.6;padding:0;border:0;border-radius:4px;box-shadow:none;background:#fff;color:var(--map-ink);resize:vertical}
.map-composer .source-form textarea::placeholder {color:#8a969f}
.map-composer .input-footer {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0 16px}
.concept-hint {font-size:12px;color:var(--map-muted)}
.map-composer .button.primary {gap:20px;padding:11px 18px}
.map-composer .input-options {margin:0;border-top:1px solid var(--map-line);font-size:13px}
.map-composer .input-options summary {min-height:44px;display:flex;align-items:center;font-size:12px;font-weight:450;color:var(--map-muted)}
.map-composer .input-options p {font-size:12px;line-height:1.6;color:var(--map-muted)}
.map-examples {display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}
.map-examples>span {font-size:12px;color:var(--map-muted);margin-right:4px}
.map-examples button {font-size:12px;border:1px solid transparent;background:transparent;border-radius:7px;min-height:44px;padding:8px 10px;color:#716b7c;cursor:pointer}
.map-examples button:hover {background:#eaf0f5;border-color:#dbe4eb}

/* The vector stage and its quiet fixed-size controls. */
.explorer[data-family=mindmap] {position:relative;background:#fff;color:var(--map-ink);border:1px solid var(--map-line);border-radius:14px;box-shadow:0 2px 8px #23384903;overflow:hidden;padding:0 0 76px}
.explorer[data-family=mindmap] .explorer-head {min-height:58px;padding:10px 20px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #eef1f4;pointer-events:auto}
.explorer[data-family=mindmap] .explorer-kicker {font:500 12px/1.5 system-ui;letter-spacing:0;color:var(--map-muted)}
.explorer[data-family=mindmap] .explorer-hint {font:400 12px/1.5 system-ui;letter-spacing:0;color:var(--map-muted)}
.explorer[data-family=mindmap] .explorer-body {min-width:0;background:#fff}
.explorer[data-family=mindmap] .graph-scroll {height:440px;min-height:0;max-height:none;background:none;overflow:hidden}
.explorer[data-family=mindmap] .scene-svg {outline-color:var(--map-focus)}
.vector-art .mindmap-node text {fill:inherit;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;letter-spacing:-.15px;pointer-events:none}
.mindmap-node,.mindmap-toggle {cursor:pointer;outline:none}
.mindmap-node-surface {stroke:transparent;stroke-width:1.8;transition:stroke .12s}
.mindmap-node:hover .mindmap-node-surface {stroke:#9db3c5}
.mindmap-node[aria-pressed=true] .mindmap-node-surface,.mindmap-node:focus-visible .mindmap-node-surface {stroke:var(--map-focus);stroke-width:2}
.mindmap-node[data-depth="0"][aria-pressed=true] .mindmap-node-surface {stroke:#3c1d70;stroke-width:3}
.mindmap-toggle:hover circle,.mindmap-toggle:focus-visible circle {stroke:#315b7d;stroke-width:2}
.explorer[data-family=mindmap] .camera-dock {background:#fff;border-color:#e7e3ed;border-radius:10px;box-shadow:0 3px 12px #1c34430a;bottom:18px}
.explorer[data-family=mindmap] .camera-control path {stroke:#716b7c}
.explorer[data-family=mindmap] .camera-control:hover rect {fill:#f4f0fa}
.explorer[data-family=mindmap] .camera-control:focus-visible rect {stroke:var(--map-focus);stroke-width:2}
.explorer[data-family=mindmap] .camera-readout {fill:#716b7c;font:500 12px system-ui}
.explorer[data-family=mindmap] .explorer-footnote {position:absolute;bottom:32px;left:20px;padding:0!important;max-width:calc(50% - 160px);font:400 11px/1.5 system-ui;color:var(--map-muted)}
.explorer[data-family=mindmap] .explorer-warnings {background:#fff8e9;color:#79592e;padding:12px 20px!important;margin:8px 16px!important;border-radius:8px;font-size:13px}

/* Project chrome occupies one row; controls keep their native readable size. */
.map-editor main {position:relative}
.map-editor .project-heading {padding:16px 28px;min-height:76px;display:flex;flex-direction:row;align-items:center;gap:16px}
.map-editor .project-heading .eyebrow,.map-editor .visual-subtitle {display:none}
.map-editor .project-heading h1 {margin:0;font-size:20px;line-height:1.4;letter-spacing:-.4px;font-weight:550;max-width:calc(100vw - 560px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-editor .panel-tabs {display:flex;position:absolute;top:16px;right:174px;gap:2px;padding:0;background:transparent;z-index:4}
.map-editor .panel-tabs button {min-height:44px;padding:9px 13px;font-size:13px;font-weight:450;border:0;border-radius:8px;background:transparent;color:var(--map-muted)}
.map-editor .panel-tabs button:hover,.map-editor .panel-tabs button[aria-expanded=true] {color:var(--map-ink);background:#e9eef3}
.map-editor .workspace {display:block;position:relative;border:0;min-height:0;padding:0 20px 20px}
.map-editor .canvas-panel {padding:0}
.map-editor .explorer[data-family=mindmap] .graph-scroll {height:max(224px,calc(100svh - var(--map-stage-offset,288px)))}
.map-editor .workspace .panel-open {position:absolute;top:0;left:20px;width:360px;max-height:calc(100svh - 180px);overflow:auto;border:1px solid var(--map-line);border-radius:12px;background:#fff;z-index:6;box-shadow:0 12px 35px #263b4915;padding:24px}
.map-editor .workspace #inspect-panel.panel-open {left:auto;right:20px}
.map-editor .workspace .panel-open h2 {font-size:18px;letter-spacing:-.3px}
.map-editor .workspace .panel-open :is(input,select,textarea) {font-size:14px;border-color:#d3dce4;border-radius:8px;background:#fff}
.map-editor .making-visual {margin:0;background:#fff;border-color:var(--map-line)}
.map-edit-tools {display:flex;align-items:center;gap:4px;pointer-events:auto}
.explorer[data-family=mindmap] .map-history {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:#716b7c;font:500 12px system-ui}
.map-history svg {width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.explorer[data-family=mindmap] .map-history:hover:not(:disabled) {background:#f4f0fa}
.explorer[data-family=mindmap] .map-history:disabled {opacity:.35;cursor:default}
.map-save-status {padding-left:16px;margin-left:8px;border-left:1px solid var(--map-line);font:400 12px/1.4 system-ui;color:var(--map-muted);min-width:136px}

/* A stable inspector, with one heading and one editable title. */
.explorer[data-family=mindmap] .visual-detail {background:#fff;color:var(--map-ink);border:1px solid #e7e3ed;border-radius:12px;box-shadow:0 8px 30px #24374812;top:66px;right:16px;width:316px;max-width:calc(100% - 32px);max-height:calc(100% - 90px);padding:0 20px 20px;overflow:auto;overscroll-behavior:contain}
.explorer[data-family=mindmap] .detail-header {display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;margin:0 -20px;padding:6px 12px 7px 20px;z-index:2;background:#fff;border-bottom:1px solid var(--map-line)}
.explorer[data-family=mindmap] .detail-header h3 {margin:0;padding:0;font-size:15px;line-height:1.4;letter-spacing:-.15px;font-weight:600;color:var(--map-ink)}
.explorer[data-family=mindmap] .detail-close {position:static;flex:0 0 44px;width:44px;height:44px;min-height:44px;border:0;border-radius:7px;background:#fff;color:var(--map-muted);font:400 24px/1 system-ui!important}
.explorer[data-family=mindmap] .detail-close:hover {background:#f4f0fa}
.explorer[data-family=mindmap] .detail-close:focus-visible {outline-color:var(--map-focus)!important}
.explorer[data-family=mindmap] .detail-main {padding-top:16px}
.explorer[data-family=mindmap] .detail-eyebrow {font:400 12px/1.5 system-ui;letter-spacing:0;text-transform:none;color:var(--map-muted)}
.explorer[data-family=mindmap] .visual-detail p {color:var(--map-muted);font-size:13px;line-height:1.6}
.explorer[data-family=mindmap] .mindmap-rename {display:grid;gap:18px;margin:20px 0 0;padding:0;border:0}
.explorer[data-family=mindmap] .mindmap-rename label,.map-move-form label {display:grid;gap:8px;margin:0;font:500 13px/1.4 system-ui;color:#655675}
.explorer[data-family=mindmap] :is(.mindmap-rename input,.mindmap-rename textarea,.map-move-form select) {width:100%;min-height:44px;margin:0;border:1px solid #dcd5e6;border-radius:8px;padding:11px 12px;background:#fff;color:var(--map-ink);font:400 15px/1.5 system-ui;box-shadow:0 1px 2px #22374503}
.explorer[data-family=mindmap] .mindmap-rename input {font-weight:500}
.explorer[data-family=mindmap] .mindmap-rename textarea {min-height:88px;resize:vertical}
.explorer[data-family=mindmap] .mindmap-rename textarea::placeholder {font-size:14px;color:#87949e}
.map-form-actions {display:flex;gap:8px}
.explorer[data-family=mindmap] .mindmap-save {flex:1;min-height:44px;border-radius:8px;font:550 13px system-ui;padding:10px 16px;cursor:pointer}
.explorer[data-family=mindmap] .mindmap-save:disabled {opacity:1;background:#edf1f4;border-color:#edf1f4;color:#8a99a5;cursor:default}
.map-add-actions {display:flex;gap:8px;padding-top:20px;margin-top:20px;border-top:1px solid var(--map-line)}
.map-add-actions button {flex:1;white-space:nowrap}
.explorer[data-family=mindmap] .map-text-button,.explorer[data-family=mindmap] .map-delete {min-height:44px;border:1px solid #d7e0e7;border-radius:8px;background:#fff;color:#4f6778;padding:10px;font:500 12px/1.4 system-ui;cursor:pointer}
.explorer[data-family=mindmap] .map-text-button:hover:not(:disabled) {background:#f1f5f8}
.explorer[data-family=mindmap] .map-text-button:disabled {opacity:1;background:#f1edf5;border-color:#eee9f3;color:#81758e;cursor:default}
.map-branch-tools {margin-top:14px}
.map-branch-tools summary {display:flex;align-items:center;gap:8px;min-height:44px;font:450 12px system-ui;color:var(--map-muted);cursor:pointer}
.map-branch-tools summary:after {content:'⌄';margin-left:auto;font-size:16px}
.map-branch-tools[open] summary:after {transform:rotate(180deg)}
.map-move-form {display:grid;gap:10px;margin:4px 0 16px;min-width:0}
.map-select-field {display:block;position:relative;min-width:0}
.map-select-field::after {content:'';position:absolute;right:16px;top:50%;width:7px;height:7px;border-right:1.5px solid #71607f;border-bottom:1.5px solid #71607f;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.explorer[data-family=mindmap] .map-move-form select {appearance:none;-webkit-appearance:none;display:block;max-width:100%;padding-right:38px;text-overflow:ellipsis;cursor:pointer;transition:border-color .16s,background .16s}
.explorer[data-family=mindmap] .map-move-form select:hover {border-color:#b9a6d1;background:#fcfaff}
.explorer[data-family=mindmap] .map-move-form select:focus-visible {outline:2px solid var(--map-focus);outline-offset:2px;border-color:#baa8d6}
.explorer[data-family=mindmap] .map-delete {width:100%;color:#a14444;border-color:#ebd8d8;background:#fffafa}
.explorer[data-family=mindmap] .map-delete:hover {background:#fbeded}
.explorer[data-family=mindmap] .map-small-note {font-size:12px!important;line-height:1.5!important;margin:8px 0 0;color:var(--map-muted)!important}
.explorer[data-family=mindmap] .detail-provenance {font:400 11px/1.5 system-ui;color:var(--map-muted);margin:22px 0 0}
.explorer[data-family=mindmap] .explorer-warning {background:#fff4f0;border-radius:8px;padding:12px;font-size:13px;line-height:1.5}

/* AI comparison retains a reserved review column. Manual edits stay by the idea. */
@media(min-width:1000px) {
 .map-editor .mindmap-explorer:has(.visual-detail.ai-review:not([hidden])) {display:grid;grid-template-columns:minmax(0,1fr) 316px;grid-template-rows:42px minmax(0,1fr);padding-bottom:76px}
 .map-editor .mindmap-explorer:has(.visual-detail.ai-review:not([hidden])) .explorer-head {grid-column:1;grid-row:1}
 .map-editor .mindmap-explorer:has(.visual-detail.ai-review:not([hidden])) .explorer-body {grid-column:1;grid-row:2}
 .map-editor .mindmap-explorer:has(.visual-detail.ai-review:not([hidden])) .visual-detail {grid-column:2;grid-row:1/3;align-self:stretch;position:relative;inset:auto;width:316px;max-width:none;max-height:calc(100svh - 164px);margin-bottom:-76px;border:0;border-left:1px solid var(--map-line);border-radius:0;box-shadow:none}
 .map-editor .mindmap-explorer:has(.visual-detail.ai-review:not([hidden])) .camera-dock {left:calc((100% - 316px)/2)}
 .map-editor .mindmap-explorer:has(.visual-detail.ai-review:not([hidden])) .explorer-footnote {max-width:calc((100% - 316px)/2 - 150px)}
}

/* Export: one preview, aligned format choices and concise descriptions. */
.map-export .share-page {max-width:1160px;margin:auto;padding:40px 28px}
.map-export .share-page>.eyebrow {margin-bottom:10px}
.map-export .share-page>h1 {font-size:32px;line-height:1.2;letter-spacing:-1px;margin-bottom:12px;color:var(--map-ink);font-weight:550}
.map-export .share-page>p {font-size:14px;color:var(--map-muted);margin-bottom:28px}
.map-export .explorer[data-family=mindmap] .graph-scroll {height:390px}
.map-export .share-options {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.map-export .share-options>div,.map-export .share-options>details {position:relative;display:flex;flex-direction:column;padding:24px;border:1px solid var(--map-line);border-radius:12px;background:#fff}
.map-export .share-options h2 {font-size:17px;font-weight:550;letter-spacing:-.2px;margin:4px 0 10px;color:var(--map-ink)}
.map-export .share-options p {font-size:13px;line-height:1.7;color:var(--map-muted);margin-bottom:22px;max-width:48ch}
.map-export .share-options form {margin-top:auto}
.map-export .share-options>details {grid-column:1/-1;display:block}
.map-export .share-options summary {display:flex;align-items:center;min-height:44px;font-size:13px;color:var(--map-muted)}
.map-export .share-options details form {margin-top:16px}
.format-mark {position:absolute;top:24px;right:24px;color:#788b99;font:500 11px/1.4 system-ui;letter-spacing:.05em;border:1px solid #dce4eb;border-radius:5px;padding:5px 7px}
.portable:has([data-family=mindmap]) {background:#f7f8fa}

@media(max-width:999px) {
 .map-editor .project-heading h1 {max-width:calc(100vw - 215px)}
 .map-editor .panel-tabs {position:static;padding:0 16px 12px}
 .map-editor .workspace .panel-open {position:relative;inset:auto;width:auto;max-height:65vh;margin-bottom:12px}
}
@media(max-width:600px) {
 .mindmap-page .topbar {height:56px;padding:0 18px}
 .mindmap-page .topbar img {width:126px}
 .mindmap-page .topbar nav a {font-size:12px}
 .map-create main {padding:30px 16px 24px;gap:22px}
 .map-intro {display:block}
 .map-intro h1 {font-size:32px;letter-spacing:-1.1px}
 .map-intro>p {font-size:14px;margin:12px 0 0;max-width:none}
 .map-intro>p br {display:none}
 .map-composer .source-form {padding:18px 18px 6px;border-radius:12px}
 .map-composer .source-form textarea {font-size:16px;min-height:98px}
 .concept-hint {display:none}
 .map-composer .input-footer {justify-content:flex-end;padding:8px 0 12px}
 .map-composer .button.primary {width:100%;justify-content:space-between}
 .map-examples {gap:2px;margin-top:8px}
 .map-examples>span {width:100%;margin:0}
 .map-examples button {padding:8px;font-size:11px}
 .explorer[data-family=mindmap] {border-radius:12px;padding-bottom:94px}
 .explorer[data-family=mindmap] .explorer-head {min-height:54px;padding:7px 14px;gap:8px}
 .explorer[data-family=mindmap] .explorer-kicker,.explorer[data-family=mindmap] .explorer-hint {font-size:11px}
 .explorer[data-family=mindmap] .graph-scroll {height:330px}
 .explorer[data-family=mindmap] .explorer-footnote {position:absolute;left:14px;right:14px;bottom:76px;max-width:none;font-size:10px}
 .explorer[data-family=mindmap] .camera-dock {bottom:14px}
 .map-editor .project-heading {padding:14px 16px 10px;min-height:68px;gap:14px}
 .map-editor .project-heading h1 {font-size:17px;max-width:calc(100vw - 175px);line-height:1.4}
 .map-editor .project-heading .button {font-size:12px;padding:9px 12px}
 .map-editor .panel-tabs {padding:0 10px 6px}
 .map-editor .panel-tabs button {font-size:12px;min-height:44px}
 .map-editor .workspace {padding:0 10px 14px}
 .map-editor .explorer-kicker {display:none}
 .map-editor .map-edit-tools {width:100%;gap:2px}
 .explorer[data-family=mindmap] .map-history {padding:8px;font-size:12px;min-height:44px}
 .map-editor .map-save-status {margin-left:auto;min-width:0;padding-left:8px;font-size:11px;border:0;white-space:nowrap}
 .map-editor {--map-stage-offset:330px}
 .map-editor .mindmap-explorer:has(.visual-detail:not([hidden])) {isolation:auto}
 .map-editor .mindmap-explorer .visual-detail {position:fixed;top:auto;bottom:12px;left:12px;right:12px;width:auto;max-width:none;max-height:52dvh;border:1px solid #e4ddeb;border-radius:16px;box-shadow:0 -6px 30px #24374817;padding:0 18px 18px;z-index:9}
 .explorer[data-family=mindmap] .detail-header {margin:0 -18px;padding:8px 10px 8px 18px}
 .explorer[data-family=mindmap] .detail-close {min-height:44px;width:44px;flex-basis:44px}
 .explorer[data-family=mindmap] .mindmap-rename {margin-top:16px;gap:14px}
 .explorer[data-family=mindmap] .mindmap-rename textarea {min-height:76px}
 .map-add-actions {margin-top:16px;padding-top:16px}
 .map-export .share-page {padding:28px 16px}
 .map-export .share-page>h1 {font-size:28px}
 .map-export .share-options {grid-template-columns:1fr;gap:12px}
 .map-export .share-options>div,.map-export .share-options>details {padding:20px}
 .map-export .explorer[data-family=mindmap] .graph-scroll {height:350px}
}
@media(prefers-reduced-motion:reduce) {.mindmap-node-surface {transition:none}}

/* Supporting screens use the same type, surfaces and control language. */
.map-utility .list-page{max-width:960px;margin:auto;padding:44px 28px}
.map-utility .list-page h1{font-size:30px;line-height:1.25;letter-spacing:-.8px;color:var(--map-ink);margin-bottom:28px}
.map-utility .list-page>p{font-size:14px;color:var(--map-muted);line-height:1.7}
.map-utility .project-list{background:#fff;border:1px solid var(--map-line);border-radius:12px;overflow:hidden}
.map-utility .project-row{gap:24px;padding:20px 24px;border-bottom:1px solid var(--map-line);color:var(--map-ink)}
.map-utility .project-row:last-child{border:0}
.map-utility .project-row:hover{background:#f1f5f8}
.map-utility .project-row strong{font-size:15px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}
.map-utility .project-row small{font:400 12px/1.6 system-ui;color:var(--map-muted);letter-spacing:0;margin-top:3px}
.map-utility .project-row>span:last-child{white-space:nowrap;text-align:right}
.map-utility .empty{padding:28px;background:#fff;border:1px solid var(--map-line);border-radius:12px}
.map-utility .empty h2{font-size:18px;letter-spacing:-.2px}
.map-utility .empty p{font-size:14px;color:var(--map-muted)}
.map-utility :is(input,select,textarea){border-color:#cdd9e2;background:#fff;font-size:15px;border-radius:8px}
.map-utility form{margin:24px 0}
.map-utility form .button{margin-top:16px}
.map-composer .source-form textarea:focus-visible{outline:2px solid var(--map-focus);outline-offset:5px;box-shadow:none}
@media(max-width:600px){.map-utility .list-page{padding:30px 18px}.map-utility .list-page h1{font-size:26px}.map-utility .project-row{padding:16px;gap:12px;align-items:flex-start}.map-utility .project-row>span:last-child{white-space:normal;max-width:95px;flex-shrink:0}.map-utility .project-row strong{font-size:14px}.map-utility .project-row small{font-size:11px}}

/* One quiet waiting state; live job stages belong to the worker, not the page. */
.generation-state {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100svh - 160px);padding:64px 24px;border:1px solid #e4e8ec;border-radius:14px;background:#fff;color:#263642;text-align:center}
.generation-mark {width:200px;height:112px;margin-bottom:22px;flex:none}
.generation-copy h2 {font:550 25px/1.3 ui-sans-serif,system-ui,sans-serif;letter-spacing:-.7px;margin:0 0 12px}
.generation-copy p {font:400 14px/1.7 ui-sans-serif,system-ui,sans-serif;color:#65737d;max-width:44ch;margin:0}
.generation-note {font:400 12px/1.5 ui-sans-serif,system-ui,sans-serif;color:#77838d;margin:28px 0 0}
.generation-actions {margin:12px 0 0}
.generation-cancel {min-height:44px;padding:10px 18px;background:transparent;border:0;border-radius:8px;color:#65737d;font:500 13px/1.5 ui-sans-serif,system-ui,sans-serif;cursor:pointer}
.generation-cancel:hover {background:#f2f5f7;color:#263642}
.generation-recovery {font:400 13px/1.6 ui-sans-serif,system-ui,sans-serif;margin:24px 0 0;color:#65737d}
.generation-recovery p {margin:0 0 8px}
.generation-recovery a,.generation-source {display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#3e617b;text-underline-offset:4px;font:500 13px/1.5 ui-sans-serif,system-ui,sans-serif}
.generation-source {margin-top:20px}
.generation-state [hidden] {display:none!important}
/* Branches grow outward; leaves settle in after their connection arrives. */
.generation-mark>rect {transform-box:fill-box;transform-origin:center;animation:generation-root 3.2s ease-in-out infinite}
.generation-branches path {stroke-dasharray:1;animation:generation-branch 3.2s ease-in-out infinite both}
.generation-leaves rect {transform-box:fill-box;transform-origin:center;animation:generation-leaf 3.2s ease-in-out infinite both}
.generation-branches path:nth-child(2),.generation-leaves rect:nth-child(2) {animation-delay:.3s}
.generation-branches path:nth-child(3),.generation-leaves rect:nth-child(3) {animation-delay:.6s}
.generation-branches path:nth-child(4),.generation-leaves rect:nth-child(4) {animation-delay:.9s}
@keyframes generation-root {0%,100% {transform:scale(1)} 20% {transform:scale(1.08)} 45% {transform:scale(1)}}
@keyframes generation-branch {0% {stroke-dashoffset:1;opacity:.25} 35%,75% {stroke-dashoffset:0;opacity:1} 100% {stroke-dashoffset:0;opacity:.15}}
@keyframes generation-leaf {0%,18% {transform:scale(.65);opacity:.2} 40%,75% {transform:scale(1);opacity:1} 100% {transform:scale(.85);opacity:.2}}
.generation-state--compact {min-height:0;margin:0 20px 16px;padding:24px;gap:0}
.generation-state--compact .generation-mark {width:120px;height:68px;margin-bottom:12px}
.generation-state--compact h2 {font-size:20px}
.map-editor:not(:has([data-explorer])) .project-heading h1 {max-width:calc(100vw - 160px)}
.map-editor:not(:has([data-explorer])) .panel-tabs {right:28px}
@media(max-width:600px) {
 .generation-state {min-height:calc(100svh - 210px);padding:40px 20px}
 .generation-copy h2 {font-size:23px}
 .generation-copy p {max-width:28ch}
 .generation-mark {width:180px;height:100px}
 .generation-state--compact {min-height:0;margin-inline:10px}
 .map-editor:not(:has([data-explorer])) .project-heading h1 {max-width:calc(100vw - 32px)}
 .map-editor:not(:has([data-explorer])) .panel-tabs {right:auto}
}
@media(prefers-reduced-motion:reduce) {.generation-mark>rect,.generation-branches path,.generation-leaves rect {animation:none}}
html:not(.js-panels) [data-auto-update] {display:none}

/* AI expansion: one action, an additive canvas preview, one review surface. */
.ai-sparkle{width:22px;height:22px;flex:none;fill:currentColor}
.map-ai-action{margin:18px 0 0}
.explorer[data-family=mindmap] .map-ai-expand{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:10px 16px;background:#5935d5;border:1px solid #5935d5;border-radius:10px;color:#fff;font:600 14px/1.4 system-ui;cursor:pointer;transition:background .16s,transform .16s}
.explorer[data-family=mindmap] .map-ai-expand:hover{background:#4524b2;transform:translateY(-1px)}
.explorer[data-family=mindmap] .map-ai-expand:disabled{background:#f0edf5;color:#80788d;border-color:#e4ddeb;cursor:default;transform:none}
.ai-action-hint{display:block;text-align:center;color:#716b7c;font:400 11px/1.5 system-ui;margin:8px 0 0}
.map-ai-action+.map-add-actions{margin-top:16px;padding-top:16px}
.explorer[data-family=mindmap] .visual-detail.ai-review{padding:24px;display:flex;flex-flow:column nowrap;align-items:stretch;gap:0;overflow:hidden}
.ai-eyebrow{display:flex;align-items:center;gap:9px;color:#5935d5;font:650 10px/1.4 system-ui;letter-spacing:1.1px;margin-bottom:18px}
.explorer[data-family=mindmap] .ai-title{color:#201d2c;font:600 25px/1.2 system-ui;letter-spacing:-.7px;margin:0 0 10px}
.ai-context{font:400 12px/1.55 system-ui;color:#716b7c;margin:0;overflow-wrap:anywhere}
.ai-context strong{font-weight:550;color:#443c54}
.ai-description{font:400 13px/1.65 system-ui;color:#716b7c;margin:14px 0 0}
.ai-group-label{font:600 11px/1.4 system-ui;color:#716b7c;margin:22px 0 8px}
.ai-suggestion{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:13px 0;border-bottom:1px solid #eee9f4;cursor:pointer}
.explorer[data-family=mindmap] .ai-suggestion input{appearance:auto;accent-color:#5935d5;width:18px;min-width:18px;height:18px;min-height:18px;padding:0;margin:2px 0 0;border-radius:4px}
.ai-suggestion>span{min-width:0}.ai-suggestion strong{display:block;color:#201d2c;font:550 14px/1.45 system-ui;overflow-wrap:anywhere}
.ai-suggestion small{display:block;color:#716b7c;font:400 12px/1.6 system-ui;margin-top:4px;overflow-wrap:anywhere}
.ai-suggestion.ai-excluded strong{color:#82798d;text-decoration:line-through}
.ai-review-actions{position:static;background:#fff;margin:16px 0 0;padding:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.explorer[data-family=mindmap] .ai-review-actions button{min-height:44px;border-radius:10px;padding:11px 16px;font:550 13px/1.4 system-ui;cursor:pointer}
.explorer[data-family=mindmap] .ai-keep{background:#5935d5;color:#fff;border:1px solid #5935d5;flex:1}
.explorer[data-family=mindmap] .ai-keep:hover{background:#4524b2}
.explorer[data-family=mindmap] .ai-keep:disabled{background:#ede8f5;border-color:#ede8f5;color:#82798d;cursor:default}
.explorer[data-family=mindmap] .ai-dismiss{background:#f4f0fa;border:1px solid #dcd5e6;color:#443a57}
.explorer[data-family=mindmap] .ai-dismiss:hover{background:#f4effb;color:#5935d5}
.ai-working{display:flex;align-items:center;gap:10px;margin:30px 0 4px;font:500 13px/1.5 system-ui;color:#5935d5}
.ai-pulse{width:8px;height:8px;border-radius:50%;background:#7952e4;box-shadow:0 0 0 5px #f1ebfc;animation:ai-breathe 1.8s ease-in-out infinite}
.ai-error{font:400 13px/1.65 system-ui;color:#963d37;border-left:2px solid #d89791;padding-left:12px;margin:20px 0 0}
.ai-proposed-node .mindmap-node-surface{fill:#f5f0ff!important;stroke:#8660df!important;stroke-width:1.7!important;stroke-dasharray:5 4}
.ai-proposed-node text{fill:#51328b!important}
.ai-proposed-node.ai-excluded{opacity:.38}
.ai-node-toggle circle{fill:#fff;stroke:#997acb;stroke-width:1.2}
.ai-node-toggle path{fill:none;stroke:#66439d;stroke-width:1.5;stroke-linecap:round}
.ai-node-toggle{cursor:pointer}.ai-node-toggle:hover circle,.ai-node-toggle:focus circle{fill:#e8dcff;stroke:#5935d5;stroke-width:2}
.ai-node-toggle:focus{outline:none}
@keyframes ai-breathe{50%{opacity:.45;box-shadow:0 0 0 8px #f1ebfc}}

@media(max-width:600px){
 .explorer[data-family=mindmap] .visual-detail.ai-review{padding:20px;max-height:60dvh}
 .ai-eyebrow{margin-bottom:12px}.explorer[data-family=mindmap] .ai-title{font-size:23px}
 .ai-group-label{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){.ai-pulse{animation:none}.explorer[data-family=mindmap] .map-ai-expand{transition:none}}

.ai-review>*{flex-shrink:0}
.ai-review .ai-review-content{flex:0 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.ai-review .ai-title:focus{outline:none}
@media(max-width:600px){
 .map-editor .mindmap-explorer.has-ai-preview .graph-scroll{height:max(150px,calc(51dvh - 246px))}
 .map-editor .mindmap-explorer.has-ai-preview .camera-dock,.map-editor .mindmap-explorer.has-ai-preview .explorer-footnote{display:none}
}

/* A single map workspace: quiet status above, related view/history controls below. */
.map-editor .mindmap-explorer .explorer-head {min-height:42px;padding:8px 20px;border-bottom:0}
.map-editor .mindmap-explorer .map-save-status {border:0;padding:0;margin:0;min-width:0;font-size:11px}
.map-editor .mindmap-explorer .explorer-kicker {font-size:11px;font-weight:400}
.map-canvas-controls {position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;padding:3px;background:#fff;border:1px solid #e7e3ed;border-radius:12px;box-shadow:0 4px 18px #30204d0a;z-index:2}
.explorer[data-family=mindmap] .map-canvas-controls .camera-dock {position:static;transform:none;border:0;box-shadow:none;border-radius:8px;width:236px;height:48px}
.map-canvas-controls .map-edit-tools {padding-right:4px;margin-right:4px;border-right:1px solid var(--map-line)}
.map-editor .mindmap-explorer .map-canvas-controls .map-history {width:44px;height:44px;padding:0;font-size:0;gap:0}
.map-editor .mindmap-explorer .map-canvas-controls .map-history svg {width:18px;height:18px}
@media(min-width:600px){
 .map-editor .mindmap-explorer .visual-detail:not(.ai-review) {width:316px;max-height:calc(100% - 128px);border-radius:14px;box-shadow:0 12px 40px #30204d18,0 2px 8px #30204d08}
}
@media(max-width:599px){
 .map-editor .mindmap-explorer .explorer-head {min-height:42px;justify-content:flex-end;padding:8px 16px}
 .map-canvas-controls {display:contents}
 .map-canvas-controls .map-edit-tools {position:absolute;top:0;left:12px;width:auto;gap:0;padding:0;margin:0;border:0;z-index:2}
 .map-editor .mindmap-explorer .map-canvas-controls .camera-dock {position:absolute;bottom:14px;left:50%;transform:translateX(-50%);width:236px;height:48px;border:1px solid #e7e3ed;box-shadow:0 3px 12px #1c34430a}
 .map-editor .mindmap-explorer .map-canvas-controls .map-history {width:44px;flex:none}
 .map-editor .mindmap-explorer.has-ai-preview .map-canvas-controls {display:none}
}

/* Manual editing starts with the selected title; branch actions retain their icons. */
.map-editor .visual-detail:not(.ai-review) .mindmap-rename:not(.map-create-idea) {grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:16px}
.map-editor .visual-detail .mindmap-rename:not(.map-create-idea)>label {grid-column:1/-1}
.map-editor .visual-detail .mindmap-rename:not(.map-create-idea) .map-form-actions {align-self:start}
.map-editor .visual-detail .mindmap-rename:not(.map-create-idea) .mindmap-save {padding-inline:12px}
.map-editor .visual-detail .mindmap-rename:not(.map-create-idea) .map-optional-note[open] {grid-column:1/-1}
.map-editor .visual-detail .mindmap-rename:not(.map-create-idea) .map-optional-note[open]+.map-form-actions {grid-column:1/-1}
.map-editor .visual-detail .ai-action-hint[hidden] {display:none}
.map-editor .visual-detail .map-ai-action {margin-top:12px}
.map-editor .visual-detail:not(.ai-review) .detail-provenance {margin-top:8px;padding-top:8px}

@media(min-width:1000px){.map-editor .mindmap-explorer:has(.visual-detail.ai-review:not([hidden])) .map-canvas-controls {left:calc((100% - 316px)/2)}}

@media(min-width:601px) and (max-width:760px){
 .map-editor {--map-stage-offset:318px}
}
