/* Editable mind-map nodes and connectors share the site's cream/brown palette. */
.project-board{--project-ink:#50321e;--project-muted:#80613d;--project-line:#d9c49c;margin-top:32px;padding:24px;background:#fff5db;border:3px solid #a87536;box-shadow:5px 5px 0 #684516;color:var(--project-ink)}
.project-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.project-heading>div{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.project-heading h2{font-size:23px;line-height:1.4;margin:0}.project-heading h2:focus{outline:none}#project-count,.project-focus-note,.project-bottom{font-size:13px;color:var(--project-muted)}.project-focus-note{margin:8px 0 20px;max-width:65ch}
.project-board button{min-height:44px;font-size:14px;border:1px solid #b18a55;background:#f9edcf;color:var(--project-ink);box-shadow:none}.project-board button:hover{background:#f0ddb3}.project-board button:disabled{opacity:.4;cursor:default}.project-board .project-primary{background:#966336;color:#fff8ec;border-color:#68421f;font-weight:650}.project-board .project-primary:hover{background:#aa7544}.project-board input,.project-board textarea,.project-board select{border-radius:0;color:var(--project-ink);font-size:15px;line-height:1.6;min-width:0}.project-board :is(button,input,textarea,select):focus-visible{outline:3px solid #347baa;outline-offset:3px}.project-board :is(input,textarea)::placeholder{color:#8b7051;opacity:1}
.project-create{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,1.3fr) minmax(0,1.3fr);gap:16px;padding:20px 0 24px;border-top:1px solid var(--project-line);border-bottom:1px solid var(--project-line);margin-bottom:24px}.project-create label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:650}.project-create :is(input,textarea){background:#fffaf0;border:1px solid #bd9b63;padding:10px 12px;width:100%;font-weight:400;resize:vertical}.project-create-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.project-create-actions span{font-size:13px;color:var(--project-muted)}
.mind-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--project-line)}.mind-toolbar>div{display:flex;align-items:center;gap:8px}.mind-toolbar button{padding:7px 12px;background:transparent;font-size:13px}.mind-toolbar .mind-zoom button:first-child,.mind-toolbar #mind-zoom-in{width:44px;padding:0;font-size:20px}#mind-scale{font-size:12px;font-variant-numeric:tabular-nums;min-width:40px;text-align:center}.mind-pan-hint{margin:0 0 14px;font-size:12px;line-height:1.7;color:var(--project-muted)}
.mind-viewport{overflow:auto;max-width:100%;min-height:320px;position:relative;background:#fff8e6;border:1px solid #e1c99c;overscroll-behavior:contain;touch-action:pan-x pan-y;cursor:grab;scrollbar-width:auto;scrollbar-color:#b99560 #f6e7c6}.mind-viewport:focus-visible{outline:3px solid #347baa;outline-offset:3px}.mind-viewport.mind-panning{cursor:grabbing;user-select:none}.mind-canvas{position:relative;min-width:100%;overflow:hidden}.mind-stage{position:relative;display:flex;align-items:center;gap:72px;padding:40px;width:max-content;transform-origin:0 0;min-height:318px;min-width:0}.mind-lines{position:absolute;inset:0;pointer-events:none;overflow:visible}.mind-lines path{fill:none;stroke-width:2.5;stroke-linecap:round;opacity:.8}
.mind-branches,.mind-children{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;position:relative;flex:none}.mind-branches{gap:44px}.mind-branch{display:flex;align-items:center;gap:64px;position:relative;flex:none}.mind-topic{position:relative;flex:none;z-index:1;background:#fff5db;border:1px solid #c8a671;color:var(--project-ink);cursor:default}.mind-root{width:164px;padding:22px 16px;text-align:center;background:#f6d485;border:2px solid #a87536;box-shadow:3px 3px 0 #b58b48}.mind-root strong{display:block;font-size:19px;line-height:1.5}.mind-root>span{display:block;font-size:12px;margin:8px 0 16px;color:#79532b}.mind-root button{background:#966336;color:#fff8ec;border-color:#68421f;width:100%;font-size:13px}
.mind-project{--branch-color:#ae7a35;--branch-tint:#f8e6bd}.mind-project:nth-child(4n+2){--branch-color:#688d82;--branch-tint:#e1ead9}.mind-project:nth-child(4n+3){--branch-color:#718da9;--branch-tint:#e5edf0}.mind-project:nth-child(4n+4){--branch-color:#a57772;--branch-tint:#f0e1d4}.mind-project-topic{width:212px;padding:16px;background:var(--branch-tint);border:2px solid var(--branch-color)}.mind-project-topic>label{display:block}.mind-project-topic .project-status{display:block;background:#fff8e6;border:1px solid #c2a77c;width:100%;min-height:40px;padding:5px 8px;font-size:13px;margin:12px 0 9px}.mind-project[data-status=blocked]>.mind-project-topic .project-status{background:#f6dcc0;color:#923f23}.mind-project[data-status=done]>.mind-project-topic .project-status{background:#ffe397;color:#684816}.mind-project[data-status=paused]>.mind-project-topic{background:#f0e7d3}.mind-project[data-status=paused]>.mind-project-topic .mind-name{color:#7f6543}.project-updated{display:block;font-size:11px;color:#80613d;margin-bottom:10px}.project-updated.project-stale{color:#9a4c2d}.mind-selected>.mind-project-topic{outline:3px solid #b58b48;outline-offset:4px}
.mind-field-topic{width:280px;padding:12px 14px 8px;border-color:var(--branch-color)}.mind-field-topic>label{display:block}.mind-caption{display:block;color:#856445;font-size:12px;font-weight:650;margin-bottom:6px}.mind-input{display:block;width:100%;min-height:28px;max-height:150px;padding:3px 4px;background:transparent;border:1px solid transparent;font:15px/1.6 system-ui,-apple-system,"Segoe UI","Noto Sans CJK SC",sans-serif;resize:none;overflow-y:auto;overflow-wrap:anywhere;cursor:text}.mind-input:hover{border-color:#d9bc87}.mind-input:focus{background:#fffaf0;border-color:#bd9b63}.mind-input.mind-name{font-size:18px;font-weight:750;line-height:1.5;max-height:90px}.mind-leaf[data-parent=nextStep]>.mind-topic{background:#ffebba;border-color:#b78a3d}.mind-leaf[data-parent=blocker]>.mind-topic{background:#faf0db}.mind-custom-topic{width:220px;padding:12px 12px 8px;border-color:var(--branch-color)}
.mind-node-actions{display:flex;align-items:center;gap:5px;justify-content:flex-end;margin-top:8px}.project-board .mind-node-actions button{min-height:32px;height:32px;min-width:32px;padding:0 7px;font-size:18px;background:transparent;border-color:#d0b180;line-height:1}.project-board .mind-node-actions .mind-record,.project-board .mind-node-actions .mind-arrange{font-size:12px;padding:0 10px}.project-board .mind-node-actions .mind-arrange{background:#966336;color:#fff8ec;border-color:#68421f;margin-left:auto}.project-board .mind-node-actions .mind-record{margin-left:auto}.project-board .mind-node-actions button:hover{background:#eddbb4}.project-board .mind-node-actions .mind-arrange:hover{background:#aa7544}.project-board .mind-node-actions .mind-remove{border-color:transparent;color:#a27654}.mind-starter>.mind-topic{border-style:dashed;padding:16px}.mind-starter button{border:0;background:transparent;font-weight:650}.project-empty{font-size:14px;color:var(--project-muted);margin:16px 0 0;line-height:1.7}
.project-inspector{margin-top:24px;padding:24px 0 0;border-top:1px solid var(--project-line)}.project-inspector-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:20px}.project-inspector-heading h3{font-size:18px;margin:0;overflow-wrap:anywhere}.project-inspector-heading button{font-size:13px;white-space:nowrap;background:transparent}.project-record-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}.project-note-form>label{display:block;font-size:14px;font-weight:650}.project-note{display:block;width:100%;margin-top:9px;min-height:110px;max-height:400px;padding:12px;background:#fffaf0;border:1px solid #bd9b63;resize:vertical;font-weight:400}.project-note-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.project-note-actions span{font-size:12px;line-height:1.6;color:var(--project-muted);max-width:44ch}.project-manage{display:flex;gap:8px;flex-wrap:wrap;padding-top:24px}.project-manage button{font-size:12px;background:transparent;border-color:#d6bf94}.project-manage [data-action=archive]{margin-left:auto;color:#965739}.project-history{min-width:0}.project-history h4{font-size:15px;margin:0 0 14px}.project-history-list{list-style:none;margin:0;padding:0;max-height:400px;overflow:auto;overscroll-behavior:contain}.project-history-list li{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--project-line);overflow-wrap:anywhere}.project-history-list time{font-size:12px;color:var(--project-muted);font-variant-numeric:tabular-nums}.project-history-list p{margin:6px 0 0;font-size:14px;line-height:1.75;white-space:pre-wrap;max-width:65ch}.project-history-list p.project-history-context{font-size:12px;color:var(--project-muted)}.project-history-empty{font-size:14px;color:var(--project-muted)}.project-history>[data-action=more]{margin-top:14px;font-size:13px}
.mind-deleted{margin-top:20px;font-size:13px}.mind-deleted summary,.project-trash>summary{padding:12px 0;cursor:pointer;min-height:44px;color:#805329}.mind-deleted-list>div,.project-trash-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--project-line);font-size:14px;overflow-wrap:anywhere}.mind-deleted-list button{flex:none;font-size:13px}.project-trash{margin-top:22px;border-top:1px solid var(--project-line)}.project-trash-row button{font-size:13px}.project-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;border-top:1px solid var(--project-line);margin-top:20px;font-size:12px;line-height:1.6}#project-save-state[data-state=offline]{color:#9a4c2d}
.arrangement-hint{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px;background:#fff0bc;color:#50321e;border-bottom:1px solid #bd9b63;position:sticky;top:0;z-index:3}.arrangement-hint p{margin:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.arrangement-hint button{flex:none;background:#966336;color:#fff8ec;border:1px solid #68421f;min-height:44px;font-size:13px}.grid.arranging .block.empty{outline:2px dashed #a87536;outline-offset:-3px;cursor:pointer}.grid.arranging .block.empty:hover{background:#ffeab3}
@media(max-width:900px){.project-create{grid-template-columns:1fr 1fr}.project-create>label:first-child{grid-column:1/-1}.project-record-content{gap:24px}}
@media(max-width:600px){.project-board{padding:16px;margin-top:24px}.project-heading h2{font-size:20px}.project-heading>div{gap:6px}#project-count{font-size:11px}.project-heading>button{padding:8px 10px;font-size:13px}.project-focus-note{font-size:12px;line-height:1.7;margin:10px 0 16px}.project-create{grid-template-columns:minmax(0,1fr);gap:14px}.project-create>label,.project-create-actions{grid-column:1}.project-create :is(input,textarea),.project-note{font-size:16px}.project-create-actions span{width:100%}.mind-toolbar{gap:8px;align-items:start}.mind-toolbar>div{gap:5px;flex-wrap:wrap}.mind-toolbar button{padding:6px 8px;font-size:12px}.mind-toolbar .mind-zoom button:first-child,.mind-toolbar #mind-zoom-in{width:36px;min-width:36px}#mind-scale{min-width:36px}.mind-pan-hint{font-size:11px;margin-bottom:12px}.mind-stage{padding:28px;gap:48px}.mind-branch{gap:48px}.mind-project-topic{width:200px}.mind-field-topic{width:260px}.mind-custom-topic{width:220px}.mind-input{font-size:16px}.project-board .mind-node-actions button{height:44px;min-height:44px;min-width:40px}.mind-project-topic .project-status{min-height:44px;font-size:14px}.project-record-content{display:block}.project-inspector{padding-top:20px}.project-inspector-heading{align-items:start;gap:10px}.project-inspector-heading h3{font-size:16px}.project-inspector-heading button{font-size:12px;padding:8px}.project-note-actions span{max-width:100%}.project-manage{gap:6px}.project-manage button{padding:8px;font-size:12px}.project-history{padding-top:28px}.project-bottom{font-size:11px;align-items:start;gap:10px}.project-bottom>span:last-child{white-space:nowrap}.arrangement-hint{padding:10px;gap:10px;align-items:start}.arrangement-hint p{font-size:12px}.arrangement-hint button{font-size:12px;padding:8px;max-width:90px}}
@media(prefers-reduced-motion:reduce){.project-board *, .arrangement-hint{transition:none!important;scroll-behavior:auto!important}}

/* Compact project topics keep the overview readable before expanding branches. */
.mind-project-topic{padding:12px}.mind-project-topic .project-status{min-height:36px;margin:8px 0}.mind-project-topic>.project-updated{position:absolute;right:0;top:-20px;margin:0;font-size:11px;white-space:nowrap}.mind-project-topic .mind-node-actions{margin-top:8px}
@media(max-width:600px){.mind-project-topic .project-status{min-height:44px}.mind-project-topic .mind-node-actions{margin-top:8px}}
/* Fullscreen uses all available space and keeps editing controls accessible. */
.project-board:fullscreen,.project-board.mind-fullscreen{background:#fff5db;width:100%;height:100dvh;margin:0;padding:24px;border:0;box-shadow:none;display:flex;flex-direction:column;overflow:auto;gap:0}
.project-board.mind-fullscreen{position:fixed;inset:0;z-index:100}
.project-board.mind-is-full .mind-viewport{height:auto!important;min-height:250px;flex:1 1 0;max-height:none}
.project-board.mind-is-full .project-heading,.project-board.mind-is-full .mind-toolbar,.project-board.mind-is-full .project-bottom{flex:none}
.project-board.mind-is-full .project-focus-note{margin-bottom:8px}
.project-board.mind-is-full .project-bottom{margin-top:12px;padding-top:10px}
.project-board.mind-is-full .project-inspector{flex:none;max-height:38dvh;overflow:auto;margin-top:14px;padding-top:14px}
.project-board.mind-is-full .project-inspector-heading{margin-bottom:12px}
.project-board.mind-is-full .project-create{flex:none;max-height:40dvh;overflow:auto}
#mind-fullscreen{font-weight:650;background:#f6e4b7;border-color:#a87536}
@media(max-width:600px){.project-board:fullscreen,.project-board.mind-fullscreen{padding:14px}.project-board.mind-is-full .project-focus-note{display:none}.project-board.mind-is-full .mind-pan-hint{margin-bottom:8px}.project-board.mind-is-full .mind-viewport{min-height:220px}}
.mind-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:90%;padding:12px 20px;background:#966336;color:#fff8ec;border:1px solid #68421f;z-index:2;text-align:center;font-size:14px}.project-board:not(.mind-is-full) .mind-toast{display:none}
/* User revision: an open canvas, with more space reserved for the map. */
.mind-viewport{border:0;background:transparent}.mind-stage{padding:24px}.mind-pan-hint{margin-bottom:8px}
.project-board:fullscreen,.project-board.mind-fullscreen{padding:16px}
@media(max-width:600px){.mind-stage{padding:18px}.project-board:fullscreen,.project-board.mind-fullscreen{padding:10px}}
/* The map uses the panel's full inner width; controls retain readable padding. */
.mind-viewport{margin-left:-24px;margin-right:-24px;width:calc(100% + 48px);max-width:none}
.project-board.mind-is-full .mind-viewport{margin-left:-16px;margin-right:-16px;width:calc(100% + 32px)}
@media(max-width:600px){.mind-viewport{margin-left:-16px;margin-right:-16px;width:calc(100% + 32px)}.project-board.mind-is-full .mind-viewport{margin-left:-10px;margin-right:-10px;width:calc(100% + 20px)}}
/* Slim map scrollbars, without arrow buttons or a heavy track. */
.mind-viewport,.project-history-list,.project-inspector{scrollbar-width:thin;scrollbar-color:#b99560 transparent}
.mind-viewport::-webkit-scrollbar{width:6px;height:6px}.mind-viewport::-webkit-scrollbar-track{background:transparent}.mind-viewport::-webkit-scrollbar-thumb{background:#b99560;border-radius:3px}.mind-viewport::-webkit-scrollbar-button{display:none;width:0;height:0}.mind-viewport::-webkit-scrollbar-corner{background:transparent}
.mind-divider{border:0;border-top:1px solid #d9c49c;margin:4px -24px 0;width:calc(100% + 48px);flex:none}.project-board.mind-is-full .mind-divider{margin-left:-16px;margin-right:-16px;width:calc(100% + 32px)}
@media(max-width:600px){.mind-divider{margin-left:-16px;margin-right:-16px;width:calc(100% + 32px)}.project-board.mind-is-full .mind-divider{margin-left:-10px;margin-right:-10px;width:calc(100% + 20px)}}
/* Place the separator directly below the interaction instructions. */
.mind-toolbar{border-top:0}.mind-pan-hint{margin-bottom:10px}.mind-divider{margin-top:0}
/* A finer four-pixel thumb in Chromium; other browsers keep a thin scrollbar. */
@supports selector(::-webkit-scrollbar){.mind-viewport{scrollbar-width:auto;scrollbar-color:auto}.mind-viewport::-webkit-scrollbar{width:4px;height:4px}.mind-viewport::-webkit-scrollbar-thumb{background:#b99560;border-radius:2px}}

.mind-root strong[data-copy]{cursor:text;overflow-wrap:anywhere;min-height:1.5em}
.mind-root strong[data-copy][contenteditable="plaintext-only"]{outline:1px dashed #966336;outline-offset:4px;background:#ffedbd;white-space:pre-wrap}

/* Separate the canvas from records and save status with one edge-to-edge line. */
.mind-divider-bottom{margin-bottom:0}.project-bottom{border-top:0;margin-top:12px;padding-top:0}.project-board.mind-is-full .project-bottom{margin-top:12px;padding-top:0}

/* Keep the map panel within one screen; scroll its canvas internally. */
.project-board:not(.mind-is-full){height:calc(100dvh - 24px);min-height:0;display:flex;flex-direction:column;overflow:auto}
.project-board:not(.mind-is-full) .mind-viewport{height:auto;min-height:160px;flex:1 1 0}
.project-board:not(.mind-is-full) :is(.project-heading,.project-focus-note,.mind-toolbar,.mind-pan-hint,.project-bottom,.project-empty,.project-trash){flex:none}
.project-board:not(.mind-is-full) :is(.project-inspector,.project-create){flex:none;max-height:38dvh;overflow:auto}


/* Clip only at the viewport so translated lower nodes stay visible. */
.mind-canvas{overflow:visible}

.mind-topic{cursor:grab}.mind-topic.mind-node-dragging{cursor:grabbing;z-index:2}.mind-topic.mind-node-dragging *{user-select:none}
