/* Exact radial mind-map interface + persistent ink layer. */
:root{--mm-bg:#faf8f3;--mm-line:#c9c2b3;--mm-line-strong:#8f887a;--mm-text:#2c2c2a;--mm-sub:#8a8880;--mm-card:#fff}
.wbmm-wrap{width:100%;height:calc(100vh - 32px);min-height:620px;overflow:hidden;position:relative;background:var(--mm-bg);color:var(--mm-text);font-family:"PingFang TC","Microsoft JhengHei","Noto Sans TC",sans-serif;border-radius:14px}
.wbmm-wrap #mmSvg{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.wbmm-wrap #mmSvg:active{cursor:grabbing}.wbmm-wrap.is-drawing #mmSvg,.wbmm-wrap.is-drawing #mmSvg:active{cursor:crosshair}
.wbmm-wrap .link{fill:none;stroke:var(--mm-line);stroke-width:1.2px;transition:stroke .15s ease,stroke-width .15s ease}.wbmm-wrap .link.highlight{stroke:var(--mm-line-strong);stroke-width:2px}
.wbmm-wrap .node-inner{transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.wbmm-wrap .node:hover .node-inner{transform:scale(1.18)}
.wbmm-wrap .node circle{cursor:pointer;stroke-width:1.6px;stroke:var(--mm-bg)}.wbmm-wrap .node text{font-size:12px;cursor:pointer;paint-order:stroke;stroke:var(--mm-bg);stroke-width:3px;stroke-linejoin:round}.wbmm-wrap .node.root text{font-size:16px;font-weight:700}.wbmm-wrap .node.depth1 text{font-size:13px;font-weight:700}.wbmm-wrap .node.depth2 text{font-size:12px;font-weight:600}.wbmm-wrap .node.depth3 text{font-size:11px;font-weight:400;fill:var(--mm-sub)}.wbmm-wrap .node.has-children circle{stroke:var(--mm-card)}.wbmm-wrap .node.collapsed circle{stroke-dasharray:2,2}
.wbmm-wrap .ink-layer{pointer-events:none}.wbmm-wrap .ink-stroke{fill:none;stroke:#34312e;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.wbmm-wrap .ink-stroke.live{stroke:#201f1d}
#mmToolbar{position:absolute;top:12px;left:12px;background:var(--mm-card);border:1px solid var(--mm-line);border-radius:10px;padding:8px;font-size:13px;box-shadow:0 2px 8px rgba(0,0,0,.06);z-index:10;display:flex;gap:6px;align-items:center;max-width:calc(100% - 210px);overflow-x:auto;scrollbar-width:none}#mmToolbar::-webkit-scrollbar{display:none}
#mmToolbar button{flex:0 0 auto;padding:6px 12px;border:1px solid var(--mm-line);border-radius:7px;background:#fff;cursor:pointer;font-size:12px;color:var(--mm-text);transition:background .12s ease,transform .1s ease}#mmToolbar button:hover{background:#f5f2eb}#mmToolbar button:active{transform:scale(.95)}#mmToolbar button:disabled{opacity:.4;cursor:not-allowed}#mmToolbar button[aria-pressed="true"]{background:#2c2c2a;color:#fff;border-color:#2c2c2a}#mmToolbar .sep{width:1px;height:22px;background:var(--mm-line);flex:0 0 auto}
#mmHint{position:absolute;bottom:14px;left:12px;font-size:12px;color:var(--mm-sub);z-index:10;background:var(--mm-card);border:1px solid var(--mm-line);border-radius:8px;padding:6px 10px;max-width:calc(100% - 28px)}
#mmLegend{position:absolute;top:12px;right:14px;background:var(--mm-card);border:1px solid var(--mm-line);border-radius:10px;padding:10px 12px;font-size:12px;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.06);max-width:170px}#mmLegend .row{display:flex;align-items:center;gap:6px;margin:3px 0}#mmLegend .dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}#mmLegend .cap{color:var(--mm-sub);font-size:11px;margin-bottom:4px}
#mmBreadcrumb{position:absolute;top:60px;left:12px;font-size:12px;color:var(--mm-sub);z-index:10;max-width:60%;pointer-events:none}#mmBreadcrumb span{color:var(--mm-text);font-weight:600}
#mmReview{position:absolute;right:14px;bottom:48px;z-index:12;width:min(360px,calc(100% - 28px));max-height:42%;overflow:auto;background:#fff;border:1px solid var(--mm-line);border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.1);padding:12px 14px;font-size:12px;color:var(--mm-text)}#mmReview>button{position:absolute;top:7px;right:8px;border:0;background:transparent;font-size:18px;color:#999;cursor:pointer}#mmReview>strong{display:block;padding-right:24px}#mmReview>p{margin:8px 0;line-height:1.55;color:#5d5a54}#mmReview>div{display:grid;gap:6px}#mmReview>div>span{display:block;padding:7px 8px;border-radius:8px;background:#f6f4ee;line-height:1.45}#mmReview>div>span.fix{background:#fff1ec}#mmReview>div>span.add{background:#eef8f2}#mmReview.loading span,#mmReview.error span{display:block;margin-top:6px;color:#777}.wbmm-d3-error{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:20;background:#fff;border:1px solid var(--mm-line);border-radius:10px;padding:12px 16px}
@media(max-width:760px){.wbmm-wrap{height:calc(100vh - 18px);min-height:560px;border-radius:0}#mmToolbar{left:8px;top:8px;right:8px;max-width:none;padding:6px}#mmToolbar button{padding:7px 10px;font-size:11px}#mmLegend{top:56px;right:8px;max-width:140px;font-size:10px;padding:8px 9px}#mmLegend .cap{font-size:9px}#mmBreadcrumb{top:58px;left:8px;max-width:52%;font-size:10px}#mmHint{left:8px;right:8px;bottom:8px;max-width:none;font-size:10px;padding:5px 8px}#mmReview{right:8px;bottom:42px;width:calc(100% - 16px);box-sizing:border-box}}
@media(prefers-reduced-motion:reduce){.wbmm-wrap .node-inner,.wbmm-wrap .link{transition:none}}