*,:before,:after{box-sizing:border-box}html,body{background:#d2dfea;width:100%;height:100%;margin:0;overflow:hidden}canvas{cursor:crosshair;width:100%;height:100%;display:block}#loading-overlay{z-index:20;opacity:1;background:radial-gradient(circle at 50% 42%,#3a496659,#0000 38%),linear-gradient(#050a12f5,#0c1624eb);place-items:center;transition:opacity .45s,visibility .45s;display:grid;position:fixed;inset:0}#loading-overlay[data-state=leaving],#loading-overlay[data-state=hidden]{opacity:0}#loading-overlay[data-state=hidden]{visibility:hidden;pointer-events:none}.loading-shell{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;width:min(72vw,28rem);display:flex}#loading-logo-canvas{filter:drop-shadow(0 28px 48px #0000006b);background:radial-gradient(circle,#ffffff0f,#fff0);border-radius:999px;width:min(56vw,22rem);max-width:22rem;height:min(56vw,22rem);max-height:22rem}.loading-kicker{letter-spacing:.22em;text-transform:uppercase;color:#4ec9b0;text-shadow:0 0 12px #4ec9b099,0 0 30px #4ec9b04d;margin:0;font:700 1.6rem/1 system-ui,-apple-system,sans-serif}.loading-status{text-align:center;letter-spacing:.02em;color:#f3f6fbf0;text-shadow:0 1px 3px #00000073;max-width:20rem;margin:0;font:500 1rem/1.45 system-ui,-apple-system,sans-serif}#brand-hud{z-index:3;pointer-events:none;opacity:0;align-items:center;gap:.6rem;transition:opacity .8s .3s;display:flex;position:fixed;top:.9rem;left:.9rem}#brand-hud.visible{opacity:1}#brand-logo-canvas{filter:drop-shadow(0 4px 16px #00000080);background:0 0;border-radius:50%;flex-shrink:0;width:120px;height:120px}.brand-title{color:#e8f2fff2;text-shadow:0 2px 6px #000000a6;letter-spacing:.04em;white-space:nowrap;font:700 1.65rem/1 system-ui,-apple-system,sans-serif}.brand-name{color:#4ec9b0;text-shadow:0 0 12px #4ec9b059,0 1px 4px #00000080}.brand-sep{color:#a0cdff66;margin:0 .15em;font-weight:300}#hud{z-index:1;pointer-events:none;justify-content:center;align-items:center;padding-top:8rem;display:flex;position:fixed;inset:0}#hint{text-align:center;opacity:0;letter-spacing:.02em;color:#e8eef8eb;text-shadow:0 1px 2px #000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c101899;border:1px solid #8cd2ff33;border-radius:10px;max-width:28rem;margin:0;padding:.65rem 1rem;font:500 .95rem/1.45 system-ui,-apple-system,sans-serif;transition:opacity .35s,transform .35s;box-shadow:0 0 24px #4ec9b04d,0 0 56px #4ec9b024,0 0 90px #4ec9b00f}#hint[data-state=locked]{opacity:0;pointer-events:none;transform:translateY(6px)}.nav-guide{z-index:2;pointer-events:none;opacity:0;gap:.7rem;transition:opacity .5s;display:flex;position:fixed;bottom:3.4rem;left:1rem}.nav-guide.visible{opacity:1}.nav-guide span{letter-spacing:.05em;text-transform:uppercase;color:#d2e4f8b3;text-shadow:0 0 8px #4ec9b040,0 1px 3px #00000080;background:#0000004d;border:1px solid #8cd2ff26;border-radius:7px;align-self:center;padding:.45rem .7rem;font:600 .88rem/1 system-ui,-apple-system,sans-serif;box-shadow:0 0 12px #4ec9b01f}.wasd-keys{grid-template-rows:1.6rem 1.6rem 1.6rem;grid-template-columns:1.6rem 1.6rem 1.6rem;justify-items:center;gap:3px;display:grid}.wasd-keys kbd{color:#d2e4f8b3;text-shadow:0 0 6px #4ec9b04d,0 1px 2px #00000080;background:#00000059;border:1px solid #8cd2ff2e;border-radius:6px;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font:700 .75rem/1 system-ui,-apple-system,sans-serif;display:flex;box-shadow:0 2px #0000004d,0 0 10px #4ec9b01a}.key-w{grid-area:1/2}.key-a{grid-area:2/1}.key-d{grid-area:2/3}.key-s{grid-area:3/2}.interior-label{z-index:2;letter-spacing:.04em;text-transform:uppercase;color:#e8eef88c;text-shadow:0 1px 2px #00000080;pointer-events:none;margin:0;font:500 .68rem/1.35 system-ui,-apple-system,sans-serif;position:fixed;bottom:1rem;left:1rem}#compass{z-index:2;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(150deg,#071827e6,#080a14c2);border:1px solid #8ed7ff40;border-radius:14px;flex-direction:column;align-items:stretch;gap:.4rem;width:22rem;padding:.7rem .7rem .6rem;transition:opacity .4s;display:flex;position:fixed;top:1rem;right:1rem;box-shadow:0 16px 30px #00000061,inset 0 0 0 1px #c9f2ff0f}#compass.visible{opacity:1}.compass-title{letter-spacing:.07em;text-transform:uppercase;color:#d0f4fff5;text-align:left;margin:.05rem 0 .2rem;font:700 .72rem/1.1 system-ui,-apple-system,sans-serif}.compass-row{pointer-events:none;background:#ffffff08;border:1px solid #8be0ff24;border-radius:9px;grid-template-columns:1.7rem 1fr auto auto;align-items:center;gap:.45rem;padding:.34rem .35rem;display:grid}.compass-arrow{color:#6ef0b0;text-shadow:0 0 10px #6ef0b0b8;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:1.1rem;transition:transform .1s ease-out;display:flex}.compass-label{letter-spacing:.08em;text-transform:uppercase;color:#a2ecfff0;text-shadow:0 1px 3px #000000b3;font:700 .65rem/1 system-ui,-apple-system,sans-serif}.compass-dist{color:#e2eeffdb;text-shadow:0 1px 2px #00000080;text-align:right;min-width:3rem;font:600 .6rem/1 system-ui,-apple-system,sans-serif}.jump-btn{pointer-events:auto;color:#d6f6fff2;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:#1e466959;border:1px solid #95deff66;border-radius:999px;padding:.2rem .55rem;font:700 .56rem/1 system-ui,-apple-system,sans-serif}.jump-btn:hover{background:#367cab80}.jump-status{color:#bcecffe6;letter-spacing:.02em;min-height:.95rem;font:500 .58rem/1.3 system-ui,-apple-system,sans-serif}#jump-help{z-index:2;pointer-events:none;color:#daf1ffe0;text-shadow:0 1px 3px #0000008c;background:#0814208c;border:1px solid #85d3ff33;border-radius:8px;width:22rem;padding:.4rem .55rem;font:600 .6rem/1.38 system-ui,-apple-system,sans-serif;position:fixed;top:15.7rem;right:1rem}.photo-caption{color:#fff;text-align:center;opacity:0;pointer-events:none;z-index:100;background:#000000bf;border-radius:10px;max-width:500px;padding:12px 24px;font:400 14px/1.5 system-ui,-apple-system,sans-serif;transition:opacity .8s;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.photo-caption.visible{opacity:1}.photo-caption .caption-title{margin-bottom:4px;font-size:16px;font-weight:700}.photo-caption .caption-detail{color:#ffffffb3;font-size:12px}.photo-caption .caption-location{color:#ffffffd9;font-size:13px;font-weight:600}.photo-caption .caption-item-id{color:#fff6;letter-spacing:.03em;margin-top:4px;font-size:11px}
