.world-open { width: auto; height: auto; min-height: 2.5rem; padding: .4rem .8rem; font-size: .8rem; white-space: nowrap; }
.masthead-actions { display: flex; align-items: center; gap: 1.5rem; }
.node-graph-link { display: inline-block; margin: .3rem 0 .3rem .8rem; font: .72rem/1.8 system-ui, sans-serif; color: var(--accent); vertical-align: middle; }
.world-dialog { width: min(1500px, calc(100vw - 3rem)); max-width: none; max-height: calc(100dvh - 3rem); padding: 0; color: var(--ink); background: var(--paper); border: 1px solid var(--line); overflow: auto; }
.world-dialog::backdrop { background: #030b09dc; }
.world-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.2rem 1.5rem; border-bottom: 1px solid var(--line); }
.world-header h2 { margin: 0; font: 1.5rem/1.5 var(--serif); }
.world-header .eyebrow { margin: 0 0 .3rem; }
.world-header button { flex-shrink: 0; font-size: 1.5rem; }
.world-status { padding: .6rem 1.5rem; margin: 0; font-size: .8rem; color: var(--muted); }
.world-workspace { display: grid; grid-template-columns: 230px minmax(0, 1fr) 270px; min-height: 560px; }
.world-browser { padding: 1rem; border-right: 1px solid var(--line); }
.world-browser label { display: block; font-size: .75rem; color: var(--muted); margin-bottom: .3rem; }
.world-browser input, .world-browser select { width: 100%; padding: .5rem; margin-bottom: .7rem; font-size: .85rem; }
.world-count { font-size: .75rem; color: var(--muted); margin: .4rem 0; }
.world-node-list { max-height: 460px; overflow: auto; }
.world-node-list button { display: block; width: 100%; height: auto; padding: .7rem; margin-bottom: .35rem; text-align: left; font-size: .78rem; color: var(--ink); overflow-wrap: anywhere; }
.world-node-list button[aria-current="true"] { border-color: var(--accent); background: #283626; }
.world-node-list small { display: block; color: var(--muted); font-size: .65rem; }
.world-map { min-width: 0; padding: 1rem; background: radial-gradient(ellipse at center, #25352c66, transparent 75%); }
.world-controls { display: flex; align-items: center; gap: .5rem; font-size: .75rem; }
.world-controls select { max-width: 220px; padding: .4rem; }
.world-controls button { width: auto; height: auto; min-height: 2.5rem; padding: .3rem .6rem; margin-left: auto; white-space: nowrap; }
.world-map-caption, .world-map-summary { color: var(--muted); font-size: .7rem; }
.world-map-scroll { overflow: auto; max-height: 500px; border: 1px solid var(--line); background: #111b17; }
.world-map svg { display: block; width: 100%; min-width: 800px; }
.world-edge { fill: none; stroke: #90ac8d; stroke-width: 1.4; }
.world-edge-label { fill: #d2dfc8; font: 11px system-ui, sans-serif; paint-order: stroke; stroke: #111b17; stroke-width: 5px; stroke-linejoin: round; }
.world-graph-node { cursor: pointer; outline: none; }
.world-graph-node rect { fill: #1e2b24; stroke: #63745f; stroke-width: 1.2; }
.world-graph-node[data-selected="true"] rect { fill: #d0e2ae; stroke: #e2f0c5; stroke-width: 2; }
.world-graph-node text { fill: #eef0df; font: 14px system-ui, sans-serif; pointer-events: none; }
.world-graph-node .world-svg-kind { fill: #b1c5a3; font-size: 10px; }
.world-graph-node[data-selected="true"] text { fill: #1a281b; }
.world-graph-node:hover rect, .world-graph-node:focus-visible rect { stroke: #efffcc; stroke-width: 3; }
.world-detail { padding: 1rem 1.2rem; border-left: 1px solid var(--line); max-height: 650px; overflow: auto; }
.world-detail h3 { font: 1.15rem/1.8 var(--serif); margin: .5rem 0; }
.world-node-id { font-size: .65rem; color: var(--muted); overflow-wrap: anywhere; }
.world-source { font-size: .85rem; color: var(--accent); }
.world-detail h4 { font-size: .85rem; margin: 2rem 0 .7rem; }
.world-relations { padding: 0; list-style: none; }
.world-relations li { border-top: 1px solid var(--line); padding: .8rem 0; font-size: .78rem; }
.world-relations p { margin: .2rem 0; }
.world-relations button { width: auto; height: auto; text-align: left; border: 0; padding: .2rem 0; text-decoration: underline; text-underline-offset: .2em; }
.world-relation-label { display: block; color: var(--muted); font-size: .7rem; }
.world-empty { font-size: .8rem; color: var(--muted); }
@media (max-width: 1100px) { .world-workspace { grid-template-columns: 190px minmax(0, 1fr); }.world-detail { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); max-height: none; }.world-relations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; }.masthead-actions .edition { display: none; } }
@media (max-width: 700px) { .world-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }.world-header { padding: 1rem; }.world-header h2 { font-size: 1.2rem; }.world-workspace { display: flex; flex-direction: column; }.world-browser { border-right: 0; border-bottom: 1px solid var(--line); }.world-node-list { max-height: 150px; }.world-browser input, .world-browser select { font-size: 16px; }.world-map { padding: .7rem; }.world-controls { flex-wrap: wrap; }.world-map-scroll { max-height: 390px; }.world-relations { display: block; }.world-open { font-size: .7rem; }.world-status { padding-inline: 1rem; } }
