@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#222;background:#fff}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #1583df;outline-offset:5px}#space{position:fixed;inset:0}#space canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;filter:saturate(1.35)}#space canvas:active{cursor:grabbing}.grain{display:none}header{position:fixed;top:0;left:0;width:100%;padding:28px 3%;display:flex;justify-content:space-between;align-items:center;z-index:30;pointer-events:none}.brand{color:#171717;text-decoration:none;font-size:29px;letter-spacing:4px;display:flex;align-items:center;gap:0;pointer-events:auto}.logo{font-size:38px;line-height:1;letter-spacing:0;margin:0 3px}.topright{pointer-events:auto}.topright button{width:42px;height:42px;border:1px solid #eee;border-radius:50%;background:#fff;font-size:21px;box-shadow:0 2px 8px #00000004}.earth-shadow{position:fixed;left:50%;top:80%;width:35vw;height:3vh;transform:translateX(-50%);background:radial-gradient(ellipse,#2b4a6940,transparent 67%);filter:blur(9px);pointer-events:none;z-index:-1}.earth-caption{position:absolute;bottom:17%;left:0;width:100%;text-align:center;font-size:14px;letter-spacing:.1px;color:#59636c;pointer-events:none}.controls{position:absolute;right:3%;bottom:18%;display:flex;gap:8px}.controls button{width:32px;height:32px;background:#fff;border:1px solid #e5e9ec;border-radius:50%;font-size:15px;color:#70808b}.controls>span{display:none}footer{position:fixed;left:4%;right:4%;bottom:24px;text-align:center}nav{display:flex;gap:22px;justify-content:center;align-items:center;padding:10px 0}nav button{background:#fff;border:1px solid #e3e6e9;border-radius:50%;width:43px;height:43px;padding:3px;transition:transform .2s,box-shadow .2s;flex-shrink:0}nav img{height:100%;width:100%;object-fit:cover;border-radius:50%}nav button:hover,nav button.active{transform:translateY(-5px);box-shadow:0 4px 14px #2187d82a;border-color:#399ded}.mission{font-size:10px;color:#8a9299;margin:12px 0 0}.mission span{color:#a5acb2;margin-left:4px}#labels{position:fixed;inset:0;pointer-events:none}.marker{position:absolute;pointer-events:auto;transform:translate(-50%,-100%);background:none;border:0;padding:0;display:flex;align-items:center;flex-direction:column;isolation:isolate;min-width:48px;min-height:52px}.pinflag{width:44px;height:44px;background:white;border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:-3px 4px 12px #15365335;display:block;transition:scale .2s}.pinflag img{width:100%;height:100%;object-fit:cover;border-radius:50%;transform:rotate(45deg)}.marker:hover .pinflag{scale:1.15}.marker .name{position:absolute;top:55px;font-size:11px;white-space:nowrap;background:white;color:#343e48;box-shadow:0 3px 12px #00000015;border-radius:20px;padding:6px 11px}.marker::after{content:'';position:absolute;bottom:0;width:5px;height:5px;border-radius:50%;background:#ffffff;box-shadow:0 0 0 2px #1c71b22a}.eyebrow{font-size:9px;letter-spacing:1.5px;color:#8a949c}#panel{position:absolute;right:5%;top:24%;width:290px;padding:27px;background:#ffffffed;border:1px solid #e7ecef;backdrop-filter:blur(20px);border-radius:18px;box-shadow:0 16px 60px #21476a12;opacity:0;transform:translateY(15px);pointer-events:none;transition:opacity .4s,transform .4s;z-index:20}#panel.open{opacity:1;transform:none;pointer-events:auto}#close{position:absolute;right:15px;top:10px;font-size:25px;border:0;background:none;color:#8da0ab}#flag{font-size:35px;margin-top:22px}h2{font-size:27px;font-weight:500;margin:10px 0 22px;letter-spacing:-1px}.pending{font-size:8px;letter-spacing:1px;color:#4583ad}.pending i{display:inline-block;width:5px;height:5px;background:#62bc97;border-radius:50%;margin-right:5px}#panel p{font-size:12px;line-height:1.8;color:#7b8994}.allocation{border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3;padding:16px 0;margin-top:18px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7e8d98}.allocation strong{color:#1683c7;font-size:19px;font-weight:500}#panel .note{font-size:10px}.donate{width:100%;border:1px solid #e5edf2;background:#f5f9fc;color:#95a5b0;font-size:10px;padding:13px 10px;border-radius:8px;cursor:default;display:flex;justify-content:space-between}#loading{position:fixed;inset:0;background:#fff;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px;font-size:12px;color:#7592a5;letter-spacing:1px;z-index:50;transition:opacity .7s}#loading span{height:2px;background:#86d0f7;width:60px;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.2;transform:scaleX(.5)}}@media(max-width:650px){header{padding:22px 6%}.brand{font-size:23px}.logo{font-size:31px}.earth-caption{bottom:24%;font-size:12px}footer{bottom:25px;left:5%;right:5%}nav{gap:10px;flex-wrap:wrap;max-width:330px;margin:auto}nav button{width:36px;height:36px}.mission{font-size:9px;line-height:1.7;max-width:260px;margin:10px auto 0}.controls{bottom:25%;right:5%}.controls button{width:29px;height:29px}.pinflag{width:36px;height:36px}.marker{min-height:44px;min-width:40px}#panel{top:auto;bottom:20%;left:5%;right:5%;width:auto;padding:21px}#panel #flag{margin-top:10px;font-size:26px}#panel h2{font-size:23px;margin:6px 0 13px}#panel .note{display:none}#panel .allocation{margin-top:10px;padding:10px 0}#panel .donate{margin-top:12px}.earth-shadow{top:69%;width:60vw}}
header{padding:30px 3%}.brand{font-size:39px;letter-spacing:2px;font-weight:500;gap:0}.logo{width:38px;height:38px;margin:0 3px}.topright button{border:0;box-shadow:none;border-radius:0;width:36px;height:36px;padding:0;background:transparent}.topright svg{width:32px;height:32px}#space canvas{filter:none}.pinflag{transform:none;border-radius:50%;width:48px;height:48px;border:4px solid white;box-shadow:0 3px 7px #1a35533b;position:relative}.pinflag img{transform:none;border-radius:50%;object-fit:cover}.pinflag::after{content:'';position:absolute;left:12px;bottom:-15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:16px solid white;z-index:-1}.marker{min-height:60px;transform:translate(-50%,-100%)}.marker::after{display:none}.earth-shadow{z-index:0;top:82%;width:45vw;height:5vh;filter:blur(8px);background:radial-gradient(ellipse,#42566b5c,transparent 67%)}.earth-caption{bottom:12%;font-size:20px;color:#222}footer{bottom:24px}nav{gap:25px}nav button{width:46px;height:46px;border:1px solid #d7d7d7;padding:0}.mission{font-size:9px;margin-top:9px;color:#a5acb2}.controls{opacity:0;transition:opacity .2s}.controls:hover,.controls:focus-within{opacity:1}@media(max-width:650px){header{padding:22px 5%}.brand{font-size:29px}.logo{width:29px;height:29px}.pinflag{width:40px;height:40px;border-width:3px}.pinflag::after{left:10px;bottom:-13px;border-left-width:7px;border-right-width:7px;border-top-width:14px}.earth-caption{bottom:23%;font-size:16px}.earth-shadow{top:68%;width:72vw}nav{gap:12px}nav button{width:37px;height:37px}}
.topright{display:flex;align-items:center;gap:20px;position:relative}.topright .ca-button{display:flex;align-items:center;gap:9px;width:auto;height:auto;padding:9px 12px;border:1px solid #e9edf0;border-radius:7px;font-size:10px;white-space:nowrap;color:#596773;background:#ffffffdd}.ca-button code{font-size:10px;color:#333;letter-spacing:0}.ca-button>span:first-child{font-size:9px;font-weight:600;letter-spacing:1px}.copy-icon{font-size:16px}#copy-status{position:absolute;right:55px;top:44px;font-size:11px;color:#50856c}#charity-content h3{font-size:19px;font-weight:500;line-height:1.4;margin:5px 0 10px;color:#172f3c}#charity-content p{font-size:12px;line-height:1.8}.charity-links{display:flex;flex-direction:column;gap:15px;margin-top:24px}.charity-links .donate{display:block;text-align:center;text-decoration:none;font-size:12px;background:#167fbe;border-color:#167fbe;color:white;cursor:pointer;padding:13px 10px}.charity-links .donate:hover{background:#096da8}.gg-link{font-size:11px;text-align:center;text-decoration:none;color:#5b859e}.gg-link:hover{text-decoration:underline}.brand{white-space:nowrap}#panel{min-height:270px}@media(max-width:850px){.topright{gap:12px}.topright .ca-button code{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis}}@media(max-width:650px){header{align-items:start;gap:8px}.topright{gap:8px}.topright .ca-button{padding:7px 8px;gap:5px;margin-top:2px}.topright .ca-button code{font-size:9px;max-width:92px}.topright #sound{width:25px;height:30px}.topright #sound svg{width:24px;height:24px}.brand{font-size:24px}.brand .logo{width:25px;height:25px}#charity-content h3{font-size:17px}.charity-links{margin-top:16px;gap:11px}#panel{min-height:0}.mission{max-width:320px}}

#charity-content .charity-stat{font-size:16px;font-weight:500;color:#167fbe;margin:17px 0 3px}#charity-content .charity-ranking{font-size:10px;color:#697c87;margin:0}#charity-content .charity-checked{font-size:9px;color:#8a9299;line-height:1.5;margin:18px 0 0}#panel{max-height:68vh;overflow:auto}@media(max-width:650px){#panel{max-height:58vh;bottom:22%}#charity-content .charity-stat{font-size:14px;margin-top:10px}}

@media(min-width:651px){nav{gap:18px}}@media(max-width:650px){nav{gap:8px;max-width:360px}nav button{width:32px;height:32px}}

/* Universe surrounding the globe */
:root{background:#030610;color:#eaf2ff}body{background:radial-gradient(ellipse at 48% 44%,#101c38 0%,#060c1c 45%,#02040d 90%)}body::before{content:'';position:fixed;inset:0;pointer-events:none;background:url('./assets/stars.svg') center/cover;z-index:0}#space{z-index:1}#labels{z-index:2}.earth-caption,.controls{z-index:3}header,footer{z-index:30}.brand{color:#f1f6ff}.topright button{color:#dcecff}.topright .ca-button{background:#0b1329d9;border-color:#30405a;color:#b4c9e2}.ca-button code{color:#e4efff}.earth-shadow{display:none}.earth-caption{color:#cedcf2;text-shadow:0 1px 12px #000}nav button{background:#101b30;border-color:#4b607d;box-shadow:0 2px 16px #0006}nav button:hover,nav button.active{border-color:#81c7ff;box-shadow:0 0 20px #489cff66}.mission{color:#a0b2cc}.mission span{color:#a0b2cc}#panel{background:#0a1327ed;border-color:#34435a;box-shadow:0 16px 60px #0006;color:#f0f5ff}.eyebrow{color:#a8b8d0}#close{color:#b8cbe3}#charity-content h3{color:#e3efff}#charity-content p{color:#b7c8df}#charity-content .charity-stat{color:#7bccff}#charity-content .charity-ranking,#charity-content .charity-checked{color:#a2b4ce}.gg-link{color:#9ed3ff}.controls button{background:#0c172b;border-color:#3b4f6b;color:#d5e7ff}.marker .name{background:#0c172bef;color:#ecf5ff;border:1px solid #3c5576;box-shadow:0 3px 16px #0007}#loading{background:#030610;color:#dceaff}#copy-status{color:#a2e8c4}

body{background:#030610 url('./assets/galaxy-background.jpg') center center/cover fixed no-repeat}body::before{background:linear-gradient(180deg,#02030a38,#02030a08 45%,#02030a66),url('./assets/stars.svg') center/cover}#panel{background:#081123ed}footer{filter:drop-shadow(0 2px 5px #000)}header .brand{text-shadow:0 2px 12px #0008}

body{min-height:100vh;min-height:100dvh}
