:root{--gold: #e0b256;--ink: #e9e4d6;--panel: rgba(18, 16, 26, .86);--panel-border: rgba(224, 178, 86, .35);font-family:Segoe UI,system-ui,-apple-system,sans-serif;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#07060b;color:var(--ink);cursor:default}#app{display:block;width:100vw;height:100vh;height:100dvh;touch-action:none}#touch{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;opacity:0;transition:opacity .2s}#touch.show{opacity:1}#touch:not(.show) #joystick,#touch:not(.show) #touchJump{pointer-events:none}#joystick{position:absolute;left:calc(26px + var(--safe-l));bottom:calc(30px + var(--safe-b));width:132px;height:132px;border-radius:50%;background:#14121c59;border:2px solid rgba(224,178,86,.4);pointer-events:auto;touch-action:none}#joythumb{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:#e0b256bf;box-shadow:0 2px 10px #00000073}#joythumb.run{background:#ffe296eb;box-shadow:0 2px 10px #00000073,0 0 14px #ffd678cc}#touchJump{position:absolute;right:calc(30px + var(--safe-r));bottom:calc(46px + var(--safe-b));width:88px;height:88px;border-radius:50%;background:#8fd8ffcc;color:#06131c;font:700 30px Georgia,serif;border:none;pointer-events:auto;touch-action:none;box-shadow:0 4px 16px #00000073}#touchJump:active{transform:scale(.94)}body.touch #help,body.touch .controls-legend{display:none}body.touch #dialog{bottom:150px}#crosshair{position:fixed;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:2px solid rgba(255,255,255,.55);background:#ffffff1f;pointer-events:none;opacity:0;transition:opacity .2s,transform .12s,border-color .12s,background .12s;z-index:5}#crosshair.active{border-color:var(--gold);background:#e0b25666;transform:scale(1.35)}body.locked #crosshair{opacity:1}#prompt{position:fixed;left:50%;top:calc(50% + 34px);transform:translate(-50%);padding:7px 14px;background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;font-size:14px;letter-spacing:.3px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .14s;z-index:5}#prompt.show{opacity:1}#prompt .key{display:inline-block;min-width:20px;padding:1px 6px;margin-right:7px;text-align:center;border-radius:5px;background:var(--gold);color:#1a1206;font-weight:700}#floorLabel{position:fixed;left:calc(18px + var(--safe-l));top:calc(16px + var(--safe-t));padding:10px 16px;background:var(--panel);border:1px solid var(--panel-border);border-left:3px solid var(--gold);border-radius:8px;z-index:5;line-height:1.35;max-width:280px;opacity:0;transition:opacity .3s}body.locked #floorLabel,body.ready #floorLabel{opacity:1}#floorLabel .yr{font-size:26px;font-weight:800;color:var(--gold);letter-spacing:1px}#floorLabel .sub{font-size:12px;opacity:.75}#toast{position:fixed;left:50%;top:calc(22px + var(--safe-t));transform:translate(-50%,-8px);padding:8px 16px;background:var(--panel);border:1px solid var(--panel-border);border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.3px;z-index:9;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%)}#help{position:fixed;left:calc(18px + var(--safe-l));bottom:calc(16px + var(--safe-b));padding:10px 14px;background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;font-size:12px;line-height:1.9;z-index:5;opacity:0;transition:opacity .3s}body.locked #help,body.ready #help{opacity:.9}#help .key{display:inline-block;min-width:16px;padding:0 6px;text-align:center;border-radius:4px;background:#e0b25633;border:1px solid var(--panel-border);color:var(--gold);font-weight:700}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;z-index:20;background:radial-gradient(circle at 50% 35%,#1e160ed9,#050409f7);text-align:center;padding:calc(24px + var(--safe-t)) calc(24px + var(--safe-r)) calc(24px + var(--safe-b)) calc(24px + var(--safe-l))}.overlay.hidden{display:none}#video>.close-x,#web>.close-x{top:calc(18px + var(--safe-t));right:calc(22px + var(--safe-r))}.title{font-size:clamp(34px,6vw,68px);font-weight:800;letter-spacing:2px;color:var(--gold);text-shadow:0 4px 30px rgba(224,178,86,.35);margin:0}.subtitle{font-size:16px;opacity:.8;max-width:560px;line-height:1.6}.cta{margin-top:8px;padding:14px 34px;font-size:17px;font-weight:700;letter-spacing:1px;color:#1a1206;background:var(--gold);border:none;border-radius:10px;cursor:pointer;transition:transform .12s,box-shadow .12s;box-shadow:0 8px 30px #e0b2564d}.cta:hover{transform:translateY(-2px);box-shadow:0 12px 40px #e0b25673}.cta:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}.controls-legend{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;font-size:13px;opacity:.8;margin-top:6px}.controls-legend b{color:var(--gold)}.bar{width:min(420px,80vw);height:8px;border-radius:6px;background:#ffffff14;overflow:hidden}.bar>i{display:block;height:100%;width:0%;background:var(--gold);transition:width .25s}#loadingMsg{font-size:13px;opacity:.7;height:16px}#elevator .panel{position:relative;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;padding:22px;max-width:760px;width:100%;max-height:100%;overflow:auto;-webkit-overflow-scrolling:touch}#elevator h2{margin:0 0 4px;color:var(--gold);letter-spacing:1px}.hint{font-size:12px;opacity:.65;margin-bottom:16px}.floor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.floor-btn{display:flex;flex-direction:column;align-items:flex-start;padding:12px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;color:var(--ink);transition:background .12s,border-color .12s,transform .1s;text-align:left}.floor-btn:hover{background:#e0b25624;border-color:var(--panel-border);transform:translateY(-2px)}.floor-btn.current{border-color:var(--gold);background:#e0b2561f}.floor-btn .fy{font-size:22px;font-weight:800;color:var(--gold)}.floor-btn .fc{font-size:12px;opacity:.7}.close-x{position:absolute;top:18px;right:22px;font-size:26px;cursor:pointer;opacity:.7;background:none;border:none;color:var(--ink)}.close-x:hover{opacity:1}#video{background:#030206f2}#video .frame-wrap{position:relative;width:min(1100px,calc(100vw - 48px - var(--safe-l) - var(--safe-r)),132vh);width:min(1100px,calc(100vw - 48px - var(--safe-l) - var(--safe-r)),132dvh);flex:none;aspect-ratio:16 / 9;background:#000;border:1px solid var(--panel-border);border-radius:10px;overflow:hidden;box-shadow:0 20px 80px #000000b3}#video iframe{width:100%;height:100%;border:0}#video .vtitle{color:var(--gold);font-weight:700;letter-spacing:.5px}#web{background:#030206f2}#web .web-col{display:flex;flex-direction:column;gap:12px;width:100%;max-width:1100px}#web .web-bar{display:flex;align-items:baseline;justify-content:space-between;gap:16px}#web .vtitle{color:var(--gold);font-weight:700;letter-spacing:.5px}#web .web-open{flex:none;font-size:13px;font-weight:600;color:var(--gold);text-decoration:none;opacity:.85;white-space:nowrap}#web .web-open:hover{opacity:1;text-decoration:underline}#web .frame-wrap{position:relative;width:100%;height:min(78vh,820px);height:min(78dvh,820px);background:#fff;border:1px solid var(--panel-border);border-radius:10px;overflow:hidden;box-shadow:0 20px 80px #000000b3}#web iframe{width:100%;height:100%;border:0}#web .web-msg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;text-align:center;background:var(--panel);color:var(--ink)}#web .web-msg-title{color:var(--gold);font-weight:700;font-size:18px}#web .web-msg-body{font-size:14px;opacity:.82;max-width:460px;line-height:1.55}#web .web-msg-body b{color:var(--ink);opacity:1}#web .web-msg-cta{margin-top:6px;text-decoration:none}#dialog{position:fixed;left:50%;bottom:72px;transform:translate(-50%,12px);width:min(620px,88vw);padding:18px 24px 16px;background:var(--panel);border:1px solid var(--panel-border);border-left:4px solid var(--gold);border-radius:12px;box-shadow:0 16px 50px #0000008c;z-index:12;opacity:0;pointer-events:none;transition:opacity .16s,transform .16s}#dialog.show{opacity:1;transform:translate(-50%)}#dialog .dname{color:var(--gold);font-size:20px;font-weight:800;letter-spacing:.4px;margin-bottom:6px}#dialog .dtext{font-size:15px;line-height:1.55;color:var(--ink)}#dialog .dprojects{margin-top:12px}#dialog .dprojects:empty{display:none}#dialog .dplabel{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--gold);opacity:.85;margin-bottom:5px}#dialog .dplist{margin:0;padding-left:18px;font-size:14px;line-height:1.5;color:var(--ink)}#dialog .dhint{margin-top:12px;font-size:12px;opacity:.7;text-align:right}#dialog .dhint .key{display:inline-block;min-width:16px;padding:0 6px;text-align:center;border-radius:4px;background:var(--gold);color:#1a1206;font-weight:700;margin-right:5px}#inventory{position:fixed;right:calc(18px + var(--safe-r));top:calc(16px + var(--safe-t));display:flex;gap:8px;padding:8px 12px;background:var(--panel);border:1px solid var(--panel-border);border-right:3px solid var(--gold);border-radius:8px;z-index:5;opacity:0;transition:opacity .3s}body.locked #inventory,body.ready #inventory{opacity:1}#inventory.empty{opacity:0!important}#inventory .inv-slot{font-size:22px;line-height:1;filter:drop-shadow(0 0 6px rgba(224,178,86,.5))}#artifactGet{position:fixed;left:50%;bottom:96px;transform:translate(-50%,16px) scale(.97);width:min(560px,88vw);padding:18px 24px 16px;background:var(--panel);border:1px solid var(--gold);border-radius:14px;box-shadow:0 16px 60px #0009,0 0 40px #e0b2562e;z-index:12;opacity:0;pointer-events:none;transition:opacity .28s,transform .28s}#artifactGet.show{opacity:1;transform:translate(-50%) scale(1)}#artifactGet .ag-kicker{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--gold);opacity:.9;margin-bottom:8px}#artifactGet .ag-row{display:flex;align-items:center;gap:14px}#artifactGet .ag-glyph{font-size:40px;line-height:1;filter:drop-shadow(0 0 10px rgba(224,178,86,.6))}#artifactGet .ag-name{font-size:21px;font-weight:800;color:var(--ink);letter-spacing:.3px}#artifactGet .ag-blurb{margin-top:10px;font-size:14px;line-height:1.55;opacity:.82}#artifactGet .ag-foot{margin-top:12px;font-size:12px;opacity:.7;text-align:right}#artifactGet .ag-foot .key{display:inline-block;min-width:16px;padding:0 6px;text-align:center;border-radius:4px;background:var(--gold);color:#1a1206;font-weight:700;margin-right:5px}#inventoryPanel .panel{position:relative;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;padding:22px;max-width:720px;width:100%;max-height:100%;overflow:auto;-webkit-overflow-scrolling:touch}#inventoryPanel h2{margin:0 0 4px;color:var(--gold);letter-spacing:1px}.inv-grid{display:grid;gap:10px}.inv-empty{font-size:14px;line-height:1.6;opacity:.7;padding:8px 2px}.inv-card{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:4px 16px;padding:14px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-left:3px solid var(--gold);border-radius:10px}.inv-card .inv-glyph{grid-row:span 2;font-size:34px;line-height:1;text-align:center}.inv-card .inv-name{font-size:17px;font-weight:700;color:var(--gold)}.inv-card .inv-year{font-size:13px;opacity:.6}.inv-card .inv-blurb{grid-column:2 / span 2;font-size:13px;line-height:1.5;opacity:.8}@media (max-height: 500px){.overlay{gap:10px;padding:calc(12px + var(--safe-t)) calc(16px + var(--safe-r)) calc(12px + var(--safe-b)) calc(16px + var(--safe-l));justify-content:safe center;overflow-y:auto}.title{font-size:clamp(24px,11vh,42px)}.subtitle{font-size:14px;line-height:1.45}.cta{margin-top:0;padding:10px 26px;font-size:15px}.controls-legend{gap:14px;margin-top:0;font-size:12px}.bar{height:6px}#elevator .panel,#inventoryPanel .panel{padding:14px 18px}#elevator h2,#inventoryPanel h2{font-size:19px}.hint{margin-bottom:10px}.floor-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.floor-btn{padding:8px 11px}.floor-btn .fy{font-size:18px}.inv-card{padding:10px 12px}.inv-card .inv-glyph{font-size:26px}.close-x{top:10px;right:12px;font-size:22px}#video>.close-x,#web>.close-x{top:calc(10px + var(--safe-t));right:calc(12px + var(--safe-r))}#floorLabel{padding:6px 12px;max-width:40vw}#floorLabel .yr{font-size:19px}#floorLabel .sub{font-size:11px}#inventory{padding:5px 9px;gap:6px}#inventory .inv-slot{font-size:18px}#help{font-size:11px;line-height:1.6;padding:7px 11px}#joystick{width:104px;height:104px;left:calc(18px + var(--safe-l));bottom:calc(16px + var(--safe-b))}#joythumb{width:46px;height:46px;margin:-23px 0 0 -23px}#touchJump{width:70px;height:70px;font-size:24px;right:calc(20px + var(--safe-r));bottom:calc(26px + var(--safe-b))}#dialog,#artifactGet{width:min(560px,56vw);max-height:68dvh;overflow:hidden}#dialog{bottom:calc(14px + var(--safe-b));padding:12px 16px 10px}body.touch #dialog{bottom:calc(14px + var(--safe-b))}#dialog .dname{font-size:16px;margin-bottom:4px}#dialog .dtext{font-size:13px;line-height:1.45}#dialog .dprojects{margin-top:8px}#dialog .dplist{font-size:12px}#dialog .dhint{margin-top:8px}#artifactGet{bottom:calc(14px + var(--safe-b));padding:12px 18px 10px}#artifactGet .ag-glyph{font-size:30px}#artifactGet .ag-name{font-size:17px}#artifactGet .ag-blurb{margin-top:6px;font-size:12px;line-height:1.45}#artifactGet .ag-foot{margin-top:8px}}#curtain{position:fixed;top:0;right:0;bottom:0;left:0;background:#05040a;z-index:15;opacity:0;pointer-events:none;transition:opacity .45s}#curtain.on{opacity:1}
