.animated-logo-loader-fullscreen{display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#fff;z-index:9999}.animated-logo-loader-inline{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;width:100%;min-height:150px}.animated-logo-loader-fullscreen img,.animated-logo-loader-inline img{display:block}.loading-message{margin-top:15px;font-size:1.1em;color:#333;text-align:center}.custom-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:15px}.custom-modal{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 5px 15px #0000004d;width:100%;max-width:450px;text-align:center}.custom-modal-header{margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.custom-modal-header h2{margin:0;font-size:1.4em;color:#333}.custom-modal-content{margin-bottom:20px;font-size:1em;color:#555;line-height:1.6}.custom-modal-content p{margin-top:0;margin-bottom:1em}.custom-modal-content p:last-child{margin-bottom:0}.custom-modal-content strong{color:#333}.custom-modal-actions{display:flex;justify-content:flex-end;gap:10px}.custom-modal-button{padding:10px 20px;border-radius:5px;border:none;font-size:.95em;font-weight:500;cursor:pointer;transition:background-color .2s,box-shadow .2s}.custom-modal-button.confirm{background-color:#007bff;color:#fff}.custom-modal-button.confirm:hover{background-color:#0056b3;box-shadow:0 2px 5px #00000026}.custom-modal-button.cancel{background-color:#f0f0f0;color:#333;border:1px solid #ccc}.custom-modal-button.cancel:hover{background-color:#e0e0e0;box-shadow:0 2px 5px #0000001a}.custom-modal-button.danger{background-color:#dc3545;color:#fff}.custom-modal-button.danger:hover{background-color:#c82333;box-shadow:0 2px 5px #00000026}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;background-color:transparent;padding:1rem 2rem;transition:background-color .3s ease-in-out,box-shadow .3s ease-in-out,color .3s ease-in-out;color:#fff}.header.scrolled{background-color:#fff;box-shadow:0 2px 4px #0000001a;color:#333}.header-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header a{text-decoration:none;color:inherit}.logo a{font-weight:700;display:inline-block;vertical-align:middle;transition:opacity .2s ease}.logo a:hover{opacity:.8;color:inherit;text-decoration:none}.header-logo{height:40px;width:auto;display:block}.nav-links-desktop{display:flex;align-items:center;gap:1.5rem}.auth-links{display:flex;align-items:center;gap:1rem}.nav-link{padding:.5rem 0;transition:opacity .2s ease}.nav-link:hover{color:inherit;opacity:.8;text-decoration:none}.nav-link:visited{color:inherit}.btn-signup{background-color:#007bff;color:#fff!important;padding:.5rem 1rem;border:none;border-radius:4px;text-decoration:none!important;font-weight:500;cursor:pointer;transition:background-color .2s ease,transform .1s ease;display:inline-block;text-align:center}.btn-signup:hover{background-color:#0056b3;color:#fff!important;text-decoration:none!important;transform:translateY(-1px)}.btn-signup:active{transform:translateY(0)}.user-section{position:relative}.user-menu-button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;border-radius:50%;color:inherit;text-decoration:none;transition:opacity .2s ease}.user-menu-button:hover{opacity:.8;text-decoration:none}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;background-color:#fff;color:#333;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:220px;z-index:1001;overflow:hidden;padding:.5rem 0}.dropdown-user-info{padding:.75rem 1rem;line-height:1.4}.dropdown-user-info .user-email{font-weight:500;margin:0 0 .25rem;font-size:.9rem;word-break:break-all}.dropdown-user-info .user-plan-credits{font-size:.85rem;color:#555;margin:0}.dropdown-separator{border:none;border-top:1px solid #eee;margin:.5rem 0}.dropdown-link{display:block;width:100%;padding:.75rem 1rem;border:none;color:#333;text-decoration:none!important;font-size:.9rem;cursor:pointer;text-align:left;transition:background-color .2s ease}.dropdown-link:hover{background-color:#f8f9fa;color:#333;text-decoration:none!important}.dropdown-link:visited{color:#333}.dropdown-logout-button{display:block;width:100%;text-align:left;padding:.75rem 1rem;background:none;border:none;color:#dc3545;text-decoration:none!important;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.dropdown-logout-button:hover{background-color:#f8f9fa;text-decoration:none!important;color:#dc3545}.hamburger-menu{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:#a2a1a1;z-index:1005;text-decoration:none;transition:opacity .2s ease}.hamburger-menu:hover{opacity:.8;text-decoration:none}.nav-links-mobile{display:none;position:fixed;top:0;right:-100%;width:280px;height:100vh;background-color:#fff;box-shadow:-2px 0 5px #0000001a;padding:60px 1.5rem 2rem;flex-direction:column;align-items:flex-start;gap:1rem;transition:right .3s ease-in-out;z-index:999;color:#333}.nav-links-mobile.open{right:0}.mobile-nav-link{color:#333;text-decoration:none!important;font-size:1.1rem;padding:.5rem 0;display:block;width:100%;transition:opacity .2s ease}.mobile-nav-link:hover{color:#333;opacity:.7;text-decoration:none!important}.mobile-nav-link:visited{color:#333}.mobile-user-info{padding-bottom:.5rem;border-bottom:1px solid #eee;width:100%;color:#333}.mobile-user-info p{margin:.25rem 0;font-size:.9rem;word-break:break-all}.mobile-user-info p:last-child{font-size:.85rem;color:#555}.mobile-logout-button{background:none;border:none;color:#dc3545;font-size:1.1rem;padding:.5rem 0;cursor:pointer;text-align:left;width:100%;text-decoration:none!important;transition:opacity .2s ease}.mobile-logout-button:hover{opacity:.7;text-decoration:none!important;color:#dc3545}.btn-signup.mobile-signup{margin-top:1rem;width:100%;text-align:center;text-decoration:none!important}.btn-signup.mobile-signup:hover{text-decoration:none!important}.loading-indicator{color:inherit;font-style:italic}@media (max-width: 768px){.nav-links-desktop{display:none}.hamburger-menu{display:block}.nav-links-mobile{display:flex}.header{padding:.8rem 1rem}}body{padding-top:70px}.site-footer{background-color:#2c3e50;color:#bdc3c7;padding:50px 0 30px;font-size:.95rem;margin-top:auto;border-top:3px solid #3498db}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px 40px;margin-bottom:40px;align-items:start}.footer-col-brand .footer-logo-link{display:inline-block;margin-bottom:10px}.footer-col-brand .footer-logo{max-height:75px;width:auto;display:block}.footer-tagline{font-size:.9em;line-height:1.5;margin-bottom:20px;color:#ecf0f1}.copyright{font-size:.85em;color:#95a5a6;margin-top:20px}.footer-col h4,.footer-extra-row h4{color:#ecf0f1;font-size:1.1rem;margin-top:0;margin-bottom:18px;font-weight:600;position:relative;padding-bottom:8px}.footer-col h4:after,.footer-extra-row h4:after{content:"";position:absolute;left:0;bottom:0;width:40px;height:2px;background-color:#3498db}.footer-col ul{list-style:none;padding:0;margin:0}.footer-col li{margin-bottom:10px}.footer-col a,.footer-col ul li a{color:#bdc3c7;text-decoration:none;transition:color .2s ease-in-out,padding-left .2s ease-in-out}.footer-col a:hover,.footer-col ul li a:hover{color:#fff;padding-left:5px}.footer-extra-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;padding-top:30px;border-top:1px solid #4a647e;gap:30px}.social-links{display:flex;flex-wrap:wrap;gap:15px}.social-links a{color:#bdc3c7;font-size:1.6rem;transition:color .2s ease-in-out,transform .2s ease-in-out}.social-links a:hover{color:#3498db;transform:translateY(-2px)}.app-links{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.app-links a{display:inline-flex;align-items:center;gap:8px;color:#bdc3c7;font-size:1.1rem;background-color:#ffffff1a;padding:8px 15px;border-radius:5px;transition:background-color .2s ease-in-out,color .2s ease-in-out;min-width:150px;justify-content:center}.app-links a:hover{background-color:#fff3;color:#fff;cursor:pointer}@media (max-width: 992px){.footer-grid{gap:30px}}@media (max-width: 768px){.footer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:25px}.footer-extra-row{justify-content:flex-start}.footer-follow,.footer-apps{flex-basis:auto;width:100%;max-width:300px}}@media (max-width: 576px){.site-footer{padding:40px 0 20px}.footer-grid{grid-template-columns:1fr;text-align:center;margin-bottom:30px;gap:20px}.footer-col-brand .footer-logo-link{margin-left:auto;margin-right:auto}.footer-col-brand .footer-logo{max-height:50px}.footer-col h4:after,.footer-extra-row h4:after{left:50%;transform:translate(-50%)}.footer-extra-row{flex-direction:column;align-items:center;text-align:center;padding-top:25px;border-top:1px solid #4a647e;gap:25px}.social-links{justify-content:center}.app-links{align-items:center}}.welcome-banner{background:linear-gradient(90deg,#4f46e5,#8b5cf6);color:#fff;padding:12px 20px;display:flex;justify-content:center;align-items:center;gap:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 4px 6px -1px #0000001a;flex-wrap:wrap}.welcome-banner-content{display:flex;align-items:center;gap:10px}.welcome-banner-icon{font-size:1.5rem}.welcome-banner-text{font-size:1rem}.welcome-countdown{background:#fff3;padding:3px 8px;border-radius:4px;margin-left:10px;font-family:monospace;font-weight:700;font-size:1.1rem}.welcome-banner-btn{background-color:#fff;color:#4f46e5;border:none;padding:8px 16px;border-radius:6px;font-weight:700;cursor:pointer;transition:transform .1s ease}.welcome-banner-btn:hover{transform:scale(1.05)}@media (max-width: 600px){.welcome-banner{flex-direction:column;text-align:center;gap:10px}.welcome-countdown{display:inline-block;margin-top:5px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;color:#333;background-color:#fff}a{color:#007bff;text-decoration:none}a:hover{text-decoration:underline}ul{list-style:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit;font-size:inherit}.main-content{flex-grow:1;padding:74px 20px 20px;max-width:1200px;margin:0 auto;width:100%}.container{max-width:1100px;margin:0 auto;padding:0 15px;width:100%}.header{background-color:#f8f9fa;padding:10px 0;border-bottom:1px solid #dee2e6;box-shadow:0 2px 4px #0000000d}.header .container{display:flex;justify-content:space-between;align-items:center}.logo a{font-weight:700;font-size:1.5rem;color:#333;text-decoration:none}.logo a:hover{text-decoration:none}.nav ul{display:flex;align-items:center}.nav li{margin-left:20px}.nav a{color:#007bff;font-weight:500}.nav a:hover{color:#0056b3;text-decoration:none}.auth,.user-menu{display:flex;align-items:center}.credits-display{margin-right:15px;color:#6c757d;font-size:.9em;background-color:#e9ecef;padding:3px 8px;border-radius:4px}.username{margin-right:15px;font-style:italic;color:#555}.sign-out-btn,.login-btn,.signup-btn{margin-left:10px}.footer{background-color:#343a40;color:#f8f9fa;padding:40px 0 20px;margin-top:auto}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-bottom:30px}.footer-section{flex:1;min-width:200px}.footer-section h3{margin-bottom:15px;color:#fff;font-size:1.1rem}.footer-section p,.footer-section li{margin-bottom:8px;color:#adb5bd;font-size:.95rem}.footer-section a{color:#adb5bd}.footer-bottom{text-align:center;border-top:1px solid #495057;padding-top:20px;font-size:.9em;color:#6c757d}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:1px solid transparent;border-radius:5px;font-weight:500;text-align:center;vertical-align:middle;cursor:pointer;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;white-space:nowrap}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{background-color:#0056b3;border-color:#004085}.btn-primary:disabled{background-color:#007bff;border-color:#007bff}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{background-color:#5a6268;border-color:#545b62}.btn-secondary:disabled{background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{background-color:#218838;border-color:#1e7e34}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{background-color:#c82333;border-color:#bd2130}.btn-outline-primary{color:#007bff;border-color:#007bff;background-color:transparent}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-large{padding:12px 24px;font-size:1.2rem}.btn-medium{padding:10px 20px;font-size:1rem}.btn-small{padding:6px 12px;font-size:.9rem}.btn-full-width{display:block;width:100%}.btn-icon{margin-right:8px;display:inline-flex;align-items:center}@media (max-width: 768px){.main-content{padding-top:78px}}body,h1,h2,h3,p,ul,li{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;display:flex;flex-direction:column}#root{width:100%;margin:0 auto;display:flex;flex-direction:column;flex-grow:1}a{color:#646cff;text-decoration:inherit;transition:color .2s}a:hover{color:#535bf2}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex-grow:1;width:100%}.header{background-color:#333;padding:.5rem 0;border-bottom:1px solid #444}.header .container{max-width:1280px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center}.header .logo a{color:#eee;font-weight:700;font-size:1.5rem;text-decoration:none}.header .nav ul{list-style:none;display:flex}.header .nav li{margin-left:1.5rem}.header .nav a{color:#bbb;text-decoration:none}.header .nav a:hover{color:#fff}.header .auth{display:flex;align-items:center}.header .auth span.username{color:#eee;margin-right:1rem}.header .auth-buttons a,.header .user-menu button{color:#eee;text-decoration:none;padding:.4rem .8rem;border:1px solid #555;border-radius:4px;margin-left:.5rem;cursor:pointer;background-color:transparent;transition:background-color .2s}.header .auth-buttons a.signup-btn,.header .user-menu button{background-color:#007bff;border-color:#007bff}.header .auth-buttons a:hover,.header .user-menu button:hover{background-color:#555}.header .auth-buttons a.signup-btn:hover,.header .user-menu button:hover{background-color:#0056b3;border-color:#0056b3}.footer{background-color:#333;color:#aaa;padding:2rem 0;margin-top:auto;font-size:.9rem;border-top:1px solid #444}.footer .container{max-width:1280px;margin:0 auto;padding:0 1rem}.footer-content{display:flex;justify-content:space-between;flex-wrap:wrap;margin-bottom:1.5rem}.footer-section{flex:1;min-width:200px;margin:0 1rem 1rem 0}.footer-section:last-child{margin-right:0}.footer-section h3{color:#eee;margin-bottom:.8rem;font-size:1.1rem}.footer-section ul{list-style:none}.footer-section li{margin-bottom:.5rem}.footer-section a{color:#aaa}.footer-section a:hover{color:#fff}.footer-bottom{text-align:center;border-top:1px solid #444;padding-top:1rem;color:#888}
