:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#eeeaf9;background:#070a14}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 50% 2%,#242044 0%,#101528 43%,#070a14 85%)}
.observatory{width:min(100%,980px);padding:14px clamp(14px,3vw,34px) max(24px,env(safe-area-inset-bottom));margin:auto}
.top,footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.top{padding:10px 0 22px;border-bottom:1px solid #42405b}
a{color:#b6e8e9}.top a:last-child{font-size:.83rem;text-decoration:none}.brand{font-size:.82rem;letter-spacing:.16em;text-decoration:none;font-weight:780;color:#f4deff}
.intro{padding:29px 0 14px}.eyebrow{font-size:.68rem;letter-spacing:.19em;font-weight:750;color:#cfb8f1;text-transform:uppercase}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.05;margin:9px 0}
h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:8px 0 13px}h3{font-size:1.05rem}p{line-height:1.5;color:#c8c3d8;font-size:.93rem}
.notice{min-height:22px;color:#a9ebe4}.notice.error{color:#ffbcbc}
.panel{border:1px solid #534969;border-radius:16px;background:linear-gradient(145deg,#1b2034ee,#101625ef);padding:clamp(16px,3vw,27px);margin:18px 0;box-shadow:0 15px 35px #0005}
.rank-panel{display:flex;align-items:center;justify-content:space-between;gap:12px}.rank-emblem{font-size:3rem;color:#f0d1f9;text-shadow:0 0 18px #bcb4f1}
.founder{border-color:#967644;background:linear-gradient(120deg,#29233a,#111625)}
.star-chamber{width:min(150px,40vw);aspect-ratio:1;margin:13px auto 20px;position:relative;border-radius:50%;border:2px solid #585c92;background:radial-gradient(circle at 45% 42%,#c6d7fc 1%,#6b68c1 12%,#3c376c 24%,#1b2146 44%,#0b1127 68%,#0a0c19 90%);box-shadow:inset 0 0 28px #8bb9dd33,0 0 24px #755de755}
.star-chamber::before,.star-chamber::after{content:"";position:absolute;inset:12%;border-radius:50%;border:1px solid #ab98e277}.star-chamber::after{inset:27%;border-color:#a9e1e1aa}
.chamber-center{position:absolute;inset:0;display:grid;place-items:center;font-size:3.2rem;color:#e2f1ff;text-shadow:0 0 16px #e3e5ff}
.ring-list{display:grid;gap:10px;max-width:650px;margin:0 auto}.ring{display:grid;grid-template-columns:65px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #4c4c6f;border-radius:12px;background:#10182c;padding:10px}
.ring-orb{width:60px;height:60px;border:2px solid #9282cb;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#273458,#0d1327 70%);box-shadow:0 0 12px #7d7cd64a}
.ring-track{width:43px;height:43px;border-radius:50%;border:2px dashed #adcfde;display:grid;place-items:center;transition:transform 140ms ease-out}.ring-track span{color:#e4ecff;font-size:1.3rem}
.ring-detail{min-width:0}.ring-detail strong{display:block;color:#f0eaff;font-size:.94rem}.ring-detail small{display:block;color:#bdb5d7;font-size:.77rem;margin-top:5px}
.ring-controls{display:flex;gap:5px}.ring-controls button{min-width:42px;min-height:44px;padding:7px;font-size:1.15rem}
.ring.aligned{border-color:#7ab1a8;background:#11272e}.ring.aligned .ring-track{border-color:#98e5d4}
button{min-height:44px;padding:10px 14px;border:1px solid #6e6b95;background:#1e2741;color:#f5efff;border-radius:10px;font:inherit;font-weight:650;cursor:pointer}
button.primary{background:linear-gradient(105deg,#544288,#24637c);border-color:#a0b7d3}button.secondary{background:#1a2538}
button:disabled{opacity:.47;cursor:not-allowed}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #96eadf;outline-offset:2px}
.buttons,.bottom{display:flex;justify-content:center;gap:10px;margin-top:18px}.result{color:#b2f2dc;min-height:22px;text-align:center}
form{display:grid;gap:10px;margin-top:15px}label{font-weight:650;font-size:.84rem}input{padding:12px;border:1px solid #7f7399;background:#0d1528;color:#f4f1ff;border-radius:10px;font:inherit;width:100%}
.records{display:grid;gap:10px}.record{border:1px solid #56506b;background:#10172a;border-radius:12px;padding:13px}.record-top{display:flex;align-items:start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.record strong{overflow-wrap:anywhere}.record small{color:#c3c0d6;line-height:1.5;display:block;margin-top:4px}.record-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
footer{border-top:1px solid #434055;margin-top:27px;padding:22px 0;color:#a6a4bc;font-size:.7rem;letter-spacing:.05em}
@media(max-width:590px){.ring{grid-template-columns:53px minmax(0,1fr) auto;gap:8px;padding:8px}.ring-orb{width:50px;height:50px}.ring-track{width:34px;height:34px}.ring-controls button{min-width:39px}.panel{padding:15px}.record-buttons button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Observatory command center: CSS-only atmosphere, no render loop. */
:root{background:#100922;color:#f6f1ff}body{background:radial-gradient(ellipse at 80% 5%,#34216b88,transparent 48%),radial-gradient(ellipse at 5% 40%,#0a567b55,transparent 55%),#100922}.observatory{max-width:1120px;position:relative}body:before{content:'';position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,#d5d7ff 1px,transparent 1.5px),radial-gradient(circle,#66ebff88 1px,transparent 2px);background-size:113px 137px,197px 173px;opacity:.3}.intro{max-width:720px}h1{font-size:clamp(2.7rem,7vw,5.5rem);text-shadow:0 0 45px #9d6cff66}.intro>p:last-child{font-size:1.1rem;color:#ddd5ef}.home-orbit{position:absolute;right:25px;top:95px;width:200px;height:200px;pointer-events:none;opacity:.45;z-index:-1}.home-orbit i{position:absolute;inset:15%;border:1px solid #63eaff;border-radius:50%;transform:rotateX(65deg) rotate(20deg);box-shadow:0 0 25px #8f4cff;animation:orbit 35s linear infinite}.home-orbit i:nth-child(2){inset:2%;animation-direction:reverse;border-color:#d7a7ff}.home-orbit span{display:grid;place-items:center;height:100%;font-size:5rem;color:#fff2cb;text-shadow:0 0 32px #c97cff}@keyframes orbit{to{transform:rotateX(65deg) rotate(380deg)}}
.summary{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:24px 0}.summary strong{font-size:2rem;font-weight:500;color:#cfb8ff;display:block}.summary small{display:block;line-height:1.4;color:#c4bcd8}nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.nav-item{text-align:left;background:#1a1231;line-height:1.4;font-size:.85rem;border-color:#584274}.nav-item small,.action small{display:block;font-weight:400;font-size:.85rem;line-height:1.5;margin-top:8px;color:#d2cbe3}.nav-item[aria-current=page]{border-color:#8beeff;background:linear-gradient(120deg,#492879,#17364d);box-shadow:0 0 20px #954aff33}.journey{display:flex;gap:12px;margin:24px 0}.rank-stage{flex:1;color:#d8ccf6;min-height:80px;background:transparent;border-radius:50% 50% 14px 14px}.rank-stage[aria-pressed=true]{border-color:#e9c987;color:#ffe4a9;box-shadow:inset 0 0 25px #9666d644,0 0 20px #9666d633}.rank-help{border-left:2px solid #a278f1;padding:4px 20px;margin-bottom:26px}.panel{background:linear-gradient(140deg,#25173cbb,#0b2032bb);box-shadow:none}.rank-panel{border:0;border-top:1px solid #655080;border-bottom:1px solid #655080;border-radius:0}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.action{padding:24px;text-align:left;border-radius:18px}.status{display:inline-block;color:#9ef1e7;border:1px solid #377a81;padding:5px 10px;border-radius:20px;font-size:.8rem}.record{border:0;border-bottom:1px solid #574269;border-radius:0;background:#19112c88;padding:18px 12px}.record p{margin:8px 0}.record h3{margin:0 0 12px}.records{gap:6px}.ring.aligned{box-shadow:0 0 18px #6af6df22}.ring-controls button{min-width:48px;min-height:48px}.ring-detail small{font-size:.82rem}button{min-height:48px}p{font-size:1rem}dialog{width:min(94vw,630px);max-height:88svh;overflow:auto;border:1px solid #ab83df;border-radius:22px;background:radial-gradient(ellipse at top right,#452467,#11162b 70%);color:#f5efff;padding:24px;box-shadow:0 0 90px #a46aff33}dialog::backdrop{background:#050711dd;backdrop-filter:blur(5px)}.close{float:right;min-width:48px}.candidates{display:grid;gap:8px;max-height:40svh;overflow:auto;padding:8px 3px}.candidate{text-align:left;overflow-wrap:anywhere}.candidate:disabled{opacity:.65}.buttons{flex-wrap:wrap}small{overflow-wrap:anywhere}h1,h2,h3,p,button{overflow-wrap:anywhere}
@media(max-width:650px){nav{grid-template-columns:1fr}.nav-item{padding:14px}.nav-item small{margin-top:3px}.summary{grid-template-columns:repeat(3,1fr);gap:16px}.summary strong{font-size:1.7rem}.journey{gap:5px}.rank-stage{padding:12px 5px;font-size:.85rem}.action-grid{grid-template-columns:1fr}.home-orbit{width:150px;height:150px;right:0;top:140px}.ring{grid-template-columns:42px minmax(0,1fr);gap:10px}.ring-orb{width:40px;height:40px}.ring-controls{grid-column:2;justify-content:flex-end}.ring-controls button{min-width:56px}dialog{padding:18px}.record-buttons{display:grid;grid-template-columns:1fr;width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.home-orbit{overflow:hidden;z-index:0}.home-orbit~*{position:relative}.rank-panel>div{min-width:0}.seal{color:#ffe6af;border:1px solid #b69055;border-radius:50% 50% 18px 18px;text-align:center;padding:26px;background:radial-gradient(circle,#67438a55,transparent);box-shadow:0 0 30px #e8b85522}.seal strong{display:block;font:2rem Georgia,serif}.star-chamber{animation:seal-glow 5s ease-in-out infinite alternate}@keyframes seal-glow{to{box-shadow:inset 0 0 28px #8bb9dd66,0 0 40px #9161ff77}}@media(prefers-reduced-motion:reduce){.star-chamber{animation:none!important}}
