/* Desktop is the launch target. Small devices receive a notice, not a separate layout. */
body[data-workspace-host]{min-width:1000px}
body[data-workspace-host] .masthead{height:58px;min-height:58px;padding:0 24px;gap:30px;flex-wrap:nowrap}
body[data-workspace-host] .brand svg{width:27px;height:27px}
body[data-workspace-host] .brand{font-size:12px;letter-spacing:2px}
body[data-workspace-host] .brand-sub{font-size:8px}
body[data-workspace-host] main{padding:6px}
.workspace-bar{min-height:36px;margin-bottom:4px}
.workspace-button,.explorer-tab [role=tab]{min-height:30px;padding:6px 10px;font-size:11px}
body[data-workspace-host] .page-footer{padding:6px 3px;min-height:28px;align-items:center}
body[data-workspace-host] .page-footer a,body[data-workspace-host] .page-footer button{min-height:22px;font-size:10px}
body[data-embedded] .mobile-notice{display:none!important}
.mobile-notice{display:none}
@media(max-width:900px){body[data-workspace-host]>.mobile-notice{display:block;position:fixed;z-index:1000;left:12px;bottom:12px;width:calc(100vw - 24px);box-sizing:border-box;padding:14px 16px;border:1px solid #cfbca2;border-radius:8px;background:#fff8e8;box-shadow:0 3px 14px #252b2920;font:13px/1.5 var(--sans);color:var(--ink)}}
body[data-view=network] .graph-stage{min-height:400px}
body[data-view=network] #search-window{left:14px;top:14px;width:310px;max-width:none;border-radius:7px}
body[data-view=network] #search-window .search-wrap{min-height:44px}
body[data-view=network] #search-window .distance-control{display:none!important}
body[data-view=network] .exploration-tools{top:14px;right:14px;gap:5px}
body[data-view=network] .exploration-tools>.explore-button{min-height:32px;padding:6px 10px;font-size:11px}
body[data-view=network] .secondary-actions summary{min-height:32px;padding:7px}
body[data-view=network] #map-status{left:14px;bottom:14px;max-width:330px;width:auto;padding:8px 10px}
body[data-view=network] #map-status #semantic-summary{font-size:10px;max-width:300px;line-height:1.5}
body[data-view=network] .graph-controls{bottom:14px;right:14px;left:auto;transform:none}
body[data-view=network] #inspector{min-height:180px;border-radius:8px;box-shadow:0 4px 18px #252b291a;overflow:visible}
body[data-view=network] #inspector>.inspector-header{min-height:40px;padding:5px 10px;gap:8px;cursor:move;touch-action:none}
body[data-view=network] #inspector>.inspector-header>.eyebrow{display:block;flex:1;font:600 11px var(--sans);letter-spacing:0;color:var(--muted)}
body[data-view=network] #inspector .inspector-scroll{padding:15px 17px 24px;scrollbar-width:thin}
body[data-view=network] #inspector .inspector-scroll h2{font-size:26px;margin:12px 0}
body[data-view=network] #inspector .dock-details{min-height:28px;padding:3px 7px;font-size:11px}
body[data-view=network] #inspector[data-docked=true]{border-radius:0;border-top:0;border-bottom:0;border-right:0;box-shadow:none}
.window-corner-resizer{position:absolute;z-index:10;right:0;bottom:0;width:21px;height:21px;cursor:nwse-resize;touch-action:none;border-radius:0 0 8px 0;background:linear-gradient(135deg,transparent 0 50%,var(--line) 50% 57%,transparent 57% 68%,var(--muted) 68% 75%,transparent 75%);opacity:.65}
.window-corner-resizer:hover,.window-corner-resizer:focus-visible{opacity:1;outline:2px solid var(--rust)}
.quick-menu{left:14px;min-width:250px;max-width:620px;padding:5px 8px;overflow:auto;box-sizing:border-box}
.quick-title.floating-panel-header{padding:0;margin:0;border:0;cursor:move;touch-action:none;position:sticky;top:0;background:var(--white)}
.quick-title.floating-panel-header:before{display:block;height:12px;width:5px;opacity:.6}
.quick-title strong{flex:1;white-space:nowrap}.quick-title button{flex:none;min-height:28px;padding:3px 6px;font-size:11px}
.quick-menu[data-collapsed=true] .window-corner-resizer{display:none}
#quick-actions button{min-height:32px}
body[data-view=network] #graph .graph-node{transition:opacity 80ms;opacity:1}
body[data-view=network] #graph .context-node{opacity:.7!important}
body[data-view=network] #graph .graph-node.highlight,body[data-view=network] #graph .graph-node.selected,body[data-view=network] #graph .graph-node.multi-selected{opacity:1!important}
body[data-view=network] #graph .graph-node .node-label{font-weight:500;fill:var(--ink);stroke-width:3px;pointer-events:auto}
body[data-view=network] #graph .graph-node.highlight .node-label,body[data-view=network] #graph .graph-node.selected .node-label{font-weight:700;stroke-width:4px}
body[data-view=network] #graph .graph-edge{opacity:.3;stroke-width:1;transition:opacity 80ms;vector-effect:non-scaling-stroke}
body[data-view=network] #graph .context-link .graph-edge{opacity:.24!important}
body[data-view=network] #graph .graph-edge.active,body[data-view=network] #graph .selected-connection .graph-edge{opacity:.95!important;stroke-width:2!important}
body[data-view=network] #graph .trail-link .graph-edge:not(.active){opacity:.35}
body[data-view=network] #graph .node-core{vector-effect:non-scaling-stroke}
body[data-view=network] #graph .node-letter{pointer-events:none}
body[data-view=network] #graph .edge-hit{stroke-width:6}
body[data-view=network] #graph .selection-chip{display:none}
body[data-view=network][data-empty-start=true] #search-window{top:16%;left:50%;width:460px;transform:translateX(-50%);box-shadow:0 8px 40px #252b2925}
.start-guide h2{font-size:27px}.start-examples{display:flex;flex-wrap:wrap;gap:6px}
.start-examples button{width:auto;min-height:30px;font-size:11px;padding:5px 8px;font-weight:500;background:transparent}
body[data-view=network][data-empty-start=true] #search-show-all{display:block;margin:10px 18px;padding:10px 14px;width:calc(100% - 36px);background:var(--ink);color:var(--white);border-radius:5px;font-size:12px}
@media(prefers-reduced-motion:reduce){body[data-view=network] #graph .graph-node,body[data-view=network] #graph .graph-edge{transition:none}}

/* Readable records and explicit traversal; the world layout remains fixed. */
body[data-view=network] #inspector>.inspector-header{min-height:32px;padding:3px 8px}
body[data-view=network] #inspector .inspector-scroll{padding:10px 12px 16px;font:12px/1.4 var(--sans)}
body[data-view=network] #inspector .inspector-scroll h2{font:650 20px/1.2 var(--sans);letter-spacing:-.25px;margin:0 0 4px}
body[data-view=network] #inspector p{font:12px/1.4 var(--sans);margin:7px 0;color:var(--ink)}
body[data-view=network] #inspector .entity-role{font:12px/1.35 var(--sans);margin:0 0 7px;color:var(--muted)}
.compact-record-actions{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}
body[data-view=network] #inspector .compact-record-actions button{min-height:27px;padding:3px 8px;border:1px solid var(--line);border-radius:4px;font:600 11px var(--sans);background:var(--paper)}
.record-facts{font:11px/1.4 var(--mono);color:var(--muted);padding:4px 0;border-bottom:1px solid var(--line)}
body[data-view=network] #inspector .entity-description{font-size:12px;line-height:1.4;margin:7px 0}
body[data-view=network] #inspector .record-tags{margin:5px 0;gap:4px}
body[data-view=network] #inspector .record-tags button{min-height:21px;padding:2px 6px;font:10px/1.3 var(--sans);border-radius:4px}
body[data-view=network] #inspector .subheading{font:650 10px/1.3 var(--sans);letter-spacing:.04em;margin:12px 0 4px;color:var(--muted)}
body[data-view=network] #inspector .connection-row{padding:7px 0}
body[data-view=network] #inspector .connection-row strong{font:600 12px/1.3 var(--sans)}
body[data-view=network] #inspector .connection-row>span{font:11px/1.35 var(--sans);margin-top:2px;align-items:flex-start}
body[data-view=network] #inspector .connection-row small{font:10px/1.3 var(--sans);margin-top:2px}
body[data-view=network] #inspector .source-link{padding:6px 0;font:600 11px/1.35 var(--sans)}
body[data-view=network] #inspector .source-link small{font:10px/1.3 var(--sans);margin-top:2px}
body[data-view=network] #inspector .evidence-box{padding:8px 10px;margin:9px 0}
body[data-view=network] #inspector .evidence-box p{margin:3px 0;font-size:12px}
body[data-view=network] #inspector .period{margin:6px 0;font-size:11px}
body[data-view=network] #inspector .edge-ends{gap:2px;margin-top:7px}
body[data-view=network] #inspector .edge-ends button{padding:3px 0;font-size:12px}
body[data-view=network] #inspector .edge-ends .link-between{font-size:12px}
body[data-view=network] #inspector .record-tools{margin-top:10px;padding-top:6px}
body[data-view=network] #inspector .record-actions{gap:6px;margin-top:4px}
body[data-view=network] #inspector .record-actions a,body[data-view=network] #inspector .record-actions button{font-size:10px;min-height:24px;padding:3px 0}
body[data-view=network] #inspector .status-badge{padding:2px 5px;font-size:10px;margin:3px 0}
body[data-view=network] #inspector .paired-connection-card{padding:8px 0;margin:0}
body[data-view=network] #entity-popover{width:304px;min-width:304px;padding:11px;border-radius:8px;animation:none;box-shadow:0 4px 18px #252b2920;z-index:45;overflow:auto}
#entity-popover .popover-heading{font:650 13px/1.3 var(--sans);gap:8px}
#entity-popover #popover-stats{font:11px/1.4 var(--sans);margin:5px 0 8px;color:var(--muted)}
#entity-popover .show-direct{display:block;width:100%;min-height:32px;padding:6px 9px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:var(--white);font:650 12px var(--sans)}
#entity-popover #popover-type-menu{border:0;margin:8px 0 0;padding:0}
#entity-popover #popover-type-menu>summary{display:none}
#entity-popover #popover-types{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-height:none;margin:0;padding:0;border:0;overflow:visible}
#entity-popover #popover-types button{min-height:28px;padding:4px 6px;border:1px solid var(--line);border-radius:4px;font:11px/1.25 var(--sans)}
#entity-popover #popover-neighbors{max-height:176px;overflow:auto;margin-top:8px;border-top:1px solid var(--line);scrollbar-width:thin}
#entity-popover #popover-neighbors button{display:block;width:100%;text-align:left;padding:7px 2px;border-bottom:1px solid var(--line);font:11px/1.3 var(--sans)}
#entity-popover #popover-neighbors strong{display:block;font-size:12px;font-weight:600}
#entity-popover #popover-neighbors strong>span{float:right;color:var(--rust)}
#entity-popover #popover-neighbors button>span{display:block;color:var(--muted);margin-top:2px}
#entity-popover #popover-neighbors button:hover{color:var(--rust);background:var(--paper)}
#entity-popover .record-popover-actions{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:6px;margin-top:7px}
#entity-popover .record-popover-actions button{display:block;min-height:23px;width:auto;padding:2px;font:600 11px var(--sans);border:0;background:transparent}
body[data-view=network] #map-status{width:202px;max-width:202px;padding:7px 8px}
body[data-view=network] #map-status .graph-heading{padding:0;margin:0 0 4px;display:block}
body[data-view=network] #map-status .graph-heading>div,body[data-view=network] #semantic-summary,body[data-view=network] #map-status .map-exploration-controls{display:none}
body[data-view=network] #map-status #visible-count{font:9px/1.4 var(--mono);white-space:nowrap}
.overview-map{position:relative;width:184px;height:96px;overflow:hidden;background:var(--paper);border-radius:3px}
.overview-map canvas{display:block;width:184px;height:96px;cursor:crosshair}
.overview-map>svg{position:absolute;inset:0;width:184px;height:96px;pointer-events:none}
#overview-viewport{fill:#aa4d3810;stroke:var(--rust);stroke-width:1.2}
.overview-origin{fill:var(--white);stroke:var(--rust);stroke-width:1.5}.overview-step{fill:var(--rust);stroke:var(--white);stroke-width:.6}
#exploration-trail{position:absolute;left:230px;right:150px;bottom:14px;z-index:18;display:flex;align-items:center;gap:6px;overflow:auto;white-space:nowrap;padding:6px 9px;border:1px solid var(--line);border-radius:5px;background:var(--white);font:11px/1.3 var(--sans);scrollbar-width:thin;max-width:max-content}
#exploration-trail[hidden]{display:none}
#exploration-trail .walk-origin-label{font-size:10px;color:var(--muted)}
#exploration-trail button{font:600 11px var(--sans);min-height:22px;padding:2px 4px;max-width:170px;overflow:hidden;text-overflow:ellipsis;flex:none}
#exploration-trail button[aria-current=step]{color:var(--rust);background:var(--paper);border-radius:3px}
.walk-separator{color:var(--muted)}
body[data-view=network] #graph .origin-node{opacity:1!important}
body[data-view=network] #graph .origin-node .node-halo{fill:none;opacity:1!important;stroke:var(--rust);stroke-width:1.5;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}
body[data-view=network][data-direct-exploration=true] #graph .context-node{opacity:.4!important}
body[data-view=network][data-direct-exploration=true] #graph .context-link .graph-edge{opacity:.1!important}
body[data-view=network] #graph .trail-node{opacity:1!important}

.overview-trail-line{stroke:var(--rust);stroke-width:1.2;fill:none}

/* Flyouts use the same direct manipulation as the other desktop windows. */
body[data-view=network] #entity-popover{display:flex;flex-direction:column;overflow:visible;min-height:0}
#entity-popover>.popover-heading.floating-panel-header{flex:none;padding:0 0 7px;margin:0;border:0;cursor:move;touch-action:none}
#entity-popover>.popover-heading:before{display:block;width:6px;height:13px;opacity:.65}
#entity-popover .flyout-scroll{display:flex;flex-direction:column;min-height:0;flex:1;overflow:auto}
#entity-popover #popover-type-menu{display:flex;flex-direction:column;min-height:0;flex:1}
#entity-popover #popover-types{flex:none}
#entity-popover #popover-neighbors{min-height:45px;max-height:none;flex:1}
#entity-popover #popover-neighbors[hidden]{display:none!important}
#entity-popover .record-popover-actions{flex:none;gap:10px;flex-wrap:wrap}
#entity-popover .record-popover-actions button{min-height:23px}
#entity-popover .window-corner-resizer{right:-2px;bottom:-2px}

#entity-popover .record-popover-actions button{flex:none;white-space:nowrap}

body[data-view=network] #entity-popover{min-width:250px;max-width:620px}
