:root{font-family:Inter,"Segoe UI",sans-serif;color:#f7f0e6;background:#070b10;font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #c5eaff;outline-offset:5px}button:disabled{cursor:default;opacity:.6}button,progress{accent-color:#efc184}
#experience,#viewport{position:fixed;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}#viewport{background:#070b10}#reference{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#070b10}#reference[hidden]{display:none}
#heading{position:absolute;top:36px;left:40px;pointer-events:none;text-shadow:0 2px 20px #000}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(24px,3vw,39px);font-weight:400;letter-spacing:-.035em;margin:9px 0 0}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:600;margin:0;color:#dfcbb0;display:flex;align-items:center;gap:10px}.sun{height:6px;width:6px;border-radius:50%;background:#ffd294;box-shadow:0 0 18px #ffb958}
.bottom-ui{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:16px;right:16px;display:flex;align-items:center;flex-direction:column;pointer-events:none}.hint,.mode{font-size:13px;margin:10px 0;color:#fff9ed;text-shadow:0 1px 6px #000,0 1px 15px #000}.mode{color:#c8c1b7;font-size:12px;letter-spacing:.04em}nav{display:flex;align-items:center;gap:6px;padding:7px;border-radius:12px;border:1px solid #ffffff23;background:#0c1119ee;box-shadow:0 12px 50px #0006;pointer-events:auto}nav button{border:0;color:#e7e3dc;background:transparent;border-radius:8px;padding:13px 16px;font-size:14px;white-space:nowrap;min-height:44px}nav button:hover{background:#ffffff0e}nav button[aria-pressed=true]:not(.primary){color:#ffd89a}nav button.primary{background:#eec084;color:#251a0c;font-weight:600;padding-inline:23px}nav button.primary:hover{background:#f9d6a8}.divider{height:23px;width:1px;margin:0 5px;background:#ffffff20}nav button.icon{font-family:Georgia,serif;font-style:italic;font-size:19px;padding-inline:15px}
#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at center,#1a252deb,#070b10f7);z-index:4}#loading[hidden]{display:none}.loader{width:32px;height:32px;border:1px solid #d4b17640;border-top-color:#e9c98f;border-radius:50%;animation:spin 1.2s linear infinite}#loading p{font-size:15px;color:#e2d6c4}progress{width:190px;height:3px;border:0;border-radius:5px;overflow:hidden}progress::-webkit-progress-bar{background:#26313d}progress::-webkit-progress-value{background:#e7bc7f}.failed .loader{display:none}#notice{position:absolute;top:25px;right:30px;max-width:360px;font-size:14px;line-height:1.55;background:#0b101bed;border:1px solid #ffffff17;padding:12px 16px;border-radius:8px;display:none}#notice:not(:empty){display:block}dialog{background:#111923;color:#ede6dc;border:1px solid #ffffff20;max-width:520px;width:calc(100% - 36px);max-height:85vh;padding:36px;border-radius:16px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}dialog h2{font-family:Georgia,serif;font-weight:400;font-size:30px;letter-spacing:-.03em}dialog p{font-size:15px;line-height:1.75;color:#d0cbd0}.credits{font-size:13px!important;color:#a1afba!important}a{color:#b8d6e7}.close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:25px;color:#b8c1cd;min-width:40px;min-height:40px}.xr-active #heading,.xr-active .bottom-ui,.xr-active #notice{display:none}
@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:650px){#heading{top:24px;left:24px}.eyebrow{font-size:11px}h1{font-size:29px}nav{gap:1px;max-width:100%;flex-wrap:wrap;justify-content:center}nav button{font-size:12px;padding:11px 10px;min-height:42px}nav button.primary{padding-inline:17px}.divider{margin:0 1px}.bottom-ui{bottom:14px}.hint{font-size:12px}#notice{top:108px;left:24px;right:24px;max-width:none}.mode{font-size:11px}dialog{padding:27px}}
@media(prefers-reduced-motion:reduce){.loader{animation:none}}
nav select{font:inherit;font-size:13px;color:#dfd7c9;background:#151e29;border:1px solid #ffffff15;border-radius:7px;padding:11px 7px;max-width:145px}nav select:focus-visible{outline:2px solid #c5eaff;outline-offset:3px}@media(max-width:650px){nav select{font-size:12px;padding:10px 5px}}
nav{max-width:1100px;flex-wrap:wrap;justify-content:center}.hint{text-align:center}
#placement-panel{pointer-events:auto;width:min(420px,100%);max-height:52vh;overflow:auto;background:#0c141ef5;border:1px solid #ffffff30;border-radius:14px;padding:18px 22px;box-shadow:0 15px 50px #0008;margin-bottom:8px}
#placement-panel[hidden]{display:none}.placement-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.placement-title strong{font-size:16px;font-weight:500}.placement-title button{border:1px solid #ffffff30;background:#243340;color:#e4d8c7;border-radius:6px;padding:8px 10px;font-size:12px}
#placement-panel label{display:flex;justify-content:space-between;font-size:13px;color:#e8ddce}#placement-panel output{color:#afc8da;font-variant-numeric:tabular-nums}#placement-panel input{width:100%;margin:8px 0 14px;accent-color:#efc184;min-height:20px}#placement-panel input:focus-visible{outline:2px solid #c5eaff;outline-offset:2px}#placement-panel p{font-size:12px;line-height:1.6;color:#b4c3cf;margin:4px 0}
.xr-active #reference,.xr-active dialog{display:none!important}.ar-active,.ar-active #experience,.ar-active #viewport{background:transparent}
@media(max-width:650px){#placement-panel{padding:14px 18px;max-height:44vh}.bottom-ui{left:10px;right:10px}.hint{margin:6px 0}}
