/* Oddusee Hub Galaxy — oddusee.com homepage. Brass-on-plum, mobile first, high contrast. No hex: rgb() only. */
.odg-html{scroll-behavior:smooth}
body.odg-body{margin:0;background:rgb(13,9,16);color:rgb(244,237,224);font-family:"Sofia Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.odg-body.odg-lock{overflow:hidden}
.odg,.odg *{box-sizing:border-box}
.odg a{color:inherit;text-decoration:none}
.odg :focus-visible{outline:2px solid rgb(242,207,116);outline-offset:3px;border-radius:3px}
.odg-wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.odg-eyebrow{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgb(215,166,63);margin:0 0 10px}
.odg-h2{font-family:"Anton",Impact,sans-serif;font-weight:400;font-size:clamp(26px,4vw,40px);letter-spacing:.03em;text-transform:uppercase;margin:0 0 16px;line-height:1.05}
.odg-btn{display:inline-block;background:rgb(215,166,63);color:rgb(13,9,16);font:700 13px/1 "Space Mono",monospace;letter-spacing:.08em;text-transform:uppercase;padding:13px 18px;border-radius:4px;border:0;cursor:pointer}
.odg-btn:hover{background:rgb(242,207,116)}
.odg-linkbtn{background:none;border:0;color:rgb(242,207,116);font:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}

/* top strip (sits under the fixed network HQ bar on desktop) */
.odg-top{position:sticky;top:0;z-index:60;background:rgba(13,9,16,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgb(44,35,51)}
.admin-bar .odg-top{top:32px}
@media(min-width:921px){.odg-top{top:46px}.admin-bar .odg-top{top:78px}}
.odg-top-in{display:flex;align-items:center;gap:18px;height:58px}
.odg-brand{font-family:"Anton",Impact,sans-serif;font-size:22px;letter-spacing:.08em;color:rgb(244,237,224);white-space:nowrap}
.odg-brand b{color:rgb(215,166,63);font-weight:400}
.odg-topnav{display:flex;gap:16px;margin-left:auto;align-items:center}
.odg-topnav a{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgb(200,193,180)}
.odg-topnav a:hover{color:rgb(255,255,255)}
.odg-topnav .odg-topcta{color:rgb(13,9,16);background:rgb(215,166,63);padding:9px 14px;border-radius:3px;font-weight:700}
.odg-topnav .odg-topcta:hover{background:rgb(242,207,116);color:rgb(13,9,16)}
@media(max-width:640px){.odg-topnav a:not(.odg-topcta){display:none}}

/* hero */
.odg-hero{padding:38px 0 8px;background:radial-gradient(900px 420px at 85% -10%,rgba(215,166,63,.14),transparent 60%),radial-gradient(700px 400px at -10% 10%,rgba(227,93,138,.10),transparent 60%)}
.odg-h1{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(38px,7.6vw,92px);line-height:.94;letter-spacing:.01em;margin:0;color:rgb(244,237,224)}
.odg-intro{max-width:52ch;color:rgb(200,193,180);font-size:18px;margin:16px 0 10px}
.odg-stats{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgb(173,161,144);margin:0 0 6px}
.odg-stats b{color:rgb(215,166,63);font-weight:700}

/* ---------- the stage: lite (flat map) first, 3D when the browser can ---------- */
.odg-galaxy{position:relative;margin:14px 0 0}
.odg-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;padding:14px 12px 28px;overflow:hidden}
.odg-space{position:absolute;inset:0;background:radial-gradient(1px 1px at 12% 22%,rgba(244,237,224,.9),transparent),radial-gradient(1px 1px at 32% 68%,rgba(244,237,224,.7),transparent),radial-gradient(1.5px 1.5px at 58% 14%,rgba(244,237,224,.9),transparent),radial-gradient(1px 1px at 78% 44%,rgba(244,237,224,.8),transparent),radial-gradient(1px 1px at 88% 80%,rgba(244,237,224,.7),transparent),radial-gradient(1.5px 1.5px at 44% 88%,rgba(244,237,224,.8),transparent),radial-gradient(1px 1px at 66% 60%,rgba(244,237,224,.6),transparent),radial-gradient(1px 1px at 22% 50%,rgba(244,237,224,.6),transparent),radial-gradient(1200px 600px at 50% 45%,rgba(60,40,80,.38),transparent 70%),rgb(8,5,11)}
.odg-canvas{display:none}
.odg-earthbox{position:relative;width:min(100%,940px);aspect-ratio:1.75;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px rgb(44,35,51)}
.odg-flat{position:absolute;inset:0;background:rgb(10,18,32)}
.odg-flat img{position:absolute;width:514.3%;height:auto;max-width:none;left:-71.4%;top:-87.5%;display:block}
.odg-pins{position:absolute;inset:0}
.odg-pin{position:absolute;left:var(--fx);top:var(--fy);transform:translate(0,-50%);height:20px;display:flex;align-items:center;gap:6px;font:600 12px/1 "Sofia Sans",system-ui,sans-serif;color:rgb(244,237,224);white-space:nowrap}
.odg-pin i{flex:none;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:rgb(242,207,116);box-shadow:0 0 0 3px rgba(242,207,116,.28),0 0 12px rgba(242,207,116,.75)}
.odg-pin span{background:rgba(13,9,16,.78);padding:3px 7px;border-radius:3px;line-height:1.1}
.odg-pin:hover span,.odg-pin:focus span{background:rgb(215,166,63);color:rgb(13,9,16)}
.odg-pin.odg-soon i{width:8px;height:8px;margin-left:-4px;background:rgb(170,166,170);box-shadow:0 0 0 2px rgba(170,166,170,.25)}
.odg-pin.odg-soon span{color:rgb(214,209,200);border:1px dashed rgba(214,209,200,.5)}
@media(max-width:640px){.odg-pin span{display:none}.odg-pin:hover span,.odg-pin:focus span{display:block}}

.odg-orbitals{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:980px}
.odg-orbital{position:relative}
.odg-planet{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 8px;border:1px solid rgb(58,47,68);border-radius:30px;background:rgb(21,15,27);font:700 13px/1 "Sofia Sans",system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:rgb(244,237,224)}
.odg-planet:hover{border-color:var(--pc);background:rgb(31,22,38)}
.odg-planet i{flex:none;width:calc(12px + 14px*var(--ps,.7));height:calc(12px + 14px*var(--ps,.7));border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.6),var(--pc) 42%,rgba(0,0,0,.45));box-shadow:0 0 14px var(--pc)}
.odg-board-hint{display:none;font-style:normal;color:rgb(242,207,116)}
.odg-moons{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:7;background:rgb(21,15,27);border:1px solid rgb(70,58,80);border-radius:10px;padding:8px;min-width:190px;flex-direction:column;gap:2px;box-shadow:0 14px 30px rgba(0,0,0,.5)}
.odg-orbital:hover .odg-moons,.odg-orbital:focus-within .odg-moons,.odg-orbital.odg-active .odg-moons{display:flex}
.odg-orbital.odg-active .odg-board-hint{display:inline}
.odg-moon{display:flex;gap:9px;align-items:center;padding:7px 9px;border-radius:6px;font-size:14px;color:rgb(244,237,224)}
.odg-moon:hover,.odg-moon:focus{background:rgba(215,166,63,.16)}
.odg-moon i{flex:none;width:8px;height:8px;border-radius:50%;background:rgb(244,237,224);box-shadow:0 0 6px rgba(244,237,224,.7)}
.odg-legend{display:none;position:absolute;right:14px;top:12px;z-index:5;gap:14px;flex-wrap:wrap;justify-content:flex-end;font:12px "Space Mono",monospace;color:rgb(214,209,200);max-width:60%}
.odg-legend span{display:inline-flex;align-items:center;gap:6px}
.odg-legend span::before{content:"";width:9px;height:9px;border-radius:50%;background:rgb(242,207,116)}
.odg-legend .odg-lg-soon::before{background:rgb(170,166,170)}
.odg-legend .odg-lg-planet::before{background:rgb(227,93,138)}
.odg-3d-btn{position:absolute;right:14px;top:12px;z-index:6;background:rgb(13,9,16);color:rgb(242,207,116);border:1px solid rgb(215,166,63);border-radius:20px;padding:8px 13px;font:700 11px "Space Mono",monospace;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.odg-3d-btn[hidden]{display:none}

/* 3D mode: the canvas draws the Earth and the planets, the same links float over them */
.odg-3d .odg-stage{display:block;height:min(80vh,860px);min-height:540px;padding:0}
@media(max-width:760px){.odg-3d .odg-stage{height:min(100svh,840px);min-height:600px}}
.odg-3d .odg-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:grab}
.odg-3d .odg-earthbox{position:absolute;inset:0;width:auto;aspect-ratio:auto;border-radius:0;overflow:visible;box-shadow:none;pointer-events:none}
.odg-3d .odg-flat{display:none}
.odg-3d .odg-pin{left:0!important;top:0!important;display:block;width:0;height:0;overflow:visible;pointer-events:auto;will-change:transform;font-size:11px}
.odg-3d .odg-pin i{position:absolute;left:-5px;top:-5px;margin:0}
.odg-3d .odg-pin.odg-soon i{left:-4px;top:-4px}
.odg-3d .odg-pin span{position:absolute;left:var(--lx,8px);top:var(--ly,-9px);height:18px;line-height:12px;white-space:nowrap}
.odg-3d .odg-pin.odg-hide{display:none}
.odg-3d .odg-pin.odg-dotonly span{display:none}
.odg-3d .odg-pin.odg-dotonly:hover span,.odg-3d .odg-pin.odg-dotonly:focus span{display:block;left:8px;top:-9px;z-index:3}
.odg-3d .odg-orbitals{position:absolute;inset:0;display:block;max-width:none;pointer-events:none}
.odg-3d .odg-orbital{position:absolute;inset:0;pointer-events:none}
.odg-3d .odg-orbital.odg-hide{display:none}
.odg-3d .odg-planet{position:absolute;left:0;top:0;pointer-events:auto;transform-origin:50% 0;padding:5px 11px 5px 7px;font-size:12px;background:rgba(13,9,16,.82);will-change:transform}
.odg-3d .odg-planet i{width:9px;height:9px;box-shadow:0 0 8px var(--pc)}
.odg-3d .odg-moons{position:static;display:none;background:none;border:0;padding:0;min-width:0;box-shadow:none}
.odg-3d .odg-orbital.odg-active .odg-moons{display:block}
.odg-3d .odg-moon{position:absolute;left:0;top:0;pointer-events:auto;background:rgba(13,9,16,.86);border:1px solid rgba(215,166,63,.5);border-radius:20px;padding:4px 10px 4px 7px;font-size:12px;white-space:nowrap;will-change:transform}
.odg-3d .odg-moon i{width:6px;height:6px}
.odg-3d .odg-legend{display:flex}
.odg-focus .odg-pin{opacity:.4}
@media(max-width:640px){.odg-3d .odg-pin span{display:none}.odg-3d .odg-pin:hover span,.odg-3d .odg-pin:focus span{display:block}}
@media(min-width:641px){.odg-3d .odg-pin span{display:block}}

