:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#edf7fc;background:#0b1720;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,a{font:inherit}button,a{touch-action:manipulation}button{border:1px solid #7896a8;background:#153849;color:#f5fbff;border-radius:6px;padding:12px 17px;cursor:pointer}button:hover{background:#255368}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #ebc875;outline-offset:3px}[hidden]{display:none!important}header{height:76px;display:flex;align-items:center;gap:25px;padding:0 30px;background:#0b1720;position:relative;z-index:2;border-bottom:1px solid #36505d}.brand{font-size:23px;font-weight:800;letter-spacing:2px;color:white;text-decoration:none}.brand span{color:#e8c170}.identity{font-size:10px;letter-spacing:3px;color:#98b6c8}nav{margin-left:auto;display:flex;gap:10px;align-items:center}nav a{color:#e0edf5;text-decoration:none;font-size:13px;padding:12px}nav button{font-size:13px;background:transparent}#experience{position:relative;height:calc(100dvh - 76px)}#world{display:block;width:100%;height:100%;touch-action:none}#welcome{position:absolute;inset:0 auto 0 0;width:47%;padding:9vh 0 0 5vw;background:linear-gradient(90deg,#07151ef0,#07151eaa 70%,transparent);pointer-events:none}#welcome button{pointer-events:auto;background:#e4bd70;color:#102532;border:0;font-weight:700;min-width:190px;padding:16px 25px}h1{font-size:clamp(32px,4.5vw,72px);line-height:1.03;letter-spacing:-2px;margin:20px 0 25px}#welcome p{line-height:1.7;color:#c2d4df}p.eyebrow,.eyebrow{font-size:10px;letter-spacing:2.8px;color:#e4bd70!important;font-weight:700}.small{font-size:12px}#location{position:absolute;left:26px;bottom:23px;background:#07151edb;border-left:3px solid #d4b474;padding:12px 16px;font-size:13px;max-width:calc(100% - 52px);pointer-events:none}#crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;opacity:.75;pointer-events:none}#interact{position:absolute;left:50%;top:60%;transform:translateX(-50%);background:#e7c77f;color:#122839;font-weight:700;box-shadow:0 3px 25px #0006}#walk-controls{position:absolute;left:26px;bottom:85px;display:flex;align-items:center;gap:6px}#walk-controls div{display:flex;flex-direction:column;gap:6px}#walk-controls button{width:48px;height:44px;padding:0;background:#0b2438ce;font-size:22px;user-select:none}#tools{position:absolute;right:24px;bottom:85px;display:flex;gap:7px}#tools button{background:#0b2438de;font-size:12px}#travel{position:absolute;top:20px;left:50%;transform:translateX(-50%);padding:13px 25px;background:#082230e8;color:#ffe0a5;border:1px solid #bfa06a;border-radius:7px}#fallback{position:absolute;inset:15% 15%;padding:30px;background:#142d3d}dialog{color:#eaf5ff;background:#102837;border:1px solid #5e7d8f;border-radius:12px;width:min(740px,94vw);max-height:88dvh;padding:25px;box-shadow:0 15px 100px #0009}dialog::backdrop{background:#020b13a6;backdrop-filter:blur(5px)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-head h2{margin:4px 0 15px}.panel-head button{font-size:25px;padding:4px 12px}.floor-row{padding:15px 0;border-top:1px solid #476373}.floor-row>button{width:100%;text-align:left;background:#1f4355;color:#ffe1a7}.floor-row .rooms{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.rooms button{font-size:13px;background:transparent}.document{display:block;padding:16px 0;border-bottom:1px solid #395463;color:#cae8ff;text-decoration:none;overflow-wrap:anywhere}.document small{display:block;color:#a0bdcc;margin-top:6px}label{display:block;margin:15px 0 8px}input{width:100%;padding:12px;background:#071e2d;color:white;border:1px solid #7896a8;border-radius:6px}#elevator-floors{display:grid;gap:9px}#documents-more,#room-search{margin-top:20px}#research-agent{width:min(900px,95vw)}#research-agent .panel-head{position:sticky;top:-25px;background:#102837;z-index:1;padding-top:12px}
@media(max-width:700px){header{height:66px;padding:0 13px;gap:8px}.brand{font-size:16px}.identity,nav a{display:none}nav{gap:5px}nav button{padding:8px;font-size:11px}#experience{height:calc(100dvh - 66px)}#welcome{width:100%;padding:5vh 20px;background:linear-gradient(90deg,#07151edd,transparent)}h1{font-size:42px;max-width:300px}#welcome>p:not(.eyebrow){max-width:240px;font-size:13px}#tools{right:12px;bottom:150px;flex-direction:column;gap:5px}#tools button{padding:10px;font-size:10px}#walk-controls{left:15px}#location{left:15px;bottom:18px;font-size:11px}dialog{padding:18px}#interact{max-width:65%;font-size:13px;top:58%}}
