body[data-page="journey"] {overflow:hidden;background:#07121c;color:#f5f3ee}
body[data-page="journey"] .site-footer {display:none}
body[data-page="journey"] .site-header {position:fixed;inset:0 0 auto;height:86px;background:linear-gradient(#061018cc,transparent);border:0;padding:20px 3.5vw;z-index:40}
body[data-page="journey"] .wordmark {color:#eee7d5}
body[data-page="journey"] .primary-nav a {color:#ccd8da;font-size:14px}
body[data-page="journey"] .sound-toggle,body[data-page="journey"] .settings-toggle {background:#091b2b99;border:1px solid #bce7ec30;border-radius:50px;color:#dce6e5}
.journey {position:relative;height:100svh;isolation:isolate}
#world {position:absolute;inset:0;outline:0;touch-action:none;background:#081725}
#world canvas {display:block;width:100%;height:100%}
#world:focus-visible {outline:2px solid #96ded9;outline-offset:-4px}
.world-shade {position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#051019ed 0%,#07131baf 24%,transparent 62%),linear-gradient(0deg,#06151efa,transparent 26%,transparent 75%,#06101b33);transition:opacity 1.5s}
.journey-intro {position:absolute;left:6.3%;top:26%;width:530px;max-width:48vw;pointer-events:none;z-index:5}
.journey-intro button {pointer-events:auto}
.journey-kicker {font-size:12px;letter-spacing:.26em;color:#c4bc9e;display:flex;align-items:center;gap:12px;margin:0 0 27px}
.journey-kicker span {display:block;width:30px;height:1px;background:#d7bd89}
.journey-intro h1 {font-size:clamp(36px,4.5vw,72px);font-weight:400;line-height:1.35;letter-spacing:-.055em;word-break:keep-all;margin:0 0 23px;text-shadow:0 3px 30px #030d18}
.journey-intro h1 em {font-style:normal;color:#eee5d0}
.journey-lead {font-size:clamp(14px,1.1vw,17px);line-height:1.9;color:#a8bdc8;word-break:keep-all}
.journey-start {margin-top:30px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.journey-primary {border:1px solid #f5d598;background:linear-gradient(110deg,#dfbe82,#f7e2b5);color:#282724;border-radius:3px;padding:16px 25px;font-size:15px;letter-spacing:.015em;font-weight:700;box-shadow:0 5px 35px #e4c08222;cursor:pointer;transition:filter .2s,transform .2s;display:inline-flex;align-items:center;justify-content:center;gap:20px}
.journey-primary:hover {filter:brightness(1.1);transform:translateY(-2px)}
.journey-primary:disabled {opacity:.6;cursor:progress;transform:none}
.journey-text {background:none;border:0;color:#c2d4db;font-size:14px;text-decoration:none;cursor:pointer;padding:8px 0;line-height:1.7}
.journey-text:hover {color:#f4dab0}
.journey-people-teaser {margin-top:42px;display:flex;gap:15px;align-items:center;color:#8fa6b3;font-size:12px;line-height:1.8}
.journey-people-teaser b {font-weight:400;color:#baccd3}
#resident-faces {display:flex;padding-left:7px;min-width:89px}
#resident-faces img {width:36px;height:36px;object-fit:contain;background:#17303a;border:1px solid #7e969750;border-radius:50%;margin-left:-7px}
.world-signature {position:absolute;right:5%;bottom:18%;text-align:right;pointer-events:none;opacity:.8}
.world-signature>span {font-family:Georgia,serif;font-size:13px;letter-spacing:.4em;color:#d9cdb3}
.world-signature p {font-family:Georgia,serif;font-size:clamp(28px,3.3vw,54px);line-height:1.02;letter-spacing:.055em;margin:12px 0;color:#e8e7db}
.world-signature small {font-size:9px;letter-spacing:.28em;color:#8ea9bb}
.world-status {position:absolute;left:6.3%;bottom:119px;font-size:12px;letter-spacing:.06em;display:flex;gap:10px;color:#a9bcc3;pointer-events:none}
.status-star {color:#b7dacc}
.journey-toolbar {position:absolute;bottom:34px;left:6.3%;right:6.3%;display:flex;align-items:center;gap:8px;border-top:1px solid #b8dce72a;padding-top:20px;z-index:10}
.journey-toolbar button,.journey-toolbar a {background:none;border:0;color:#c2d3d9;padding:8px 20px 8px 0;margin-right:15px;font-size:14px;text-decoration:none;cursor:pointer;white-space:nowrap}
.journey-toolbar button:hover,.journey-toolbar a:hover {color:#ffe1ad}
.journey-toolbar button>span {font-size:19px;margin-right:7px;color:#d4bb8d}
.journey-toolbar small {display:inline-block;border:1px solid #97b5c13b;border-radius:50%;min-width:20px;margin-left:5px;color:#91b6c4;font-size:11px}
.journey-toolbar a {margin-left:auto;font-size:12px;margin-right:0;padding-right:0;color:#8ca3af}
#world-labels {position:absolute;inset:0;pointer-events:none;overflow:hidden}
.world-label {position:absolute;left:0;top:0;background:#0b2332cc;border:1px solid #b5dce666;color:#ebf1ed;backdrop-filter:blur(8px);border-radius:40px;padding:8px 13px;white-space:nowrap;cursor:pointer;pointer-events:auto;font-size:12px;box-shadow:0 3px 22px #020b1944;transition:background .3s,opacity .3s}
.world-label:before {content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--place-color);box-shadow:0 0 9px var(--place-color);margin-right:8px}
.world-label:hover {background:#1d4354;color:white;border-color:#ffe1ad}
.journey.entered .journey-intro,.journey.entered .world-signature {visibility:hidden;opacity:0}
.journey.entered .world-shade {opacity:.28}
.journey.entered .world-status {left:auto;right:4%;top:105px;bottom:auto}
.location-heading {position:absolute;left:4%;top:130px;pointer-events:none;text-shadow:0 3px 15px #000}
.location-heading p {font-size:11px;letter-spacing:.15em;color:#a9c7d0;margin:0 0 8px}
.location-heading h2 {font-size:28px;font-weight:400;letter-spacing:-.04em;margin:0 0 8px}
.location-heading>span {font-size:13px;color:#c5d8dc}
#nearby-action {position:absolute;left:50%;bottom:159px;transform:translateX(-50%);z-index:15}
.movement-help {position:absolute;bottom:112px;left:50%;transform:translateX(-50%);font-size:11px;white-space:nowrap;color:#bacdd3;background:#081824aa;padding:8px 14px;border-radius:5px;pointer-events:none}
.movement-help kbd {font-family:inherit;color:#e8e4d3;font-size:11px}
.movement-help i:after {content:'·';margin:0 8px;color:#627e91}
#cancel-walk {position:absolute;bottom:210px;left:50%;transform:translateX(-50%);background:#0b2639bd;color:#d6e7eb;border:1px solid #8babb14a;border-radius:30px;padding:8px 18px;font-size:12px;cursor:pointer}
#nearby-resident {position:absolute;bottom:221px;left:50%;transform:translateX(-50%);background:#163a4de6;color:#d2ede7;border:1px solid #9abfaa88;padding:12px 20px;border-radius:4px;font-size:14px;cursor:pointer;white-space:nowrap}
.journey #cancel-walk {bottom:276px}
.core-neighbors {margin-top:12px;margin-bottom:24px}
.core-neighbors button {flex-basis:93px;background:#14313c}
.core-neighbors img {height:65px;object-position:top}
.residents-voice-label {margin-bottom:6px!important;font-size:13px!important}
@media (max-width:760px) {#nearby-resident {left:auto;right:20px;bottom:207px;transform:none;font-size:11px;padding:11px;max-width:50vw;white-space:normal}.journey #cancel-walk {bottom:261px;left:auto;right:20px;transform:none}.core-neighbors button {flex-basis:86px}}
#touch-pad {display:none}
.travel-toast {position:absolute;top:110px;left:50%;transform:translateX(-50%);padding:12px 20px;border:1px solid #a1d1d044;background:#0e293be6;color:#def0eb;border-radius:5px;font-size:13px;z-index:30;max-width:85vw;text-align:center}
.travel-dialog {width:min(960px,92vw);max-height:87svh;padding:48px;background:linear-gradient(135deg,#102936,#081722);border:1px solid #73999755;border-radius:10px;color:#e2e9e5;box-shadow:0 35px 130px #000a;overflow:auto}
.travel-dialog::backdrop {background:#030a14b8;backdrop-filter:blur(9px)}
.travel-dialog h2 {font-size:clamp(25px,3vw,38px);line-height:1.4;font-weight:400;letter-spacing:-.035em;margin:0 0 16px}
.travel-dialog>p:not(.journey-kicker) {font-size:15px;line-height:1.8;color:#a3bac4}
.travel-dialog .journey-kicker {margin-bottom:16px;font-size:11px}
.travel-close {position:absolute;top:12px;right:18px;width:38px;height:38px;z-index:5;font-size:28px;color:#c9dfe4;background:#143544ba;border:1px solid #87b9c444;border-radius:50%;cursor:pointer}
.destination-grid {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:32px 0 20px}
.destination-grid>button {position:relative;text-align:left;background:linear-gradient(120deg,#1b3c4966,#172c36);border:1px solid #6992963c;padding:25px;color:#e8ece6;cursor:pointer;border-radius:5px;transition:border-color .2s,transform .2s}
.destination-grid>button:hover {border-color:var(--place-color);transform:translateY(-2px)}
.destination-number {display:block;color:var(--place-color);font-family:Georgia,serif;font-size:12px;letter-spacing:.13em;margin-bottom:12px}
.destination-grid strong {font-size:20px;font-weight:400;display:block;margin-bottom:9px}
.destination-grid small {color:#a2bac4;font-size:13px}
.destination-arrow {position:absolute;right:22px;top:25px;color:var(--place-color)}
.resident-search {display:flex;gap:12px;margin-top:25px}
.resident-search label:first-child {flex:1}
.resident-search input,.resident-search select {width:100%;border:1px solid #769eaa60;background:#081e2b;color:#e2ecea;padding:14px 16px;border-radius:4px;font:inherit;font-size:14px}
.resident-search input::placeholder {color:#8aa5b0}
.resident-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.resident-card {text-align:left;background:linear-gradient(#20445270,#0e2533);border:1px solid #79a2ac30;color:#d9e8e8;border-radius:6px;padding:0 0 16px;cursor:pointer;overflow:hidden}
.resident-card:hover {border-color:#dbc493;transform:translateY(-2px)}
.resident-card img {display:block;width:100%;height:145px;object-fit:contain;padding:10px 15px 0;background:radial-gradient(ellipse at 50% 100%,#58717c77,transparent 70%)}
.resident-card strong,.resident-card small {display:block;margin:12px 14px 0;line-height:1.5}
.resident-card strong {font-size:16px;font-weight:400}
.resident-card small {font-size:12px;color:#8fadb9;min-height:36px;margin-top:4px}
#resident-result {font-size:13px;color:#a4bbc4;margin:16px 0}
.resident-footnote {margin-top:24px}
.encounter-dialog {max-width:920px;padding:0}
.encounter-layout {display:grid;grid-template-columns:38% 62%;min-height:460px}
.encounter-portrait {background:radial-gradient(ellipse at 40% 65%,#37636c,#163643 70%);display:flex;align-items:center;justify-content:center;min-height:300px;overflow:hidden}
.encounter-portrait img {width:90%;max-height:460px;object-fit:contain;filter:drop-shadow(0 18px 26px #05121b77)}
.encounter-copy {padding:48px 35px 32px}
.encounter-copy .resident-role {color:#c5b18a;font-size:14px;margin:0 0 25px}
.encounter-copy p {line-height:1.95;color:#c0d3d9;font-size:16px;word-break:keep-all}
.encounter-copy .encounter-eyebrow {font-size:11px;letter-spacing:.18em;color:#89a4b1;margin:0 0 12px}
.encounter-quote blockquote {margin:0;font-size:clamp(17px,1.5vw,23px);font-weight:400;line-height:1.85;color:#e1e4d9;word-break:keep-all;border:0;padding:0}
.encounter-quote cite {display:block;color:#d9c095;font-size:13px;font-style:normal;margin-top:19px}
.encounter-quote .encounter-eyebrow {letter-spacing:.03em;line-height:1.8}
.encounter-actions .voice-next {background:#d1bc8915;border-color:#ddc38b70;color:#f0dab0}
.neighbors-heading {font-size:12px!important;color:#acc4cf!important;margin-top:30px!important}
.core-portrait {position:relative}
.core-portrait img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;max-height:none}
.portrait-initial {font-size:33px;letter-spacing:.1em}
.encounter-actions {display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}
.encounter-actions button {background:#1d3f4d;border:1px solid #71939655;color:#d6e4e4;padding:11px 15px;font-size:13px;border-radius:4px;cursor:pointer}
.encounter-actions button:hover {border-color:#e3c996;color:#ffdc9b}
.encounter-place-image {position:relative;height:240px;overflow:hidden}
.encounter-place-image img {width:100%;height:100%;object-fit:cover}
.encounter-place-image:after {content:'';position:absolute;inset:0;background:linear-gradient(transparent,#102633)}
.place-copy {padding:0 35px 35px}
.place-copy>p {color:#bad0d8;line-height:1.9;font-size:16px}
.neighbor-row {display:flex;gap:12px;overflow:auto;margin-top:22px;padding-bottom:12px}
.neighbor-row button {flex:0 0 120px;color:#dce7e7;background:#1b3a46;border:1px solid #7c9c9a40;border-radius:5px;cursor:pointer;padding:10px}
.neighbor-row img {height:90px;width:100%;object-fit:contain;display:block}
.neighbor-row span {display:block;font-size:13px;margin-top:10px}
.journal-list {list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.journal-list li {background:#1b3846;border:1px solid #78a0a333;border-radius:5px;padding:20px;color:#e1e5d9}
.journal-list small {display:block;margin-top:8px;color:#99b6c1;font-size:13px}
.journal-empty {padding:35px;border:1px dashed #648a9855;text-align:center;color:#9db7c1;font-size:16px;line-height:1.9}
.world-fallback {position:absolute;inset:20% 10%;background:#0c2636eb;padding:40px;z-index:20;text-align:center;border:1px solid #769b9d55;overflow:auto}
.world-fallback a {display:block;padding:18px;color:#e5c897}
body[data-page="journey"] .audio-dock {top:94px;right:4%;bottom:auto;left:auto;transform:none;z-index:42;max-width:540px}
body[data-page="journey"]:has(.audio-dock:not([hidden])) .world-status {visibility:hidden}
.journey [hidden] {display:none!important}
@media (max-height:740px) and (min-width:761px) {.journey-intro {top:23%}.journey-intro h1 {font-size:46px}.journey-people-teaser {margin-top:22px}.journey-start {margin-top:22px}.journey-toolbar {bottom:22px}.world-status {bottom:96px}}
@media (max-width:1000px) {.journey-intro {left:5%;max-width:52vw}.journey-start {gap:14px}.journey-toolbar {left:5%;right:5%}.journey-toolbar button {margin-right:2px;padding-right:12px}.world-signature {right:4%}.resident-grid {grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px) {
 body[data-page="journey"] .site-header {height:76px;padding:18px 20px}.journey {min-height:520px}.journey-intro {left:24px;top:auto;bottom:161px;width:calc(100% - 48px);max-width:none}.journey-intro h1 {font-size:35px;line-height:1.3;margin-bottom:16px}.journey-kicker {font-size:9px;margin-bottom:16px}.journey-lead {font-size:13px;line-height:1.75}.journey-start {margin-top:21px;gap:12px}.journey-primary {padding:14px 18px;font-size:14px}.journey-start .journey-text {font-size:12px}.journey-people-teaser {margin-top:22px;font-size:10px}.journey-people-teaser br {display:none}.journey-people-teaser b {display:block}#resident-faces {min-width:78px}#resident-faces img {width:32px;height:32px}.world-signature {right:24px;top:115px;bottom:auto}.world-signature p {font-size:28px}.world-signature>span {font-size:10px}.world-signature small {font-size:7px}.world-shade {background:linear-gradient(0deg,#071722 8%,#071722ef 23%,#0717227a 56%,transparent 80%)}.world-status {bottom:129px;left:24px;font-size:10px}.journey-toolbar {bottom:24px;left:24px;right:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding-top:14px}.journey-toolbar button {font-size:12px;padding:8px 0;margin:0;text-align:left}.journey-toolbar button>span {font-size:15px;margin-right:2px}.journey-toolbar small {font-size:9px;min-width:17px;margin-left:2px}.journey-toolbar a {grid-column:1/-1;text-align:right;font-size:10px;padding:4px 0;margin-left:0}.journey.entered .journey-toolbar {bottom:14px}.journey.entered .journey-toolbar a {display:none}.journey.entered #overview-world {grid-column:1/-1;text-align:right;font-size:10px;padding:0}.journey.entered .world-status {top:90px;right:20px;left:auto;font-size:9px}.location-heading {top:122px;left:22px;max-width:80vw}.location-heading h2 {font-size:25px}.location-heading>span {font-size:12px;line-height:1.8}.movement-help {display:none}.journey.entered .world-shade {background:linear-gradient(#05172277,transparent 35%,transparent 70%,#051722d9);opacity:.7}#touch-pad {position:absolute;bottom:128px;left:22px;display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(2,38px);gap:4px;touch-action:none}#touch-pad button {border:1px solid #9bced05c;background:#0b2635a8;border-radius:9px;color:#d5e6e3;font-size:22px;touch-action:none;user-select:none}#touch-pad button:first-child {grid-column:2}#touch-pad button:nth-child(2) {grid-column:1;grid-row:2}#touch-pad button:nth-child(3) {grid-column:3;grid-row:2}#touch-pad button:nth-child(4) {grid-column:2;grid-row:2}#nearby-action {left:auto;right:20px;bottom:144px;transform:none;max-width:47vw;padding:14px;font-size:12px}#cancel-walk {bottom:230px;font-size:11px;white-space:nowrap}.world-label {font-size:10px;padding:7px 9px}.travel-dialog {padding:33px 22px;width:94vw;max-height:88svh}.travel-dialog h2 {font-size:25px}.travel-dialog>p:not(.journey-kicker) {font-size:14px}.destination-grid {gap:8px;margin:20px 0}.destination-grid>button {padding:17px 12px}.destination-grid strong {font-size:16px}.destination-grid small {font-size:11px;display:block;line-height:1.7}.destination-arrow {right:12px;top:14px}.resident-search {flex-direction:column;gap:8px}.resident-grid {grid-template-columns:repeat(2,1fr);gap:9px}.resident-card img {height:127px}.resident-card strong {font-size:15px}.resident-card small {font-size:11px}.encounter-dialog {padding:0}.encounter-layout {display:block}.encounter-portrait {min-height:0;height:210px}.encounter-portrait img {height:95%;width:auto;max-width:90%}.encounter-copy {padding:25px 24px}.encounter-copy p {font-size:15px}.encounter-place-image {height:180px}.place-copy {padding:0 24px 25px}.journal-list {grid-template-columns:1fr}.travel-toast {top:82px;font-size:12px;padding:10px 14px}body[data-page="journey"] .audio-dock {bottom:104px;max-width:90vw}.world-fallback {inset:100px 20px 150px;padding:25px}.world-fallback h2 {font-size:22px}
}
.journey.sky-view .location-heading,.journey.sky-view .movement-help,.journey.sky-view #nearby-action,.journey.sky-view #nearby-resident,.journey.sky-view #cancel-walk,.journey.sky-view #touch-pad,.journey.sky-view #world-labels,.journey.sky-view .world-status {display:none!important}
.journey.sky-view .world-shade {opacity:.25;background:linear-gradient(0deg,#06121ee6,transparent 42%)}
.journey-toolbar #look-sky {color:#f2dba9;min-height:44px}
.journey-toolbar #look-sky:disabled {opacity:.45;cursor:progress}
.journey-toolbar #look-sky[aria-pressed="true"] {color:#fff0ce}
.sky-panel {position:absolute;left:5%;bottom:145px;max-width:440px;z-index:6;pointer-events:none;text-shadow:0 2px 22px #02070e}
.sky-panel h2 {font:400 clamp(26px,3vw,40px)/1.4 var(--serif);margin:0 0 10px;color:#efe4cd}
.sky-panel p {font-size:14px;line-height:1.7;margin:8px 0;color:#c4d8df}
.sky-panel .sky-eyebrow {font-size:12px;letter-spacing:.14em;color:#c1b390}
.sky-panel a {pointer-events:auto;display:inline-flex;align-items:center;min-height:44px;color:#f0d9a5;font-size:14px;border-bottom:1px solid #e8d2a555}
.sky-panel .sky-help {margin-top:18px;font-size:12px;color:#9eb7c4}
@media(max-width:1100px) and (min-width:761px){.journey.entered .journey-toolbar>a {display:none}}
@media(max-width:760px){
 .journey {min-height:0}
 .journey-toolbar #look-sky {grid-column:1/3;min-height:44px;font-size:13px}
 .journey.entered #overview-world {grid-column:3;grid-row:2;align-self:center}
 .sky-panel {left:24px;right:24px;bottom:145px;max-width:none}
 .sky-panel h2 {font-size:26px}.sky-panel .sky-help {font-size:12px;margin-top:12px}
}
@media(max-height:560px){
 .sky-panel {left:4%;bottom:92px}.sky-panel h2 {font-size:24px}
 .sky-panel .sky-eyebrow,.sky-panel .sky-help {display:none}
 .sky-panel p {margin:4px 0;font-size:12px}.sky-panel a {font-size:13px}
}
@media(max-width:760px) and (max-height:560px){.sky-panel {bottom:130px}}
@media (prefers-reduced-motion:reduce) {.journey * {transition:none!important;scroll-behavior:auto!important}}
@media (max-width:380px), (max-width:760px) and (max-height:740px) {.world-signature {display:none}}
@media (max-width:760px) {
 .journey:not(.entered) #world-labels {display:none}
 .encounter-portrait.core-portrait img {width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 8%}
 body[data-page="journey"] .audio-dock {top:88px;bottom:auto;left:20px;right:20px;width:auto;max-width:none;transform:none}
 body[data-page="journey"]:has(.audio-dock:not([hidden])) .location-heading {top:186px}
}