/* below the galaxy */
.odg-list{padding:38px 16px 8px}
.odg-citygrid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.odg-citygrid a{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid rgb(44,35,51);border-radius:10px;background:rgb(21,15,27);min-height:64px}
.odg-citygrid a:hover{border-color:rgb(215,166,63)}
.odg-citygrid b{font-family:"Anton",Impact,sans-serif;font-weight:400;letter-spacing:.04em;font-size:18px;line-height:1.1;text-transform:uppercase}
.odg-citygrid span{font:12px "Space Mono",monospace;color:rgb(173,161,144)}
.odg-li-soon a{border-style:dashed}
.odg-brandgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.odg-brand-card{padding:14px 16px 16px;border:1px solid rgb(44,35,51);border-top:3px solid var(--pc);border-radius:12px;background:rgb(21,15,27)}
.odg-brand-title{font-family:"Anton",Impact,sans-serif;font-size:22px;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:10px;line-height:1.1}
.odg-brand-title i{flex:none;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.6),var(--pc) 42%,rgba(0,0,0,.45));box-shadow:0 0 10px var(--pc)}
.odg-brand-title:hover{color:rgb(242,207,116)}
.odg-brand-card p{color:rgb(200,193,180);font-size:14px;margin:6px 0 10px}
.odg-brand-card ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.odg-brand-card li a{display:inline-block;font:12px "Space Mono",monospace;padding:6px 10px;border:1px solid rgb(58,47,68);border-radius:20px;color:rgb(244,237,224)}
.odg-brand-card li a:hover{border-color:rgb(215,166,63);color:rgb(242,207,116)}

