:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background: #070707; color: #f5f5f5; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
.shell { width: min(760px, calc(100% - 32px)); margin: 0 auto; padding: 48px 0; }
.shell.shell-checkout { width: min(1240px, calc(100% - 40px)); }
.account-topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.brand { display: inline-flex; align-items: center; gap: 9px; color: #f5f5f5; font-size: 1.2rem; font-weight: 800; text-decoration: none; }
.brand img { width: 34px; height: 34px; border-radius: 8px; }
.back-site { color: #8edfb1; font-size: .8rem; font-weight: 700; text-decoration: none; }
.back-site:hover { text-decoration: underline; }
.page { width: 100%; }
.compact { max-width: 460px; margin: 0 auto; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.page-heading #logout-status { max-width: 240px; margin: 8px 0 0; font-size: .82rem; }
h1 { margin: 0; font-size: 2rem; }
h2 { margin-top: 0; font-size: 1.1rem; }
.muted { color: #9a9a9a; margin-bottom: 28px; }
.card { background: #171717; border: 1px solid #303030; border-radius: 14px; padding: 22px; margin-bottom: 16px; }
label { display: grid; gap: 7px; margin: 14px 0; font-size: .86rem; color: #c7c7c7; }
small { color: #858585; }
input { width: 100%; background: #0d0d0d; border: 1px solid #3b3b3b; color: white; border-radius: 8px; padding: 11px; }
input:focus { border-color: #17e795; outline: 2px solid #17e79533; }
textarea { width: 100%; background: #0d0d0d; border: 1px solid #3b3b3b; color: white; border-radius: 8px; padding: 11px; font: inherit; resize: vertical; }
textarea:focus { border-color: #17e795; outline: 2px solid #17e79533; }
button { border: 0; border-radius: 8px; padding: 10px 14px; background: #18d892; color: #062117; font-weight: 700; cursor: pointer; }
button.secondary { background: #292929; color: #f5f5f5; }
.button-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.link-button { display: block; padding: 12px 0 0; background: transparent; color: #b7d9ff; font-weight: 500; text-decoration: underline; }
button:disabled { opacity: .5; cursor: not-allowed; }
a { color: #b7d9ff; }
.page-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; color: #a5a5a5; font-size: .9rem; }
.policy-agreement{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;line-height:1.5;color:#bcbcbc}.policy-agreement input{width:17px;height:17px;min-width:17px;margin:2px 0 0;accent-color:#2cdf88}.policy-agreement a{color:#78edaa;text-decoration:underline;text-underline-offset:2px}
dl { display: grid; grid-template-columns: 110px 1fr; gap: 12px; }
dt { color: #9a9a9a; }
dd { margin: 0; text-transform: capitalize; }
#notice { min-height: 24px; color: #17e795; text-align: center; }
.error { color: #ff6b6b !important; }
.hidden { display: none !important; }
.session { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #292929; font-size: .85rem; color: #c6c6c6; }
#paypal-button-container { max-width: 360px; margin-top: 14px; }
#billing-date { color: #c7c7c7; font-size: .9rem; }
.billing-plans { display: grid; gap: 10px; margin: 14px 0; }
.billing-plans input[type="checkbox"] { width: auto; padding: 0; justify-self: start; accent-color: #17e795; }
.billing-plans .checkout-old-link-note { margin: 2px 0 0; color: #a7a7a7; font-size: .82rem; line-height: 1.5; }
.billing-plan p[role="status"]:empty { display: none; }
.billing-plan { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px; border: 1px solid #383838; border-radius: 10px; }
.billing-plan-selected { border-color: #17e795; background: #10291e; }
.billing-plan p { margin: 3px 0 0; color: #a7a7a7; font-size: .88rem; }
.billing-plan strong { display: block; }
.billing-plan .test-plan { color: #f2c66d; font-size: .78rem; }
.checkout-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:26px; }
.checkout-heading .muted { margin:12px 0 0; line-height:1.55; }
.checkout-heading > a { flex:none; font-size:.85rem; }
.checkout-eyebrow,.checkout-kicker { color:#37e99f; font-size:.7rem; font-weight:800; letter-spacing:.12em; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; align-items:start; gap:22px; }
.checkout-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.billing-toggle { display:flex; width:max-content; gap:4px; margin:0 0 22px; padding:4px; border:1px solid #34453a; border-radius:999px; background:#18231c; }
.billing-toggle button { border:0; border-radius:999px; padding:11px 19px; background:transparent; color:#b8c8bd; cursor:pointer; font-weight:700; }
.billing-toggle button[aria-pressed="true"] { background:#27d88d; color:#102218; }
.billing-toggle span { margin-left:4px; color:#36e79a; }
.billing-toggle button[aria-pressed="true"] span { color:#104a2d; }
.checkout-choice .annual-detail { min-height:0; margin:0; color:#62e9a5; font-weight:700; }
.checkout-choice { display:flex; flex-direction:column; min-width:0; min-height:465px; padding:21px; border:1px solid #303a33; border-radius:14px; background:#151d18; }
.checkout-choice-selected { border-color:#27d88d; background:linear-gradient(180deg,#1b3828,#142019); box-shadow:0 0 0 1px #27d88d33; }
.checkout-choice h2 { margin:22px 0 12px; font-size:1.75rem; letter-spacing:-.04em; }
.checkout-choice h2 small { font-size:.68rem; letter-spacing:0; font-weight:500; }
.checkout-choice p { min-height:54px; color:#b2bdb5; font-size:.82rem; line-height:1.6; }
.checkout-choice ul { display:grid; gap:12px; margin:16px 0 26px; padding:0; list-style:none; }
.checkout-choice li { display:flex; gap:8px; color:#e1e9e3; font-size:.8rem; line-height:1.45; }
.checkout-choice li::before { content:'✓'; color:#37e99f; font-weight:800; }
.checkout-choice-action { display:block; margin-top:auto; padding:11px; border:1px solid #3b5144; border-radius:8px; color:#edfff4; font-size:.81rem; font-weight:700; text-align:center; text-decoration:none; }
.checkout-choice-selected .checkout-choice-action { border-color:#29d990; background:#1b4932; }
.checkout-choice-action:hover { border-color:#37e99f; }
.checkout-summary { position:sticky; top:20px; }
.checkout-summary .card { margin-bottom:12px; }
.checkout-summary .billing-plan { display:block; }
.checkout-summary .billing-plan button { width:100%; margin-top:18px; }
.checkout-summary #paypal-checkout,.checkout-summary #paypal-abandon { width:100%; margin-top:10px; }
.checkout-summary #billing-copy { line-height:1.55; }
.checkout-disclosure { margin:0 3px; color:#9aa99f; font-size:.75rem; line-height:1.65; }
#paypal-verify-status { min-height: 1.2em; margin: 10px 0 0; color: #17e795; font-size: .9rem; }
.danger-zone { border-color: #552d2d; color: #f0b5b5; }
.danger { background: #e14949; color: white; }
.password-input{display:flex;gap:8px;margin-top:6px}.password-input input{margin:0;flex:1}.password-toggle{flex:none;background:#29332d;color:#e5eee8;padding:9px 12px;font-size:.82rem}
@media (max-width: 560px) { .shell { padding: 28px 0; } .page-heading { display: block; } .page-heading > button { margin-bottom: 16px; } dl { grid-template-columns: 90px 1fr; } .session { align-items: flex-start; flex-direction: column; } .back-site { font-size: .72rem; } }
@media (max-width: 1050px) { .checkout-layout { grid-template-columns:1fr; } .checkout-summary { position:static; } .checkout-choices { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 680px) { .checkout-heading { display:block; } .checkout-heading > a { display:inline-block; margin-top:15px; } .checkout-choices { grid-template-columns:1fr; } .checkout-choice { min-height:0; } .checkout-choice p { min-height:0; } }

.checkout-trial-renewal{display:block;font-size:15px;font-weight:400;line-height:1.5;margin-top:10px;color:#b8d0c0}

/* Preserve the full card layout while account and billing status load. */
.checkout-loading .checkout-choice,.checkout-loading .checkout-summary{position:relative;overflow:hidden;min-height:465px}
.checkout-loading .checkout-choice>* ,.checkout-loading .checkout-summary>*{visibility:hidden}
.checkout-loading .checkout-choice::after,.checkout-loading .checkout-summary::after{content:'';position:absolute;inset:24px;border-radius:7px;background:linear-gradient(#2a3d31,#2a3d31) 0 0/48% 13px no-repeat,linear-gradient(#2a3d31,#2a3d31) 0 45px/70% 34px no-repeat,linear-gradient(#2a3d31,#2a3d31) 0 105px/90% 14px no-repeat,linear-gradient(#2a3d31,#2a3d31) 0 130px/68% 14px no-repeat,repeating-linear-gradient(to bottom,#2a3d31 0 11px,transparent 11px 32px) 0 198px/88% 145px no-repeat,linear-gradient(#2a3d31,#2a3d31) 0 100%/100% 44px no-repeat;opacity:.65;animation:checkout-skeleton-pulse 1.5s ease-in-out infinite alternate}
@keyframes checkout-skeleton-pulse{to{opacity:.28}}
@media(prefers-reduced-motion:reduce){.checkout-loading .checkout-choice::after,.checkout-loading .checkout-summary::after{animation:none}}
