
.mpc-wrap{--mpc-bg:#0b0b0b;--mpc-card:#111;--mpc-accent:#ffd400;--mpc-text:#f2f2f2;--mpc-muted:#bdbdbd;--mpc-border:#1f1f1f;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;color:var(--mpc-text)}
.mpc-card{max-width:980px;margin:24px auto;background:linear-gradient(180deg,#0b0b0b,#121212);border:1px solid var(--mpc-border);border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.35);padding:24px}
.mpc-header h2{margin:0 0 6px;font-size:28px;letter-spacing:.2px}
.mpc-sub{margin:0;color:var(--mpc-muted)}
.mpc-form{margin-top:18px}
.mpc-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:800px){.mpc-row{grid-template-columns:1fr}}
.mpc-col{background:#0e0e0e;border:1px solid var(--mpc-border);border-radius:16px;padding:16px}
.mpc-col h3{margin:0 0 10px;color:var(--mpc-accent)}
label{display:block;margin:0 0 6px;color:var(--mpc-muted);font-size:14px}
input[type="date"]{width:100%;background:#151515;border:1px solid #222;border-radius:12px;padding:12px 14px;color:#fff;outline:none}
input[type="date"]:focus{border-color:var(--mpc-accent);box-shadow:0 0 0 3px rgba(255,212,0,.15)}
.mpc-phase{display:flex;align-items:center;gap:12px;margin-top:14px}
.mpc-moon{width:56px;height:56px;border-radius:50%;background:radial-gradient(60% 60% at 40% 40%,#fff 0%,#ddd 45%,#bbb 65%,#999 100%);position:relative;overflow:hidden;box-shadow:0 0 14px rgba(255,255,255,.18), inset 0 0 20px rgba(0,0,0,.35)}
.mpc-moon::after{content:"";position:absolute;inset:0;background:#0b0b0b;transform:translateX(0)}
.mpc-phase-text{font-weight:600}
.mpc-actions{display:flex;gap:12px;justify-content:flex-start;margin:18px 0 6px}
.mpc-btn{appearance:none;border:none;background:var(--mpc-accent);color:#000;font-weight:700;border-radius:12px;padding:12px 16px;cursor:pointer;transition:.2s transform, .2s filter}
.mpc-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.mpc-btn:active{transform:translateY(0)}
.mpc-btn.ghost{background:transparent;border:1px solid #333;color:var(--mpc-text)}
.mpc-result{margin-top:10px;background:#0e0e0e;border:1px solid var(--mpc-border);border-radius:16px;padding:16px}
.mpc-compat{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.mpc-score{width:120px;height:120px;border-radius:50%;border:3px solid var(--mpc-accent);display:flex;flex-direction:column;align-items:center;justify-content:center}
.mpc-score-num{font-size:28px;font-weight:800}
.mpc-score-label{font-size:12px;color:var(--mpc-muted);margin-top:4px}
.mpc-compat-text{flex:1;min-width:220px;line-height:1.5}
.mpc-footer{margin-top:10px;text-align:center}
.mpc-small{color:#8f8f8f}
/* Illumination mask controlled via inline style from JS: set --cover-left and --cover-right widths */
.mpc-moon[data-side="wax"]::after{left:var(--cover-left,0);right:auto;width:var(--cover-right,0)}
.mpc-moon[data-side="wane"]::after{right:var(--cover-right,0);left:auto;width:var(--cover-left,0)}
