/* Substantive HAVEN reference content; the daily hub is in mobile-hub.css. */
#welcome,#welcome-ssr { border:0; background:transparent; box-shadow:none; padding:0; }
.welcome-caption,.welcome-label { color:var(--hv-muted); font-size:var(--hv-text-secondary); line-height:1.45; }
.welcome-tasks,.welcome-map,.welcome-federation { margin-top:var(--hv-space-6); padding:var(--hv-space-4); border:var(--hv-border-width) solid var(--hv-line); border-radius:var(--hv-radius-panel); background:var(--hv-surface); }
.welcome-tasks>h3,.welcome-map-head h3 { margin:0 0 var(--hv-space-3); }
.welcome-spaces { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--hv-space-4); margin-top:var(--hv-space-4); }
.welcome-space { min-width:0; padding:var(--hv-space-4); border:var(--hv-border-width) solid var(--hv-line); border-radius:var(--hv-radius-panel); background:var(--hv-quiet-surface); }
.welcome-space h3 { margin:0 0 var(--hv-space-3); font-size:var(--hv-text-block); line-height:1.35; }
.welcome-space p { color:var(--hv-muted); }
.welcome-steps { padding-left:var(--hv-space-6); margin:var(--hv-space-4) 0; }
.welcome-steps li { margin:var(--hv-space-2) 0; }
.welcome-primary,.task-action,.welcome-federation>a,.welcome-space-links>a { display:inline-flex; align-items:center; min-height:var(--hv-control-height); padding:var(--hv-space-2) 0; text-decoration:underline; }
.task-map-layout { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:var(--hv-space-6); }
.task-map-diagram { position:relative; min-height:360px; border:var(--hv-border-width) solid var(--hv-line); border-radius:var(--hv-radius-panel); background:var(--hv-inset); }
.task-map-diagram>svg { position:absolute; inset:0; width:100%; height:100%; }
.task-map-diagram path { stroke:var(--hv-control-line); stroke-width:2; fill:none; }
.task-map-diagram path.selected { stroke:var(--hv-link); stroke-width:3; }
.task-map-port { fill:var(--hv-inset); stroke:var(--hv-control-line); stroke-width:2; }
.task-map-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; width:96px; min-height:var(--hv-control-height); padding:var(--hv-space-2); border:var(--hv-border-width) solid var(--hv-control-line); border-radius:var(--hv-radius-key); background:var(--hv-surface); font-family:var(--hv-font-mono); }
.task-map-node { position:absolute; left:var(--node-x); top:var(--node-y); transform:translate(-50%,-50%); width:110px; max-width:28%; min-height:var(--hv-control-height); padding:var(--hv-space-2); }
.task-map-node[aria-pressed=true] { background:var(--hv-active); color:var(--hv-link); }
.task-map-info { min-width:0; align-self:center; }
.task-map-mobile { display:none; }
.welcome-federation { display:block; }
.welcome-federation>h3 { margin-top:0; }
.welcome-boundary { margin-top:var(--hv-space-6); }
.welcome-space-links { display:flex; flex-wrap:wrap; gap:var(--hv-space-2) var(--hv-space-6); }
/* SSR stays useful while the application loads, without a second oversized hero. */
#welcome-ssr .welcome-shell { display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:var(--hv-space-4); padding:var(--hv-space-4); border:var(--hv-border-width) solid var(--hv-line); border-radius:var(--hv-radius-panel); background:var(--hv-surface); }
#welcome-ssr .welcome-copy { min-width:0; }
#welcome-ssr .welcome-copy h1 { font-size:var(--hv-text-hub-intro); line-height:1.2; }
#welcome-ssr .welcome-core { margin:0; min-width:0; width:112px; }
#welcome-ssr .welcome-core img { display:block; width:100%; height:auto; }
#welcome-ssr .welcome-actions { display:flex; flex-wrap:wrap; gap:var(--hv-space-3); }
#welcome-ssr .welcome-actions a { min-height:var(--hv-control-height); display:inline-flex; align-items:center; }
@media(max-width:1023px) { .task-map-layout { display:none; } .task-map-mobile { display:block; } .task-map-mobile details { margin-top:var(--hv-space-4); } }
@media(max-width:767px) { .welcome-spaces { grid-template-columns:minmax(0,1fr); } #welcome-ssr .welcome-shell { grid-template-columns:minmax(0,1fr) 80px; } #welcome-ssr .welcome-core { width:80px; } #welcome-ssr .welcome-copy h1 { font-size:var(--hv-text-page); line-height:1.3; } }
@media(forced-colors:active) { .task-map-diagram path,.task-map-port { stroke:CanvasText; } .task-map-diagram path.selected { stroke:Highlight; } .task-map-node[aria-pressed=true] { outline:2px solid Highlight; } }
