:root{--primary-color: #2c3e50;--accent-color: #3498db;--accent-dark: #2980b9;--background-color: #ffffff;--surface-color: #ffffff;--text-primary: #363636;--text-secondary: #6c757d;--border-color: #e0e0e0;--error-color: #e74c3c;--success-color: #2ecc71;--hero-gradient-start: #1a1a2e;--hero-gradient-end: #16213e;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--font-family: "Noto Sans", "Google Sans", sans-serif;--font-family-heading: "Google Sans", "Noto Sans", sans-serif;--font-size-base: 16px;--font-size-sm: .875rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--radius-pill: 999px;--shadow-sm: 0 2px 10px rgba(0, 0, 0, .06);--shadow-md: 0 2px 10px rgba(0, 0, 0, .06);--shadow-lg: 0 6px 20px rgba(0, 0, 0, .1);--ucr-blue: #003da5;--ucr-gold: #ffb81c}[hidden]{display:none!important}*{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--font-size-base);scroll-behavior:smooth;scroll-padding-top:60px}body{font-family:var(--font-family);background-color:var(--background-color);color:var(--text-primary);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-sm);color:var(--primary-color)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}p{margin-bottom:var(--spacing-sm)}a{color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-color);text-decoration:underline}.container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-md);width:100%}.navbar{background-color:#fffffff7;box-shadow:0 2px 8px #00000014;z-index:100}.navbar.is-fixed-top{position:fixed;top:0;left:0;right:0}.navbar-item{font-size:.9rem;font-weight:500;color:var(--primary-color);transition:color .2s}.navbar-item:hover,.navbar-item.is-active{color:var(--accent-color)!important;background-color:transparent!important}.navbar-brand .navbar-item{font-weight:700;font-size:1.1rem;letter-spacing:.5px}.navbar-brand .site-logo{max-height:2rem;width:auto;margin-right:.5rem}@media screen and (max-width:900px){.navbar>.container{display:block}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px #0a0a0a1a;padding:.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-top .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}}@media screen and (min-width:901px){.navbar,.navbar-end,.navbar-menu,.navbar-start{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar>.container{display:flex}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}}.panel-dark{background:linear-gradient(135deg,var(--hero-gradient-start) 0%,var(--hero-gradient-end) 50%,#0a3d62 100%);padding:var(--spacing-xl) 0;position:relative;overflow:hidden}.panel-dark:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='1.5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.panel-dark>.container{position:relative}.main-content{flex:1;padding:52px 0 var(--spacing-xl)}.main-content>.container:first-child{padding-top:var(--spacing-lg)}.panel-dark:last-child{margin-bottom:calc(-1 * var(--spacing-xl))}section{margin-bottom:var(--spacing-xl)}.visualizations-section h2,.instructions-section h3{position:relative;padding-bottom:.5rem}.visualizations-section h2:after,.instructions-section h3:after{content:"";display:block;width:60px;height:3px;background:var(--accent-color);border-radius:2px;margin-top:.6rem}.visualizations-section h2:after{margin-left:auto;margin-right:auto}.intro-section{text-align:center;width:100%;margin:0 auto var(--spacing-xl);padding:var(--spacing-lg);background-color:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.dataset-download{margin-top:var(--spacing-lg);padding:var(--spacing-md);background-color:#3498db14;border-radius:var(--radius-md);border-left:4px solid var(--accent-color)}.download-link{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--primary-color);color:#fff;border-radius:var(--radius-pill);font-weight:600;margin-top:var(--spacing-sm);transition:all .2s ease}.download-link:hover{background-color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-lg);text-decoration:none}.visualizations-section h2{text-align:center;margin-bottom:var(--spacing-lg)}.viewer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.viewer-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.viewer-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.viewer-header{padding:var(--spacing-md);background:linear-gradient(135deg,#3498db14,#2c3e500d);border-bottom:1px solid var(--border-color)}.viewer-title{color:var(--primary-color);font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs)}.viewer-description{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.viewer-container{position:relative;height:85vh;min-height:400px;background-color:#000}.viewer-container iframe{display:block;width:100%;height:100%;border:0}.viewer-footer{padding:var(--spacing-md);display:flex;justify-content:flex-end;gap:var(--spacing-sm);border-top:1px solid var(--border-color)}.viewer-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#000c;gap:var(--spacing-md)}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.15);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.viewer-error{text-align:center;padding:var(--spacing-lg)}.error-icon{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm)}.error-message{color:var(--error-color);font-weight:600;font-size:var(--font-size-lg)}.error-detail{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.btn-reload,.btn-download{padding:var(--spacing-sm) var(--spacing-md);background-color:#fff;color:var(--primary-color);border:1px solid var(--border-color);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.btn-reload:hover,.btn-download:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;text-decoration:none}.instructions-section{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);width:100%;margin:0 auto;box-shadow:var(--shadow-sm)}.instructions-section h3{color:var(--primary-color);margin-bottom:var(--spacing-md)}.instructions-list{list-style:none;padding:0}.instructions-list li{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);background-color:var(--background-color);border-left:3px solid var(--accent-color);border-radius:var(--radius-sm);border-top:1px solid var(--border-color);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.instructions-list strong{color:var(--primary-color);margin-right:var(--spacing-xs)}.site-footer{background-color:var(--primary-color);padding:var(--spacing-lg) 0;margin-top:auto;text-align:center;color:#ffffffb3}.site-footer a{color:#ffffffe6}.site-footer a:hover{color:#fff}.footer-brand{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.footer-logo-link{display:inline-block;background-color:#fff;padding:.6rem 1rem;border-radius:var(--radius-md)}.footer-logo{display:block;height:48px;width:auto}.footer-institution{margin:0}.footer-institution a{color:#fff;font-weight:600}.footer-attribution{color:#ffffffbf;max-width:720px;margin:0 auto var(--spacing-xs)}.footer-meta{color:#fff9;font-size:var(--font-size-sm);margin:0}.collab-intro{text-align:center;font-size:var(--font-size-lg);color:var(--text-secondary);max-width:800px;margin:0 auto var(--spacing-xl);line-height:1.8}.collab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-lg);max-width:960px;margin:0 auto}.collab-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.collab-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.collab-role{color:var(--accent-color);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--spacing-xs)}.collab-card h3{margin-bottom:var(--spacing-sm)}.collab-card p:last-child{color:var(--text-secondary);margin-bottom:0}@media(max-width:768px){:root{--font-size-base: 14px;--spacing-xl: 2rem}.viewer-grid{grid-template-columns:1fr}.viewer-container{min-height:400px}.panel-dark{padding:var(--spacing-lg) 0}}.hero-section{text-align:center;padding:var(--spacing-xl) 0;margin-bottom:var(--spacing-xl)}.hero-section h2{color:var(--primary-color);margin-bottom:var(--spacing-md)}.hero-description{font-size:var(--font-size-lg);color:var(--text-secondary);max-width:800px;margin:0 auto;line-height:1.8}.scenes-section{margin-bottom:var(--spacing-xl)}.scene-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.scene-card{background:linear-gradient(135deg,var(--hero-gradient-start) 0%,var(--hero-gradient-end) 100%);border:1px solid transparent;border-top:3px solid var(--accent-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .2s ease;display:flex;flex-direction:column}.scene-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-dark)}.scene-card-link{display:block;text-decoration:none}.scene-card-thumbnail{width:100%;height:220px;object-fit:cover;background:linear-gradient(135deg,var(--hero-gradient-start) 0%,var(--hero-gradient-end) 100%);display:flex;align-items:center;justify-content:center;color:#ffffffb3;font-size:var(--font-size-sm)}.scene-card-thumbnail img{width:100%;height:100%;object-fit:cover}.scene-card-footer{padding:var(--spacing-sm) var(--spacing-md);background-color:#ffffff0a;border-top:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-top:auto}.scene-card-title{color:#fff;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-card-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.scene-btn{display:inline-block;padding:.3rem .75rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s ease}.scene-btn-view{background:#fff;color:var(--primary-color);box-shadow:0 2px 6px #00000040}.scene-btn-view:hover{background:var(--accent-color);color:#fff;box-shadow:0 4px 10px #0000004d;text-decoration:none}.scene-btn-download{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}.scene-btn-download:hover{background:#fff;color:var(--primary-color);border-color:#fff;text-decoration:none}.signin-hint{text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-xs) 0}.viewer-tips{text-align:center;color:var(--text-secondary);font-size:.85rem;margin-top:var(--spacing-xs)}.viewer-page .scene-info{text-align:center;margin-bottom:var(--spacing-lg)}#scene-title{text-transform:uppercase;letter-spacing:.02em}.scene-description{color:var(--text-secondary);font-size:var(--font-size-lg);margin-top:var(--spacing-sm)}.viewer-section{margin-bottom:var(--spacing-lg);width:100%;padding:0}.viewer-section .viewer-container{width:100%;min-height:600px;background-color:#000;border-radius:0;overflow:hidden;border:none;border-top:2px solid var(--border-color);border-bottom:2px solid var(--border-color);box-shadow:none;position:relative}.loading-indicator{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#000000e6;gap:var(--spacing-md)}.loading-indicator p{color:#ffffffbf;font-size:var(--font-size-lg);margin:0}.viewer-actions{margin-bottom:var(--spacing-lg)}.actions-row{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.btn i,.btn-reload i,.btn-download i{margin-right:.4em}.btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-pill);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;border:none}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-lg);text-decoration:none}.btn-secondary{background-color:#fff;color:var(--primary-color);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;text-decoration:none}@media(max-width:768px){.scene-cards-grid{grid-template-columns:1fr}.download-cards-grid{flex-direction:column}.download-card{flex:1 1 auto}.viewer-section .viewer-container{min-height:400px}.actions-row{flex-direction:column}.btn{width:100%;text-align:center}}@media print{.navbar,.site-footer,.btn-reload,.viewer-actions{display:none}.viewer-container{min-height:400px}}.download-cards-grid{display:flex;gap:var(--spacing-sm)}.download-card{flex:1 1 0;min-width:0;background-color:var(--surface-color);border:1px solid var(--border-color);border-top:3px solid var(--accent-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);transition:transform .2s ease,box-shadow .2s ease}.download-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.download-card-title{color:var(--primary-color);font-size:.95rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem}.download-card-size{font-size:.7rem;font-weight:600;color:var(--accent-color);background:#3498db1a;border:1px solid rgba(52,152,219,.35);border-radius:var(--radius-pill);padding:.1rem .5rem;white-space:nowrap}.download-btn{display:inline-block;text-align:center;padding:.35rem .8rem;border-radius:var(--radius-pill);background:var(--accent-color);color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;box-shadow:0 2px 6px #3498db59;transition:all .2s ease}.download-btn:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 4px 10px #3498db73;text-decoration:none}.download-total{text-align:right;font-size:.8rem;font-style:italic;color:var(--text-secondary);margin:1.5rem 0 0}.download-total:empty{display:none}
