/* Moon 2.1 — mobile first */
.cf-moon,.cf-moon *{box-sizing:border-box}
.cf-moon{--ink:#f5f2e9;--muted:#bbb8b0;--line:rgba(255,255,255,.15);position:relative;width:100%;max-width:760px;margin:3rem auto;padding:2rem 1rem 1.25rem;overflow:hidden;color:var(--ink);background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.085),transparent 35%),#08090d;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.cf-moon-admin-warning{margin:1.5rem 0;padding:1rem;border-left:4px solid #b32d2e;background:#fff4f4;color:#2c3338}
.cf-moon__orb{width:50px;height:50px;margin:0 auto 1.45rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffef7 0 7%,#dddacf 34%,#999892 72%,#6f706f 100%);box-shadow:0 0 25px rgba(242,239,221,.22),0 0 72px rgba(255,255,255,.08)}
.cf-moon__ritual{margin:0 auto 1.85rem;max-width:35rem;text-align:center;font-size:clamp(.98rem,3.8vw,1.08rem);line-height:1.75}.cf-moon__ritual span{color:var(--muted);font-style:italic}
.cf-moon__instruction{margin:0 0 .55rem;text-align:center;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.cf-moon__prompt{margin:0 auto 1.65rem;max-width:35rem;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,6vw,2rem);line-height:1.3}
.cf-moon fieldset{min-width:0;margin:0;padding:0;border:0}
.cf-moon__option{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.85rem;align-items:center;width:100%;min-height:66px;margin:0 0 .75rem;padding:.95rem;cursor:pointer;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035);-webkit-tap-highlight-color:transparent}
.cf-moon__option:focus-within{border-color:rgba(255,255,255,.54);background:rgba(255,255,255,.09)}
.cf-moon__option input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.cf-moon__radio{position:relative;width:24px;height:24px;border:1.5px solid rgba(255,255,255,.5);border-radius:50%}
.cf-moon__option input:checked + .cf-moon__radio::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--ink);box-shadow:0 0 12px rgba(255,255,255,.5)}
.cf-moon__option-text{min-width:0;font-size:1rem;line-height:1.5;overflow-wrap:anywhere}
.cf-moon__button{display:block;width:100%;min-height:54px;margin:1.4rem 0 0;padding:.85rem 1.15rem;border:1px solid rgba(255,255,255,.6);border-radius:999px;color:#111217;background:#f3f0e7;font:inherit;font-weight:750;cursor:pointer}.cf-moon__button:disabled{cursor:not-allowed;opacity:.38}
.cf-moon__message{min-height:2.8rem;padding:.85rem .35rem 0;color:var(--muted);text-align:center;font-size:.92rem;line-height:1.45}.cf-moon.is-wrong .cf-moon__message{color:#e7c8c8}
.cf-moon__letter{scroll-margin-top:24px;animation:reveal .9s ease both}.cf-moon-letter{padding:.65rem .15rem .3rem}
.cf-moon-letter__eyebrow{margin:0 0 .55rem;text-align:center;color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.cf-moon-letter h2{margin:0;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,7vw,2.6rem);font-weight:400;line-height:1.18}
.cf-moon-letter__threshold{margin:.65rem 0 2rem;text-align:center;color:var(--muted)}
.cf-moon-letter__content{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.08rem,4.4vw,1.22rem);line-height:1.9}.cf-moon-letter__content p{margin:0 0 1.35em}
@keyframes reveal{from{opacity:0;transform:translateY(18px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@media(min-width:600px){.cf-moon{padding:3rem 2.7rem 2rem;border-radius:30px}.cf-moon__button{width:auto;min-width:250px;margin-inline:auto;padding-inline:2rem}}
@media(prefers-reduced-motion:reduce){.cf-moon *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
