/* atlasunlimited.world /walk/: full-screen walkable world. Palette and type from /world.css. */
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/libre-baskerville-latin.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2')}
:root{--bg:#06080e;--ink:#eef3fc;--muted:#a3b0c4;--line:#22304a;--warm:#ffb765;--gold:#e9d3a7;--glass:rgba(6,8,14,.62);--serif:'Libre Baskerville',Georgia,serif;--sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none}
a{color:inherit}
:focus-visible{outline:3px solid #efbc68;outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.walk{position:fixed;inset:0;overflow:hidden;background:radial-gradient(120% 70% at 50% 110%,rgba(255,183,101,.22),transparent 60%),linear-gradient(180deg,#06080e,#111c30)}
.walk-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab;outline-offset:-4px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.walk.is-dragging .walk-canvas{cursor:grabbing}
/* top bar */
.walk-top{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top) + 14px) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));pointer-events:none}
.walk-top>*{pointer-events:auto}
.walk-mark{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:.74rem;letter-spacing:.14em;color:var(--muted);padding:6px 12px 6px 6px;border-radius:999px;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.walk-mark b{color:var(--ink)}
.walk-mark img{border-radius:50%;background:#fff;padding:2px}
.walk-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.walk-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border:1px solid rgba(238,243,252,.34);border-radius:999px;background:var(--glass);color:var(--ink);font:700 .78rem var(--sans);letter-spacing:.02em;text-decoration:none;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.walk-btn:hover{border-color:var(--warm)}
.walk-btn[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#0a1120}
.walk-btn[hidden]{display:none}
.walk-btn-quiet{color:var(--muted)}
.walk-btn-gold{background:linear-gradient(100deg,var(--gold),var(--warm));color:#0a1120;border:0}
/* hint, chip */
.walk-hint{position:absolute;left:50%;top:calc(env(safe-area-inset-top) + 76px);transform:translateX(-50%);margin:0;max-width:min(92vw,560px);padding:8px 16px;border-radius:14px;background:var(--glass);color:#dfe6f2;font-size:.84rem;text-align:center;pointer-events:none;transition:opacity .8s ease}
.walk-hint.off{opacity:0}
.walk-chip{position:absolute;right:max(16px,env(safe-area-inset-right));top:calc(env(safe-area-inset-top) + 70px);margin:0;padding:6px 12px;border-radius:999px;background:var(--glass);font-size:.76rem;color:var(--gold);pointer-events:none}
.walk-chip[hidden]{display:none}
/* places */
.walk-places{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 46px);transform:translateX(-50%);display:flex;gap:4px;padding:6px;max-width:calc(100vw - 24px);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:999px;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 0 1px rgba(238,243,252,.14)}
.walk-places::-webkit-scrollbar{display:none}
.walk-places button{flex:0 0 auto;min-height:44px;padding:9px 15px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:400 .92rem var(--serif);cursor:pointer;white-space:nowrap}
.walk-places button:hover{color:var(--warm)}
.walk-places button[aria-pressed=true]{background:linear-gradient(100deg,var(--gold),var(--warm));color:#0a1120}
.walk-places .short{display:none}
.walk-credit{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 10px);transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);margin:0;font-size:.68rem;line-height:1.35;color:#c3ccda;text-align:center;text-shadow:0 1px 3px #000;pointer-events:none}
.walk-credit strong{color:var(--ink)}
.walk-flash{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 55%,#fff6e0,#ffd9a0 55%,#f2b36b);transition:opacity .6s ease}
.walk-flash.on{opacity:1}
.walk-door{position:absolute;right:max(12px,env(safe-area-inset-right));top:46%;z-index:3;max-width:min(60vw,320px);min-height:44px;padding:10px 16px;border:0;border-radius:999px;background:linear-gradient(100deg,var(--gold),var(--warm));color:#0a1120;font:700 .8rem var(--sans);box-shadow:0 8px 26px rgba(0,0,0,.35),0 0 24px rgba(255,183,101,.45);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.walk-door.left{right:auto;left:max(12px,env(safe-area-inset-left))}
.walk-door[hidden]{display:none}
/* stick: touch screens only */
.walk-stick{display:none;position:absolute;left:max(18px,env(safe-area-inset-left));bottom:calc(env(safe-area-inset-bottom) + 110px);width:124px;height:124px;border-radius:50%;background:radial-gradient(circle,rgba(6,8,14,.25),rgba(6,8,14,.55));box-shadow:0 0 0 2px rgba(238,243,252,.4) inset;touch-action:none}
.walk.is-touch .walk-stick{display:block}
.walk-knob{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff6e0,var(--warm));box-shadow:0 4px 18px rgba(0,0,0,.45);pointer-events:none}
/* loading */
.walk-loading,.walk-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(120% 70% at 50% 110%,rgba(255,183,101,.25),transparent 60%),linear-gradient(180deg,#06080e,#111c30);opacity:0;transition:opacity .5s ease;z-index:5}
.walk-loading.on,.walk-fallback{opacity:1}
.walk-loading[hidden],.walk-fallback[hidden]{display:none}
.walk-loading-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;filter:blur(3px) saturate(1.1)}
.walk-loading-poster[hidden]{display:none}
.walk-loading-card{position:relative;max-width:520px;text-align:center}
.walk-kicker{margin:0;color:var(--warm);font-size:.7rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase}
.walk-loading-title{font:400 clamp(1.8rem,4vw,2.8rem)/1.15 var(--serif);letter-spacing:-.03em;margin:14px 0 12px}
.walk-loading-line{margin:0 auto;max-width:440px;color:#cfd8e6;font-size:1rem;line-height:1.65}
.walk-bar{margin:26px auto 10px;width:min(320px,70vw);height:4px;border-radius:4px;background:rgba(238,243,252,.16);overflow:hidden}
.walk-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--warm));transform:scaleX(0);transform-origin:left;transition:transform .2s linear}
.walk-loading-pct{margin:0;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
.walk-debug{position:absolute;left:12px;top:70px;margin:0;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.6);color:#9fe;font:12px/1.4 ui-monospace,Menlo,monospace;pointer-events:none;white-space:pre}
/* narrow screens */
@media (max-width:640px){
  .walk-mark-long{display:none}
  .walk-mark{padding-right:14px}
  .walk-places .long{display:none}
  .walk-places .short{display:inline}
  .walk-places button{padding:9px 13px;font-size:.88rem}
  .walk-places{bottom:calc(env(safe-area-inset-bottom) + 50px)}
  .walk-credit{left:16px;right:16px;transform:none;width:auto;max-width:none;font-size:.62rem}
  .walk-stick{bottom:calc(env(safe-area-inset-bottom) + 124px);width:112px;height:112px}
  .walk-hint{top:calc(env(safe-area-inset-top) + 70px);font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){
  .walk-loading,.walk-fallback,.walk-hint,.walk-bar span,.walk-flash{transition:none}
}
/* journey: the label under a real object, and the chooser at the golden armillary */
.walk-hot{position:absolute;left:0;top:0;z-index:3;min-height:36px;padding:7px 14px;border:1px solid rgba(233,211,167,.55);border-radius:999px;background:rgba(6,8,14,.5);color:var(--gold);font:700 .76rem var(--sans);letter-spacing:.02em;cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 0 18px rgba(255,183,101,.28)}
.walk-hot:hover,.walk-hot:focus-visible{border-color:var(--warm);color:var(--ink)}
.walk-hot[hidden]{display:none}
.walk-choose{position:absolute;z-index:5;transform:translateX(-50%);display:flex;gap:14px;padding:12px;border-radius:22px;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 40px rgba(0,0,0,.45),0 0 0 1px rgba(233,211,167,.3)}
.walk-choose[hidden]{display:none}
.walk-choose button{display:flex;flex-direction:column;align-items:center;gap:8px;width:136px;padding:8px 6px 10px;border:0;border-radius:16px;background:transparent;color:var(--ink);font:400 .86rem/1.25 var(--serif);text-align:center;cursor:pointer}
.walk-choose button:hover,.walk-choose button:focus-visible{background:rgba(233,211,167,.14);outline:none}
.walk-choose-disc{display:block;width:112px;height:112px;border-radius:50%;background-size:600% 300%;background-position:50% 50%;box-shadow:0 0 0 2px var(--gold),0 0 22px rgba(255,183,101,.55),inset 0 0 18px rgba(0,0,0,.35)}
@media (max-width:520px){.walk-choose button{width:112px}.walk-choose-disc{width:92px;height:92px}}
/* JOURNEY-3D-3: sound toggle and the phone tier's honest line */
.walk-sound[aria-pressed=true]{color:var(--gold);border-color:rgba(233,211,167,.6)}
.walk-tier{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 58px);transform:translateX(-50%);z-index:3;margin:0;width:max-content;max-width:min(92vw,520px);padding:8px 14px;border-radius:14px;background:var(--glass);color:#dfe6f2;font-size:.8rem;line-height:1.35;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* WORLD V2: rooms menu, the folio sheet, film captions, the house-edition note */
.walk-rooms{position:absolute;right:max(16px,env(safe-area-inset-right));top:calc(env(safe-area-inset-top) + 64px);z-index:6;display:flex;flex-direction:column;gap:2px;min-width:240px;padding:8px;border-radius:16px;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(0,0,0,.4),0 0 0 1px rgba(233,211,167,.25)}
.walk-rooms[hidden]{display:none}
.walk-rooms button{min-height:40px;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:400 .92rem var(--serif);text-align:left;cursor:pointer}
.walk-rooms button:hover,.walk-rooms button:focus-visible{background:rgba(233,211,167,.14);outline:none}
.walk-rooms button[aria-current=true]{color:var(--gold)}
.walk-folio{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(4,6,12,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.walk-folio[hidden]{display:none}
.walk-folio-card{width:min(640px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:20px 22px;border-radius:20px;background:#0d1220;color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(233,211,167,.3)}
.walk-folio-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.walk-folio-head h2{margin:0;font:400 1.5rem var(--serif);color:var(--gold)}
.walk-folio-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 6px}
.walk-folio-tabs button{min-height:36px;padding:6px 12px;border:1px solid rgba(233,211,167,.35);border-radius:999px;background:transparent;color:var(--ink);font:600 .78rem var(--sans);cursor:pointer}
.walk-folio-tabs button[aria-selected=true]{background:linear-gradient(100deg,var(--gold),var(--warm));color:#0a1120;border-color:transparent}
.walk-folio-title{margin:10px 0;font:400 1.05rem/1.4 var(--serif)}
.walk-folio-form{display:grid;gap:10px}
.walk-folio-form label{display:grid;gap:4px;font-size:.8rem;color:var(--muted)}
.walk-folio-form input,.walk-folio-form select,.walk-folio-form textarea{width:100%;box-sizing:border-box;padding:9px 11px;border:1px solid #2a3652;border-radius:10px;background:#070a13;color:var(--ink);font:400 .92rem var(--sans)}
.walk-folio-form input:focus,.walk-folio-form select:focus,.walk-folio-form textarea:focus{outline:2px solid var(--warm);outline-offset:1px}
.walk-folio-honest{margin:12px 0 8px;padding:10px 12px;border-left:3px solid var(--gold);background:rgba(233,211,167,.07);font-size:.86rem;line-height:1.45}
.walk-folio-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.walk-folio-note{margin:6px 0 10px;font-size:.76rem;color:var(--muted);line-height:1.45}
.walk-folio-confirm{color:#ffb765}
.walk-folio-explore{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;color:var(--muted)}
.walk-captions{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 118px);transform:translateX(-50%);z-index:4;margin:0;max-width:min(90vw,720px);padding:8px 16px;border-radius:10px;background:rgba(0,0,0,.72);color:#fff;font:500 1.05rem/1.4 var(--sans);text-align:center}
.walk-captions[hidden],.walk-captions:empty{display:none}
.walk-tier-m{padding-right:40px}
.walk-tier-x{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:var(--ink);font-size:1rem;cursor:pointer}
@media (max-width:640px){.walk-reach-btn{padding:9px 12px}.walk-rooms-btn{display:none}}
.walk-tier.walk-tier-m{top:calc(env(safe-area-inset-top) + 66px);bottom:auto}
/* STITCH-1: the sphere's map of everywhere you can go (places not made yet are shown, dimmed) */
.walk-spheres{position:absolute;left:50%;top:50%;z-index:7;transform:translate(-50%,-50%);width:min(94vw,860px);max-height:min(86vh,720px);overflow:auto;padding:14px 18px 18px;border-radius:22px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 40px rgba(0,0,0,.5),0 0 0 1px rgba(233,211,167,.3)}
.walk-spheres[hidden]{display:none}
.walk-spheres-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.walk-spheres h2{margin:0;font:400 1.08rem/1.3 var(--serif);color:var(--gold)}
.walk-spheres h3{margin:12px 0 6px;font:700 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.walk-spheres-x{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:var(--ink);font-size:1.2rem;cursor:pointer}
.walk-spheres-row{display:flex;flex-wrap:wrap;gap:6px}
.walk-spheres-row button{display:flex;flex-direction:column;align-items:center;gap:6px;width:124px;padding:8px 4px 10px;border:0;border-radius:14px;background:transparent;color:var(--ink);font:400 .8rem/1.25 var(--serif);text-align:center;cursor:pointer}
.walk-spheres-row button:hover,.walk-spheres-row button:focus-visible{background:rgba(233,211,167,.14);outline:none}
.walk-spheres-row .walk-choose-disc{width:82px;height:82px}
.walk-spheres-row button.is-soon{cursor:default;opacity:.45}
.walk-spheres-row button.is-soon .walk-choose-disc{background:radial-gradient(circle at 40% 35%,#3a4560,#141a28);box-shadow:0 0 0 2px rgba(233,211,167,.35)}
.walk-spheres-note{font:400 .68rem/1.25 var(--sans);color:var(--muted)}
@media (max-width:520px){.walk-spheres-row button{width:100px}.walk-spheres-row .walk-choose-disc{width:66px;height:66px}}
.walk-spheres-plan{display:block;width:100%;max-width:440px;height:auto;margin:10px auto 2px;border-radius:12px;cursor:pointer;box-shadow:0 0 0 1px rgba(233,211,167,.3)}
/* HOTFIX walk-phone-overlays: the positions below come from layoutOverlays() in walk.js (measured every 500 ms);
   the fallbacks are the old fixed offsets */
.walk .walk-hint{top:var(--walk-top-clear,calc(env(safe-area-inset-top) + 76px))}
.walk .walk-chip{top:calc(var(--walk-top-clear,calc(env(safe-area-inset-top) + 70px)) + var(--walk-hint-h,0px))}
.walk .walk-tier:not(.walk-tier-m){bottom:max(calc(env(safe-area-inset-bottom) + 58px),var(--walk-credit-clear,0px))}
.walk .walk-stick{bottom:max(calc(env(safe-area-inset-bottom) + 110px),var(--walk-bottom-clear,0px))}
.walk .walk-rooms{top:var(--walk-top-clear,calc(env(safe-area-inset-top) + 64px))}
@media (max-width:640px){
  .walk .walk-hint{top:var(--walk-top-clear,calc(env(safe-area-inset-top) + 70px))}
  .walk .walk-stick{bottom:max(calc(env(safe-area-inset-bottom) + 124px),var(--walk-bottom-clear,0px))}
}
/* VISION-01: desktops and tablets get every palace room and the journey on the rail, in two labelled rows */
.walk-places.is-grouped{flex-direction:column;align-items:stretch;gap:2px;padding:5px 8px;border-radius:22px;overflow:visible;bottom:calc(env(safe-area-inset-bottom) + 40px)}
.walk-rail-row{display:flex;align-items:center;gap:2px;max-width:calc(100vw - 40px);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.walk-rail-row::-webkit-scrollbar{display:none}
.walk-rail-row+.walk-rail-row{border-top:1px solid rgba(238,243,252,.12);padding-top:2px}
.walk-rail-label{flex:0 0 5.6em;padding:0 6px 0 8px;font:700 .6rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.walk-places.is-grouped button{min-height:36px;padding:6px 11px;font-size:.82rem}
.walk.has-rail2 .walk-captions{bottom:calc(env(safe-area-inset-bottom) + 150px)}
.walk-rooms.is-grouped{background:rgba(6,8,14,.86);display:grid;grid-template-columns:repeat(2,minmax(210px,auto));column-gap:10px;align-items:start;max-height:calc(100% - var(--walk-top-clear,80px) - 150px);overflow:auto}
.walk-rooms-col{display:flex;flex-direction:column;gap:1px}
.walk-rooms-h{margin:6px 12px 4px;font:700 .64rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.walk-rooms.is-grouped button{min-height:36px;padding:6px 12px;font-size:.88rem}
@media (max-width:640px){.walk-rooms.is-grouped{grid-template-columns:1fr}}
@media (max-width:1200px){.walk-places.is-grouped button{padding:6px 7px;font-size:.76rem}.walk-rail-label{flex-basis:4.8em;padding:0 4px 0 6px}}
@media (max-width:980px){.walk-rail-row{flex-wrap:wrap;justify-content:center;row-gap:0}.walk-rail-label{flex-basis:100%;text-align:center;padding:2px 0 0}}
.walk .walk-tier.walk-tier-m{top:var(--walk-head-clear,calc(env(safe-area-inset-top) + 66px))}
/* WORLD-PHONE-01: the page's one visible h1 is the mark in the header (its full name is read out); the phone's room button
   sits bottom right, across from the stick, above the note and the credit */
.walk-h1{margin:0;font:inherit;display:flex;min-width:0}
.walk .walk-phone-room{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(calc(env(safe-area-inset-bottom) + 110px),var(--walk-bottom-clear,0px));z-index:3}
@media (max-width:640px){.walk .walk-phone-room{bottom:max(calc(env(safe-area-inset-bottom) + 124px),var(--walk-bottom-clear,0px))}}
