@font-face{font-family:DMMono;src:url('/assets/fonts/dm-mono-regular.ttf');font-weight:400}@font-face{font-family:DMMono;src:url('/assets/fonts/dm-mono-medium.ttf');font-weight:500 800}@font-face{font-family:Instrument;src:url('/assets/fonts/instrument-serif.ttf')}@font-face{font-family:Instrument;src:url('/assets/fonts/instrument-serif-italic.ttf');font-style:italic}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#e9e3d8;color:#172a33;font-family:DMMono,monospace}.relay{--reveal:50%;--energy:0;position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;background:#e9e3d8}.city-stage{position:absolute;inset:0;z-index:-4;overflow:hidden;background:#a8bac7}.city-stage>img,.future-window img{position:absolute;inset:-7%;width:114%;height:114%;object-fit:contain;object-position:center 49%;user-select:none;pointer-events:none}.city-stage .present{filter:saturate(.84) brightness(1.04)}.future-window{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 0 0 var(--reveal));will-change:clip-path}.future-window img{filter:saturate(.93) contrast(1.04)}.reveal-line{position:absolute;z-index:3;left:var(--reveal);top:0;bottom:0;width:1px;background:linear-gradient(transparent,#fff 15%,#fff 84%,transparent);box-shadow:0 0 18px #fff9;pointer-events:none}.reveal-line:before{content:'';position:absolute;left:50%;top:50%;width:15px;height:64px;border:1px solid #fff;border-radius:99px;background:#172a337d;transform:translate(-50%,-50%);box-shadow:0 9px 24px #06131a52}.era{position:absolute;z-index:4;bottom:2.1vh;color:#f3ece1;font-size:7px;letter-spacing:.2em;text-shadow:0 2px 12px #06131a}.era.now{left:29%}.era.future-label{right:28%}.city-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#eee8ddf2 0 22%,#eee8dd73 31%,transparent 41% 63%,#07151ecc 82% 100%);pointer-events:none}.logo{position:absolute;z-index:20;left:16.5vw;top:1.5vh;width:clamp(270px,20vw,370px);transform:translateX(-50%);mix-blend-mode:multiply;filter:contrast(1.08)}.event-date{position:absolute;z-index:20;left:50%;top:2.2vh;transform:translateX(-50%);color:#f1eadf;font:700 clamp(10px,.78vw,13px) DMMono;letter-spacing:.18em;text-shadow:0 2px 16px #06131a;white-space:nowrap}.jupiter,.moon{position:absolute;z-index:5}.jupiter{left:0;top:24vh;width:33vw;height:58vh}.moon{right:0;top:24vh;width:33vw;height:58vh;cursor:grab;outline:none;touch-action:none}.moon:active{cursor:grabbing}.jupiter canvas,.moon canvas{position:absolute;inset:0;width:100%;height:100%}.message{position:absolute;z-index:6;left:16%;top:20%;width:70%;pointer-events:none;color:#10242c;text-shadow:0 1px 20px #f5eee2}.message small{font:800 clamp(12px,.96vw,16px) DMMono;letter-spacing:.2em}.message h1{margin:17px 0 0;font:400 clamp(88px,7.1vw,128px)/.67 Instrument;letter-spacing:-.045em}.message h1 em{display:block;margin-left:.82em;font-size:.47em;font-style:italic;white-space:nowrap}.message p{margin:27px 0 0 15%;font:700 clamp(13px,1vw,17px)/1.48 DMMono;letter-spacing:.02em}.message p+p{margin:13px 0 0 27%}.message strong{color:#10242c;font-weight:800}.surface-points{position:absolute;z-index:10;inset:0;pointer-events:none;overflow:visible}.surface-point{--depth:1;position:absolute;left:50%;top:50%;display:flex;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:0;border:0;color:#f3ece1;background:none;font:700 clamp(8px,.62vw,10px) DMMono;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transform:translate(-50%,-50%) scale(calc(.78 + var(--depth)*.22));opacity:var(--depth);filter:blur(calc((1 - var(--depth))*1.5px));pointer-events:auto;cursor:pointer;transition:opacity .18s,filter .18s;will-change:left,top,opacity,transform}.surface-point>i{position:absolute;inset:0;width:44px;height:44px;opacity:0}.surface-point>i:after{content:none}.surface-point>span{position:absolute;left:10px;top:50%;transform:translateY(-50%);padding:9px 11px;border:1px solid #f3ece16b;border-radius:2px;background:#0b1a23df;box-shadow:0 12px 28px #06131a68;backdrop-filter:blur(11px);text-shadow:0 1px 6px #06131a}.surface-point[data-align="left"]>span{left:auto;right:10px}.surface-point.local{font-size:clamp(9px,.7vw,11px)}.surface-point.local>i{position:absolute;inset:0;width:44px;height:44px;opacity:0}.surface-point.local>span{padding:12px 15px;background:linear-gradient(90deg,#a64f43ed,#d87d68e8);border-color:#fff9}.surface-point[data-hidden="true"]{opacity:0;pointer-events:none;filter:blur(3px)}.moon-instruction{position:absolute;z-index:8;left:50%;bottom:4%;transform:translateX(-50%);color:#e9e4da;font-size:6px;letter-spacing:.2em;text-shadow:0 2px 8px #07131a;pointer-events:none;opacity:.72}.sound-hint{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%) scale(.94);padding:9px 12px;border:1px solid #fff7;border-radius:99px;color:#fff;background:#07131ab0;font-size:6px;letter-spacing:.11em;text-transform:uppercase;opacity:0;pointer-events:none;transition:.25s;white-space:nowrap}.moon:hover .sound-hint,.moon:focus-visible .sound-hint,.sound-locked .sound-hint{opacity:.9;transform:translate(-50%,-50%) scale(1)}.sound-wave{position:absolute;z-index:2;left:50%;top:50%;width:72%;aspect-ratio:1;border:2px solid #9ce4ffb5;border-radius:50%;transform:translate(-50%,-50%) scale(.82);opacity:0;pointer-events:none}.playing .sound-wave{animation:wave 1.65s ease-out infinite;filter:drop-shadow(0 0 12px #8edbff)}.playing .sound-wave.second{animation-delay:-1.1s}@keyframes wave{0%{opacity:.95;transform:translate(-50%,-50%) scale(.78)}55%{opacity:.38}100%{opacity:0;transform:translate(-50%,-50%) scale(1.38)}}.reveal-readout{position:absolute;z-index:15;left:50%;bottom:2vh;transform:translateX(-50%);display:flex;align-items:center;gap:9px;color:#f2ebdf;font-size:6px;letter-spacing:.18em;text-shadow:0 1px 7px #07131a}.reveal-readout i{width:42px;height:1px;background:linear-gradient(90deg,transparent,#f2ebdf,transparent)}.credit{position:absolute;z-index:20;right:2vw;bottom:1.3vh;padding:6px 8px;color:#f1eadf;background:#07131a71;font-size:7px;letter-spacing:.1em;text-decoration:none}.sheet{position:fixed;z-index:40;left:50%;top:50%;width:min(760px,calc(100vw - 30px));max-height:88vh;overflow:auto;transform:translate(-50%,-45%) scale(.94);padding:clamp(28px,4vw,58px);color:#172a33;background:linear-gradient(145deg,#f7f1e9d9,#e7e0d5c7);border:1px solid #fff9;border-radius:3px;backdrop-filter:blur(28px) saturate(1.08);-webkit-backdrop-filter:blur(28px) saturate(1.08);opacity:0;pointer-events:none;transition:.4s;box-shadow:0 35px 100px #07131a52,inset 0 1px #fff}.sheet.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.sheet>button{position:absolute;right:16px;top:16px;width:42px;height:42px;border:1px solid #172a3342;border-radius:50%;background:#f7f1e999;color:#172a33;font:500 22px DMMono;cursor:pointer;backdrop-filter:blur(12px)}.sheet h2{margin:8px 0 18px;font:clamp(50px,7vw,90px)/.8 Instrument;color:#172a33;letter-spacing:-.035em}.sheet p{font:500 clamp(10px,.82vw,13px)/1.7 DMMono}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.person{display:flex;gap:11px;align-items:center;color:inherit;text-decoration:none;padding:10px;border:1px solid #172a3324;background:#fff6}.person img{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#eee}.person span{display:grid;gap:5px}.person b{font:18px Instrument}.person em{font:700 8px DMMono;font-style:normal;color:#965448;text-transform:uppercase;letter-spacing:.1em}.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:18px;background:#172a3324}.roles div{padding:16px;background:#f4eee6c9}.roles h3{font:700 9px DMMono;letter-spacing:.15em;text-transform:uppercase}.roles p{font:17px Instrument;display:inline-block;margin:5px 12px 0 0}
@media(max-width:900px) and (min-width:701px){.jupiter{left:0;width:35vw;height:58vh}.moon{right:0;width:35vw;height:58vh}.message{left:14%;width:72%}.logo{left:17.5vw;width:250px}}
@media(max-width:700px){.relay{--reveal:50%}.city-stage>img,.future-window img{inset:-3%;width:106%;height:106%;object-position:center 49%}.city-stage:after{background:linear-gradient(180deg,#eee8ddf3 0 30%,#eee8dd72 40%,transparent 51% 65%,#07151edc 82%)}.logo{left:33vw;top:10px;width:min(230px,56vw);transform:translateX(-50%)}.event-date{top:86px;font-size:8px}.jupiter{left:0;top:15vh;width:66vw;height:34vh}.moon{left:auto;right:0;top:auto;bottom:4vh;width:66vw;height:34vh}.message{left:12%;top:23%;width:76%}.message small{font-size:9px}.message h1{font-size:clamp(48px,14vw,62px)}.message p{margin:12px 0 0 8%;font-size:9px}.message p+p{margin:8px 0 0 17%}.surface-point{font-size:8px}.surface-point.local{font-size:9px}.surface-point>span{padding:7px 8px}.surface-point.local>span{padding:9px 10px}.surface-point>i{width:44px;height:44px}.era{bottom:11px}.era.now{left:12px}.era.future-label{right:12px}.credit,.reveal-readout{display:none}.moon-instruction{bottom:13%}.sheet{padding:60px 20px 28px}.sheet h2{font-size:56px}.team-grid,.roles{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.sheet[hidden]{display:none}
.surface-point[aria-disabled=true]{cursor:not-allowed}
@media(max-width:700px){.moon-instruction{bottom:5%}}
@media(max-width:700px){
 html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y proximity;background:#e9e3d8}
 .relay{--mobile-reveal:100%;width:100%;height:300svh;min-height:1800px;overflow:hidden;background:linear-gradient(180deg,#e9e3d8 0 33.333%,#a8bac7 33.333% 66.666%,#14232d 66.666% 100%)}
 .city-stage{inset:auto 0;top:100svh;width:100%;height:100svh;z-index:1;scroll-snap-align:start}
 .city-stage>img,.future-window img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%}
 .future-window{clip-path:inset(var(--mobile-reveal) 0 0 0)}
 .reveal-line{left:0;right:0;top:var(--mobile-reveal);bottom:auto;width:100%;height:1px;background:linear-gradient(90deg,transparent,#fff 18%,#fff 82%,transparent)}
 .reveal-line:before{width:64px;height:15px}
 .city-stage:after{background:linear-gradient(180deg,#07151e2b,transparent 22% 72%,#07151e8f)}
 .logo{left:50%;top:3svh;width:min(280px,70vw);transform:translateX(-50%)}
 .event-date{left:50%;top:calc(100svh + 3svh);font-size:10px;z-index:20}
 .jupiter{left:0;top:15svh;width:100vw;height:min(100vw,72svh);z-index:5;scroll-snap-align:start}
 .moon{left:0;right:auto;top:calc(200svh + 12svh);bottom:auto;width:100vw;height:min(100vw,72svh);z-index:5;scroll-snap-align:start}
 .message{left:16%;top:21%;width:68%}
 .message small{font-size:clamp(10px,2.8vw,13px)}
 .message h1{font-size:clamp(62px,18vw,84px);margin-top:15px}
 .message p{margin:18px 0 0 9%;font-size:clamp(10px,2.7vw,13px);line-height:1.45}
 .message p+p{margin:10px 0 0 18%}
 .era{z-index:8;bottom:3svh;font-size:8px}.era.now{left:5vw}.era.future-label{right:5vw}
 .moon-instruction{bottom:2%;font-size:7px}
 .sound-hint{font-size:7px}
 .credit{display:block;position:absolute;right:4vw;bottom:2svh;font-size:7px}
 .surface-point{font-size:8px}.surface-point.local{font-size:9px}
 .sheet{position:fixed}
}
.credit{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s}
.playing .credit{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
/* Neutralize Android/WebKit native control fills on lunar destinations */
.surface-point,.surface-point:active,.surface-point:focus{
 -webkit-appearance:none;
 appearance:none;
 background-color:transparent!important;
 background-image:none!important;
 -webkit-tap-highlight-color:transparent;
 color:#f3ece1;
 box-shadow:none;
}
.surface-point::-moz-focus-inner{border:0;padding:0}
.surface-point:focus-visible>span{outline:2px solid #f3ece1;outline-offset:3px}
/* Atmospheric draggable information glass */
.sheet{
 --drag-x:0px;--drag-y:0px;
 width:min(780px,calc(100vw - 32px));
 color:#eef3f0;
 background:linear-gradient(145deg,#dce9e676,#91aab06b 48%,#40596570);
 border:1px solid #eaf4ef78;
 border-radius:18px;
 backdrop-filter:blur(34px) saturate(1.18);
 -webkit-backdrop-filter:blur(34px) saturate(1.18);
 box-shadow:0 34px 100px #07131a66,inset 0 1px #fff8,inset 0 0 70px #cce3df17;
 transform:translate(calc(-50% + var(--drag-x)),calc(-45% + var(--drag-y))) scale(.94);
 overflow:auto;
 scrollbar-color:#e8f1ec66 transparent;
}
.sheet:before{content:'';position:absolute;left:22px;right:72px;top:0;height:56px;cursor:grab;border-top:1px solid #fff5;background:linear-gradient(90deg,transparent,#d7e8e336,transparent);touch-action:none}
.sheet.dragging:before{cursor:grabbing}
.sheet.open{transform:translate(calc(-50% + var(--drag-x)),calc(-50% + var(--drag-y))) scale(1)}
.sheet>small{display:inline-block;color:#f2a58e;font:700 9px DMMono;letter-spacing:.16em;text-transform:uppercase}
.sheet h2{color:#f5f5ec;text-shadow:0 2px 22px #07131a4d}
.sheet p{color:#e9efeb}
.sheet>button{border-color:#eff7f087;background:#233c4775;color:#f5f5ec;box-shadow:inset 0 1px #fff5}
.person{border-color:#edf5ef36;background:#eff5f014;color:#f3f4ed;border-radius:10px;backdrop-filter:blur(8px)}
.person:hover{background:#eff5f024;border-color:#eff5ef6b}
.person b{color:#fffaf0}.person em{color:#f1ad98}
.roles{background:#eaf3ee2b;border-radius:10px;overflow:hidden}
.roles div{background:#17303b4f;color:#eef3ed}
.roles h3{color:#f1ad98}.roles p{color:#f5f5ec}
@media(max-width:700px){.sheet{width:calc(100vw - 20px);border-radius:15px}.sheet:before{right:64px;height:52px}}
/* Deep-space information glass */
.sheet{
 color:#f4f6f2;
 background:linear-gradient(145deg,#172c36e8,#0b1b25ed 58%,#07131bf2);
 border:1px solid #bdd3d457;
 backdrop-filter:blur(30px) saturate(1.12);
 -webkit-backdrop-filter:blur(30px) saturate(1.12);
 box-shadow:0 38px 110px #02090db8,inset 0 1px #e8f3ee30,inset 0 0 80px #7ba0a416;
}
.sheet>small{color:#f1a38b}
.sheet h2{color:#fffdf4;text-shadow:0 3px 25px #0008}
.sheet p{color:#eef3ef;font-weight:500}
.sheet>button{border-color:#d8e7df63;background:#06131bc2;color:#fffdf4}
.person{border-color:#dbe8e235;background:#dcebe60d;color:#f7f7ef}
.person:hover{background:#dcebe61a;border-color:#dbe8e269}
.person b,.roles p{color:#fffdf4}.person em,.roles h3{color:#f3aa94}
.roles{background:#dbe8e225}.roles div{background:#071821b5;color:#f1f5f0}
/* Optional zero-to-eight contribution notes per organiser */
.person{align-items:flex-start}
.person span{min-width:0;align-content:start}
.contributions{display:grid;gap:5px;margin:5px 0 0;padding:0;list-style:none}
.contributions:empty{display:none}
.contributions li{position:relative;margin:0;padding-left:12px;color:#dfe9e4;font:500 8px/1.45 DMMono;letter-spacing:.015em}
.contributions li:before{content:'·';position:absolute;left:1px;top:0;color:#f3aa94;font-weight:800}
@media(max-width:700px){.contributions li{font-size:9px}}

/* Expanded team directory */
.team-sheet{width:min(1120px,calc(100vw - 40px));padding-inline:clamp(28px,4vw,62px)}
.team-sheet>.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.team-sheet .person{min-width:0;padding:13px;gap:13px}
.team-sheet .person img{flex:0 0 58px;width:58px;height:58px}
.team-sheet .person b{display:block;font-size:20px;line-height:1.05;overflow-wrap:normal;word-break:normal}
.people-sections{margin-top:24px;border-top:1px solid #dbe8e23d}
.people-section{padding:22px 0 24px;border-bottom:1px solid #dbe8e23d}
.people-section:last-child{border-bottom:0;padding-bottom:0}
.people-section>h3{margin:0 0 13px;color:#f3aa94;font:700 10px/1 DMMono;letter-spacing:.18em;text-transform:uppercase}
.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.people-grid .person b{font-size:18px}
.placeholder-person{cursor:default}
@media(max-width:800px){
 .team-sheet{width:calc(100vw - 18px);padding:58px 18px 28px}
 .team-sheet>.team-grid,.people-grid{grid-template-columns:1fr 1fr}
 .team-sheet .person b{font-size:18px}
}
@media(max-width:520px){
 .team-sheet>.team-grid,.people-grid{grid-template-columns:1fr}
 .team-sheet .person{padding:12px}
 .team-sheet .person img{width:54px;height:54px;flex-basis:54px}
}

/* Verified external contribution */
.contributions li.verified{padding-left:17px}
.contributions li.verified:before{content:'✓';left:0;color:#91dbc1;font-size:10px;line-height:1.15}
.contributions li.verified a{color:inherit;text-decoration:none;border-bottom:1px solid #dfe9e45c}
.contributions li.verified a:after{content:'↗';display:inline-block;margin-left:5px;color:#91dbc1;font-size:.9em;transform:translateY(-1px)}
.contributions li.verified a:hover{color:#fff;border-bottom-color:#91dbc1}

/* Document and global-challenge popup content */
.info-sheet.document-sheet{width:min(1040px,calc(100vw - 34px));height:min(88vh,900px);max-height:88vh;padding:30px 30px 24px}
.manifesto-frame{display:block;width:100%;height:calc(100% - 100px);margin-top:18px;border:1px solid #dbe8e230;border-radius:10px;background:#fff}
.manifesto-frame[hidden]{display:none}
.challenge-archive{display:inline-flex;margin-top:20px;padding:12px 16px;border:1px solid #edf5ef4f;border-radius:99px;color:#fff;text-decoration:none;font:700 9px DMMono;letter-spacing:.08em;text-transform:uppercase;background:#edf5ef12}
.challenge-archive:hover{background:#edf5ef22;border-color:#edf5ef85}
@media(max-width:700px){.info-sheet.document-sheet{width:calc(100vw - 14px);height:92vh;max-height:92vh;padding:56px 10px 10px}.manifesto-frame{height:calc(100% - 76px);margin-top:12px}}

/* The embedded document occupies the manifesto window from the top. */
.info-sheet.document-sheet{padding-top:20px}
.document-sheet>small{display:none}
.document-sheet h2{margin:0 54px 8px 0;font:clamp(28px,3vw,42px)/1 Instrument}
.document-sheet .manifesto-frame{height:calc(100% - 54px);margin-top:0}
.document-sheet .challenge-archive{display:none!important}
.info-sheet:not(.global-sheet)>.challenge-archive{display:none}
.global-sheet>.manifesto-frame{display:none!important}
.global-sheet>.challenge-archive{display:inline-flex}
@media(max-width:700px){
 .info-sheet.document-sheet{padding:14px 8px 8px}
 .document-sheet h2{margin:2px 48px 8px 8px;font-size:30px}
 .document-sheet .manifesto-frame{height:calc(100% - 48px)}
}

/* Team cards sized for full contribution histories */
.team-sheet{width:min(1240px,calc(100vw - 40px))}
.team-sheet>.team-grid,.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.team-sheet .person{
 display:grid;
 grid-template-columns:72px minmax(0,1fr);
 align-items:start;
 min-height:236px;
 padding:18px;
 gap:16px;
 overflow:hidden;
}
.team-sheet .person img{width:72px;height:72px;flex-basis:auto}
.team-sheet .person span{min-width:0;display:block}
.team-sheet .person b{font-size:22px;line-height:1.08}
.team-sheet .person em{display:block;margin-top:7px}
.person-photo,.person-name{color:inherit;text-decoration:none}
.person-photo{display:block;width:72px;height:72px;border-radius:50%;overflow:hidden}
.person-name{display:inline-block}
.person-name:hover b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.team-sheet .contributions{margin-top:14px;gap:8px}
.team-sheet .contributions li{padding-left:14px;font-size:10px;line-height:1.48;overflow-wrap:anywhere}
.team-sheet .contributions li.verified{padding-left:19px}
.team-sheet .contributions li.verified a{display:inline;overflow-wrap:anywhere}
.people-section{padding-block:28px}
@media(max-width:800px){
 .team-sheet{width:calc(100vw - 18px)}
 .team-sheet>.team-grid,.people-grid{grid-template-columns:1fr}
 .team-sheet .person{min-height:220px}
}
@media(max-width:520px){
 .team-sheet .person{grid-template-columns:60px minmax(0,1fr);min-height:210px;padding:15px;gap:13px}
 .team-sheet .person img,.person-photo{width:60px;height:60px}
 .team-sheet .person b{font-size:20px}
 .team-sheet .contributions li{font-size:9px}
}

/* Registration is the Moon's principal call to action. */
.surface-point.register>span{
 padding:12px 17px;
 border-color:#ffd2a6d9;
 color:#fffaf0;
 background:linear-gradient(110deg,#a94f42f2,#d77a62ee 58%,#df9b6aee);
 box-shadow:0 0 0 1px #fff3 inset,0 12px 34px #07131a85,0 0 24px #ef94745c;
 font-size:clamp(9px,.72vw,12px);
 letter-spacing:.12em;
}
.surface-point.register>span:before{
 content:'◈';
 display:inline-block;
 margin-right:8px;
 color:#fff4d9;
 font-size:1.15em;
}
.surface-point.register:hover>span,.surface-point.register:focus-visible>span{
 background:linear-gradient(110deg,#bd5949,#eb876d 58%,#eda774);
 border-color:#fff4d9;
 box-shadow:0 0 0 1px #fff6 inset,0 16px 40px #07131a99,0 0 34px #f49c7a8c;
}
@media(max-width:700px){.surface-point.register>span{padding:10px 13px;font-size:9px}}

/* Contact routes at the head of About Us */
.about-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px}
.about-contacts a{display:grid;gap:6px;min-width:0;padding:13px 15px;border:1px solid #dbe8e238;border-radius:8px;color:#f7f7ef;background:#dcebe60d;text-decoration:none;transition:background .2s,border-color .2s}
.about-contacts a:hover{background:#dcebe61a;border-color:#91dbc17a}
.about-contacts small{color:#f3aa94;font:800 8px/1 DMMono;letter-spacing:.13em;text-transform:uppercase}
.about-contacts span{overflow-wrap:anywhere;font:600 10px/1.45 DMMono}
@media(max-width:700px){.about-contacts{grid-template-columns:1fr}.about-contacts span{font-size:9px}}

/* Sponsor outreach is also available with the local challenges. */
.popup-collaborate{display:inline-flex;align-items:center;justify-content:center;margin-top:20px;padding:12px 16px;border:1px solid #91dbc195;border-radius:99px;color:#fff;text-decoration:none;background:#183440b8;font:700 9px DMMono;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 28px #07131a52}
.popup-collaborate:before{content:'✦';margin-right:8px;color:#91dbc1}.popup-collaborate:hover{background:#214653;border-color:#91dbc1}.popup-collaborate[hidden]{display:none}

/* The 2025 archive is exclusively a Global Challenges resource. */
.challenge-archive[hidden]{display:none!important}

/* A restrained live WebGL texture drift, above the static globe material. */
.planet-shader{position:absolute;z-index:1;display:block;pointer-events:none;border-radius:50%;mix-blend-mode:normal;filter:saturate(.98) contrast(1.015)}
.jupiter .planet-shader{filter:saturate(1.02) contrast(1.025)}

/* A complete first frame before the interactive worlds are revealed. */
body.is-loading{overflow:hidden}
body.is-loading .relay{opacity:0;pointer-events:none}
.site-loader{position:fixed;z-index:100;inset:0;display:grid;place-content:center;justify-items:center;gap:24px;overflow:hidden;color:#f4f0e8;background:radial-gradient(ellipse at 50% 45%,#36535d 0,#1c343e 43%,#081821 100%);transition:opacity .6s ease,visibility .6s ease}
.site-loader:before,.site-loader:after{content:'';position:absolute;border:1px solid #d9ece52e;border-radius:50%;pointer-events:none}.site-loader:before{width:min(78vw,740px);aspect-ratio:1;transform:translate(16%,-7%)}.site-loader:after{width:min(112vw,980px);aspect-ratio:1;transform:translate(-19%,23%)}
.loader-world{position:relative;width:104px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 31% 28%,#efe2bf 0 3%,#bf895c 4% 6%,transparent 7%),repeating-linear-gradient(177deg,#a46a45 0 6px,#e0ae76 7px 13px,#6d493b 14px 18px);box-shadow:inset -20px -14px 28px #0818218c,0 0 0 1px #f5e6c56b,0 0 38px #e5ad7544;animation:loader-drift 2.8s ease-in-out infinite}
.loader-world:before,.loader-world:after{content:'';position:absolute;left:50%;top:50%;border:1px solid #e8f2ed75;border-radius:50%;transform:translate(-50%,-50%)}.loader-world:before{width:138%;height:138%;animation:loader-ring 2.6s linear infinite}.loader-world:after{width:178%;height:178%;border-style:dashed;opacity:.48;animation:loader-ring 6.3s linear infinite reverse}
.loader-copy{position:relative;z-index:1;text-align:center;font:800 9px/1.5 DMMono;letter-spacing:.24em;text-transform:uppercase;text-shadow:0 2px 12px #07131a}.loader-copy b{display:block;color:#f5f1e8;font:400 clamp(36px,6vw,62px)/.78 Instrument;letter-spacing:-.04em;text-transform:none}.loader-copy span{display:block;margin-top:15px;color:#abd7c7;font-size:8px;letter-spacing:.22em;animation:loader-pulse 1.5s ease-in-out infinite}
@keyframes loader-ring{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes loader-drift{50%{transform:scale(1.035) rotate(2deg);filter:saturate(1.15)}}@keyframes loader-pulse{50%{opacity:.42}}
@media(prefers-reduced-motion:reduce){.loader-world,.loader-world:before,.loader-world:after,.loader-copy span{animation:none}}

/* Liquid-glass alternative: deeper refraction, soft specular edges, and less card-like UI. */
.sheet{
  isolation:isolate;
  border-color:#e9f7f087;
  background:linear-gradient(136deg,#4e717985 0%,#1e3a46b8 34%,#102932c7 68%,#071923db 100%);
  backdrop-filter:blur(42px) saturate(1.34) brightness(1.08);
  -webkit-backdrop-filter:blur(42px) saturate(1.34) brightness(1.08);
  box-shadow:0 40px 120px #02090dc4,0 0 0 1px #b7e9dc17,inset 0 1px #ffffffa6,inset 0 -1px #06212a82,inset 18px 18px 48px #d8fff008;
}
.sheet:after{content:'';position:absolute;z-index:0;inset:1px;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse 55% 36% at 13% 0%,#f4fff436,transparent 72%),radial-gradient(ellipse 48% 38% at 96% 100%,#6bdbc127,transparent 75%),linear-gradient(115deg,#ffffff17 0 5%,transparent 18% 78%,#99e2d018 100%);mix-blend-mode:screen}
.sheet:before{z-index:2;border-top-color:#f5fff08f;background:linear-gradient(90deg,transparent,#d7fff844 38%,#ffffff75 50%,#d7fff844 62%,transparent)}
.sheet>*{position:relative;z-index:1}
.sheet>button{z-index:3;border-color:#f0fff095;background:linear-gradient(145deg,#53737c9e,#183740bc);box-shadow:0 10px 28px #02080c66,inset 0 1px #ffffff9c,inset 0 -1px #071b238a;backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5)}
.sheet>button:hover{background:linear-gradient(145deg,#789aa1a8,#234955cf);transform:scale(1.04)}
.person,.about-contacts a,.roles div{
  border-color:#effff04a;
  background:linear-gradient(145deg,#ecfff023,#a7e3d516 42%,#061b251f);
  box-shadow:inset 0 1px #ffffff2b,inset 0 -1px #081b246e,0 12px 28px #02090d24;
  backdrop-filter:blur(14px) saturate(1.24);
  -webkit-backdrop-filter:blur(14px) saturate(1.24);
}
.person:hover,.about-contacts a:hover{background:linear-gradient(145deg,#f0fff034,#a7e3d528 42%,#061b253d);border-color:#edfff080;box-shadow:inset 0 1px #ffffff5c,0 16px 34px #02090d42;transform:translateY(-2px)}
.person,.about-contacts a{transition:transform .24s ease,background .24s ease,border-color .24s ease,box-shadow .24s ease}
.challenge-archive,.popup-collaborate,.collaborate-button{border-color:#eafff074!important;background:linear-gradient(135deg,#d5fff01f,#75baa83b 45%,#0a253277)!important;box-shadow:inset 0 1px #ffffff68,inset 0 -1px #06192377,0 12px 28px #02090d45!important;backdrop-filter:blur(16px) saturate(1.35);-webkit-backdrop-filter:blur(16px) saturate(1.35)}
.challenge-archive:hover,.popup-collaborate:hover,.collaborate-button:hover{background:linear-gradient(135deg,#eafff032,#8fdac25a 45%,#123947ba)!important}
.surface-point>span{border-color:#f3fff073;background:linear-gradient(135deg,#ccece529,#0d2437d9 70%);box-shadow:inset 0 1px #ffffff62,inset 0 -1px #0617208a,0 14px 32px #02090d6e;backdrop-filter:blur(17px) saturate(1.28);-webkit-backdrop-filter:blur(17px) saturate(1.28)}
.surface-point.local>span{background:linear-gradient(135deg,#ffdfbeea,#d57964dd 54%,#723b3cd9);border-color:#fff3e1c7;box-shadow:inset 0 1px #fff8e8b5,inset 0 -1px #612b2a89,0 15px 34px #110a0b64}
@media(max-width:700px){.sheet{border-radius:22px;backdrop-filter:blur(30px) saturate(1.24);-webkit-backdrop-filter:blur(30px) saturate(1.24)}.person:hover,.about-contacts a:hover{transform:none}}

/* Space Apps Cottbus visual language: warm paper-white, NASA coral, and a deep Cottbus night. */
.sheet{
  border-radius:8px;
  color:#f7f3e9;
  background:linear-gradient(138deg,#132a35e8 0%,#10222bdd 43%,#07161fd9 100%);
  border-color:#f7f1e38f;
  backdrop-filter:blur(32px) saturate(1.08);
  -webkit-backdrop-filter:blur(32px) saturate(1.08);
  box-shadow:0 34px 95px #02080db3,inset 0 1px #fffdf3b8,inset 0 -1px #020b118a;
}
.sheet:after{background:radial-gradient(ellipse 58% 32% at 4% 0%,#fff6df1c,transparent 73%),radial-gradient(ellipse 52% 45% at 100% 100%,#d36a5920,transparent 74%),linear-gradient(115deg,#fff9ea13 0 7%,transparent 22% 78%,#d36a5911 100%);mix-blend-mode:screen}
.sheet:before{border-top-color:#fff8e8a6;background:linear-gradient(90deg,transparent,#e8816a4d 31%,#fff8e89e 50%,#e8816a4d 69%,transparent)}
.sheet>small,.people-section>h3{color:#eea18d}
.sheet h2{color:#fffaf0;text-shadow:0 3px 22px #0009}
.sheet h2:after{content:'';display:block;width:54px;height:2px;margin-top:16px;background:linear-gradient(90deg,#e8816a,#f8ebd1 72%,transparent)}
.sheet>button{border-radius:50%;border-color:#fff6e095;background:linear-gradient(145deg,#273e48d9,#0a1c25e8);box-shadow:0 10px 28px #02080d73,inset 0 1px #fff8e8a8,inset 0 -1px #020b118a}
.sheet>button:hover{background:linear-gradient(145deg,#405965e8,#112a36ef)}
.person,.about-contacts a,.roles div{
  border-radius:5px;
  border-color:#fff7e83b;
  background:linear-gradient(140deg,#fff6e50b,#e8816a0b 46%,#06182126);
  box-shadow:inset 0 1px #fff9ea23,inset 0 -1px #020d155e,0 10px 24px #02080d20;
  backdrop-filter:blur(11px) saturate(1.05);
  -webkit-backdrop-filter:blur(11px) saturate(1.05);
}
.person:hover,.about-contacts a:hover{background:linear-gradient(140deg,#fff6e51b,#e8816a1d 46%,#06182142);border-color:#fff7e870;box-shadow:inset 0 1px #fff9ea52,0 14px 28px #02080d45}
.person em,.roles h3,.about-contacts small{color:#eea18d}
.challenge-archive,.popup-collaborate,.collaborate-button{border-radius:3px;border-color:#fff4e181!important;background:linear-gradient(135deg,#e8816aeb,#c96355e8 58%,#9e4948e6)!important;color:#fffaf2!important;box-shadow:inset 0 1px #fff4e19e,inset 0 -1px #652b2e75,0 12px 28px #02080d5c!important;backdrop-filter:none;-webkit-backdrop-filter:none}
.challenge-archive:hover,.popup-collaborate:hover,.collaborate-button:hover{background:linear-gradient(135deg,#f19a7feF,#d8705ee8 58%,#ad514ce8)!important}
.surface-point>span{border-radius:3px;border-color:#fff6e16b;background:linear-gradient(135deg,#fff9eb18,#091b27e2 70%);box-shadow:inset 0 1px #fff8e878,inset 0 -1px #020b118a,0 14px 32px #02090d70;backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08)}
.surface-point.local>span{border-radius:3px;background:linear-gradient(135deg,#f2a084ee,#d46d5edd 54%,#9b4748dc);border-color:#fff3e1c7}
@media(max-width:700px){.sheet{border-radius:7px}.person,.about-contacts a,.roles div{border-radius:4px}}

/* Mars-window study: the information sheets inherit the warm, mineral light of a nearby planet. */
.sheet{
  border-radius:15px 15px 28px 28px;
  color:#fff4e8;
  background:linear-gradient(145deg,#49241fdb 0%,#261518d8 43%,#0b1720e3 100%);
  border-color:#ffc9ad8a;
  backdrop-filter:blur(34px) saturate(1.2);
  -webkit-backdrop-filter:blur(34px) saturate(1.2);
  box-shadow:0 40px 118px #050708bd,0 0 70px #e16d4022,inset 0 1px #fff1df9e,inset 0 -1px #160907a6;
}
.sheet:after{
  background:
   radial-gradient(ellipse 46% 40% at 8% 3%,#ffd5b547,transparent 72%),
   radial-gradient(ellipse 58% 66% at 100% 100%,#b849302b,transparent 76%),
   repeating-radial-gradient(ellipse at 38% 55%,#fff2e606 0 1px,transparent 1px 5px),
   linear-gradient(125deg,#fff3e618 0 7%,transparent 22% 79%,#fa7b5130 100%);
  mix-blend-mode:screen;
}
.sheet:before{border-top-color:#ffd9bdba;background:linear-gradient(90deg,transparent,#ff9b724d 30%,#fff4e0b5 50%,#ff9b724d 70%,transparent)}
.sheet>small,.people-section>h3,.person em,.roles h3,.about-contacts small{color:#ffb095}
.sheet h2{color:#fff7ed;text-shadow:0 3px 26px #130907dc}
.sheet h2:after{background:linear-gradient(90deg,#ff7755,#ffc49d 68%,transparent)}
.sheet>button{border-color:#ffceb0a8;background:linear-gradient(145deg,#6b342bde,#271518ec);box-shadow:0 11px 30px #07040573,inset 0 1px #fff2e2b0,inset 0 -1px #1b0908a8}
.sheet>button:hover{background:linear-gradient(145deg,#914638e9,#3b1b1ceF)}
.person,.about-contacts a,.roles div{
  border-color:#ffd2b33c;
  background:linear-gradient(140deg,#ffd3ae18,#e56c4921 45%,#160e1729);
  box-shadow:inset 0 1px #fff3e32e,inset 0 -1px #19080779,0 12px 30px #12070624;
  backdrop-filter:blur(13px) saturate(1.18);
  -webkit-backdrop-filter:blur(13px) saturate(1.18);
}
.person:hover,.about-contacts a:hover{background:linear-gradient(140deg,#ffe0bf27,#f27a552e 45%,#21101840);border-color:#ffd8b773;box-shadow:inset 0 1px #fff5e45a,0 17px 34px #16070643}
.challenge-archive,.popup-collaborate,.collaborate-button{border-color:#ffdec5b3!important;background:linear-gradient(135deg,#ff9a73ec,#d95c47e9 58%,#8e3734eb)!important;box-shadow:inset 0 1px #fff0d8b8,inset 0 -1px #62221d8b,0 14px 30px #1c070755!important}
.challenge-archive:hover,.popup-collaborate:hover,.collaborate-button:hover{background:linear-gradient(135deg,#ffad83f2,#e86e56ef 58%,#a54640ee)!important}
.surface-point>span{border-color:#ffcdb06d;background:linear-gradient(135deg,#ffe4c11e,#3d1d1cdb 70%);box-shadow:inset 0 1px #fff2df77,inset 0 -1px #17090792,0 14px 32px #1a08086c;backdrop-filter:blur(15px) saturate(1.2);-webkit-backdrop-filter:blur(15px) saturate(1.2)}
.surface-point.local>span{background:linear-gradient(135deg,#ffc09eeF,#e06a54df 54%,#9c3d3be1);border-color:#ffe1c7cd}
@media(max-width:700px){.sheet{border-radius:12px 12px 22px 22px}}

/* Visible planet switcher: a small instrument built into Jupiter, not a hidden keyboard trick. */
.planet-switcher{position:absolute;z-index:15;left:50%;bottom:22%;display:flex;align-items:center;gap:8px;transform:translateX(-50%);padding:4px;border:1px solid #fff5;border-radius:99px;background:#10242c9c;box-shadow:0 8px 22px #07131a54;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.planet-switcher button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;color:#f7f3e9;background:transparent;font:700 14px/1 DMMono;cursor:pointer;transition:background .2s,transform .2s}.planet-switcher button:hover,.planet-switcher button:focus-visible{background:#e98169;color:#fff;transform:scale(1.07);outline:0}.planet-switcher b{min-width:54px;color:#f7f3e9;font:800 7px/1 DMMono;letter-spacing:.15em;text-align:center;text-transform:uppercase}.planet-switcher[data-planet="saturn"]{border-color:#f5d394a8;background:#553729b5}.planet-switcher[data-planet="saturn"] b{color:#ffe0a9}.planet-saturn .jupiter .planet-shader{display:none}@media(max-width:700px){.planet-switcher{bottom:20%;gap:5px}.planet-switcher button{width:25px;height:25px;font-size:12px}.planet-switcher b{min-width:49px;font-size:6px}}

/* Shared planetary controls: one compact, deliberate instrument rather than two competing prompts. */
.jupiter .planet-tools{
  position:absolute;
  z-index:16;
  left:50%;
  bottom:4.25%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  max-width:calc(100% - 20px);
  transform:translateX(-50%);
  white-space:nowrap;
}
.jupiter .planet-switcher,
.jupiter .jupiter-sound-hint{
  position:relative;
  inset:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:27px;
  margin:0;
  padding:4px 8px;
  border:1px solid #f7f3ea86;
  border-radius:999px;
  color:#f7f3ea;
  background:linear-gradient(135deg,#182e37c9,#0b1c25d9 72%);
  box-shadow:inset 0 1px #ffffff30,0 7px 18px #06131a48;
  backdrop-filter:blur(12px) saturate(1.12);
  -webkit-backdrop-filter:blur(12px) saturate(1.12);
}
.jupiter .planet-switcher{gap:2px;transform:none}
.jupiter .planet-switcher button{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  color:inherit;
  background:transparent;
  appearance:none;
  -webkit-appearance:none;
  font:700 11px/1 DMMono;
  cursor:pointer;
  transition:background .2s,color .2s,transform .2s;
  -webkit-tap-highlight-color:transparent;
}
.jupiter .planet-switcher button:hover,
.jupiter .planet-switcher button:focus-visible{color:#fff;background:#e98169;transform:scale(1.04);outline:0}
.jupiter .planet-switcher b{min-width:44px;color:inherit;font:800 6px/1 DMMono;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.jupiter .jupiter-sound-hint{
  transform:none;
  min-height:27px;
  padding:5px 9px;
  color:#f7f3ea;
  font:800 6px/1 DMMono;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-shadow:none;
  opacity:.92;
  pointer-events:none;
}
.jupiter:hover .jupiter-sound-hint,.jupiter:focus-visible .jupiter-sound-hint{opacity:1;transform:none}
.planet-switcher[data-planet="saturn"]{border-color:#f5d394a8;background:linear-gradient(135deg,#65422dbd,#2b1b1adc 72%)}
.planet-switcher[data-planet="saturn"] b{color:#ffe0a9}
@media(max-width:700px){
  .jupiter .planet-tools{bottom:3.5%;gap:4px;max-width:calc(100% - 14px)}
  .jupiter .planet-switcher,.jupiter .jupiter-sound-hint{min-height:24px}
  .jupiter .planet-switcher{padding:3px 6px}
  .jupiter .planet-switcher button{width:16px;height:16px;font-size:10px}
  .jupiter .planet-switcher b{min-width:39px;font-size:5px}
  .jupiter .jupiter-sound-hint{padding:4px 7px;font-size:5px;letter-spacing:.08em}
}

/* KISU lives as a small, illustrated sponsor-world in the same sky rather than as conventional advertising. */
.sponsor-orbit{
  position:absolute;
  z-index:19;
  top:10svh;
  right:clamp(18px,4vw,68px);
  display:flex;
  align-items:center;
  gap:clamp(7px,.8vw,12px);
  width:min(275px,21vw);
  color:#f7f3ea;
  text-decoration:none;
  filter:drop-shadow(0 10px 20px #07131a4a);
  -webkit-tap-highlight-color:transparent;
}
.sponsor-art{
  position:relative;
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:clamp(70px,7.5vw,118px);
  aspect-ratio:1;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease;
}
.sponsor-art:before,.sponsor-art:after{content:'';position:absolute;pointer-events:none;border-radius:50%}
.sponsor-art:before{inset:17%;border:1px solid #8dd5ff35;box-shadow:0 0 20px #3da9ff2c}
.sponsor-art:after{inset:3%;border:1px dashed #f6c79f52;animation:sponsor-orbit-turn 20s linear infinite}
.sponsor-art img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;animation:sponsor-world-float 7s ease-in-out infinite}
.sponsor-copy{display:grid;gap:2px;min-width:0;text-shadow:0 2px 12px #06131aaa}
.sponsor-copy small,.sponsor-copy em,.sponsor-copy b{font:700 clamp(5px,.43vw,7px)/1.2 DMMono;letter-spacing:.14em;text-transform:uppercase;font-style:normal}
.sponsor-copy small{color:#b9e7ff}.sponsor-copy strong{font:400 clamp(19px,1.8vw,28px)/.84 Instrument;letter-spacing:-.02em;white-space:nowrap}.sponsor-copy em{color:#f6c79f}.sponsor-copy b{margin-top:5px;color:#fff;opacity:.76;transition:opacity .2s ease,letter-spacing .2s ease}.sponsor-copy b i{font-style:normal;color:#f8aa8d}
.sponsor-orbit:hover .sponsor-art,.sponsor-orbit:focus-visible .sponsor-art{transform:translateY(-4px) rotate(-4deg);filter:brightness(1.08) saturate(1.08)}
.sponsor-orbit:hover .sponsor-copy b,.sponsor-orbit:focus-visible .sponsor-copy b{opacity:1;letter-spacing:.18em}
.sponsor-orbit:focus-visible{outline:1px solid #f7f3eab8;outline-offset:8px;border-radius:8px}
@keyframes sponsor-world-float{50%{transform:translateY(-5px) rotate(2deg)}}
@keyframes sponsor-orbit-turn{to{transform:rotate(360deg)}}
@media(max-width:700px){
 .sponsor-orbit{top:calc(99svh + 8px);right:5vw;width:auto;gap:7px}
 .sponsor-art{width:78px}
 .sponsor-copy strong{font-size:23px}
 .sponsor-copy small,.sponsor-copy em,.sponsor-copy b{font-size:5px}
}
@media(prefers-reduced-motion:reduce){.sponsor-art:after,.sponsor-art img{animation:none}}
