@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Italiana&display=swap');
:root{--ink:#101110;--paper:#e4e1d5;--muted:#a4a59b;--red:#ef664a;--line:#393b34}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{font:inherit;cursor:pointer}button{background:none;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:7px}button:hover{color:var(--red)}a{text-decoration:none}#atlas{max-width:2000px;margin:auto;padding:30px 4.2vw 20px;min-height:100svh;overflow:hidden;position:relative}#atlas:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}header{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:2px;line-height:1.35;font-weight:600}.brand-mark{font-size:48px;color:var(--red);line-height:1}.edition{font:11px/1.7 'DM Mono',monospace;letter-spacing:1px;color:var(--muted);margin-left:auto;margin-right:7vw}#audio{font:11px 'DM Mono',monospace;letter-spacing:1px;padding:12px 0 12px 12px}.sound-bars{color:var(--red);margin-right:10px}.world{position:relative;min-height:570px;height:calc(100svh - 280px);max-height:900px}.coordinates{position:absolute;top:37px;left:0;font:10px 'DM Mono',monospace;letter-spacing:1.5px;color:var(--muted)}.coordinates>span{margin-left:17px}.headline{position:relative;z-index:1;padding-top:116px;pointer-events:none;width:49%;transition:opacity .3s,transform .55s}#eyebrow{color:var(--red);font:10px 'DM Mono',monospace;letter-spacing:2px;margin:0 0 24px}h1{font-family:'Italiana',Georgia,serif;font-size:clamp(64px,6.8vw,116px);line-height:.93;font-weight:400;letter-spacing:-4px;margin:0}h1 em{font-family:Georgia,serif;font-weight:400;font-size:.88em;letter-spacing:-5px;color:var(--red)}#description{font:14px/1.8 Arial,sans-serif;color:var(--muted);margin-top:27px;max-width:370px}.specimen{position:absolute;left:30%;top:12px;width:68%;height:100%}canvas{width:100%;height:100%;display:block}#interact{position:absolute;left:53%;top:49%;transform:translate(-50%,-50%);border:1px solid #ef664a80;border-radius:50%;width:108px;height:108px;display:grid;align-content:center;gap:8px;transition:background .3s,scale .3s;font:9px 'DM Mono',monospace;letter-spacing:1px;background:#10111088;color:var(--red)}#interact:hover{background:#ef664a;color:var(--ink);scale:1.05}.cross{font-size:24px}.specimen-label{position:absolute;bottom:48px;left:45%;font:10px 'DM Mono',monospace;letter-spacing:1px;color:var(--muted)}.orbit-note{position:absolute;right:0;top:25%;font:9px/1.8 'DM Mono',monospace;letter-spacing:1px;color:var(--muted);writing-mode:vertical-rl}.field-note{position:absolute;right:0;bottom:58px;width:150px;font:12px/1.6 'DM Mono',monospace}.tiny-heading{font:10px 'DM Mono',monospace;letter-spacing:1.6px;color:var(--red)}.field-note p{font-family:Georgia,serif;font-size:16px}.note-rule{display:block;width:25px;border-top:1px solid var(--red);margin:20px 0}.field-note .instruction{font:10px/1.7 'DM Mono',monospace;color:var(--muted)}.message{position:absolute;left:45%;bottom:18px;font:11px/1.6 'DM Mono',monospace;color:var(--red);max-width:40%;min-height:18px}footer{position:relative;z-index:2;border-top:1px solid var(--line);display:grid;grid-template-columns:240px 1fr;column-gap:5vw;padding-top:23px}.tuner-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.tuner label{font:9px 'DM Mono',monospace;letter-spacing:1px}output{font:17px 'DM Mono',monospace;color:var(--red)}output small{font-size:9px}input[type=range]{appearance:none;width:100%;height:25px;background:transparent;cursor:ew-resize;margin:0}input[type=range]::-webkit-slider-runnable-track{height:1px;background:#74766a}input[type=range]::-webkit-slider-thumb{appearance:none;width:7px;height:21px;margin-top:-10px;background:var(--red);border:0}input[type=range]::-moz-range-track{height:1px;background:#74766a}input[type=range]::-moz-range-thumb{width:7px;height:21px;border:0;border-radius:0;background:var(--red)}.ruler{display:flex;justify-content:space-between;font:9px 'DM Mono',monospace;color:var(--muted)}nav{display:grid;grid-template-columns:repeat(3,1fr)}nav button{display:flex;gap:15px;text-align:left;padding:14px 18px;border-left:1px solid var(--line);font:11px 'DM Mono',monospace;letter-spacing:.5px;align-items:flex-start}nav small{display:block;margin-top:9px;font:12px Georgia,serif;color:var(--muted);letter-spacing:0}.nav-no{color:var(--red);font-size:10px}.nav-symbol{margin-left:auto;color:var(--red);font-size:18px}nav button[aria-current=true]{background:#e4e1d509}nav button.visited .nav-no:after{content:'·';display:block;text-align:center}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-top:23px;color:var(--muted);font:9px 'DM Mono',monospace;letter-spacing:1px}.footer-bottom button{font:10px 'DM Mono',monospace;padding:8px}.footer-bottom button span{margin-left:16px;color:var(--red)}.quiet{font-size:8px}.arrival{position:fixed;z-index:10;background:#101110f5;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .65s,visibility .65s}.arrival p{font:clamp(55px,8vw,110px) 'Italiana',Georgia,serif;margin:30px 0}.arrival label{font:13px 'DM Mono',monospace;color:var(--muted)}.arrival input{width:250px;margin:30px}.arrival button{border-bottom:1px solid var(--red);font:11px 'DM Mono',monospace;padding:15px;letter-spacing:1px}.arrival-foot{position:absolute;bottom:40px;font:10px 'DM Mono',monospace;color:var(--muted)}.arrival.hidden{opacity:0;visibility:hidden;pointer-events:none}dialog{width:min(620px,92vw);background:var(--paper);color:var(--ink);border:none;text-align:center;padding:65px 35px}dialog::backdrop{background:#101110dd;backdrop-filter:blur(10px)}dialog h2{font:42px/1.15 'Italiana',Georgia,serif}dialog h2 em{font:italic 32px Georgia,serif}dialog p{font:14px/1.9 'DM Mono',monospace}dialog button{font:11px 'DM Mono',monospace;padding:15px;border-bottom:1px solid var(--red);margin-top:20px}#dismiss{position:absolute;top:0;right:15px;border:0;font-size:25px;margin:0}#constellation{font:70px Georgia,serif;color:var(--red);margin-top:35px}.changing .headline{opacity:0;transform:translateY(20px)}#fallback{position:absolute;inset:20%;text-align:center;font:180px Georgia,serif;color:var(--red)}#fallback small{font:12px monospace}.noscript{position:fixed;inset:0;background:#101110;z-index:20;padding:20vh 10vw}body:has(.arrival:not(.hidden)) header,body:has(.arrival:not(.hidden)) footer{visibility:hidden}
@media(min-width:1600px){.field-note{width:185px}.headline{padding-top:150px}}
@media(max-width:1050px){footer{grid-template-columns:180px 1fr;gap:20px}nav button{padding:12px 10px;gap:8px;font-size:10px}.quiet{display:none}.field-note{width:120px}.specimen{left:26%;width:75%}.headline{width:56%}h1{font-size:80px}.world{min-height:550px}.specimen-label{left:40%;bottom:30px}.field-note{bottom:65px}}
@media(max-width:700px){#atlas{padding:20px 6vw}.brand{font-size:10px}.brand-mark{font-size:35px}.edition{display:none}#audio{font-size:10px}.world{height:690px;min-height:0;max-height:none}.coordinates{top:28px;font-size:8px;letter-spacing:.5px}.headline{padding-top:75px;width:100%}#eyebrow{font-size:8px;margin-bottom:18px}h1{font-size:64px;letter-spacing:-2px}h1 em{letter-spacing:-3px}#description{font-size:12px;max-width:240px;margin-top:18px}.specimen{left:5%;width:100%;height:410px;top:270px}.orbit-note{right:7%;top:25%;font-size:8px}.specimen-label{font-size:8px;bottom:14px;left:32%}#interact{width:86px;height:86px;font-size:8px}.field-note{left:0;bottom:72px;width:100px}.field-note p{font-size:13px}.field-note .instruction{font-size:9px}.tiny-heading{font-size:9px}.note-rule{margin:12px 0}.message{left:0;bottom:0;max-width:100%;font-size:10px}footer{grid-template-columns:1fr;padding-top:20px;gap:22px}.tuner{max-width:none}.tuner-top label{font-size:10px}nav{grid-template-columns:1fr}nav button{padding:14px 0;border-left:0;border-bottom:1px solid var(--line);font-size:12px;gap:20px}nav small{display:inline;margin-left:12px;font-size:11px}.footer-bottom{padding-top:0;font-size:8px}.footer-bottom button{font-size:9px}.arrival label{font-size:11px}.arrival-foot{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
/* Functional controls stay legible even when annotations are deliberately fine. */
#audio{font-size:12px}nav button{font-size:12px}.tuner label{font-size:10px}#interact{font-size:10px}.footer-bottom button{font-size:12px}.arrival button{font-size:13px}.field-note .instruction{font-size:12px}.message{font-size:12px}.ruler>span:nth-child(2){overflow:hidden;white-space:nowrap}.world .headline{max-width:100%}
@media(max-width:700px){nav button{font-size:12px}#interact{font-size:9px}.field-note .instruction{font-size:10px}.message{font-size:11px}.footer-bottom button{font-size:10px}.specimen{left:0}.orbit-note{right:0}h1{font-size:clamp(45px,15vw,64px)}}