/* Get Listed, the plain version */
.odg-gl-lede{max-width:64ch;color:rgb(200,193,180);margin:0 0 14px}
.odg-gl-static-h{font:700 12px "Space Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:rgb(215,166,63);margin:18px 0 8px}
.odg-gl-links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.odg-gl-links a{display:inline-block;font-size:14px;padding:6px 11px;border:1px solid rgb(58,47,68);border-radius:20px}
.odg-gl-links a:hover{border-color:rgb(215,166,63)}
.odg-req{position:relative;max-width:640px}
.odg-req-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.odg-req-grid{grid-template-columns:1fr}}
.odg-req label{display:flex;flex-direction:column;gap:5px;font-size:14px;color:rgb(214,209,200)}
.odg-req label em{color:rgb(242,207,116);font-style:normal}
.odg-req input,.odg-req textarea,.odg-panel-search{width:100%;background:rgb(31,22,38);border:1px solid rgb(80,68,92);color:rgb(244,237,224);padding:10px 12px;border-radius:6px;font:inherit;font-size:16px}
.odg-req input:focus,.odg-req textarea:focus,.odg-panel-search:focus{outline:2px solid rgb(242,207,116);outline-offset:1px;border-color:rgb(215,166,63)}
.odg-req-note{margin:10px 0 12px}
.odg-hp{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;overflow:hidden}
.odg-req-status{display:inline-block;margin-left:12px;font-size:14px;color:rgb(200,193,180)}
.odg-req-status.bad{color:rgb(255,160,178)}
.odg-req-done{font-size:16px;color:rgb(244,237,224)}
.odg-gl-phase2{font-size:13px;color:rgb(173,161,144);margin:18px 0 0}

