*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}:root{--bg:#0b1120;--bg-card:#10192e;--ink:#f1ecdd;--muted:#9aa5c0;--gold:#e8b04b;--cyan:#6fd6c4;--coral:#e8735f;--line:#f1ecdd1a;--font-display:"Fraunces", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--font-sans:"Inter", system-ui, "Segoe UI", sans-serif}.page{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font-sans);justify-content:center;align-items:center;padding:3rem 1.25rem;display:flex;position:relative;overflow:hidden}.starfield{z-index:0;opacity:.7;background-image:radial-gradient(1.5px 1.5px at 10% 20%,#f1ecddb3 50%,#0000 51%),radial-gradient(1px 1px at 30% 65%,#f1ecdd80 50%,#0000 51%),radial-gradient(1.5px 1.5px at 55% 15%,#f1ecdd99 50%,#0000 51%),radial-gradient(1px 1px at 75% 45%,#f1ecdd80 50%,#0000 51%),radial-gradient(1.5px 1.5px at 90% 80%,#f1ecdd99 50%,#0000 51%),radial-gradient(1px 1px at 15% 90%,#f1ecdd66 50%,#0000 51%),radial-gradient(1px 1px at 45% 35%,#f1ecdd66 50%,#0000 51%);background-repeat:repeat;background-size:320px 320px;position:absolute;inset:0}.shell{z-index:1;flex-direction:column;gap:.75rem;width:100%;max-width:560px;display:flex;position:relative}.site-header{align-items:center;gap:10px;padding:0 .25rem;display:flex}.site-header__brand{font-family:var(--font-mono);letter-spacing:.04em;color:var(--gold);white-space:nowrap;font-size:.8rem;font-weight:700;text-decoration:none}.site-header__brand:hover{text-decoration:underline}.site-header__divider{color:var(--muted);font-weight:400}.site-header__title{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;font-size:.8rem;font-weight:500}.card{text-align:center;background:var(--bg-card);border:1px solid var(--line);border-radius:20px;width:100%;padding:2.75rem 2.25rem;box-shadow:0 30px 60px -25px #0009}.eyebrow{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 .75rem;font-size:.75rem}h1{font-family:var(--font-display);color:var(--ink);margin:0 0 .75rem;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:600;line-height:1.25}.subhead{color:var(--muted);margin:0 0 2rem;font-size:.95rem;line-height:1.5}.form{margin-bottom:.5rem}.form label{text-align:left;color:var(--muted);margin-bottom:.4rem;font-size:.8rem;display:block}.form-row{gap:.6rem;display:flex}.form-row input[type=date]{background:var(--bg);border:1px solid var(--line);min-width:0;color:var(--ink);font-family:var(--font-mono);border-radius:10px;flex:1;padding:.7rem .8rem;font-size:.95rem}.form-row input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8)sepia()saturate(3)hue-rotate(2deg);cursor:pointer}.form-row input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.form-row button{background:var(--gold);color:#1a1305;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;padding:.7rem 1.1rem;font-size:.9rem;font-weight:600;transition:filter .15s,transform .15s}.form-row button:hover{filter:brightness(1.08)}.form-row button:active{transform:translateY(1px)}.form-row button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.error{text-align:left;min-height:1.2rem;color:var(--coral);margin:.6rem 0 0;font-size:.82rem}.orbit-wrap{justify-content:center;margin:1.75rem 0;display:flex}.orbit{width:130px;height:130px;position:relative}.orbit-ring{border:1px dashed #e8b04b4d;border-radius:50%;position:absolute;inset:0}.sun{background:var(--gold);border-radius:50%;width:20px;height:20px;margin:auto;position:absolute;inset:0;box-shadow:0 0 26px 6px #e8b04b80}.pivot{animation:1.4s cubic-bezier(.4,0,.2,1) spin;position:absolute;inset:0}.planet{background:var(--cyan);border-radius:50%;width:10px;height:10px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px 2px #6fd6c499}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.pivot{animation:none}}.readout{justify-content:center;gap:clamp(1rem,4vw,2.25rem);display:flex}.figure{flex-direction:column;align-items:center;display:flex}.figure .number{font-family:var(--font-mono);color:var(--ink);font-size:clamp(2rem,7vw,2.75rem);font-weight:600;line-height:1}.figure .label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:.4rem;font-size:.72rem}@media (width<=480px){.card{padding:2rem 1.4rem}.form-row{flex-direction:column}.form-row button{width:100%}}
