.upgrade-modal__overlay{position:fixed;inset:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--bg-overlay-heavy);animation:upgradeModalOverlayIn var(--transition-normal)}.upgrade-modal{position:relative;z-index:var(--z-modal);width:min(calc(var(--space-20) * 5 + var(--space-8)),100%);max-height:calc(100dvh - var(--space-8));overflow:auto;padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-xl);color:var(--text-primary);animation:upgradeModalIn var(--dur-sheet) var(--ease-out-expo)}.upgrade-modal__close{position:absolute;top:var(--space-4);right:var(--space-4);display:inline-flex;align-items:center;justify-content:center;width:var(--space-9);height:var(--space-9);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.upgrade-modal__close:focus-visible,.upgrade-modal__link:focus-visible,.upgrade-modal__trial-btn:focus-visible{outline:none;border-color:var(--border-accent-subtle);box-shadow:var(--glow-cyan)}@media (hover:hover){.upgrade-modal__close:hover{background:var(--bg-card);border-color:var(--border-subtle);color:var(--text-primary)}}.upgrade-modal__header{display:flex;flex-direction:column;gap:var(--space-3);padding-right:var(--space-9)}.upgrade-modal__kicker{display:inline-flex;align-self:flex-start;align-items:center;gap:var(--space-1-5);min-height:var(--space-7);padding:var(--space-1) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-accent);font-size:var(--text-ms);font-weight:var(--font-semibold);line-height:1}.upgrade-modal__title{margin:0;color:var(--text-primary);font-size:var(--text-xl-plus);font-weight:var(--font-bold);letter-spacing:0;line-height:1.2}.upgrade-modal__subtitle{margin:calc(var(--space-1) * -1) 0 0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.upgrade-modal__plan{position:relative;margin-top:var(--space-5);padding:var(--space-5);border:1px solid var(--border-accent);border-radius:var(--radius-lg);background:radial-gradient(circle at 100% 0,rgba(var(--brand-cyan-rgb),.14) 0,transparent 55%),radial-gradient(circle at 0 100%,rgba(var(--brand-green-rgb),.1) 0,transparent 55%),var(--bg-card-elevated);box-shadow:var(--glow-cyan)}.upgrade-modal__plan-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.upgrade-modal__plan-name{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:0;line-height:1.1}.upgrade-modal__plan-badge{display:inline-flex;flex-shrink:0;align-items:center;gap:var(--space-1-5);min-height:var(--space-6);padding:var(--space-1) var(--space-2-5);border:1px solid var(--border-accent-subtle);border-radius:var(--radius-full);background:var(--bg-accent-muted);color:var(--text-accent);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);line-height:1;text-transform:uppercase}.upgrade-modal__plan-price{display:flex;align-items:baseline;gap:var(--space-1-5);margin-top:var(--space-4)}.upgrade-modal__plan-amount{color:var(--text-primary);font-size:var(--text-h3);font-weight:var(--font-bold);letter-spacing:0;line-height:1}.upgrade-modal__plan-period{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--font-medium)}.upgrade-modal__plan-credits{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.upgrade-modal__benefits{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4) 0 0;padding:var(--space-4) 0 0;border-top:1px solid var(--border-subtle);list-style:none}.upgrade-modal__benefit{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-snug)}.upgrade-modal__benefit svg{flex-shrink:0;margin-top:1px;color:var(--brand-green)}.upgrade-modal__actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5)}.upgrade-modal__link{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-target-min);border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:color var(--transition-fast)}@media (hover:hover){.upgrade-modal__link:hover{color:var(--text-primary)}}.upgrade-modal__trial{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.upgrade-modal__trial-or{display:flex;align-items:center;gap:var(--space-3);width:100%;color:var(--text-disabled);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.upgrade-modal__trial-or:after,.upgrade-modal__trial-or:before{content:"";flex:1;height:1px;background:var(--border-subtle)}.upgrade-modal__trial-hint{color:var(--text-muted);font-size:var(--text-sm);line-height:1.3}.upgrade-modal__trial-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:100%;min-height:var(--tap-target-min);padding:var(--space-2) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}@media (hover:hover){.upgrade-modal__trial-btn:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}}.upgrade-modal__trial-btn-main{font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1.2}.upgrade-modal__trial-btn-sub{color:var(--text-muted);font-size:var(--text-xs);line-height:1.2}@keyframes upgradeModalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes upgradeModalIn{0%{opacity:0;transform:translateY(var(--space-4)) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:30em){.upgrade-modal{padding:var(--space-5)}}@media (prefers-reduced-motion:reduce){.upgrade-modal,.upgrade-modal__overlay{animation:none}}