@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Spectral:ital,wght@0,300;0,400;1,300&family=Archivo:wght@400;500;600&display=swap");:root{--wall:#17140f;--wall-deep:#0e0c08;--linen:#eae3d4;--linen-dim:#b9b0a0;--brass:#b08d3e;--brass-bright:#d4b568;--oxblood:#7b2d26;--placard:#f2ecdd;--placard-ink:#241f18;--hairline:hsla(41,34%,87%,.14);--font-display:"Cormorant Garamond","Palatino Linotype",serif;--font-body:"Spectral",Georgia,serif;--font-label:"Archivo","Helvetica Neue",sans-serif}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overscroll-behavior:none}body{background:var(--wall);color:var(--linen);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--linen-dim)}.label,button{font-family:var(--font-label)}button{cursor:pointer}::selection{background:var(--brass);color:var(--wall-deep)}.atlas-shell{position:fixed;inset:0;overflow:hidden}.atlas-canvas{position:absolute;inset:0;cursor:-webkit-grab;cursor:grab;touch-action:none;background:radial-gradient(1200px 700px at 50% -10%,hsla(43,56%,62%,.06),transparent 60%),var(--wall)}.atlas-canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.atlas-world{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.picture-light{inset:0;z-index:2;background:radial-gradient(420px 320px at var(--mx,50%) var(--my,40%),hsla(43,56%,62%,.1),transparent 70%);transition:opacity .6s ease}.atlas-topbar,.picture-light{position:absolute;pointer-events:none}.atlas-topbar{top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 26px;background:linear-gradient(rgba(14,12,8,.85),transparent)}.atlas-topbar>*{pointer-events:auto}.atlas-title{font-family:var(--font-display);font-size:26px;font-weight:500;letter-spacing:.04em}.atlas-title em{color:var(--brass-bright);font-style:italic}.era-axis{position:absolute;bottom:0;left:0;right:0;height:44px;z-index:10;border-top:1px solid var(--hairline);background:linear-gradient(transparent,rgba(14,12,8,.9));pointer-events:none}.era-tick{position:absolute;bottom:10px;transform:translateX(-50%);font-family:var(--font-label);font-size:10px;letter-spacing:.18em;color:var(--linen-dim)}.era-tick:before{content:"";position:absolute;left:50%;bottom:22px;width:1px;height:12px;background:var(--hairline)}.band{position:absolute;border-radius:3px;display:flex;align-items:center;padding:0 18px;overflow:hidden;cursor:pointer;transition:filter .35s ease,outline-color .35s ease;outline:1px solid transparent;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25),0 8px 30px rgba(0,0,0,.35)}.band:hover{filter:brightness(1.25) saturate(1.1);outline-color:hsla(43,56%,62%,.5)}.band-name{font-family:var(--font-display);font-weight:500;white-space:nowrap;color:rgba(20,16,10,.92);mix-blend-mode:plus-lighter;color:var(--placard);text-shadow:0 1px 6px rgba(0,0,0,.5)}.band-dates{font-family:var(--font-label);font-size:9px;letter-spacing:.2em;margin-left:12px;opacity:.75;color:var(--placard)}.band-dim{filter:brightness(.4) saturate(.4);pointer-events:none}.node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;z-index:5}.node-dot{width:46px;height:46px;border-radius:50%;background-size:cover;background-position:50%;background-color:var(--wall-deep);border:1px solid var(--brass);box-shadow:0 0 0 3px rgba(14,12,8,.85),0 6px 18px rgba(0,0,0,.5);transition:transform .25s ease,box-shadow .25s ease}.node:hover .node-dot{transform:scale(1.18);box-shadow:0 0 0 3px hsla(43,56%,62%,.35),0 10px 26px rgba(0,0,0,.6)}.node-name{font-size:10px;letter-spacing:.1em;color:var(--linen);background:rgba(14,12,8,.75);padding:3px 8px;border-radius:2px;white-space:nowrap}.node-name,.node-years{font-family:var(--font-label)}.node-years{font-size:9px;color:var(--linen-dim);letter-spacing:.15em}.node-star .node-dot{width:12px;height:12px;border:none;background:var(--brass-bright);box-shadow:0 0 12px 3px hsla(43,56%,62%,.55),0 0 40px 10px hsla(43,56%,62%,.12)}.node-star:hover .node-dot{transform:scale(1.6)}.chrome-row{display:flex;gap:12px;align-items:center}.chip{background:hsla(41,34%,87%,.06);border:1px solid var(--hairline);color:var(--linen);border-radius:2px;padding:9px 16px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;transition:border-color .25s,background .25s}.chip:hover{border-color:var(--brass);background:rgba(176,141,62,.12)}.chip[data-active=true]{border-color:var(--brass-bright);color:var(--brass-bright);background:rgba(176,141,62,.14)}.filter-panel{position:absolute;top:64px;right:26px;width:340px;max-height:62vh;background:rgba(20,17,12,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--hairline);border-radius:3px;z-index:30;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 70px rgba(0,0,0,.6)}.filter-tabs{display:flex;border-bottom:1px solid var(--hairline)}.filter-tab{flex:1 1;padding:12px;background:none;border:none;color:var(--linen-dim);font-size:10px;letter-spacing:.2em;text-transform:uppercase}.filter-tab[data-active=true]{color:var(--brass-bright);box-shadow:inset 0 -1px 0 var(--brass-bright)}.filter-list{overflow-y:auto;padding:8px}.filter-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;background:none;border:none;color:var(--linen);border-radius:2px;font-family:var(--font-body);font-size:14px}.filter-item:hover{background:hsla(41,34%,87%,.06)}.filter-swatch{width:10px;height:22px;border-radius:1px;flex:none}.filter-item small{margin-left:auto;font-family:var(--font-label);font-size:9px;letter-spacing:.15em;color:var(--linen-dim)}.placard-backdrop{position:fixed;inset:0;background:rgba(8,7,5,.72);z-index:40;display:flex;align-items:center;justify-content:center;padding:24px}.placard{width:min(480px,94vw);background:linear-gradient(168deg,#f5efe1,#ece4d1 55%,#e4dac3);color:var(--placard-ink);border-radius:2px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5),0 40px 90px rgba(0,0,0,.65),0 4px 14px rgba(0,0,0,.4);overflow:hidden;position:relative}.placard:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#8a6b2c,#d4b568 40%,#8a6b2c 80%)}.placard-body{padding:34px 38px 30px}.placard-portrait{float:right;width:118px;height:148px;object-fit:cover;margin:4px 0 14px 20px;border:1px solid #c9bda2;box-shadow:0 3px 10px rgba(36,31,24,.25);filter:sepia(.12) contrast(1.02)}.placard-kicker{font-family:var(--font-label);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:#8a6b2c}.placard-name{font-family:var(--font-display);font-size:34px;font-weight:500;line-height:1.05;margin:8px 0 2px}.placard-dates{font-family:var(--font-label);font-size:11px;letter-spacing:.2em;color:#6d6355;margin-bottom:16px}.placard-rule{border:none;border-top:1px solid #cfc3a8;margin:14px 0}.placard-bio{font-size:14.5px;line-height:1.65;color:#3a332a;font-weight:300}.placard-desc{font-style:italic;font-family:var(--font-display);font-size:17px;color:#55483a;margin-bottom:10px}.placard-actions{display:flex;gap:10px;margin-top:22px}.placard-enter{flex:1 1;padding:13px;border:1px solid #8a6b2c;background:#241f18;color:#e9dcb8;letter-spacing:.22em;text-transform:uppercase;font-size:10px;border-radius:2px;transition:background .25s,letter-spacing .25s}.placard-enter:hover{background:#3a3125;letter-spacing:.3em}.placard-close{padding:13px 16px;border:1px solid #cfc3a8;background:none;color:#6d6355;font-size:10px;letter-spacing:.15em;text-transform:uppercase;border-radius:2px}.placard-close:hover{border-color:#8a6b2c;color:#241f18}.hud{position:fixed;inset:0;pointer-events:none;z-index:10}.hud-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-family:var(--font-label);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:hsla(41,34%,87%,.75);background:rgba(14,12,8,.6);padding:10px 18px;border-radius:2px;border:1px solid var(--hairline)}.hud-back{position:absolute;top:22px;left:22px;pointer-events:auto}.crosshair{position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;transform:translate(-50%,-50%);background:hsla(41,34%,87%,.85);box-shadow:0 0 6px rgba(0,0,0,.8)}.inspect-backdrop{position:fixed;inset:0;z-index:50;background:rgba(8,7,5,.9);display:grid;grid-template-columns:1fr min(420px,38vw)}.inspect-image{display:flex;align-items:center;justify-content:center;padding:4vh 3vw;overflow:hidden}.inspect-image img{max-width:100%;max-height:92vh;box-shadow:0 30px 80px rgba(0,0,0,.8)}.inspect-panel{background:linear-gradient(168deg,#f5efe1,#e4dac3);color:var(--placard-ink);padding:48px 40px;overflow-y:auto}.inspect-title{font-family:var(--font-display);font-size:30px;font-weight:500;line-height:1.1}.inspect-year{font-family:var(--font-label);font-size:11px;letter-spacing:.22em;color:#8a6b2c;margin:10px 0 20px}.inspect-story{font-size:14.5px;line-height:1.7;color:#3a332a;font-weight:300}.inspect-facts{margin-top:22px}.inspect-fact{font-size:13.5px;line-height:1.6;color:#4a4234;padding:12px 0;border-top:1px solid #cfc3a8;font-weight:300}.inspect-close{position:fixed;top:20px;right:20px;z-index:51}.state-center{position:fixed;inset:0;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;text-align:center;padding:24px}.state-center h2{font-family:var(--font-display);font-weight:500;font-size:28px}.state-center p{color:var(--linen-dim);max-width:46ch;line-height:1.6;font-size:14px}code.inline{font-family:ui-monospace,monospace;font-size:12px;background:hsla(41,34%,87%,.08);padding:2px 7px;border-radius:2px;border:1px solid var(--hairline)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media (max-width:720px){.inspect-backdrop{grid-template-columns:1fr;grid-template-rows:1fr auto}.inspect-panel{max-height:45vh;padding:28px 24px}.filter-panel{right:12px;left:12px;width:auto}}.flip3d{perspective:1600px;width:min(480px,94vw)}.flip-inner{position:relative;transform-style:preserve-3d}.flip-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-back{transform:rotateY(180deg);border-radius:2px}.doorway,.flip-back{position:absolute;inset:0;overflow:hidden}.doorway{background:#0b0908;border:1px solid #3a2f1c;border-radius:2px;perspective:1200px}.door-glow{inset:0;opacity:0;background:radial-gradient(60% 80% at 50% 55%,hsla(43,56%,62%,.5),hsla(43,56%,62%,.08) 60%,transparent 80%)}.door,.door-glow{position:absolute}.door{top:0;bottom:0;width:50%;background:linear-gradient(90deg,#241c12,#33281a 50%,#241c12);border:1px solid #4a3a20}.door-left{left:0;transform-origin:left center}.door-right{right:0;transform-origin:right center}.door-panel{position:absolute;inset:14% 18%;border:1px solid hsla(43,56%,62%,.35);border-radius:1px;box-shadow:inset 0 0 30px rgba(0,0,0,.6)}.door-handle{position:absolute;top:50%;width:7px;height:26px;margin-top:-13px;background:linear-gradient(180deg,#d4b568,#8a6b2c);border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.6)}.door-lintel{position:absolute;top:0;left:0;right:0;padding:12px;text-align:center;font-family:var(--font-label);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--brass-bright);background:linear-gradient(#0b0908,transparent);pointer-events:none;z-index:2}.museum-fadein{position:fixed;inset:0;background:#050403;z-index:60;pointer-events:none;animation:museumFade 1.4s ease-out forwards}@keyframes museumFade{0%{opacity:1}to{opacity:0}}