:root{font-family:Arial,Helvetica,sans-serif;color:#f5f2e9;background:#191c19;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #dec39b;outline-offset:4px}[hidden]{display:none!important}#viewer,#scene{position:fixed;inset:0;width:100%;height:100%;height:100dvh;outline:none;touch-action:none}.welcome{position:fixed;inset:0;background:linear-gradient(90deg,rgba(17,24,20,.95),rgba(17,24,20,.70) 45%,rgba(17,24,20,.12)),url('./assets/cover.jpg') center/cover;display:flex;align-items:center;padding:8vw;transition:opacity .6s}.welcome.leaving{opacity:0;pointer-events:none}.intro{max-width:430px}.eyebrow{font-size:11px;letter-spacing:3px;line-height:1.7;color:#c0c6b9;font-weight:bold}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(52px,7vw,92px);line-height:1.02;letter-spacing:-3px;margin:24px 0}h2{font-family:Georgia,serif;font-size:38px;font-weight:400;margin:14px 0}.lead{font-size:18px;color:#d4d8cf;margin-bottom:40px}#loadStatus{font-size:12px;color:#c0c6b9}.progress{height:2px;width:260px;background:#ffffff25;margin:12px 0 22px}.progress span{display:block;height:2px;width:0;background:#dac097;transition:width .2s}.primary{width:260px;border:0;background:#ece5d7;color:#20251f;padding:17px 22px;text-align:left;font-weight:600;border-radius:3px}.primary span{float:right}.primary:disabled{opacity:.5;cursor:wait}.intro-help{font-size:12px;line-height:1.8;color:#bdc5b9;margin:22px 0}.credit{position:absolute;bottom:28px;right:32px;font-size:11px;color:#e8e8dfb0}header{position:fixed;top:0;left:0;right:0;padding:calc(20px + env(safe-area-inset-top)) 24px 20px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#18201abb,transparent);pointer-events:none}.brand{display:flex;flex-direction:column;gap:5px;text-shadow:0 1px 6px #0008}.brand strong{font-size:12px;letter-spacing:3px}.brand span{font-size:12px;color:#f3efe4b5}.actions{display:flex;gap:7px;pointer-events:auto}.actions button{border:1px solid #ffffff50;background:#1e272355;color:white;width:39px;height:39px;border-radius:50%;font-size:21px;backdrop-filter:blur(10px)}#rooms{position:fixed;top:calc(24px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;gap:4px;background:#202922bb;padding:4px;border:1px solid #ffffff20;border-radius:25px;backdrop-filter:blur(12px)}#rooms button{border:0;background:transparent;color:#eee;padding:10px 17px;border-radius:20px;font-size:12px}#rooms button.active{background:#eae3d7;color:#283126}#desktopHint{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);font-size:11px;white-space:nowrap;padding:11px 20px;border-radius:25px;background:#18221b99;backdrop-filter:blur(10px);pointer-events:none}#stick{position:fixed;left:30px;bottom:calc(35px + env(safe-area-inset-bottom));width:112px;height:112px;border:1px solid #ffffff66;background:#20282055;border-radius:50%;touch-action:none;backdrop-filter:blur(5px)}#knob{position:absolute;left:36px;top:36px;width:40px;height:40px;background:#e9e6ddc9;border:1px solid #fff;border-radius:50%;pointer-events:none}.touch-look{position:fixed;right:22px;bottom:calc(68px + env(safe-area-inset-bottom));font-size:10px;max-width:100px;line-height:1.5;text-align:right;text-shadow:0 1px 4px #000;pointer-events:none}dialog{border:1px solid #75816c;border-radius:12px;background:#202b23;color:#edece4;padding:32px;max-width:480px;width:calc(100% - 32px);line-height:1.7;max-height:85dvh}dialog::backdrop{background:#0008;backdrop-filter:blur(5px)}dialog p{font-size:14px}dialog .note{font-size:12px;color:#c5c9bd}dialog a{font-size:12px;color:#e1c797}.close{position:absolute;right:15px;top:10px;font-size:28px;border:0;background:none;color:white}hr{border:0;border-top:1px solid #ffffff24;margin:24px 0}#toast{position:fixed;bottom:25%;left:50%;transform:translateX(-50%);padding:14px 20px;max-width:90%;background:#202b23ef;border-radius:8px;font-size:13px}@media(max-width:650px){.welcome{padding:30px;background:linear-gradient(90deg,#111814ed,#111814a0),url('./assets/cover.jpg') center/cover}.credit{left:30px;right:auto;bottom:calc(18px + env(safe-area-inset-bottom));font-size:10px}.lead{margin-bottom:26px}h1{font-size:62px}.intro-help{font-size:11px}header{padding-left:18px;padding-right:18px}#rooms{top:calc(87px + env(safe-area-inset-top))}#rooms button{padding:9px 17px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#rooms{max-width:76vw;flex-wrap:wrap;justify-content:center;width:max-content}#rooms button{padding:8px 10px;font-size:11px}#cameraReadout{position:fixed;bottom:6px;right:10px;padding:4px 7px;color:#eee;background:#202820a0;border-radius:4px;font:10px monospace}#planDialog,#refsDialog{max-width:1000px;width:calc(100% - 30px)}#planDialog img{max-height:65vh;max-width:100%;display:block;margin:auto}.refGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.refGrid img{width:100%;border-radius:5px}@media(max-width:650px){#rooms{top:85px;max-width:calc(100% - 22px);width:calc(100% - 22px);border-radius:12px}#rooms button{padding:7px 9px;font-size:10px}.actions{gap:4px}.actions button{width:33px;height:33px}.refGrid{grid-template-columns:1fr}.brand strong{font-size:10px}}

#doorHint{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);padding:10px 18px;border-radius:22px;background:rgba(30,34,29,.88);color:#fff;font:500 13px/1.4 sans-serif;z-index:6;pointer-events:none;text-align:center;max-width:80vw;backdrop-filter:blur(8px)}#doorHint[hidden]{display:none}@media(pointer:coarse){#doorHint{bottom:145px}}
