@import"https://fonts.googleapis.com/css2?family=MedievalSharp&family=Roboto+Slab:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Rye&display=swap";@import"https://fonts.googleapis.com/css2?family=Fredericka+the+Great&display=swap";body{background-size:cover;color:var(--text-light);font-family:var(--font-primary);background-image:var(--background-image);background-size:100%;background-attachment:fixed}.public-home-container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.hero-section{text-align:center;margin-bottom:3rem;padding:4rem 2rem;background:linear-gradient(var(--background-overlay),var(--background-overlay));background-size:cover;border-radius:0;border:8px solid var(--dark-wood);position:relative;box-shadow:var(--box-shadow)}.hero-section:before{content:"";position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:2px solid var(--accent);pointer-events:none;opacity:.5}.hero-section h1{font-family:var(--font-decorative);font-size:3.5rem;margin-bottom:1.5rem;text-shadow:var(--text-shadow);color:var(--accent);letter-spacing:1px}.subtitle{font-size:1.3rem;margin-bottom:2rem;font-weight:400;max-width:800px;margin-left:auto;margin-right:auto;line-height:1.6;text-shadow:1px 1px 3px rgba(0,0,0,.9)}.torch-container{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;overflow:hidden}.torch{position:absolute;width:60px;height:60px;background:radial-gradient(ellipse at center,var(--fire-glow) 0%,rgba(255,109,0,.2) 40%,rgba(255,109,0,0) 70%);border-radius:50%;top:60px;filter:blur(8px);box-shadow:0 0 40px 20px #ff6d004d;animation:torchFlicker 3s infinite alternate}.torch.left{left:60px;animation-delay:.5s}.torch.right{right:60px;animation-delay:1.5s}@keyframes torchFlicker{0%,18%,22%,25%,53%,57%,to{box-shadow:0 0 40px 20px #ff6d004d;opacity:.8}20%,24%,55%{box-shadow:0 0 30px 15px #ff6d0033;opacity:.6}}.features-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-bottom:4rem}.icon-container{display:flex;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1.5rem;background-color:var(--primary);border-radius:50%;padding:15px;border:2px solid var(--accent);position:relative;color:var(--accent);box-shadow:var(--glow-effect)}.icon-container:before{content:"";position:absolute;top:-5px;left:-5px;right:-5px;bottom:-5px;border-radius:50%;border:1px solid var(--accent);opacity:.5;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.3}to{transform:scale(1);opacity:.5}}.feature-card h3{margin-bottom:1.2rem;color:var(--accent);font-family:var(--font-decorative);font-size:1.8rem;text-shadow:var(--text-shadow);position:relative;text-align:center}.feature-card h3:after{content:"";display:block;height:2px;width:60px;background:var(--accent);margin:8px auto 0;box-shadow:var(--glow-effect)}.feature-card p{position:relative;line-height:1.6;font-size:1.1rem;text-align:center}.cta-section{text-align:center;padding:3.5rem 2rem;background:linear-gradient(var(--background-overlay),var(--background-overlay));background-size:cover;border-radius:0;border:8px solid var(--dark-wood);position:relative;box-shadow:var(--box-shadow)}.cta-section h2{font-family:var(--font-decorative);font-size:2.5rem;margin-bottom:2rem;color:var(--accent);text-shadow:var(--text-shadow);position:relative}.scroll-decoration{height:2px;width:150px;background:linear-gradient(90deg,transparent 0%,var(--accent) 50%,transparent 100%);margin:0 auto 2rem;position:relative}.scroll-decoration:before,.scroll-decoration:after{content:"❖";position:absolute;font-size:1.2rem;color:var(--accent);top:-12px}.scroll-decoration:before{left:calc(50% - 50px)}.scroll-decoration:after{right:calc(50% - 50px)}.button-group{display:flex;justify-content:center;gap:1.5rem;margin-top:2rem;flex-wrap:wrap}.primary-button,.secondary-button{padding:1rem 2rem;font-family:var(--font-decorative);font-size:1.2rem;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:all .3s ease;position:relative;overflow:hidden;min-width:180px;border:none;outline:none;cursor:pointer;z-index:1;text-shadow:var(--text-shadow)}.primary-button{background-color:var(--secondary);color:var(--text-light);box-shadow:0 5px 0 var(--primary),0 5px 10px #00000080}.secondary-button{background-color:var(--background-overlay);color:var(--accent);border:2px solid var(--accent);box-shadow:0 5px 10px #0000004d}.button-glow{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right,transparent 0%,rgba(255,109,0,.2) 50%,transparent 100%);transform:translate(-100%);animation:buttonGlow 3s infinite;z-index:-1}@keyframes buttonGlow{0%{transform:translate(-100%)}to{transform:translate(100%)}}.primary-button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#fff3,#fff0 50%);transform:translate(-100%);transition:transform .6s ease;z-index:-1}.primary-button:hover{transform:translateY(-3px);box-shadow:0 8px 0 var(--primary),0 15px 20px #0006}.primary-button:hover:before{transform:translate(0)}.primary-button:active{transform:translateY(3px);box-shadow:0 2px 0 var(--primary),0 5px 5px #0000004d}.secondary-button:hover{background-color:var(--background-overlay);color:var(--text-light);border-color:var(--text-light);transform:translateY(-3px);box-shadow:0 10px 15px #0006}.secondary-button:active{transform:translateY(2px);box-shadow:0 5px 5px #0003}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--dark-wood)}::-webkit-scrollbar-thumb{background:var(--light-wood);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (max-width: 768px){.hero-section h1{font-size:2.5rem}.cta-section h2{font-size:2rem}.button-group{flex-direction:column;align-items:center}}@media (max-width: 768px){.hero-section h1{font-size:2rem}.features-section{grid-template-columns:1fr}.button-group{flex-direction:column}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:2rem;text-align:center}.loading-spinner{position:relative;width:60px;height:60px;margin-bottom:1rem}.spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid transparent;border-top:3px solid var(--accent);border-radius:50%;animation:spin 1.5s linear infinite}.spinner-ring:nth-child(2){animation-delay:-.5s;opacity:.6;border-top-color:var(--primary)}.spinner-ring:nth-child(3){animation-delay:-1s;opacity:.3;border-top-color:var(--secondary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{font-family:var(--font-decorative);color:var(--accent);font-size:1.1rem;margin:0;text-shadow:var(--text-shadow);animation:pulse-text 2s infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.7}}.loading-small{min-height:100px;padding:1rem}.loading-small .loading-spinner{width:30px;height:30px}.loading-small .spinner-ring{border-width:2px}.loading-small .loading-message{font-size:.9rem}.loading-medium{min-height:200px;padding:2rem}.loading-medium .loading-spinner{width:60px;height:60px}.loading-large{min-height:300px;padding:3rem}.loading-large .loading-spinner{width:80px;height:80px}.loading-large .spinner-ring{border-width:4px}.loading-large .loading-message{font-size:1.3rem}.loading-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;background:radial-gradient(circle,var(--accent-light-overlay) 0%,transparent 70%);border-radius:50%;z-index:-1;animation:glow-pulse 3s infinite}@keyframes glow-pulse{0%,to{opacity:.4;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.1)}}@media (max-width: 768px){.loading-container{min-height:150px;padding:1.5rem}.loading-message{font-size:1rem}}.sign-container{position:relative;display:inline-block}.sign-container.sign-with-filter:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;border-image-source:var(--sign-border-image-source);border-image-slice:var(--sign-border-image-slice);border-image-width:var(--sign-border-image-width);border-image-outset:var(--sign-border-image-outset);border-image-repeat:var(--sign-border-image-repeat);filter:var(--sign-filter, none);background:var(--sign-bg, transparent)}.sign-text{position:relative;z-index:1}.sign-container.sign-with-backdrop-filter:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backdrop-filter:var(--sign-backdrop-filter, none);backdrop-filter:var(--sign-backdrop-filter, none);pointer-events:none;z-index:-1}.color-picker{position:relative;margin-bottom:1rem}.color-picker-label{display:block;color:var(--accent);font-weight:700;margin-bottom:.5rem;font-family:var(--font-decorative)}.color-picker-controls{display:flex;gap:.5rem;align-items:center;position:relative}.color-preview{width:120px;height:40px;border:2px solid var(--border);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.color-preview:hover{border-color:var(--accent);box-shadow:0 0 8px var(--accent-light-overlay)}.color-value{color:var(--text-light);font-size:.8rem;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.8);background:#00000080;padding:.2rem .4rem;border-radius:2px}.color-picker-popover{position:absolute;top:50px;left:0;z-index:1000}.color-picker-cover{position:fixed;top:0;right:0;bottom:0;left:0}@media (max-width: 768px){.color-picker-popover{left:-1rem;right:-1rem}.color-preview{width:100px;height:35px}.color-value{font-size:.7rem;padding:.1rem .3rem}}.campaign-chat-container{display:flex;height:100vh;max-width:1200px;margin:0 auto;padding:0 1rem;background:var(--background-overlay);border-radius:5px;border:2px solid var(--accent);overflow:hidden;position:relative}main:has(.campaign-chat-container){padding:0}.app:has(.campaign-chat-container) footer{display:none}.chat-main-area{display:flex;flex-direction:column;flex:1;transition:margin-right .3s ease}.minimal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--border)}.campaign-title{flex:1;text-align:center;margin:0;color:var(--accent);font-family:var(--font-decorative);font-size:1.2rem}.menu-toggle-button{background:var(--accent);border:none;color:var(--bg-dark);cursor:pointer;padding:.5rem;border-radius:4px;font-size:1.2rem;transition:background-color .2s;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center}.menu-toggle-button:hover{background-color:var(--accent-light)}.side-menu{position:fixed;top:0;right:-400px;width:400px;height:100vh;background:var(--side-menu-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:2px solid var(--accent);transition:right .3s ease;z-index:1000;display:flex;flex-direction:column}.side-menu.open{right:0}.side-menu-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border)}.side-menu-tabs{display:flex;gap:.5rem}.tab-button{background:var(--dark-overlay);border:1px solid var(--border);color:var(--text-light);padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:all .2s;font-family:var(--font-decorative);font-size:.9rem}.tab-button:hover{background:var(--accent-overlay);border-color:var(--accent)}.tab-button.active{background:var(--accent);color:var(--bg-dark);border-color:var(--accent)}.close-menu-button{background:var(--danger-color, #dc3545);border:none;color:#fff;padding:.5rem;border-radius:4px;cursor:pointer;font-size:1rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.close-menu-button:hover{background-color:var(--danger-light, #e74c3c)}.side-menu-content{flex:1;padding:1rem;overflow-y:auto}.side-menu-content h3{color:var(--accent);font-family:var(--font-decorative);margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.setting-group{margin-bottom:1.5rem}.setting-group label{display:block;color:var(--accent);font-weight:700;margin-bottom:.5rem;font-family:var(--font-decorative)}.setting-value{background:var(--dark-overlay);border:1px solid var(--border);color:var(--text-light);padding:.75rem;border-radius:4px;cursor:pointer;transition:background-color .2s;position:relative}.setting-value:hover{background:var(--light-overlay);border-color:var(--accent)}.edit-hint{font-size:.8rem;color:var(--text-light);margin-left:.5rem;opacity:0;transition:opacity .2s}.setting-value:hover .edit-hint{opacity:1}.play-button-settings{background-color:var(--primary);color:#fff;border:none;border-radius:4px;padding:.75rem 1.5rem;cursor:pointer;transition:background-color .2s;font-family:var(--font-decorative);width:100%}.play-button-settings:hover{background-color:var(--secondary)}.play-button-settings:disabled{background-color:var(--dark-wood);color:var(--text-light);cursor:not-allowed}.notes-textarea{width:100%;min-height:300px;background:var(--dark-overlay);border:1px solid var(--border);color:var(--text-light);padding:1rem;border-radius:4px;resize:vertical;font-family:inherit;font-size:inherit;line-height:1.4}.notes-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 5px var(--accent-light-overlay)}.character-sheet-tab{text-align:center;padding:2rem}.character-sheet-tab p{color:var(--text-light);font-style:italic}.menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--medium-dark-overlay);z-index:999}.side-menu .name-edit-container{display:flex;flex-direction:column;gap:.5rem}.side-menu .name-edit-input{background:var(--dark-overlay);border:1px solid var(--accent);color:var(--text-light);padding:.75rem;border-radius:4px;font-family:var(--font-decorative);font-size:1rem;width:100%}.side-menu .name-edit-input:focus{outline:none;border-color:var(--accent-light);box-shadow:0 0 5px var(--accent-light-overlay)}.side-menu .name-edit-container .name-save-button,.side-menu .name-edit-container .name-cancel-button{align-self:flex-end;margin:0 .25rem}.name-save-button,.name-cancel-button{background:var(--accent);border:none;color:var(--bg-dark);padding:.5rem;border-radius:4px;cursor:pointer;font-size:1rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.name-save-button:hover{background-color:var(--accent-light)}.name-cancel-button{background:var(--danger-color, #dc3545)}.name-cancel-button:hover{background-color:var(--danger-light, #e74c3c)}.name-save-button:disabled,.name-cancel-button:disabled{opacity:.6;cursor:not-allowed}.back-button{background:none;border:none;color:var(--text-light);cursor:pointer;padding:.5rem;transition:color .2s;font-family:var(--font-decorative)}.back-button:hover{color:var(--accent);background:none}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.chat-message{display:flex;flex-direction:column;max-width:80%}.ai-message{align-self:flex-start}.user-message{align-self:flex-end}.message-content{padding:1rem;border-radius:8px;box-shadow:0 2px 5px #0000001a}.message-content a{color:var(--accent);text-decoration:underline;transition:color .2s}.message-content a:hover{color:var(--accent-light)}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{color:var(--accent);margin-top:.5em;margin-bottom:.5em;font-family:var(--font-decorative)}.message-content h1{font-size:1.5rem;border-bottom:1px solid var(--accent-overlay);padding-bottom:.25em}.message-content h2{font-size:1.3rem}.message-content h3{font-size:1.1rem}.message-content p{margin:.5em 0}.message-content ul,.message-content ol{padding-left:1.5em;margin:.5em 0}.message-content li{margin:.25em 0}.message-content blockquote{border-left:3px solid var(--accent);margin:.5em 0;font-style:italic;background-color:var(--light-overlay);padding:.5em 1em}.message-content code{font-family:monospace;background-color:var(--dark-overlay);padding:.2em .4em;border-radius:3px;font-size:.9em}.message-content pre{background-color:var(--dark-overlay);padding:1em;border-radius:5px;overflow-x:auto;margin:.5em 0}.message-content pre code{background-color:transparent;padding:0}.message-content img{max-width:100%;border-radius:5px;margin:.5em 0}.message-content table{border-collapse:collapse;width:100%;margin:.5em 0}.message-content th,.message-content td{border:1px solid var(--accent-overlay);padding:.5em;text-align:left}.message-content th{background-color:var(--accent-overlay)}.message-content tr:nth-child(2n){background-color:var(--dark-overlay)}.ai-message .message-content{background-color:var(--ai-message-bg);border-left:3px solid var(--primary)}.user-message .message-content{background-color:var(--user-message-bg);border-right:3px solid var(--secondary);text-align:right}.message-timestamp{font-size:.75rem;margin-top:.25rem;color:var(--text-light)}.ai-message .message-timestamp{align-self:flex-start}.user-message .message-timestamp{align-self:flex-end}.message-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.suggestion-button{background-color:var(--accent-overlay);border:1px solid var(--accent);color:var(--text-light);padding:.4rem .8rem;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .2s}.suggestion-button:hover{background-color:var(--accent-light-overlay)}.chat-input{display:flex;padding:1rem;border-top:1px solid var(--border);background-color:#140c08cc}.chat-textarea{flex:1;padding:.75rem;border:1px solid var(--border);border-radius:4px;background-color:#ffffff1a;color:var(--text-light);margin-right:.5rem;resize:none;min-height:40px;max-height:150px;font-family:inherit;font-size:inherit;line-height:1.4;overflow-y:auto}.chat-textarea:focus{outline:none;border-color:var(--accent)}.play-button,.send-button{background-color:var(--primary);color:#fff;border:none;border-radius:4px;padding:0;text-align:center;cursor:pointer;transition:background-color .2s;max-width:75px;margin:0 .5rem}.play-button:hover,.send-button:hover{background-color:var(--secondary)}.play-button:disabled,.send-button:disabled{background-color:var(--dark-wood);color:var(--text-light);cursor:not-allowed}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#140c0833}.chat-messages::-webkit-scrollbar-thumb{background-color:var(--primary);border-radius:20px}@media (max-width: 768px){.campaign-chat-container{height:calc(100vh - 80px);max-width:100%}.side-menu{width:100vw;right:-100vw}.side-menu.open{right:0}.side-menu-tabs{flex-direction:column;gap:.25rem}.tab-button{padding:.4rem .8rem;font-size:.8rem}.minimal-header{padding:.5rem 0}.campaign-title{font-size:1rem}.menu-toggle-button{width:2rem;height:2rem;font-size:1rem}.chat-message{max-width:90%}.message-suggestions{flex-direction:column;align-items:flex-start}.chat-input{flex-direction:column;gap:.5rem}.chat-textarea{margin-right:0;width:100%}}:root{--primary: #6d4730;--secondary: #a56a35;--accent: #d4a048;--text-light: #f8e7c9;--text-dark: #2c1b0f;--background: #f9f9f9;--border: #ddd;--success: #2ecc71;--error: #e74c3c;--warning: #f39c12;--info: #3498db;--ai-message-bg: rgba(109, 71, 48, .5);--user-message-bg: rgba(165, 106, 53, .5);--background-overlay: rgba(20, 12, 8, .7);--dark-wood: #342015;--light-wood: #8c6542;--parchment: #f2e8c9;--fire-glow: #ff6d00;--danger-color: #dc3545;--danger-light: #e74c3c;--font-primary: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;--font-secondary: Century Gothic, sans-serif;--font-decorative: MedievalSharp, cursive;--text-shadow: 1px 1px #63492b, -1px -1px #473013;--box-shadow: 0 2px 10px rgba(0, 0, 0, .1);--glow-effect: 0 0 15px rgba(212, 160, 72, .3);--background-image: url(/img/bg.png);font-family:var(--font-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:Century Gothic;src:url(/static/font/centurygothic.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Century Gothic;src:url(/static/font/centurygothic_bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);line-height:1.6;color:var(--text-light);background-color:var(--background);background-image:var(--background-image);background-size:cover;background-attachment:fixed;margin:0;min-height:100vh}#root{max-width:1280px;margin:0 auto;width:100%}.app{display:flex;flex-direction:column;min-height:100vh}header{background-color:var(--primary);color:#fff;padding:1rem;text-align:center}main{flex:1;padding:1rem}footer{padding:1rem;text-align:center}h1{font-size:2em;line-height:1.1}.login-page,.register-page,.forgot-password-page,.reset-password-page{max-width:500px;margin:0 auto;background:linear-gradient(#140c08cc,#140c08cc);padding:2rem;border-radius:5px;box-shadow:0 2px 10px #0000001a}h2{margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-row{display:flex;gap:1rem;margin-bottom:1.5rem}.form-row .form-group{flex:1;margin-bottom:0}label{display:block;margin-bottom:.5rem;font-weight:500}input{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-size:1rem}input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3498db33}small{display:block;margin-top:.5rem;color:var(--text-light);font-size:.875rem}.form-actions{margin-top:2rem}button{background-color:var(--primary);color:#fff;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;width:100%;transition:background-color .2s}button:hover{background-color:var(--primary-dark-color);border-color:transparent}button:focus,button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:disabled{background-color:var(--border);cursor:not-allowed}.auth-links{margin-top:1.5rem;text-align:center}.auth-links a{color:var(--primary);text-decoration:none}.auth-links a:hover{text-decoration:underline}.separator{margin:0 .5rem;color:var(--text-light)}.social-login{margin-top:2rem;text-align:center}.social-login p{margin-bottom:1rem;position:relative}.social-login p:before,.social-login p:after{content:"";position:absolute;top:50%;width:35%;height:1px;background-color:var(--border)}.social-login p:before{left:0}.social-login p:after{right:0}.google-login-button{display:flex;align-items:center;justify-content:center;color:var(--text-light);border:1px solid var(--border);border-radius:4px;padding:.75rem 1.5rem;text-decoration:none;transition:background-color .2s}.google-login-button:hover{background-color:#212121}.google-login-button img{width:20px;height:20px;margin-right:10px}.error-message,.success-message,.message{padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}.error-message{background-color:#e74c3c1a;color:var(--error);border:1px solid rgba(231,76,60,.3)}.success-message,.message.success{background-color:#2ecc711a;color:var(--success);border:1px solid rgba(46,204,113,.3)}.message.error{background-color:#e74c3c1a;color:var(--error);border:1px solid rgba(231,76,60,.3)}.loading{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:1.25rem;color:var(--primary)}.home-page{max-width:800px;margin:0 auto}.user-info{margin-top:2rem;padding:1.5rem;background:linear-gradient(#140c08cc,#140c08cc);border-radius:5px;box-shadow:0 2px 10px #0000001a}.user-info h3{margin-bottom:1rem;color:var(--primary)}.user-info p{margin-bottom:.5rem}.dashboard-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.create-campaign-button{background-color:var(--primary);margin-right:1rem}.create-campaign-button:hover{background-color:var(--secondary)}.logout-button{margin-top:0;background-color:var(--secondary)}.logout-button:hover{background-color:#c0392b}.campaigns-list{margin-top:2rem}.campaigns-list h3{margin-bottom:1rem;color:var(--primary)}.campaigns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.campaign-card{background:linear-gradient(#140c08cc,#140c08cc);border-radius:5px;padding:1.5rem;box-shadow:0 2px 10px #0000001a;transition:transform .2s ease-in-out}.campaign-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0003}.campaign-card h4{color:var(--accent);margin-bottom:.5rem;font-family:MedievalSharp,cursive}.campaign-date{color:var(--text-light);font-size:.9rem;margin-top:.5rem}.campaign-action-button{margin-top:1rem;background-color:var(--primary);font-size:.9rem;padding:.5rem 1rem}
