.spinner-icon{color:var(--text-color);opacity:.8;animation:1s linear infinite spin}.spinner-ring{border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:1s linear infinite spin}.toggle-switch{flex-shrink:0;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-switch.disabled{opacity:.5;cursor:not-allowed}.toggle-switch-slider{cursor:pointer;background-color:var(--secondary);border:1px solid var(--border-color);transition:background-color .25s;position:absolute;inset:0}.toggle-switch-slider:before{content:"";background-color:var(--text-color);border-radius:50%;transition:transform .15s cubic-bezier(.4,0,.2,1);position:absolute}.toggle-switch.size-small{width:calc(42px * var(--scale-factor));min-width:calc(42px * var(--scale-factor));height:calc(22px * var(--scale-factor))}.toggle-switch.size-small .toggle-switch-slider{border-radius:calc(11px * var(--scale-factor))}.toggle-switch.size-small .toggle-switch-slider:before{width:calc(16px * var(--scale-factor));height:calc(16px * var(--scale-factor));left:calc(2px * var(--scale-factor));bottom:calc(2px * var(--scale-factor))}.toggle-switch.size-small input:checked+.toggle-switch-slider:before{transform:translateX(calc(20px * var(--scale-factor)))}.toggle-switch.size-medium{width:calc(48px * var(--scale-factor));min-width:calc(48px * var(--scale-factor));height:calc(24px * var(--scale-factor))}.toggle-switch.size-medium .toggle-switch-slider{border-radius:calc(12px * var(--scale-factor))}.toggle-switch.size-medium .toggle-switch-slider:before{width:calc(18px * var(--scale-factor));height:calc(18px * var(--scale-factor));left:calc(2px * var(--scale-factor));bottom:calc(2px * var(--scale-factor))}.toggle-switch.size-medium input:checked+.toggle-switch-slider:before{transform:translateX(calc(24px * var(--scale-factor)))}.toggle-switch.size-large{width:calc(56px * var(--scale-factor));min-width:calc(56px * var(--scale-factor));height:calc(28px * var(--scale-factor))}.toggle-switch.size-large .toggle-switch-slider{border-radius:calc(14px * var(--scale-factor));border-color:var(--border-color-weak)}.toggle-switch.size-large .toggle-switch-slider:before{width:calc(22px * var(--scale-factor));height:calc(22px * var(--scale-factor));left:calc(2px * var(--scale-factor));bottom:calc(2px * var(--scale-factor))}.toggle-switch.size-large input:checked+.toggle-switch-slider:before{transform:translateX(calc(26px * var(--scale-factor)))}.toggle-switch input:checked+.toggle-switch-slider{background-color:var(--link-highlight)}.toggle-switch:not(.disabled):hover input:not(:checked)+.toggle-switch-slider{background-color:var(--secondary-highlight)}.toggle-switch:not(.disabled):hover input:checked+.toggle-switch-slider{background-color:var(--link-highlight-strong)}.toggle-switch input:focus-visible+.toggle-switch-slider{outline:2px solid var(--secondary);outline-offset:2px}.toggle-switch.accent input:checked+.toggle-switch-slider{background-color:var(--accent-highlight)}.toggle-switch.accent:not(.disabled):hover input:checked+.toggle-switch-slider{background-color:var(--accent)}.toggle-switch.accent .toggle-switch-slider:before{background-color:var(--text-color-accent)}.darkmode .toggle-switch.accent .toggle-switch-slider:before{background-color:var(--text-color)}.dropdown-menu-container{position:relative}.menu-dropdown{background-color:var(--primary);box-shadow:var(--box-shadow);min-width:calc(210px * var(--scale-factor));border:1px solid var(--border-color);z-index:10000;border-radius:12px;padding:0;position:absolute;overflow:hidden}.menu-dropdown.bottom-left{transform-origin:100% 0;top:100%;right:0}.menu-dropdown.bottom-right{transform-origin:0 0;top:100%;left:0}.menu-dropdown.context-menu{transform-origin:0 0}.menu-dropdown.top-left{transform-origin:100% 100%;bottom:100%;right:0}.menu-dropdown.top-right{transform-origin:0 100%;bottom:100%;left:0}.menu-dropdown.opening{--animation-transform-from:scale(.8);--animation-transform-to:scale(1);animation:.1s ease-in-out forwards fadeTransformIn}.menu-dropdown.closing{--animation-transform-from:scale(1);--animation-transform-to:scale(.8);animation:.1s ease-in-out forwards fadeTransformOut}.dropdown-tabs{background-color:var(--secondary-extra-weak);border-radius:8px 8px 0 0;margin-bottom:.4rem;display:flex}.dropdown-tab{color:var(--text-color-weak);cursor:pointer;border:none;border-bottom:1px solid var(--border-color-weak);background:0 0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.dropdown-tab:hover{color:var(--text-color);background-color:var(--secondary-weak)}.dropdown-tab.active{color:var(--text-color);background-color:var(--primary);border-bottom:1px solid var(--border-color)}.dropdown-tab.disabled{opacity:.4;cursor:not-allowed;color:var(--text-color-extra-weak)}.dropdown-tab.disabled:hover{color:var(--text-color-extra-weak);background-color:#0000}.menu-items{padding:.4rem}.menu-items.with-tabs{padding-top:0;padding-bottom:.4rem}.menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text-color);background:0 0;border:none;border-radius:6px;align-items:flex-start;gap:.5rem;padding:.4rem;font-size:.83rem;transition:background-color .2s,transform .1s;display:flex}.menu-item:active{transform:scale(.97)}.menu-item:hover:not(:disabled){background-color:var(--secondary-extra-weak)}.menu-item.active{background-color:var(--secondary)}.menu-item:disabled{cursor:not-allowed}.menu-item-content{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.menu-item-header{align-items:center;gap:.5rem;display:flex}.menu-item-label{color:var(--text-color);flex:1;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:500;display:flex}.menu-item-description{color:var(--text-color-weak);font-size:.75rem;line-height:1.3}.menu-divider{background-color:var(--border-color-weak);height:1px;margin:.25rem .4rem}.menu-header{color:var(--text-color-weak);padding:.5rem .4rem .25rem;font-size:.825rem;font-weight:500}.menu-item-icon{flex-shrink:0;align-items:center;display:flex}.menu-item-icon:has(.menu-item-dot){min-height:1.25rem}.menu-item-dot{border-radius:50%;flex-shrink:0;width:.4rem;height:.4rem}.complexity-lens-dropdown{min-width:280px;padding:0;top:calc(100% + 4px)!important}.cached-indicator{background-color:var(--success-color);border-radius:50%;flex-shrink:0;width:.3rem;height:.3rem}.no-lens-option{color:var(--text-color-weak);font-style:italic}.lens-manage-button{margin-top:.2rem}.dropdown-menu-drawer .drawer-grabber{padding:20px 0 10px}.dropdown-menu-drawer .menu-content{flex-direction:column;gap:.75rem;display:flex}.dropdown-menu-drawer .dropdown-tabs{border-bottom:1px solid var(--border-color-weak);background-color:#0000;border-radius:0;gap:.25rem;margin-bottom:0;padding-bottom:.5rem}.dropdown-menu-drawer .dropdown-tab{border-bottom:none;gap:.4rem;padding:.6rem .75rem;font-size:.85rem;transition:background-color .15s,color .15s}.dropdown-menu-drawer .dropdown-tab:hover{background-color:var(--primary-highlight)}.dropdown-menu-drawer .dropdown-tab.active{background-color:var(--secondary-weak);border-bottom:none}.dropdown-menu-drawer .dropdown-tab.disabled{opacity:.5}.dropdown-menu-drawer .menu-items{flex-direction:column;padding:0;display:flex}.dropdown-menu-drawer .menu-item{border-radius:8px;align-items:center;gap:.75rem;min-height:48px;padding:.75rem .5rem;font-size:1rem;transition:background-color .15s}.dropdown-menu-drawer .menu-item:hover:not(:disabled){background-color:#0000}.dropdown-menu-drawer .menu-item:active:not(:disabled){background:var(--secondary-weak)}.dropdown-menu-drawer .menu-item.active{background:var(--secondary-extra-weak)}.dropdown-menu-drawer .menu-item:disabled{opacity:.6}.dropdown-menu-drawer .menu-item:has(.menu-item-description){align-items:flex-start}.dropdown-menu-drawer .menu-item:has(.menu-item-description) .menu-item-icon{margin-top:2px}.dropdown-menu-drawer .menu-item-icon{color:var(--text-color-weak)}.dropdown-menu-drawer .menu-item-icon svg{width:18px;height:18px}.dropdown-menu-drawer .menu-item-label{font-size:.95rem;font-weight:400}.dropdown-menu-drawer .menu-item-description{font-size:.8rem}.dropdown-menu-drawer .menu-divider{margin:.5rem 0}.dropdown-menu-drawer .menu-header{padding:.75rem .5rem .25rem;font-size:.85rem}.menu-item-chevron{flex-shrink:0}.dropdown-menu-drawer .menu-item-chevron{color:var(--text-color-extra-weak);align-self:center}.tooltip-container{position:relative}.tooltip-text{background-color:var(--primary);color:var(--text-color);border:1px solid var(--border-color);white-space:nowrap;z-index:100000;opacity:0;pointer-events:none;max-width:calc(250px * var(--scale-factor));text-align:center;border-radius:8px;padding:.75rem 1rem;font-size:.85rem;line-height:1.4;position:fixed}.tooltip-arrow{width:calc(10px * var(--scale-factor));height:calc(10px * var(--scale-factor));background-color:var(--primary);border:1px solid var(--border-color);position:absolute;transform:rotate(45deg)}.tooltip-text.above{--translate-x:-50%;--translate-y:-100%;--translate-y-start:-90%}.tooltip-text.below{--translate-x:-50%;--translate-y:0%;--translate-y-start:10%}.tooltip-text.left{--translate-x:-100%;--translate-y:-50%;--translate-x-start:-90%}.tooltip-text.right{--translate-x:0%;--translate-y:-50%;--translate-x-start:10%}.tooltip-text.above .tooltip-arrow{border-top:none;border-left:none;margin-left:-5px;bottom:-6px;left:50%}.tooltip-text.below .tooltip-arrow{border-bottom:none;border-right:none;margin-left:-5px;top:-6px;left:50%}.tooltip-text.left .tooltip-arrow{border-bottom:none;border-left:none;margin-top:-5px;top:50%;right:-6px}.tooltip-text.right .tooltip-arrow{border-top:none;border-right:none;margin-top:-5px;top:50%;left:-6px}.tooltip-text{--animation-transform-from:translate(var(--translate-x-start,var(--translate-x)), var(--translate-y-start,var(--translate-y))) scale(.95);--animation-transform-to:translate(var(--translate-x), var(--translate-y)) scale(1);animation:.2s forwards fadeTransformIn}.tooltip-text.disappearing{--animation-transform-from:translate(var(--translate-x), var(--translate-y)) scale(1);--animation-transform-to:translate(var(--translate-x-start,var(--translate-x)), var(--translate-y-start,var(--translate-y))) scale(.95);animation:.2s forwards fadeTransformOut}@media (prefers-reduced-motion:reduce){.tooltip-text{opacity:1;transform:translate(var(--translate-x), var(--translate-y)) scale(1);animation:none!important}.tooltip-text.disappearing{opacity:0}}.pricing-section{width:100%;max-width:calc(1200px * var(--scale-factor));margin:0 auto;padding:4rem 2rem}.pricing-section.onboarding{max-width:none;padding:0}.pricing-section.landing{padding-top:0}.pricing-section.landing>*{opacity:0;animation:.5s ease-out forwards settle}.pricing-section.onboarding>*{opacity:1;animation:none}.pricing-section ul,.pricing-section ol{margin:0;padding:0;list-style:none}.pricing-header{text-align:center;margin-bottom:2rem}.pricing-section.onboarding .pricing-header{margin-bottom:1.5rem}.pricing-section.landing .pricing-header{opacity:0;animation:.5s ease-out 80ms forwards settle}.pricing-section.landing .pricing-tiers{opacity:0;animation:.5s ease-out .16s forwards settle}.pricing-header h2{color:var(--text-color);font-size:2.6rem;font-family:var(--heading-font);margin-bottom:1rem}.pricing-section.onboarding .pricing-header h2{margin-bottom:.5rem;font-size:2.25rem}.pricing-header p{color:var(--text-color-weak);font-size:1.25rem}.pricing-section.onboarding .pricing-header p{color:var(--text-color-medium);font-size:1.05rem}.pricing-tiers{grid-template-columns:repeat(2,1fr);gap:2rem;width:100%;display:grid}.pricing-section.onboarding .pricing-tiers{gap:1.5rem}.pricing-tiers.premium-only{grid-template-columns:1fr}.pricing-tier{background-color:var(--primary);border:1px solid var(--border-color-weak);border-radius:16px;flex-direction:column;padding:2.5rem;transition:box-shadow .3s;display:flex;position:relative;overflow:hidden}.pricing-section.onboarding .pricing-tier{padding:2rem;transition:all .3s}.pricing-section.onboarding .pricing-tier.highlighted{transform:scale(1.02)}.pricing-section.onboarding .pricing-tier:hover{box-shadow:var(--box-shadow);transform:translateY(-2px)}.pricing-section.onboarding .pricing-tier.highlighted:hover{transform:scale(1.02)translateY(-2px)}.pricing-tier:hover{box-shadow:var(--box-shadow)}.pricing-tier.highlighted{border:1px solid var(--accent-highlight);box-shadow:var(--box-shadow)}.tier-header{z-index:3;position:relative}.tier-header h2{color:var(--text-color);font-size:1.6rem;font-family:var(--heading-font);margin-bottom:.5rem}.pricing-section.onboarding .tier-header h2{font-size:1.5rem}.tier-description{color:var(--text-color-weak)}.pricing-section.onboarding .tier-description{color:var(--text-color-medium);margin-bottom:0;font-size:.95rem}.tier-content{z-index:3;flex-grow:1;position:relative}.price{height:4.2rem;margin:.5rem 0 1.6rem}.pricing-section.onboarding .price{text-align:center;justify-content:center;place-self:center;align-items:center;height:auto;margin:1rem 0 1.2rem}.price-main{align-items:baseline;display:flex}.pricing-section.onboarding .price-main{justify-content:center}.price .amount{color:var(--text-color);font-size:2rem;font-weight:600}.highlighted .price .amount{color:var(--accent-highlight)}.pricing-section.onboarding .highlighted .price .amount{color:var(--accent)}.price .period{color:var(--text-color-weak);margin-left:.25rem;font-size:.875rem}.price-secondary{height:1.5rem}.annual-info{color:var(--text-color-weak);align-items:center;gap:.5rem;margin-top:.3rem;font-size:.875rem;display:flex}.pricing-section.onboarding .annual-info{justify-content:center}.save-badge{background-color:var(--accent-highlight);color:var(--text-color-accent);border-radius:12px;margin-top:.1rem;padding:.15rem .4rem;font-size:.7rem;font-weight:600}.feature-list{flex-direction:column;gap:.75rem;display:flex;margin-left:-.1rem!important}.pricing-section.onboarding .feature-list{text-align:left;margin:1rem 0 2rem!important}.feature-item{color:var(--text-color);align-items:flex-start;gap:.5rem;display:flex}.pricing-section.onboarding .feature-item{align-items:center;gap:.75rem;font-size:.95rem}.feature-item svg{color:var(--accent-highlight);flex-shrink:0;margin-top:.125rem}.antifeature svg{color:var(--error-color)}.pricing-section.onboarding .feature-item svg{color:var(--accent);margin-top:0;font-size:1rem;font-weight:600}.tier-footer{z-index:3;margin-top:2rem;position:relative}.pricing-section.onboarding .tier-footer{margin-top:auto}.tier-button{border:1px solid var(--border-color-weak);background-color:var(--primary);width:100%;color:var(--text-color);cursor:pointer;border-radius:8px;padding:.75rem;transition:all .2s}.pricing-section.onboarding .tier-button{border-radius:12px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.tier-button:hover{background-color:var(--primary-weak-highlight)}.tier-button.highlighted{background-color:var(--accent-highlight);border-color:var(--accent-highlight);color:var(--text-color-accent)}.tier-button.highlighted:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.tier-button.loading-stripe{opacity:.7;cursor:not-allowed}.tier-button.subscribed{cursor:default;opacity:.7;background-color:var(--primary);border-color:var(--border-color-weak);color:var(--text-color-weak)}.tier-button.subscribed:hover{background-color:var(--primary)}.button-content{justify-content:center;align-items:center;gap:8px;display:flex}.billing-toggle{justify-content:center;align-items:center;gap:1rem;margin:1.5rem auto;display:flex;position:relative}.billing-toggle span{color:var(--text-color-weak);cursor:pointer;font-size:.95rem;font-weight:500;transition:color .2s}.billing-toggle span.active{color:var(--text-color);font-weight:600}.pricing-section.onboarding .billing-toggle{margin:0 0 1.5rem}.darkmode .tier-button.highlighted{background-color:var(--accent);border-color:var(--accent)}.darkmode .save-badge{background-color:var(--accent)}.darkmode .pricing-tier.highlighted{border:1px solid var(--accent)}.pricing-loading{justify-content:center;align-items:center;min-height:200px;display:flex}@media (max-width:768px){.pricing-section{margin-bottom:2rem;padding:1rem}.pricing-step .pricing-section.onboarding{margin-bottom:0;padding:0}.pricing-section p{font-size:.95rem}.pricing-section h2{font-size:1.5rem}.pricing-tiers{grid-template-columns:1fr}.pricing-tiers .pricing-tier{padding:1.5rem}.pricing-tiers .feature-item{font-size:.95rem}.pricing-header h2,.price .amount{font-size:1.8rem}.price{height:auto;min-height:4.2rem}}.error-boundary{width:100%;color:var(--text-color);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;font-family:Inter,sans-serif;display:flex}.error-boundary__icon{color:var(--text-color-extra-weak);opacity:.7;margin-bottom:.25rem}.error-boundary__title{font-family:var(--heading-font);margin:0;font-size:1.35rem;font-weight:500}.error-boundary__description{color:var(--text-color-weak);text-align:center;max-width:320px;margin:0;font-size:.95rem;line-height:1.5}.error-boundary__button{color:var(--text-color);background-color:var(--primary);border:1px solid var(--border-color-weak);cursor:pointer;border-radius:12px;margin-top:.75rem;padding:.7rem 1.2rem;font-size:.95rem;font-weight:600;transition:background-color .2s}.error-boundary__button:hover{background-color:var(--primary-weak-highlight)}.confirm-dialog{padding:1.5rem}.confirm-dialog-title{color:var(--text-color);margin-bottom:.75rem;font-size:1.2rem}.confirm-dialog-description{color:var(--text-color-weak);margin-bottom:1.5rem;font-size:.9rem}.confirm-dialog-input{margin-bottom:1.5rem}.confirm-dialog-toggle{border:1px solid var(--border-color-weak);background:var(--primary-weak-highlight);color:var(--text-color);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.7rem .85rem;font-size:.88rem;display:flex}.confirm-text-prompt{color:var(--text-color);margin-bottom:.5rem;font-size:.9rem}.confirm-text-input-container{background-color:var(--primary);border:1px solid var(--border-color-weak);border-radius:12px;flex-direction:row;align-items:center;width:100%;min-height:40px;font-size:.95rem;display:flex;position:relative}.confirm-text-input{background-color:var(--primary);width:100%;height:100%;color:var(--text-color);box-shadow:none;border:none;border-radius:12px;outline:none;min-height:40px;padding:0 1rem;transition:all .3s}.confirm-text-input:focus{background-color:var(--primary-weak-highlight);outline:none}.confirm-text-input::placeholder{color:var(--text-color-weak);opacity:.8}.confirm-dialog-buttons{justify-content:flex-end;gap:.5rem;display:flex}.confirm-dialog-button{cursor:pointer;border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;transition:background-color .3s,transform .1s,border .3s}.confirm-dialog-button:active:not(:disabled){transform:scale(.97)}.confirm-dialog-button:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-button.cancel{background:var(--primary-weak-highlight);color:var(--text-color)}.confirm-dialog-button.cancel:hover:not(:disabled){background:var(--primary-highlight)}.confirm-dialog-button.confirm{background:var(--secondary);color:var(--text-color-highlight)}.confirm-dialog-button.confirm:hover:not(:disabled){background:var(--secondary-highlight)}.confirm-dialog-button.confirm.destructive{background:var(--error-color);color:var(--text-color-accent)}.confirm-dialog-button.confirm.destructive:hover:not(:disabled){background:var(--error-color-highlight)}.confirm-dialog-drawer .confirm-dialog{padding:0}.confirm-dialog-drawer .confirm-dialog-title{margin-bottom:1rem;font-size:1.1rem}.confirm-dialog-drawer .confirm-dialog-buttons{gap:.75rem;margin-top:1.5rem}.confirm-dialog-drawer .confirm-dialog-button{flex:1;min-height:44px;padding:.75rem 1rem}
