@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutUp{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes scaleUp{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes scaleDown{0%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes elastic{0%{transform:scale(1)}30%{transform:scale(1.25)}40%{transform:scale(.75)}50%{transform:scale(1.15)}65%{transform:scale(.95)}75%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes skeleton{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes shimmerSkeleton{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes progress{0%{width:0%}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .2s ease-out}.animate-fadeOut{animation:fadeOut .2s ease-in}.animate-fadeInUp{animation:fadeInUp .3s ease-out}.animate-fadeInDown{animation:fadeInDown .3s ease-out}.animate-fadeInLeft{animation:fadeInLeft .3s ease-out}.animate-fadeInRight{animation:fadeInRight .3s ease-out}.animate-slideInUp{animation:slideInUp .3s cubic-bezier(.4,0,.2,1)}.animate-slideInDown{animation:slideInDown .3s cubic-bezier(.4,0,.2,1)}.animate-slideInLeft{animation:slideInLeft .3s cubic-bezier(.4,0,.2,1)}.animate-slideInRight{animation:slideInRight .3s cubic-bezier(.4,0,.2,1)}.animate-scaleIn{animation:scaleIn .2s cubic-bezier(.4,0,.2,1)}.animate-scaleOut{animation:scaleOut .2s cubic-bezier(.4,0,.2,1)}.animate-spin{animation:spin .8s linear infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-bounceIn{animation:bounceIn .5s cubic-bezier(.34,1.56,.64,1)}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-pulseScale{animation:pulseScale 2s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.transition-all{transition:all .15s ease-out}.transition-transform{transition:transform .15s ease-out}.transition-opacity{transition:opacity .15s ease-out}.transition-colors{transition:color .15s ease-out,background-color .15s ease-out,border-color .15s ease-out}.transition-fast{transition:all 50ms ease-out}.transition-slow{transition:all .3s ease-out}.hover-lift{transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s ease-out}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 10px 20px -5px #00000026}.hover-scale{transition:transform .15s cubic-bezier(.4,0,.2,1)}.hover-scale:hover{transform:scale(1.02)}.active-scale:active{transform:scale(.98);transition:transform 50ms ease-out}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmerSkeleton 1.5s infinite}.input-focus-ring{transition:box-shadow .15s ease-out,border-color .15s ease-out}.input-focus-ring:focus{outline:none;box-shadow:0 0 0 3px #0000001a}@keyframes slideInRightFixed{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRightFixed{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-enter{animation:slideInRightFixed .3s cubic-bezier(.4,0,.2,1)}.toast-exit{animation:slideOutRightFixed .3s cubic-bezier(.4,0,.2,1)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalScaleOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(10px)}}.modal-backdrop-enter{animation:modalFadeIn .15s ease-out}.modal-backdrop-exit{animation:modalFadeOut .15s ease-out}.modal-content-enter{animation:modalScaleIn .3s cubic-bezier(.34,1.56,.64,1)}.modal-content-exit{animation:modalScaleOut .2s cubic-bezier(.4,0,1,1)}.spinner{animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px}.spinner-md{width:24px;height:24px}.spinner-lg{width:32px;height:32px}@keyframes dotPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.dot-loader{display:flex;gap:6px;align-items:center}.dot-loader span{width:8px;height:8px;border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite}.dot-loader span:nth-child(1){animation-delay:0s}.dot-loader span:nth-child(2){animation-delay:.2s}.dot-loader span:nth-child(3){animation-delay:.4s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes accentPulse{0%,to{box-shadow:0 0 #00000026}50%{box-shadow:0 0 12px 4px #00000014}}@keyframes accentGlow{0%,to{opacity:.6}50%{opacity:1}}@keyframes shimmerSlide{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes accentBorderRotate{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes progressShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes taskPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.btn-shimmer{position:relative;overflow:hidden}.btn-shimmer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.25) 50%,transparent 60%);transform:translate(-100%);transition:none}.btn-shimmer:hover:after{animation:shimmerSlide .6s ease-out}.accent-pulse{animation:accentPulse 2.5s ease-in-out infinite}.card-hover-lift{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s ease}.card-hover-lift:hover{transform:translateY(-3px);box-shadow:0 12px 28px -4px #0000001f,0 4px 10px -2px #0000000f}.card-glow:hover{box-shadow:0 12px 28px -4px #0000001a,0 0 0 1px #0000000f}.glass{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%)}.glass-subtle{backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%)}.text-accent-gradient{background:linear-gradient(135deg,#1a1a1a,#000);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.progress-shimmer{background:linear-gradient(90deg,currentColor 0%,rgba(255,255,255,.3) 50%,currentColor 100%);background-size:200% 100%;animation:progressShimmer 2s ease-in-out infinite}.stagger-item{opacity:0;transform:translateY(8px);animation:fadeInUp .3s ease-out forwards}.nav-active-indicator{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;background:currentColor;transition:opacity .2s ease}.focus-accent:focus-visible{outline:none;box-shadow:0 0 0 2px #0003}@keyframes creditFloatUp{0%{opacity:1;transform:translateY(-50%) translate(0)}50%{opacity:1;transform:translateY(-50%) translate(8px)}to{opacity:0;transform:translateY(-100%) translate(16px)}}@keyframes creditDeductPulse{0%{transform:scale(1)}25%{transform:scale(1.05);color:#ef4444}50%{transform:scale(.98)}75%{transform:scale(1.02)}to{transform:scale(1);color:inherit}}@keyframes creditAddPulse{0%{transform:scale(1)}25%{transform:scale(1.05);color:#22c55e}50%{transform:scale(.98)}75%{transform:scale(1.02)}to{transform:scale(1);color:inherit}}@keyframes creditMagnitudePop{0%{opacity:0;transform:translateY(-50%) scale(.5)}50%{opacity:1;transform:translateY(-50%) scale(1.2)}to{opacity:0;transform:translateY(-50%) scale(.8) translate(8px)}}@keyframes creditWarningPulse{0%,to{opacity:1;box-shadow:0 0 #ef444466}50%{opacity:.8;box-shadow:0 0 0 8px #ef444400}}@keyframes creditNumberRoll{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes lightningShake{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes creditBadgeEnter{0%{opacity:0;transform:scale(.8) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes creditExplosion{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.3)}to{opacity:0;transform:scale(.5)}}.animate-credit-deduct{animation:creditDeductPulse .6s ease-out}.animate-credit-add{animation:creditAddPulse .6s ease-out}.animate-credit-warning{animation:creditWarningPulse 1.5s ease-in-out infinite}.animate-lightning-shake{animation:lightningShake .3s ease-in-out}.animate-credit-badge-enter{animation:creditBadgeEnter .3s ease-out}.credit-balance-change{transition:color .2s ease,transform .1s ease,text-shadow .2s ease}.credit-insufficient{color:#ef4444!important;animation:creditWarningPulse 1.5s ease-in-out infinite}.credit-low-warning{color:#f59e0b!important}.credit-sufficient{color:#22c55e!important}.credit-display-container{display:inline-flex;align-items:center;font-family:JetBrains Mono,SF Mono,Monaco,Inconsolata,monospace}.credit-float-tip{position:absolute;white-space:nowrap;pointer-events:none;font-weight:600;animation:creditFloatUp .8s ease-out forwards}:root{--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}@media(max-width:639px){.desktop-sidenav{display:none!important}.mobile-bottom-nav,.mobile-menu-toggle{display:flex!important}.main-content{padding:70px 16px 90px!important;max-width:100%!important}.top-bar{padding:0 12px!important;height:56px!important}.top-bar-logo-text{display:none!important}.top-bar-controls{gap:8px!important}.nav-text-label{display:none!important}.card-mobile-stack{flex-direction:column!important;gap:12px!important}.button-group{flex-direction:column!important;width:100%!important}.button-group>*{width:100%!important}.form-row{flex-direction:column!important;gap:16px!important}.form-row>*{width:100%!important}.project-list-item{flex-wrap:wrap!important;padding:14px 16px!important}.project-list-meta{flex-wrap:wrap!important;gap:8px!important}.project-progress-section{width:100%!important;margin-top:8px!important}.filter-group{flex-wrap:wrap!important;gap:6px!important}.filter-group button{padding:6px 10px!important;font-size:12px!important}.search-section{flex-direction:column!important;gap:12px!important;width:100%!important}.search-section input{width:100%!important}.modal-content{width:95%!important;max-width:95%!important;max-height:90vh!important;margin:auto!important}.modal-header,.modal-body{padding:16px!important}.toast-container{left:8px!important;right:8px!important;bottom:calc(80px + var(--safe-area-bottom))!important;max-width:none!important}h1{font-size:20px!important}h2{font-size:18px!important}h3{font-size:16px!important}.credits-badge{padding:0 8px!important}.credits-badge .upgrade-text{display:none!important}.user-menu-dropdown{right:-8px!important;min-width:240px!important}.execution-progress{padding:16px!important}.phase-progress{flex-direction:column!important;align-items:flex-start!important}.phase-meta{width:100%!important;justify-content:space-between!important}.delivery-section{padding:16px!important}.deliverable-grid{grid-template-columns:1fr!important}.membership-tier-card{min-width:100%!important}.membership-comparison{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.credits-chart{height:200px!important}.credits-history-list{padding:0 8px!important}.settings-section{padding:16px!important}.settings-row{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.language-selector-dropdown{right:0!important;left:auto!important}}@media(min-width:640px)and (max-width:1023px){.desktop-sidenav{left:12px!important}.main-content{padding:80px 24px 40px 88px!important}.top-bar{padding:0 20px!important}.filter-group{flex-wrap:wrap!important}}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(64px + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);background:var(--nav-bg, #ffffff);border-top:1px solid var(--nav-border, #e5e7eb);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);z-index:200;justify-content:space-around;align-items:center;padding-left:8px;padding-right:8px}.mobile-bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;border-radius:12px;border:none;background:transparent;cursor:pointer;transition:all .2s ease;min-width:56px}.mobile-bottom-nav-item svg{width:22px;height:22px}.mobile-bottom-nav-item span{font-size:10px;font-weight:500}.mobile-bottom-nav-item.active{background:var(--accent-subtle, rgba(0, 0, 0, .05));color:var(--accent, #4F8FFF)}.mobile-bottom-nav-item:not(.active){color:var(--text-tertiary, #9ca3af)}.mobile-new-project-btn{width:48px;height:48px;border-radius:50%;border:none;background:var(--accent-gradient, linear-gradient(135deg, #4F8FFF, #2563EB));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:-20px;box-shadow:0 4px 12px #4f8fff66;transition:transform .2s ease}.mobile-new-project-btn:active{transform:scale(.95)}.mobile-menu-toggle{display:none;width:40px;height:40px;border-radius:10px;border:none;background:var(--surface, #f9fafb);cursor:pointer;align-items:center;justify-content:center;padding:0;margin-right:8px}.mobile-menu-toggle svg{width:20px;height:20px;color:var(--text-primary, #1f2937)}.mobile-drawer{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--surface, #ffffff);z-index:300;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:4px 0 20px #00000026}.mobile-drawer.open{transform:translate(0)}.mobile-drawer-backdrop{position:fixed;inset:0;background:#00000080;z-index:299;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-drawer-backdrop.open{opacity:1;pointer-events:auto}.mobile-drawer-header{padding:20px 16px;border-bottom:1px solid var(--border, #e5e7eb)}.mobile-drawer-nav{flex:1;padding:8px;overflow-y:auto}.mobile-drawer-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;font-size:15px;color:var(--text-primary, #1f2937);transition:background .15s ease}.mobile-drawer-nav-item:hover{background:var(--surface-hover, #f3f4f6)}.mobile-drawer-nav-item.active{background:var(--accent-subtle, rgba(79, 143, 255, .1));color:var(--accent, #4F8FFF)}@media(max-width:1023px){button,[role=button],input[type=checkbox],input[type=radio],select{min-height:44px;min-width:44px}a{padding:8px 0}input[type=text],input[type=email],input[type=password],input[type=search],textarea,select{font-size:16px!important}*{-webkit-tap-highlight-color:transparent}button:active,[role=button]:active{transform:scale(.98);opacity:.9}.scrollable{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@media(max-height:500px)and (orientation:landscape){.mobile-bottom-nav{height:56px;padding-bottom:0}.mobile-bottom-nav-item{flex-direction:row;gap:6px;padding:8px 16px}.mobile-bottom-nav-item span{font-size:12px}.top-bar{height:48px!important}.main-content{padding-top:56px!important}}@media(min-width:1280px){.main-content{padding-left:100px!important}}@media print{.mobile-bottom-nav,.desktop-sidenav,.top-bar,.mobile-menu-toggle{display:none!important}.main-content{padding:0!important}}@media(prefers-reduced-motion:reduce){.mobile-drawer,.mobile-drawer-backdrop,.mobile-bottom-nav-item,.mobile-new-project-btn{transition:none!important}}
