@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--font-family:"Outfit", sans-serif;--bg-color:#0a0b10;--text-color:#e8eaed;--glass-bg:#1c1d22;--glass-border:#2e3035;--accent-color:#1a73e8;--accent-glow:transparent;--gold-accent:#fbc02d;--panel-radius:8px;--box-shadow:0 4px 12px #00000059;--timeline-bg:#0f172afa;--timeline-border:#fff3;--timeline-line:#ffffff73;--timeline-axis:#ffffff40;--timeline-tick:#ffffff73;--timeline-text:#ffffffa6;--timeline-btn-bg:#ffffff0f;--timeline-btn-border:#ffffff26;--timeline-btn-text:#e2e8f0}body.light-theme{--bg-color:#f8f9fa;--text-color:#202124;--glass-bg:#fff;--glass-border:#dadce0;--accent-color:#1a73e8;--accent-glow:transparent;--gold-accent:#f57f17;--box-shadow:0 1px 3px #3c40434d, 0 4px 8px 3px #3c404326;--timeline-bg:#cbd5e1;--timeline-border:#64748b;--timeline-line:#0f172aa6;--timeline-axis:#0f172a99;--timeline-tick:#0f172ab3;--timeline-text:#0f172af2;--timeline-btn-bg:#0000001a;--timeline-btn-border:#00000040;--timeline-btn-text:#0f172a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}button,button:focus{outline:none}::selection{background:0 0}::selection{background:0 0}html,body{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,button,textarea,select{font-family:inherit}#root{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.glass-panel{transition:background .2s,border-color .2s,box-shadow .2s;background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--box-shadow)!important;-webkit-backdrop-filter:none!important}.glass-panel-rounded{border-radius:var(--panel-radius)!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.animate-slide-in-right{animation:.4s cubic-bezier(.16,1,.3,1) forwards slideInRight}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff6}.selectable{-webkit-user-select:text!important;user-select:text!important}.globe-html-label{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;white-space:nowrap!important;width:max-content!important}.marker-container{pointer-events:none;align-items:center;display:flex;position:relative;transform:translate(-50%,-50%);white-space:nowrap!important;width:max-content!important}.marker-dot{background-color:var(--marker-color,#3b82f6);width:12px;height:12px;box-shadow:0 0 10px var(--marker-color,#3b82f6), 0 0 4px #00000080;pointer-events:auto;cursor:pointer;z-index:2;border:2px solid #fff;border-radius:50%;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),box-shadow .2s;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.marker-dot:hover{box-shadow:0 0 16px var(--marker-color,#3b82f6), 0 0 6px #0009;z-index:10;transform:translate(-50%,-50%)scale(1.4)}.marker-pulse{border:2px solid var(--marker-color,#3b82f6);pointer-events:none;z-index:1;border-radius:50%;width:12px;height:12px;animation:1.6s ease-out infinite markerPulse;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}@keyframes markerPulse{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(3.5)}}.label-content{pointer-events:auto;cursor:pointer;color:#fff;text-align:center;-webkit-backdrop-filter:none;flex-direction:column;align-items:center;font-family:inherit;transition:opacity .3s ease-out,transform .2s ease-out,color .2s,text-shadow .2s;display:flex;position:absolute;top:0;left:0;white-space:nowrap!important;width:max-content!important}.label-title-main{white-space:nowrap}.label-subtitle{opacity:.85;white-space:nowrap;margin-top:1px;font-size:10px;font-weight:500}.label-content.selected{color:#fff;background:var(--marker-bg-selected,#3b82f666);border:2px solid var(--marker-color,#3b82f6);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 20px var(--marker-glow-selected,#3b82f6cc);text-shadow:none;transform-origin:bottom;z-index:9999;border-radius:8px;flex-direction:column;align-items:center;padding:6px 12px;font-size:15px;font-weight:700;display:flex;transform:translate(-50%,-100%)translateY(-16px)scale(1.15);white-space:nowrap!important;width:max-content!important}.globe-html-label .label-content:not(.selected){-webkit-backdrop-filter:none;box-shadow:none;text-shadow:0 1px 4px #000000f2,0 0 2px #000000d9;transform:translate(-50%, -100%) translateY(-12px) scale(var(--globe-label-scale,1));transform-origin:bottom;opacity:var(--globe-label-opacity,1);text-align:center;background:0 0;border:none;flex-direction:column;align-items:center;padding:2px 6px;font-size:12px;font-weight:600;display:flex;white-space:nowrap!important;width:max-content!important}.label-content:not(.selected):hover{z-index:10000;transform:translate(-50%,-100%)translateY(-12px)scale(1.05);color:#111827!important;text-shadow:none!important;background:#fff!important;border:1px solid #0000001a!important;border-radius:6px!important;padding:4px 10px!important;box-shadow:0 4px 12px #0006!important}.label-content:not(.selected):hover .cluster-badge{color:#111827!important;background:#f3f4f6!important}.label-content:not(.selected):hover span{color:#111827!important;text-shadow:none!important}.globe-html-label[data-offset=left] .label-content:not(.selected){transform:translate(-100%, -50%) translateX(-12px) scale(var(--globe-label-scale,1));transform-origin:100%}.globe-html-label[data-offset=right] .label-content:not(.selected){transform:translate(0, -50%) translateX(12px) scale(var(--globe-label-scale,1));transform-origin:0}.globe-html-label[data-offset=top] .label-content:not(.selected){transform:translate(-50%, -100%) translateY(-12px) scale(var(--globe-label-scale,1));transform-origin:bottom}.globe-html-label[data-offset=bottom] .label-content:not(.selected){transform:translate(-50%, 0) translateY(12px) scale(var(--globe-label-scale,1));transform-origin:top}.globe-html-label[data-offset=left] .label-content:not(.selected):hover{transform:translate(-100%,-50%)translate(-12px)scale(1.05)}.globe-html-label[data-offset=right] .label-content:not(.selected):hover{transform:translateY(-50%)translate(12px)scale(1.05)}.globe-html-label[data-offset=top] .label-content:not(.selected):hover{transform:translate(-50%,-100%)translateY(-12px)scale(1.05)}.globe-html-label[data-offset=bottom] .label-content:not(.selected):hover{transform:translate(-50%)translateY(12px)scale(1.05)}.globe-html-label[data-offset=left] .label-content.selected{transform-origin:100%;transform:translate(-100%,-50%)translate(-16px)scale(1.15)}.globe-html-label[data-offset=right] .label-content.selected{transform-origin:0;transform:translateY(-50%)translate(16px)scale(1.15)}.globe-html-label[data-offset=top] .label-content.selected{transform-origin:bottom;transform:translate(-50%,-100%)translateY(-16px)scale(1.15)}.globe-html-label[data-offset=bottom] .label-content.selected{transform-origin:top;transform:translate(-50%)translateY(16px)scale(1.15)}.tutorial-spotlight{box-shadow:0 0 0 9999px #0a0f1ebf, 0 0 30px var(--accent-color,#38bdf8);pointer-events:none;z-index:120;border:none;border-radius:16px;transition:all .5s cubic-bezier(.4,0,.2,1);position:fixed}@keyframes tutorial-glow-pulse{0%{opacity:.5;transform:scale(.95);box-shadow:0 0 #38bdf8b3}70%{opacity:.9;transform:scale(1.05);box-shadow:0 0 0 20px #38bdf800}to{opacity:.5;transform:scale(.95);box-shadow:0 0 #38bdf800}}.tutorial-pulse-ring{border:2px solid var(--accent-color,#38bdf8);border-radius:50%;animation:2s ease-in-out infinite tutorial-glow-pulse}@keyframes tutorialFadeIn{0%{opacity:0}to{opacity:1}}.animate-tutorial-fade-in{animation:.4s ease-out forwards tutorialFadeIn}body[data-tutorial-step="3"] #apparition-sidebar,body[data-tutorial-step="4"] #apparition-sidebar{z-index:125!important;box-shadow:0 0 20px var(--accent-color,#38bdf8)!important;border:none!important}body[data-project-id=eucharist][data-tutorial-step="3"] #apparition-sidebar,body[data-project-id=eucharist][data-tutorial-step="4"] #apparition-sidebar{border:none!important;box-shadow:0 0 20px #d99726!important}body[data-tutorial-step="2"] #auto-rotate-button{z-index:125!important;box-shadow:0 0 20px var(--accent-color,#38bdf8)!important;border:none!important}body[data-project-id=eucharist][data-tutorial-step="2"] #auto-rotate-button{border:none!important;box-shadow:0 0 20px #d99726!important}body[data-tutorial-step="3"] #sidebar-close-button{animation:2s ease-in-out infinite close-btn-glow-pulse;color:var(--gold-accent)!important;opacity:1!important;filter:drop-shadow(0 0 6px var(--gold-accent))!important;transition:all .3s!important;transform:scale(1.2)!important}@keyframes close-btn-glow-pulse{0%,to{filter:drop-shadow(0 0 4px var(--gold-accent));transform:scale(1.15)}50%{filter:drop-shadow(0 0 10px var(--gold-accent));transform:scale(1.3)}}.tutorial-click-pointer{pointer-events:none;z-index:10000;filter:drop-shadow(0 4px 6px #00000080);animation:.8s ease-in-out infinite alternate point-bounce;position:absolute;top:15px;left:10px}@keyframes point-bounce{0%{transform:translate(15px,15px)}to{transform:translate(-2px,-2px)}}.mob-filter-overlay{display:none}@media (width<=600px){.mob-filter-overlay{display:flex}}.mob-btn{cursor:pointer;color:#1a1a1a;-webkit-tap-highlight-color:transparent;background:#fff;border:none;border-radius:50%;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;font-size:26px;line-height:1;transition:box-shadow .15s,transform .15s;display:flex;position:relative;box-shadow:0 2px 8px #00000047,0 1px 3px #00000026}.mob-btn:active{transform:scale(.93);box-shadow:0 1px 4px #0003}.mob-btn.mob-btn--active{color:#fff;background:#1a73e8;box-shadow:0 2px 10px #1a73e880}.mob-btn-tooltip{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:9999;font-size:12px;font-weight:600;font-family:var(--font-family);background:#202124;border-radius:6px;padding:5px 10px;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 2px 8px #0006}.mob-btn-tooltip:after{content:"";border:5px solid #0000;border-top-color:#202124;position:absolute;top:100%;left:50%;transform:translate(-50%)}.mob-btn.tooltip-visible .mob-btn-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.mob-toolbar{z-index:300;pointer-events:auto;align-items:center;gap:12px;display:none;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.mob-toolbar-divider{background:#ffffff59;flex-shrink:0;width:1px;height:28px}@media (width<=600px){.mob-toolbar{display:flex}.desktop-left-panel,.desktop-help-btn,.desktop-lang-picker{display:none!important}#auto-rotate-button{-webkit-backdrop-filter:none!important;color:#1a1a1a!important;background:#fff!important;border:none!important;border-radius:50%!important;justify-content:center!important;gap:0!important;width:48px!important;height:48px!important;padding:0!important;font-size:0!important;bottom:96px!important;left:50%!important;transform:translate(-50%)!important;box-shadow:0 2px 8px #00000047!important}#auto-rotate-button svg{color:#1a1a1a!important;width:22px!important;height:22px!important}#auto-rotate-button span{display:none!important}#timeline-closed-pill{-webkit-backdrop-filter:none!important;color:#1a1a1a!important;background:#fff!important;border:none!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;gap:0!important;width:48px!important;height:48px!important;padding:0!important;font-size:0!important;display:flex!important;bottom:20px!important;right:20px!important;box-shadow:0 2px 8px #00000047!important}#timeline-closed-pill svg{flex-shrink:0;color:#1a1a1a!important;width:22px!important;height:22px!important}#timeline-closed-pill span{display:none!important}.cinema-controls-panel{width:auto!important;padding:12px 16px!important}#timeline-container{border-radius:16px 16px 0 0!important;width:100vw!important;bottom:0!important;left:0!important}}@media (width>=601px){.desktop-left-panel>div:first-child,#apparition-sidebar,#search-filters-container>div>div.glass-panel,#search-filters-container>div>div>div.glass-panel,#action-row-container>div>div.glass-panel,#directory-modal-container{background:var(--glass-bg)!important;color:var(--text-color)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--box-shadow)!important;-webkit-backdrop-filter:none!important;border-radius:var(--panel-radius)!important}.desktop-help-btn,.desktop-theme-btn,.desktop-lang-picker button,#action-row-container>button,#action-row-container>div>button,#timeline-closed-pill,#auto-rotate-button,#search-bar-input-container{background:var(--glass-bg)!important;color:var(--text-color)!important;box-shadow:var(--box-shadow)!important;-webkit-backdrop-filter:none!important;border:none!important;border-radius:9999px!important}#timeline-closed-pill,#auto-rotate-button{border-radius:50%!important;justify-content:center!important;align-items:center!important;width:42px!important;height:42px!important;padding:0!important;display:flex!important}#timeline-closed-pill .timeline-text,#timeline-closed-pill .timeline-chevron{display:none!important}.desktop-left-panel h1,#apparition-sidebar h2,#directory-modal-container h2{color:var(--accent-color)!important}.desktop-left-panel p,#apparition-sidebar p,#apparition-sidebar span,#directory-modal-container p,#directory-modal-container span,#timeline-closed-pill span{color:var(--text-color)!important;opacity:.85!important}#auto-rotate-button span{display:none!important}.desktop-help-btn svg,#timeline-closed-pill svg,#auto-rotate-button svg,#search-filters-container svg,#action-row-container svg,#directory-modal-container svg{color:var(--text-color)!important;opacity:.75!important}#play-presentation-button{background:var(--accent-color)!important;color:#fff!important;border:none!important;box-shadow:0 2px 10px #1a73e840!important}#play-presentation-button span,#play-presentation-button svg{color:#fff!important}#search-filters-container input,#directory-modal-container input{color:var(--text-color)!important}#search-filters-container input::placeholder,#directory-modal-container input::placeholder{color:var(--text-color)!important;opacity:.55!important}#search-filters-container>div>div.glass-panel:nth-child(2),.desktop-lang-picker>div>div.glass-panel,#action-row-container>div>div.glass-panel{background:var(--glass-bg)!important;color:var(--text-color)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--box-shadow)!important}#search-filters-container>div>div.glass-panel:nth-child(2)>div:hover,.desktop-lang-picker button:hover,.desktop-theme-btn:hover{background:var(--glass-border)!important;opacity:1!important}#apparition-sidebar button{background:var(--glass-border)!important;border:1px solid var(--glass-border)!important;color:var(--text-color)!important}#apparition-sidebar button:hover{filter:brightness(1.1)}#apparition-sidebar button span,#apparition-sidebar button svg{color:var(--text-color)!important}#directory-modal-container>div{background:var(--glass-bg)!important;border-bottom:1px solid var(--glass-border)!important;color:var(--text-color)!important}#directory-modal-container div[style*="background: rgba(255, 255, 255, 0.03)"]{background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;color:var(--text-color)!important}#directory-modal-container div[style*="background: rgba(255, 255, 255, 0.03)"]:hover{background:var(--glass-border)!important;border-color:var(--accent-color)!important}#directory-modal-container div[style*="color: rgb(241, 245, 249)"],#directory-modal-container div[style*="color: #f1f5f9"]{color:var(--text-color)!important}#directory-modal-container div[style*="background: rgba(0,0,0,0.3)"]{background:var(--glass-border)!important;border:1px solid var(--glass-border)!important}#directory-modal-container div[style*="background: rgba(0,0,0,0.3)"] span{color:var(--text-color)!important}#action-row-container>button:hover,#action-row-container>div>button:hover,.desktop-help-btn:hover{background:var(--glass-border)!important;border-color:var(--accent-color)!important}}
