:root{color-scheme:dark;--bg:#070d1e;--panel:#101b32;--line:#263752;--text:#f1f6ff;--muted:#a5b5cf;--blue:#3788ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}button,.button{cursor:pointer;border:0;border-radius:8px;padding:12px 18px;font:inherit;font-weight:650;display:inline-block}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--blue);color:white}.primary:hover{background:#60a6ff}.ghost{background:#13213a;color:#eaf3ff;border:1px solid #466084}.ghost:hover{background:#233b60}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px max(5%,24px);background:#060b18f5;position:sticky;top:0;z-index:10;border-bottom:1px solid #23304b}.brand{font-family:Georgia,serif;font-size:23px;letter-spacing:3px;white-space:nowrap;display:flex;align-items:center;gap:8px}.brand small{font-family:Segoe UI,Arial,sans-serif;font-size:10px;letter-spacing:4px;display:block;text-align:center;margin-top:3px}.brand-star{font-size:36px;color:#a9d5ff}.topbar nav{display:flex;gap:25px;color:#b7c9e2;font-size:14px}.topbar nav a:hover{color:white}.auth-actions{display:flex;align-items:center;gap:9px}#user-label{font-size:12px;color:#a7c9ff}.hidden{display:none!important}.hero{min-height:590px;position:relative;display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 72% 38%,#244677a3,transparent 43%),radial-gradient(ellipse at 55% 20%,#57386a88,transparent 44%),linear-gradient(150deg,#060b18 14%,#101e39 66%,#060b18)}.hero:after{content:"";position:absolute;bottom:-30px;left:0;right:0;height:175px;background:linear-gradient(160deg,transparent 30%,#040916 31%,#040916 46%,transparent 47%),linear-gradient(10deg,transparent 29%,#080e1a 30%);opacity:.9}.stars{position:absolute;inset:0;background-image:radial-gradient(2px 2px at 11% 17%,#fff,transparent),radial-gradient(2px 2px at 71% 21%,#fff,transparent),radial-gradient(1px 1px at 40% 62%,#fff,transparent),radial-gradient(2px 2px at 84% 56%,#fff,transparent),radial-gradient(1px 1px at 26% 82%,#fff,transparent),radial-gradient(1px 1px at 60% 44%,#fff,transparent);background-size:230px 220px,310px 280px,170px 190px,350px 290px,190px 240px,280px 260px;opacity:.7}.hero-inner{position:relative;z-index:1;padding:80px max(8%,24px);max-width:1000px}.eyebrow{color:#83baff;letter-spacing:4px;font-size:12px;font-weight:700}.hero h1{font-size:clamp(42px,5.4vw,76px);line-height:1.1;letter-spacing:-2px;margin:20px 0}.hero h1 em{font-style:normal;color:#a7d4ff}.intro{max-width:610px;color:#c2d0e4;line-height:1.8;font-size:18px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:30px max(5%,24px);position:relative;z-index:1}.features article{background:#111d33;border:1px solid #263755;border-radius:12px;padding:25px}.features span{font-size:27px}.features h3{margin-bottom:6px}.features p,.section-heading p,.equipment>p{color:var(--muted);line-height:1.65}.section{padding:75px max(6%,24px)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.section h2{font-size:clamp(27px,3vw,39px);margin:8px 0}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.filters button{padding:9px 13px;background:#14223b;color:#bcd0ea;border:1px solid #263e61}.filters button.active{background:#327ee2;color:white}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo-card{background:#111d32;border:1px solid #263755;border-radius:13px;overflow:hidden;cursor:pointer}.photo-card:hover{border-color:#619fe7}.photo-card img{width:100%;height:230px;object-fit:cover;display:block}.photo-info{padding:16px}.photo-info h3{margin:0 0 8px}.photo-info p{color:#9eb1cb;margin:0;font-size:14px}.empty{color:var(--muted);text-align:center;padding:50px}.equipment{background:linear-gradient(130deg,#111f3a,#08101f);border-block:1px solid #233551}.equipment>p{max-width:650px}.equipment .button{margin-top:12px}footer{padding:45px 6%;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#9aacc6}footer .brand{font-size:18px}dialog{background:#101b30;color:white;border:1px solid #3b5375;border-radius:16px;max-width:min(94vw,540px);max-height:90vh;padding:0}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.modal{padding:30px;position:relative;overflow:auto;max-height:90vh}.modal h2{margin-top:5px}.modal>p{color:#adbed6;line-height:1.6}.modal label{display:block;margin:17px 0;color:#c6d8ed;font-size:14px}.modal input,.modal select,.modal textarea{display:block;width:100%;margin-top:7px;background:#0a1326;color:white;border:1px solid #3a5174;border-radius:8px;padding:12px;font:inherit}.modal .full{width:100%;margin-top:10px}.close{position:absolute;right:15px;top:12px;background:transparent;color:white;font-size:28px;padding:2px 10px}.detail img{width:100%;max-height:420px;object-fit:contain;border-radius:9px;background:#050a15}.detail #detail-gear{line-height:1.9;color:#b9cee7}.detail #detail-gear strong{color:white}@media(max-width:900px){.topbar{flex-wrap:wrap}.topbar nav{order:3;width:100%;justify-content:center}.features{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.topbar{padding:13px}.topbar nav{gap:12px;font-size:12px;flex-wrap:wrap}.brand{font-size:17px}.auth-actions button{padding:9px}.features,.gallery{grid-template-columns:1fr}.section-heading,footer{align-items:flex-start;flex-direction:column}.hero{min-height:540px}.hero-inner{padding:60px 22px}.hero h1{letter-spacing:-1px}.photo-card img{height:220px}}

.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:24px}.member-card{text-align:left;background:#111d32;color:white;border:1px solid #314766;border-radius:12px;padding:20px}.member-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;display:block;margin-bottom:12px}.member-card p,.comment{color:#bdcce1}.social{display:flex;align-items:center;gap:16px;margin-top:20px}#comments-list{max-height:210px;overflow:auto}.comment{border-bottom:1px solid #263755;padding:8px 0}#member-details .ghost{margin:5px}

/* Read-only member profile and personal gallery */
.profile-view-header{display:flex;align-items:center;gap:18px;margin-bottom:20px}.profile-view-avatar{width:90px;height:90px;border-radius:50%;object-fit:cover;border:2px solid #476c9b}.profile-view-header h2{margin:0}.profile-view-header p{color:#bdcce1;line-height:1.5}.profile-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px;margin-top:12px}.profile-photo{background:#111d32;border:1px solid #314766;color:white;border-radius:10px;overflow:hidden;padding:0;text-align:left}.profile-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.profile-photo span{display:block;padding:8px;font-size:13px}.profile-photo:hover{border-color:#77a7e5}

/* Asteria Observatory · Deep Space Explorer visual redesign (presentation only) */
:root{--bg:#030915;--panel:#071629;--line:#24436a;--text:#edf6ff;--muted:#9db9d7;--blue:#03b8fa;--violet:#8044ff}
body{background:radial-gradient(ellipse at 100% 78%,#21134d 0%,transparent 29%),radial-gradient(ellipse at 0% 25%,#081f3b 0%,transparent 30%),#030915}
.topbar{background:#020c1cf2;border-bottom:1px solid #1b5275;box-shadow:0 5px 28px #0008;min-height:78px}
.brand{font-family:Segoe UI,Arial,sans-serif;font-weight:300;letter-spacing:4px;font-size:23px;gap:12px}
.brand small{font-weight:500;letter-spacing:4.5px;font-size:9px}
.brand-icon{width:54px;height:54px;filter:drop-shadow(0 0 10px #3188ff6b);flex-shrink:0}
.topbar nav a{transition:color .2s;text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}
.topbar nav a:hover,.topbar nav a:focus-visible{color:#7de5ff;border-bottom-color:#02c7ff}
.primary{background:linear-gradient(115deg,#00b9ef,#4057f4 60%,#873bff);box-shadow:0 0 18px #187aff47;border:1px solid #4b9eff;color:white}
.primary:hover{background:linear-gradient(115deg,#22dcff,#5d72ff 60%,#9b5bff);box-shadow:0 0 22px #1fbaff80}
.ghost{background:#06182dce;border-color:#3773a4;color:#e9f6ff}
.ghost:hover{background:#103358}
button,.button{border-radius:9px}
.hero{min-height:590px;background:radial-gradient(ellipse at 61% 20%,#4e1c8d7d,transparent 35%),radial-gradient(ellipse at 83% 54%,#157cb96b,transparent 38%),linear-gradient(120deg,#020916,#091d42 47%,#140d2f 85%,#020916);border-bottom:1px solid #234b7a}
.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 77% 48%,#d2b3ff 0%,#6e62d088 9%,transparent 31%),radial-gradient(ellipse at 56% 20%,#f985be6b 0%,transparent 21%),radial-gradient(ellipse at 75% 20%,#0088d96b 0%,transparent 32%);opacity:.58}
.hero:after{height:120px;bottom:-1px;opacity:.75}
.hero-inner{max-width:1200px;width:100%;padding:80px max(6%,24px) 110px}
.hero-brand{display:flex;align-items:center;gap:28px;margin-bottom:30px}
.hero-brand>img{width:clamp(95px,13vw,174px);filter:drop-shadow(0 0 18px #307aff70)}
.hero-brand h1{font-family:Segoe UI,Arial,sans-serif;font-size:clamp(40px,6.5vw,94px);font-weight:250;letter-spacing:.13em;line-height:1;margin:0;text-shadow:0 0 26px #69a8ff77}
.hero-subtitle{font-size:clamp(15px,2.2vw,30px);font-weight:300;letter-spacing:.5em;margin:12px 0 14px 5px}
.hero-tagline{font-size:clamp(10px,1.3vw,15px);letter-spacing:.38em;color:#d7e9ff;margin:0 0 0 5px}
.hero-heading{font-size:clamp(24px,2.8vw,40px);font-weight:450;margin:16px 0 4px}
.intro{max-width:650px;font-size:16px;color:#c6d9ef}
.hero-actions{margin-top:26px}
.features{gap:14px;padding-top:35px}
.features article,.photo-card,.member-card{background:linear-gradient(155deg,#071b30f5,#06101fee);border:1px solid #244768;box-shadow:0 8px 24px #0005;transition:transform .2s,border-color .2s,box-shadow .2s}
.features article:hover,.photo-card:hover,.member-card:hover{transform:translateY(-3px);border-color:#28c9fa;box-shadow:0 9px 28px #00aaff20}
.features article{border-radius:14px}
.features span{color:#4ad8ff}
.section{padding-top:64px;padding-bottom:70px}
.section h2{font-weight:550;letter-spacing:.01em}
.eyebrow{color:#66d9ff}
.filters button{background:#0b1c34;border:1px solid #244768;color:#d4e7ff}
.filters button.active{background:linear-gradient(115deg,#005ba7,#4d40ad);border-color:#6ad9ff;box-shadow:0 0 13px #378cff66}
.gallery{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.photo-card img{height:210px}
.photo-info{background:#061221}
.photo-info h3{font-size:16px}
.equipment{background:linear-gradient(115deg,#071b31,#0c1235 62%,#21113b);border-color:#22486d}
.member-card{border-radius:12px}
footer{background:#030b19dd;border-top:1px solid #224569}
footer .brand{font-size:18px}
dialog{background:#08182d;border-color:#34628c;box-shadow:0 20px 80px #000b}
.modal input,.modal select,.modal textarea{background:#061226;border-color:#34628c}
.modal input:focus,.modal textarea:focus,.modal select:focus{outline:2px solid #33c5fa;outline-offset:1px}
.profile-view-avatar{border-color:#48bfff;box-shadow:0 0 16px #228aff50}
@media(max-width:700px){.hero-brand{gap:15px}.hero-brand>img{width:85px}.hero-brand h1{font-size:clamp(31px,7vw,54px)}.hero-subtitle{letter-spacing:.3em;font-size:13px}.hero-tagline{letter-spacing:.16em;font-size:10px}.hero-inner{padding:60px 20px 90px}}
@media(max-width:440px){.hero-brand>img{width:68px}.hero-brand h1{font-size:30px}.hero-subtitle{font-size:11px}.hero-tagline{font-size:9px}}

/* Deep Space Explorer — faithful to approved concept, preserves application hooks */
:root{--bg:#020b17;--panel:#041426;--line:#1d4d75;--text:#eff7ff;--muted:#a5bfdc;--blue:#03bfff}
body{background:radial-gradient(ellipse at 97% 88%,#1c103b 0%,transparent 36%),#020b17;font-family:Segoe UI,Inter,Arial,sans-serif}
.topbar{height:auto;min-height:74px;padding:8px 3%;gap:22px;background:#020b1beb;border-bottom:1px solid #20547c;backdrop-filter:blur(14px)}
.topbar .brand{font-size:20px;letter-spacing:3px;min-width:240px}.topbar .brand small{font-size:9px;letter-spacing:3px}.brand-icon{width:57px;height:57px;border-radius:50%;object-fit:cover;border:1px solid #7fceff}
.topbar nav{gap:22px;white-space:nowrap;align-self:stretch;align-items:center}.topbar nav a{font-size:14px;padding:21px 0 19px}.topbar nav a:first-child{color:#8be6ff;border-bottom:3px solid #04d3ff}
#site-search{min-width:140px;max-width:320px;flex:1;background:#031326;border:1px solid #1e5b89;border-radius:40px;padding:12px 18px;color:#f3faff;font:inherit;outline:none}#site-search:focus{border-color:#40d4ff}
.auth-actions{gap:6px}.auth-actions button{padding:10px 12px;font-size:12px}
.hero{min-height:365px;display:block;background:linear-gradient(90deg,#020b17 0%,#03152ba8 35%,#03132740 70%),url('hero-nebula.jpg') right center/cover no-repeat;border-bottom:1px solid #1b4b77}
.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 57% 0%,#a23c9959,transparent 40%),linear-gradient(0deg,#020b17c9,transparent 30%);opacity:1}
.hero:after{display:none}.hero-inner{padding:38px 5% 44px;max-width:1100px}.hero-brand{gap:22px;margin:0}.hero-brand>img{width:190px;height:190px;object-fit:cover;border-radius:50%;border:2px solid #80ceff;box-shadow:0 0 35px #326bff9c}
.hero-brand h1{font-size:clamp(48px,6.8vw,100px);font-weight:250;letter-spacing:.14em;margin:0;line-height:1.08;text-shadow:0 0 25px #57a2ff8f}
.hero-subtitle{font-size:clamp(17px,2.1vw,31px);letter-spacing:.46em;margin:2px 0 14px}.hero-tagline{font-size:clamp(10px,1.25vw,16px);letter-spacing:.39em;color:#f5f9ff}
.hero-actions{margin:18px 0 0 120px}.hero-actions .button,.hero-actions button{min-width:205px;text-align:center;padding:14px 20px}
.mini-features{grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 3% 5px}.mini-features article{padding:13px 18px;background:#06162ab8;display:flex;gap:12px;align-items:center;border-radius:8px}.mini-features article span{font-size:22px}.mini-features article h3{font-size:15px;margin:0}.mini-features article p{display:none}
.section{padding:22px 3% 30px}.section h2{font-size:25px;font-weight:550}.section-heading{align-items:center}.filters{justify-content:flex-end;margin:12px 0 18px;gap:7px}.filters button{padding:8px 12px;font-size:12px;border-radius:9px}.gallery{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.photo-card{border-radius:8px;background:#041223}.photo-card img{height:155px}.photo-info{padding:10px}.photo-info h3{font-size:14px;margin-bottom:5px}.photo-info p{font-size:12px}
.member-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin-top:14px}.member-card{padding:12px;border-radius:8px;min-height:105px;display:grid;grid-template-columns:60px 1fr;column-gap:10px;align-content:center}.member-card img{grid-row:span 2;width:60px;height:60px;margin:0;border:1px solid #7ccfff}.member-card strong{font-size:14px}.member-card p{font-size:12px;line-height:1.4;margin:4px 0;max-height:3em;overflow:hidden}
.equipment{margin-top:20px;padding-top:30px;padding-bottom:32px;background:#04132588}footer{padding:20px 3%;background:#020b1ad9;border-top:1px solid #1b5279}footer .brand{font-size:18px}
@media(max-width:1300px){.topbar{flex-wrap:wrap}.topbar nav{order:3;width:100%;justify-content:center}.gallery,.member-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){#site-search{order:4;max-width:none;flex-basis:100%}.hero-brand>img{width:125px;height:125px}.hero-actions{margin-left:0}.gallery,.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.topbar .brand{min-width:0}.topbar nav{flex-wrap:wrap;gap:12px}.topbar nav a{padding:8px 0}.hero{min-height:350px}.hero-inner{padding:38px 20px}.hero-brand{gap:12px}.hero-brand>img{width:75px;height:75px}.hero-brand h1{font-size:36px}.hero-subtitle{font-size:12px;letter-spacing:.28em}.hero-tagline{font-size:9px;letter-spacing:.13em}.hero-actions{gap:10px}.hero-actions button,.hero-actions .button{min-width:0}.gallery,.member-grid{grid-template-columns:1fr 1fr}.photo-card img{height:135px}.member-card{display:block}.member-card img{margin-bottom:8px}.mini-features article{padding:10px}.section-heading{align-items:start}}

/* Community-wide search */
.search-results{padding-top:28px;padding-bottom:35px;background:linear-gradient(180deg,#071b36,#071225);border-bottom:1px solid #234a76}
.search-results h3{margin:24px 0 12px;color:#e6f5ff}.search-results #search-status{color:#a5c5df}
.search-results .search-empty{color:#a5c5df;grid-column:1/-1;margin:8px 0 16px}
.search-photo-card{cursor:pointer;color:inherit;text-align:left;font:inherit;padding:0;overflow:hidden}
.search-results .member-card{cursor:pointer}
