:root{color-scheme:dark;font:16px system-ui;background:#0d1214;color:#f8e5b9}*{box-sizing:border-box}body{margin:0;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#0d1214}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}a:focus-visible,button:focus-visible,select:focus-visible,#walkPad:focus-visible,#alleyScene:focus-visible{outline:3px solid #fbd284;outline-offset:3px}.skip{position:absolute;top:-100px;z-index:50;background:#102b2d;padding:12px}.skip:focus{top:4px}header{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:12px 22px;border-bottom:1px solid #a98a52;background:#101719}header .brand{font:25px Georgia;white-space:nowrap}header .brand span{font:12px system-ui;letter-spacing:2px;margin-left:10px}header nav{display:flex;align-items:center;gap:14px;font-size:13px;flex-wrap:wrap}.walk-layout{display:grid;grid-template-rows:minmax(100px,1fr) auto;min-height:0;max-width:1900px;width:100%;height:100%;margin:0 auto;align-self:stretch}.street-frame{position:relative;overflow:hidden;isolation:isolate;min-height:0;background:radial-gradient(ellipse,#263333,#050a0d 80%);touch-action:pan-y;outline-offset:-4px!important}.street{width:100%;aspect-ratio:2/1;transform:translate(-50%,-50%);position:absolute;left:50%;top:50%;transform-origin:center;will-change:transform;user-select:none;transition:transform 140ms ease-out}.street.dragging{transition:none}.street-art{display:block;width:100%;height:100%;pointer-events:none}.door{position:absolute;display:block;z-index:2;background:transparent;border:2px solid transparent;border-radius:4px}.door:hover,.door:focus-visible{border-color:#ffe4a0;background:#ffe4a012;box-shadow:0 0 12px #ffd77c66}.door span{position:absolute;left:50%;top:100%;transform:translateX(-50%);white-space:nowrap;background:#0c1718ed;color:#fff0c7;border:1px solid #dcb65f;padding:7px 12px;border-radius:6px;font:14px system-ui;opacity:0;pointer-events:none}.door:hover span,.door:focus span{opacity:1}.scene-help{position:absolute;top:10px;left:12px;padding:7px 10px;border-radius:6px;background:#071416cc;pointer-events:none;font-size:12px;color:#ffe3a4}#walkStatus{position:absolute;right:12px;top:10px;background:#071416cc;border-radius:6px;padding:7px 10px;font-size:12px;pointer-events:none}.navigation-deck{padding:12px 20px;background:linear-gradient(#171b1a,#0d1415);border-top:1px solid #a58950}.walk-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(6px,1.4vw,24px);max-width:1600px;margin:auto}.floor-nav-button{width:100%;height:clamp(58px,10vh,105px);display:flex;align-items:center;justify-content:center;gap:clamp(5px,1vw,16px);background:#211b13e8;border:2px solid #b99558;border-radius:14px;color:#ffe4a0;box-shadow:0 4px 14px #0005}.floor-nav-button:hover:not(:disabled){background:#4c3a20}.floor-arrow{font-size:clamp(26px,4vw,50px);line-height:.9}.floor-label{font-size:clamp(10px,1.3vw,18px);letter-spacing:.025em;font-weight:700}.pad-row{display:grid;grid-template-columns:minmax(180px,350px) minmax(160px,1fr) auto;align-items:center;gap:18px;max-width:1600px;margin:10px auto 0}#walkPad{height:70px;border:1px solid #a88b52;border-radius:12px;background:radial-gradient(ellipse,#33484a,#172628);display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;cursor:grab;user-select:none}#walkPad:active{cursor:grabbing;background:#3e5658}#walkPad strong{font-size:13px;letter-spacing:1px}#walkPad small{font-size:11px;color:#d9d2ba;margin-top:4px}.pad-help{font-size:12px;color:#d8d3bc;line-height:1.5;margin:0}.pad-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pad-actions button,.pad-actions select{max-width:250px;border:1px solid #977e4d;background:#1b2828;border-radius:7px;padding:10px;font-size:12px}.directory{background:#0c1719;border-top:1px solid #4c513b;padding:8px 20px;max-height:45dvh;overflow:auto}.directory summary{cursor:pointer;color:#ead49f;font-size:13px}.directory ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));list-style:none;padding:0;gap:10px}.directory li a{display:block;padding:12px;border:1px solid #6f674b;border-radius:7px}.directory small{display:block;color:#c1cbbd;margin-top:4px;font-size:12px}#moveHelp{color:#d4cdb8}.noscript-note{padding:12px;background:#263d32}@media(max-width:700px){header{padding:8px 10px;gap:8px}header .brand{font-size:19px}header .brand span{font-size:10px;letter-spacing:1px;margin-left:4px}header nav{font-size:11px;gap:8px}.navigation-deck{padding:9px}.floor-nav-button{gap:4px;border-radius:10px;height:62px;flex-direction:column}.floor-arrow{font-size:25px}.floor-label{font-size:9px}.pad-row{grid-template-columns:minmax(130px,1fr) minmax(120px,1fr);gap:8px;margin-top:8px}.pad-help{display:none}#walkPad{height:64px}#walkPad strong{font-size:11px}#walkPad small{font-size:9px}.pad-actions{justify-content:flex-end;gap:5px}.pad-actions select{width:100%;padding:7px;max-width:none}.pad-actions button{padding:6px 12px}.scene-help{font-size:10px;top:6px;left:6px}#walkStatus{font-size:10px;top:auto;bottom:6px;right:6px}.directory{padding:8px 10px}}@media(max-height:500px){header{padding:6px 12px}.navigation-deck{padding:6px 10px}.floor-nav-button{height:42px;flex-direction:row}.floor-arrow{font-size:24px}.floor-label{font-size:10px}.pad-row{margin-top:6px;grid-template-columns:220px minmax(120px,1fr) auto}#walkPad{height:42px}.pad-help{font-size:10px;display:block}.pad-actions select,.pad-actions button{padding:6px}.directory{padding:5px 12px}.scene-help,#walkStatus{font-size:10px}}@media(prefers-reduced-motion:reduce){.street{transition:none}}

[data-scene][hidden]{display:none!important}.passage{background:transparent;border:0;cursor:pointer}.passage span{opacity:1!important;font-size:clamp(8px,1vw,13px);background:#111c;padding:6px;border:1px solid #b79852}.pad-actions{flex-wrap:wrap}

/* The original ISN emblem is the inner look surface; the gold ring walks. */
.pad-row{grid-template-columns:168px minmax(180px,1fr) auto;gap:18px}.logo-control{display:grid;justify-items:center;gap:5px}#walkPad{position:relative;display:block;width:144px;height:144px;border:2px solid #c8a15b;border-radius:50%;background:radial-gradient(circle,#1b2525 62%,#493a21 63%,#211c13 99%);box-shadow:0 3px 12px #0007;overflow:hidden;isolation:isolate;touch-action:none;overscroll-behavior:contain}#walkPad:active{background:radial-gradient(circle,#1b2525 62%,#604b28 63%)}#walkPad>*{pointer-events:none;position:absolute}.pad-logo{width:61%;height:61%;left:19.5%;top:19.5%;border-radius:50%;object-fit:contain}.pad-ring{inset:19.5%;border:1px solid #f6d68a;border-radius:50%;z-index:1}.pad-look{bottom:22%;left:50%;transform:translateX(-50%);font-size:9px;font-weight:800;letter-spacing:.08em;color:#fff3c5;background:#12130ee8;padding:1px 5px;border-radius:4px;z-index:2}.pad-north,.pad-south{left:50%;transform:translateX(-50%);font-size:10px;font-weight:750;white-space:nowrap}.pad-north{top:5%}.pad-south{bottom:5%}.pad-west,.pad-east{top:50%;transform:translateY(-50%);font-size:19px}.pad-west{left:5%}.pad-east{right:5%}.pad-legend{font-size:10px;letter-spacing:.025em;color:#f9dda2;white-space:nowrap}.pad-help strong{display:block;color:#f4dda7;margin-bottom:4px}#walkPad[data-mode="look"] .pad-ring{box-shadow:0 0 0 3px #fff0b7,0 0 18px #ffcc66}#walkPad[data-mode="walk"]{border-color:#fff0b7;box-shadow:inset 0 0 14px #ffca69,0 0 0 2px #fff0b7}.pad-actions{max-width:300px;justify-content:flex-end}
@media(max-width:700px){.pad-row{grid-template-columns:146px minmax(0,1fr);gap:8px}#walkPad{width:132px;height:132px}.pad-help{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pad-actions{width:100%;max-width:none}.pad-actions button,.pad-actions select{min-height:36px}.pad-legend{font-size:9px}}
@media(max-height:500px){.pad-row{grid-template-columns:110px minmax(120px,1fr) auto;gap:12px}#walkPad{width:94px;height:94px}.pad-legend{font-size:7px}.pad-look{font-size:7px;padding:0 3px}.pad-north,.pad-south{font-size:8px}.pad-west,.pad-east{font-size:15px}.pad-help{position:static;width:auto;height:auto;overflow:visible;clip-path:none;font-size:10px}.pad-help strong{margin-bottom:1px}.pad-actions{max-width:250px}.pad-actions button,.pad-actions select{min-height:32px}}
@media(max-width:520px) and (max-height:500px){.pad-row{grid-template-columns:110px minmax(0,1fr)}.pad-help{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}

/* Floor tracker update: the artwork gets the space previously used by buttons. */
.walk-layout{max-width:none;grid-template-rows:minmax(100px,1fr) auto}
.navigation-deck{padding:7px 14px}.pad-row{display:flex;justify-content:space-between;align-items:center;margin:0;max-width:none;gap:12px}
.logo-control{position:absolute;z-index:5;left:50%;top:var(--floor-top,82.5%);transform:translate(-50%,-50%);width:var(--floor-width,34%);pointer-events:none;gap:0}
#walkPad{pointer-events:auto;width:100%;height:auto;aspect-ratio:2.18;border:2px solid #cda958;border-radius:50%;background:radial-gradient(ellipse,#151b19 60%,#d3a84c 61%,#3d2b10 63%,#161813 86%,#d3a84c 95%,#2b200e 99%);box-shadow:0 6px 16px #0009,inset 0 0 12px #f3bf4b80}
#walkPad:active{background:radial-gradient(ellipse,#202c2b 60%,#e2bc69 61%,#5a4118 63%,#28281b 86%,#e2bc69 95%)}
.pad-logo{object-fit:fill}.pad-look{font-size:clamp(8px,1vw,14px);bottom:22%;padding:0 6px}.pad-north,.pad-south{font-size:clamp(9px,1vw,14px)}.pad-west,.pad-east{font-size:clamp(19px,2vw,29px)}.pad-legend{display:none}
#walkPad:focus-visible{outline-offset:4px}.pad-instructions{position:relative;color:#ead49f;font-size:12px}.pad-instructions summary{cursor:pointer;padding:9px 0}.pad-instructions[open] .pad-help{position:absolute;bottom:100%;left:0;width:min(460px,85vw);height:auto;clip-path:none;overflow:visible;margin:0;padding:14px;background:#0e1b1bf5;border:1px solid #a98a52;border-radius:8px;z-index:10;display:block;font-size:12px}
.pad-actions{max-width:none;gap:8px;flex-wrap:nowrap}.pad-actions button,.pad-actions select{min-height:36px;padding:7px 10px}.pad-actions select{max-width:230px}
.inside-entrance span{opacity:1;font-size:clamp(7px,.72vw,12px);padding:3px 5px;top:0%;white-space:nowrap;line-height:1.3}.inside-entrance span small{display:block;font-size:.85em}.passage[data-scene="street"] span{top:100%;font-size:clamp(7px,.7vw,12px)}
@media(max-width:700px){.pad-row{gap:6px}.pad-actions{width:auto;gap:4px}.pad-actions button,.pad-actions select{padding:7px;font-size:10px}.pad-actions select{width:125px;max-width:125px}.pad-instructions{font-size:10px}.navigation-deck{padding:5px 8px}.scene-help{max-width:60%;font-size:9px}.inside-entrance span{font-size:6px;padding:2px}.passage[data-scene="street"] span{font-size:6px;padding:3px}.pad-look{font-size:8px}.pad-north,.pad-south{font-size:9px}}
@media(max-width:450px){.pad-actions{flex-wrap:wrap;justify-content:flex-end;max-width:260px}.pad-actions select{max-width:115px;width:115px}.pad-instructions summary{max-width:56px}.scene-help{max-width:55%}}
@media(max-height:500px){.navigation-deck{padding:3px 10px}.pad-actions button,.pad-actions select{min-height:30px;padding:5px}.pad-instructions summary{padding:5px 0}.pad-legend{display:none}}
@media(max-width:600px) and (orientation:portrait){body{height:auto;min-height:100dvh;grid-template-rows:auto auto 1fr;align-content:start}.walk-layout{height:auto;grid-template-rows:minmax(280px,72vw) auto;align-self:start}.directory{align-self:start}}

/* A physical guest book on the floor opens the full game collection on request. */
.alley-game-book{position:absolute;left:22%;top:68%;width:7%;padding:0;border:0;background:none;color:#ffe3a1;z-index:3;filter:drop-shadow(0 5px 5px #0008)}
.alley-game-book[hidden]{display:none}.alley-game-book img{display:block;width:100%;height:auto;pointer-events:none}
.alley-game-book span{position:absolute;left:7%;right:7%;top:17%;font:bold clamp(5px,.72vw,13px) Georgia;transform:rotate(-5deg);text-shadow:0 1px 2px #000;pointer-events:none}
.alley-game-book:hover{filter:drop-shadow(0 0 5px #fbd284)}
#alleyGames{width:min(980px,95vw);max-height:90dvh;padding:24px;color:#f8e5b9;background:#152021;border:1px solid #c4a363;border-radius:12px;overscroll-behavior:contain}
#alleyGames::backdrop{background:#000b}#alleyGames h2{margin:0;font:clamp(22px,3vw,30px) Georgia}
.game-book-head{display:flex;gap:16px;justify-content:space-between;align-items:center}.game-book-head button{border:1px solid #a98a52;border-radius:6px;background:#263332;min-height:44px;padding:10px;color:inherit;flex-shrink:0}
.game-book-tools{display:flex;gap:16px;margin:22px 0 14px}.game-book-tools label{display:grid;gap:7px;flex:1;min-width:0;font-size:14px}
.game-book-tools input,.game-book-tools select{width:100%;min-height:44px;border:1px solid #9e895b;border-radius:6px;background:#0b1416;color:#fff0cd;font:inherit;padding:10px}
#alleyGames input:focus-visible{outline:3px solid #fbd284;outline-offset:2px}
#alleyGameCount,.game-book-note{font-size:13px;color:#d1c7ad;line-height:1.5}
#alleyGameList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:50dvh;overflow:auto;padding:4px}
#alleyGameList a{display:grid;gap:6px;padding:12px;border:1px solid #6c634c;border-radius:5px;min-width:0;overflow-wrap:anywhere;background:#1b2929}
#alleyGameList a:hover{background:#32423a}#alleyGameList small{font-size:12px;color:#c5c8b9}
@media(max-width:600px){#alleyGames{padding:16px}.game-book-head{align-items:start;gap:8px}.game-book-head button{max-width:120px;font-size:12px}.game-book-tools{gap:10px;margin-top:16px}#alleyGameList{grid-template-columns:1fr;max-height:48dvh}.game-book-note{margin-bottom:0}}
@media(max-height:500px){#alleyGames{padding:14px}.game-book-tools{margin:12px 0 8px}#alleyGameList{max-height:33dvh}.game-book-note{margin:8px 0 0}}

/* Automatic travel follows the same camera path without transition lag. */
.street.touring{transition:none}
