.celestial-mechanics-v0712{background:#05080c;color:#e9e6dc}.cm-hero{min-height:100vh;background:radial-gradient(circle at 70% 20%,rgba(49,88,120,.18),transparent 35%),radial-gradient(circle at 20% 70%,rgba(179,132,60,.09),transparent 30%),linear-gradient(#070b10,#030507);padding:clamp(2.4rem,5vw,5.6rem) 0}.cm-shell{width:min(1440px,94vw);margin:auto}.cm-title{text-align:center;max-width:950px;margin:0 auto 2rem}.cm-title h1{font-family:Georgia,serif;font-size:clamp(3rem,7vw,7rem);font-weight:400;letter-spacing:.035em;margin:.2rem 0;color:#eee6d2}.cm-subtitle{letter-spacing:.45em;font-size:clamp(.72rem,1.4vw,1rem);color:#c9a96a}.cm-title .lead{max-width:740px;margin:1rem auto;color:#bdc6cf}.cm-law{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem 1rem;margin-top:1.4rem;font-size:.75rem;letter-spacing:.18em;color:#cdb783}.cm-law i{opacity:.45}.cm-status{display:grid;grid-template-columns:1.4fr 1fr 1fr;border:1px solid rgba(205,183,131,.28);background:rgba(3,8,13,.74);margin:0 0 1rem}.cm-status>div{padding:.85rem 1rem;border-right:1px solid rgba(205,183,131,.17)}.cm-status>div:last-child{border-right:0}.cm-status small,.cm-frame-readout small{display:block;font-size:.62rem;letter-spacing:.18em;color:#7f8b94}.cm-status b,.cm-frame-readout b{font-family:ui-monospace,monospace;font-size:.82rem;color:#d8c18b}.cm-grid{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(520px,2.2fr) minmax(240px,.85fr);gap:1rem;align-items:stretch}.cm-predict,.cm-instrument,.cm-model{border:1px solid rgba(205,183,131,.24);background:linear-gradient(160deg,rgba(12,19,27,.96),rgba(4,8,12,.96));box-shadow:0 24px 70px rgba(0,0,0,.34)}.cm-predict,.cm-model{padding:1.2rem}.cm-predict h2,.cm-model h2,.cm-instrument h2{font-family:Georgia,serif;font-weight:400;color:#e6dcc4}.cm-predict p,.cm-model dd{color:#9fa9b3;line-height:1.55}.cm-answer-set{display:grid;gap:.55rem;margin:1.2rem 0}.cm-answer-set button,.cm-time button,.cm-check,.cm-equation-toggle{border:1px solid rgba(205,183,131,.28);background:#09111a;color:#d9dde0;padding:.8rem .75rem;text-align:left;cursor:pointer;letter-spacing:.05em}.cm-answer-set button:hover,.cm-answer-set button.selected,.cm-time button:hover,.cm-check:not(:disabled):hover,.cm-equation-toggle:hover{border-color:#c8a45f;background:#0d1c29}.cm-check{width:100%;text-align:center;color:#dfc47f}.cm-check:disabled{opacity:.35;cursor:not-allowed}.cm-reveal{border-top:1px solid rgba(205,183,131,.22);margin-top:1rem;padding-top:1rem}.cm-reveal strong{display:block;color:#e1ca91;font-family:Georgia,serif;font-weight:400}.cm-instrument{padding:1rem}.cm-instrument-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:.8rem}.cm-frame-readout{text-align:right}.cm-dial-wrap{display:grid;grid-template-columns:180px 1fr;gap:1rem;min-height:560px}.cm-dial{position:relative;min-height:430px;align-self:center;border:1px solid rgba(205,183,131,.3);border-radius:50%;aspect-ratio:1;background:radial-gradient(circle,rgba(207,179,112,.07) 0 18%,transparent 19%),repeating-radial-gradient(circle,rgba(160,174,183,.11) 0 1px,transparent 1px 23px)}.cm-dial:before,.cm-dial:after{content:"";position:absolute;inset:12%;border:1px solid rgba(205,183,131,.18);border-radius:50%;transform:rotate(23deg)}.cm-dial:after{inset:28%;transform:rotate(-31deg)}.cm-dial button{position:absolute;width:88px;border:0;background:transparent;color:#8c99a4;z-index:2;cursor:pointer;font-size:.7rem;letter-spacing:.16em}.cm-dial button span{display:block;color:#d2c5a7;font-family:Georgia,serif;font-size:.9rem}.cm-dial button small{font-size:.55rem;letter-spacing:.05em}.cm-dial button[aria-pressed="true"] span{color:#f0ce7e;text-shadow:0 0 18px rgba(240,206,126,.5)}.cm-dial button[data-frame="sun"]{top:6%;left:50%;transform:translateX(-50%)}.cm-dial button[data-frame="earth"]{right:-2%;top:50%;transform:translateY(-50%)}.cm-dial button[data-frame="sky"]{bottom:6%;left:50%;transform:translateX(-50%)}.cm-dial button[data-frame="local"]{left:-2%;top:50%;transform:translateY(-50%)}.cm-dial-core{position:absolute;inset:38%;border:1px solid rgba(205,183,131,.36);border-radius:50%;display:grid;place-items:center;align-content:center;color:#c8a45f;z-index:1;background:#071018}.cm-dial-core span{font-size:1.7rem}.cm-dial-core small{font-size:.48rem;letter-spacing:.15em}.cm-plot-wrap{position:relative;min-width:0;border:1px solid rgba(112,137,153,.16);background:radial-gradient(circle at center,#0b1721,#020507);overflow:hidden}.cm-plot-wrap canvas{display:block;width:100%;height:100%}.cm-plot-label{position:absolute;top:.7rem;left:.8rem;font-size:.62rem;letter-spacing:.15em;color:#93a4af;background:rgba(1,5,8,.66);padding:.35rem .45rem}.cm-time{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin-top:.8rem}.cm-time button{text-align:center;font-size:.68rem}.cm-model dl{margin:1rem 0}.cm-model dl div{border-top:1px solid rgba(205,183,131,.15);padding:.7rem 0}.cm-model dt{font-size:.62rem;letter-spacing:.16em;color:#c9a96a}.cm-model dd{margin:.2rem 0 0;font-size:.78rem}.cm-equation-toggle{width:100%;text-align:center;font-size:.65rem}.cm-equations{font-size:.77rem;line-height:1.5;color:#b9c0c6}.cm-equations a{color:#d8bb73}.cm-footer-note{display:flex;justify-content:space-between;gap:2rem;margin:1rem 0;border:1px solid rgba(205,183,131,.16);padding:1rem;color:#9ca6af;font-size:.72rem;letter-spacing:.04em}.cm-footer-note b{color:#d4bb82}.micro{font-size:.61rem;letter-spacing:.18em;color:#b59a60}.crossing-rail{margin-top:1rem}@media(max-width:1080px){.cm-grid{grid-template-columns:1fr}.cm-dial-wrap{grid-template-columns:160px 1fr}.cm-model{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cm-model h2,.cm-model>.micro{grid-column:1/-1}}@media(max-width:720px){.cm-status{grid-template-columns:1fr}.cm-status>div{border-right:0;border-bottom:1px solid rgba(205,183,131,.17)}.cm-grid{display:block}.cm-predict,.cm-instrument,.cm-model{margin-bottom:1rem}.cm-dial-wrap{display:block}.cm-dial{width:210px;min-height:auto;margin:1rem auto}.cm-plot-wrap{height:440px}.cm-time{grid-template-columns:1fr 1fr}.cm-model{display:block}.cm-footer-note{display:block}.cm-title h1{font-size:3.2rem}.cm-subtitle{letter-spacing:.24em}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.cm-dial button{transition:none!important}}
