.plan-modal{border:1px solid var(--line);border-radius:20px;background:var(--paper,#fff);color:var(--ink);padding:32px;width:min(760px,calc(100% - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box}.plan-modal::backdrop{background:rgba(25,45,40,.55)}.plan-modal h1{font-family:Fraunces,serif;padding-right:28px}.plan-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:inherit;font-size:32px;cursor:pointer}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.plan-card{border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px}.plan-card form{margin-top:auto}.plan-pro{border:2px solid var(--teal)}.plan-price{font-size:28px}.plan-price small{font-size:14px}.plan-menu-link{margin-top:12px}body:has(.plan-modal[open]){overflow:hidden}@media(max-width:600px){.plan-grid{grid-template-columns:1fr}.plan-modal{padding:24px}}
.plan-periods{display:grid;gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px;margin:0 0 16px}.plan-periods legend{font-weight:700;font-size:13px}.plan-periods label{display:flex;gap:8px;align-items:center;cursor:pointer;font-size:14px}.plan-periods input{accent-color:var(--teal)}.plan-periods input:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.billing-feedback{padding:12px 16px;margin:16px 0;border:1px solid var(--line);border-radius:10px;background:var(--mint);color:var(--ink)}.billing-feedback p{margin:4px 0}
