:root{--ink:#15110f;--paper:#f1e9da;--line:#564b3d;--acid:#d5ad70;--warm:#e5d3b5;--cyan:#bba889}
body{background:#100d0b;color:var(--paper)}
#world{filter:saturate(.86) contrast(1.04)}
.start-screen{background:radial-gradient(circle at 50% 45%,rgba(56,40,27,.66),rgba(12,10,9,.94) 62%),linear-gradient(90deg,#100d0b,#21180f);padding:4.5vh 4vw 3vh}
.start-screen:before{background-image:linear-gradient(rgba(220,184,127,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(220,184,127,.06) 1px,transparent 1px);background-size:80px 80px;mask-image:none}
.start-screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 36%,rgba(0,0,0,.58) 100%);z-index:-1}
.start-chrome,.start-footer{position:relative;z-index:2;border-top:1px solid rgba(213,173,112,.31);border-bottom:1px solid rgba(213,173,112,.31);padding:14px 2px;font:600 10px "Space Grotesk",Arial,sans-serif;letter-spacing:.19em;color:#bba98e;direction:ltr}
.start-chrome i{font-style:normal;color:var(--acid);padding:0 12px}
.start-footer{border-top:1px solid rgba(213,173,112,.31);border-bottom:0;text-transform:uppercase}
.start-content{width:100%;max-width:none;margin:auto 0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(245px,.66fr) minmax(240px,.58fr);border-top:1px solid rgba(213,173,112,.28);border-bottom:1px solid rgba(213,173,112,.28);min-height:min(570px,70vh);direction:rtl}
.start-content>section{padding:clamp(22px,3vw,54px);min-width:0}
.start-content>section+section{border-right:1px solid rgba(213,173,112,.28)}
.entry-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.eyebrow{font-size:11px;letter-spacing:.08em;color:#d4b787;margin:0 0 30px}
.dot{background:#b5d1a3;box-shadow:0 0 0 5px rgba(181,209,163,.12)}
.start-content h1{font-size:clamp(56px,5.9vw,104px);line-height:1.08;letter-spacing:-.06em;margin:0 0 32px;font-weight:600}
.start-content h1 em{color:#e5bd85;font-style:normal}
.start-desc{font-size:clamp(15px,1.2vw,19px);line-height:1.9;color:#d6c9b6;max-width:550px;margin:0 0 24px}
.entry-status{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:11px;color:#b6a78e;margin-bottom:32px}
.status-light{width:7px;height:7px;border-radius:50%;background:#a9d29d;box-shadow:0 0 11px #a9d29d}.entry-divider{color:#74624a}
.start-actions{flex-direction:column;align-items:flex-start;gap:9px}.start-actions>span{color:#9c8d76}
.primary-button{min-width:260px;padding:17px 22px;background:#d5ad70;border-color:#e6ca99;color:#17120c;box-shadow:0 0 35px rgba(213,173,112,.13);font-size:16px}.primary-button:hover{background:#f2d6a2;transform:translateY(-2px)}
.entry-col-label{display:block;color:#c4a779;font:700 11px "Space Grotesk",Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;padding-bottom:18px;border-bottom:1px solid rgba(213,173,112,.21)}
.start-controls{display:grid;gap:0;margin-top:14px}.start-controls>div{padding:14px 0;border-bottom:1px solid rgba(213,173,112,.14);display:flex;gap:7px;min-height:59px}.start-controls>div span:not(.mouse-icon){margin-right:auto;margin-left:14px;font-size:12px;color:#d4c6b0}.start-controls kbd{height:28px;min-width:28px;border-color:#71624f;color:#ede1cf;font-size:11px}.mouse-icon{margin:0;color:#d5ad70}
.entry-route ol{list-style:none;padding:0;margin:13px 0 20px;direction:ltr}.entry-route li{padding:8px 0;border-bottom:1px solid rgba(213,173,112,.11);font:500 clamp(10px,.9vw,12px) "Space Grotesk",Arial,sans-serif;color:#d6c9b8;white-space:nowrap}.entry-route li span{color:#c7a36b;margin-right:15px;font-size:10px}.entry-route p{font-size:11px;line-height:1.8;color:#a89476;margin:0}
.start-orbit,.start-star{display:none}
.hud-top{background:linear-gradient(180deg,rgba(12,9,7,.81),transparent)}.hud-bottom{background:linear-gradient(0deg,rgba(12,9,7,.81),transparent)}
.hud-floors{pointer-events:auto;background:rgba(20,15,11,.82);color:#e7c38d;border:1px solid rgba(214,176,115,.48);padding:8px 12px;font-size:11px;font-weight:700;white-space:nowrap}.hud-floors span{font-size:17px;margin-inline-start:8px}.hud-floors:hover{background:#d5ad70;color:#17110c}
.hud-brand{color:#e9d3af}.brand-mark{background:#d5ad70;color:#1b1510}.floor-readout,.map-wrap,.location-card,.controls-reminder{background:rgba(20,15,11,.78);border-color:rgba(214,176,115,.28)}.floor-readout strong,.map-wrap>span,.location-card .micro,.controls-reminder span{color:#e4bb7f}.location-card{border-right-color:#d5ad70}.crosshair span{background:#eed5a8!important}.interact-button{background:#d5ad70;border-color:#e2c38f;color:#17120e}.interact-button kbd{border-color:#17120e}
.overlay-backdrop{background:rgba(8,6,5,.86)}.elevator-panel,.art-panel,.help-panel{background:#ebe2d3;color:#241a13;border-color:#f1dfbf}.floor-card{background:#f3e9d8;border-color:#a99a84}.floor-card:hover{background:#e4c99d}.floor-card.current{background:#e1d2b8}.lift-icon{background:#211810;color:#d9b378}.art-client{background:#dfc497}.lift-transition{background:#100c0a}.lift-transition-content>span{color:#d5ad70}.lift-line span{background:#d5ad70}
@media(max-width:1120px){.start-content{grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr)}.entry-route{display:none}.start-content h1{font-size:clamp(58px,7vw,90px)}}
@media(max-width:700px){.start-screen{overflow:auto;min-height:100dvh;padding:15px}.start-content{display:block;min-height:0;margin:24px 0}.start-content>section{padding:24px 8px}.start-content>section+section{border-right:0;border-top:1px solid rgba(213,173,112,.28)}.start-content h1{font-size:clamp(50px,13vw,76px)}.start-desc{font-size:15px}.entry-controls{display:none}.entry-route{display:block}.entry-route ol{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.entry-route li{white-space:normal}.start-footer,.start-chrome{font-size:9px}.start-actions{align-items:stretch}.primary-button{width:100%}}

/* Keep the exterior visible before the visitor enters the gallery. */
.start-screen{background:transparent;pointer-events:none;overflow:hidden}
.start-screen:before{display:none}
.start-screen:after{background:linear-gradient(0deg,rgba(8,8,7,.65),transparent 43%),linear-gradient(90deg,transparent 58%,rgba(8,8,7,.32));z-index:-1}
.start-chrome,.start-footer{border:0;text-shadow:0 1px 10px #000}
.start-footer{margin-top:auto}
.start-content{position:absolute;right:4vw;bottom:8vh;width:min(420px,90vw);max-width:none;min-height:0;margin:0;display:block;border:0;pointer-events:auto}
.start-content>section.entry-intro{padding:25px 28px;background:rgba(22,18,15,.8);border:1px solid rgba(232,197,148,.42);backdrop-filter:blur(12px);box-shadow:0 22px 70px rgba(0,0,0,.26)}
.start-content h1{font-size:clamp(44px,4vw,60px);line-height:1.12;margin-bottom:13px}
.start-desc{font-size:14px;line-height:1.7;margin-bottom:18px}
.entry-controls,.entry-route{display:none}
.entry-status{margin-bottom:18px}
.start-actions{gap:10px;align-items:flex-start;flex-direction:column}
.start-actions>span{font-size:10px}
@media(max-width:700px){.start-screen{min-height:100dvh;padding:14px}.start-content{right:4vw;bottom:5vh;width:92vw}.start-content>section.entry-intro{padding:20px}.start-content h1{font-size:clamp(42px,12vw,56px)}.start-desc{font-size:13px}.start-footer{display:none}.start-chrome{font-size:8px}.primary-button{width:100%}}
.egypt-time{display:block;margin-inline-start:12px;padding:6px 9px;border:1px solid rgba(213,173,112,.48);color:#e6c996;background:rgba(24,19,15,.68);font:600 10px "IBM Plex Sans Arabic",Tahoma,sans-serif;white-space:nowrap}
@media(max-width:700px){.egypt-time{display:none}}
.start-content{bottom:7vh;width:min(380px,90vw)}
.start-content>section.entry-intro{padding:16px 20px}
.start-content .eyebrow{margin-bottom:10px;font-size:10px}
.start-content h1{font-size:42px;line-height:1.04;margin-bottom:9px}
.start-content .start-desc{font-size:12px;line-height:1.5;margin-bottom:10px}
.start-content .entry-status{font-size:10px;gap:7px;margin-bottom:11px}
.start-content .primary-button{padding:10px 15px;min-width:205px;font-size:14px}
.start-content .start-actions>span{font-size:9px}
@media(max-width:700px){.start-content{right:4vw;bottom:4vh;width:92vw}.start-content h1{font-size:40px}}

/* Elevator travel display */
.sound-toggle{font:700 20px/1 "Space Grotesk",Arial,sans-serif;border-color:rgba(213,173,112,.55);color:#eacb9a}
.sound-toggle[aria-pressed="false"]{opacity:.48}
.lift-transition{background:radial-gradient(circle at 50% 47%,#30251a 0,#15100d 55%,#0c0908 100%)}
.lift-transition:before,.lift-transition:after{content:"";position:absolute;top:0;bottom:0;width:min(12vw,145px);background:repeating-linear-gradient(90deg,rgba(210,173,118,.07) 0 2px,transparent 2px 13px);border-inline:1px solid rgba(213,173,112,.18)}
.lift-transition:before{left:0}.lift-transition:after{right:0}
.lift-transition-content{position:relative;width:min(430px,76vw);padding:32px 24px;border:1px solid rgba(213,173,112,.37);background:rgba(10,8,7,.52);box-shadow:0 30px 90px rgba(0,0,0,.35)}
.lift-route{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:28px;color:#d5ad70;font:700 16px "Space Grotesk",Arial,sans-serif;direction:ltr}
.lift-route small{opacity:.68;font-size:15px}.lift-route b{font-size:32px;line-height:1}
.lift-transition strong{color:#f2d6a8;text-shadow:0 0 32px rgba(213,173,112,.27);font-size:clamp(130px,20vw,240px);font-variant-numeric:tabular-nums}
.lift-transition p{font-size:clamp(17px,2vw,25px);margin:10px 0 28px;min-height:1.5em}
.lift-line{width:min(280px,100%);background:#3c3228;overflow:hidden}.lift-line span{animation:none;width:0;transition:none}
.lift-transition-content>.lift-status{font:600 13px "IBM Plex Sans Arabic",Tahoma,sans-serif;letter-spacing:0;color:#cdb99b;margin-top:18px}
.ride-sound-toggle{position:absolute;top:14px;left:14px;width:30px;height:30px;border:1px solid rgba(213,173,112,.55);border-radius:50%;background:#20170f;color:#eacb9a;font:700 18px/1 "Space Grotesk",Arial,sans-serif;cursor:pointer}
.ride-sound-toggle[aria-pressed="false"]{opacity:.5}
.ride-sound-toggle:focus-visible{outline:2px solid #f0d4aa;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.lift-line span{transition:none}}

/* Wayfinding and visitor controls */
.map-wrap{pointer-events:auto;color:inherit;text-align:initial;cursor:pointer;transition:border-color .2s,transform .2s}
.map-wrap:hover{border-color:#e5c48d;transform:translateY(-2px)}
.hud-help{flex:0 0 auto}
.map-panel,.settings-panel{position:relative;z-index:1;width:min(760px,100%);padding:0 28px 28px;max-height:min(90vh,900px);overflow:auto;background:#ebe2d3;color:#241a13;border:1px solid #f1dfbf;box-shadow:18px 18px 0 rgba(0,0,0,.4)}
.settings-panel{width:min(620px,100%)}
.map-panel h2,.settings-panel h2{font-size:clamp(30px,4vw,48px);line-height:1.2;letter-spacing:-.05em;margin:25px 0 4px}
.map-panel h2 span{color:#9b7041;font-family:"Space Grotesk",Arial,sans-serif}
.panel-subtitle{font:700 15px "Space Grotesk",Arial,sans-serif;margin:0 0 18px;color:#654d35}
.map-panel-layout{display:grid;grid-template-columns:minmax(0,420px) minmax(180px,1fr);gap:22px;align-items:start}
.map-panel-layout canvas{width:100%;height:auto;max-width:420px;background:#11171b;border:7px solid #27231e;display:block}
.map-legend{display:grid;gap:12px}
.map-legend>div{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #a89a86;background:#f3e9d8;min-height:58px}
.map-legend b{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;background:#34271e;color:#f3e9d8;font:700 18px "Space Grotesk",Arial,sans-serif}
.map-legend span{font-weight:700;font-size:13px}
.map-legend p{margin:0;font-size:12px;line-height:1.7;color:#5b544c}
.map-legend .you-marker{color:#739538;margin-left:5px}
.settings-list{margin-top:26px;border-top:1px solid #ab9b87}
.setting-row{display:grid;grid-template-columns:minmax(145px,1fr) minmax(150px,1.1fr) 52px;align-items:center;gap:15px;min-height:94px;border-bottom:1px solid #ab9b87}
.setting-row>span{display:flex;flex-direction:column;gap:4px}
.setting-row strong{font-size:16px}
.setting-row small{font-size:11px;color:#6b6055;line-height:1.5}
.setting-row input[type=range]{width:100%;accent-color:#a87143;cursor:pointer}
.setting-row output{font:700 12px "Space Grotesk",Arial,sans-serif;text-align:left;direction:ltr}
.setting-row select{grid-column:2 / 4;border:1px solid #957e65;background:#f7eee0;color:#241a13;padding:11px 12px;font:600 13px "IBM Plex Sans Arabic",Tahoma,sans-serif;cursor:pointer}
.settings-note{font-size:12px;color:#6b6055;line-height:1.7;margin:18px 0 0}
@media(max-width:650px){.hud-top{gap:5px}.hud-help{width:29px;height:29px;font-size:15px}.floor-readout{margin-inline:auto}.floor-readout div{max-width:88px;overflow:hidden}.floor-readout b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-panel,.settings-panel{padding:0 14px 18px;box-shadow:none;max-height:94vh}.map-panel-layout{grid-template-columns:1fr}.map-panel-layout canvas{max-width:340px;margin:auto}.map-legend{grid-template-columns:1fr 1fr;gap:7px}.map-legend>div{padding:7px}.map-legend p{grid-column:1/-1}.setting-row{grid-template-columns:1fr 1fr 48px;gap:8px;min-height:80px}.setting-row strong{font-size:13px}.setting-row small{font-size:10px}}

/* Touch controls keep the artwork visible and leave a clear space for looking around. */
#world{touch-action:none}
.touch-controls,.touch-instruction,.touch-help{display:none}
.move-pad{touch-action:none;user-select:none;-webkit-user-select:none}
@media(pointer:coarse),(max-width:900px){
  .desktop-instruction{display:none}
  .touch-instruction{display:inline}
  .map-wrap,.look-label{display:none}
  .touch-help{display:block;border-top:1px solid #b7b9af;padding:12px 0 3px}
  .touch-help p{font-size:13px;line-height:1.7;margin:0 0 9px}
  .touch-help strong{color:#8b5c32;margin-left:8px}
  .help-list{display:none}
  .touch-controls{display:block;position:absolute;left:18px;bottom:calc(19px + env(safe-area-inset-bottom));width:126px;height:126px;pointer-events:none}
  .move-pad{position:absolute;left:0;bottom:0;width:122px;height:122px;border-radius:50%;border:2px solid rgba(233,203,156,.8);background:radial-gradient(circle,rgba(43,32,22,.53) 0 36%,rgba(18,14,11,.78) 37% 100%);box-shadow:0 4px 22px rgba(0,0,0,.34);pointer-events:auto;display:grid;place-items:center;padding:0}
  .move-pad:before,.move-pad:after{content:"";position:absolute;background:rgba(235,210,172,.34);pointer-events:none}
  .move-pad:before{width:1px;height:91px}.move-pad:after{height:1px;width:91px}
  .move-stick{display:block;width:47px;height:47px;border-radius:50%;border:2px solid #f1d4a6;background:#b88850;box-shadow:0 3px 15px rgba(0,0,0,.55);z-index:1;transition:transform .06s linear;pointer-events:none}
  .touch-look-hint{position:absolute;left:1px;bottom:137px;white-space:nowrap;padding:5px 8px;background:rgba(17,13,10,.78);border:1px solid rgba(213,173,112,.4);color:#ead5b8;font-size:11px;line-height:1.3;pointer-events:none}
  .interact-button{left:auto;right:18px;bottom:calc(42px + env(safe-area-inset-bottom));transform:none;max-width:min(46vw,190px);min-height:58px;padding:9px 13px;box-shadow:0 5px 20px rgba(0,0,0,.35);justify-content:center;text-align:center;font-size:13px;line-height:1.35}
  .interact-button kbd{display:none}
  .hud-bottom{bottom:calc(200px + env(safe-area-inset-bottom));padding:0 14px;background:none;justify-content:center}
  .location-card{margin:0;min-width:0;max-width:min(330px,100%);padding:8px 12px;text-align:center;border-right:0;border-bottom:2px solid #d5ad70}
  .location-card strong{font-size:12px}
  .location-card>span:last-child{font-size:10px}
}
@media(max-width:650px){
  .hud-top{padding:calc(8px + env(safe-area-inset-top)) 9px 8px;gap:5px;align-items:center}
  .hud-brand{display:none}
  .hud-help{width:36px;height:36px;font-size:17px}
  .floor-readout{min-width:0;flex:1;max-width:none;min-height:40px;margin:0;padding:5px 8px;gap:7px}
  .floor-readout strong{font-size:24px}
  .floor-readout div{flex:1;max-width:none}
  .floor-readout b{font-size:10px;text-align:right}
  .look-label{max-width:75vw;white-space:normal;text-align:center}
  .start-content{max-height:calc(100dvh - 65px);overflow:auto}
  .start-content>section.entry-intro{backdrop-filter:blur(8px)}
  .overlay{padding:8px}
  .elevator-panel,.art-panel,.help-panel,.map-panel,.settings-panel{max-height:calc(100dvh - 16px)}
}
@media(max-width:900px) and (max-height:500px){
  .touch-controls{left:12px;bottom:calc(9px + env(safe-area-inset-bottom));width:96px;height:96px}
  .move-pad{width:94px;height:94px}
  .move-pad:before{height:68px}.move-pad:after{width:68px}
  .move-stick{width:39px;height:39px}
  .touch-look-hint{display:none}
  .interact-button{right:12px;bottom:calc(19px + env(safe-area-inset-bottom));min-height:49px}
  .hud-bottom{left:115px;right:170px;bottom:calc(10px + env(safe-area-inset-bottom));padding:0}
  .location-card{padding:4px 9px;max-width:100%}
  .location-card .micro,.location-card>span:last-child{display:none}
  .start-screen{overflow:auto}
  .start-content{position:relative;right:auto;bottom:auto;margin:auto 0 10px auto;width:min(400px,94vw);max-height:none;overflow:visible}
  .start-content>section.entry-intro{padding:12px 16px}
  .start-content h1{font-size:34px}
  .start-content .start-desc{font-size:11px}
  .start-content .entry-status{margin-bottom:7px}
}
