.viewer-shell{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#111827;isolation:isolate}.panorama-canvas{position:absolute;inset:0;touch-action:none}.status-screen{position:absolute;inset:0;z-index:20;display:grid;place-content:center;justify-items:center;gap:16px;padding:24px;text-align:center;background:#111827}.status-screen--error{z-index:30}.status-screen h1{margin:0;font-size:clamp(1.4rem,5vw,2rem)}.status-screen p{max-width:36rem;margin:0;color:#cbd5e1}.spinner{width:42px;height:42px;border:4px solid #475569;border-top-color:#67e8f9;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scene-title{position:absolute;z-index:5;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));max-width:calc(100% - 32px);margin:0;padding:2px;border:0;color:var(--viewer-text-color);background:transparent;font-size:clamp(1rem,3vw,1.3rem);box-shadow:none;text-shadow:0 1px 2px rgb(0 0 0 / 85%),0 0 6px rgb(0 0 0 / 55%);-webkit-backdrop-filter:none;backdrop-filter:none}.viewer-controls{position:absolute;z-index:8;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}.controls-toggle{position:absolute;z-index:9;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.icon-button,.text-button{min-width:48px;min-height:48px;border:1px solid rgb(255 255 255 / 24%);border-radius:12px;color:#fff;background:#0f172ad1;cursor:pointer;box-shadow:0 4px 14px #00000040;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.icon-button:hover,.text-button:hover{background:#1e293bf2}.icon-button:active,.text-button:active{transform:scale(.96)}.icon-button:disabled{cursor:wait;opacity:.55}.icon-button[aria-pressed=true]{color:#67e8f9;border-color:#67e8f9}.icon-button--plan{padding-inline:10px;font-size:.78rem}.icon-button--scenes{width:auto;padding-inline:10px;font-size:.78rem}.viewer-scene-list{position:absolute;z-index:8;right:max(100px,calc(env(safe-area-inset-right) + 84px));bottom:max(16px,env(safe-area-inset-bottom));display:grid;width:max-content;min-width:200px;max-width:min(420px,calc(100vw - 116px));max-height:min(70dvh,36rem);gap:6px;padding:10px;overflow-y:auto}.viewer-scene-list button{width:100%;max-width:100%;min-height:44px;padding:8px 12px;overflow:hidden;border:1px solid rgb(255 255 255 / 24%);border-radius:9px;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.viewer-scene-list button:disabled{cursor:default;opacity:1}.icon-button--small{min-width:42px;min-height:42px}.text-button{padding:0 18px}.transition-hotspot{width:0;height:0}.transition-hotspot__position{position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.transition-hotspot__button{position:relative;display:grid;box-sizing:border-box;aspect-ratio:1 / 1;flex:0 0 auto;width:54px;min-width:54px;max-width:54px;height:54px;min-height:54px;max-height:54px;padding:0;overflow:visible;place-items:center;border:2px solid white;border-radius:50%;color:#fff;background-color:var(--hotspot-color, #22d6aa);cursor:pointer;font-size:1.55rem;box-shadow:0 4px 18px #00000073;transform:none;transition:background .15s ease}.transition-hotspot__scale,.transition-hotspot__hover-effect,.transition-hotspot__visual{display:grid;width:100%;height:100%;place-items:center;transform-origin:center}.transition-hotspot__scale,.transition-hotspot__hover-effect{transition:transform .15s ease}.transition-hotspot__button.transition-hotspot__button--text{aspect-ratio:auto;width:280px;min-width:80px;max-width:min(32rem,calc(100vw - 32px));height:auto;min-height:0;max-height:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;text-align:center}.transition-hotspot__button--text .transition-hotspot__visual{width:100%;max-width:min(32rem,calc(100vw - 32px));height:auto;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;text-align:center}.transition-hotspot__icon{width:72%;height:72%;object-fit:contain;pointer-events:none}.transition-hotspot__icon--mask{color:#fff;background-color:currentcolor;mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.transition-hotspot__icon--image{border-radius:20%}.transition-hotspot--editing .transition-hotspot__button{cursor:grab}.transition-hotspot--editing .transition-hotspot__button:active{cursor:grabbing}.transition-hotspot--selected .transition-hotspot__button{outline:4px solid #facc15;outline-offset:3px}.universal-hotspot--draft .transition-hotspot__button{outline:3px dashed #facc15;outline-offset:3px}.transition-hotspot__button:hover,.transition-hotspot__button:focus-visible{z-index:2;transform:none;background-color:var(--hotspot-color, #22d6aa);filter:brightness(1.08)}.transition-hotspot__button--hover-scale:hover .transition-hotspot__hover-effect,.transition-hotspot__button--hover-scale:focus-visible .transition-hotspot__hover-effect{transform:scale(1.1)}.transition-hotspot__button.transition-hotspot__button--text:hover,.transition-hotspot__button.transition-hotspot__button--text:focus-visible{background:transparent}.transition-hotspot__button:active{transform:none}.transition-hotspot__position>.transition-hotspot__button:not(:disabled):hover,.transition-hotspot__position>.transition-hotspot__button:not(:disabled):active,.transition-hotspot__position>.transition-hotspot__button:focus-visible{transform:none}.transition-hotspot__button--hover-scale:active .transition-hotspot__hover-effect{transform:scale(.96)}.transition-hotspot__label{position:absolute;bottom:calc(100% + 10px);left:50%;width:max-content;z-index:40;min-width:0;max-width:min(320px,70vw);padding:8px 12px;border-radius:7px;color:var(--viewer-hotspot-tooltip-text-color, #ffffff);background:#0f172aeb;font-size:.875rem;line-height:1.35;white-space:normal;overflow-wrap:break-word;word-break:normal;opacity:0;pointer-events:none;transform:translate(-50%) translateY(4px);transition:opacity .15s ease,transform .15s ease}.universal-hotspot[data-hotspot-type=TOOLTIP] .transition-hotspot__label,.universal-hotspot--tooltip-open .transition-hotspot__label{max-width:min(320px,calc(100vw - 24px))}.universal-hotspot--tooltip-open .transition-hotspot__label{opacity:1}.overlay-host{position:absolute;z-index:30;inset:0;display:grid;place-items:center;padding:16px;background:#03071200;opacity:0;pointer-events:none;transition:opacity .15s ease,background .15s ease}.overlay-host--visible{background:#030712b8;opacity:1;pointer-events:auto}.overlay-host__dialog{position:relative;display:flex;width:min(460px,100%);max-height:100%;flex-direction:column;overflow:hidden;padding:20px;border:1px solid rgb(255 255 255 / 22%);border-radius:14px;color:#fff;background:#111827;box-shadow:0 18px 50px #0000008c;transform:scale(.96);transition:transform .2s ease}.overlay-host--visible .overlay-host__dialog{transform:scale(1)}.overlay-host__dialog--compact{width:fit-content;max-width:100%;padding:0}.overlay-host__dialog--large{width:min(920px,100%);height:min(80%,760px)}.overlay-host__dialog--fullscreen{position:absolute;inset:0;width:100%;height:100%;max-height:none;padding:16px;border:0;border-radius:0;background:#111827}.overlay-host__close{position:absolute;z-index:2;top:12px;right:12px;width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid rgb(255 255 255 / 24%);border-radius:9px;color:#fff;background:#0f172ac7;cursor:pointer}.overlay-host__close svg{width:22px;height:22px}.info-overlay{overflow:auto;display:grid;width:fit-content;max-width:min(420px,calc(100vw - 32px));gap:10px;padding:19px 67px 19px 21px}.info-overlay h2,.info-overlay p{margin:0}.info-overlay p{white-space:pre-wrap}.gallery-overlay{display:flex;min-width:0;min-height:0;flex:1;flex-direction:column}.gallery-overlay header{padding-right:48px}.gallery-overlay h2{margin:0}.gallery-overlay__viewport{display:flex;min-width:0;min-height:180px;flex:1;align-items:center;justify-content:center;overflow:hidden;cursor:grab;touch-action:none}.gallery-overlay__viewport:active{cursor:grabbing}.gallery-overlay__image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;-webkit-user-select:none;user-select:none}.video-overlay{display:flex;min-width:0;min-height:0;height:100%;flex-direction:column;gap:.625rem;color:#f8fafc}.video-overlay header h2,.video-overlay header p{margin:0 3rem .25rem 0}.video-overlay__media{display:block;width:100%;min-height:0;flex:1;object-fit:contain;background:#000}.video-overlay__controls{display:grid;min-width:0;gap:.4rem;padding:.5rem;border:1px solid rgb(255 255 255 / 12%);border-radius:10px;background:#020617d1;box-shadow:0 -4px 18px #0000003d;backdrop-filter:none;-webkit-backdrop-filter:none}.video-overlay__timeline-row,.video-overlay__actions,.video-overlay__volume{display:flex;min-width:0;align-items:center}.video-overlay__timeline-row{gap:.75rem}.video-overlay__actions{gap:.25rem}.video-overlay__timeline{min-width:4rem;flex:1}.video-overlay__time{flex:0 0 auto;color:#e2e8f0;font-size:.78rem;font-variant-numeric:tabular-nums;white-space:nowrap}.video-control{display:grid;width:40px;min-width:40px;height:40px;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;color:#f8fafc;background:transparent;cursor:pointer}.video-control:hover{border-color:#67e8f952;color:#67e8f9;background:#ffffff1a}.video-control:focus-visible,.overlay-host__close:focus-visible{outline:3px solid #67e8f9;outline-offset:2px}.video-control__icon{width:22px;height:22px;fill:currentColor}.video-control__icon--seek{width:27px;height:27px}.video-control__icon--seek text{fill:currentColor;font-size:8px;font-weight:700}.video-overlay__volume{width:min(150px,25vw);margin-left:.25rem;gap:.2rem}.video-overlay__volume-slider{min-width:42px;flex:1}.video-control--fullscreen{margin-left:auto}.video-overlay input[type=range]{height:20px;margin:0;accent-color:#67e8f9;cursor:pointer}.video-overlay input[type=range]{appearance:none;border-radius:999px;background:linear-gradient(to right,#67e8f9 0,#67e8f9 var(--range-progress),rgb(148 163 184 / 42%) var(--range-progress),rgb(148 163 184 / 42%) 100%);height:4px}.video-overlay input[type=range]::-webkit-slider-thumb{width:13px;height:13px;appearance:none;border:2px solid #0f172a;border-radius:50%;background:#f8fafc;box-shadow:0 0 0 1px #67e8f9}.video-overlay input[type=range]::-moz-range-thumb{width:11px;height:11px;border:2px solid #0f172a;border-radius:50%;background:#f8fafc;box-shadow:0 0 0 1px #67e8f9}.video-overlay__timeline input,.video-overlay__volume-slider input{width:100%}.video-overlay .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.transition-hotspot__button:hover+.transition-hotspot__label,.transition-hotspot__button:focus-visible+.transition-hotspot__label,.transition-hotspot__button:active+.transition-hotspot__label{opacity:1;transform:translate(-50%) translateY(0)}.floor-plan{position:absolute;z-index:12;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));width:min(430px,calc(100% - 96px));max-height:min(75dvh,680px);overflow:auto;padding:12px;border:1px solid rgb(255 255 255 / 20%);border-radius:14px;background:#0f172aeb;box-shadow:0 12px 30px #00000061;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overscroll-behavior:contain;touch-action:pan-x pan-y;box-sizing:border-box;transition:left .18s ease,top .18s ease,width .18s ease}.floor-plan--large{width:min(860px,calc(100% - 32px));max-height:calc(100% - 32px)}.floor-plan--fullscreen{inset:0;width:100%;max-height:none;height:100%;border-radius:0;touch-action:none;display:flex;flex-direction:column;overflow:hidden;background:#111827}.floor-plan:not(.floor-plan--fullscreen)[data-position=TOP_LEFT]{top:16px;left:16px;bottom:auto}.floor-plan:not(.floor-plan--fullscreen)[data-position=TOP_CENTER]{top:16px;left:50%;bottom:auto;translate:-50% 0}.floor-plan:not(.floor-plan--fullscreen)[data-position=TOP_RIGHT]{inset:16px 16px auto auto}.floor-plan:not(.floor-plan--fullscreen)[data-position=CENTER_LEFT]{top:50%;left:16px;bottom:auto;translate:0 -50%}.floor-plan:not(.floor-plan--fullscreen)[data-position=CENTER]{top:50%;left:50%;bottom:auto;translate:-50% -50%}.floor-plan:not(.floor-plan--fullscreen)[data-position=CENTER_RIGHT]{inset:50% 16px auto auto;translate:0 -50%}.floor-plan:not(.floor-plan--fullscreen)[data-position=BOTTOM_CENTER]{left:50%;translate:-50% 0}.floor-plan:not(.floor-plan--fullscreen)[data-position=BOTTOM_RIGHT]{right:16px;left:auto}.floor-plan[style]{translate:none}.floor-plan__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;cursor:grab;touch-action:none}.floor-plan--fullscreen .floor-plan__header{cursor:default}.floor-plan__mode-controls{display:flex;gap:4px;margin-left:auto}.floor-plan__mode-controls button{min-width:38px;min-height:38px;border:1px solid rgb(255 255 255 / 30%);border-radius:7px;color:#fff;background:#1e293be0;cursor:pointer}.floor-plan__mode-controls button[aria-pressed=true]{color:#082f49;background:#67e8f9}.floor-plan__switcher{display:flex;gap:6px;margin-bottom:10px;overflow-x:auto;padding:2px}.floor-plan__switcher button{flex:0 0 auto;min-height:40px;padding:7px 11px;border:1px solid rgb(255 255 255 / 30%);border-radius:9px;color:#fff;background:#1e293be0;cursor:pointer}.floor-plan__switcher button[aria-pressed=true]{border-color:#67e8f9;color:#082f49;background:#67e8f9}.floor-plan__viewport{position:relative;display:grid;width:100%;height:min(52dvh,520px);min-height:120px;min-width:0;overflow:hidden;place-items:center;border-radius:8px;background:#111827}.floor-plan--large .floor-plan__viewport{height:min(70dvh,640px)}.floor-plan--fullscreen .floor-plan__viewport{flex:1;width:100%;height:100%;min-width:0;min-height:0}.floor-plan__image-wrapper{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.floor-plan__image-wrapper[hidden]{display:none}.floor-plan__image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.floor-plan__image[hidden]{display:none}.floor-plan__canvas{position:absolute;line-height:0}.floor-plan__canvas[hidden]{display:none}.floor-plan__state,.floor-plan__empty{margin:0;padding:24px;color:#334155;line-height:1.4;text-align:center}.floor-plan__state--overlay{position:absolute;z-index:2;color:#fff;background:#0f172ab8;pointer-events:none}.floor-plan__state--error{position:absolute;z-index:3;color:#991b1b;background:#fffffff0}.floor-plan__state--error p{margin-top:0}.floor-plan__empty{position:absolute;inset:auto 0 0;padding:8px;background:#ffffffdb}.plan-point{position:absolute;display:grid;min-width:0;min-height:0;aspect-ratio:1 / 1;flex:0 0 auto;place-items:center;padding:0;border:3px solid white;border-radius:50%;color:#fff;background:#475569;cursor:pointer;box-shadow:0 2px 8px #0000007f;translate:-50% -50%;overflow:visible;line-height:1;touch-action:manipulation}.plan-marker-glyph{display:block;width:58%;height:58%;pointer-events:none}.plan-point[aria-current=location]{color:#082f49;background:#67e8f9}.plan-point:disabled{cursor:default;opacity:1}.plan-point__direction{position:absolute;inset:-14px;display:grid;place-items:start center;color:#f59e0b;font-size:14px;pointer-events:none;transform-origin:center}.plan-point__label{position:absolute;top:calc(100% + 5px);left:50%;width:max-content;max-width:150px;padding:3px 6px;border-radius:5px;color:#fff;background:#0f172ae5;font-size:12px;line-height:1.2;pointer-events:none;translate:-50%;opacity:0;transition:opacity .12s ease}.plan-point:hover .plan-point__label,.plan-point:focus-visible .plan-point__label,.plan-point[aria-current=location] .plan-point__label{opacity:1}.toast{position:absolute;z-index:40;left:50%;bottom:max(20px,env(safe-area-inset-bottom));display:flex;width:min(90%,540px);align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:10px;background:#991b1b;transform:translate(-50%)}.toast button{border:0;color:#fff;background:transparent;cursor:pointer;font-size:1.5rem}@media(max-width:560px){.viewer-controls{right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));gap:5px}.icon-button{min-width:44px;min-height:44px}.controls-toggle{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right))}.scene-title{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left))}.floor-plan{right:0;bottom:0;left:0;width:100%;max-height:min(78dvh,680px);padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));border-radius:16px 16px 0 0}.floor-plan--large{top:max(8px,env(safe-area-inset-top));right:8px;bottom:8px;left:8px;width:auto;max-height:none;border-radius:14px}.floor-plan--fullscreen{inset:0;width:100%;height:100%;max-height:none;border-radius:0}.floor-plan__header{flex-wrap:wrap}.overlay-host__dialog{padding:12px}.video-overlay{gap:.4rem}.video-overlay header p{display:none}.video-overlay__controls{width:100%;max-width:100%}.video-overlay__actions{justify-content:space-between;gap:0}.video-overlay__volume{width:auto;margin-left:0}.video-overlay__volume-slider{display:none}.video-control--fullscreen{margin-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.viewer-shell{--viewer-primary-color: #22d6aa;--viewer-text-color: #ffffff;--viewer-icon-color: #ffffff;--viewer-hotspot-tooltip-text-color: #ffffff;color:var(--viewer-text-color);background:var(--ui-bg-page, #06100d)}.status-screen{color:var(--viewer-text-color);background:radial-gradient(circle at 70% 80%,rgb(34 214 170 / 12%),transparent 38%),var(--ui-bg-page, #06100d)}.status-screen p{color:var(--ui-text-on-dark-secondary, #aebbb5)}.spinner{border-color:var(--ui-border-dark-strong, rgb(255 255 255 / 18%));border-top-color:var(--viewer-primary-color)}.scene-title{padding:2px;color:var(--viewer-text-color);background:transparent;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.viewer-controls{gap:.4rem;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.controls-toggle{border-color:var(--ui-border-dark-strong, rgb(255 255 255 / 18%));box-shadow:var(--ui-shadow-sm, 0 6px 18px rgb(0 0 0 / 10%));backdrop-filter:none;-webkit-backdrop-filter:none}.icon-button,.text-button{width:var(--ui-control-md, 44px);height:var(--ui-control-md, 44px);min-height:var(--ui-control-md, 44px);padding:0;color:var(--viewer-text-color);background:#06100dbd;border:1px solid var(--ui-border-dark-strong, rgb(255 255 255 / 18%));border-radius:var(--ui-radius-sm, 12px);box-shadow:var(--ui-shadow-sm, 0 6px 18px rgb(0 0 0 / 10%));backdrop-filter:none;-webkit-backdrop-filter:none;transition:color var(--ui-transition-fast, .12s ease),background var(--ui-transition-fast, .12s ease),border-color var(--ui-transition-fast, .12s ease)}.icon-button svg,.viewer-scene-list svg,.floor-plan svg,.overlay-host__close svg,.video-control svg{color:var(--viewer-icon-color)}.icon-button:hover,.text-button:hover{background:#06100ddb;border-color:#ffffff47}.icon-button:active,.text-button:active{background:#06100df0}.icon-button[aria-pressed=true]{color:var(--viewer-text-color);background:var(--viewer-primary-color);border-color:var(--viewer-primary-color)}.icon-button:focus-visible,.text-button:focus-visible{outline:3px solid var(--viewer-primary-color);outline-offset:2px}.icon-button--plan{width:auto;min-width:3.9rem;padding-inline:.75rem;font-size:.8rem;font-weight:650}.icon-button--scenes{width:auto;min-width:4.4rem;padding-inline:.75rem;font-size:.8rem;font-weight:650}.viewer-scene-list{color:var(--viewer-text-color);background:#06100deb;border:1px solid var(--ui-border-dark-strong, rgb(255 255 255 / 18%));border-radius:var(--ui-radius-md, 16px);box-shadow:var(--ui-shadow-lg, 0 28px 80px rgb(0 0 0 / 24%));backdrop-filter:none;-webkit-backdrop-filter:none}.viewer-scene-list button{color:var(--viewer-text-color);background:#ffffff0f;border-color:var(--ui-border-dark-strong, rgb(255 255 255 / 18%))}.viewer-scene-list button[aria-current=true]{color:var(--viewer-text-color);background:var(--viewer-primary-color);border-color:var(--viewer-primary-color)}.viewer-scene-list button:focus-visible{outline:3px solid var(--viewer-primary-color);outline-offset:2px}.transition-hotspot__button{background-color:var(--hotspot-color, #22d6aa);box-shadow:0 6px 20px #00000059}.transition-hotspot--selected .transition-hotspot__button,.universal-hotspot--draft .transition-hotspot__button{outline-color:var(--ui-warning, #d49a35)}.transition-hotspot__label{color:var(--viewer-hotspot-tooltip-text-color, #ffffff);background:#06100deb;border:1px solid var(--ui-border-dark, rgb(255 255 255 / 10%));border-radius:var(--ui-radius-xs, 8px);box-shadow:var(--ui-shadow-sm, 0 6px 18px rgb(0 0 0 / 10%))}.overlay-host{background:#02080600;transition:background var(--ui-transition-normal, .2s ease),opacity var(--ui-transition-normal, .2s ease);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}.overlay-host--visible{background:#020806b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.overlay-host__dialog{color:var(--viewer-text-color);background:var(--ui-bg-panel-dark, #0d1b16);border:1px solid var(--ui-border-dark-strong, rgb(255 255 255 / 18%));border-radius:var(--ui-radius-lg, 22px);box-shadow:var(--ui-shadow-lg, 0 28px 80px rgb(0 0 0 / 24%))}.overlay-host__dialog--fullscreen{background:var(--ui-bg-page, #06100d);border-radius:0}.overlay-host__close,.video-control{width:var(--ui-control-md, 44px);height:var(--ui-control-md, 44px);min-height:var(--ui-control-md, 44px);color:var(--viewer-icon-color);background:#ffffff12;border:1px solid var(--ui-border-dark-strong, rgb(255 255 255 / 18%));border-radius:var(--ui-radius-sm, 12px)}.overlay-host__close:hover,.video-control:hover{color:var(--viewer-primary-color);background:#ffffff1c;border-color:#22d6aa4d}.info-overlay{padding:19px 67px 19px 21px}.info-overlay p,.gallery-overlay header p,.video-overlay header p{color:var(--ui-text-on-dark-secondary, #aebbb5)}.gallery-overlay__viewport{overflow:hidden;background:var(--ui-bg-page, #06100d);border:1px solid var(--ui-border-dark, rgb(255 255 255 / 10%));border-radius:var(--ui-radius-md, 16px)}.video-overlay__media{background:var(--ui-bg-page, #06100d);border-radius:var(--ui-radius-md, 16px)}.video-overlay__controls{background:#06100de0;border-color:var(--ui-border-dark, rgb(255 255 255 / 10%));border-radius:var(--ui-radius-md, 16px);box-shadow:var(--ui-shadow-sm, 0 6px 18px rgb(0 0 0 / 10%))}.video-overlay input[type=range]{accent-color:var(--viewer-primary-color)}.floor-plan{color:var(--viewer-text-color);background:#06100deb;border:1px solid var(--ui-border-dark-strong, rgb(255 255 255 / 18%));border-radius:var(--ui-radius-md, 16px);box-shadow:var(--ui-shadow-lg, 0 28px 80px rgb(0 0 0 / 24%))}.floor-plan--fullscreen,.floor-plan--fullscreen .floor-plan__viewport{background:var(--ui-bg-page, #06100d)}.floor-plan__header{padding:.7rem;background:var(--ui-bg-panel-dark, #0d1b16);border-bottom:1px solid var(--ui-border-dark, rgb(255 255 255 / 10%))}.floor-plan__mode-controls button,.floor-plan__switcher button{color:var(--viewer-text-color);background:#ffffff0f;border-color:var(--ui-border-dark-strong, rgb(255 255 255 / 18%));border-radius:var(--ui-radius-xs, 8px)}.floor-plan__mode-controls button[aria-pressed=true],.floor-plan__switcher button[aria-pressed=true]{color:var(--ui-bg-page, #06100d);background:var(--viewer-primary-color);border-color:var(--viewer-primary-color)}.floor-plan__state--error{color:var(--ui-danger-dark, #942f37);background:var(--ui-surface-primary, #ffffff);border-radius:var(--ui-radius-sm, 12px)}.plan-point{background:var(--ui-text-on-light-secondary, #4f5e57);box-shadow:0 3px 10px #00000073}.plan-point[aria-current=location]{color:var(--ui-bg-page, #06100d);background:var(--viewer-primary-color)}.plan-point__direction{color:var(--ui-warning, #d49a35)}.plan-point__label{color:var(--viewer-text-color);background:#06100deb;border:1px solid var(--ui-border-dark, rgb(255 255 255 / 10%));border-radius:var(--ui-radius-xs, 8px)}.toast{color:var(--ui-text-on-dark, #f4f8f6);background:var(--ui-bg-panel-dark, #0d1b16);border:1px solid var(--ui-border-dark-strong, rgb(255 255 255 / 18%));border-radius:var(--ui-radius-sm, 12px);box-shadow:var(--ui-shadow-md, 0 16px 40px rgb(0 0 0 / 16%))}@media(max-width:640px){.viewer-controls{max-width:calc(100% - 1rem);overflow-x:auto;scrollbar-width:none}.viewer-controls::-webkit-scrollbar{display:none}.overlay-host{padding:.5rem}.overlay-host__dialog:not(.overlay-host__dialog--fullscreen):not(.overlay-host__dialog--compact){width:100%;max-height:calc(100dvh - 1rem);border-radius:var(--ui-radius-md, 16px)}.overlay-host__dialog--compact{width:fit-content;max-width:100%}.video-overlay__actions{flex-wrap:wrap}.floor-plan:not(.floor-plan--fullscreen){max-width:calc(100% - 1rem)}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f8fafc;background:#111827;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}button{font:inherit}button:focus-visible{outline:3px solid #67e8f9;outline-offset:3px}body{overflow:auto}button,input,textarea{font:inherit}button{min-height:44px;padding:.65rem 1rem;color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:.5rem}button:disabled{cursor:not-allowed;opacity:.65}button[aria-busy=true],.start-floor-button[aria-busy=true]{cursor:wait}.auth-page{display:grid;min-height:100vh;min-height:100dvh;padding:1rem;place-items:center;background:#111827}.panel{color:#111827;background:#fff;border-radius:.75rem;box-shadow:0 16px 50px #00000040}.form{display:grid;width:min(100%,28rem);gap:1rem;padding:1.5rem}.form h1{margin:0 0 .5rem}.form label{display:grid;gap:.4rem;font-weight:600}.form input,.form textarea{width:100%;min-height:44px;padding:.65rem;border:1px solid #94a3b8;border-radius:.45rem}.form textarea{min-height:7rem;resize:vertical}.link-button{color:#1d4ed8;background:transparent}.error-message{color:#b91c1c}.dashboard{min-height:100vh;min-height:100dvh;color:#111827;background:#f1f5f9}.dashboard-header,.title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dashboard-header{padding:1rem clamp(1rem,4vw,3rem);color:#fff;background:#111827}.dashboard-header div,.dashboard-header nav,.project-card div{display:flex;align-items:center;gap:.75rem}.dashboard-content{width:min(72rem,100%);padding:2rem 1rem;margin:auto}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}.project-card,.empty{padding:1.25rem}.project-card h2{margin-top:0}.card-title-button{min-height:0;padding:0;color:#1d4ed8;text-align:left;background:transparent}.project-card .danger{background:#b91c1c}.upload-zone{display:grid;gap:.5rem;padding:2rem;margin-bottom:1rem;text-align:center;cursor:pointer;border:2px dashed #64748b;place-items:center}.upload-zone input{max-width:100%}.upload-list{display:grid;gap:.5rem;margin-bottom:1rem}.upload-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,18rem);gap:1rem;padding:.75rem 1rem}.upload-item progress{width:100%}.upload-progress,.upload-error{display:grid;gap:.35rem}.upload-error>div{display:flex;flex-wrap:wrap;gap:.5rem}.upload-item-completed{pointer-events:none;animation:upload-fade-out .3s ease forwards}@keyframes upload-fade-out{to{opacity:0;transform:translateY(-.25rem)}}@media(prefers-reduced-motion:reduce){.upload-item-completed{animation-duration:1ms}}.panorama-thumbnail{display:block;width:calc(100% + 2.5rem);aspect-ratio:2 / 1;margin:-1.25rem -1.25rem 1rem;object-fit:cover;border-radius:.75rem .75rem 0 0}.status{width:fit-content;padding:.25rem .5rem;font-size:.8rem;font-weight:700;border-radius:999px;background:#e2e8f0}.status-ready{color:#166534;background:#dcfce7}.status-failed{color:#991b1b;background:#fee2e2}@media(max-width:520px){.dashboard-header,.title-row{align-items:stretch;flex-direction:column}.dashboard-header nav button{flex:1}.upload-item{grid-template-columns:1fr}}.tour-editor{display:grid;grid-template:"header header header" auto "scenes viewer properties" minmax(0,1fr) / minmax(15rem,20rem) minmax(0,1fr) minmax(15rem,20rem);width:100%;height:100vh;height:100dvh;min-width:0;min-height:0;overflow:hidden;background:#e2e8f0}.editor-header{z-index:2;display:flex;grid-area:header;gap:1rem;align-items:center;min-width:0;padding:.75rem 1rem;background:#fff;box-shadow:0 1px 4px #0f172a1f}.editor-header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-header [role=status]{flex:0 0 auto}.tour-editor.plan-mode>.editor-scenes,.tour-editor.plan-mode>.editor-viewer,.tour-editor.plan-mode>.editor-properties{display:none}.floor-editor{grid-row:2;grid-column:1 / -1;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(14rem,18rem) minmax(0,1fr) minmax(15rem,20rem);overflow:hidden;color:#0f172a}.floor-list,.marker-panel{min-height:0;padding:1rem;color:#0f172a;background:#f8fafc}.floor-list h2,.floor-list h3,.floor-list p,.floor-list strong,.floor-list small,.marker-panel h2,.marker-panel h3,.marker-panel p,.marker-panel label,.marker-panel span,.marker-panel strong,.marker-properties{color:#0f172a}.floor-heading,.plan-workspace>header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.floor-heading{justify-content:space-between}.floor-row{margin-bottom:.65rem;padding:.6rem;border:1px solid #cbd5e1;border-radius:.65rem;background:#fff;color:#0f172a}.floor-row.active,.marker-row.selected{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.floor-row>button,.marker-row{width:100%;border:1px solid #cbd5e1;color:#0f172a;background:#fff;text-align:left}.floor-row>button:hover:not(:disabled),.marker-row:hover:not(:disabled),.marker-panel>button:hover:not(:disabled){background:#e2e8f0}.floor-row>div button:not(.danger),.marker-panel>button{border:1px solid #94a3b8;color:#0f172a;background:#fff}.floor-row>button>img,.floor-thumbnail-placeholder{display:block;width:100%;height:5rem;margin-bottom:.4rem;border-radius:.35rem;object-fit:cover;background:#e2e8f0}.floor-thumbnail-placeholder{display:grid;place-items:center;color:#64748b}.floor-row small{display:block}.floor-row>div{display:flex;gap:.25rem;flex-wrap:wrap;margin-top:.5rem}.plan-workspace{min-width:0;min-height:0;display:flex;flex-direction:column;padding:.75rem;background:#e2e8f0}.plan-workspace>header h2{margin-right:auto;color:#0f172a}.plan-zoom-control{display:grid;grid-template-columns:auto minmax(8rem,12rem) 3.5rem;align-items:center;gap:.65rem;min-height:44px;padding:.5rem .75rem;border:1px solid #94a3b8;border-radius:.65rem;color:#0f172a;font-weight:600;background:#fff;box-shadow:0 2px 8px #0f172a1f}.plan-zoom-control input{min-width:0;accent-color:#1d4ed8}.plan-zoom-control output{color:#334155;text-align:right;font-variant-numeric:tabular-nums}.plan-upload{cursor:pointer}.plan-upload input{display:block;max-width:13rem}.plan-empty{flex:1;display:grid;place-items:center;color:#475569}.plan-upload-zone,.plan-state-card{width:min(36rem,calc(100% - 2rem));margin:auto;padding:clamp(1.5rem,5vw,3rem);border-radius:1rem;text-align:center;color:#0f172a;background:#fff;box-shadow:0 1rem 2.5rem #0f172a24}.plan-upload-zone{border:3px dashed #3b82f6;background:#eff6ff;transition:border-color .15s ease,background .15s ease,transform .15s ease}.plan-upload-zone.drag-active{border-color:#1d4ed8;background:#dbeafe;transform:scale(1.01)}.plan-upload-zone button,.plan-error-card button{min-height:2.75rem;padding-inline:1.25rem;background:#1d4ed8;color:#fff}.plan-upload-zone button:focus-visible,.plan-error-card button:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}.plan-state-card{display:grid;justify-items:center;gap:.75rem}.upload-progress-card progress{width:min(24rem,100%);height:1.1rem;accent-color:#2563eb}.processing-card{background:#f8fafc;border:2px solid #94a3b8}.plan-error-card{border:2px solid #dc2626;background:#fef2f2}.plan-error-card>div{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.plan-spinner{display:inline-block;width:2rem;height:2rem;border:4px solid #bfdbfe;border-top-color:#2563eb;border-radius:50%;animation:plan-spin .8s linear infinite}@keyframes plan-spin{to{rotate:1turn}}.plan-ready-area{position:relative;flex:1;min-height:0;display:flex}.plan-replacement-status{position:absolute;z-index:3;top:1rem;left:50%;translate:-50%;display:flex;align-items:center;gap:.6rem;max-width:calc(100% - 2rem);padding:.75rem 1rem;border-radius:.75rem;color:#0f172a;background:#fffffff0;box-shadow:0 .5rem 1.5rem #0f172a33}.plan-replacement-status.failed{border:2px solid #dc2626;background:#fef2f2}.plan-replacement-status .plan-spinner{width:1.25rem;height:1.25rem;border-width:3px}.plan-toast{position:absolute;z-index:5;right:1rem;bottom:1rem;padding:.75rem 1rem;border-radius:.6rem;color:#fff;background:#166534;box-shadow:0 .5rem 1.5rem #0f172a40}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){.plan-spinner{animation:none}}.plan-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:1rem;width:100%}.plan-canvas{position:relative;margin:auto;min-width:50%;touch-action:none}.plan-canvas.placing{cursor:crosshair}.plan-canvas>img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.floor-marker{position:absolute;display:block;min-width:0;min-height:0;aspect-ratio:1 / 1;translate:-50% -50%;padding:0;border:3px solid white;border-radius:50%;background:#2563eb;color:#fff;touch-action:none;box-sizing:border-box;overflow:visible}.floor-marker.selected{outline:3px solid #f59e0b}.floor-marker b{position:absolute;top:calc(100% + .3rem);left:50%;translate:-50%;width:max-content;max-width:10rem;padding:.15rem .35rem;border-radius:.25rem;background:#0f172ad9;font-size:.72rem;opacity:0;pointer-events:none;transition:opacity .12s ease}.floor-marker:hover b,.floor-marker:focus-visible b,.floor-marker.selected b{opacity:1}.marker-direction{position:absolute;inset:50%;width:2.4rem;height:2px;transform-origin:left center;background:#f59e0b}.marker-direction i{position:absolute;right:-.5rem;top:-.5rem;width:1rem;height:1rem;border-radius:50%;background:#f59e0b}.marker-panel{display:flex;flex-direction:column;gap:.5rem;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.marker-properties{display:grid;gap:.6rem;padding-top:.75rem;border-top:1px solid #cbd5e1;color:#0f172a;background:#f8fafc}.marker-properties input{color:#0f172a;background:#fff}@media(max-width:800px){.floor-editor{grid-template-columns:minmax(10rem,14rem) minmax(0,1fr) minmax(13rem,16rem)}}@media(max-width:640px){.floor-editor{grid-template-columns:minmax(9rem,12rem) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(10rem,45%)}.marker-panel{grid-column:1 / -1;grid-row:2}}.editor-mode-switch{display:flex;gap:.35rem}.editor-mode-switch button[aria-pressed=true]{background:#1d4ed8;color:#fff}.editor-scenes,.editor-properties{min-width:0;min-height:0;padding:1rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;color:#111827;background:#fff}.editor-scenes{grid-area:scenes;border-right:1px solid #cbd5e1}.editor-properties{grid-area:properties;border-left:1px solid #cbd5e1}.editor-properties h2,.editor-properties h3,.editor-properties label,.editor-properties legend{color:#111827}.editor-properties p,.editor-properties small,.editor-properties dt,.editor-properties dd,.editor-properties [role=status]{color:#374151}.editor-properties input,.editor-properties select,.editor-properties option{color:#111827;background:#fff}.scene-title-properties{display:grid;gap:1rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #cbd5e1}.scene-title-properties textarea{width:100%;min-height:7.5rem;max-height:22.5rem;resize:vertical;overflow-y:auto}.editor-properties label,.editor-properties dl{display:grid;gap:.5rem}.editor-properties input{width:100%}.editor-properties button{width:100%;margin-top:.5rem}.hotspot-properties{display:grid;gap:.75rem}.hotspot-properties select{width:100%;padding:.55rem}.icon-picker{min-width:0;padding:.65rem;border:1px solid #cbd5e1;border-radius:.6rem}.icon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.icon-grid button{display:grid;min-width:0;padding:.35rem;place-items:center}.icon-grid button[aria-pressed=true]{outline:3px solid #2563eb}.custom-icon-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;grid-column:1 / -1;gap:.25rem}.custom-icon-card>button:first-child{grid-template-columns:auto 1fr}.custom-icon-card>button:not(:first-child){width:auto}.icon-grid img{width:2.5rem;height:2.5rem;object-fit:contain}.icon-grid span{max-width:100%;overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.icon-upload{padding-top:.75rem}.target-view-actions{display:grid}.editor-properties .danger{color:#fff;background:#b91c1c}.panorama-grid,.panorama-grid>*,.project-card>*{min-width:0}.panorama-actions{display:flex;flex-wrap:wrap;gap:.5rem;max-width:100%}.panorama-actions button{flex:1 1 auto;min-width:0}.scene-hotspot-list{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #cbd5e1}.scene-hotspot-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem;padding:.25rem;margin-bottom:.4rem;border:2px solid transparent;border-radius:.55rem;color:#111827;background:#f1f5f9}.scene-hotspot-row:hover{background:#e2e8f0}.scene-hotspot-row.selected{border-color:#2563eb;background:#dbeafe}.scene-hotspot-row>button:first-child{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:.5rem;min-width:0;padding:.35rem;color:inherit;text-align:left;background:transparent}.scene-hotspot-row img{width:2.5rem;height:2.5rem;object-fit:contain}.scene-hotspot-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-hotspot-row .compact{width:auto;min-width:2.25rem;margin:0}.system-icon-card{display:grid;gap:.25rem;min-width:0}.system-icon-card>button{min-width:0}.default-icon-action{font-size:.68rem}.default-icon-action[aria-pressed=true]{outline:2px solid #16a34a}.dialog-backdrop{position:fixed;z-index:100;display:grid;inset:0;padding:1rem;background:#0f172aa6;place-items:center}.confirmation-dialog{width:min(28rem,100%);padding:1.25rem;border-radius:.75rem;color:#111827;background:#fff;box-shadow:0 1rem 3rem #0000004d}.confirmation-dialog h2,.confirmation-dialog label{color:#111827}.confirmation-dialog p{color:#374151}.confirmation-dialog button:not(.danger){color:#111827;background:#e5e7eb}.confirmation-dialog button:not(.danger):hover:not(:disabled){background:#d1d5db}.confirmation-dialog button:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.confirmation-dialog button:disabled,.confirmation-dialog input:disabled{cursor:not-allowed;opacity:.6}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end}.dialog-actions button{width:auto}.editor-viewer{position:relative;grid-area:viewer;min-width:0;min-height:0;overflow:hidden;background:#0f172a}.editor-viewer .viewer-shell{width:100%;height:100%;min-height:100%}.editor-empty,.editor-loading,.editor-error{display:grid;min-height:100dvh;padding:2rem;text-align:center;place-content:center}.editor-scene{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;padding:.35rem;margin-bottom:.5rem;border:2px solid transparent;border-radius:.65rem;background:#f1f5f9}.editor-scene.active{border-color:#2563eb}.editor-scene-select{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.65rem;min-width:0;padding:0;color:#0f172a;text-align:left;background:transparent}.editor-scene-select img,.thumbnail-fallback{width:5rem;aspect-ratio:2 / 1;object-fit:cover;border-radius:.35rem;background:#cbd5e1}.editor-scene-select small,.unavailable-scenes span,.unavailable-scenes small{display:block}.scene-order-controls{display:flex;align-items:center}.scene-order-controls button{min-width:2.25rem;min-height:2.25rem;padding:.25rem}.unavailable-scenes{padding-top:1rem;margin-top:1rem;border-top:1px solid #cbd5e1}.unavailable-scenes>div{padding:.5rem 0}@media(max-width:960px){.tour-editor{grid-template:"header header" auto "viewer viewer" minmax(18rem,55dvh) "scenes properties" minmax(0,1fr) / minmax(0,1fr) minmax(0,1fr);overflow:hidden}.editor-scenes,.editor-properties{min-height:0;overflow-y:auto;overflow-x:hidden}}@media(max-width:640px){.tour-editor{display:grid;grid-template:"header" auto "viewer" minmax(16rem,48dvh) "scenes" minmax(8rem,1fr) "properties" minmax(10rem,1fr) / minmax(0,1fr);overflow:hidden}.editor-header{flex-wrap:wrap}.editor-viewer{order:1;min-height:0}.editor-scenes{order:2}.editor-properties{order:3}}.landing-page{min-height:100dvh;overflow-x:hidden;color:#0f172a;background:radial-gradient(circle at 85% 10%,rgb(56 189 248 / 20%),transparent 30rem),linear-gradient(180deg,#f8fafc,#eff6ff)}.landing-header{display:flex;gap:1rem;align-items:center;justify-content:space-between;width:min(74rem,100%);padding:1rem clamp(1rem,4vw,2rem);margin:0 auto}.landing-header nav,.landing-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.landing-header a,.landing-header button,.landing-actions button,.wordmark,.text-link{width:auto}.wordmark{padding:0;color:#0f172a;background:transparent;font-size:1.5rem;font-weight:800}.landing-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:clamp(2rem,6vw,5rem);align-items:center;width:min(74rem,100%);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,2rem);margin:0 auto}.landing-hero h1{max-width:15ch;margin:.5rem 0 1rem;font-size:clamp(2.25rem,6vw,4.75rem);line-height:1.02}.landing-hero>div>p:not(.eyebrow){max-width:42rem;color:#475569;font-size:clamp(1rem,2vw,1.2rem)}.eyebrow{color:#0369a1;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.landing-actions{margin-top:1.5rem}.landing-actions .secondary{color:#0f172a;background:#fff}.login-form{width:100%;color:#0f172a;background:#ffffffeb;box-shadow:0 1.5rem 4rem #0f172a24}.text-link{padding:0;color:#0369a1;background:transparent}.landing-features{width:min(74rem,100%);padding:2rem clamp(1rem,4vw,2rem) 5rem;margin:0 auto}.landing-features>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.landing-features article{min-width:0;padding:1.25rem;border:1px solid #dbeafe;border-radius:1rem;background:#fff}@media(max-width:800px){.landing-hero{grid-template-columns:minmax(0,1fr)}.landing-features>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.landing-header,.landing-header nav{align-items:flex-start}.landing-header{flex-direction:column}.landing-features>div{grid-template-columns:minmax(0,1fr)}}:root{--ui-bg-page: #06100d;--ui-bg-page-secondary: #0a1712;--ui-bg-panel-dark: #0d1b16;--ui-bg-panel-dark-hover: #12251e;--ui-bg-panel-dark-accent: #18342a;--ui-nav-bg: rgb(15 23 42 / 88%);--ui-surface-primary: #ffffff;--ui-surface-secondary: #f3f6f4;--ui-surface-tertiary: #e8eeeb;--ui-text-on-dark: #f4f8f6;--ui-text-on-dark-secondary: #aebbb5;--ui-text-on-dark-muted: #788780;--ui-text-on-light: #111815;--ui-text-on-light-secondary: #4f5e57;--ui-text-on-light-muted: #738079;--ui-accent: #22d6aa;--ui-accent-secondary: #2fc5d6;--ui-accent-hover: #3be3ba;--ui-accent-active: #12ad86;--ui-success: #1eb98b;--ui-warning: #d49a35;--ui-danger: #c94750;--ui-danger-dark: #942f37;--ui-info: #3ca8cf;--ui-border-dark: rgb(255 255 255 / 10%);--ui-border-dark-strong: rgb(255 255 255 / 18%);--ui-border-light: #d8e1dc;--ui-border-light-strong: #c4d0ca;--ui-focus-ring: rgb(34 214 170 / 18%);--ui-accent-wash: rgb(34 214 170 / 10%);--ui-danger-wash: rgb(201 71 80 / 10%);--ui-warning-wash: rgb(212 154 53 / 12%);--ui-info-wash: rgb(60 168 207 / 11%);--ui-radius-xs: 8px;--ui-radius-sm: 12px;--ui-radius-md: 16px;--ui-radius-lg: 22px;--ui-radius-xl: 30px;--ui-radius-pill: 999px;--ui-shadow-sm: 0 6px 18px rgb(0 0 0 / 10%);--ui-shadow-md: 0 16px 40px rgb(0 0 0 / 16%);--ui-shadow-lg: 0 28px 80px rgb(0 0 0 / 24%);--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-5: 20px;--ui-space-6: 24px;--ui-space-8: 32px;--ui-space-10: 40px;--ui-space-12: 48px;--ui-control-sm: 36px;--ui-control-md: 44px;--ui-control-lg: 52px;--ui-transition-fast: .12s ease;--ui-transition-normal: .2s ease;--ui-page-gradient: radial-gradient(circle at 82% 82%, rgb(34 214 170 / 16%), transparent 38%), radial-gradient(circle at 15% 5%, rgb(47 197 214 / 8%), transparent 30%), linear-gradient(135deg, #06100d 0%, #0a1712 55%, #06100d 100%);font-family:Inter,SF Pro Display,SF Pro Text,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ui-text-on-dark);background:var(--ui-bg-page)}:root[data-theme=light]{--ui-bg-page: #edf5f1;--ui-bg-page-secondary: #f7faf8;--ui-bg-panel-dark: #ffffff;--ui-bg-panel-dark-hover: #e8f2ed;--ui-bg-panel-dark-accent: #dcebe4;--ui-nav-bg: rgb(255 255 255 / 92%);--ui-surface-primary: #ffffff;--ui-surface-secondary: #f3f7f5;--ui-surface-tertiary: #e4ede8;--ui-text-on-dark: #111815;--ui-text-on-dark-secondary: #4f5e57;--ui-text-on-dark-muted: #738079;--ui-border-dark: rgb(17 24 21 / 10%);--ui-border-dark-strong: rgb(17 24 21 / 18%);--ui-page-gradient: radial-gradient(circle at 82% 82%, rgb(34 214 170 / 13%), transparent 38%), radial-gradient(circle at 15% 5%, rgb(47 197 214 / 8%), transparent 30%), linear-gradient(135deg, #f7faf8 0%, #edf5f1 55%, #f8fbf9 100%)}body{color:var(--ui-text-on-dark);background:var(--ui-page-gradient);background-attachment:fixed}h1,h2,h3,p{text-wrap:pretty}h1{font-size:clamp(2.15rem,4vw,3rem);line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(1.55rem,2.5vw,2.05rem);line-height:1.15;letter-spacing:-.025em}h3{font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.25}button,input,select,textarea{font:inherit}button{transition:color var(--ui-transition-fast),background var(--ui-transition-fast),border-color var(--ui-transition-fast),box-shadow var(--ui-transition-fast),transform var(--ui-transition-fast)}button:not(:disabled):hover{transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(0)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--ui-focus-ring);outline-offset:2px;border-color:var(--ui-accent)}.ui-button{position:relative;display:inline-grid;min-height:var(--ui-control-md);padding:0 var(--ui-space-5);overflow:hidden;font-weight:600;color:var(--ui-bg-page);place-items:center;background:linear-gradient(90deg,var(--ui-accent-secondary),var(--ui-accent));border:1px solid transparent;border-radius:var(--ui-radius-sm)}.ui-button--secondary{color:var(--ui-text-on-light);background:var(--ui-surface-primary);border-color:var(--ui-border-light)}.ui-button--dark{min-height:var(--ui-control-md);padding:0 var(--ui-space-5);font-weight:600;color:var(--ui-text-on-dark);background:var(--ui-bg-panel-dark-accent);border:1px solid rgb(34 214 170 / 32%);border-radius:var(--ui-radius-sm)}.ui-button--dark:not(:disabled):hover{background:var(--ui-bg-panel-dark-hover);border-color:var(--ui-accent-active)}.ui-button--dark:not(:disabled):active{background:var(--ui-bg-panel-dark)}.ui-button:not(.ui-button--secondary,.ui-button--ghost,.ui-button--danger):not(:disabled):hover{background:linear-gradient(90deg,var(--ui-accent-hover),var(--ui-accent))}.ui-button:not(.ui-button--secondary,.ui-button--ghost,.ui-button--danger):not(:disabled):active{background:linear-gradient(90deg,var(--ui-accent-active),var(--ui-accent))}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button--ghost{color:var(--ui-text-on-dark);background:#ffffff0f;border-color:var(--ui-border-dark-strong)}.ui-button--danger{color:var(--ui-surface-primary);background:var(--ui-danger-dark)}.ui-button__content{grid-area:1 / 1}.ui-button[aria-busy=true] .ui-button__content{visibility:hidden}.ui-spinner{width:1.35rem;height:1.35rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}.ui-spinner--button{grid-area:1 / 1}.ui-icon-button{display:inline-grid;width:var(--ui-control-md);min-width:var(--ui-control-md);height:var(--ui-control-md);min-height:var(--ui-control-md);padding:0;color:var(--ui-text-on-dark);place-items:center;background:#0d1b16d6;border:1px solid var(--ui-border-dark-strong);border-radius:var(--ui-radius-sm)}.ui-input,.ui-textarea,.ui-select,.ui-form-field input,.ui-form-field textarea,.ui-form-field select{width:100%;min-width:0;min-height:var(--ui-control-md);padding:var(--ui-space-3) var(--ui-space-4);color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light-strong);border-radius:var(--ui-radius-sm);transition:border-color var(--ui-transition-fast),box-shadow var(--ui-transition-fast)}.ui-textarea,.ui-form-field textarea{min-height:7rem;resize:vertical}.ui-form-field{display:grid;min-width:0;gap:var(--ui-space-2);color:var(--ui-text-on-light)}.ui-form-field__label{font-size:.875rem;font-weight:600}.ui-form-field__helper,.ui-form-field__error{font-size:.8125rem}.ui-form-field__helper{color:var(--ui-text-on-light-muted)}.ui-form-field__error{color:var(--ui-danger-dark)}.ui-card{color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm)}.ui-badge{display:inline-flex;min-height:1.65rem;padding:0 var(--ui-space-3);align-items:center;font-size:.75rem;font-weight:650;color:var(--ui-text-on-light-secondary);background:var(--ui-surface-tertiary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-pill)}.ui-badge--success{color:#116348;background:var(--ui-accent-wash);border-color:#1eb98b47}.ui-badge--processing{color:#12677c;background:var(--ui-info-wash);border-color:#3ca8cf47}.ui-badge--warning{color:#765119;background:var(--ui-warning-wash);border-color:#d49a354d}.ui-badge--danger{color:var(--ui-danger-dark);background:var(--ui-danger-wash);border-color:#c9475040}.ui-tabs{display:flex;gap:var(--ui-space-2);padding:var(--ui-space-1);overflow-x:auto;background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-sm)}.ui-tabs button{min-height:var(--ui-control-sm);color:var(--ui-text-on-light-secondary);white-space:nowrap;background:transparent}.ui-tabs button[aria-pressed=true],.ui-tabs button[aria-selected=true]{color:var(--ui-bg-page);background:var(--ui-accent)}.ui-choice{width:1.15rem;height:1.15rem;accent-color:var(--ui-accent-active)}.ui-range{width:100%;min-height:var(--ui-control-sm);accent-color:var(--ui-accent-active)}.ui-tooltip{position:relative;display:inline-flex}.ui-tooltip__content{position:absolute;bottom:calc(100% + var(--ui-space-2));left:50%;z-index:20;width:max-content;max-width:15rem;padding:var(--ui-space-2) var(--ui-space-3);font-size:.75rem;color:var(--ui-text-on-dark);pointer-events:none;visibility:hidden;background:var(--ui-bg-panel-dark);border:1px solid var(--ui-border-dark-strong);border-radius:var(--ui-radius-xs);box-shadow:var(--ui-shadow-sm);opacity:0;transform:translate(-50%,.25rem);transition:opacity var(--ui-transition-fast),transform var(--ui-transition-fast)}.ui-tooltip:hover .ui-tooltip__content,.ui-tooltip:focus-within .ui-tooltip__content{visibility:visible;opacity:1;transform:translate(-50%)}.ui-modal-surface{width:min(100%,31rem);padding:var(--ui-space-6);color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg)}.ui-status-message{padding:var(--ui-space-3) var(--ui-space-4);color:var(--ui-text-on-light-secondary);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-sm)}.ui-status-message--success{color:#116348;background:var(--ui-accent-wash)}.ui-status-message--processing{color:#12677c;background:var(--ui-info-wash)}.ui-status-message--warning{color:#765119;background:var(--ui-warning-wash)}.ui-status-message--danger{color:var(--ui-danger-dark);background:var(--ui-danger-wash)}.ui-spinner-wrap{display:inline-grid;place-items:center}.ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;clip:rect(0,0,0,0);border:0}.ui-skeleton{display:block;min-height:1rem;overflow:hidden;background:linear-gradient(100deg,var(--ui-surface-tertiary) 20%,var(--ui-surface-secondary) 40%,var(--ui-surface-tertiary) 60%);background-size:200% 100%;border-radius:var(--ui-radius-xs);animation:ui-skeleton 1.4s ease infinite}.ui-section-header{display:flex;gap:var(--ui-space-4);align-items:flex-start;justify-content:space-between}.ui-section-header h2,.ui-section-header p{margin:0}.ui-section-header p{margin-top:var(--ui-space-2);color:var(--ui-text-on-light-secondary)}.ui-section-header__actions{display:flex;gap:var(--ui-space-2)}.ui-empty-state{display:grid;padding:clamp(2rem,6vw,4rem);color:var(--ui-text-on-light-secondary);text-align:center;place-items:center;background:var(--ui-surface-secondary);border:1px dashed var(--ui-border-light-strong);border-radius:var(--ui-radius-lg)}.ui-empty-state h2{margin:var(--ui-space-3) 0 var(--ui-space-2);color:var(--ui-text-on-light)}.ui-empty-state__icon{display:grid;width:3rem;height:3rem;color:var(--ui-accent-active);place-items:center;background:var(--ui-accent-wash);border-radius:50%}@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes ui-skeleton{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.auth-page,.landing-page,.dashboard{min-height:100vh;min-height:100dvh;background:var(--ui-page-gradient)}.panel{color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm)}.error-message{padding:var(--ui-space-3) var(--ui-space-4);margin:0;font-size:.875rem;color:var(--ui-danger-dark);background:var(--ui-danger-wash);border:1px solid rgb(201 71 80 / 22%);border-radius:var(--ui-radius-sm)}.form{gap:var(--ui-space-5);padding:clamp(1.5rem,4vw,2.25rem)}.form h1,.form h2{margin:0;color:var(--ui-text-on-light)}.form label{gap:var(--ui-space-2);color:var(--ui-text-on-light);font-size:.875rem;font-weight:600}.form input,.form select,.form textarea,.confirmation-dialog input{min-width:0;min-height:var(--ui-control-md);padding:var(--ui-space-3) var(--ui-space-4);color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light-strong);border-radius:var(--ui-radius-sm);transition:border-color var(--ui-transition-fast),box-shadow var(--ui-transition-fast)}.form input:focus,.form select:focus,.form textarea:focus,.confirmation-dialog input:focus{border-color:var(--ui-accent);outline:none;box-shadow:0 0 0 3px var(--ui-focus-ring)}.form>button:not(.link-button,.text-link),.landing-actions>button:first-child,.title-row>button,.plan-upload-zone button,.plan-error-card button{min-height:var(--ui-control-md);font-weight:650;color:var(--ui-bg-page);background:linear-gradient(90deg,var(--ui-accent-secondary),var(--ui-accent));border:1px solid transparent;border-radius:var(--ui-radius-sm)}.form>button:not(.link-button,.text-link):hover,.landing-actions>button:first-child:hover,.title-row>button:hover{background:linear-gradient(90deg,var(--ui-accent-hover),var(--ui-accent))}.link-button,.text-link,.card-title-button{color:var(--ui-accent-active);background:transparent}.landing-page{padding:0 clamp(1rem,5vw,5rem) clamp(3rem,8vw,7rem);color:var(--ui-text-on-dark)}.landing-header{width:min(88rem,100%);min-height:5.25rem;padding:var(--ui-space-4) 0;margin:auto;border-bottom:1px solid var(--ui-border-dark)}.landing-header nav{gap:var(--ui-space-3)}.landing-header nav a{padding:var(--ui-space-3);color:var(--ui-text-on-dark-secondary);text-decoration:none;border-radius:var(--ui-radius-xs)}.landing-header nav a:hover{color:var(--ui-text-on-dark);background:#ffffff0d}.landing-header nav button,.landing-actions .secondary{color:var(--ui-text-on-dark);background:#ffffff0f;border:1px solid var(--ui-border-dark-strong);border-radius:var(--ui-radius-sm)}.landing-header nav button:last-child{color:var(--ui-bg-page);background:var(--ui-accent);border-color:transparent}.wordmark{min-height:auto;padding:0;font-size:1.25rem;font-weight:700;letter-spacing:-.04em;color:var(--ui-text-on-dark);background:transparent}.wordmark:before{display:inline-block;width:.75rem;height:.75rem;margin-right:var(--ui-space-2);vertical-align:.05rem;content:"";background:linear-gradient(135deg,var(--ui-accent-secondary),var(--ui-accent));border-radius:50%;box-shadow:0 0 1rem #22d6aa4d}.landing-hero{position:relative;width:min(88rem,100%);min-height:min(46rem,calc(100dvh - 5.25rem));padding:clamp(3.5rem,10vw,8rem) 0;margin:auto;align-items:center;gap:clamp(2rem,7vw,7rem)}.landing-hero>div:first-child{max-width:47rem}.landing-hero h1{max-width:13ch;margin:var(--ui-space-4) 0 var(--ui-space-6);font-size:clamp(2.75rem,6vw,5.5rem);line-height:.98;color:var(--ui-text-on-dark);letter-spacing:-.055em}.landing-hero>div>p:not(.eyebrow){max-width:42rem;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.7;color:var(--ui-text-on-dark-secondary)}.eyebrow{display:inline-flex;padding:var(--ui-space-2) var(--ui-space-3);margin:0;font-size:.75rem;font-weight:650;color:var(--ui-accent);letter-spacing:.08em;text-transform:uppercase;background:var(--ui-accent-wash);border:1px solid rgb(34 214 170 / 22%);border-radius:var(--ui-radius-pill)}.landing-actions{gap:var(--ui-space-3);margin-top:var(--ui-space-8)}.landing-actions button{min-height:var(--ui-control-lg);padding-inline:var(--ui-space-6);font-weight:650;border-radius:var(--ui-radius-sm)}.landing-showcase{display:grid;width:min(100%,29rem);gap:var(--ui-space-5)}.landing-preview{min-height:17rem;overflow:hidden;background:var(--ui-bg-panel-dark);border:1px solid var(--ui-border-dark-strong);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg);transform:perspective(70rem) rotateY(-4deg) rotateX(2deg);transform-origin:center}.landing-preview__toolbar{display:flex;height:2.75rem;padding:0 var(--ui-space-3);gap:.35rem;align-items:center;background:#ffffff0d;border-bottom:1px solid var(--ui-border-dark)}.landing-preview__toolbar>span{width:.45rem;height:.45rem;background:var(--ui-text-on-dark-muted);border-radius:50%}.landing-preview__toolbar strong{margin-left:var(--ui-space-2);font-size:.65rem;color:var(--ui-text-on-dark-secondary)}.landing-preview__body{display:grid;grid-template-columns:5.25rem 1fr;min-height:14.25rem}.landing-preview__scenes{display:grid;padding:var(--ui-space-3);align-content:start;gap:var(--ui-space-2);background:#ffffff0a;border-right:1px solid var(--ui-border-dark)}.landing-preview__scenes span{aspect-ratio:16 / 10;background:linear-gradient(145deg,var(--ui-text-on-dark-muted),var(--ui-bg-panel-dark-hover));border:1px solid var(--ui-border-dark);border-radius:var(--ui-radius-xs)}.landing-preview__scenes span:first-child{border-color:var(--ui-accent)}.landing-preview__viewer{position:relative;background:radial-gradient(circle at 63% 45%,rgb(34 214 170 / 35%),transparent 7%),radial-gradient(circle at 52% 100%,rgb(47 197 214 / 25%),transparent 32%),linear-gradient(145deg,var(--ui-bg-page-secondary),var(--ui-bg-panel-dark-accent))}.landing-preview__viewer:before,.landing-preview__viewer:after{position:absolute;right:var(--ui-space-3);bottom:var(--ui-space-3);width:2rem;height:2rem;content:"";background:#06100db3;border:1px solid var(--ui-border-dark-strong);border-radius:var(--ui-radius-xs)}.landing-preview__viewer:after{right:3.5rem}.landing-preview__hotspot{position:absolute;top:45%;left:54%;display:grid;width:2.2rem;height:2.2rem;color:var(--ui-bg-page);place-items:center;background:var(--ui-accent);border:3px solid rgb(255 255 255 / 70%);border-radius:50%;box-shadow:var(--ui-shadow-md)}.landing-hero .login-form{position:relative;width:min(100%,25rem);padding:clamp(1.5rem,4vw,2.25rem);border-color:#22d6aa29;box-shadow:var(--ui-shadow-lg)}.landing-hero .login-form:before{position:absolute;inset:-1px;z-index:-1;content:"";background:linear-gradient(145deg,rgb(47 197 214 / 32%),transparent 35%,rgb(34 214 170 / 28%));border-radius:inherit;transform:translate(10px,10px)}.landing-features{width:min(88rem,100%);padding:clamp(2rem,5vw,4rem);margin:0 auto;color:var(--ui-text-on-light);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-xl);box-shadow:var(--ui-shadow-md)}.landing-features>h2{max-width:15ch;margin:0 0 var(--ui-space-8)}.landing-features>div{gap:var(--ui-space-4)}.landing-features article{min-height:12rem;padding:var(--ui-space-6);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg);box-shadow:none;transition:transform var(--ui-transition-normal),box-shadow var(--ui-transition-normal)}.landing-features article:hover{box-shadow:var(--ui-shadow-sm);transform:translateY(-3px)}.landing-features article h3{margin-top:0}.landing-features article p{color:var(--ui-text-on-light-secondary);line-height:1.65}.auth-page{padding:clamp(1rem,5vw,4rem)}.auth-page .form{position:relative;width:min(100%,29rem);border-color:#22d6aa24;box-shadow:var(--ui-shadow-lg)}.auth-page .form:before{display:block;width:2.25rem;height:.35rem;margin-bottom:var(--ui-space-2);content:"";background:linear-gradient(90deg,var(--ui-accent-secondary),var(--ui-accent));border-radius:var(--ui-radius-pill)}.dashboard{color:var(--ui-text-on-dark)}.dashboard-header{min-height:4.75rem;padding:var(--ui-space-4) clamp(1rem,4vw,4rem);color:var(--ui-text-on-dark);background:#06100de0;border-bottom:1px solid var(--ui-border-dark);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dashboard-header strong{font-size:1.15rem;letter-spacing:-.03em}.dashboard-header span{color:var(--ui-text-on-dark-secondary)}.dashboard-header button{color:var(--ui-text-on-dark);background:#ffffff0f;border:1px solid var(--ui-border-dark-strong);border-radius:var(--ui-radius-sm)}.dashboard-content{width:min(78rem,100%);padding:clamp(2rem,6vw,5rem) clamp(1rem,3vw,2rem)}.title-row{margin-bottom:var(--ui-space-8)}.title-row h1{margin:0;color:var(--ui-text-on-dark)}.project-grid{gap:var(--ui-space-5)}.project-card,.empty{padding:var(--ui-space-6);border-radius:var(--ui-radius-lg)}.project-card{min-height:14rem;transition:box-shadow var(--ui-transition-normal),transform var(--ui-transition-normal),border-color var(--ui-transition-normal)}.project-card:hover{border-color:var(--ui-border-light-strong);box-shadow:var(--ui-shadow-md);transform:translateY(-3px)}.project-card h2{margin-bottom:var(--ui-space-3)}.project-card p{color:var(--ui-text-on-light-secondary);line-height:1.55}.project-card small{display:block;margin-top:auto;color:var(--ui-text-on-light-muted)}.project-card>div{padding-top:var(--ui-space-4);margin-top:var(--ui-space-4);border-top:1px solid var(--ui-border-light)}.project-card>div button{min-height:var(--ui-control-sm);color:var(--ui-text-on-light);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-xs)}.project-card .danger,button.danger{color:var(--ui-danger-dark);background:var(--ui-danger-wash);border:1px solid rgb(201 71 80 / 22%)}.empty{color:var(--ui-text-on-light-secondary);text-align:center;background:var(--ui-surface-secondary);border-style:dashed}.upload-zone{padding:clamp(1.5rem,4vw,3rem);color:var(--ui-text-on-light-secondary);background:var(--ui-surface-secondary);border:2px dashed var(--ui-border-light-strong);border-radius:var(--ui-radius-lg);transition:color var(--ui-transition-fast),background var(--ui-transition-fast),border-color var(--ui-transition-fast)}.upload-zone:hover,.upload-zone:focus-within{color:var(--ui-text-on-light);background:var(--ui-accent-wash);border-color:var(--ui-accent-active)}.panorama-upload-open{margin:0}.panorama-upload-backdrop{display:grid;position:fixed;z-index:100;inset:0;overflow:auto;place-items:center}.panorama-upload-dialog{display:grid;width:min(42rem,calc(100vw - 2rem));max-width:100%;max-height:calc(100dvh - 2rem);padding:0;overflow:hidden;grid-template-rows:auto minmax(8rem,1fr) auto}.panorama-upload-dialog__header,.panorama-upload-dialog__actions{display:flex;gap:var(--ui-space-3);align-items:center;padding:var(--ui-space-5)}.panorama-upload-dialog__header{justify-content:space-between;border-bottom:1px solid var(--ui-border-light)}.panorama-upload-dialog__header h2{margin:0}.panorama-upload-dialog__close{display:grid;width:2.75rem;min-width:2.75rem;height:2.75rem;padding:0;place-items:center;color:var(--ui-text-on-light);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-sm);font-size:1.6rem;line-height:1}.panorama-upload-dialog__content{min-width:0;min-height:8rem;padding:var(--ui-space-5);overflow:auto}.panorama-normalization-setting{display:flex;gap:var(--ui-space-4);align-items:center;justify-content:space-between;margin:var(--ui-space-4) 0;padding:var(--ui-space-4);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-md);background:var(--ui-surface-secondary)}.panorama-normalization-setting>span,.panorama-ratio-status{display:grid;gap:var(--ui-space-1);min-width:0}.panorama-normalization-setting small{display:block;margin-top:var(--ui-space-1)}.panorama-normalization-setting input[role=switch]{width:3rem;min-width:3rem;height:1.75rem;accent-color:var(--ui-accent);cursor:pointer}.panorama-normalization-setting input[role=switch]:focus-visible{outline:3px solid var(--ui-focus-ring);outline-offset:2px}.panorama-ratio-status{margin-top:var(--ui-space-2)}.panorama-upload-dialog__actions{justify-content:flex-end;border-top:1px solid var(--ui-border-light)}@media(max-width:480px){.panorama-upload-backdrop{padding:var(--ui-space-2)}.panorama-upload-dialog{width:100%;max-height:calc(100dvh - 1rem)}.panorama-upload-dialog__header,.panorama-upload-dialog__content,.panorama-upload-dialog__actions{padding:var(--ui-space-4)}.panorama-upload-dialog__actions{display:grid;grid-template-columns:1fr 1fr}}.upload-item{border-radius:var(--ui-radius-md)}.upload-item progress{overflow:hidden;accent-color:var(--ui-accent-active);border-radius:var(--ui-radius-pill)}.status{display:inline-flex;min-height:1.65rem;padding:0 var(--ui-space-3);align-items:center;font-size:.75rem;font-weight:650;border-radius:var(--ui-radius-pill)}.status-ready{color:#116348;background:var(--ui-accent-wash)}.status-failed{color:var(--ui-danger-dark);background:var(--ui-danger-wash)}.tour-editor{color:var(--ui-text-on-light);background:var(--ui-surface-tertiary)}.editor-header{min-height:4.35rem;padding:var(--ui-space-3) var(--ui-space-4);color:var(--ui-text-on-dark);background:var(--ui-bg-panel-dark);border-bottom:1px solid var(--ui-border-dark);box-shadow:var(--ui-shadow-sm)}.editor-header button{min-height:var(--ui-control-sm);color:var(--ui-text-on-dark);background:#ffffff0f;border:1px solid var(--ui-border-dark-strong);border-radius:var(--ui-radius-xs)}.editor-header button[aria-pressed=true]{color:var(--ui-bg-page);background:var(--ui-accent);border-color:transparent}.editor-header [role=status]{color:var(--ui-text-on-dark-secondary)}.editor-primary-navigation{display:flex;gap:var(--ui-space-2);align-items:center;min-width:0;overflow-x:auto;scrollbar-width:thin;margin-left:auto}.editor-primary-navigation button{flex:0 0 auto;white-space:nowrap}.tour-settings-page{min-height:100vh;min-height:100dvh;color:var(--ui-text-on-light);background:var(--ui-surface-tertiary)}.tour-settings-header{position:sticky;top:0}.tour-settings-content{width:min(72rem,100%);margin:0 auto;padding:clamp(var(--ui-space-4),3vw,var(--ui-space-8))}.tour-settings-content>h1{margin-bottom:var(--ui-space-2)}.tour-settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 15rem;align-items:start;gap:var(--ui-space-6);margin-top:var(--ui-space-6)}.tour-settings-grid{display:grid;min-width:0;gap:var(--ui-space-6)}.tour-settings-section-nav{position:sticky;top:calc(var(--ui-control-lg) + var(--ui-space-4));display:grid;gap:var(--ui-space-2);padding:var(--ui-space-4);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg)}.tour-settings-section-nav strong{margin-bottom:var(--ui-space-1)}.tour-settings-section-nav a{padding:var(--ui-space-3);color:var(--ui-text-on-light-secondary);text-decoration:none;border-radius:var(--ui-radius-sm)}.tour-settings-section-nav a:hover,.tour-settings-section-nav a.is-active{color:var(--ui-text-on-light);background:var(--ui-accent-wash)}.tour-settings-card{min-width:0;padding:var(--ui-space-6)}.tour-settings-card h2{margin:0 0 var(--ui-space-2);font-size:1.4rem}.tour-settings-card>p{margin:0 0 var(--ui-space-4);color:var(--ui-text-on-light-secondary);line-height:1.55}.tour-settings-card small{color:var(--ui-text-muted);font-weight:700}.tour-settings-card--general{grid-column:1 / -1}.tour-cover-editor{display:grid;width:100%;margin-top:var(--ui-space-4);place-items:center}.tour-cover-editor .cover-editor{display:flex;width:min(100%,42rem);flex-direction:column;align-items:center;gap:var(--ui-space-4)}.tour-cover-editor .cover-image{display:flex;width:min(100%,38rem);max-height:24rem;align-items:center;justify-content:center;aspect-ratio:auto;background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-md)}.tour-cover-editor .cover-image img{display:block;width:auto;max-width:100%;height:auto;max-height:24rem;margin:auto;object-fit:contain;transform:none!important}.tour-cover-editor .cover-editor__actions{justify-content:center}.tour-settings-form{display:grid;gap:var(--ui-space-4);margin-bottom:var(--ui-space-6)}.tour-fov-controls{display:grid;gap:var(--ui-space-4)}.tour-fov-controls>small{grid-column:1 / -1}.tour-settings-page :where(input:not([type=range],[type=color]),textarea,select){width:100%;min-width:0;min-height:var(--ui-control-md);padding:var(--ui-space-3) var(--ui-space-4);color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light-strong);border-radius:var(--ui-radius-sm);transition:border-color var(--ui-transition-fast),box-shadow var(--ui-transition-fast),background var(--ui-transition-fast)}.tour-settings-page :where(input:not([type=range],[type=color]),textarea,select):hover:not(:disabled){border-color:var(--ui-accent-active)}.tour-settings-page :where(input,textarea,select):disabled{cursor:not-allowed;opacity:.55;background:var(--ui-surface-secondary)}.tour-settings-page textarea{min-height:8rem;line-height:1.55;resize:vertical}.tour-settings-form textarea{resize:vertical}.tour-settings-form button{justify-self:start}.tour-settings-card--startup{grid-column:1 / -1}.settings-row{display:grid;grid-template-columns:minmax(14rem,1fr) minmax(12rem,18rem) minmax(8rem,max-content);align-items:center;gap:var(--ui-space-4);width:100%;margin-top:var(--ui-space-4)}.tour-settings-form>.settings-row:first-child,.tour-settings-form .tour-fov-controls>.settings-row:first-child,.tour-settings-card fieldset>.settings-row:first-of-type{margin-top:0}.settings-row__label{min-width:0}.settings-row__label strong{display:block;color:var(--ui-text-on-light);font-size:.98rem;font-weight:700;line-height:1.35}.settings-row__label small{display:block;margin-top:var(--ui-space-1);color:var(--ui-text-muted);font-size:.84rem;font-weight:500;line-height:1.45}.settings-row__control,.settings-row__action{display:flex;min-width:0;align-items:center}.settings-row__control>:where(input,select,textarea,.numeric-stepper){width:100%}.settings-row__action{justify-content:flex-start}.settings-current-value,.settings-unit,.settings-row output{font-variant-numeric:tabular-nums;font-weight:700}.tour-settings-card--interface{grid-column:1 / -1}.settings-color-value{display:grid;grid-template-columns:2rem minmax(7rem,1fr);align-items:center;gap:var(--ui-space-2);width:100%}.settings-color-value input{font-family:monospace;text-transform:uppercase}.settings-color-value__sample{width:2rem;height:2rem;border:1px solid var(--ui-border-strong);border-radius:50%}.settings-color-actions{display:flex;min-height:var(--ui-control-md);align-items:center;gap:var(--ui-space-2)}.settings-color-picker{position:relative;display:inline-flex;min-height:var(--ui-control-md);align-items:center;justify-content:center;padding:var(--ui-space-2) var(--ui-space-4);overflow:hidden;color:#fff;background:#087f5b;border:1px solid #087f5b;border-radius:var(--ui-radius-sm);font-weight:700;cursor:pointer}.settings-color-picker:hover{background:#06694b}.settings-color-picker:focus-within{outline:3px solid var(--ui-focus-ring);outline-offset:2px}.settings-color-picker input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.settings-color-picker:has(input:disabled){opacity:.5;cursor:not-allowed}.viewer-setting-toggle--enabled{color:#06261d;background:var(--ui-accent);border-color:var(--ui-accent-active)}.viewer-setting-toggle--disabled{color:var(--ui-text-on-dark);background:var(--ui-bg-panel-dark-accent);border-color:#22d6aa52}.viewer-setting-toggle--disabled:not(:disabled):hover{background:var(--ui-bg-panel-dark-hover);border-color:var(--ui-accent-active)}.tour-hotspot-settings{grid-column:1 / -1}.tour-settings-notice{padding:var(--ui-space-3) var(--ui-space-4);border-left:4px solid var(--ui-accent);border-radius:var(--ui-radius-sm);background:var(--ui-surface-secondary);font-weight:700}.tour-hotspot-settings fieldset{display:grid;gap:var(--ui-space-4);margin-top:var(--ui-space-5);padding:var(--ui-space-5);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-md)}.tour-hotspot-settings legend,.tour-hotspot-settings label{font-weight:700}.tour-hotspot-settings label{display:grid;gap:var(--ui-space-2)}.tour-hotspot-preview{display:flex;align-items:center;gap:var(--ui-space-5);margin-top:var(--ui-space-5);padding:var(--ui-space-5);min-height:11rem;justify-content:center;overflow:auto;text-align:center;border:1px solid #9aa2ae;border-radius:var(--ui-radius-md);background:#7b8491}.tour-settings-confirmation{display:grid;gap:var(--ui-space-4);padding:var(--ui-space-4);margin-top:var(--ui-space-4);border:1px solid var(--ui-warning, #d49a35);border-radius:var(--ui-radius-md);background:var(--ui-warning-wash)}.tour-settings-confirmation p{margin:0}.tour-settings-confirmation>div{display:flex;flex-wrap:wrap;gap:var(--ui-space-3)}.tour-hotspot-preview__icon{display:grid;flex:0 0 auto;place-items:center;border-radius:50%;color:#fff;transition:transform .15s ease}.tour-hotspot-preview__icon.is-scalable:hover{transform:scale(1.1)}@media(max-width:900px){.tour-settings-layout{grid-template-columns:1fr}.tour-settings-section-nav{position:static;grid-row:1;grid-template-columns:repeat(4,minmax(max-content,1fr));overflow-x:auto}.tour-settings-section-nav strong{display:none}}@media(max-width:640px){.tour-settings-header{flex-wrap:wrap}.tour-settings-header .editor-primary-navigation{width:100%}.tour-settings-grid{grid-template-columns:1fr}.tour-settings-content{padding-inline:var(--ui-space-4)}.tour-settings-card{padding:var(--ui-space-4)}.tour-fov-controls>small{grid-column:auto}.tour-hotspot-preview{align-items:stretch;flex-direction:column}.settings-row,.editor-properties .settings-row{grid-template-columns:minmax(0,1fr) auto;gap:var(--ui-space-2) var(--ui-space-3)}.settings-row__label{grid-column:1 / -1}.settings-row__control{grid-column:1}.settings-row__action{grid-column:2}.settings-row--color .settings-row__control,.settings-row--color .settings-row__action{grid-column:1 / -1}.settings-color-actions{width:100%}}.editor-scenes,.editor-properties{min-width:0;min-height:0;color:var(--ui-text-on-light);background:var(--ui-surface-primary);scrollbar-color:var(--ui-border-light-strong) transparent}.editor-scenes{border-right:1px solid var(--ui-border-light)}.editor-properties{border-left:1px solid var(--ui-border-light)}.editor-scenes>h2,.editor-properties>h2,.editor-scenes>h3,.editor-properties>h3{letter-spacing:-.02em}.editor-scenes button,.editor-properties button,.floor-editor button{border-radius:var(--ui-radius-xs)}.editor-scenes button:not(.danger),.editor-properties button:not(.danger,.hotspot-icon-option),.floor-editor button:not(.danger){color:var(--ui-text-on-light);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light)}.editor-scenes button[aria-pressed=true],.editor-properties button[aria-pressed=true],.floor-editor button[aria-pressed=true]{color:var(--ui-bg-page);background:var(--ui-accent);border-color:var(--ui-accent)}.editor-properties input,.editor-properties select,.editor-properties textarea,.marker-panel input,.marker-panel select,.marker-panel textarea{min-width:0;min-height:var(--ui-control-md);color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light-strong);border-radius:var(--ui-radius-xs)}.editor-properties textarea{max-width:100%;resize:vertical}.editor-scenes li,.hotspot-row,.marker-row,.floor-row{border-radius:var(--ui-radius-sm)}.editor-scenes li:has(button[aria-pressed=true]),.hotspot-row.selected,.marker-row.selected,.floor-row.active{background:var(--ui-accent-wash);border-color:var(--ui-accent-active);box-shadow:inset 3px 0 var(--ui-accent)}.hotspot-enabled-toggle{width:100%;padding:var(--ui-space-2) var(--ui-space-3);border:1px solid transparent;border-radius:var(--ui-radius-sm);color:#fff;font-weight:700;cursor:pointer}.hotspot-enabled-toggle.is-enabled{border-color:#087f5b;background:#087f5b}.hotspot-enabled-toggle.is-disabled{border-color:#b42318;background:#b42318}.hotspot-enabled-toggle:focus-visible{outline:3px solid var(--ui-focus-ring);outline-offset:2px}.hotspot-hover-setting{display:grid;gap:var(--ui-space-2)}.hotspot-hover-setting>span{font-weight:650}.hotspot-hover-setting .viewer-setting-toggle{width:100%;min-height:var(--ui-control-md)}.hotspot-hover-setting small{color:var(--ui-text-secondary);line-height:1.4}.numeric-stepper{display:grid;grid-template-columns:2.75rem minmax(5rem,1fr) 2.75rem;gap:var(--ui-space-2);align-items:center}.hotspot-number-control>span{display:block;font-weight:600}.numeric-stepper input{min-width:0;text-align:center}.numeric-stepper button{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;border:1px solid #087f5b;border-radius:var(--ui-radius-sm);color:#fff;background:#087f5b;font-size:1.5rem;font-weight:700;line-height:1;cursor:pointer}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;appearance:none}input[type=number]{appearance:textfield}.numeric-stepper button:hover{background:#06694b}.numeric-stepper button:active{background:#05583f;transform:translateY(1px)}.numeric-stepper button:focus-visible{outline:3px solid var(--ui-focus-ring);outline-offset:2px}.numeric-stepper button:disabled{opacity:.5;cursor:not-allowed;transform:none}.editor-properties .settings-row{grid-template-columns:1fr;align-items:stretch;gap:var(--ui-space-2)}.editor-properties .settings-row__action{justify-content:stretch}.editor-properties .settings-color-actions,.editor-properties .settings-color-actions>*{flex:1}.text-alignment-control>span{display:block;margin-bottom:var(--ui-space-1);font-weight:600}.text-alignment-control>div{display:grid;grid-template-columns:repeat(3,3rem);gap:var(--ui-space-2)}.text-alignment-control button{display:grid;min-height:2.75rem;padding:0;place-items:center;border:1px solid #087f5b;border-radius:var(--ui-radius-sm);color:#087f5b;background:transparent;cursor:pointer}.text-alignment-control button:hover,.text-alignment-control button.is-active{color:#fff;background:#087f5b}.text-alignment-control button:focus-visible{outline:3px solid var(--ui-focus-ring);outline-offset:2px}.text-align-icon{display:grid;width:1.35rem;gap:.2rem}.text-align-icon i{display:block;width:100%;height:2px;border-radius:2px;background:currentcolor}.text-align-icon i:nth-child(2){width:70%}.text-align-icon.is-center i:nth-child(2){justify-self:center}.text-align-icon.is-right i:nth-child(2){justify-self:end}.editor-viewer{min-width:0;min-height:0;background:var(--ui-bg-page)}.hotspot-type-badge{color:var(--ui-accent-active);background:var(--ui-accent-wash);border:1px solid rgb(34 214 170 / 22%);border-radius:var(--ui-radius-pill)}.icon-library-grid button{background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-sm)}.icon-library-grid button[aria-pressed=true]{background:var(--ui-accent-wash);border-color:var(--ui-accent-active)}.floor-editor{color:var(--ui-text-on-light);background:var(--ui-surface-tertiary)}.floor-list,.marker-panel{min-width:0;min-height:0;color:var(--ui-text-on-light);background:var(--ui-surface-primary);border-color:var(--ui-border-light);scrollbar-color:var(--ui-border-light-strong) transparent}.floor-list h2,.floor-list h3,.floor-list p,.floor-list strong,.floor-list small,.marker-panel h2,.marker-panel h3,.marker-panel p,.marker-panel label,.marker-panel span,.marker-panel strong,.marker-properties{color:inherit}.floor-list small,.marker-panel small,.marker-panel .helper{color:var(--ui-text-on-light-muted)}.floor-row,.marker-row{background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light)}.plan-workspace{min-width:0;min-height:0;background:var(--ui-bg-page-secondary)}.plan-workspace>header{color:var(--ui-text-on-dark);background:var(--ui-bg-panel-dark);border-bottom:1px solid var(--ui-border-dark)}.plan-workspace>header h2{color:var(--ui-text-on-dark)}.plan-zoom-control{color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-sm);box-shadow:var(--ui-shadow-sm)}.plan-zoom-control input,.marker-panel input[type=range],.editor-properties input[type=range]{accent-color:var(--ui-accent-active)}.plan-upload-zone,.plan-state-card{color:var(--ui-text-on-light);background:var(--ui-surface-primary);border-color:var(--ui-border-light);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-md)}.plan-upload-zone{border-color:var(--ui-accent-active);background:var(--ui-surface-secondary)}.plan-upload-zone.drag-active{background:var(--ui-accent-wash);border-color:var(--ui-accent)}.plan-toast{color:var(--ui-text-on-dark);background:var(--ui-bg-panel-dark);border:1px solid var(--ui-border-dark-strong);border-radius:var(--ui-radius-sm);box-shadow:var(--ui-shadow-md)}.dialog-backdrop{padding:var(--ui-space-4);background:#020806b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.confirmation-dialog{width:min(100%,31rem);padding:var(--ui-space-6);color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg)}.confirmation-dialog h2{margin-top:0}.confirmation-dialog label{display:grid;gap:var(--ui-space-2);color:var(--ui-text-on-light-secondary);font-size:.875rem;font-weight:600}.dialog-actions{gap:var(--ui-space-3);padding-top:var(--ui-space-5)}.dialog-actions button{color:var(--ui-text-on-light);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-sm)}.dialog-actions button:last-child{color:var(--ui-bg-page);background:var(--ui-accent);border-color:transparent}@media(max-width:900px){.landing-header{min-height:4.5rem}.landing-header nav a,.landing-header nav span{display:none}.landing-hero{min-height:auto;grid-template-columns:1fr;padding-block:clamp(3rem,10vw,5rem)}.landing-hero>div:first-child{max-width:none}.landing-hero h1{max-width:14ch}.landing-hero .login-form{width:min(100%,32rem)}.landing-showcase{width:min(100%,40rem)}.landing-features>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.landing-page{padding-inline:var(--ui-space-4)}.landing-header nav button:first-of-type{display:none}.landing-hero h1{font-size:clamp(2.6rem,13vw,4.2rem)}.landing-actions{display:grid;grid-template-columns:1fr}.landing-actions button{width:100%}.landing-features{padding:var(--ui-space-6);border-radius:var(--ui-radius-lg)}.landing-features>div{grid-template-columns:1fr}.landing-features article{min-height:auto}.dashboard-header{align-items:flex-start}.dashboard-header div{align-items:flex-start;flex-direction:column;gap:var(--ui-space-1)}.title-row{align-items:stretch;flex-direction:column}.project-card>div{align-items:stretch;flex-direction:column}.project-card>div button{width:100%}.confirmation-dialog{max-height:calc(100dvh - 2rem);overflow:auto}}@media(max-width:430px){.landing-header nav button{min-height:2.5rem;padding-inline:var(--ui-space-3);font-size:.8125rem}.landing-hero{padding-top:var(--ui-space-10)}.landing-hero h1{font-size:clamp(2.35rem,13vw,3.35rem)}.auth-page{padding:var(--ui-space-3);align-items:start}.auth-page .form{margin-top:var(--ui-space-6)}}.tour-editor.map-mode>.editor-scenes,.tour-editor.map-mode>.editor-viewer,.tour-editor.map-mode>.editor-properties{display:none}.editor-distribution-actions{display:flex;gap:var(--ui-space-2);margin-left:auto}.standalone-tour-page{position:fixed;display:grid;inset:0;color:var(--ui-text-on-dark);background:var(--ui-bg-page)}.standalone-tour-page>.viewer-shell{width:100%;height:100%}.standalone-tour-page__back{position:absolute;top:max(var(--ui-space-4),env(safe-area-inset-top));left:max(var(--ui-space-4),env(safe-area-inset-left));z-index:20;color:var(--ui-text-on-dark);background:#06100dc7;border:1px solid var(--ui-border-dark-strong);border-radius:var(--ui-radius-sm);box-shadow:var(--ui-shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.public-tour-heading{position:absolute;z-index:18;bottom:max(1rem,env(safe-area-inset-bottom));left:max(1rem,env(safe-area-inset-left));width:min(30rem,calc(100% - 2rem));padding:.75rem 1rem;color:#fff;border:1px solid rgb(255 255 255 / 20%);border-radius:var(--ui-radius-md);background:#0f172ac7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.public-tour-heading h1,.public-tour-heading p{margin:0}.public-tour-heading h1{font-size:1.1rem}.public-tour-heading p{display:-webkit-box;margin-top:.3rem;overflow:hidden;font-size:.85rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.standalone-tour-page__status,.standalone-tour-page__unavailable{display:grid;padding:var(--ui-space-8);text-align:center;place-content:center;place-items:center}.standalone-tour-page__unavailable{width:min(32rem,calc(100% - 2rem));margin:auto;color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg)}.standalone-tour-page__unavailable>span{display:grid;width:3.5rem;height:3.5rem;color:var(--ui-accent-active);place-items:center;background:var(--ui-accent-wash);border-radius:50%}.standalone-tour-page__unavailable button{color:var(--ui-bg-page);background:var(--ui-accent)}.distribution-dialog{width:min(100%,42rem);max-height:calc(100dvh - 2rem);overflow:auto}.distribution-dialog>header,.distribution-actions,.distribution-tabs,.distribution-summary{display:flex;gap:var(--ui-space-3)}.distribution-dialog>header{align-items:flex-start;justify-content:space-between}.distribution-dialog>header h2{margin:var(--ui-space-2) 0 0}.distribution-dialog>header>button{width:var(--ui-control-md);min-width:var(--ui-control-md);height:var(--ui-control-md);padding:0;color:var(--ui-text-on-light);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light)}.distribution-tabs{padding:var(--ui-space-1);margin-block:var(--ui-space-5);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-sm)}.distribution-tabs button{flex:1;color:var(--ui-text-on-light-secondary);background:transparent}.distribution-tabs button[aria-pressed=true]{color:var(--ui-bg-page);background:var(--ui-accent)}.distribution-content{display:grid;gap:var(--ui-space-5)}.distribution-content>label:not(.distribution-toggle){display:grid;gap:var(--ui-space-2);color:var(--ui-text-on-light-secondary);font-size:.875rem;font-weight:600}.distribution-content select,.distribution-content input[readonly]{width:100%;min-height:var(--ui-control-md);padding:var(--ui-space-3);color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light-strong);border-radius:var(--ui-radius-sm)}.distribution-summary{margin:0}.distribution-summary>div{flex:1;padding:var(--ui-space-4);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-sm)}.distribution-summary dt{font-size:.75rem;color:var(--ui-text-on-light-muted)}.distribution-summary dd{margin:var(--ui-space-1) 0 0;font-size:1.5rem;font-weight:650}.distribution-content>button:first-of-type,.distribution-actions>button:first-child{color:var(--ui-bg-page);background:var(--ui-accent);border-color:transparent}.distribution-toggle{display:flex;padding:var(--ui-space-4);gap:var(--ui-space-3);align-items:flex-start;color:var(--ui-text-on-light);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-sm)}.distribution-toggle input{width:1.2rem;height:1.2rem;margin-top:.1rem;accent-color:var(--ui-accent-active)}.distribution-toggle span{display:grid;gap:var(--ui-space-1)}.distribution-toggle small{color:var(--ui-text-on-light-muted)}.distribution-actions{flex-wrap:wrap}.public-gallery{width:min(88rem,100%);padding:clamp(4rem,8vw,7rem) 0 0;margin:auto}.public-gallery>header{max-width:45rem;margin-bottom:var(--ui-space-8)}.public-gallery>header h2{margin:var(--ui-space-3) 0;color:var(--ui-text-on-dark)}.public-gallery>header>p:last-child{color:var(--ui-text-on-dark-secondary)}.public-gallery__state{padding:var(--ui-space-10);color:var(--ui-text-on-light-secondary);text-align:center;background:var(--ui-surface-secondary);border:1px dashed var(--ui-border-light-strong);border-radius:var(--ui-radius-lg)}.public-gallery__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(17rem,100%),1fr));gap:var(--ui-space-5)}.public-tour-card{min-width:0;overflow:hidden;background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm);transition:transform var(--ui-transition-normal),box-shadow var(--ui-transition-normal)}.public-tour-card:hover{box-shadow:var(--ui-shadow-md);transform:translateY(-3px)}.public-tour-card>button{display:grid;width:100%;padding:0;color:var(--ui-text-on-light);text-align:left;background:transparent;border:0}.public-tour-card img,.public-tour-card__cover{display:grid;width:100%;aspect-ratio:16 / 9;object-fit:cover;color:var(--ui-accent);place-items:center;background:radial-gradient(circle,var(--ui-accent-wash),transparent 55%),var(--ui-bg-panel-dark)}.public-tour-card__content{display:grid;padding:var(--ui-space-5);gap:var(--ui-space-2)}.public-tour-card__content strong{display:-webkit-box;overflow:hidden;font-size:1.2rem;font-weight:800;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.public-tour-card__content>span{color:var(--ui-text-on-light-secondary)}.public-tour-card__content>span:not(.public-tour-card__action){display:-webkit-box;overflow:hidden;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.public-tour-card__content .public-tour-card__action{margin-top:var(--ui-space-2);color:var(--ui-accent);font-weight:700}.public-tour-card__content small{margin-top:var(--ui-space-2);color:var(--ui-text-on-light-muted)}.tour-minimap{display:grid;grid-row:2;grid-column:1 / -1;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;padding:var(--ui-space-5);gap:var(--ui-space-4);color:var(--ui-text-on-light);background:var(--ui-surface-tertiary)}.tour-minimap>header,.tour-minimap__controls,.tour-minimap>footer{display:flex;gap:var(--ui-space-3);align-items:center}.tour-minimap>header{justify-content:space-between}.tour-minimap>header h2{margin:var(--ui-space-2) 0}.tour-minimap>header p:last-child{margin:0;color:var(--ui-text-on-light-muted)}.tour-minimap__controls{padding:var(--ui-space-1);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-sm);box-shadow:var(--ui-shadow-sm)}.tour-minimap__controls button{min-height:var(--ui-control-sm);color:var(--ui-text-on-light);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light)}.tour-minimap__controls output{min-width:3.5rem;font-size:.8rem;text-align:center}.tour-minimap__viewport{min-width:0;min-height:0;overflow:hidden;background:linear-gradient(var(--ui-border-dark) 1px,transparent 1px),linear-gradient(90deg,var(--ui-border-dark) 1px,transparent 1px),var(--ui-bg-panel-dark);background-size:32px 32px;border:1px solid var(--ui-border-light-strong);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-md)}.tour-minimap__viewport svg{width:100%;height:100%;min-height:20rem;touch-action:none;cursor:grab}.tour-minimap__viewport svg:active{cursor:grabbing}.tour-minimap__edge{stroke:var(--ui-text-on-dark-muted);stroke-width:3;opacity:.72}#minimap-arrow path{fill:var(--ui-text-on-dark-muted)}.tour-minimap__node{cursor:pointer;outline:none}.tour-minimap__node circle{fill:var(--ui-accent);stroke:#bfdbfe;stroke-width:3;filter:drop-shadow(0 7px 12px rgb(0 0 0 / 20%));transform-box:fill-box;transform-origin:center;transition:transform .12s ease,filter .12s ease}.tour-minimap__node text{font-size:14px;font-weight:600;fill:var(--ui-text-on-dark);pointer-events:none}.tour-minimap__node:hover circle{filter:drop-shadow(0 0 10px rgb(37 99 235 / 70%));transform:scale(1.12)}.tour-minimap__node.is-active circle{fill:var(--ui-accent);stroke:#fff;stroke-width:5;filter:drop-shadow(0 0 12px rgb(37 99 235 / 85%))}.tour-minimap__node.is-start circle{stroke:var(--ui-warning);stroke-width:5}.tour-minimap__node.is-isolated circle{stroke:var(--ui-danger);stroke-dasharray:7 5}.tour-minimap__node:focus-visible circle{stroke:var(--ui-accent-secondary);stroke-width:7}.tour-minimap__start{font-size:12px!important;fill:var(--ui-warning)!important}.tour-minimap>footer{flex-wrap:wrap;color:var(--ui-text-on-light-secondary);font-size:.8rem}.tour-minimap>footer span{display:flex;gap:var(--ui-space-2);align-items:center}.tour-minimap>footer i{width:.75rem;height:.75rem;background:var(--ui-accent);border-radius:50%}.tour-minimap>footer i.is-start{background:var(--ui-warning)}.tour-minimap>footer i.is-isolated{background:var(--ui-danger)}.user-navigation{position:fixed;z-index:120;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));display:flex;gap:.4rem;align-items:center;max-width:calc(100vw - 1.5rem);padding:.35rem;overflow-x:auto;border:1px solid rgb(148 163 184 / 45%);border-radius:999px;background:var(--ui-nav-bg);box-shadow:0 8px 24px #0000003d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.user-navigation button{min-height:2.25rem;padding:.4rem .7rem;border-radius:999px;white-space:nowrap}.user-navigation .user-navigation__projects,.user-navigation .user-navigation__account,.user-navigation .user-navigation__home{color:var(--ui-bg-page);border-color:transparent}.user-navigation__logout{color:var(--ui-text-on-dark);background:var(--ui-bg-panel-dark-accent);border-color:#22d6aa52}.user-navigation__logout:hover{background:var(--ui-bg-panel-dark-hover);border-color:var(--ui-accent-active)}.user-navigation__avatar{display:grid;flex:0 0 auto;width:2.25rem;height:2.25rem;overflow:hidden;font-size:.7rem;font-weight:800;color:var(--ui-bg-page);place-items:center;background:var(--ui-accent);border-radius:50%}.user-navigation__avatar img,.account-avatar img,.profile-avatar-preview img{display:block;width:100%;height:100%;object-fit:cover}.user-navigation__name{flex:0 0 auto;max-width:10rem;padding-left:.5rem;overflow:hidden;color:var(--ui-text-on-dark);font-size:.85rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.account-page{min-height:100vh;min-height:100dvh;padding:max(6.5rem,calc(env(safe-area-inset-top) + 5.5rem)) clamp(1rem,4vw,3rem) clamp(3rem,6vw,5rem);color:var(--ui-text-on-light);background:var(--ui-page-gradient)}.account-shell{width:min(72rem,100%);margin:0 auto}.account-header{display:flex;gap:var(--ui-space-5);align-items:center;margin-bottom:var(--ui-space-8);color:var(--ui-text-on-dark)}.account-header h1,.account-header p{margin:0}.account-header .eyebrow{margin-bottom:var(--ui-space-2)}.account-header>div>p:last-child{margin-top:var(--ui-space-2);color:var(--ui-text-on-dark-secondary)}.account-avatar{display:grid;width:4.5rem;min-width:4.5rem;height:4.5rem;overflow:hidden;font-size:1.25rem;font-weight:800;color:var(--ui-bg-page);place-items:center;background:linear-gradient(135deg,var(--ui-accent-secondary),var(--ui-accent));border:1px solid rgb(255 255 255 / 28%);border-radius:50%;box-shadow:var(--ui-shadow-md)}.account-layout{display:grid;grid-template-columns:minmax(12rem,15rem) minmax(0,1fr);gap:var(--ui-space-6);align-items:start}.account-layout aside{min-width:0}.account-navigation{display:grid;gap:var(--ui-space-2);padding:var(--ui-space-3);background:color-mix(in srgb,var(--ui-bg-panel-dark) 92%,transparent);border:1px solid var(--ui-border-dark-strong);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-md)}.account-navigation button{min-height:var(--ui-control-md);padding:var(--ui-space-3) var(--ui-space-4);color:var(--ui-text-on-dark-secondary);cursor:pointer;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--ui-radius-sm)}.account-navigation button:hover{color:var(--ui-text-on-dark);background:var(--ui-bg-panel-dark-hover)}.account-navigation button.is-current{font-weight:700;color:var(--ui-bg-page);background:linear-gradient(90deg,var(--ui-accent-secondary),var(--ui-accent))}.account-content{min-width:0}.account-statistics{display:grid;gap:var(--ui-space-6);padding:clamp(1.25rem,3vw,2rem);color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-md)}.account-statistics header h2,.account-statistics header p,.account-statistics__card h3,.account-statistics__card p{margin:0}.account-statistics header p{margin-top:var(--ui-space-2);color:var(--ui-text-on-light-secondary)}.account-statistics__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ui-space-4)}.account-statistics__card{min-width:0;min-height:8rem;padding:var(--ui-space-5);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-md)}.account-statistics__card h3{color:var(--ui-text-on-light-secondary);font-size:.86rem;font-weight:700}.account-statistics__card p{margin-top:var(--ui-space-4);overflow-wrap:anywhere;font-size:clamp(1.4rem,3vw,2rem);font-weight:800;line-height:1.15}.account-statistics__card.is-skeleton span{display:block;height:.85rem;background:var(--ui-border-light);border-radius:999px;animation:statistics-skeleton 1.2s ease-in-out infinite alternate}.account-statistics__card.is-skeleton span:first-child{width:65%}.account-statistics__card.is-skeleton span:last-child{width:45%;height:2rem;margin-top:var(--ui-space-4)}.account-statistics--error{align-content:start}.account-statistics--error button{justify-self:start}@keyframes statistics-skeleton{to{opacity:.45}}.projects-dashboard{display:grid;gap:var(--ui-space-6);padding:clamp(1.25rem,3vw,2rem);color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-md)}.projects-dashboard .title-row{display:flex;flex-wrap:wrap;gap:var(--ui-space-4);align-items:center;justify-content:space-between;margin:0}.projects-dashboard .title-row h2,.projects-dashboard .title-row p{margin:0}.projects-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ui-space-3);margin:0}.projects-summary__item{min-width:0;padding:var(--ui-space-4)}.projects-summary__item dt{color:var(--ui-text-on-light-secondary);font-size:.82rem}.projects-summary__item dd{margin:var(--ui-space-2) 0 0;overflow-wrap:anywhere;font-size:clamp(1.05rem,2vw,1.4rem);font-weight:800}.projects-loading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-5)}.projects-loading__item{min-height:18rem;border-radius:var(--ui-radius-lg);background:linear-gradient(100deg,var(--ui-surface-secondary) 30%,var(--ui-surface-primary) 48%,var(--ui-surface-secondary) 66%);background-size:220% 100%;animation:projects-loading 1.2s linear infinite}.projects-state{display:grid;gap:var(--ui-space-3);justify-items:start;padding:clamp(1.5rem,4vw,2.5rem)}.projects-state :where(h3,p){margin:0}.projects-toolbar{display:grid;grid-template-columns:minmax(14rem,1fr) auto;gap:var(--ui-space-4);align-items:end}.projects-search,.projects-sort{display:grid;gap:var(--ui-space-2);font-weight:700}.projects-search input,.projects-sort select{width:100%}.projects-filters{display:flex;grid-column:1 / -1;gap:var(--ui-space-2);max-width:100%;padding-bottom:var(--ui-space-1);overflow-x:auto}.projects-filters button{flex:0 0 auto;min-height:var(--ui-control-sm);padding:0 var(--ui-space-3);color:var(--ui-text-on-light);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:999px}.projects-filters button.is-current{color:var(--ui-bg-page);background:linear-gradient(90deg,var(--ui-accent-secondary),var(--ui-accent));border-color:transparent}.projects-filters button span{margin-left:.3rem;font-variant-numeric:tabular-nums}.archive-dialog{width:min(32rem,calc(100vw - 2rem))}.archive-dialog__warning{padding:var(--ui-space-3);color:#713f12;background:#fef9c3;border:1px solid #fde047;border-radius:var(--ui-radius-sm)}.project-status--archived{color:var(--ui-text-on-light-secondary)}.project-card__meta{display:flex;flex-wrap:wrap;gap:var(--ui-space-2) var(--ui-space-3);align-items:center;color:var(--ui-text-on-light-secondary);font-size:.82rem}.project-status{padding:.3rem .55rem;font-weight:700;color:var(--ui-text-on-light);background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:999px}.project-status--public{color:#14532d;background:#dcfce7;border-color:#86efac}.project-status--unlisted{color:#713f12;background:#fef9c3;border-color:#fde047}@keyframes projects-loading{to{background-position:-220% 0}}.account-placeholder{min-height:18rem;padding:clamp(1.5rem,4vw,2.5rem)}.account-placeholder h2{margin:0 0 var(--ui-space-4)}.account-placeholder p{margin:0;color:var(--ui-text-on-light-secondary)}.user-navigation.is-workspace{top:auto;bottom:max(.75rem,env(safe-area-inset-bottom))}.cover-image{position:relative;display:block;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#e2e8f0}.account-profile{display:grid;gap:var(--ui-space-6);padding:clamp(1.5rem,4vw,2.5rem)}.account-profile h2{margin:0}.profile-avatar-editor{display:flex;flex-wrap:wrap;gap:var(--ui-space-5);align-items:center}.profile-avatar-editor p{margin:var(--ui-space-2) 0 var(--ui-space-3);color:var(--ui-text-on-light-secondary)}.profile-avatar-preview{display:grid;width:8rem;min-width:8rem;height:8rem;overflow:hidden;font-size:1.75rem;font-weight:800;color:var(--ui-bg-page);place-items:center;background:linear-gradient(135deg,var(--ui-accent-secondary),var(--ui-accent));border:4px solid var(--ui-surface-primary);border-radius:50%;box-shadow:0 0 0 1px var(--ui-border-light),var(--ui-shadow-sm)}.profile-avatar-actions{display:flex;flex-wrap:wrap;gap:var(--ui-space-2)}.avatar-crop-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-space-4);padding:var(--ui-space-4);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-md)}.avatar-crop-controls label,.profile-fields label{display:grid;gap:var(--ui-space-2);font-size:.875rem;font-weight:650}.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-4)}.profile-fields input,.profile-fields select{width:100%;min-width:0;min-height:var(--ui-control-md);padding:var(--ui-space-3) var(--ui-space-4);color:var(--ui-text-on-light);background:var(--ui-surface-primary);border:1px solid var(--ui-border-light-strong);border-radius:var(--ui-radius-sm)}.profile-fields input[readonly]{color:var(--ui-text-on-light-secondary);background:var(--ui-surface-secondary)}.profile-fields small{color:var(--ui-text-on-light-muted)}.profile-save{justify-self:end}.account-interface{display:grid;gap:var(--ui-space-6);padding:clamp(1.5rem,4vw,2.5rem)}.account-interface>header h2,.account-interface>header p{margin:0}.account-interface>header p,.theme-settings>p{margin-top:var(--ui-space-2);color:var(--ui-text-on-light-secondary)}.theme-settings{padding:var(--ui-space-4);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-md)}.theme-settings legend{padding:0 var(--ui-space-2);font-weight:750}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-space-3)}.theme-option{position:relative;display:grid;min-width:0;min-height:9rem;padding:var(--ui-space-4);align-content:center;gap:var(--ui-space-2);cursor:pointer;background:var(--ui-surface-secondary);border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-md);transition:border-color var(--ui-transition-fast),box-shadow var(--ui-transition-fast),transform var(--ui-transition-fast)}.theme-option:hover{border-color:var(--ui-accent);transform:translateY(-1px)}.theme-option.is-selected{border-color:var(--ui-accent-active);box-shadow:0 0 0 3px var(--ui-focus-ring)}.theme-option input{position:absolute;top:var(--ui-space-3);right:var(--ui-space-3)}.theme-option>span{font-size:1.75rem}.theme-option small{color:var(--ui-text-on-light-secondary)}.interface-save{justify-self:end}.cover-image img{display:block;width:100%;height:100%;object-fit:cover}.cover-image__empty{display:grid;width:100%;height:100%;color:#64748b;font-weight:800;place-items:center;background:linear-gradient(135deg,#e2e8f0,#f8fafc)}.cover-editor{display:grid;gap:.75rem;min-width:0;padding:.75rem;border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-md);background:var(--ui-surface-secondary)}.cover-editor .cover-image{max-width:30rem;border-radius:var(--ui-radius-sm)}.cover-editor__controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.cover-editor__controls label,.cover-editor__actions{display:flex;flex-wrap:wrap;gap:.5rem}.cover-editor__controls label{flex-direction:column}.button-label{display:inline-flex;min-height:2.75rem;padding:.65rem 1rem;align-items:center;color:#fff;cursor:pointer;border-radius:var(--ui-radius-sm);background:var(--ui-accent)}.button-label input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.project-card.project-card--project{display:flex;flex-direction:column;overflow:hidden;padding:0}.project-card--project .project-card__body{display:grid;flex:1;gap:.75rem;padding:1rem;margin:0;border:0}.project-card__body>:where(h2,p){margin:0}.project-card__notes{display:-webkit-box;overflow:hidden;color:var(--ui-text-on-light-secondary);-webkit-box-orient:vertical;-webkit-line-clamp:3}.project-card__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:auto}.project-card__actions .project-card__edit{flex:1 1 100%}@media(max-width:760px){.projects-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-loading,.projects-toolbar{grid-template-columns:1fr}.projects-filters{grid-column:1}}@media(max-width:420px){.projects-summary{grid-template-columns:1fr}.projects-dashboard .title-row,.projects-dashboard .title-row .ui-button{width:100%}}.card-title-button{max-width:100%;padding:0;overflow-wrap:anywhere;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em}.card-title-button:hover{color:var(--ui-accent-active);text-decoration-color:currentColor}.project-detail__primary-actions{display:flex;gap:var(--ui-space-3);align-items:center;flex-wrap:nowrap;margin-bottom:var(--ui-space-5)}@media(max-width:480px){.project-detail__primary-actions{flex-wrap:wrap}}.project-card__settings{min-width:0;padding-top:.75rem;border-top:1px solid var(--ui-border-light)}.project-card__settings[open],.project-card__settings label,.panorama-notes{display:grid;gap:.5rem}.project-card__settings summary{cursor:pointer;font-weight:700}.floor-editor button.floor-marker.floor-marker{display:grid;min-width:0;min-height:0;padding:0;place-items:center;color:#fff;border:3px solid white;border-radius:50%;box-sizing:border-box;line-height:1}.floor-editor button.floor-marker.floor-marker:hover,.floor-editor button.floor-marker.floor-marker:active{border-radius:50%;transform:none}.floor-marker.selected{outline:3px solid #f59e0b;outline-offset:2px}.floor-marker .plan-marker-glyph{width:58%;height:58%}.marker-palette,.marker-icon-gallery{display:flex;flex-wrap:wrap;gap:.5rem;padding:.65rem;border:1px solid var(--ui-border-light);border-radius:var(--ui-radius-sm)}.floor-editor .marker-palette button.marker-color-option{width:2rem;height:2rem;min-width:2rem;min-height:2rem;padding:0;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #94a3b8}.floor-editor .marker-palette button.marker-color-option[aria-pressed=true]{outline:3px solid #0f172a;outline-offset:2px}.marker-icon-gallery button{display:grid;width:5.5rem;min-height:4.5rem;padding:.45rem;place-items:center}.marker-icon-gallery .plan-marker-glyph{width:1.5rem;height:1.5rem}.marker-icon-gallery span{font-size:.65rem}@media(max-width:720px){.user-navigation{top:auto;right:max(.5rem,env(safe-area-inset-right));bottom:max(.5rem,env(safe-area-inset-bottom));left:max(.5rem,env(safe-area-inset-left));justify-content:flex-end}.user-navigation__name{margin-right:auto}.user-navigation button{min-height:2.5rem;font-size:.78rem}.account-page{padding:max(5.5rem,calc(env(safe-area-inset-top) + 4.5rem)) max(.75rem,env(safe-area-inset-right)) max(5.5rem,calc(env(safe-area-inset-bottom) + 4.5rem)) max(.75rem,env(safe-area-inset-left))}.account-header{gap:var(--ui-space-3);margin-bottom:var(--ui-space-5)}.account-header h1{font-size:clamp(1.8rem,9vw,2.4rem)}.account-avatar{width:3.5rem;min-width:3.5rem;height:3.5rem}.account-layout{display:block}.account-navigation{display:flex;padding:var(--ui-space-2);margin-bottom:var(--ui-space-4);overflow-x:auto;scroll-snap-type:x proximity}.account-navigation button{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}.account-placeholder{min-height:13rem}.account-statistics__grid,.profile-fields,.avatar-crop-controls,.theme-options{grid-template-columns:1fr}.profile-avatar-preview{width:6rem;min-width:6rem;height:6rem}.profile-save,.interface-save{width:100%}.cover-editor__controls{grid-template-columns:1fr}.editor-distribution-actions{order:4;width:100%;overflow-x:auto}.editor-distribution-actions button{flex:1 0 auto}.distribution-actions{display:grid}.distribution-actions button{width:100%}.tour-minimap{padding:var(--ui-space-3)}.tour-minimap>header{align-items:stretch;flex-direction:column}.tour-minimap__controls{overflow-x:auto}.tour-minimap__viewport svg{min-height:16rem}}@media(min-width:721px)and (max-width:1040px){.account-statistics__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.account-statistics__card.is-skeleton span{animation:none}}
