:root{--cream:#f7e9ce;--gold:#e6be72;--wine:#712b42;--teal:#63bbb4}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#102323;color:var(--cream);font-family:Tahoma,Arial,sans-serif}button{font:inherit;color:inherit;background:#172d2ddd;border:1px solid #d7d3b445;border-radius:3px;padding:13px 23px;cursor:pointer;transition:background .2s,transform .2s}button:hover{background:#34504d;transform:translateY(-1px)}button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.hidden{display:none!important}#world{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;touch-action:none}#vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 65%,#231b111a);z-index:1}.screen{position:fixed;inset:0;z-index:3}.menuShade{position:absolute;inset:0;background:linear-gradient(90deg,#0b1d2522,#0b1d2588 45%,#0b1d25ed 85%)}.menuContent{position:absolute;right:8%;top:14%;max-width:570px}.eyebrow{font:10px monospace;letter-spacing:3px;color:var(--gold)}h1{font-family:Georgia,serif;font-weight:700;font-size:clamp(70px,8vw,120px);line-height:.93;letter-spacing:-4px;margin:30px 0;text-align:right;text-shadow:4px 5px #452937}h1 span{color:var(--gold)}.menuContent>p{font-size:17px;color:#d7d5bf;margin-bottom:35px}.primary{background:var(--gold);color:#17292c;border-color:var(--gold);font-weight:bold;box-shadow:0 4px 0 #9a7744}.primary:hover{background:#f5d79b}.menuContent .primary{width:250px;text-align:right}.primary span{float:left}.menuDetails{display:flex;gap:20px;font:10px monospace;letter-spacing:1px;color:#b2c3b9;margin:35px 0 15px;direction:ltr}.menuDetails span+span{border-left:1px solid #a7b1a444;padding-left:20px}.byline{font-size:11px;color:#91a79f}.version{position:absolute;left:35px;bottom:35px;font:9px monospace;letter-spacing:2px;color:#a9b9ab}.audio{position:fixed;bottom:24px;right:28px;z-index:15;padding:8px 13px;font:9px monospace;letter-spacing:1px;background:#153031aa}.overlay{position:fixed;inset:0;background:#071a21dc;backdrop-filter:blur(7px);z-index:12;display:grid;place-items:center;padding:25px}.choosePanel{width:min(1080px,100%);text-align:center}.choosePanel h2{font:clamp(30px,4vw,52px) Georgia,serif;margin:15px 0}.choosePanel>p{font-size:13px;color:#bdc7bb}.choosePanel #start{display:inline-block;min-width:240px}.subtle{display:block;margin:15px auto 0;background:transparent;border:0;color:#b0c5bd;font-size:12px}#cards{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;margin:34px 0}.card{background:#163337aa;position:relative;min-height:205px;padding:20px 8px 14px;border:1px solid #a4baa12d;overflow:hidden}.card.selected{border:2px solid var(--gold);background:linear-gradient(#334b40,#233f3d);box-shadow:0 0 35px #d8b66d15}.card.selected:before{content:'✦';position:absolute;top:8px;right:10px;color:var(--gold)}.card canvas{height:140px;width:90px;image-rendering:pixelated;display:block;margin:0 auto 10px}.card span{display:block;font-size:11px}.card small{display:block;font:8px monospace;letter-spacing:1px;color:#a9beb5;margin-top:8px}.bar{position:fixed;left:0;right:0;height:0;background:#071518;z-index:4;pointer-events:none;transition:height 1s}.cinematic .bar{height:8vh}#letterboxTop{top:0}#letterboxBottom{bottom:0}#cinema{position:fixed;inset:0;z-index:5;pointer-events:none}.chapter{position:absolute;top:14%;left:50%;transform:translateX(-50%);text-align:center;transition:opacity .4s;white-space:nowrap}.chapter span{font:10px monospace;color:var(--gold);letter-spacing:4px}.chapter h2{font-size:28px;margin:10px;text-shadow:0 3px 15px #000}.chapter.empty{opacity:0}#subtitle{position:absolute;bottom:13%;left:50%;transform:translateX(-50%);text-align:center;min-width:40%;max-width:88%;text-shadow:0 2px 10px #000}#speaker{font-size:11px;color:var(--gold)}#line{font-size:clamp(19px,3vw,34px);font-weight:bold;line-height:1.5;margin:12px 0}.skip{position:absolute;bottom:25px;left:25px;font-size:10px;padding:7px 13px;pointer-events:auto;background:#17323899}#hud{position:fixed;inset:0;z-index:6;pointer-events:none}.hudTop{display:flex;align-items:flex-start;gap:20px;padding:25px}.hudTop button{pointer-events:auto;padding:10px 17px}.objective{padding:10px 16px;background:#102c2dcc;border:1px solid #e4d9b72a;border-right:3px solid var(--gold);max-width:340px}.objective small{display:block;font:9px monospace;letter-spacing:2px;color:var(--gold);margin-bottom:7px}.objective strong{display:block;font-size:15px}.objective>span{display:block;font-size:11px;color:#a6bab1;margin-top:7px}#keyCount{background:#183733d9;padding:17px;font:20px monospace;color:var(--gold);direction:ltr;margin-right:auto;border:1px solid #d1ca9e33}.hudBottom{position:absolute;bottom:30px;left:30px;right:30px;display:flex;align-items:end;gap:30px;direction:ltr}.statLabel{font:9px monospace;letter-spacing:2px;color:#c0ceb8}.stamina{width:140px;height:6px;background:#334a46;margin:8px 0 10px}.stamina i{display:block;width:100%;height:100%;background:var(--gold)}#hearts{font-size:16px;letter-spacing:4px;color:#d5797c}.instructions{font-size:10px;background:#112d2bb0;padding:10px;color:#b9c8ba;direction:rtl;margin:auto}#dashText{font-size:10px;direction:rtl;margin-bottom:35px}#damage{position:absolute;inset:0;box-shadow:inset 0 0 160px #e32d43;opacity:0;transition:opacity .2s;pointer-events:none}#danger{position:absolute;bottom:0;height:3px;background:#372a25;width:100%}#danger i{display:block;height:100%;background:#ce665e;width:0}#map{position:absolute;left:25px;top:105px;background:#142e2adb;border:1px solid #c9d1b52a;padding:5px}#minimap{display:block;width:140px;height:118px}#toast{position:absolute;top:27%;left:50%;transform:translateX(-50%);background:#f5e8cd;color:#203332;font-size:13px;padding:15px 25px;opacity:0;transition:opacity .3s;border-bottom:4px solid var(--wine);text-align:center;max-width:80%}#toast.show{opacity:1}.smallPanel{width:min(480px,95%);text-align:center;border-top:3px solid var(--gold);padding:35px;background:#173438;box-shadow:0 20px 90px #0008}.smallPanel h2{font-size:34px;margin:18px 0}.smallPanel p{font-size:14px;line-height:2;color:#bdcbbf}.smallPanel .primary{width:100%;margin-top:15px}#endStats{font:12px monospace;color:var(--gold);padding:12px;line-height:2}#touch{display:none;position:absolute;bottom:70px;left:25px;right:25px;justify-content:space-between;align-items:end;direction:ltr;pointer-events:none}#stick{position:relative;width:110px;height:110px;background:#b9d0bd14;border:1px solid #d6e0bc4a;border-radius:50%;pointer-events:auto;touch-action:none}#stick i{position:absolute;left:34px;top:34px;width:40px;height:40px;border-radius:50%;background:#d0ddbc40;border:1px solid #dbe6ba77;pointer-events:none}#stick b{position:absolute;bottom:11px;left:0;width:100%;font-size:8px;font-weight:normal;text-align:center;color:#c5d4b8;pointer-events:none}.touchActions{display:flex;gap:10px;align-items:end}.touchActions button{pointer-events:auto;touch-action:none;border-radius:50%;width:66px;height:66px;padding:0;font-size:11px;user-select:none}.touchActions button:last-child{background:#713648c9}#loading{position:fixed;inset:0;z-index:30;background:#11292c;display:grid;align-content:center;justify-items:center}.loadMark{font:bold 55px Georgia;letter-spacing:5px}.loadMark span{font:10px monospace;color:var(--gold);margin-left:15px}#loading p{font-size:12px;color:#a8beb2}.loadTrack{height:3px;width:200px;background:#32534e;margin:20px}.loadTrack i{display:block;width:30%;height:100%;background:var(--gold);animation:load 1s infinite alternate}@keyframes load{to{transform:translateX(140px)}}@media(hover:none),(max-width:800px){#touch{display:flex}.instructions{display:none}.hudBottom{bottom:20px;left:25px;right:25px}#dashText{margin-left:auto;margin-bottom:25px}.hudTop{padding:15px;gap:10px}.objective{max-width:250px;padding:9px 12px}.objective strong{font-size:12px}.objective>span{font-size:10px}#map{top:110px;left:15px}#minimap{width:96px;height:81px}.audio{right:15px;bottom:12px}#keyCount{font-size:17px;padding:14px}.menuContent{right:8%;top:19%}.menuDetails{gap:12px;font-size:8px}.menuDetails span+span{padding-left:12px}.version{left:20px;bottom:28px;font-size:7px}#cards{grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.card{min-height:135px;padding:10px 5px}.card canvas{height:85px;width:60px;margin-bottom:6px}.card span{font-size:10px}.card small{font-size:6px}.choosePanel h2{font-size:30px}.choosePanel>p{font-size:11px}.overlay{padding:15px}.chapter h2{font-size:22px}#subtitle{min-width:85%;bottom:18%}#line{font-size:22px}.skip{bottom:22px;left:15px}.cinematic .bar{height:7vh}.smallPanel{padding:25px}.smallPanel h2{font-size:28px}}@media(max-height:570px){.menuContent{top:10%}h1{font-size:65px;margin:15px 0}.menuContent>p{margin-bottom:20px}.menuDetails{margin:20px 0 10px}#cards{grid-template-columns:repeat(6,1fr);gap:7px;margin:12px 0}.card{min-height:120px;padding:8px 3px}.card canvas{height:75px;width:50px}.choosePanel h2{font-size:26px;margin:7px}.choosePanel>p{margin:8px}.byline{font-size:10px}#touch{bottom:55px}#stick{width:85px;height:85px}#stick i{left:22px;top:22px}#map{top:100px}#minimap{width:80px;height:68px}}
#lobbyScene{position:fixed;inset:0;display:grid;place-items:center;background:#0e292c;z-index:2}#lobbyBounds{position:relative;width:min(100vw,177.77svh);aspect-ratio:16/9}#lobbyCanvas{width:100%;height:100%;display:block;image-rendering:pixelated;touch-action:none}#lobbyTitle{position:absolute;top:15px;right:20px;background:#14332cd9;padding:10px 16px;border-right:3px solid var(--gold);font-size:13px}.liftUnit{position:absolute;top:37%;transform:translateX(-50%);height:29%;width:10%;pointer-events:none}.liftDisplay{display:block;text-align:center;color:#efe6b9;background:#162b24;font:bold clamp(10px,1.7vw,27px) monospace;letter-spacing:2px;width:62%;margin:auto;white-space:nowrap}.liftUnit button{position:absolute;bottom:0;left:50%;transform:translateX(-50%);pointer-events:auto;font-size:clamp(8px,1vw,15px);padding:8px 12px;white-space:nowrap;border-color:#f2d08e88;background:#16362de8}.liftUnit button:hover{background:#305549}#liftHint{position:absolute;left:20px;bottom:20px;background:#15372ce6;font-size:12px;padding:10px 15px}#liftAction{position:absolute;left:50%;bottom:15%;transform:translateX(-50%);background:var(--gold);color:#18352d;font-size:13px;z-index:3}body.lobbyActive #map{display:none}body.lobbyActive #world{visibility:hidden}body.lobbyActive #vignette{z-index:3;pointer-events:none}@media(max-width:750px){#lobbyTitle{font-size:9px;padding:5px 8px;top:6px;right:8px}.liftUnit button{padding:5px 7px}#liftHint{font-size:9px;padding:6px 8px;left:8px;bottom:7px}#liftAction{font-size:10px;padding:7px 10px}}
/* The user's approved artwork is the complete opening screen. */
.illustratedMenu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:#10282b;padding:0 0 18px}.illustratedMenu #startArtwork{display:block;width:100%;height:auto;max-height:calc(100svh - 104px);object-fit:contain;image-rendering:pixelated;min-height:0}.startActions{min-height:86px;padding:15px 20px 0;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.startActions .primary{min-width:220px;font-size:16px;text-align:right}.startActions .subtle{margin:0;padding:13px 18px;border:1px solid #c2c9ac35}.srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.illustratedMenu~.audio{background:#173834}.illustratedMenu #startArtwork{filter:none}@media(max-width:750px){.illustratedMenu{padding-bottom:35px}.illustratedMenu #startArtwork{max-height:calc(100svh - 155px)}.startActions{gap:8px;flex-direction:column;min-height:130px;padding-top:18px}.startActions .primary{min-width:230px;font-size:15px}.startActions .subtle{font-size:10px;padding:8px 16px}}@media(max-height:570px)and(min-width:751px){.illustratedMenu{padding-bottom:8px}.illustratedMenu #startArtwork{max-height:calc(100svh - 76px)}.startActions{min-height:65px;padding-top:8px}.startActions .primary{padding:10px 20px;font-size:14px}}
/* Fit floor direction and puzzle code within each elevator display. */
.liftDisplay{width:100%;font-size:clamp(9px,1.3vw,22px);letter-spacing:1px}
#codeAction{position:fixed;right:5%;bottom:17%;z-index:7;background:var(--gold);color:#18352d;font-weight:bold}#codeBox{position:fixed;z-index:10;right:3%;top:20%;width:min(360px,90vw);padding:24px;background:#15342ff5;border:3px solid var(--gold);box-shadow:0 12px 50px #0008}#codeBox h2{margin:4px 0 15px}#codeBox p{font-size:12px;line-height:1.8}#codeBox label{display:block;font-size:12px}#codeInput{display:block;width:100%;margin:12px 0;font:32px monospace;letter-spacing:14px;text-align:center;background:#fff1cf;color:#15342f;border:2px solid #d6b66b;padding:10px}#codeBox .primary{width:100%}#closeCode{position:absolute;left:4px;top:4px;padding:4px 10px;border:0;background:transparent}#codeBox small{font-size:10px;color:#ffe3a0}#codeFeedback{color:#ffb9a8;min-height:22px}.startActions{gap:10px}
body.exteriorWin #ending{background:linear-gradient(transparent 45%,#082e2588);backdrop-filter:none;place-items:end center;padding:20px}body.exteriorWin #ending .smallPanel{width:min(600px,95%);padding:18px 28px;background:#133b32ed}body.exteriorWin #ending h2{font-size:27px;margin:8px}body.exteriorWin #ending p{font-size:12px;margin:8px;line-height:1.7}body.exteriorWin #endStats{padding:5px}body.exteriorWin #ending .primary{margin-top:8px}

#campusGate{--campus-bg:#f6eddb;--campus-ink:#183c48;--campus-muted:#64736a;--campus-border:#1e55552e;position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:center;background:var(--campus-bg);color:var(--campus-ink);overflow:auto;direction:ltr;transition:background .3s,color .3s}#campusGate[data-theme=dark]{--campus-bg:#081826;--campus-ink:#ede7ca;--campus-muted:#a1babd;--campus-border:#a5cbce30}.campusTop{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 4vw}.campusBrand{font:700 11px monospace;letter-spacing:3px;display:flex;align-items:center;gap:12px}.campusBrand:before{content:'';width:12px;height:12px;box-shadow:4px 0 #228aa3,0 4px #228aa3,4px 4px #228aa3;background:#228aa3}.campusThemes{display:flex;gap:5px;padding:4px;border:1px solid var(--campus-border);border-radius:5px}.campusThemes button{color:var(--campus-ink);background:transparent;border:0;padding:9px 16px;font:11px monospace;letter-spacing:1px}.campusThemes button[aria-pressed=true]{background:#168ca7;color:#fff}.campusMapScroll{width:100%;overflow-x:auto;flex-shrink:0;scrollbar-color:#658f91 transparent}.campusStage{position:relative;width:100%;aspect-ratio:2048/685;isolation:isolate}.campusMap{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;image-rendering:pixelated;transition:opacity .3s;pointer-events:none}#campusMapNight{opacity:0}#campusGate[data-theme=dark] #campusMapNight{opacity:1}#campusEnter{position:absolute;left:35.5%;top:34%;transform:translate(-50%,-100%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:transparent;padding:8px;min-width:80px;min-height:58px;color:#ffe38d;filter:drop-shadow(2px 3px 0 #173343);touch-action:manipulation}#campusEnter:hover{transform:translate(-50%,-100%) scale(1.08)}#campusEnter span{font:bold clamp(9px,1vw,14px) monospace;letter-spacing:1px;background:#103f4ce8;color:#fff0ba;border:1px solid #ffe7ab;padding:6px 10px;white-space:nowrap}#campusEnter svg{width:clamp(25px,3vw,44px);height:clamp(29px,3.5vw,49px);shape-rendering:crispEdges;animation:campusArrow .95s steps(2,end) infinite}#campusEnter:focus-visible,#campusBuilding:focus-visible{outline:3px solid #fff3a3;outline-offset:5px}#campusBuilding{position:absolute;left:33%;top:27%;width:7%;height:11%;padding:0;border:0;border-radius:0;background:transparent;z-index:2}#campusBuilding:hover{background:#ffe4882b;box-shadow:inset 0 0 0 2px #ffe48890}.campusBottom{display:flex;justify-content:space-between;align-items:end;gap:25px;padding:26px 4vw}.campusIntro{max-width:560px}.campusIntro small{font:10px monospace;letter-spacing:2px;color:#138da5}.campusIntro h2{font:500 clamp(18px,2vw,28px) Georgia,serif;margin:10px 0}.campusIntro p{font-size:12px;line-height:1.7;color:var(--campus-muted);margin:0}.campusNote{text-align:right;font:10px monospace;line-height:1.9;color:var(--campus-muted);max-width:290px}.campusMobileHint{display:none}@keyframes campusArrow{50%{transform:translateY(6px)}}@media(max-width:650px){.campusTop{padding:20px;align-items:start}.campusBrand{font-size:8px;letter-spacing:1px;padding-top:11px}.campusThemes button{padding:9px 11px;font-size:10px}.campusStage{width:1000px}.campusBottom{padding:23px;flex-direction:column;align-items:start;gap:18px}.campusNote{text-align:left}.campusMobileHint{display:block;margin:0 23px 15px;font:10px monospace;color:var(--campus-muted)}#campusEnter span{font-size:10px}#campusEnter svg{width:30px;height:36px}}@media(prefers-reduced-motion:reduce){#campusEnter svg{animation:none}.campusMap,#campusGate{transition:none}}

/* Arabic interface, with physical keyboard shortcuts kept as key labels. */
.campusIntro,.campusNote{direction:rtl;text-align:right}.campusIntro h2{font-family:Tahoma,Arial,sans-serif;line-height:1.6}.campusIntro small,.campusNote,.campusThemes button,#campusEnter span,.eyebrow,.chapter span,.objective small,.statLabel,.card small{font-family:Tahoma,Arial,sans-serif;letter-spacing:0}.campusBrand{letter-spacing:1px}.choosePanel h2{font-family:Tahoma,Arial,sans-serif}.instructions{line-height:1.8}.audio{font-family:Tahoma,Arial,sans-serif;letter-spacing:0}

#keyCount{font-family:Tahoma,Arial,sans-serif;direction:rtl;unicode-bidi:plaintext}.statLabel{font-size:10px}
