.hub-chip{align-items:center;gap:var(--sp-1);max-width:100%;min-height:24px;padding:0 var(--sp-2);border-radius:var(--radius-s);background:var(--surface-3);color:var(--text);font-size:var(--fs-s);text-decoration:none;display:inline-flex}a.hub-chip:hover{background:var(--state-hover);text-decoration:underline}.hub-chip .ic{color:var(--text-2);flex:none}.hub-chip-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hub-chip-type{color:var(--text-3);font-size:var(--fs-xs)}.hub-tag{--_c:var(--cat-1);height:24px;padding:0 var(--sp-2);border-radius:var(--radius-pill);border:1px solid var(--_c);color:var(--text);font-size:var(--fs-xs);font-weight:var(--fw-medium);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.hub-tag:before{content:"";background:var(--_c);border-radius:50%;width:8px;height:8px}.hub-tag button{color:var(--text-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-width:24px;min-height:24px;padding:0;display:inline-flex}.hub-tag button:hover{color:var(--text)}.hub-tag[data-c=c1]{--_c:var(--cat-1)}.hub-tag[data-c=c2]{--_c:var(--cat-2)}.hub-tag[data-c=c3]{--_c:var(--cat-3)}.hub-tag[data-c=c4]{--_c:var(--cat-4)}.hub-tag[data-c=c5]{--_c:var(--cat-5)}.hub-tag[data-c=c6]{--_c:var(--cat-6)}.hub-tag[data-c=c7]{--_c:var(--cat-7)}.hub-tag[data-c=c8]{--_c:var(--cat-8)}.hub-tags{gap:var(--sp-1);flex-wrap:wrap;align-items:center;display:flex}.hub-tags .input{width:160px;height:28px}.mention{color:var(--accent-text);background:var(--accent-soft);border-radius:var(--radius-xs);font-weight:var(--fw-medium);padding:0 2px;text-decoration:none}a.mention:hover{text-decoration:underline}.mention-ref{color:var(--text);background:var(--surface-3)}.mention-list{min-width:240px;max-height:260px;padding:var(--sp-1);overflow:auto}.mention-opt{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-s);color:var(--text);text-align:left;cursor:pointer;font-size:var(--fs-s);background:0 0;border:0;display:flex}.mention-opt[aria-selected=true],.mention-opt:hover{background:var(--state-selected)}.mention-preview{font-size:var(--fs-s);color:var(--text-2);overflow-wrap:anywhere}.related-group{padding:var(--sp-2) var(--card-pad);border-bottom:1px solid var(--border)}.related-group:last-of-type{border-bottom:0}.related-row{align-items:center;gap:var(--sp-2);min-height:32px;display:flex}.related-row .hub-chip{flex:0 auto;min-width:0}.related-row .spacer{flex:1}.related-timeline{padding:var(--sp-2) var(--card-pad) var(--sp-3);border-top:1px solid var(--border)}.related-timeline ol{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.related-timeline li{gap:var(--sp-2);font-size:var(--fs-s);align-items:baseline;display:flex}.related-timeline li .grow{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.picker-results{border:1px solid var(--border);border-radius:var(--radius);max-height:280px;overflow:auto}.picker-results label{align-items:center;gap:var(--sp-2);padding:var(--sp-2);border-bottom:1px solid var(--border);cursor:pointer;display:flex}.picker-results label:last-child{border-bottom:0}.picker-results label:hover{background:var(--state-hover)}.related-panel .card-head .seg{margin-left:var(--sp-1)}.rel-ov .tabs{margin-bottom:var(--sp-2)}.rel-group{margin-bottom:var(--sp-3)}.rel-group h4{margin:0 0 var(--sp-1)}.rel-list{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rel-row{gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);grid-template-columns:auto minmax(0,1fr) minmax(90px,140px) auto auto;align-items:center;display:grid}.rel-row.is-dragging{box-shadow:var(--shadow-2);opacity:.9;transform:rotate(-1.5deg)scale(1.02)}.rel-grip{color:var(--text-3);cursor:grab;border-radius:var(--radius-s);background:0 0;border:0;justify-content:center;align-items:center;min-width:24px;min-height:24px;display:inline-flex}.rel-grip:hover,.rel-grip:focus-visible{color:var(--text);background:var(--state-hover)}.rel-main{align-items:center;gap:var(--sp-1) var(--sp-2);flex-wrap:wrap;min-width:0;display:flex}.rel-why{max-width:100%;padding:1px var(--sp-2);border-radius:var(--radius-pill);background:var(--tooltip-bg);color:var(--tooltip-text);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;display:inline-flex;overflow:hidden}.rel-progress{align-items:center;gap:var(--sp-1);min-width:0;display:inline-flex}.rel-progress progress{width:100%;min-width:48px;height:6px;accent-color:var(--accent)}@media (width<=720px){.rel-row{grid-template-columns:auto minmax(0,1fr) auto}.rel-row>.rel-progress,.rel-row>span:nth-child(4){display:none}}.rel-chips{gap:var(--sp-1);flex-wrap:wrap;display:inline-flex}.rel-chip{max-width:220px;min-height:24px;padding:0 var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-xs);cursor:pointer;align-items:center;gap:4px;display:inline-flex}.rel-chip:hover{background:var(--state-hover);color:var(--text)}.rel-chip.is-fail{color:var(--fail);border-color:var(--fail-soft);background:var(--fail-soft)}.rel-chip.is-warn{color:var(--warn);border-color:var(--warn-soft);background:var(--warn-soft)}.hover-card{gap:var(--sp-2);flex-direction:column;width:280px;max-width:100%;display:flex}.hover-card-title{font-size:var(--fs-m);line-height:1.3}.note-panel{gap:var(--sp-3);flex-direction:column;display:flex}.note-stack{gap:var(--sp-2);flex-direction:column;display:flex}.note-stack-head{align-items:center;gap:var(--sp-2);font-size:var(--fs-s);color:var(--text-2);margin:0;display:flex}.note-sigil{border-radius:var(--radius-s);background:var(--tooltip-bg);width:22px;height:22px;color:var(--tooltip-text);font:var(--fw-bold) var(--fs-xs)/1 var(--mono);place-items:center;display:inline-grid}.note-cards{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.note-card{gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--island-border);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.note-card.is-suggestion{cursor:grab}.note-card.is-suggestion:active{cursor:grabbing}.note-card .btn{align-self:flex-start}.note-add{align-self:flex-start;gap:var(--sp-2)}.note-hint{gap:var(--sp-1);align-items:flex-start;display:flex}.rmap{gap:var(--sp-2);flex-direction:column;display:flex}.rmap-toolbar{flex-wrap:wrap}.rmap-zoom{text-align:center;min-width:4ch}.rmap-viewport{border-radius:var(--radius-l);border:1px solid var(--border);background-color:var(--surface-2);background-image:radial-gradient(var(--border-strong) 1px, transparent 1.2px);cursor:grab;touch-action:none;background-size:18px 18px;height:420px;position:relative;overflow:hidden}.rmap-viewport:active{cursor:grabbing}.rmap-stage{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.rmap-edges{pointer-events:none;width:6000px;height:6000px;position:absolute;top:-3000px;left:-3000px;overflow:visible}.rmap-edge{fill:none;stroke:var(--accent);stroke-width:1.5px}.rmap-edge.is-dashed{stroke-dasharray:6 5;stroke:var(--text-3)}.rmap-dot{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px}.rmap-slot{position:absolute;transform:translate(-50%,-50%)}.rmap-card{gap:var(--sp-1);width:220px;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--island-border);box-shadow:var(--shadow-2);cursor:grab;flex-direction:column;display:flex;position:relative}.rmap-card:focus-visible{outline:var(--focus-ring)}.rmap-card.is-root{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-2)}.rmap-title{font-weight:var(--fw-medium);color:var(--text);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-decoration:none;display:-webkit-box;overflow:hidden}a.rmap-title:hover{text-decoration:underline}.rmap-tile{border-radius:var(--radius-s);background:var(--accent-soft);width:24px;height:24px;color:var(--accent-text);flex:none;place-items:center;display:inline-grid}.rmap-tile.is-s{background:var(--surface-3);width:20px;height:20px;color:var(--text-2)}.rmap-tiles{gap:4px;display:inline-flex}.rmap-port{border:2px solid var(--accent);background:var(--surface);border-radius:50%;width:12px;height:12px;margin-top:-6px;padding:0;position:absolute;top:50%}.rmap-port.is-in{pointer-events:none;left:-7px}.rmap-port.is-out{cursor:crosshair;right:-7px}.rmap-port.is-out:hover,.rmap-port.is-out:focus-visible{background:var(--accent)}.rmap-edge-label{pointer-events:none;align-items:center;gap:4px;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.rmap-pill{max-width:180px;padding:2px var(--sp-2);border-radius:var(--radius-pill);background:var(--tooltip-bg);color:var(--tooltip-text);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rmap-handle{pointer-events:auto;border:1px solid var(--border-strong);background:var(--surface);min-width:24px;min-height:24px;color:var(--text);cursor:pointer;border-radius:50%;line-height:1}.rmap-handle:hover,.rmap-handle:focus-visible{background:var(--accent);color:var(--accent-ink)}.rmap-ghost{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-l);border:1px dashed var(--border-strong);background:var(--surface);color:var(--text-2);opacity:.55;filter:blur(.4px);cursor:pointer;font-size:var(--fs-xs);align-items:center;gap:4px;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.rmap-ghost:hover,.rmap-ghost:focus-visible{opacity:1;filter:none}@media (prefers-reduced-motion:reduce){.rel-row{transition:none}.rel-row.is-dragging{transform:none}}
