:root{font-family:Arial,Helvetica,sans-serif;color:#30342e;background:#f1f1e9;color-scheme:light;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;overflow:hidden;width:100%;height:100dvh}[hidden]{display:none!important}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}#webgl-container{position:fixed;top:0;right:0;bottom:0;left:0}#webgl-container canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}#webgl-container canvas:focus-visible{outline:2px solid #747d69;outline-offset:-4px}.viewer-interface{position:fixed;z-index:5;transition:opacity .3s}.project-header{display:flex;justify-content:space-between;align-items:center;gap:24px;inset:max(25px,env(safe-area-inset-top)) 30px auto;pointer-events:none}.project-identity{margin:0;font-size:13px;line-height:1.5;font-weight:600;letter-spacing:-.015em}.project-identity>span:first-child{margin:0 10px;color:#8d9186;font-weight:400}.identity-caption{font-weight:400;color:#60665b}.portfolio-link{display:inline-flex;align-items:center;gap:8px;padding:6px 0 6px 8px;color:#596052;font-size:11px;line-height:1.5;text-decoration:none;pointer-events:auto}.portfolio-link svg{width:12px;height:12px}.portfolio-link:hover{color:#242a21}.portfolio-link:focus-visible{outline:2px solid #747d69;outline-offset:5px}.interaction-hint{position:fixed;z-index:5;top:calc(max(25px,env(safe-area-inset-top)) + 38px);left:30px;margin:0;color:#7b8173;font-size:10px;line-height:1.6;pointer-events:none;transition:opacity .5s}.interaction-hint span{margin:0 6px}.interaction-hint.dismissed,.loading-state .interaction-hint{opacity:0}.scene-information{left:22px;bottom:max(23px,env(safe-area-inset-bottom));max-width:min(460px,calc(100% - 230px));padding:13px 16px;border-radius:4px;background:#f1f1e9d6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.scene-information h2{margin:0;font-size:18px;line-height:1.3;font-weight:400;letter-spacing:-.02em;overflow-wrap:anywhere}.scene-information p{margin:6px 0 0;color:#69715f;font-size:11px;line-height:1.55;overflow-wrap:anywhere}.view-controls{right:30px;bottom:max(28px,env(safe-area-inset-bottom));display:flex;gap:9px}.view-controls button{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(82,94,72,.25);border-radius:50%;background:#f1f1e9de;color:#47533d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:color .15s,background-color .15s,border-color .15s}.view-controls button svg{width:20px;height:20px}.view-controls button:hover:not(:disabled){color:#263222;background:#f1f1e9;border-color:#525e488c}.view-controls button:focus-visible{outline:2px solid #67755a;outline-offset:4px}.view-controls button:disabled{color:#afb5a7;border-color:#525e481f;cursor:default}.loading-state .viewer-interface{opacity:0;pointer-events:none}.loading-state .viewer-interface a,.loading-state .viewer-interface button{pointer-events:none}.loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:30px;background:#f1f1e9;transition:opacity .35s,visibility .35s}.loader-content{width:min(380px,100%)}.loader-identity{margin:0 0 29px;color:#68725d;font-size:11px;line-height:1.5}.loader-identity span{padding:0 8px;color:#9da593}.loader-content h2{margin:0 0 28px;font-size:25px;line-height:1.35;font-weight:400;letter-spacing:-.025em;overflow-wrap:anywhere}.loader-progress-bar{height:2px;background:#d5dccb}.loader-fill{height:100%;width:0;background:#697a59;transition:width .2s}.loader-status{display:flex;justify-content:space-between;align-items:baseline;gap:25px;color:#838d77;font-size:10px;line-height:1.5;margin-top:13px}#btn-retry{margin-top:26px;padding:11px 21px;border:1px solid #a8b29c;border-radius:3px;background:transparent;color:#47543d;font-size:12px;line-height:1.5;cursor:pointer}#btn-retry:hover{background:#e4e8dc}#btn-retry:focus-visible{outline:2px solid #67755a;outline-offset:4px}body:not(.loading-state) .loader-overlay{opacity:0;visibility:hidden;pointer-events:none}#viewer-notice{position:fixed;z-index:20;top:90px;left:50%;transform:translate(-50%);width:max-content;max-width:min(540px,calc(100% - 40px));padding:13px 18px;border:1px solid #d0d5c7;border-radius:4px;background:#f1f1e9f5;color:#5b664e;font-size:12px;line-height:1.6;text-align:center;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:600px){.project-header{inset:max(19px,env(safe-area-inset-top)) 19px auto;gap:14px}.project-identity{font-size:12px}.project-identity>span:first-child{margin:0 7px}.portfolio-link{font-size:10px;gap:5px}.interaction-hint{top:calc(max(19px,env(safe-area-inset-top)) + 37px);left:19px;font-size:9px}.scene-information{left:14px;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 60px);max-width:calc(100% - 28px);padding:11px 13px}.scene-information h2{font-size:16px}.scene-information p{font-size:11px;margin-top:4px}.view-controls{right:19px;bottom:max(18px,env(safe-area-inset-bottom));gap:8px}.view-controls button{width:44px;height:44px}.loader-overlay{padding:28px}.loader-content h2{font-size:23px}.loader-status{gap:18px;font-size:9px}#viewer-notice{top:91px}}@media(max-height:450px)and (min-width:601px){.project-header{top:max(15px,env(safe-area-inset-top))}.interaction-hint{top:calc(max(15px,env(safe-area-inset-top)) + 31px)}.scene-information{bottom:15px;padding:9px 13px}.scene-information h2{font-size:16px}.scene-information p{margin-top:3px}.view-controls{bottom:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.environment-image-tour{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(ellipse at 50% 44%,#edf1ee 0,#d8e3e8 76%);-webkit-user-select:none;user-select:none}.image-tour-stage{position:absolute;top:0;right:0;bottom:0;left:0}.image-tour-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:contain;object-position:center;pointer-events:none;animation:image-tour-reveal .42s ease-out both}.image-tour-empty{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);width:min(360px,calc(100% - 48px));margin:0;color:#647267;font-size:13px;line-height:1.65;text-align:center}.image-tour-unavailable .image-tour-frame{opacity:.2;animation:none}#viewer-notice[data-mode=image-tour]{top:calc(max(25px,env(safe-area-inset-top)) + 41px);right:30px;left:auto;transform:none;width:auto;padding:4px 9px;border-color:#5b6b642e;border-radius:20px;background:#f0f5f1cc;color:#5c6c62;font-size:10px;line-height:1.5;pointer-events:none}.image-tour-mode .scene-information{background:#f4f6efe8;-webkit-backdrop-filter:none;backdrop-filter:none}@keyframes image-tour-reveal{0%{opacity:0}to{opacity:1}}@media(max-width:600px){.image-tour-stage{top:55px;bottom:155px}#viewer-notice[data-mode=image-tour]{top:calc(max(19px,env(safe-area-inset-top)) + 38px);right:19px;font-size:9px}}@media(prefers-reduced-motion:reduce){.image-tour-frame{animation:none}}
