.subscription-page{max-width:1000px;margin:auto;padding:40px 24px}.subscription-page p{line-height:1.65;color:var(--ui-muted)}.subscription-current,.subscription-card{background:var(--ui-surface,#fff);border:1px solid var(--ui-border);border-radius:22px;padding:28px;margin:24px 0}.subscription-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.subscription-card{margin:0;display:flex;flex-direction:column;align-items:flex-start}.subscription-card.pro{border:2px solid #6B8F6B}.subscription-card ul{padding-left:20px;line-height:2}.subscription-price{font-size:32px;font-weight:700;color:var(--ui-ink)!important}.subscription-price small{font-size:16px;font-weight:400}.subscription-card button{margin-top:auto}.subscription-card button:disabled{opacity:.65;cursor:default}#plan-error{color:#b54d46}@media(max-width:650px){.subscription-grid{grid-template-columns:1fr}.subscription-page{padding:24px 16px}.subscription-card,.subscription-current{padding:22px}}
.subscription-page h1{font-size:32px;line-height:1.2;margin:0 0 16px}.subscription-page h2{font-size:24px;line-height:1.3;margin:12px 0}.subscription-card ul{margin:8px 0 24px}.subscription-card .subscription-price{margin:16px 0}.subscription-current h2{font-size:20px}.subscription-current p{margin:12px 0}

.subscription-current.compact{padding:20px 24px}.subscription-current.compact #plan-current{font-size:20px;font-weight:600;color:var(--ui-ink)}#plan-testing{border-top:1px solid var(--ui-border);padding-top:18px;margin-top:18px;font-size:13px}.plan-test-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.plan-test-buttons button{padding:9px 16px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-ink);cursor:pointer}.plan-test-buttons button[aria-pressed=true]{background:#6B8F6B;color:white;border-color:#6B8F6B}

.public-tariffs{padding-top:56px}.tariffs-eyebrow{font-size:14px;font-weight:600}.public-tariffs h1{font-size:clamp(32px,5vw,48px)}.tariffs-intro{max-width:660px;font-size:18px;margin-bottom:32px}.tariffs-action{display:inline-flex;margin-top:auto;align-items:center;justify-content:center;padding:12px 20px;border:1px solid var(--ui-border,#dce2d9);border-radius:12px;text-decoration:none;color:var(--ui-ink,#22342c);font-weight:600}.tariffs-action.primary{background:#6B8F6B;border-color:#6B8F6B;color:#fff}.tariffs-note{font-size:14px}.tariffs-details{margin-top:40px;max-width:800px}.tariffs-details h2{margin-top:28px;font-size:22px}.tariffs-details a,.subscription-terms a{color:var(--ui-accent,#6B8F6B)}.subscription-terms{font-size:14px;margin-top:24px}

/* The selected card carries account state; legal links stay inline. */
.subscription-page .subscription-grid{margin-top:24px}
.subscription-page .subscription-card.pro{border:1px solid var(--ui-border)}
.subscription-page .subscription-card.is-active{border:2px solid #6B8F6B;padding:27px}
body.dark-theme .subscription-page .subscription-card.is-active{border-color:#8aaa7e!important}
.plan-active-label{font-size:12px;font-weight:700;line-height:1.5;color:var(--ui-accent);border-radius:8px;padding:4px 9px;background:var(--ui-soft);margin-bottom:12px}
.plan-active-label[hidden],#checkout-plan[hidden]{display:none!important}
.subscription-management{margin-top:20px}.subscription-management:empty{display:none}
.subscription-management #plan-dates:empty,#plan-error:empty{display:none}
body .subscription-page .subscription-terms a,body .subscription-page .subscription-terms a:hover{display:inline;padding:0;margin:0;min-height:0;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;color:var(--ui-accent)!important;text-decoration:underline;text-underline-offset:3px;font:inherit}
.subscription-page #plan-current.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:650px){.subscription-page .subscription-card.is-active{padding:21px}}

.subscription-page .checkout-form{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%;margin-top:auto}
.subscription-page .checkout-form button{margin-top:0}
.subscription-page .promo-field{display:block;width:100%;font-size:13px;font-weight:600}
.subscription-page .promo-field[hidden],.subscription-page .offer-accept[hidden]{display:none}
.subscription-page .promo-field>span{display:flex;gap:8px;margin-top:6px}
.subscription-page .promo-field input{min-width:0;flex:1;padding:10px 12px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-ink);font:inherit;text-transform:uppercase}
.subscription-page .promo-field button{white-space:nowrap}
.subscription-page .checkout-quote{margin:0;font-size:13px}
.subscription-page .offer-accept{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.5;color:var(--ui-muted)}
.subscription-page .offer-accept input{margin-top:3px;accent-color:#6B8F6B}
.subscription-page .offer-accept a{color:var(--ui-accent);text-decoration:underline;text-underline-offset:2px}
.subscription-page .offer-accept a,.subscription-page .offer-accept a:hover,.subscription-page .subscription-terms a,.subscription-page .subscription-terms a:hover{display:inline!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ui-accent)!important;text-decoration:underline;text-underline-offset:3px;font:inherit}
.subscription-page .subscription-terms{margin-top:24px}.subscription-page .subscription-card ul{line-height:1.8}.subscription-page #plan-testing{border:0;padding:0;margin:24px 0;color:var(--ui-muted)}.subscription-page #plan-testing summary{cursor:pointer;font-size:13px}
.subscription-page #live-payments{margin-top:16px;font-size:13px;color:var(--ui-muted)}
.subscription-page #live-payments ul{margin:6px 0 0;padding-left:18px}
@media(max-width:550px){.subscription-page .promo-field>span{flex-wrap:wrap}.subscription-page .promo-field button{width:100%}}

.subscription-page .subscription-card{position:relative}.subscription-page .plan-active-label{position:absolute;top:18px;right:20px;margin:0}.subscription-page .subscription-card>p:last-child{margin-top:auto;padding-top:20px}

/* Explicit trial selection, confirmation, and durable active state. */
body .trial-offer[hidden],body .trial-offer [hidden]{display:none!important}
body .trial-offer{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:40px;align-items:center;margin:24px 0 32px;padding:36px 40px;border-radius:24px;background:var(--ui-surface);box-shadow:0 8px 32px #2030250b;color:var(--ui-ink)}
body .trial-kicker{display:block;color:var(--ui-accent);font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:12px}
body .trial-offer h2{font-size:28px;line-height:1.25;margin:0 0 14px;letter-spacing:-.025em}
body .trial-offer-copy>p{max-width:580px;line-height:1.7;margin:0 0 12px;color:var(--ui-muted)}
body .trial-fineprint{font-size:12px!important;line-height:1.6;color:var(--ui-muted);margin:12px 0 0}
body .trial-price{margin:0 0 18px;font-size:42px;font-weight:650;letter-spacing:-.035em;color:var(--ui-ink)}
body .trial-price span{font-size:15px;font-weight:400;letter-spacing:0;color:var(--ui-muted);margin-left:8px}
body .trial-offer button,body .trial-success button{width:100%;min-height:48px;border:0;border-radius:12px;background:#6b8f6b;color:white;padding:12px 18px;font-size:14px;font-weight:600;cursor:pointer}
body .trial-offer button:hover,body .trial-success button:hover{background:#5e815e}
body .trial-offer button:disabled{opacity:.65;cursor:wait}
body .trial-active{display:block;padding:14px;border-radius:12px;background:var(--ui-soft);font-size:14px;font-weight:600}
body .trial-success{box-sizing:border-box;width:460px;max-width:calc(100vw - 32px);padding:40px;border:0;border-radius:26px;background:var(--ui-surface);color:var(--ui-ink);text-align:center;box-shadow:0 24px 80px #0003;overflow:hidden}
body .trial-success::backdrop{background:#11182766;backdrop-filter:blur(4px)}
body .trial-success h2{margin:12px 0;font-size:28px;line-height:1.25;letter-spacing:-.025em}
body .trial-success>p{font-size:15px;line-height:1.7;color:var(--ui-muted)}
body .trial-success-symbol{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:20px;background:var(--ui-soft);color:var(--ui-accent);font-size:32px}
body .trial-success-date{padding:14px;border-radius:12px;background:var(--ui-soft);font-size:14px;font-weight:600;margin-top:20px}
body .trial-success button{margin-top:24px}
body .trial-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
body .trial-confetti i{position:absolute;left:var(--x);top:-12px;width:6px;height:10px;background:#8fae87;border-radius:2px;animation:trial-celebrate 1.7s var(--delay) ease-out both}
body .trial-confetti i:nth-child(3n){background:#d6bb81}body .trial-confetti i:nth-child(3n + 1){background:#bac8dc}
@keyframes trial-celebrate{from{opacity:0;transform:translateY(-10px) rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(370px) rotate(var(--rotation))}}
body.dark-theme .trial-offer{box-shadow:0 8px 32px #0003}
@media(max-width:700px){body .trial-offer{grid-template-columns:1fr;padding:26px;gap:22px}body .trial-offer h2{font-size:25px}body .trial-success{padding:30px 24px}}
@media(prefers-reduced-motion:reduce){body .trial-confetti{display:none}}

/* The trial belongs to the existing Pro plan, not a separate card. */
body .pro-trial-details{margin-top:24px;display:grid;gap:14px}
body .pro-trial-details[hidden],body .pro-trial-details [hidden],body .checkout-form[hidden]{display:none!important}
body .pro-trial-details #activate-trial{width:100%;min-height:48px;border:0;border-radius:12px;padding:12px 18px;background:#6b8f6b;color:#fff;font-size:14px;font-weight:600;cursor:pointer}
body .pro-trial-details #activate-trial:hover{background:#5e815e}
body .pro-trial-details #activate-trial:disabled{opacity:.65;cursor:wait}
body .pro-trial-details .trial-fineprint{margin:0;line-height:1.65}
body .pro-trial-details .pro-paid-option{background:transparent;border:0;padding:6px 0;color:var(--ui-muted);font-size:12px;text-align:left;cursor:pointer;width:fit-content;min-height:32px}
body .pro-trial-details .pro-paid-option:hover{color:var(--ui-ink);text-decoration:underline;text-underline-offset:3px}
body .pro-trial-details .trial-active{margin:0}

/* A quiet, prominent gift inside the existing Pro card. */
body .subscription-page .subscription-card.has-trial-gift{border:1px solid #9bb697;background:linear-gradient(145deg,#f2f7ee 0%,var(--ui-surface) 55%);box-shadow:0 12px 40px #52764a14;overflow:hidden}
body .trial-gift-badge{position:absolute;top:20px;right:24px;display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:#f4e9cb;color:#775c2b;font-size:12px;font-weight:700;line-height:1.4}
body .trial-gift-badge[hidden],body .trial-gift-copy[hidden]{display:none!important}
body .trial-gift-badge>span{font-size:16px;display:inline-block;animation:trial-gift-spark 6s ease-in-out infinite}
body .subscription-page .has-trial-gift .subscription-price{font-size:60px;line-height:1.15;letter-spacing:-.045em;margin:22px 0 8px;color:var(--ui-ink)!important}
body .subscription-page .has-trial-gift .subscription-price small{font-size:16px;letter-spacing:0;color:var(--ui-muted)}
body .subscription-page .trial-gift-copy{margin:0 0 20px;font-size:14px;line-height:1.5;color:var(--ui-accent);font-weight:600}
body .has-trial-gift .pro-trial-details{width:100%;margin-top:22px}
body .has-trial-gift #activate-trial{position:relative;overflow:hidden;min-height:52px;box-shadow:0 5px 15px #58784e24;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
body .has-trial-gift #activate-trial:hover{transform:translateY(-2px);box-shadow:0 9px 20px #58784e30}
body .has-trial-gift #activate-trial::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff25 48%,transparent 70%);transform:translateX(-130%);animation:trial-gift-sheen 6s 1.2s ease-in-out infinite;pointer-events:none}
@keyframes trial-gift-sheen{0%,65%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}
@keyframes trial-gift-spark{0%,75%,100%{transform:rotate(0) scale(1)}83%{transform:rotate(15deg) scale(1.15)}90%{transform:rotate(-10deg) scale(1)}}
body.app-ui.dark-theme .subscription-page .subscription-card.pro.has-trial-gift{background:linear-gradient(145deg,#2a3029,var(--ui-surface) 60%)!important;border-color:#6a8765!important;box-shadow:0 12px 40px #0003}
body.dark-theme .trial-gift-badge{background:#413827;color:#ebd8a6}
@media(max-width:650px){body .trial-gift-badge{top:20px;right:20px;font-size:11px;padding:6px 9px}body .subscription-page .has-trial-gift .subscription-price{font-size:52px}}
@media(prefers-reduced-motion:reduce){body .trial-gift-badge>span,body .has-trial-gift #activate-trial::after{animation:none}body .has-trial-gift #activate-trial{transition:none}body .has-trial-gift #activate-trial:hover{transform:none}}


body .renewal-status{margin-top:24px;padding:18px;border-radius:14px;background:var(--ui-soft);width:100%;box-sizing:border-box}body .renewal-status[hidden],body .renewal-consent[hidden]{display:none!important}body .renewal-status strong{font-size:14px}body .renewal-status p{font-size:13px;margin:8px 0 14px}body .renewal-status button{font-size:12px}body .trial-success .renewal-keep{background:transparent!important;color:var(--ui-muted)!important;margin-top:10px}body .renewal-error{color:#b54d46;font-size:13px}.renewal-consent{padding:12px;border-radius:12px;background:var(--ui-soft);box-sizing:border-box;width:100%}
