:root{color:#fff;background:#07140f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;letter-spacing:0;text-rendering:geometricPrecision}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:clip}body{margin:0;min-width:320px;background:#07140f}button,a{font:inherit}button{border:0}a{color:inherit;text-decoration:none}.single-view{position:fixed;inset:0;width:100vw;height:100svh;min-height:620px;overflow:clip;isolation:isolate;color:#fffdf5;background:#07140f}.scene-backdrop{position:absolute;inset:-5%;z-index:-5;overflow:hidden}.scene-backdrop-image{position:absolute;inset:-4%;background-position:center;background-size:cover;filter:blur(32px) saturate(1.1) brightness(.54);will-change:opacity,transform}.scene-frame{position:absolute;inset:0;pointer-events:none}.cinema-canvas,.vignette{position:absolute;inset:0}.cinema-canvas{z-index:0}.scene-loading{background:radial-gradient(circle at 54% 42%,color-mix(in srgb,var(--scene-accent),transparent 74%),transparent 32%),linear-gradient(135deg,#082319d1,#040e0bf5)}.vignette{z-index:1;pointer-events:none;background:radial-gradient(circle at 64% 48%,rgba(255,255,255,.08),transparent 24%),linear-gradient(90deg,#05100cf2,#05100cc7 24%,#05100c42 50%,#05100c94),linear-gradient(180deg,rgba(3,10,8,.7) 0%,transparent 28%,rgba(3,10,8,.82) 100%)}.topbar{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:18px clamp(18px,4vw,44px)}.topbar:has(.language-menu){z-index:80}.single-view:has(.language-menu) .viewer-privacy{opacity:0;pointer-events:none}.identity{display:inline-flex;align-items:center;gap:12px;min-width:0}.identity span{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff7d6;background:#ffffff1f;font-weight:900;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.identity .identity-mark{overflow:hidden;border-color:#ffffff6b;background:#fff;box-shadow:0 0 0 2px #2778372e,0 10px 24px #0000003d;animation:identity-mark-arrive .64s cubic-bezier(.22,1,.36,1) both}.identity-mark img{display:block;width:100%;height:100%;object-fit:cover}.identity:hover .identity-mark{transform:rotate(4deg) scale(1.06)}@keyframes identity-mark-arrive{0%{opacity:0;transform:scale(.72) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}.identity strong{overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.topbar-spacer{flex:1}.top-actions{display:flex;align-items:center;gap:8px}.language-mini,.tour-mode-mini{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 8px;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:var(--scene-accent);background:#ffffff17;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.language-mini{position:relative;padding:0;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.language-trigger{gap:6px;padding:0 10px}.language-trigger span{min-width:28px;font-size:.76rem;font-weight:900}.language-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:70;display:grid;width:min(280px,calc(100vw - 24px));max-height:min(420px,calc(100svh - 120px));overflow:auto;gap:4px;padding:6px;border:1px solid rgba(244,212,123,.24);border-radius:8px;color:#fffdf5;background:#0e1d17f5;background:linear-gradient(180deg,#162a21fa,#081611fa),#0e1d17f5;box-shadow:0 24px 60px #00000061;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);scrollbar-color:var(--scene-accent) rgba(255,255,255,.08)}.top-actions .language-menu button{-webkit-appearance:none;appearance:none;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;column-gap:8px;min-width:0;width:100%;height:auto;min-height:42px;place-items:center start;padding:8px 10px;overflow:hidden;text-align:left;border-color:#ffffff29;border-color:color-mix(in srgb,var(--language-accent),transparent 58%);background:#ffffff1f;background:linear-gradient(90deg,color-mix(in srgb,var(--language-accent),transparent 82%),#ffffff14 54%,#ffffff0f),#ffffff1a;box-shadow:inset 3px 0 0 var(--language-accent);-webkit-tap-highlight-color:transparent}.top-actions .language-menu button.active{border-color:var(--language-accent);background:#f4d47b2e;background:linear-gradient(90deg,color-mix(in srgb,var(--language-accent),transparent 64%),color-mix(in srgb,var(--language-accent),transparent 86%) 58%,#ffffff14),#f4d47b2e}.top-actions .language-menu button span{min-width:0;color:var(--language-accent);font-weight:950}.top-actions .language-menu button small{min-width:0;color:#ffffffb8;font-size:.72rem;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-choice-check{justify-self:end;color:var(--language-accent);opacity:0;transform:scale(.74);transition:opacity .16s ease,transform .16s ease}.top-actions .language-menu button.active .language-choice-check{opacity:1;transform:scale(1)}.tour-mode-mini select{width:46px;height:28px;border:0;color:#fffdf5;background:transparent;font-size:.76rem;font-weight:850}.tour-mode-mini select{width:98px}.visitor-badge{position:absolute;left:clamp(18px,4vw,44px);bottom:178px;z-index:9;padding:5px 8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#ffffffa3;background:#04120d6b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:.68rem;font-weight:850}.viewer-privacy{position:absolute;right:clamp(18px,4vw,44px);bottom:178px;z-index:20}.viewer-privacy-trigger{display:inline-grid;width:32px;min-width:32px;height:32px;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#ffffffc2;background:#04120d80;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .18s ease,background .18s ease}.viewer-privacy .privacy-popover{position:absolute;top:auto;right:0;bottom:42px}.top-actions button,.drawer-head button,.deep-button,.detail-close,.guide-fab,.guide-form button,.sample-questions button,.related-stops button,.period-control button,.admin-header button,.admin-login button,.reset-dialog button{display:inline-grid;min-width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#fffdf5;background:#ffffff1f;cursor:pointer;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .18s ease,background .18s ease,opacity .18s ease}.top-actions button:hover,.drawer-head button:hover,.viewer-privacy-trigger:hover,.guide-form button:hover,.sample-questions button:hover,.related-stops button:hover,.period-control button:hover,.admin-header button:hover,.admin-login button:hover,.reset-dialog button:hover{transform:translateY(-1px);background:#ffffff2e}.top-actions button:disabled{cursor:not-allowed;opacity:.36}.guide-action,.play-action{border-color:color-mix(in srgb,var(--scene-accent),white 18%);background:color-mix(in srgb,var(--scene-accent),transparent 88%);box-shadow:0 12px 34px color-mix(in srgb,var(--scene-accent),transparent 72%)}.guide-action svg,.play-action svg{color:var(--scene-accent);stroke-width:2.65;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--scene-accent),transparent 42%))}.play-action .lucide-play{fill:var(--scene-accent)}.viewport-main{position:absolute;inset:86px clamp(18px,4vw,44px) 234px;z-index:2;display:grid;grid-template-columns:minmax(430px,.44fr) 1fr;align-items:center;gap:clamp(20px,4vw,58px);pointer-events:none}.story-panel{width:min(530px,100%);max-height:100%;display:flex;align-items:center;perspective:1200px;pointer-events:auto}.story-panel article{display:grid;width:100%;max-height:100%;overflow:hidden;padding:clamp(18px,2.4vw,28px);border:1px solid rgba(255,255,255,.18);border-radius:8px;background:linear-gradient(135deg,#ffffff24,#ffffff0f),#04120db3;box-shadow:0 34px 90px #00000057;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);transform-style:preserve-3d}.deep-button{display:inline-flex;width:fit-content;min-width:auto;height:38px;gap:8px;margin-top:14px;padding:0 13px;color:#06150f;background:var(--scene-accent);font-weight:900}.panel-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.scene-count,.chapter-chip{display:inline-flex;min-height:28px;align-items:center;padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#ffffffc7;background:#ffffff14;font-size:.72rem;font-weight:800}.chapter-icon{display:inline-grid;width:44px;height:44px;place-items:center;border-radius:8px;color:#06150f;background:var(--scene-accent);box-shadow:0 18px 50px color-mix(in srgb,var(--scene-accent),transparent 60%)}.range{margin:14px 0 8px;color:var(--scene-accent);font-size:.82rem;font-weight:900}h1,p{margin-top:0}.story-panel h1{display:-webkit-box;overflow:hidden;margin-bottom:14px;color:#fffdf5;font-size:clamp(1.55rem,2.7vw,3.35rem);line-height:1;letter-spacing:0;-webkit-box-orient:vertical;-webkit-line-clamp:4}.summary{display:-webkit-box;overflow:hidden;margin-bottom:16px;color:#ffffffd1;font-size:clamp(.95rem,1.3vw,1.08rem);line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.story-panel ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.story-panel li{position:relative;display:-webkit-box;overflow:hidden;padding-left:22px;color:#ffffffbd;line-height:1.36;-webkit-box-orient:vertical;-webkit-line-clamp:2}.story-panel li:before{position:absolute;top:.58em;left:0;width:8px;height:8px;border-radius:50%;background:var(--scene-accent);content:"";box-shadow:0 0 18px var(--scene-accent)}.panel-context{display:-webkit-box;overflow:hidden;margin:12px 0 0;color:#ffffffa8;font-size:.9rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.scene-title{align-self:end;justify-self:end;width:min(460px,100%);margin-bottom:14px;text-align:right;pointer-events:none}.scene-title p{margin-bottom:6px;color:#ffffff94;font-size:.78rem;font-weight:900}.scene-title strong{color:var(--scene-accent);font-size:clamp(2.4rem,8vw,7rem);font-weight:950;line-height:.86;text-shadow:0 22px 70px rgba(0,0,0,.5)}.guide-form button:disabled{cursor:not-allowed;opacity:.45}.guide-fab{position:absolute;right:clamp(18px,4vw,44px);bottom:178px;z-index:11;width:54px;height:54px;color:#06150f;background:var(--scene-accent);box-shadow:0 22px 60px color-mix(in srgb,var(--scene-accent),transparent 55%)}.guide-panel{position:absolute;top:92px;right:clamp(18px,4vw,44px);bottom:210px;z-index:24;width:min(520px,calc(100vw - 36px));overflow:auto;padding:18px;border:1px solid color-mix(in srgb,var(--scene-accent),white 18%);border-radius:8px;background:#04120de6;box-shadow:0 34px 90px #00000075;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.guide-intro{margin:0 0 14px;color:#ffffffad;line-height:1.45}.guide-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:12px}.guide-form input{width:100%;min-width:0;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:0 12px;color:#fffdf5;background:#ffffff14}.guide-form button{min-width:auto;padding:0 13px;font-size:.78rem;font-weight:900}.sample-questions{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.sample-questions button{width:auto;min-width:auto;height:auto;min-height:32px;padding:6px 9px;color:#ffffffd1;font-size:.72rem}.guide-answer{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff12}.guide-answer span{color:var(--scene-accent);font-size:.7rem;font-weight:900}.guide-answer h3{margin:7px 0 8px;font-size:1.15rem}.guide-answer p,.guide-answer em{margin:0;color:#ffffffc2;font-style:normal;line-height:1.52}.guide-answer em{display:block;margin-top:8px;color:#ffffff94}.related-stops{display:grid;gap:8px;margin-top:14px}.related-stops>strong{color:#ffffffb8;font-size:.78rem}.related-stops button{display:grid;height:auto;min-height:46px;justify-items:start;padding:8px 10px;text-align:left}.related-stops span{color:var(--scene-accent);font-size:.72rem;font-weight:950}.related-stops small{color:#ffffffc7;font-size:.82rem;font-weight:800}.timeline-nav{position:absolute;left:clamp(18px,4vw,44px);right:clamp(18px,4vw,44px);bottom:18px;z-index:8;padding:10px 14px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#04120da3;box-shadow:0 28px 80px #00000052;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.year-readout{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:9px}.year-readout span{color:var(--scene-accent);font-size:clamp(1.1rem,3vw,2rem);font-weight:950}.year-readout strong{color:#ffffffa6;font-size:.78rem}.scrub-track{position:relative;height:30px;margin:0 12px 8px;cursor:grab;touch-action:none}.scrub-track:active{cursor:grabbing}.scrub-track:before{position:absolute;top:50%;right:0;left:0;height:4px;transform:translateY(-50%);border-radius:999px;background:#ffffff29;content:""}.scrub-fill{position:absolute;top:50%;left:0;height:4px;transform:translateY(-50%);border-radius:999px;background:linear-gradient(90deg,#f3d47a,var(--scene-accent));box-shadow:0 0 26px var(--scene-accent);transition:width .52s cubic-bezier(.22,1,.36,1)}.scrub-knob{position:absolute;top:50%;display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:50%;transform:translate(-50%,-50%);background:#ffffff24;box-shadow:0 0 34px color-mix(in srgb,var(--scene-accent),transparent 35%);pointer-events:none}.scrub-year{position:absolute;top:-8px;display:inline-grid;min-width:46px;height:22px;place-items:center;border:1px solid color-mix(in srgb,var(--scene-accent),white 28%);border-radius:999px;color:#07140f;transform:translate(-50%);background:var(--scene-accent);box-shadow:0 10px 30px color-mix(in srgb,var(--scene-accent),transparent 45%);font-size:.68rem;font-weight:950;pointer-events:none}.scrub-knob span{width:13px;height:13px;border-radius:50%;background:var(--scene-accent)}.scrub-marker{position:absolute;top:50%;width:11px;height:11px;border:1px solid rgba(255,255,255,.35);border-radius:50%;transform:translate(-50%,-50%);background:#ffffff7a;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.scrub-marker:hover,.scrub-marker.active{transform:translate(-50%,-50%) scale(1.45);background:var(--scene-accent);box-shadow:0 0 24px var(--scene-accent)}.timeline-items{display:grid;grid-template-columns:repeat(var(--timeline-group-count),minmax(0,1fr));gap:5px;overflow-x:auto;padding:2px 0 4px;scrollbar-color:var(--scene-accent) transparent}.timeline-item{display:grid;min-width:0;min-height:58px;grid-template-rows:20px auto auto;justify-items:center;gap:2px;padding:6px 4px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#ffffffb8;background:#ffffff0e;cursor:pointer;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease}.timeline-item:hover,.timeline-item.active{transform:translateY(-4px);color:#fffdf5;border-color:color-mix(in srgb,var(--scene-accent),white 22%);background:color-mix(in srgb,var(--scene-accent),transparent 82%)}.timeline-item:focus-visible,.top-actions button:focus-visible,.drawer-head button:focus-visible,.viewer-privacy-trigger:focus-visible,.tour-mode-mini select:focus-visible,.guide-form input:focus-visible,.guide-form button:focus-visible,.guide-fab:focus-visible,.period-control button:focus-visible,.admin-header button:focus-visible,.admin-login button:focus-visible,.admin-login input:focus-visible,.reset-dialog button:focus-visible,.reset-dialog input:focus-visible,.dashboard-filters select:focus-visible{outline:2px solid rgba(255,255,255,.82);outline-offset:2px}.tick{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#ffffff1f}.timeline-item.active .tick{color:#05130e;background:var(--scene-accent);box-shadow:0 0 30px var(--scene-accent)}.timeline-year,.timeline-label{max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.timeline-year{font-size:.66rem;font-weight:950}.timeline-label{color:#ffffff8f;font-size:.56rem;font-weight:800}.hotspot-layer{position:absolute;inset:86px 0 170px;z-index:4;pointer-events:none}.hotspot{position:absolute;display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 10px 0 0;border-radius:999px;color:#fffdf5;background:#04120d94;cursor:pointer;pointer-events:auto;translate:-50% -50%;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hotspot-dot{position:relative;display:block;width:16px;height:16px;margin-left:9px;border-radius:50%;background:var(--scene-accent);box-shadow:0 0 24px var(--scene-accent)}.hotspot-pulse{position:absolute;left:9px;width:16px;height:16px;border:1px solid var(--scene-accent);border-radius:50%;animation:hotspot-pulse 1.8s ease-out infinite}.hotspot-label{font-size:.72rem;font-weight:850;white-space:nowrap}@keyframes hotspot-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}.detail-backdrop{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:18px;background:#02080673;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.detail-card{position:relative;width:min(620px,100%);max-height:min(78svh,720px);overflow:auto;padding:clamp(22px,4vw,38px);border:1px solid color-mix(in srgb,var(--scene-accent),white 20%);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--scene-accent),transparent 88%),#ffffff12),#04120de6;box-shadow:0 34px 90px #00000075}.detail-card p{margin-bottom:8px;color:var(--scene-accent);font-size:.75rem;font-weight:900}.detail-card h2{margin:0 0 10px;font-size:clamp(1.8rem,5vw,3.8rem);line-height:1}.detail-card>span{display:block;margin-bottom:20px;color:#fff9;font-weight:850}.detail-card strong,.detail-card em{display:block;color:#ffffffd6;font-style:normal;line-height:1.6}.detail-card em{margin-top:14px;color:#ffffffad}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.detail-grid section{min-width:0;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0e}.detail-grid h3{margin:0 0 10px;color:var(--scene-accent);font-size:.9rem;font-weight:850}.detail-grid p,.detail-grid li{color:#ffffffbd;font-size:.9rem;font-weight:550;line-height:1.52}.detail-grid ul{display:grid;gap:7px;margin:0;padding-left:18px}.detail-wide{grid-column:1 / -1}.expanded-hotspot-detail{max-height:min(46svh,480px);overflow-y:auto;padding-right:16px;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.expanded-copy{display:grid;gap:12px}.expanded-copy p{margin:0;color:#ffffffc7;font-size:.94rem;font-weight:520;line-height:1.68}.expanded-copy p:first-child{color:#ffffffe0;font-weight:750}.expanded-facts{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.expanded-facts h4{margin:0 0 10px;color:#ffffffdb;font-size:.82rem}.hotspot-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hotspot-list article{padding:10px;border-radius:8px;background:#ffffff0f}.hotspot-list span{display:block;margin-bottom:6px;color:#fffdf5;font-weight:900}.detail-close{position:sticky;top:0;right:0;z-index:2;float:right;min-width:36px;height:36px;margin:-8px -8px 8px 12px}.admin-login,.admin-page{min-height:100svh;color:#fffdf5;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(135deg,#07140f,#122016 46%,#141426);background-size:42px 42px,42px 42px,auto}.admin-login{display:grid;place-items:center;height:100svh;overflow:auto;padding:24px}.admin-login form{display:grid;width:min(420px,100%);gap:14px;padding:28px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#04120dc2;box-shadow:0 34px 90px #0000005c;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.admin-login h1{margin:0;font-size:clamp(1.7rem,5vw,2.7rem)}.admin-login p{margin:-8px 0 8px;color:#ffffffa3}.admin-login label,.dashboard-filters label{display:grid;gap:7px;color:#ffffffad;font-size:.72rem;font-weight:900}.admin-login input,.dashboard-filters select{height:42px;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:0 12px;color:#fffdf5;background:#ffffff14}.admin-login button{color:#06150f;background:#f4d47b;font-weight:950}.login-error{color:#ffb5a9;font-size:.84rem}.reset-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:#00000094;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.reset-dialog{position:relative;display:grid;width:min(460px,100%);gap:14px;padding:26px;border:1px solid rgba(255,181,169,.34);border-radius:8px;color:#fffdf5;background:#06110df5;box-shadow:0 34px 110px #0000008f}.reset-dialog>svg{color:#ffb5a9}.reset-dialog h2,.reset-dialog p{margin:0}.reset-dialog h2{font-size:clamp(1.55rem,4vw,2.2rem)}.reset-dialog p{color:#ffffffb3;line-height:1.55}.reset-dialog label{display:grid;gap:7px;color:#ffffffb8;font-size:.76rem;font-weight:900}.reset-dialog input{height:44px;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:0 12px;color:#fffdf5;background:#ffffff14}.reset-close{position:absolute;top:12px;right:12px;width:34px;min-width:34px;height:34px;padding:0}.reset-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.danger-action{border-color:#ffb5a96b!important;color:#ffe8e3!important;background:#9a322866!important}.danger-action:hover{background:#b83e318f!important}.admin-page{height:100svh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:clamp(18px,3vw,34px);padding-bottom:max(48px,env(safe-area-inset-bottom));scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.admin-header{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;max-width:1380px;margin:0 auto 18px}.admin-brand{display:inline-flex;align-items:center;gap:10px}.admin-brand span{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff7d6;background:#ffffff1a;font-weight:950}.admin-header p{margin:0 0 2px;color:#f4d47b;font-size:.72rem;font-weight:950}.admin-header h1{margin:0;font-size:clamp(1.7rem,4vw,3.4rem);line-height:1}.admin-header button{display:inline-flex;gap:8px;padding:0 13px}.admin-actions{display:inline-flex;align-items:center;gap:8px;justify-content:end}.privacy-popover{position:fixed;top:76px;right:clamp(14px,3vw,34px);z-index:50;width:min(380px,calc(100vw - 28px));padding:16px;border:1px solid rgba(244,212,123,.28);border-radius:8px;color:#ffffffc7;background:#06110df5;box-shadow:0 28px 90px #0000007a;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.privacy-popover-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:10px;color:#f4d47b}.privacy-popover-head button{width:34px;min-width:34px;height:34px;padding:0}.privacy-popover p{margin:0 0 10px;font-size:.86rem;line-height:1.55}.privacy-popover p:last-child{margin-bottom:0}.admin-command,.dashboard-filters,.dashboard-tiles,.dashboard-grid{max-width:1380px;margin-inline:auto}.admin-command{display:grid;grid-template-columns:minmax(260px,.34fr) 1fr;gap:14px;align-items:stretch;margin-bottom:14px}.admin-command>div,.dashboard-tabs{border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0f;box-shadow:0 18px 54px #0000002e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-command>div{display:grid;align-content:center;gap:5px;min-height:82px;padding:14px 16px}.admin-command span,.admin-command small{color:#ffffff9e;font-size:.72rem;font-weight:900}.admin-command strong{color:#fff7d6;font-size:clamp(1.8rem,3.6vw,3.2rem);line-height:.95}.dashboard-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px}.dashboard-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;height:62px;padding:0 10px;color:#ffffffbd;background:#ffffff0e;font-size:.78rem;font-weight:950}.dashboard-tabs button.active{color:#06150f;background:linear-gradient(135deg,#f4d47b,#76d8b2)}.dashboard-filters{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;gap:12px;align-items:end;margin-bottom:14px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0f}.dashboard-filters.without-period{grid-template-columns:repeat(2,minmax(160px,1fr))}.period-control{display:inline-flex;gap:7px}.period-control button{width:auto;min-width:72px;padding:0 12px;font-size:.78rem;font-weight:900}.period-control button.active{color:#06150f;background:#f4d47b}.dashboard-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.dashboard-tile,.dashboard-card{border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#fff1;box-shadow:0 24px 70px #00000038;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-tile{position:relative;overflow:hidden;min-height:118px;padding:16px}.dashboard-tile:after{position:absolute;right:0;bottom:0;left:0;height:3px;background:#f4d47b;content:""}.dashboard-tile>i{display:grid;width:34px;height:34px;margin-bottom:11px;place-items:center;border-radius:8px;color:#06150f;background:#f4d47b}.dashboard-tile.tone-teal>i,.dashboard-tile.tone-teal:after{background:#76d8b2}.dashboard-tile.tone-blue>i,.dashboard-tile.tone-blue:after{background:#7db8ff}.dashboard-tile.tone-coral>i,.dashboard-tile.tone-coral:after{background:#ef9d8f}.dashboard-tile.tone-mint>i,.dashboard-tile.tone-mint:after{background:#8fe3f0}.dashboard-tile.tone-violet>i,.dashboard-tile.tone-violet:after{background:#c8a7ff}.dashboard-tile span,.dashboard-tile small{display:block;color:#ffffff9e;font-size:.72rem;font-weight:900}.dashboard-tile strong{display:block;margin:9px 0 4px;color:#fff7d6;font-size:clamp(2rem,5vw,3.3rem);line-height:.94}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dashboard-grid.expanded{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.dashboard-card{min-width:0;padding:16px}.dashboard-grid.expanded .dashboard-card{grid-column:span 4}.dashboard-card.wide{grid-column:span 2}.dashboard-grid.expanded .dashboard-card.wide{grid-column:span 8}.dashboard-grid.expanded .drilldown-panel{position:sticky;top:16px;grid-column:span 4}.dashboard-card h2,.card-title h2{margin:0 0 12px;color:#f4d47b;font-size:.82rem;font-weight:950}.card-title{display:flex;align-items:center;gap:8px;color:#f4d47b}.pie-card-inner{display:grid;grid-template-columns:148px 1fr;gap:14px;align-items:center}.pie-visual{display:grid;width:148px;height:148px;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 18px #04120da3,0 18px 52px #0003}.pie-visual span{display:grid;width:78px;height:78px;place-items:center;border-radius:50%;color:#fff7d6;background:#04120de0;font-size:1.25rem;font-weight:950}.pie-legend,.rank-list,.event-list{display:grid;gap:8px}.pie-legend p,.rank-list p,.event-list p,.details-table p{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.09);color:#ffffffbd}.pie-legend i{width:10px;height:10px;border-radius:50%}.pie-legend span,.rank-list span,.event-list span,.details-table span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-chart svg{width:100%;height:auto;overflow:visible}.line-grid{stroke:#ffffff24;stroke-width:1}.line-path{fill:none;stroke:#f4d47b;stroke-linecap:round;stroke-linejoin:round;stroke-width:4;filter:drop-shadow(0 0 16px rgba(244,212,123,.42))}.line-chart circle{fill:#76d8b2;stroke:#07140f;stroke-width:2}.line-labels{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:#ffffff8f;font-size:.76rem;font-weight:850}.line-labels strong{color:#fff7d6}.line-labels span:last-child{text-align:right}.details-table{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.details-table p{display:grid;gap:4px;justify-content:stretch;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#ffffff0d}.event-list p{display:grid;grid-template-columns:150px 1fr auto}.event-list.compact p{grid-template-columns:auto 1fr}.event-list em{color:#ffffff85;font-style:normal}.empty-state{margin:0;padding:14px;border:1px dashed rgba(255,255,255,.14);border-radius:8px;color:#ffffff8f;font-weight:850}.metric-rank-list{display:grid;gap:8px}.metric-rank-list button{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:50px;width:100%;overflow:hidden;padding:9px 10px;color:#ffffffd1;text-align:left;background:#ffffff0f}.metric-rank-list button.active{outline:1px solid rgba(244,212,123,.72);background:#f4d47b1f}.metric-rank-list button>i{position:absolute;inset:auto auto 0 0;height:3px;max-width:100%;background:linear-gradient(90deg,#f4d47b,#76d8b2,#7db8ff)}.rank-index{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;color:#f4d47b;background:#ffffff12;font-size:.72rem;font-weight:950}.rank-copy{display:grid;min-width:0;gap:2px}.rank-copy strong,.rank-copy small,.rank-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-copy strong{color:#fffdf5;font-size:.9rem}.rank-copy small{color:#ffffff8a;font-size:.72rem;font-weight:850}.rank-value{color:#fff7d6;font-weight:950}.activity-heatmap{display:grid;grid-template-columns:repeat(24,minmax(8px,1fr));gap:5px;min-height:182px;align-items:end}.activity-heatmap div{display:grid;grid-template-rows:1fr 16px;gap:6px;min-width:0;height:100%}.activity-heatmap span{align-self:end;min-height:8px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#f4d47b,#76d8b2);box-shadow:0 0 22px #76d8b23d}.activity-heatmap small{color:#ffffff75;font-size:.62rem;font-weight:850;text-align:center}.data-table{display:grid;overflow:auto;border:1px solid rgba(255,255,255,.09);border-radius:8px}.data-table-head,.data-table-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(90px,.6fr) minmax(180px,1.4fr) minmax(150px,1fr);min-width:680px}.data-table-head span,.data-table-row span{min-width:0;padding:10px 12px;overflow:hidden;border-right:1px solid rgba(255,255,255,.08);text-overflow:ellipsis;white-space:nowrap}.data-table-head span:last-child,.data-table-row span:last-child{border-right:0}.data-table-head{position:sticky;top:0;z-index:1;color:#f4d47b;background:#ffffff14;font-size:.72rem;font-weight:950}.data-table-row{color:#ffffffb8;border-top:1px solid rgba(255,255,255,.08);font-size:.8rem}.data-table-row:hover{background:#ffffff0b}.drilldown-panel{display:grid;gap:14px}.drilldown-hero{display:grid;gap:5px;padding:14px;border:1px solid rgba(244,212,123,.16);border-radius:8px;background:linear-gradient(135deg,#f4d47b24,#7db8ff1a)}.drilldown-hero span,.drilldown-hero small{color:#ffffff9e;font-size:.72rem;font-weight:900;text-transform:capitalize}.drilldown-hero strong{color:#fff7d6;font-size:clamp(1.25rem,2.4vw,2rem);line-height:1.02}.drilldown-events{max-height:420px;overflow:auto;padding-right:2px}.drilldown-events p{grid-template-columns:.82fr 1fr}.drilldown-events em{grid-column:1 / -1;font-size:.72rem}.details-table.stacked{grid-template-columns:1fr;margin:0}.timeline-item.active .timeline-label{color:#ffffffd1}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.drawer-head button{min-width:auto;height:34px;padding:0 10px;font-size:.78rem}@media(max-width:1180px){.single-view{min-height:650px}.viewport-main{inset:76px 18px 224px;grid-template-columns:minmax(300px,.46fr) 1fr}.story-panel h1{font-size:clamp(1.8rem,4vw,3.2rem)}}@media(max-width:760px){.single-view{min-height:100svh;--mobile-header-space: 126px;--mobile-scene-height: clamp(184px, 34svh, 300px);--mobile-timeline-space: 118px}.topbar{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:8px 10px;background:linear-gradient(180deg,rgba(4,18,13,.92),rgba(4,18,13,.54) 76%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.identity span{width:34px;height:34px;font-size:.82rem}.identity{width:100%;gap:10px}.identity strong{max-width:none;overflow:visible;font-size:.88rem;line-height:1.1;text-overflow:clip;white-space:normal}.topbar-spacer{display:none}.top-actions{display:grid;width:100%;max-width:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;direction:ltr;overflow:visible}.top-actions button{width:100%;min-width:0;height:32px}.language-mini,.tour-mode-mini{width:100%;min-width:0;height:32px;justify-content:center;padding:0 5px}.language-trigger{width:100%;min-width:0;height:32px;padding:0 5px}.language-trigger span{min-width:0;font-size:.7rem}.language-menu{position:fixed;top:calc(var(--mobile-header-space) + 8px);right:10px;left:10px;width:auto;max-height:min(420px,calc(100svh - var(--mobile-header-space) - var(--mobile-timeline-space) - 18px));direction:ltr}.tour-mode-mini select{width:100%;min-width:0;font-size:.7rem}.play-action{order:1}.previous-action{order:2}.next-action{order:3}.sound-action{order:4}.guide-action{order:5}.language-mini{order:6}.tour-mode-mini{order:7;grid-column:span 2}.restart-action{order:8}.zoom-action{order:9}.visitor-badge{top:calc(var(--mobile-header-space) + 8px);bottom:auto;left:14px;font-size:.62rem}.viewer-privacy{top:calc(var(--mobile-header-space) + 6px);right:14px;bottom:auto}.scene-frame{top:var(--mobile-header-space);right:10px;bottom:auto;left:10px;height:var(--mobile-scene-height);overflow:visible}.cinema-canvas{overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#04120d9e;box-shadow:0 18px 50px #00000047}.viewport-main{top:calc(var(--mobile-header-space) + var(--mobile-scene-height) + 8px);right:10px;bottom:var(--mobile-timeline-space);left:10px;display:flex;align-items:flex-start;gap:0}.story-panel{width:100%;max-height:100%;align-items:flex-start}.story-panel article{max-height:min(148px,calc(100svh - var(--mobile-header-space) - var(--mobile-scene-height) - var(--mobile-timeline-space) - 16px));overflow:hidden;padding:10px 11px;background:#04120dd1;box-shadow:0 16px 44px #00000047}.panel-meta{display:none}.chapter-chip{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-icon{display:none}.range{margin:0 0 5px;font-size:.7rem}.story-panel h1{margin-bottom:6px;font-size:1.18rem;line-height:1.05;-webkit-line-clamp:2}.summary{margin-bottom:0;display:-webkit-box;overflow:hidden;font-size:.78rem;line-height:1.28;-webkit-box-orient:vertical;-webkit-line-clamp:2}.deep-button{height:30px;margin-top:8px;padding:0 9px;font-size:.74rem}.story-panel ul,.panel-context,.scene-title{display:none}.timeline-nav{left:10px;right:10px;bottom:8px;padding:7px 9px 6px}.year-readout{margin-bottom:3px}.year-readout span{font-size:.92rem}.year-readout strong{overflow:hidden;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.scrub-track{height:24px;margin:0 12px 4px}.timeline-items{display:flex;gap:7px;padding-right:22px;scroll-padding-inline:10px 22px}.timeline-item{flex:0 0 70px;min-height:50px;grid-template-rows:20px auto auto;padding:5px}.tick{width:20px;height:20px}.timeline-year{font-size:.72rem}.timeline-label{font-size:.58rem}.hotspot-layer{inset:0}.scrub-marker{width:7px;height:7px;opacity:.42}.scrub-marker.active{opacity:1}.hotspot{max-width:min(148px,45vw);min-height:28px;gap:6px;padding:4px 8px 4px 0;background:#04120dc7;box-shadow:0 10px 28px #00000047}.hotspot-label{display:block;overflow:hidden;font-size:.66rem;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.hotspot-dot,.hotspot-pulse{width:14px;height:14px}.vignette{background:linear-gradient(180deg,#030a08b8,#030a081f 30%,#030a08c2 74%,#030a08f2),linear-gradient(90deg,#030a08ad,#030a0814,#030a0866)}.guide-fab{display:none}.guide-panel{top:auto;right:10px;bottom:calc(var(--mobile-timeline-space) + 10px);width:calc(100vw - 20px);max-height:calc(100svh - var(--mobile-header-space) - var(--mobile-timeline-space) - 18px);padding:14px}.guide-form button[type=submit]{grid-column:1 / -1}.sample-questions{max-height:82px;overflow:auto}.detail-card{width:100%;max-height:calc(100svh - 20px);padding:16px;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.detail-close{top:0;min-width:38px;height:38px;margin:-4px -4px 8px 12px}.detail-card h2{padding-right:4px;font-size:1.7rem}.detail-grid,.hotspot-list,.dashboard-filters,.dashboard-tiles,.dashboard-grid,.details-table,.admin-header{grid-template-columns:1fr}.admin-actions{justify-content:stretch}.admin-actions button{flex:1}.privacy-popover{top:16px;right:10px;left:10px;width:auto;max-height:calc(100svh - 32px);overflow:auto}.viewer-privacy .privacy-popover{inset:40px 0 auto auto;width:min(360px,calc(100vw - 28px))}.admin-command{grid-template-columns:1fr}.dashboard-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-tabs button{height:48px}.dashboard-grid.expanded,.dashboard-grid.expanded .dashboard-card,.dashboard-grid.expanded .dashboard-card.wide,.dashboard-grid.expanded .drilldown-panel{position:static;grid-column:span 1;grid-template-columns:1fr}.activity-heatmap{min-height:150px;gap:3px}.metric-rank-list button{grid-template-columns:32px minmax(0,1fr) auto}.data-table-head,.data-table-row{min-width:620px}.dashboard-card.wide{grid-column:span 1}.pie-card-inner,.event-list p{grid-template-columns:1fr}}@media(max-width:760px)and (max-height:600px){.story-panel article{padding:8px 10px}.story-panel h1{margin-bottom:0;font-size:1.02rem;-webkit-line-clamp:1}.summary{display:none}.deep-button{height:28px;margin-top:7px}}@media(max-height:720px)and (min-width:761px){.viewport-main{top:70px}.story-panel article{padding:20px}.story-panel h1{font-size:clamp(1.6rem,3.6vw,3rem)}.summary{font-size:.9rem}.story-panel ul{gap:6px}.timeline-item{min-height:66px}}@media(min-width:1500px)and (pointer:coarse){.top-actions button,.guide-fab{min-width:56px;height:56px}.timeline-item{min-height:82px}.timeline-label{font-size:.66rem}.guide-panel,.dashboard-card,.detail-card{font-size:1.08rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
