@import url('./fonts.css');
:root{font-family:Arial,Helvetica,sans-serif;color:#222c29;background:#f3f1eb;--cream:#f3f1eb;--ink:#203d36;--line:#d8dad2}*{box-sizing:border-box}body{margin:0;height:100dvh;min-height:500px;display:flex;flex-direction:column;overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.7}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #3c8271;outline-offset:4px}button{border:0;color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.masthead{height:78px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);z-index:5;background:var(--cream)}.brand{display:flex;align-items:center;gap:16px}.brand-mark{font-family:Georgia,serif;font-size:36px;line-height:1;letter-spacing:-9px;padding-right:8px}.brand-mark span{font-size:30px;position:relative;top:7px}.brand-type{font-size:13px;font-weight:600;letter-spacing:.15em}.brand-type small{display:block;font-size:8px;letter-spacing:.19em;margin-top:6px;font-weight:400}.header-center{font-size:9px;letter-spacing:.22em;display:flex;align-items:center;gap:10px;color:#63716a}.status-dot{width:5px;height:5px;border-radius:50%;background:#4e7869}.header-actions{display:flex;gap:26px;align-items:center}.text-button{background:none;font-size:11px}.text-button span{margin-left:16px}.icon-button{width:38px;height:38px;background:transparent;border:1px solid #b8c1b6;border-radius:50%;font-size:20px;display:inline-grid;place-items:center;transition:background .2s}.icon-button:hover{background:#ffffff66}.masthead .icon-button{border-color:#cdd3c9}#experience{position:relative;flex:1;min-height:0;overflow:hidden;background:#8aa6b0}#viewport,#poster{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:0}#poster{background:url('./assets/poster.jpg') center center/cover;transition:opacity 1s;z-index:1}#poster.done{opacity:0;pointer-events:none}.top-line{position:absolute;top:27px;left:34px;right:34px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:2}.eyebrow{font-size:9px;letter-spacing:.2em;font-weight:500}.top-line{color:#f8faf4;text-shadow:0 1px 7px #14211c77}.slash{margin:0 12px;opacity:.6}.morning{font-size:9px;letter-spacing:.16em;display:flex;align-items:center;gap:9px}.morning>span{font-size:18px}.welcome{position:absolute;z-index:3;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:90px 7% 65px;color:#fff;background:linear-gradient(90deg,#0c201ab8 0%,#0c201a35 55%,transparent 85%)}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(58px,6.5vw,100px);font-weight:400;line-height:.98;letter-spacing:-.045em;margin:22px 0 20px}h1 em{font-weight:400}.welcome p{font-size:13px;line-height:1.8;color:#eef2e9;margin:0 0 28px}.primary{min-width:240px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 22px;background:#f4f2e8;color:#1c3d34;font-size:12px;border:1px solid #f7f5eb;transition:background .2s,transform .2s}.primary:not(:disabled):hover{background:#fff;transform:translateY(-2px)}.primary span:last-child{font-size:19px}.welcome-note{margin-top:17px;font-size:9px;letter-spacing:.08em;color:#d7dfd4}.load-status{width:240px;margin-top:18px}.load-track{height:2px;background:#ffffff32;margin-bottom:9px}.load-track>div{width:0;height:100%;background:#fff;transition:width .3s}#load-label{font-size:10px;color:#e4eae1}.place-label{position:absolute;left:34px;top:67px;z-index:2;color:white;text-shadow:0 2px 14px #10261c77}.place-label .eyebrow{font-size:8px;opacity:.9}.place-label h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:8px 0 0;letter-spacing:-.025em}.map-card{position:absolute;z-index:3;right:28px;top:82px;width:150px;background:#f5f4edec;backdrop-filter:blur(16px);border:1px solid #ffffffe0;padding:12px 12px 9px;box-shadow:0 8px 40px #17352615}.map-heading{font-size:7px;letter-spacing:.14em;display:flex;justify-content:space-between;align-items:center}.map-heading button{font-size:16px;background:transparent;padding:0 2px}.map-card svg{display:block;width:100%;height:178px;margin:8px 0}.site{fill:#e7e9df;stroke:#b2baaa;stroke-width:.7}.path{fill:none;stroke:#d2d2c3;stroke-width:8}.house{fill:#c6c4b6;stroke:#9b9b8c;stroke-width:.7}.pool{fill:#a3c3bd;stroke:#709b93;stroke-width:.7}.pergola{fill:#e5dbc9;stroke:#b9ae97;stroke-width:.7}.trees{fill:#a5b59b;opacity:.7}.map-caption{font-size:7px;color:#6c776e;display:flex;justify-content:space-between}.floating-circle{position:absolute;right:28px;top:84px;border-radius:50%;width:40px;height:40px;background:var(--cream);font-size:22px;z-index:3}.bottom-ui{position:absolute;left:28px;right:28px;bottom:18px;z-index:3;max-width:1050px;margin:auto;color:#243c34}.navigation-line{display:flex;align-items:center;gap:8px;margin:0 0 10px}.mode-switch{display:flex;background:#f3f1e9ec;border:1px solid #ffffffa6;border-radius:24px;padding:4px;backdrop-filter:blur(20px);box-shadow:0 3px 12px #172a2414}.mode-switch button{border-radius:20px;padding:8px 16px;font-size:11px;background:transparent}.mode-switch button.active{background:#264c40;color:#fff}.navigation-line .icon-button{background:#f3f1e9ec;backdrop-filter:blur(20px);border-color:#ffffffa6}#look-hint{margin-right:auto;margin-left:8px;font-size:10px;color:#fff;text-shadow:0 1px 6px #0008}.viewpoints{display:flex;align-items:center;background:#f4f3edee;backdrop-filter:blur(24px);border:1px solid #ffffffbf;min-height:62px;box-shadow:0 6px 35px #142a2520}.view-label{font-size:8px;letter-spacing:.2em;margin:0 28px;color:#819083}.viewpoints button{flex:1;background:transparent;padding:20px 16px;font-size:11px;white-space:nowrap;position:relative;transition:background .2s}.viewpoints button>span{font-size:8px;margin-right:10px;color:#7e8c81}.viewpoints button.selected:after{content:'';position:absolute;left:16px;right:16px;bottom:0;height:2px;background:#315e4a}.viewpoints button:hover{background:#dbe4d766}.key-guide{display:flex;justify-content:center;gap:19px;font-size:9px;margin-top:13px;color:#fff;text-shadow:0 1px 5px #0008}.key-guide span{display:flex;align-items:center;gap:4px}kbd{font-family:inherit;font-size:9px;display:inline-grid;place-items:center;min-width:20px;height:20px;border:1px solid #cad1c0;background:#f5f4eb;color:#475b4c;border-radius:3px;box-shadow:0 1px 0 #0001;text-shadow:none;padding:0 4px}.panel{position:absolute;z-index:8;right:24px;top:24px;bottom:24px;overflow:auto;width:330px;padding:25px 27px;background:#f4f3edfa;backdrop-filter:blur(24px);box-shadow:0 12px 60px #14261b30;border:1px solid white}.panel-top{display:flex;justify-content:space-between;align-items:center}.panel .eyebrow{font-size:7px}.close-panel{background:transparent;font-size:26px;color:#718071;padding:0 0 0 12px}.panel h2{font-family:Georgia,serif;font-size:34px;font-weight:400;letter-spacing:-.03em;margin:18px 0 26px}.panel label{display:block;font-size:11px;margin:22px 0 11px}.panel output{float:right;color:#70816e}.panel select{width:100%;padding:12px;border:1px solid #d2d7cb;border-radius:0;background:transparent;color:#244432;font-size:11px}.panel input[type=range]{width:100%;accent-color:#39624a}.panel label.check{display:flex;align-items:center;gap:9px;font-size:11px}.panel input[type=checkbox]{accent-color:#39624a;width:15px;height:15px}.secondary{padding:12px 0;border-bottom:1px solid #a9b8a5;background:transparent;width:100%;font-size:11px;text-align:left;margin-top:22px}.panel-note{font-size:10px!important;line-height:1.7;color:#7c8878}.panel p{font-size:12px;line-height:1.8}.help-keys{display:grid;grid-template-columns:80px 1fr;gap:14px;font-size:11px;margin:26px 0}.help-keys dt,.help-keys dd{margin:0;align-self:center}.error-panel{position:absolute;z-index:15;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--cream);width:min(460px,90vw);padding:40px;box-shadow:0 20px 100px #0005}.error-panel h2{font:32px Georgia,serif}.error-panel p{font-size:13px;line-height:1.8}.error-panel .primary{background:var(--ink);color:white;margin-top:25px}#toast{position:absolute;z-index:20;left:50%;top:26px;transform:translate(-50%,-15px);opacity:0;pointer-events:none;background:#f3f2e8f5;padding:12px 20px;font-size:11px;color:#234530;transition:opacity .25s,transform .25s;box-shadow:0 5px 24px #0001}#toast.visible{opacity:1;transform:translate(-50%,0)}#crosshair{position:absolute;left:50%;top:50%;width:5px;height:5px;background:#ffffffb0;border:1px solid #203d3677;border-radius:50%;pointer-events:none;z-index:2}footer{height:32px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:7px;letter-spacing:.14em;color:#778171}footer>span:nth-child(2){font-family:Georgia,serif;font-size:11px;font-style:italic;letter-spacing:0}.footer-dot{margin:0 8px}#touch-controls{position:absolute;z-index:4;inset:auto 20px 150px;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-end}.touch-dpad{text-align:center}.touch-dpad button,.touch-height button{pointer-events:auto;touch-action:none;width:44px;height:44px;border:1px solid #ffffff99;background:#f4f3e8b8;backdrop-filter:blur(8px);margin:2px;border-radius:50%;font-size:20px}.touch-height{display:flex;flex-direction:column}.touch-dpad button.pressed,.touch-height button.pressed{background:#305f4d;color:white}body.captured .bottom-ui,body.captured .map-card{opacity:.65}body.captured .navigation-line{opacity:0}body.captured #look-hint{display:none}
@media(min-width:1500px){.welcome{padding-bottom:90px}.map-card{width:170px}.map-card svg{height:210px}.bottom-ui{bottom:26px}}
@media(max-width:850px){.masthead{height:66px;padding:0 22px}.header-center{display:none}.top-line{left:22px;right:22px;top:20px}.welcome{padding:80px 7% 55px}.map-card{width:125px;right:20px;top:68px}.map-card svg{height:145px}.bottom-ui{left:16px;right:16px;bottom:15px}.view-label{display:none}.viewpoints button{font-size:10px;padding:18px 10px}.viewpoints button>span{margin-right:5px}.key-guide{gap:10px;font-size:8px}.place-label{left:22px;top:53px}.place-label h2{font-size:23px}.panel{right:16px;top:16px;bottom:16px}footer{padding:0 22px}.viewpoints{min-height:54px}}
@media(max-width:600px){body{min-height:480px}.masthead{height:61px;padding:0 18px}.brand-mark{font-size:30px}.brand-mark span{font-size:25px}.brand{gap:11px}.brand-type{font-size:10px}.brand-type small{font-size:6px}.header-actions{gap:14px}.text-button{font-size:0}.text-button span{font-size:20px;margin:0}.icon-button{width:34px;height:34px}.top-line .eyebrow{font-size:7px;letter-spacing:.14em}.slash{margin:0 6px}.morning{font-size:7px;gap:5px;letter-spacing:.1em}.morning>span{font-size:14px}.top-line{left:18px;right:18px}.welcome{padding:70px 25px 50px;background:linear-gradient(0deg,#0c201add, #0c201a15 90%)}h1{font-size:64px}.welcome p{font-size:12px}.primary{padding:15px 20px;min-width:230px}.place-label{left:18px;top:50px}.place-label h2{font-size:22px}.place-label .eyebrow{font-size:7px}.map-card{top:100px;width:106px;padding:9px;right:16px}.map-heading{font-size:6px}.map-card svg{height:123px}.map-caption{font-size:6px}.floating-circle{right:18px;top:60px;width:32px;height:32px}.bottom-ui{left:12px;right:12px;bottom:12px}.navigation-line{margin-bottom:7px}#look-hint{font-size:8px;max-width:116px}.mode-switch button{padding:7px 11px;font-size:10px}.viewpoints{overflow:auto;justify-content:flex-start;scrollbar-width:none}.viewpoints button{flex:none;padding:17px 13px;font-size:10px}.key-guide{display:none}footer{height:26px;padding:0 18px;font-size:6px}footer>span:last-child{display:none}.panel{left:12px;right:12px;width:auto;top:12px;bottom:12px;padding:22px}.welcome-note{font-size:8px}#toast{width:max-content;max-width:90%;top:15px;text-align:center}.touch-dpad button,.touch-height button{width:40px;height:40px}#touch-controls{bottom:120px;left:15px;right:15px}.morning{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.brand-logo{display:flex;align-items:center;justify-content:center;background:#203d36;border-radius:3px;width:76px;height:70px;flex:none}.brand-logo img{display:block;object-fit:contain;width:72px;height:68px}@media(max-width:850px){.brand-logo{width:60px;height:58px}.brand-logo img{width:58px;height:56px}}@media(max-width:600px){.brand-logo{width:54px;height:53px}.brand-logo img{width:52px;height:51px}}
.day-night{border:1px solid #bec6bd;border-radius:22px;background:transparent;padding:9px 15px;font-size:12px;white-space:nowrap}.day-night[aria-pressed="true"]{background:#203d36;color:#f3f1eb}@media(max-width:600px){.header-actions{gap:8px}.day-night{font-size:10px;padding:8px 10px}}
