.billing-hero{padding-block:clamp(40px,6vw,76px) var(--space-12);text-align:center}.billing-hero .eyebrow{font:700 var(--text-xs) var(--font-mono);letter-spacing:.15em;color:var(--brand);margin-inline:auto}.billing-hero h1{margin:var(--space-4) auto;font-size:clamp(2rem,6vw,var(--text-3xl));letter-spacing:-.05em}.billing-hero .hero-sub{max-width:58ch;margin-inline:auto;font-size:var(--text-lg);color:var(--text-muted)}.spinner{display:inline-block;flex:none;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:billing-spin .8s linear infinite;vertical-align:-.15em}@keyframes billing-spin{to{transform:rotate(360deg)}}.buy-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.buy-button:disabled{opacity:.7;cursor:wait}.buy-note{margin-top:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);text-align:center}.buy-error{margin-top:var(--space-2);color:var(--danger);font-size:var(--text-sm)}a.btn-primary,a.btn-ghost{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}a.btn-primary:hover{color:var(--accent-fg)}a.btn-ghost:hover{color:var(--text-body)}.account-panel>:not(.account-status),.account-notice{margin-bottom:var(--space-5)}.account-notice,.account-loading{display:flex;align-items:center;gap:var(--space-3);max-width:none;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.account-notice.pending{border-color:var(--brand);background:var(--brand-subtle)}.account-notice.success{border-color:var(--success);background:var(--success-subtle)}.account-notice.warning{border-color:var(--warning);background:var(--warning-subtle)}.account-loading{color:var(--text-muted)}.account-panel .error-notice{margin-top:0}.account-card{display:grid;gap:var(--space-4);padding:clamp(20px,4vw,32px);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-card)}.account-card h2{font-size:var(--text-xl)}.account-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.plan-badge{padding:var(--space-1) var(--space-3);border-radius:999px;font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--surface-inset);border:1px solid var(--border);color:var(--text-muted)}.plan-badge.pro{background:var(--brand-gradient);border-color:transparent;color:#fff}.account-facts{display:grid;gap:var(--space-3)}.account-facts div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.account-facts dt{color:var(--text-muted)}.account-facts dd{color:var(--text-heading);font-weight:600;overflow-wrap:anywhere}.usage p{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-4);max-width:none}.usage span{color:var(--text-muted)}.usage strong{color:var(--text-heading)}.usage-bar{height:8px;margin-top:var(--space-2);border-radius:999px;background:var(--surface-inset);border:1px solid var(--border);overflow:hidden}.usage-bar span{display:block;height:100%;background:var(--brand-gradient)}.purchases{display:grid;gap:var(--space-2)}.purchases h3{font-size:var(--text-base);color:var(--text-heading)}.purchases ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.purchases li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.purchases li div{display:grid;gap:var(--space-1);min-width:0}.purchases li strong{color:var(--text-heading)}.purchase-amount{color:var(--text-heading);font-weight:600;white-space:nowrap}.purchase-amount.refunded{color:var(--text-muted);text-decoration:line-through}.usage-downloads{margin-bottom:var(--space-2)}.history{display:grid;gap:var(--space-2)}.history-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.history h2{font-size:var(--text-lg);color:var(--text-heading)}.history li{border-radius:var(--radius-sm);transition:background-color var(--dur-fast) var(--ease-out)}.history li:hover{background:var(--surface-inset)}.history-signin h2{font-size:var(--text-xl)}.history-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-heading);text-decoration:none;transition:border-color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.history-link>span:first-child{display:grid;gap:2px}.history-link:hover{border-color:var(--brand);transform:translateY(-2px)}.history-link>span:last-child{color:var(--brand);transition:transform var(--dur-base) var(--ease-out)}.history-link:hover>span:last-child{transform:translate(4px)}.history ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.history li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);animation:history-rise var(--dur-base) var(--ease-out) both;animation-delay:calc(min(var(--i, 0),8) * var(--stagger))}@keyframes history-rise{0%{opacity:0;transform:translateY(6px)}}.history li>div:first-child{display:grid;gap:var(--space-1);min-width:0}.history-title{color:var(--text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.history-delete{width:36px;height:36px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);font-size:var(--text-lg);line-height:1;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.history-delete:hover{background:var(--danger-subtle);color:var(--danger)}@media(prefers-reduced-motion:reduce){.history li{animation:none}}.account-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.account-muted{color:var(--text-muted)}.signin-form{display:grid;gap:var(--space-2)}.signin-form label{font-weight:700;color:var(--text-heading);font-size:var(--text-sm)}.signin-row{display:flex;gap:var(--space-2)}.signin-row input{flex:1;min-width:0;min-height:44px;padding:var(--space-2) var(--space-3)}.signin-row input:focus-visible,.signin-form>input:focus-visible{border-color:var(--link)}.signin-form>input{width:100%;min-height:44px;padding:var(--space-2) var(--space-3)}.signin-form>label:not(:first-child){margin-top:var(--space-2)}.signin-form>.btn-primary{margin-top:var(--space-2)}.google-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:44px;padding:0 16px;border:1px solid #747775;border-radius:4px;background:#fff;color:#1f1f1f;font-family:Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;font-weight:500;text-decoration:none;transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}.google-button:hover{background:#f8faff;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.google-button:focus-visible{outline:2px solid var(--link);outline-offset:2px}.google-logo{flex:none}[data-theme=dark] .google-button{border-color:#8e918f;background:#131314;color:#e3e3e3}[data-theme=dark] .google-button:hover{background:#1f1f20}.signin-divider{display:flex;align-items:center;gap:var(--space-3);max-width:none;color:var(--text-muted);font-size:var(--text-sm)}.signin-divider:before,.signin-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.signin-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2) var(--space-4)}.link-button{padding:0;border:0;background:none;color:var(--link);font:inherit;font-size:var(--text-sm);text-align:start;text-decoration:underline;cursor:pointer}.form-hint{font-size:var(--text-sm);color:var(--text-muted)}.password-section{display:grid;gap:var(--space-2)}.password-section h3{font-size:var(--text-base);color:var(--text-heading)}.account-panel button:disabled{opacity:.6}.form-status{font-size:var(--text-sm);color:var(--text-muted)}.form-status.ok{color:var(--text-body)}.form-status.error{color:var(--danger)}@media(max-width:480px){.signin-row{flex-direction:column}.account-actions>*{flex:1 1 100%}}.auth-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-inset)}.auth-tabs:before{content:"";position:absolute;top:var(--space-1);bottom:var(--space-1);left:var(--space-1);width:calc((100% - 3 * var(--space-1)) / 2);border-radius:var(--radius-sm);background:var(--surface-raised);box-shadow:0 1px 3px #0203062e;transition:transform var(--dur-base) var(--ease-spring)}.auth-tabs[data-active=signup]:before{transform:translate(calc(100% + var(--space-1)))}.auth-tab{position:relative;z-index:1;min-height:44px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-weight:700;cursor:pointer;transition:color var(--dur-fast) var(--ease-out)}.auth-tab:hover{color:var(--text-body)}.auth-tab.active{color:var(--text-heading)}.auth-tab:focus-visible{outline:2px solid var(--link);outline-offset:2px}.auth-pane{display:grid;gap:var(--space-4);animation:billing-pane-in var(--dur-base) var(--ease-out) both}@keyframes billing-pane-in{0%{opacity:0;transform:translate(10px)}}.code-input{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:.4em;text-align:center;transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.signin-form>.code-input:focus-visible,.code-input:focus{border-color:var(--link);outline:none;box-shadow:0 0 0 3px var(--focus-ring),0 8px 28px -8px var(--accent-glow)}.account-notice,.form-status.ok{animation:billing-slide-down var(--dur-base) var(--ease-out) both}@keyframes billing-slide-down{0%{opacity:0;transform:translateY(-8px)}}.usage-bar span{animation:billing-fill var(--dur-enter) var(--ease-out) both;animation-delay:.12s}@keyframes billing-fill{0%{width:0}}.buy-button.btn-ghost{background:transparent;border-color:var(--accent);color:var(--link)}.buy-button.btn-ghost:hover:not(:disabled){background:var(--accent-subtle);border-color:var(--accent)}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s!important}.usage-bar span{animation:none}}
