.ms-w{--bg:#100d22;--s:#1b1638;--s2:#262050;--tx:#f2ecff;--mu:#b9b0d9;--gold:#e8c872;--lil:#b9a6ff;--ln:#3a3270;--btn:#e8c872;--bt:#1a1330;--er:#ff9aa8;--lit:#f4e7b8;--dk:#2a2450}
@media(prefers-color-scheme:light){.ms-w{--bg:#faf7ff;--s:#fff;--s2:#efe9ff;--tx:#201a3d;--mu:#554c7a;--gold:#7a5a00;--lil:#5b3fc4;--ln:#cfc4ee;--btn:#3d2a8c;--bt:#fff;--er:#b0243a;--lit:#f1dc8f;--dk:#d9d1f2}}
.ms-w *,.ms-w *::before,.ms-w *::after{box-sizing:border-box}
.ms-w{-webkit-text-size-adjust:100%}
.ms-w{margin:0;background:var(--bg);color:var(--tx);font:1rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.ms-w h1,.ms-w h2,.ms-w h3{font-family:"Iowan Old Style",Georgia,"Times New Roman",serif;line-height:1.2;margin:0 0 .5rem}
.ms-w .ms-title{font-size:clamp(1.9rem,7vw,2.8rem);margin-top:.5rem}
.ms-w h2{font-size:1.5rem}
.ms-w h3{font-size:1.1rem;margin-top:1.2rem}
.ms-w p{margin:0 0 .9rem}
.ms-w .lead{color:var(--mu);font-size:1.08rem}
.ms-w form{display:grid;gap:.9rem;margin-top:1rem}
.ms-w .f{display:grid;gap:.3rem}
.ms-w label{font-weight:600}
.ms-w input{font:inherit;font-size:1rem;width:100%;min-height:48px;padding:.6rem .8rem;border-radius:10px;border:1px solid var(--ln);background:var(--s);color:var(--tx);color-scheme:dark light}
.ms-w input[aria-invalid=true]{border-color:var(--er)}
.ms-w .names{display:grid;gap:.9rem}
.ms-w .opt{font-weight:400;color:var(--mu)}
.ms-w .err{color:var(--er);margin:0;min-height:0;font-size:.95rem}
.ms-w .btn{font:inherit;font-weight:700;min-height:48px;min-width:44px;padding:.6rem 1.2rem;border:2px solid var(--btn);border-radius:12px;background:var(--btn);color:var(--bt);cursor:pointer}
.ms-w .btn.alt{background:transparent;color:var(--tx);border-color:var(--ln)}
.ms-w .btn.ghost{background:transparent;color:var(--lil);border-color:transparent;text-decoration:underline}
.ms-w .go{width:100%;font-size:1.1rem}
.ms-w :focus-visible{outline:3px solid var(--lil);outline-offset:2px}
.ms-w .priv{color:var(--mu);font-size:.92rem;margin:0}
.ms-w #ms-result{margin-top:1.2rem}
.has-r .ms-w #ms-result{min-height:46rem}
.ms-w .card{background:var(--s);border:1px solid var(--ln);border-radius:16px;padding:1.2rem}
.ms-w .card.in{animation:in .35s ease-out}
@keyframes in{from{opacity:0;transform:scale(.98)}}
.ms-w .card h2{outline:none;color:var(--gold);font-size:1.8rem}
.ms-w .hl{color:var(--mu)}
.ms-w .moons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0}
.ms-w .mo{margin:0;text-align:center}
.ms-w .mo svg{width:100%;max-width:150px;height:auto;aspect-ratio:1}
.ms-w .md{fill:var(--dk);stroke:var(--lil);stroke-width:.8}
.ms-w .ml{fill:var(--lit)}
.ms-w figcaption{display:grid;font-size:.92rem;color:var(--mu)}
.ms-w figcaption strong{color:var(--tx);overflow-wrap:anywhere}
.ms-w .score{display:flex;align-items:baseline;justify-content:center;gap:.5rem;margin:.5rem 0}
.ms-w .score b{font:700 3.2rem/1 Georgia,serif;color:var(--gold)}
.ms-w .score span{color:var(--mu)}
.ms-w .pair{font-weight:600;color:var(--lil)}
.ms-w .card ul{padding-left:1.2rem;margin:0 0 1rem}
.ms-w .note{font-size:.92rem;color:var(--mu)}
.ms-w .acts{display:grid;gap:.6rem}
.ms-w section.sec{padding:1.2rem 0;content-visibility:auto;contain-intrinsic-size:auto 600px}
.ms-w table{width:100%;border-collapse:collapse;font-size:.95rem}
.ms-w th,.ms-w td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--ln);vertical-align:top}
.ms-w details{border-bottom:1px solid var(--ln);padding:.2rem 0}
.ms-w summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.ms-w dt{font-weight:700;margin-top:.7rem}
.ms-w dd{margin:0;color:var(--mu)}
.ms-w a{color:var(--lil)}
@media(min-width:600px){.ms-w .names{grid-template-columns:1fr 1fr}
.ms-w .acts{grid-template-columns:repeat(2,auto);justify-content:start}
.ms-w .go{width:auto;min-width:16rem}
.ms-w .moons{gap:1.5rem}}
@media(prefers-reduced-motion:reduce){.ms-w *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.ms-w{display:block;max-width:44rem;margin:1.5rem auto;padding:1rem;border-radius:16px;box-sizing:border-box}.ms-w .ms-title{margin-top:0}.ms-w :where(h2,h3){margin-top:0}.ms-w .btn,.ms-w input{box-shadow:none;text-transform:none;letter-spacing:normal}
