/* Locally rendered introduction. Artwork describes features; no invented scan results. */
.step[data-step="welcome"] { gap:14px; }
#view_setup:has([data-step="welcome"]:not([hidden])) { background:radial-gradient(ellipse at 50% 27%,#153140 0%,#0b1520 65%); }
#view_setup:has([data-step="welcome"]:not([hidden])) > .brand-head { margin-bottom:22px; }
.welcome-story { --story-ink:#b4d7ef; position:relative; padding:0 0 5px; }
.welcome-story-top { display:flex; justify-content:space-between; gap:12px; color:var(--story-ink); font:10px/1.6 ui-monospace,monospace; letter-spacing:.13em; text-transform:uppercase; }
.welcome-story-top { align-items:center; }
.welcome-topic-stack { flex:1; min-width:0; overflow-wrap:anywhere; display:grid; }
.welcome-topic-stack > *, .welcome-copy-stack > *, .welcome-next > * { grid-area:1 / 1; min-width:0; }
.welcome-reserve { visibility:hidden; pointer-events:none; }
.welcome-copy-stack { display:grid; }
#welcome_count { flex-shrink:0; opacity:.65; }
#welcome_pause { flex-shrink:0; width:44px; height:44px; padding:0; margin:-12px 0 -12px -8px; background:transparent; border:0; font-size:16px; color:var(--muted); }
.welcome-art { position:relative; display:grid; place-items:center; height:clamp(130px,22svh,210px); margin:8px 0 12px; isolation:isolate; touch-action:pan-y; user-select:none; }
.welcome-art > svg { width:100%; height:100%; overflow:visible; stroke:var(--story-ink); stroke-width:1.2; }
.welcome-halo { position:absolute; width:180px; height:180px; max-height:100%; border-radius:50%; background:radial-gradient(circle,#a7ddd319 0%,#b4d7ef08 47%,transparent 71%); filter:blur(9px); animation:welcome-breathe 7s ease-in-out infinite; }
.welcome-orbits { opacity:.24; transform-origin:180px 100px; animation:welcome-orbit 32s linear infinite; }
.welcome-orbits circle:first-child { stroke-dasharray:112 21 52 48; }
.welcome-orbits circle:last-child { opacity:.6; stroke-dasharray:1 8; }
.welcome-routes { opacity:.38; stroke-dasharray:14 10; animation:welcome-flow 9s linear infinite; }
.welcome-terminal { opacity:.38; }
#welcome_symbol { stroke-width:1.5; filter:drop-shadow(0 0 9px #b4d7ef30); animation:welcome-arrive .45s ease-out; }
.welcome-particles { fill:var(--story-ink); stroke:none; animation:welcome-packets 5s ease-in-out infinite; }
.welcome-copy-layout { text-align:center; min-height:0; }
.welcome-copy-layout h1 { font-size:clamp(27px,7.7vw,35px); line-height:1.14; margin:0 auto 13px; max-width:450px; letter-spacing:-.04em; }
.welcome-copy-layout p { color:#b6c6d2; font-size:14px; line-height:1.65; max-width:420px; margin:0 auto; }
.welcome-story-nav { display:flex; align-items:center; gap:12px; margin:15px 0 0; }
.welcome-story-nav > button { background:transparent; border:0; padding:8px 0; border-radius:9px; }
.welcome-prev { font-size:21px; }
.welcome-next { display:grid; align-items:center; min-width:75px; font-size:12px; text-align:right; }
.welcome-steps { display:flex; flex:1; align-items:center; gap:2px; min-width:0; }
.welcome-steps button { position:relative; flex:1; min-width:0; padding:0; height:44px; background:transparent; border:0; }
.welcome-steps button::after { content:""; position:absolute; inset:21px 3px auto; height:3px; border-radius:5px; background:#b4d7ef28; transition:background .25s,box-shadow .25s; }
.welcome-step-fill { position:absolute; z-index:1; inset:21px 3px auto; height:3px; border-radius:5px; background:var(--story-ink); transform:scaleX(0); transform-origin:left; }
.welcome-steps button[data-complete="true"] .welcome-step-fill { transform:scaleX(1); opacity:.55; }
.welcome-steps button[aria-current="step"]::after { background:#b4d7ef48; }
.welcome-steps button[aria-current="step"] .welcome-step-fill { transform:scaleX(var(--story-progress,0)); box-shadow:0 0 12px #a7ddd340; }
.welcome-progress-announcement { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.welcome-story[data-scene="datacenter"],.welcome-story[data-scene="ai"],.welcome-story[data-scene="uncensored"] { --story-ink:#a7ddd3; }
.welcome-destinations { display:flex; justify-content:center; height:44px; margin-top:6px; }
.welcome-destinations[data-active="false"] { visibility:hidden; pointer-events:none; }
.welcome-destinations a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 4px; border:0; border-radius:0; text-decoration:underline; text-underline-offset:4px; font-size:12px; }
.step[data-step="welcome"] > #setup_new { background:linear-gradient(110deg,#c0e6df,#b4d7ef); box-shadow:0 5px 32px #97d9d312; font-weight:650; }
.step[data-step="welcome"] > #setup_restore { border-color:#b4d7ef25; font-size:13px; }
.welcome-footer { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:center; }
.welcome-footer #setup_partner { width:100%; min-height:44px; padding:10px 0; border:0; border-radius:6px; background:transparent; text-align:left; font-size:13px; }
.welcome-language { position:relative; min-width:0; }
.welcome-language .lang-select { appearance:none; -webkit-appearance:none; min-height:44px; padding:10px 22px 10px 0; background:transparent; border:0; border-radius:6px; text-align:right; font-size:13px; }
.welcome-language > svg { position:absolute; width:16px; height:16px; right:0; top:calc(50% - 8px); pointer-events:none; color:var(--muted); }
.welcome-story[data-active="false"] * { animation-play-state:paused!important; }
@keyframes welcome-orbit { to { transform:rotate(360deg); } }
@keyframes welcome-flow { to { stroke-dashoffset:-96; } }
@keyframes welcome-packets { 0%,100% { opacity:.25;transform:translateX(-14px); } 50% { opacity:.85;transform:translateX(14px); } }
@keyframes welcome-breathe { 0%,100% { opacity:.6;transform:scale(.9); } 50% { opacity:1;transform:scale(1.08); } }
@keyframes welcome-arrive { from { opacity:0;transform:translateY(5px); } to { opacity:1;transform:translateY(0); } }
@media(max-width:360px) { .welcome-copy-layout p {font-size:13px;}.welcome-next {min-width:65px;} }
@media(prefers-reduced-motion:reduce) { .welcome-story * { animation:none!important;transition:none!important; } }
