.account-form{display:inline-flex;align-items:center;margin-left:8px}.account-form button{white-space:nowrap}
.account-login{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:8px 14px;border-radius:999px;background:#934132;color:#fff;text-decoration:none;font-size:13px;white-space:nowrap}.account-login:hover{background:#753124}.top .account-login{margin-left:auto}@media(max-width:900px){.top .account-login{margin-left:auto;padding:8px 11px;font-size:12px}}
.pwa-entry{border:0;background:transparent;color:#8f483a;white-space:nowrap;font-size:12px;padding:8px}.pwa-dialog{width:min(460px,calc(100vw - 28px));padding:28px}.pwa-dialog h2{margin:0 0 12px}.pwa-dialog p{line-height:1.75;font-size:14px}.pwa-dialog .pwa-help{padding:12px 14px;border-radius:10px;background:#f3e8d8;color:#55473e}.pwa-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.pwa-actions .btn{font-size:13px}@media(max-width:900px){.pwa-entry{display:none}}
.splash-loading{position:absolute;z-index:4;left:50%;top:calc(70% + 50px);transform:translateX(-50%);width:min(260px,70vw);text-align:center;color:#fff7e8;text-shadow:0 1px 5px #0008;font-size:12px}.splash-loading-bar{display:block;height:5px;border-radius:10px;overflow:hidden;background:#ffffff66;margin-bottom:8px}.splash-loading-bar:after{content:"";display:block;width:100%;height:100%;background:#f4d9ad;transform:scaleX(0);transform-origin:left;transition:transform .3s}.splash-loading.busy .splash-loading-bar:after{width:38%;transform:none;animation:splash-load 1.3s ease-in-out infinite}.splash-loading:not(.busy) .splash-loading-bar:after{transform:scaleX(1)}.splash-loading.failed .splash-loading-bar:after{background:#e58c75}.enter-btn:disabled{opacity:.75;cursor:wait}@keyframes splash-load{from{transform:translateX(-110%)}to{transform:translateX(270%)}}@media(prefers-reduced-motion:reduce){.splash-loading.busy .splash-loading-bar:after{animation:none;width:55%}}
.archive-cover{width:100%;height:160px;object-fit:cover;border-radius:12px;margin-bottom:14px}
.integrated-scene{height:auto!important;min-height:520px!important;background:#28241f!important;display:flex;flex-direction:column;overflow:hidden}
.app:has(#vr.active){max-width:1900px}.app:has(#vr.active) .content{max-width:none}#vr .section.explore{grid-template-columns:minmax(0,1fr) minmax(260px,300px)}#vr .scene-frame{height:min(82vh,900px);min-height:600px}@media(max-width:1180px){#vr .section.explore{grid-template-columns:minmax(0,1fr)}#vr .scene-frame{min-height:540px}}@media(max-width:700px){#vr .scene-frame{height:70dvh;min-height:420px}}
.scene-switch{display:flex;gap:8px;flex-wrap:wrap;padding:12px;background:#f7f2e9}.scene-switch .btn{font-size:12px;padding:8px 12px}.scene-switch .active{background:#934132;color:#fff}
.scene-frame{display:block;width:100%;height:min(70vh,690px);min-height:420px;border:0;background:#242424}
.community-map{position:relative;width:100%;height:clamp(270px,46vw,550px);overflow:hidden;background:linear-gradient(145deg,#e9ddcb,#d6c9b4);border-radius:24px;margin:20px 0}
.community-map svg{width:100%;height:100%;position:absolute;inset:0}
.map-marker{position:absolute;z-index:2;transform:translate(-50%,-50%);padding:8px 12px 8px 26px;border:1px solid #a46e5d;border-radius:24px;color:#5f3429;background:#fff9eeed;box-shadow:0 3px 12px #4a33222a;cursor:pointer;font:inherit;font-size:12px;white-space:nowrap}
.map-marker:before{content:"";position:absolute;left:9px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:#a5372d}
.map-marker:hover,.map-marker:focus-visible{background:#fff;z-index:3;outline:2px solid #a5372d}
.map-marker.has-memory{border-color:#4c7775}.map-marker.has-memory:before{background:#397c76}.map-marker.selected{outline:2px solid #a5372d;z-index:4}
.map-legend{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0;color:#6f6559;font-size:12px}.map-legend span:first-child{color:#a5372d}.map-legend .has-memory{color:#397c76}
.map-unlocated{position:absolute;z-index:2;right:12px;top:12px;display:grid;gap:3px;max-width:42%;padding:9px 12px;border-radius:12px;background:#fff9eeed;color:#624e3d;box-shadow:0 3px 12px #4a33222a}.map-unlocated small{font-size:11px}.map-unlocated button{padding:3px 0;text-align:left;background:none;color:#a5372d;text-decoration:underline;font:inherit;font-size:12px;white-space:normal}
.place-list,.place-actions,.admin-links,.import-form{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.place-list .btn{font-size:12px}
.place-detail{margin-top:18px}.place-detail h3{margin:0}.scan-frame{display:block;width:100%;height:min(70vh,690px);min-height:420px;border:0;border-radius:18px;background:#272727;margin-top:16px}
.place-stories{margin:18px 0}.place-story{padding:12px 0;border-bottom:1px solid #ded1c0}.place-story p{white-space:pre-line}.event-list{display:grid;gap:14px}
.community-feed-list{display:grid;gap:14px;margin-top:18px}.community-feed-item{padding:18px;border:1px solid #e4d9cb;border-radius:14px;background:#fffdf9}.community-feed-item h3{margin:0 0 7px}.community-feed-item .meta{margin:0 0 12px}.community-feed-body{white-space:pre-wrap;overflow-wrap:anywhere}.community-feed-photo{display:inline-block;width:min(220px,100%);max-height:180px;object-fit:cover;border-radius:10px;margin:8px 8px 0 0}.community-feed-audio{display:block;max-width:100%;margin:12px 0 0}.community-feed>.btn{margin-top:16px}
.submitted-photo-trigger{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:0;margin:8px 8px 0 0;border:0;border-radius:10px;background:transparent;cursor:zoom-in;vertical-align:middle}.submitted-photo-trigger:focus-visible{outline:3px solid #a5372d;outline-offset:3px}.submitted-photo-trigger img{margin:0!important}.submitted-photo-dialog{box-sizing:border-box;width:min(1000px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:12px 18px 18px}.submitted-photo-dialog img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 115px);margin:0 auto;object-fit:contain}.submitted-photo-dialog .dialog-close{margin-left:auto}.submitted-photo-dialog .meta{text-align:center;margin:8px 0 0;overflow-wrap:anywhere}
.record-image-preview{width:160px;max-width:45%;height:120px;object-fit:cover;border-radius:10px;margin:8px 8px 8px 0}.record-item .btn{margin:8px 8px 0 0}
.experiment-box label{display:block;margin:12px 0}.survey-form{margin:20px 0;padding-top:16px;border-top:1px solid #d8cbb8}.survey-form fieldset{border:0;padding:8px 0}.survey-form legend{font-weight:600}.survey-form textarea{width:100%;min-height:80px}.survey-form label{margin:6px 0}
.import-form input[type=file]{max-width:260px}.import-form select,.import-form input{padding:8px;border:1px solid #cab9a1;border-radius:8px;background:#fff}
.usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.usage-tile{padding:14px;border:1px solid #e4d9cb;border-radius:12px;background:#fffaf2}.usage-tile span{display:block;color:#786d5e;font-size:12px}.usage-tile b{display:block;margin-top:6px;font-size:23px}.usage-heading{margin:20px 0 10px}.usage-recent{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto}.usage-recent li{padding:9px 0;border-top:1px solid #e9dfd2;font-size:12px;line-height:1.6}
@media(max-width:600px){.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.account-form{margin-left:0}.top .badge{font-size:12px}.map-marker{font-size:0;width:24px;height:24px;padding:0;border-radius:50%}.map-marker:before{left:6px}.scene-frame,.scan-frame{height:62vh;min-height:340px}}

.record-upload-progress{position:relative;margin:16px 0 4px;padding:12px 14px;background:#f5f0e7;border:1px solid #ddd3c5;border-radius:8px;color:#805548;font-size:13px;overflow:hidden}
.record-upload-progress span{position:relative;z-index:1}
.record-upload-progress i{position:absolute;left:0;bottom:0;height:4px;width:0;background:#a34b36;transition:width .15s}
.record-upload-progress[hidden]{display:none}

.pwa-reminder{position:fixed;right:18px;bottom:18px;z-index:10030;width:min(350px,calc(100vw - 36px));padding:14px 16px;border:1px solid #cfad96;border-radius:14px;background:#fffaf2;color:#3f3029;box-shadow:0 10px 32px #34211635}
.pwa-reminder strong,.pwa-reminder span{display:block}.pwa-reminder strong{font-size:15px}.pwa-reminder span{margin-top:4px;font-size:12px;line-height:1.5}.pwa-reminder-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.pwa-reminder-actions button{min-height:40px;padding:8px 12px;border:1px solid #aa7661;border-radius:8px;background:#fffaf2;color:#753124;cursor:pointer}.pwa-reminder-actions button:last-child{background:#934132;color:#fff;border-color:#934132}
@media(max-width:900px){.pwa-reminder{right:8px;bottom:calc(72px + env(safe-area-inset-bottom));width:min(290px,calc(100vw - 16px));padding:9px 11px}.pwa-reminder strong{font-size:12px}.pwa-reminder span{display:none}.pwa-reminder-actions{margin-top:5px}.pwa-reminder-actions button{min-height:34px;padding:5px 9px;font-size:11px}}