/* footer */
.odg-foot{margin-top:40px;border-top:1px solid rgb(44,35,51);padding:28px 0 96px;background:rgb(10,7,13)}
.odg-foot-in{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center}
.odg-foot nav{display:flex;flex-wrap:wrap;gap:14px 18px}
.odg-foot nav a{font:12px "Space Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:rgb(200,193,180)}
.odg-foot nav a:hover{color:rgb(242,207,116)}
.odg-foot p{flex-basis:100%;margin:0;font-size:13px;color:rgb(173,161,144)}

/* the Get Listed beacon (bottom-left; the network's mobile NETWORK button owns bottom-right) */
.odg-beacon{position:fixed;left:14px;bottom:14px;z-index:99990;display:flex;align-items:center;gap:9px;background:rgb(13,9,16);color:rgb(242,207,116);border:1px solid rgb(215,166,63);border-radius:30px;padding:12px 17px;font:700 12px/1 "Space Mono",monospace;letter-spacing:.15em;text-transform:uppercase;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.odg-beacon:hover{background:rgb(215,166,63);color:rgb(13,9,16)}
.odg-beacon i{width:9px;height:9px;border-radius:50%;background:rgb(227,93,138);box-shadow:0 0 0 0 rgba(227,93,138,.7);animation:odg-pulse 2.2s ease-out infinite}
@keyframes odg-pulse{0%{box-shadow:0 0 0 0 rgba(227,93,138,.7)}70%{box-shadow:0 0 0 12px rgba(227,93,138,0)}100%{box-shadow:0 0 0 0 rgba(227,93,138,0)}}

/* the Get Listed panel */
.odg-panel{position:fixed;inset:0;z-index:1000000;background:rgba(6,4,8,.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center}
.odg-panel[hidden]{display:none}
.odg-panel-card{position:relative;width:100%;max-width:660px;max-height:92vh;overflow:auto;background:rgb(21,15,27);border:1px solid rgb(80,68,92);border-radius:18px 18px 0 0;padding:22px 18px 28px}
@media(min-width:700px){.odg-panel{align-items:center;padding:20px}.odg-panel-card{border-radius:18px;padding:26px 28px 30px}}
.odg-panel-x{position:absolute;top:6px;right:10px;background:none;border:0;color:rgb(244,237,224);font-size:32px;line-height:1;cursor:pointer;padding:4px 8px}
.odg-panel-h{font-family:"Anton",Impact,sans-serif;font-weight:400;font-size:clamp(26px,5vw,34px);margin:0 0 12px;text-transform:uppercase;letter-spacing:.03em;line-height:1.05;color:rgb(244,237,224)}
.odg-panel-sub{color:rgb(214,209,200);margin:0 0 12px;font-size:15px}
.odg-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.odg-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 12px;border:1px solid rgb(80,68,92);background:rgb(31,22,38);color:rgb(244,237,224);border-radius:10px;cursor:pointer;font:inherit;text-align:left}
.odg-chip:hover{border-color:rgb(215,166,63)}
.odg-chip b{font-size:15px;line-height:1.15}
.odg-chip span{font:11px "Space Mono",monospace;color:rgb(173,161,144)}
.odg-chip-soon{border-style:dashed}
.odg-chips-h{flex-basis:100%;font:12px "Space Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:rgb(215,166,63);margin-top:6px}
.odg-chips-empty{flex-basis:100%;color:rgb(200,193,180);margin:0}
.odg-door{flex-direction:row;align-items:center;gap:9px}
.odg-door i{width:10px;height:10px;border-radius:50%;background:var(--dc,rgb(215,166,63));box-shadow:0 0 8px var(--dc,rgb(215,166,63))}
.odg-door.on{border-color:rgb(215,166,63);box-shadow:inset 0 0 0 1px rgb(215,166,63);background:rgb(40,30,48)}
.odg-panel-acts{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.odg-panel-foot{font-size:13px;color:rgb(173,161,144);margin:14px 0 0}

/* boarding overlay + jet */
.odg-board{position:fixed;inset:0;z-index:1000001;background:rgba(6,4,8,.6)}
.odg-board[hidden]{display:none}
.odg-board-card{position:absolute;top:16%;left:50%;transform:translateX(-50%);background:rgb(13,9,16);border:1px solid rgb(215,166,63);border-radius:12px;padding:16px 22px 14px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:min(88vw,300px);box-shadow:0 20px 60px rgba(0,0,0,.65);text-align:center}
.odg-board-card .odg-eyebrow{margin:0}
.odg-board-card strong{font-family:"Anton",Impact,sans-serif;font-weight:400;font-size:26px;letter-spacing:.04em;text-transform:uppercase;color:rgb(244,237,224);line-height:1.1}
.odg-skip{margin-top:8px;background:none;border:1px solid rgb(80,68,92);color:rgb(244,237,224);font:12px "Space Mono",monospace;letter-spacing:.12em;text-transform:uppercase;padding:7px 14px;border-radius:20px;cursor:pointer}
.odg-skip:hover{border-color:rgb(215,166,63);color:rgb(242,207,116)}
.odg-jet{position:fixed;left:0;top:0;width:72px;height:72px;filter:drop-shadow(0 0 10px rgba(255,190,90,.75));will-change:transform;pointer-events:none}
.odg-jet-fire{transform-box:fill-box;transform-origin:50% 0;animation:odg-fire .12s infinite alternate}
@keyframes odg-fire{from{opacity:.55;transform:scaleY(.75)}to{opacity:1;transform:scaleY(1.3)}}

@media(prefers-reduced-motion:reduce){.odg-html{scroll-behavior:auto}.odg-beacon i,.odg-jet-fire{animation:none}}

/* phones: shorter hero, a two-dot legend */
@media(max-width:640px){.odg-hero{padding:26px 0 4px}.odg-intro{font-size:16px;margin:12px 0 8px}.odg-legend .odg-lg-planet{display:none}.odg-legend{gap:10px;font-size:11px}}
