/* First-route guidance and readable mobile controls, using existing NEXUS art. */
.journey-card {
    margin: 10px 0 18px; padding: 20px; border: 1px solid #24575e;
    border-radius: 16px; background: linear-gradient(135deg, #102329, #080f16 80%);
    box-shadow: inset 3px 0 #30e0d0; color: #edf7fa;
}
.journey-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.journey-kicker { color:#8ce7df; font:700 11px var(--mono); letter-spacing:1.6px; }
.journey-count { color:#bdd2dd; font:700 12px var(--mono); }
.journey-card h2 { margin:12px 0 8px; font-size:clamp(21px,5.5vw,28px); line-height:1.15; letter-spacing:-.4px; }
.journey-copy { margin:0; color:#b9cbd4; font-size:14px; line-height:1.5; max-width:62ch; }
.journey-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; list-style:none; padding:0; margin:20px 0; }
.journey-steps li { padding-top:9px; border-top:2px solid #30434f; color:#a2b5c1; font-size:12px; }
.journey-steps .current { border-color:#42f0d1; color:#91ffdd; }
.journey-steps .done { border-color:#328d7e; color:#b6e3d9; }
.journey-card button, .runtime-status button {
    min-height:48px; padding:12px 18px; border:1px solid #5ff2dc; border-radius:10px;
    background:#123932; color:#d3fff5; font:700 14px var(--font-main, sans-serif); cursor:pointer;
}
.journey-card button { width:100%; }
.journey-card button:disabled { opacity:.7; cursor:wait; }
.journey-card button:hover { background:#1a5147; }
.runtime-status { display:flex; gap:12px; align-items:center; justify-content:space-between; margin:8px 0; padding:12px 14px; border-radius:12px; border:1px solid #947349; background:#282117; color:#ffe3b5; font-size:13px; line-height:1.4; }
.runtime-status[data-state="syncing"] { border-color:#285d69; background:#102129; color:#c5eff3; }
.runtime-status button { flex-shrink:0; min-height:44px; padding:8px 12px; }
.runtime-status.hidden, .journey-card.hidden { display:none; }
#screen-profile .profile-root-v9 .p-identity-console { display:flex; flex-direction:column; align-items:center; gap:8px; padding:22px 18px; text-align:center; min-height:220px; }
#screen-profile .profile-root-v9 .p-avatar-button { margin:0; padding:7px; border-radius:14px; }
#screen-profile .profile-root-v9 .p-avatar-button img { display:block; width:100%; height:100%; object-fit:cover; border-radius:9px; }
#screen-profile .profile-root-v9 .p-rank-pill-v8 { margin:0; align-self:center; font-size:10px; }
#screen-profile .profile-root-v9 .p-operator-name { margin:0; font-size:clamp(18px,4.8vw,26px); line-height:1.2; overflow-wrap:anywhere; min-width:0; }
#screen-profile .profile-root-v9 .foundation-dossier-root { position:absolute; right:10px; bottom:8px; }
#screen-profile .profile-root-v9 .btn-logout-apex { min-height:48px; color:#c6d6e4; background:#111d28; border-color:#344b62; font-size:12px; letter-spacing:1px; opacity:1; }
#screen-profile .profile-root-v9 .btn-logout-apex:hover { background:#1c3040; color:#fff; }
#screen-profile .profile-root-v9 .security-binding-chip.pending { color:#e4d2a9; }
#screen-profile .profile-root-v9 .section-label { color:#9aafc1; font-size:11px; }
#screen-profile .profile-root-v9 .node-tag, #screen-profile .profile-root-v9 .node-status-label { font-size:10px; }
.m-close { min-width:44px; min-height:44px; display:grid; place-items:center; border:1px solid #456477; background:#10222d; color:#d0e7f3; cursor:pointer; }
.toast-close { min-width:44px; min-height:44px; }
.toast-msg { white-space:pre-line; overflow-wrap:anywhere; }
.dock button.dock-item { border:0; background:transparent; font-family:inherit; min-height:48px; color:#b9c9d7; }
.dock button.dock-item.active { color:var(--n-cyan); }
button:focus-visible, a:focus-visible, input:focus-visible, [tabindex="0"]:focus-visible { outline:2px solid #72ffe2; outline-offset:3px; }
body.modal-open .grid-env, body.modal-open .scanlines, body.modal-open .glitch-overlay,
body.modal-open #nexus-particles { visibility:hidden !important; }
body.modal-open .screen *, body.modal-open .screen *::before, body.modal-open .screen *::after,
body.modal-open .dock *, body.modal-open .dock *::before, body.modal-open .dock *::after,
body.modal-open .nexus-header *, body.modal-open .nexus-header *::before, body.modal-open .nexus-header *::after,
body.modal-open .grid-env, body.modal-open .scanlines, body.modal-open .glitch-overlay, body.modal-open #nexus-particles *,
body.app-background *, body.app-background *::before, body.app-background *::after { animation-play-state:paused !important; }
@media (pointer:coarse), (max-width:600px) {
    .journey-card { padding:18px; }
    .scanlines, .glitch-overlay { opacity:.12 !important; pointer-events:none; }
    body.modal-open .modal { backdrop-filter:none; background:rgba(2,8,13,.96); }
    #screen-profile .profile-root-v9 .p-bento-card { backdrop-filter:none; }
}
@media (prefers-reduced-motion:reduce) {
    .grid-env, .scanlines, .glitch-overlay, #nexus-particles { display:none !important; }
    .journey-card, .nexus-toast { animation:none !important; transition:none !important; }
}
