:root{font-family:Inter,"Segoe UI",sans-serif;color:#edf8fa;background:#071929;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #a6f0e5;outline-offset:3px}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#scene,.screen-shade{position:fixed;inset:0}#scene canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#scene canvas:active{cursor:grabbing}.screen-shade{pointer-events:none;background:linear-gradient(180deg,rgba(5,19,29,.35),transparent 19%,transparent 78%,rgba(6,23,32,.25))}
.topbar{position:fixed;z-index:10;left:0;right:0;top:0;height:74px;padding:8px 22px;display:flex;align-items:center;gap:22px;background:linear-gradient(180deg,rgba(6,22,34,.94),rgba(11,37,53,.78));border-bottom:1px solid rgba(206,243,241,.18)}.brand{border:0;background:transparent;padding:0;width:124px;height:60px}.brand img{display:block;width:100%;height:100%;object-fit:contain}.topbar-title{font-size:10px;letter-spacing:.18em;font-weight:700;color:#d2e8e9;white-space:nowrap}.divider{padding:0 7px;color:#85a7a9}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a4ead7;box-shadow:0 0 10px #a4ead7;margin-right:8px}.header-actions{margin-left:auto;display:flex;gap:8px}.header-button,.utility-button,.help-button{border:1px solid rgba(210,239,239,.3);border-radius:6px;color:#edf8fa;background:rgba(12,39,51,.7);padding:10px 13px;font-size:11px;font-weight:600;white-space:nowrap}.header-button:hover,.utility-button:hover,.help-button:hover{background:#235164}.sound-icon{font-size:15px;margin-right:7px;color:#a9e8d8}
.welcome{position:fixed;z-index:4;inset:74px 0 0;display:flex;align-items:center;padding:4vw 8vw}.welcome-card{max-width:650px;border-left:2px solid #8ee7d6;padding:34px 40px;background:linear-gradient(90deg,rgba(10,38,51,.94),rgba(11,44,56,.75) 75%,rgba(10,44,55,.48));box-shadow:0 26px 75px rgba(0,15,27,.22)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.18em;color:#b4dedb;display:flex;align-items:center;gap:12px}.eyebrow span:last-child{color:#82a8ab}.line{width:30px;height:1px;background:#99e4d2}.welcome h1{font-family:Georgia,serif;font-size:clamp(48px,6.2vw,93px);line-height:.98;letter-spacing:-.045em;font-weight:400;margin:26px 0 24px}.welcome h1 em,.collection h2 em{font-style:italic;color:#b9ebe0}.welcome p{font-size:15px;line-height:1.65;color:#d4e6e7;max-width:430px;margin-bottom:30px}.welcome-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.primary{padding:15px 19px;border:0;border-radius:3px;background:#c5f2e5;color:#123d40;font-weight:750;font-size:12px;letter-spacing:.02em;min-width:180px;text-align:left}.primary span{float:right}.primary:hover{background:white}.text-button{background:none;border:0;color:#eef9f6;padding:10px 0;border-bottom:1px solid rgba(226,252,248,.55);font-size:12px;font-weight:650}.welcome-meta{display:flex;gap:22px;margin-top:42px;color:#a6c9c9;font-size:9px;letter-spacing:.15em;font-weight:700}.concept-note{position:absolute;bottom:40px;right:5vw;display:flex;gap:12px;align-items:center;padding:14px 18px;background:rgba(6,28,39,.75);border:1px solid rgba(223,255,246,.23);border-radius:4px}.concept-note b,.concept-note small{display:block}.concept-note b{font-size:12px}.concept-note small{margin-top:4px;font-size:10px;color:#b8d3d5}.sparkle{font-size:24px;color:#adf1dc}
.collection{position:fixed;z-index:5;top:90px;bottom:88px;left:16px;width:277px;display:flex;flex-direction:column;background:rgba(10,36,47,.94);border:1px solid rgba(198,238,232,.24);box-shadow:0 12px 45px rgba(10,33,44,.18);padding:18px 17px 12px;border-radius:5px}.collection-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.14em;color:#b4d3d2;font-weight:700}.collection-head button,.show-collection{border:0;background:transparent;color:#c9eee5;font-size:11px;font-weight:700}.collection-head button{padding:5px 0}.collection-head button span{font-size:18px;vertical-align:-1px;margin-left:4px}.collection h2{font-family:Georgia,serif;font-weight:400;font-size:31px;line-height:1.02;margin:19px 0 9px;letter-spacing:-.025em}.collection p{font-size:11px;line-height:1.5;color:#b2cbcb;margin:0 0 13px}.station-list{overflow:auto;min-height:0;border-top:1px solid rgba(197,230,229,.14);scrollbar-color:#547e82 transparent;scrollbar-width:thin}.station{display:flex;width:100%;gap:11px;text-align:left;padding:12px 3px;border:0;border-bottom:1px solid rgba(197,230,229,.14);background:transparent;color:#e8f7f5;align-items:center}.station:hover,.station.active{color:#c7f4e1;background:rgba(149,215,201,.06)}.station-number{font-size:10px;color:#83aaa9}.station-text{min-width:0;flex:1}.station-text b,.station-text small{display:block}.station-text b{font-size:11px}.station-text small{font-size:9px;letter-spacing:.05em;color:#99b9ba;margin-top:4px}.station-arrow{font-size:14px;color:#a7dbd0}.collection-foot{font-size:9px;letter-spacing:.15em;color:#a6c8c6;font-weight:700;padding-top:14px}.show-collection{position:fixed;z-index:5;left:16px;top:92px;padding:11px 13px;border:1px solid #9ec9c4;background:rgba(10,36,47,.94);border-radius:4px}.show-collection span{font-size:18px;margin-right:6px}
.gallery-caption{position:fixed;top:105px;right:26px;z-index:3;text-align:right;color:#143745;text-shadow:0 1px 10px #d4f5f0}.gallery-caption span,.gallery-caption b,.gallery-caption small{display:block}.gallery-caption span{font-size:9px;letter-spacing:.16em;font-weight:800}.gallery-caption b{font:italic 26px Georgia,serif;margin:6px 0}.gallery-caption small{font-size:10px}.bottom-left{position:fixed;z-index:3;bottom:23px;left:24px;display:flex;gap:10px;align-items:center;color:white;text-shadow:0 1px 5px #1a3841}.bottom-left b,.bottom-left small{display:block}.bottom-left b{font-size:11px}.bottom-left small{font-size:10px;margin-top:4px}.guide-symbol{font-size:26px;color:#c8ffed}.bottom-actions{position:fixed;z-index:4;right:20px;bottom:21px;display:flex;gap:7px}.help-button{width:38px;font-size:16px;padding:7px}.touch-controls{position:fixed;z-index:4;left:50%;transform:translateX(-50%);bottom:16px;display:flex;align-items:center;gap:5px}.touch-controls span{display:flex;flex-direction:column;gap:4px}.touch-controls button{touch-action:none;background:rgba(10,39,49,.78);border:1px solid rgba(210,239,239,.35);color:white;border-radius:5px;width:35px;height:31px}.touch-controls button:active{background:#367865}
.drawer-backdrop,.dialog-backdrop{position:fixed;inset:0;z-index:20;background:rgba(3,19,27,.5)}.drawer{position:fixed;z-index:21;top:0;right:0;bottom:0;width:min(480px,100%);overflow-y:auto;background:#f2f8f6;color:#193746;box-shadow:-10px 0 50px rgba(4,24,33,.3)}.drawer-top{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cedfdd;color:#668382;font-size:10px;font-weight:800;letter-spacing:.16em}.close{border:0;background:none;font-size:28px;line-height:1;color:inherit}.drawer-body{padding:28px 32px 45px}.drawer-eyebrow{font-size:10px;letter-spacing:.16em;color:#4f8d81;font-weight:800}.drawer h2,.about-dialog h2{font:normal 43px/1.05 Georgia,serif;letter-spacing:-.035em;margin:14px 0}.drawer-lead{color:#69817f;font-size:13px;line-height:1.5}.drawer-image{width:100%;max-height:230px;object-fit:cover;margin-top:12px}.image-caption{font-size:10px;color:#6e8585;line-height:1.5}.tabs{display:flex;gap:15px;border-bottom:1px solid #cbdeda;margin-top:23px}.tab{padding:10px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:#617a79;font-size:12px;font-weight:700}.tab.active{color:#1b695e;border-bottom-color:#3e9d8c}.tab-panel p{line-height:1.65;font-size:13px;color:#385c61}.source-link{display:block;margin:12px 0;color:#176d64;font-size:12px;font-weight:700;line-height:1.4}.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#cfdfda;margin-top:20px}.fact{background:#e7f0ed;padding:13px}.fact small,.fact b{display:block}.fact small{font-size:10px;color:#6e8b87;margin-bottom:6px}.fact b{font-size:12px;line-height:1.4}.video-frame{width:100%;aspect-ratio:16/9;border:0;margin-top:20px}.media-note{font-size:11px!important;color:#6c8583!important}.dialog-backdrop{display:grid;place-items:center;padding:20px}.about-dialog{position:relative;color:#24444d;background:#f1f8f5;width:min(540px,100%);padding:34px;border-radius:5px}.about-dialog .close{position:absolute;right:20px;top:17px}.about-dialog .eyebrow{color:#478b7e}.about-dialog p{font-size:13px;line-height:1.6;color:#426363}.about-dialog .primary{margin-top:10px;background:#277f70;color:white}.fallback{position:fixed;z-index:30;top:90px;right:20px;padding:20px;background:#f3f8f6;color:#234351;border-radius:5px;max-width:320px}.fallback p{font-size:12px}
@media(max-width:700px){.topbar{height:64px;padding:6px 10px;gap:8px}.brand{width:96px;height:50px}.topbar-title{display:none}.header-actions{gap:5px}.header-button{padding:9px;font-size:10px}.welcome{inset:64px 0 0;padding:18px;align-items:flex-start}.welcome-card{margin-top:8vh;padding:24px 20px;max-width:100%}.welcome h1{font-size:clamp(43px,12vw,70px);margin:19px 0}.welcome p{font-size:13px}.welcome-actions{gap:12px}.welcome-meta{flex-direction:column;gap:8px;margin-top:25px}.concept-note{bottom:20px;right:16px}.collection{top:76px;bottom:165px;width:min(270px,80vw);left:10px}.collection h2{font-size:26px;margin:12px 0 6px}.collection p{margin-bottom:9px}.show-collection{top:76px;left:10px}.gallery-caption{right:14px;top:82px}.gallery-caption b{font-size:20px}.gallery-caption small{font-size:9px}.bottom-left{display:none}.bottom-actions{bottom:95px;right:10px;gap:4px}.utility-button{font-size:10px;padding:8px}.touch-controls{bottom:15px}.drawer-body{padding:24px}.drawer h2{font-size:36px}}@media(max-height:570px){.collection h2,.collection p,.collection-foot{display:none}.collection{bottom:83px}.welcome h1{font-size:45px;margin:12px 0}.welcome-card{padding:17px 22px}.welcome-meta{margin-top:15px}.concept-note{display:none}}
.reference-link{font-size:11px;font-weight:650;color:#d9f5ed;text-decoration:none;border-bottom:1px solid rgba(226,252,248,.45);padding:10px 0}.gallery-caption{color:#e5fbf6;text-shadow:0 1px 9px #051321;background:rgba(8,30,43,.56);padding:10px 14px;border-radius:4px}.gallery-caption small{color:#d2e7e6}
