/*!
 * Photo Sphere Viewer 5.14.1
 * @copyright 2014-2015 Jérémy Heleine
 * @copyright 2015-2026 Damien "Mistic" Sorel
 * @licence MIT (https://opensource.org/licenses/MIT)
 */.psv-container{--psv-core-loaded: true;container-name:psv-container;container-type:size;width:100%;height:100%;margin:0;padding:0;position:relative;background:radial-gradient(#fff,#fdfdfd 16%,#fbfbfb 33%,#f8f8f8 49%,#efefef 66%,#dfdfdf 82%,#bfbfbf);overflow:hidden}.psv-container *{box-sizing:content-box}.psv-canvas-container{position:absolute;top:0;left:0;z-index:0;transition:opacity linear .1s}.psv-fullscreen-emulation{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:9999}.psv-loader-container{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:80}.psv-loader{--psv-loader-border: 3px;--psv-loader-tickness: 10px;position:relative;display:flex;justify-content:center;align-items:center;color:#ffffffb3;width:150px;height:150px}.psv-loader-canvas{position:absolute;top:0;left:0;width:100%;height:100%;color:#3d3d3d80;z-index:-1}.psv-loader-text{font:600 16px sans-serif;text-align:center}.psv-loader--undefined .psv-loader-canvas{animation:psv-loader 2s cubic-bezier(.75,.25,.25,.75) infinite}@keyframes psv-loader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.psv-navbar{display:flex;position:absolute;z-index:90;bottom:-40px;left:0;width:100%;height:40px;background:#3d3d3d80;transition:bottom ease-in-out .1s;font:16px sans-serif;cursor:default}.psv-navbar--open{bottom:0}.psv-navbar,.psv-navbar *{box-sizing:content-box}.psv-button{flex:0 0 auto;padding:10px;position:relative;cursor:pointer;height:20px;width:20px;background:transparent;color:#ffffffb3}.psv-button--active{background:#fff3}.psv-button--disabled{pointer-events:none;opacity:.5}.psv-button-svg{width:100%;transform:scale(1);transition:transform .2s ease;vertical-align:initial}.psv-button:not(.psv-button--disabled):focus-visible{outline:2px solid #007cff;outline-offset:-2px}.psv-container:not(.psv--is-touch) .psv-button--hover-scale:not(.psv-button--disabled):hover .psv-button-svg{transform:scale(1.2)}.psv-move-button+.psv-move-button{margin-left:-10px}.psv-download-button{color:#ffffffb3!important;text-decoration:none!important}.psv-download-button:before,.psv-download-button:after{display:none!important}.psv-custom-button{width:auto;min-width:20px}.psv-custom-button--no-padding{padding:0;height:100%}.psv-caption{flex:1 1 100%;color:#ffffffb3;overflow:hidden;text-align:center;cursor:unset;padding:unset;height:unset;width:unset}.psv-caption-content{display:inline-block;padding:10px;white-space:nowrap}.psv-zoom-range.psv-button{width:80px;height:1px;margin:10px 0;padding:9.5px 0;max-width:600px}.psv-zoom-range-line{position:relative;width:80px;height:1px;background:#ffffffb3;transition:all .3s ease}.psv-zoom-range-handle{position:absolute;border-radius:50%;top:-3px;width:7px;height:7px;background:#ffffffb3;transform:scale(1);transition:transform .3s ease}.psv-zoom-range:not(.psv-button--disabled):hover .psv-zoom-range-line{box-shadow:0 0 2px #ffffffb3}.psv-zoom-range:not(.psv-button--disabled):hover .psv-zoom-range-handle{transform:scale(1.3)}.psv-notification{position:absolute;z-index:100;bottom:-40px;display:flex;justify-content:center;box-sizing:border-box;width:100%;padding:0 2em;opacity:0;transition-property:opacity,bottom;transition-timing-function:ease-in-out;transition-duration:.2s}.psv-notification-content{max-width:50em;background:#3d3d3dcc;border-radius:4px;padding:.5em 1em;font:14px sans-serif;color:#fff}.psv-notification--visible{opacity:100;bottom:80px}.psv-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;z-index:110;top:0;right:0;bottom:0;left:0;background:radial-gradient(#fff,#fdfdfd 16%,#fbfbfb 33%,#f8f8f8 49%,#efefef 66%,#dfdfdf 82%,#bfbfbf);opacity:.8;cursor:default}.psv-overlay-image{width:100%;text-align:center;color:#303030}.psv-overlay-image svg{width:50%}@container psv-container (orientation: landscape){.psv-overlay-image svg{width:33%}}.psv-overlay-title{color:#000;margin-top:1em;font:30px sans-serif;text-align:center}.psv-overlay-text{color:#000c;font:20px sans-serif;opacity:.8;text-align:center}.psv-panel{position:absolute;z-index:90;right:0;height:100%;width:400px;max-width:calc(100% - 9px);background:#0a0a0ab3;transform:translate3d(100%,0,0);opacity:0;transition-property:opacity,transform;transition-timing-function:ease-in-out;transition-duration:.1s;cursor:default;margin-left:9px}.psv--has-navbar .psv-panel{height:calc(100% - 40px)}.psv-panel-close-button{display:none;position:absolute;top:-1px;right:0;width:19.2px;height:19.2px;padding:6.4px;background:transparent;color:#fff;transition:background .3s ease-in-out;cursor:pointer}.psv-panel-close-button svg{transition:transform .3s ease-in-out}.psv-panel-close-button:hover{background:#000000e6}.psv-panel-close-button:hover svg{transform:scale(-1)}.psv-panel-resizer{display:none;position:absolute;top:0;left:-9px;width:9px;height:100%;background-color:#000000e6;cursor:col-resize}.psv-panel-resizer:before{content:"";position:absolute;top:50%;left:5.5px;margin-top:-14.5px;width:1px;height:1px;box-shadow:1px 0 #fff,3px 0 #fff,5px 0 #fff,1px 2px #fff,3px 2px #fff,5px 2px #fff,1px 4px #fff,3px 4px #fff,5px 4px #fff,1px 6px #fff,3px 6px #fff,5px 6px #fff,1px 8px #fff,3px 8px #fff,5px 8px #fff,1px 10px #fff,3px 10px #fff,5px 10px #fff,1px 12px #fff,3px 12px #fff,5px 12px #fff,1px 14px #fff,3px 14px #fff,5px 14px #fff,1px 16px #fff,3px 16px #fff,5px 16px #fff,1px 18px #fff,3px 18px #fff,5px 18px #fff,1px 20px #fff,3px 20px #fff,5px 20px #fff,1px 22px #fff,3px 22px #fff,5px 22px #fff,1px 24px #fff,3px 24px #fff,5px 24px #fff,1px 26px #fff,3px 26px #fff,5px 26px #fff,1px 28px #fff,3px 28px #fff,5px 28px #fff;background:transparent}.psv-panel-content{width:100%;height:100%;box-sizing:border-box;color:#dcdcdc;font:16px sans-serif;overflow:auto}.psv-panel-content:not(.psv-panel-content--no-margin){padding:1em}.psv-panel-content--no-interaction{-webkit-user-select:none;user-select:none;pointer-events:none}.psv-panel--open{transform:translateZ(0);opacity:1;transition-duration:.2s}.psv-panel--open .psv-panel-close-button,.psv-panel--open .psv-panel-resizer{display:block}@container psv-container (max-width: 400px){.psv-panel{width:100%!important;max-width:none}.psv-panel-resizer{display:none!important}}.psv-panel-menu{height:100%;display:flex;flex-direction:column}.psv-panel-menu-title{flex:none;display:flex;align-items:center;font:24px sans-serif;margin:24px 12px}.psv-panel-menu-title svg{width:24px;height:24px;margin-right:12px}.psv-panel-menu-list{flex:1;list-style:none;margin:0;padding:0;overflow-x:hidden}.psv-panel-menu-item{min-height:1.5em;padding:.5em 1em;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;transition:background .1s ease-in-out}.psv-panel-menu-item--active{outline:1px solid currentcolor;outline-offset:-1px}.psv-panel-menu-item-icon{flex:none;height:1.5em;width:1.5em;margin-right:.5em}.psv-panel-menu-item-icon img{max-width:100%;max-height:100%}.psv-panel-menu-item-icon svg{width:100%;height:100%}.psv-panel-menu-item:focus-visible{outline:2px solid #007cff;outline-offset:-2px}.psv-panel-menu--stripped .psv-panel-menu-item:hover{background:#fff3}.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(odd),.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(odd):before{background:#ffffff1a}.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(2n),.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(2n):before{background:transparent}.psv-container:not(.psv--is-touch) .psv-panel-menu-item:hover{background:#fff3}.psv-tooltip{position:absolute;z-index:50;box-sizing:border-box;max-width:200px;background:#3d3d3dcc;border-radius:4px;opacity:0;transition-property:opacity,transform;transition-timing-function:ease-in-out;transition-duration:.1s;cursor:default}.psv-tooltip-content{color:#fff;font:14px sans-serif;text-shadow:0 1px #000;padding:.5em 1em}.psv-tooltip-arrow{position:absolute;height:0;width:0;border:7px solid transparent}.psv-tooltip--top-left,.psv-tooltip--top-center,.psv-tooltip--top-right{transform:translate3d(0,5px,0)}.psv-tooltip--top-left .psv-tooltip-arrow,.psv-tooltip--top-center .psv-tooltip-arrow,.psv-tooltip--top-right .psv-tooltip-arrow{border-top-color:#3d3d3dcc}.psv-tooltip--bottom-left,.psv-tooltip--bottom-center,.psv-tooltip--bottom-right{transform:translate3d(0,-5px,0)}.psv-tooltip--bottom-left .psv-tooltip-arrow,.psv-tooltip--bottom-center .psv-tooltip-arrow,.psv-tooltip--bottom-right .psv-tooltip-arrow{border-bottom-color:#3d3d3dcc}.psv-tooltip--left-top,.psv-tooltip--center-left,.psv-tooltip--left-bottom{transform:translate3d(5px,0,0)}.psv-tooltip--left-top .psv-tooltip-arrow,.psv-tooltip--center-left .psv-tooltip-arrow,.psv-tooltip--left-bottom .psv-tooltip-arrow{border-left-color:#3d3d3dcc}.psv-tooltip--right-top,.psv-tooltip--center-right,.psv-tooltip--right-bottom{transform:translate3d(-5px,0,0)}.psv-tooltip--right-top .psv-tooltip-arrow,.psv-tooltip--center-right .psv-tooltip-arrow,.psv-tooltip--right-bottom .psv-tooltip-arrow{border-right-color:#3d3d3dcc}.psv-tooltip--left-top,.psv-tooltip--top-left{box-shadow:-3px -3px #5a5a5ab3}.psv-tooltip--top-center{box-shadow:0 -3px #5a5a5ab3}.psv-tooltip--right-top,.psv-tooltip--top-right{box-shadow:3px -3px #5a5a5ab3}.psv-tooltip--left-bottom,.psv-tooltip--bottom-left{box-shadow:-3px 3px #5a5a5ab3}.psv-tooltip--bottom-center{box-shadow:0 3px #5a5a5ab3}.psv-tooltip--right-bottom,.psv-tooltip--bottom-right{box-shadow:3px 3px #5a5a5ab3}.psv-tooltip--center-left{box-shadow:-3px 0 #5a5a5ab3}.psv-tooltip--center-right{box-shadow:3px 0 #5a5a5ab3}.psv-tooltip--visible{transform:translateZ(0);opacity:1}/*!
* Photo Sphere Viewer / Markers Plugin 5.14.1
* @copyright 2015-2026 Damien "Mistic" Sorel
* @licence MIT (https://opensource.org/licenses/MIT)
*/.psv-container{--psv-markers-plugin-loaded: true}.psv-markers{pointer-events:none;position:absolute;z-index:10;width:100%;height:100%}.psv-markers-svg-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:20}.psv-markers-css3d-container{position:absolute;z-index:21}.psv-marker{display:none;pointer-events:auto}.psv-marker--normal{position:absolute;top:0;left:0;z-index:30;overflow:visible;background-size:contain;background-repeat:no-repeat}.psv-marker--css3d{display:block}.psv-marker--transparent{display:block;opacity:0}.psv-marker--visible{display:block}.psv-marker--has-tooltip,.psv-marker--has-content{cursor:pointer}/*!
* Photo Sphere Viewer / Gallery Plugin 5.14.1
* @copyright 2015-2026 Damien "Mistic" Sorel
* @licence MIT (https://opensource.org/licenses/MIT)
*/.psv-container{--psv-gallery-plugin-loaded: true}.psv-gallery{--psv-gallery-breakpoint: 500px;position:absolute;left:0;bottom:0;width:100%;background:#3d3d3d80;border-bottom:1px solid rgba(255,255,255,.7);overflow:hidden;transition:transform ease-in-out .1s;transform:translateY(100%);z-index:41;cursor:default}.psv--has-navbar .psv-gallery{bottom:40px;transform:translateY(calc(100% + 40px))}.psv-gallery--open{transform:translateY(0)!important}.psv-gallery-container{display:flex;align-content:flex-start;padding:15px;overflow:auto hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.6) transparent}.psv-gallery-item{flex:none;position:relative;border-radius:5px;overflow:hidden;cursor:pointer}.psv-gallery-item:not(:last-child){margin-right:15px}.psv-gallery-item-title{position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box;width:100%;height:2.2em;padding:.5em;background:#0009;font:16px sans-serif;line-height:1.2em;color:#ffffffb3;z-index:2;transition:height ease-in-out .2s}.psv-gallery-item-title span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;-webkit-user-select:none;user-select:none}.psv-gallery-item-thumb{position:absolute;top:0;left:0;width:100%;height:100%;background-position:center center;background-size:cover;transform:scaleZ(1);transition:transform ease-in-out .2s;z-index:1}.psv-gallery-item:hover .psv-gallery-item-title{height:100%}.psv-gallery-item:hover .psv-gallery-item-title span{white-space:normal}.psv-gallery-item:hover .psv-gallery-item-thumb{transform:scale3d(1.2,1.2,1)}.psv-gallery-item:focus-visible{outline:2px solid #007cff}.psv-gallery-item--active:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;box-sizing:border-box;border:3px solid white;z-index:3}.psv-gallery-arrow{position:absolute;display:flex;align-items:center;justify-content:center;padding:15px;z-index:9;cursor:pointer;transition:opacity .3s ease-in-out}.psv-gallery-arrow svg{color:#fff9;filter:drop-shadow(5px 5px 2px black);transition:translate .3s ease-in-out}.psv-gallery-arrow--left,.psv-gallery-arrow--right{top:0;bottom:0}.psv-gallery-arrow--left svg,.psv-gallery-arrow--right svg{height:60%;max-height:60px}.psv-gallery-arrow--left{left:0;background:linear-gradient(to left,transparent 0%,rgba(0,0,0,.6) 50%)}.psv-gallery-arrow--left svg{scale:-1 1}.psv-gallery-arrow--left:hover svg{translate:-10px 0}.psv-gallery-arrow--right{right:0;background:linear-gradient(to right,transparent 0%,rgba(0,0,0,.6) 50%)}.psv-gallery-arrow--right:hover svg{translate:10px 0}.psv-gallery-arrow--top,.psv-gallery-arrow--bottom{left:0;right:0;padding:0}.psv-gallery-arrow--top svg,.psv-gallery-arrow--bottom svg{height:60px}.psv-gallery-arrow--top{top:0;background:linear-gradient(to top,transparent 0%,rgba(0,0,0,.6) 50%)}.psv-gallery-arrow--top svg{rotate:-90deg;scale:1 1.2}.psv-gallery-arrow--top:hover svg{translate:0 -10px}.psv-gallery-arrow--bottom{bottom:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.6) 50%)}.psv-gallery-arrow--bottom svg{rotate:-90deg;scale:-1 1.2}.psv-gallery-arrow--bottom:hover svg{translate:0 10px}@container psv-container (max-width: 500px){.psv-gallery{top:0}.psv-gallery-container{flex-wrap:wrap;height:calc(100% - 32px);margin-top:32px;padding:0 0 0 15px;overflow:hidden auto}.psv-gallery-item{width:calc(50% - 15px)!important;margin-bottom:15px}.psv-gallery .psv-panel-close-button{display:block;z-index:10}}/*!
* Photo Sphere Viewer / Virtual Tour Plugin 5.14.1
* @copyright 2015-2026 Damien "Mistic" Sorel
* @licence MIT (https://opensource.org/licenses/MIT)
*/.psv-container{--psv-virtual-tour-plugin-loaded: true}.psv-virtual-tour-tooltip h3{margin:0;padding:0;line-height:normal}.psv-virtual-tour-tooltip h3:not(:last-child){margin-bottom:.5em}.psv-virtual-tour-tooltip img{display:block;width:200px;margin:0 -1em}.psv-virtual-tour-tooltip img:first-child{border-radius:4px 4px 0 0}.psv-virtual-tour-tooltip img:last-child{border-radius:0 0 4px 4px}.psv-virtual-tour-tooltip img:not(:last-child){margin-bottom:.5em}.psv-virtual-tour-tooltip p{margin:0;padding:0;line-height:normal}.psv-virtual-tour-link{cursor:pointer;transform-origin:center}.psv-virtual-tour-arrows{position:absolute;overflow:visible!important;z-index:11;bottom:0;left:0;filter:drop-shadow(0 10px 2px rgba(0,0,0,.7));pointer-events:none;transition:margin ease-in-out .3s}.psv-virtual-tour-arrows .psv-virtual-tour-link{transition:opacity linear .2s}.psv-virtual-tour-arrows .psv-virtual-tour-link:hover{opacity:1!important}.psv-virtual-tour-arrow{width:100%;height:100%;padding:0;border:none;background:none;color:#fffc;border-radius:50%}.psv-virtual-tour-arrow:hover{animation:psv-virtual-tour-link-button-in 1s ease-out forwards}.psv-virtual-tour-loader{display:block;position:relative;width:40px;height:30px;margin:0 40px}.psv-virtual-tour-loader div{display:inline-block;position:absolute;left:10%;width:20%;background:#fff;animation:psv-virtual-tour-loader 1.2s cubic-bezier(0,.5,.5,1) infinite}.psv-virtual-tour-loader div:nth-child(1){left:10%;animation-delay:-.24s}.psv-virtual-tour-loader div:nth-child(2){left:40%;animation-delay:-.12s}.psv-virtual-tour-loader div:nth-child(3){left:70%;animation-delay:0}@keyframes psv-virtual-tour-loader{0%{top:10%;height:80%}50%,to{top:30%;height:40%}}@keyframes psv-virtual-tour-link-button-in{0%{box-shadow:0 0 #61aaf200}20%{box-shadow:0 0 0 5px #61aaf2}to{box-shadow:0 0 0 20px #61aaf200}}/*!
* Photo Sphere Viewer / Map Plugin 5.14.1
* @copyright 2015-2026 Damien "Mistic" Sorel
* @licence MIT (https://opensource.org/licenses/MIT)
*/.psv-container{--psv-map-plugin-loaded: true}.psv-map{position:absolute;margin:10px;z-index:40;transition:all ease-in-out .3s}.psv-map__container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;background:#3d3d3db3;overflow:hidden;transition:all ease-in-out .3s}.psv-map__container svg,.psv-map__container img,.psv-map__container canvas{width:100%;height:100%}.psv-map--round .psv-map__container{border-radius:50%;box-shadow:0 0 5px #000000b3}.psv-map--square{border-radius:8px;box-shadow:0 0 5px #000000b3;overflow:hidden}.psv-map__overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.psv-map__toolbar{position:absolute;bottom:1em;left:calc(50% - 3.25em);display:flex;justify-content:center;align-items:center;font:12px sans-serif;padding:.25em;border-radius:1.5em;background:#222;color:#fff;-webkit-user-select:none;user-select:none;transition:opacity ease-in-out .3s}.psv-map__toolbar svg{height:1em;cursor:pointer}.psv-map__toolbar-text{width:4em;text-align:center}.psv-map__button{position:absolute;width:34px;aspect-ratio:1;line-height:0;background:#00000080;display:flex;justify-content:center;align-items:center;transform-origin:center;color:#ffffffb3;cursor:pointer;transition:all ease-in-out .3s}.psv-map__button svg{width:60%}.psv-map__button--top-left{left:0;top:0;border-bottom-right-radius:8px;transform:translate(-3px,-3px)}.psv-map__button--top-right{right:0;top:0;border-bottom-left-radius:8px;transform:translate(3px,-3px)}.psv-map__button--bottom-left{left:0;bottom:0;border-top-right-radius:8px;transform:translate(-3px,3px)}.psv-map__button--bottom-right{right:0;bottom:0;border-top-left-radius:8px;transform:translate(3px,3px)}.psv-map--round .psv-map__button{border-radius:50%}.psv-map--square .psv-map__button{transform:unset}.psv-map--maximized{margin:0!important;width:100%!important;height:100%!important}.psv--has-navbar .psv-map--maximized{height:calc(100% - 40px)!important}.psv-map--maximized,.psv-map--maximized .psv-map__container{border-radius:0}.psv-map--round.psv-map--maximized .psv-map__button{outline:2px solid currentcolor}.psv-map--round.psv-map--maximized .psv-map__button--top-left{left:10px;top:10px}.psv-map--round.psv-map--maximized .psv-map__button--top-right{right:10px;top:10px}.psv-map--round.psv-map--maximized .psv-map__button--bottom-left{left:10px;bottom:10px}.psv-map--round.psv-map--maximized .psv-map__button--bottom-right{right:10px;bottom:10px}.psv-map--collapsed{width:34px!important;height:34px!important}.psv-map--collapsed>*{opacity:0}.psv-map--collapsed .psv-map__button-close{opacity:1;transform:translate(0);z-index:1}.psv-map--top-left{top:0;left:0}.psv-map--top-right{top:0;right:0}.psv-map--bottom-left{bottom:0;left:0}.psv--has-navbar .psv-map--bottom-left{bottom:40px}.psv-map--bottom-right{bottom:0;right:0}.psv--has-navbar .psv-map--bottom-right{bottom:40px}:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;height:100%;background:#000;overflow:hidden}.viewer{width:100vw;height:100vh}.kci-snapshot-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;object-fit:cover;z-index:90;pointer-events:none;opacity:1;transform:scale(1);transform-origin:center;transition:opacity .95s cubic-bezier(.4,0,.2,1),transform .95s cubic-bezier(.16,1,.3,1),filter .95s ease-out;will-change:opacity,transform,filter}body.drag-edit-active .kci-arrow{cursor:grab}body.drag-edit-active .kci-arrow:hover{outline:2px dashed rgba(120,220,140,.9);outline-offset:4px;border-radius:50%}body.drag-edit-active .kci-arrow.drag-active{cursor:grabbing;opacity:.4}.kci-drag-cursor{position:fixed;width:32px;height:32px;margin-left:-16px;margin-top:-16px;border-radius:50%;background:#78dc8c59;border:2px solid rgba(120,220,140,1);box-shadow:0 0 16px #78dc8c99;pointer-events:none;z-index:200}.link-editor .drag-toggle{padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.06);background:#78dc8c0d}.link-editor .drag-toggle label{display:flex;align-items:center;gap:6px;cursor:pointer;margin:0;font-size:12px}.link-editor .drag-toggle .hint{margin:6px 0 0;font-size:10px;color:#aaa}.kci-snapshot-overlay.fading{opacity:0;transform:scale(1.25);filter:blur(4px)}.kci-arrow{background:none;border:0;padding:0;cursor:pointer;width:100%;height:100%;transition:transform .15s ease;display:flex;align-items:center;justify-content:center}.kci-arrow img{width:100%;height:100%;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.kci-arrow img.kci-arrow-img-sm{width:48px;height:48px;flex:0 0 auto}.kci-arrow:hover{transform:scale(1.18)}.kci-arrow.focused{transform:scale(1.25);z-index:1}.kci-arrow.focused img{filter:drop-shadow(0 0 12px rgba(120,220,140,.85)) drop-shadow(0 2px 6px rgba(0,0,0,.5))}.kci-arrow.focused:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid rgba(120,220,140,.9);pointer-events:none;animation:kci-focus-pulse 1.4s ease-out infinite}@keyframes kci-focus-pulse{0%{transform:scale(.95);opacity:.9}to{transform:scale(1.4);opacity:0}}.kci-arrow-portal{position:relative;transform:scale(.7);transform-origin:center}.kci-arrow-portal:before,.kci-arrow-portal:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;border:2px solid rgba(80,180,255,.7);pointer-events:none;animation:kci-portal-pulse 1.8s ease-out infinite}.kci-arrow-portal:after{animation-delay:.9s}@keyframes kci-portal-pulse{0%{transform:scale(.85);opacity:0}20%{opacity:1}to{transform:scale(1.6);opacity:0}}.kci-arrow-portal img{filter:drop-shadow(0 0 8px rgba(80,180,255,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.4))}.key-hint{position:fixed;bottom:100px;left:16px;z-index:50;display:flex;flex-direction:column;gap:4px;color:#ffffffbf;font-size:11px;pointer-events:none;background:#00000080;padding:8px 12px;border-radius:6px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.key-hint .hint-row{display:flex;align-items:center;gap:4px}.key-hint .hint-row span:last-child{margin-left:4px}.key-hint kbd{display:inline-block;padding:2px 6px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:3px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;font-weight:600;color:#fff;min-width:18px;text-align:center}.link-editor-toggle{position:fixed;top:16px;right:16px;z-index:100;background:#141418eb;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.link-editor-toggle:hover{background:#282830f2}.link-editor{position:fixed;top:16px;right:16px;z-index:100;width:300px;max-height:calc(100vh - 200px);background:#141418f0;color:#e5e5e7;border:1px solid rgba(255,255,255,.12);border-radius:10px;font-size:13px;display:flex;flex-direction:column;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #00000080}.link-editor .scroll-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.link-editor header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08)}.link-editor header strong{font-size:13px}.link-editor .tabs{display:flex;gap:2px;flex:1;flex-wrap:wrap}.link-editor .tabs button{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#aaa;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}.link-editor .tabs button.active{background:#508cffb3;border-color:#508cff;color:#fff}.link-editor header button{background:transparent;border:none;color:#aaa;font-size:18px;line-height:1;cursor:pointer;padding:2px 6px}.link-editor header button:hover{color:#fff}.link-editor .current-scene{padding:10px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.06)}.link-editor .current-scene .label{color:#888}.link-editor .room-tag{background:#508cff2e;color:#8ab4ff;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.link-editor section{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.link-editor section.section-list{flex:1;min-height:60px;overflow-y:auto;border-bottom:none}.link-editor h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#888;font-weight:600}.link-editor label{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.link-editor label span{font-size:11px;color:#aaa}.link-editor select,.link-editor input[type=text]{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fff;padding:6px 8px;border-radius:5px;font-size:13px;font-family:inherit;width:100%}.link-editor select:focus,.link-editor input[type=text]:focus{outline:none;border-color:#508cff99}.link-editor .capture-status{padding:8px 10px;background:#ffffff0a;border:1px dashed rgba(255,255,255,.15);border-radius:5px;font-size:12px;margin-bottom:8px;color:#aaa}.link-editor .capture-status.captured{border-style:solid;border-color:#50dc8c66;background:#50dc8c14;color:#d0ffe0}.link-editor button{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;padding:6px 10px;border-radius:5px;cursor:pointer;font-size:12px;font-family:inherit}.link-editor button:hover:not(:disabled){background:#ffffff24}.link-editor button.primary{background:#508cffd9;border-color:#508cff;width:100%}.link-editor button.primary:hover:not(:disabled){background:#64a0ff}.link-editor button:disabled{opacity:.4;cursor:not-allowed}.link-editor .empty{margin:0;color:#666;font-style:italic;font-size:12px}.link-editor .link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.link-editor .link-list li{background:#ffffff0a;padding:6px 8px;border-radius:5px;display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center}.link-editor .link-list .item-main{font-size:12px;line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-editor .link-list .muted{color:#888;font-size:10px}.link-editor .link-list .notes{grid-column:1 / -1;font-size:10px;color:#aaa;font-style:italic;margin-top:-2px}.link-editor .link-list button{font-size:11px;padding:2px 6px}.link-editor footer{padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:#ffffff08}.link-editor footer .muted{font-size:11px;color:#aaa}.link-editor .warn{color:#ffb86b;font-weight:600}.link-editor .hint{margin:0;font-size:10px;color:#777;line-height:1.5}.link-editor .hint.error{color:#ff8b8b;font-size:11px}.scene-editor{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.scene-editor section{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06);flex:1;overflow-y:auto;min-height:100px}.scene-editor h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#888}.scene-editor .scene-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.scene-editor .scene-list li{display:grid;grid-template-columns:auto 1fr 70px auto;gap:4px;align-items:center;padding:4px 0;font-size:11px}.scene-editor .scene-list li.edited{background:#78dc8c14;border-radius:4px;padding-left:4px;padding-right:4px}.scene-editor .scene-id{color:#777;font-family:ui-monospace,SF Mono,monospace;font-size:10px;width:60px}.scene-editor input[type=text]{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fff;padding:3px 6px;border-radius:4px;font-size:11px;font-family:inherit}.scene-editor input[type=text]:focus{outline:none;border-color:#508cff99}.scene-editor .room-input{text-transform:uppercase;font-size:10px}.scene-editor .reset-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#aaa;width:22px;height:22px;border-radius:50%;font-size:11px;cursor:pointer;padding:0}.scene-editor .reset-btn:hover{background:#ffffff1f;color:#fff}.scene-editor footer{padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:#ffffff08}.scene-editor footer .muted{font-size:11px;color:#aaa}.scene-editor .warn{color:#ffb86b;font-weight:600}.scene-editor button{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;padding:6px 10px;border-radius:5px;cursor:pointer;font-size:12px;font-family:inherit}.scene-editor button.primary{background:#508cffd9;border-color:#508cff}.scene-editor button:disabled{opacity:.5;cursor:wait}.scene-editor .hint{margin:0;font-size:10px;color:#777;line-height:1.5}.scene-editor .hint code{background:#ffffff14;padding:1px 4px;border-radius:3px}.scene-editor .hint.error{color:#ff8b8b;font-size:11px}.icon-editor{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.icon-editor section{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.icon-editor h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#888}.icon-editor .icon-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;max-height:200px;overflow-y:auto;overscroll-behavior:contain}.icon-editor .icon-grid li button{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:5px;cursor:pointer;color:#aaa;font-size:9px;font-family:inherit;line-height:1.2}.icon-editor .icon-grid li button:hover{background:#ffffff1a;border-color:#fff3}.icon-editor .icon-grid li.selected button{border-color:#50dc8c;background:#50dc8c1f;color:#fff}.icon-editor .icon-grid img{width:28px;height:28px;object-fit:contain}.icon-editor .custom-url-row{display:flex;gap:6px}.icon-editor input[type=text]{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fff;padding:5px 8px;border-radius:4px;font-size:11px;font-family:ui-monospace,SF Mono,monospace}.icon-editor input[type=text]:focus{outline:none;border-color:#508cff99}.icon-editor button{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;padding:5px 10px;border-radius:4px;font-size:11px;cursor:pointer;font-family:inherit}.icon-editor button:disabled{opacity:.4;cursor:not-allowed}.icon-editor .current-custom{margin-top:6px;font-size:10px;color:#aaa}.icon-editor .current-custom code{background:#ffffff14;padding:1px 4px;border-radius:3px;font-size:10px}.icon-editor .hint{margin:4px 0 0;font-size:10px;color:#777;line-height:1.5}.icon-editor .hint code{background:#ffffff14;padding:1px 4px;border-radius:3px}.icon-editor footer{padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:#ffffff08}.icon-editor .save-indicator{font-size:11px;margin-left:6px}.icon-editor .save-indicator.ok{color:#80dca0}.icon-editor .save-indicator.fail{color:#ff8b8b}.icon-editor .scene-icon-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.icon-editor .scene-icon-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px;background:#ffffff0a;border-radius:4px}.icon-editor .row-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.icon-editor .row-info strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-editor .row-info .muted{font-size:9px;color:#777;text-transform:uppercase}.icon-editor .row-controls{display:flex;gap:4px;align-items:center}.icon-editor select{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fff;padding:3px 4px;border-radius:4px;font-size:10px;font-family:inherit;max-width:130px}.icon-editor select:focus{outline:none;border-color:#508cff99}.icon-editor .scene-icon-preview{width:22px;height:22px;object-fit:contain;background:#0003;border-radius:4px}.icon-editor .scene-icon-list li{flex-direction:column;align-items:stretch}.icon-editor .scene-icon-list li>div:first-child,.icon-editor .scene-icon-list li>div.row-info{flex-direction:row;display:flex;justify-content:space-between;align-items:center}.icon-editor .icon-picker-btn{width:36px;height:36px;padding:4px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.icon-editor .icon-picker-btn:hover{background:#ffffff1f}.icon-editor .icon-picker-btn img{width:24px;height:24px;object-fit:contain}.icon-editor .icon-picker-btn .placeholder{font-size:8px;color:#888}.icon-editor .icon-clear-btn{width:22px;height:22px;padding:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#999;font-size:12px;cursor:pointer}.icon-editor .icon-clear-btn:hover{background:#ff646433;color:#fff}.icon-editor .icon-picker-grid{margin-top:6px;padding:6px;background:#00000040;border-radius:6px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;max-height:180px;overflow-y:auto;overscroll-behavior:contain}.icon-editor .icon-picker-grid button{width:100%;padding:6px 4px;background:#ffffff0a;border:2px solid rgba(255,255,255,.08);border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center}.icon-editor .icon-picker-grid button:hover{background:#ffffff1f;border-color:#78dc8c99}.icon-editor .icon-picker-grid button.selected{background:#50dc8c26;border-color:#50dc8c}.icon-editor .icon-picker-grid img{width:28px;height:28px;object-fit:contain}.portal-editor{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.portal-editor section{padding:12px 14px;flex:1;min-height:0;overflow-y:auto}.portal-editor footer{padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:#ffffff08;border-top:1px solid rgba(255,255,255,.06)}.portal-editor footer .muted{font-size:11px;color:#aaa}.portal-editor .footer-actions{display:flex;gap:6px}.portal-editor .footer-actions button{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;padding:6px 10px;border-radius:5px;cursor:pointer;font-size:12px;font-family:inherit}.portal-editor .footer-actions button.primary{flex:1;background:#508cffd9;border-color:#508cff}.portal-editor .footer-actions button:disabled{opacity:.5;cursor:not-allowed}.portal-editor .dirty-count{color:#ffb86b;font-size:10px;text-transform:none;letter-spacing:0}.portal-editor h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#888}.portal-editor .save-indicator{margin-left:6px}.portal-editor .save-indicator.ok{color:#80dca0}.portal-editor .save-indicator.fail{color:#ff8b8b}.portal-editor .filter-row{display:flex;gap:4px;margin-bottom:8px}.portal-editor .filter-row button{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#aaa;padding:4px 8px;border-radius:4px;font-size:10px;cursor:pointer;font-family:inherit}.portal-editor .filter-row button.active{background:#508cff80;border-color:#508cff;color:#fff}.portal-editor .hint{margin:0 0 8px;font-size:10px;color:#777;line-height:1.5}.portal-editor .portal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.portal-editor .portal-list li{background:#ffffff0a;padding:6px 8px;border-radius:4px;display:flex;flex-direction:column;gap:4px}.portal-editor .row-info{display:flex;flex-direction:column;gap:2px}.portal-editor .from-to{font-size:11px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.portal-editor .from-to .arrow{color:#666}.portal-editor .from-to .from{color:#aaa}.portal-editor .from-to .to{font-weight:600;color:#fff}.portal-editor .rooms{display:flex;align-items:center;gap:4px}.portal-editor .room-tag{background:#508cff2e;color:#8ab4ff;padding:1px 6px;border-radius:8px;font-size:9px;font-weight:600}.portal-editor .row-controls{display:flex;gap:4px;align-items:center}.portal-editor .notes-input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fff;padding:4px 6px;border-radius:4px;font-size:11px;font-family:inherit}.portal-editor .notes-input:focus{outline:none;border-color:#508cff99}.portal-editor .icon-picker-btn{width:32px;height:32px;padding:4px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-editor .icon-picker-btn:hover{background:#ffffff1f}.portal-editor .icon-picker-btn img{width:22px;height:22px;object-fit:contain}.portal-editor .icon-picker-btn .placeholder{font-size:8px;color:#888}.portal-editor .icon-clear-btn{width:22px;height:22px;padding:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#999;font-size:12px;cursor:pointer;flex-shrink:0}.portal-editor .icon-clear-btn:hover{background:#ff646433;color:#fff}.portal-editor .icon-picker-grid{margin-top:4px;padding:6px;background:#00000040;border-radius:5px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;max-height:180px;overflow-y:auto;overscroll-behavior:contain}.portal-editor .icon-picker-grid button{width:100%;padding:6px 4px;background:#ffffff0a;border:2px solid rgba(255,255,255,.08);border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center}.portal-editor .icon-picker-grid button:hover{background:#ffffff1f;border-color:#78dc8c99}.portal-editor .icon-picker-grid button.selected{background:#50dc8c26;border-color:#50dc8c}.portal-editor .icon-picker-grid img{width:28px;height:28px;object-fit:contain}.link-editor:has(.map-editor){width:460px}.map-editor{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.map-editor section{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.map-editor h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#888;display:flex;align-items:center;gap:6px}.map-editor .warn{color:#ffb86b;text-transform:none;letter-spacing:0;font-size:10px}.floorplan-container{position:relative;width:100%;background:#f5f5f7;border-radius:6px;overflow:hidden;-webkit-user-select:none;user-select:none}.floorplan-container img{width:100%;height:auto;display:block;pointer-events:none}.map-marker{position:absolute;transform:translate(-50%,-50%);cursor:grab;z-index:2}.map-marker .dot{display:block;width:14px;height:14px;border-radius:50%;background:#508cfff2;border:2px solid white;box-shadow:0 2px 4px #0000004d;transition:transform .15s ease}.map-marker:hover .dot{transform:scale(1.3)}.map-marker.edited .dot{background:#50dc8cf2}.map-marker.dragging{cursor:grabbing;z-index:5}.map-marker.dragging .dot{transform:scale(1.5);box-shadow:0 4px 12px #00000080}.map-marker .label{position:absolute;left:14px;top:-2px;font-size:9px;color:#1a1a1a;background:#fffffff2;padding:1px 4px;border-radius:3px;white-space:nowrap;font-weight:600;pointer-events:none;box-shadow:0 1px 2px #00000026;opacity:0;transition:opacity .15s ease}.map-marker:hover .label,.map-marker.dragging .label{opacity:1}.map-editor footer{padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:#ffffff08}.map-editor footer .muted{font-size:11px;color:#aaa}.map-editor button{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;padding:5px 10px;border-radius:4px;font-size:11px;cursor:pointer;font-family:inherit}.map-editor .hint{margin:0;font-size:10px;color:#777;line-height:1.5}.link-editor .csv-output{display:flex;flex-direction:column;gap:6px}.link-editor .csv-actions{display:flex;gap:6px}.link-editor .csv-actions button{flex:1}.link-editor textarea{background:#0006;color:#d0e8ff;border:1px solid rgba(255,255,255,.12);border-radius:5px;padding:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;resize:vertical;width:100%;line-height:1.4}.link-editor textarea:focus{outline:none;border-color:#508cff99}.link-editor code{background:#ffffff14;padding:1px 4px;border-radius:3px;font-size:11px}
