/* v1.87 Idea Map in 3D */
.im7{display:flex;flex-direction:column;gap:12px}
.im7-top{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.im7-search{position:relative;flex:1 1 320px;max-width:520px}
.im7-search input{border-radius:999px;padding:10px 16px;font-size:15px;background:var(--paper)}
.im7-results{position:absolute;z-index:50;left:0;right:0;top:46px;max-height:360px;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(20,14,8,.22);padding:4px}
.im7-res{display:flex;gap:10px;align-items:flex-start;width:100%;border:0;background:none;text-align:left;padding:7px 10px;border-radius:8px;font:14px Georgia,serif;color:var(--ink);cursor:pointer}
.im7-res i,.im7-chip i,.im7-link i,.im7-p-group i,.im7-conn summary i{flex:none;width:9px;height:9px;border-radius:50%;display:inline-block;margin-top:5px;box-shadow:0 0 6px currentColor}
.im7-res small{display:block;color:var(--muted);font-size:11.5px}
.im7-res.sel,.im7-res:hover{background:color-mix(in srgb,var(--wine) 11%,transparent)}
.im7-empty{padding:10px;color:var(--muted);margin:0}
.im7-legend{display:flex;flex-wrap:wrap;gap:6px;flex:2 1 400px}
.im7-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:5px 11px;font:12.5px Georgia,serif;color:var(--ink);cursor:pointer}
.im7-chip i{margin:0}.im7-chip small{color:var(--muted)}
.im7-chip.off{opacity:.45}.im7-chip.off i{box-shadow:none;filter:grayscale(1)}
.im7-stage-wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:0;border-radius:16px;overflow:hidden;border:1px solid #1c2748;box-shadow:0 18px 50px rgba(8,12,30,.35);background:#0b1226}
.im7-stage-wrap:fullscreen{grid-template-columns:minmax(0,1fr) 380px;border-radius:0}
.im7-stage{position:relative;height:min(74vh,760px);min-height:460px}
.im7-stage-wrap:fullscreen .im7-stage{height:100vh}
.im7-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;outline:none}
.im7-stage canvas:active{cursor:grabbing}
.im7-hud{position:absolute;left:14px;bottom:14px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 28px)}
.im7-hud button{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(12,18,38,.72);color:#f1e9d8;font:16px Georgia,serif;cursor:pointer;backdrop-filter:blur(6px)}
.im7-hud button:hover{background:rgba(40,52,92,.85)}
.im7-hud button[aria-pressed=true]{background:#b08a54;color:#1a1208;border-color:#e3c38b}
.im7-help{position:absolute;left:14px;bottom:62px;max-width:360px;background:rgba(10,15,32,.92);color:#e9e2d2;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.6}
.im7-toast{position:absolute;right:14px;top:14px;color:#f1e9d8;font-size:12.5px;background:rgba(12,18,38,.72);padding:6px 10px;border-radius:8px;pointer-events:none}
.im7-toast:empty{display:none}
.im7-tip{position:absolute;pointer-events:none;background:rgba(245,238,224,.96);color:#1c1810;border-radius:6px;padding:3px 8px;font-size:12.5px;max-width:280px;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.im7-panel{background:var(--paper);color:var(--ink);padding:18px 18px 24px;overflow:auto;max-height:min(74vh,760px);border-left:1px solid #1c2748}
.im7-stage-wrap:fullscreen .im7-panel{max-height:100vh}
.im7-p-head{display:flex;justify-content:space-between;align-items:center}
.im7-p-group{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.im7-p-group i{margin:0}
.im7-star{border:0;background:none;font-size:22px;color:var(--muted);cursor:pointer}.im7-star.on{color:var(--gold)}
.im7-p-title{font-size:25px;line-height:1.25;margin:6px 0 8px}
.im7-p-body{color:var(--muted);line-height:1.55;font-size:14.5px;margin:0 0 12px}
.im7-p-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.im7-p-actions .btn{font-size:13px;padding:7px 10px}
.im7-sec{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.im7-lab{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.im7-conn{margin:4px 0}
.im7-conn summary{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:13.5px;padding:4px 0}
.im7-conn summary i{margin:0}.im7-conn summary small{color:var(--muted);margin-left:auto}
.im7-link{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;width:100%;border:0;background:none;text-align:left;padding:5px 6px;border-radius:6px;font:13.5px Georgia,serif;color:var(--ink);cursor:pointer}
.im7-link:hover{background:color-mix(in srgb,var(--wine) 9%,transparent)}
.im7-rel{font-size:11px;color:var(--muted);font-style:italic;flex-basis:100%}
.im7-path{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:8px 0}
.im7-path .im7-link{width:auto;background:color-mix(in srgb,var(--gold) 16%,transparent);padding:3px 8px}
.im7-path span{color:var(--muted)}
.im7-panel textarea{min-height:90px;font-size:14px}
.im7-add{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}
.im7-edit{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.im7-mine{font-size:12.5px;padding:4px 0;border-bottom:1px dashed var(--line)}
.im7-list summary,.im7-files summary{cursor:pointer;font-size:14px;padding:6px 0}
.im7-listgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px;max-height:420px;overflow:auto}
.im7-listgrid .im7-link{align-items:center}
.im7-listgrid .im7-link i{margin:0}
.small{font-size:12.5px}
@media (max-width:980px){
  .im7-stage-wrap{grid-template-columns:1fr}
  .im7-stage{height:62vh;min-height:380px}
  .im7-panel{max-height:none;border-left:0;border-top:1px solid #1c2748}
}
