@charset "UTF-8";.navbar{position:fixed;top:0;width:100%;padding:1.5rem 0;background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;transition:all .3s ease;box-shadow:0 2px 10px #0000004d}.navbar.scrolled{background:#000000fa;padding:1rem 0;box-shadow:0 4px 20px #00000080}.navbar-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.navbar-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}.logo-icon{font-size:1.8rem;color:#d00000}.navbar-logo .logo-text{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#d00000,#b80000);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-menu{display:flex;list-style:none;gap:2rem;align-items:center}.navbar-item{display:flex;align-items:center}.navbar-link{background:none;border:none;color:#fdfbf7;font-size:1rem;cursor:pointer;transition:all .3s ease;position:relative;text-decoration:none;display:block}.navbar-link.active{color:#d00000}.navbar-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:linear-gradient(135deg,#d00000,#b80000);transition:width .3s ease}.navbar-link:hover{color:#d00000}.navbar-link:hover:after{width:100%}.navbar-link.active:after{width:100%}.mobile-menu-icon{display:none;font-size:1.5rem;cursor:pointer;color:#fdfbf7}@media(max-width:768px){.navbar{padding:0;height:64px}.navbar-container{height:100%}.navbar.scrolled{padding:0;height:64px}.navbar-menu{position:fixed;top:64px;left:0;width:100%;height:calc(100vh - 64px);background:#000000fa;flex-direction:column;justify-content:flex-start;padding-top:3rem;transform:translate(-100%);transition:transform .3s ease}.navbar-menu.active{transform:translate(0)}.navbar-item{width:100%;text-align:center;padding:1rem 0}.navbar-link{font-size:1.2rem}.mobile-menu-icon{display:block}}.footer{padding:3rem 20px;background:#fff;border-top:2px solid rgba(208,0,0,.2)}.footer-container{max-width:1200px;margin:0 auto;text-align:center}.footer-text{color:#2a2a2a;font-size:1rem;margin-bottom:.5rem;font-weight:500}.footer-copyright{color:#4a4a4a;font-size:.9rem}.resume-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.resume-modal-content{background:#fff;border:2px solid rgba(208,0,0,.3);border-radius:12px;width:100%;max-width:1000px;max-height:95vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;box-shadow:0 20px 60px #d000004d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.resume-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(208,0,0,.2)}.resume-modal-header h2{color:#2a2a2a;font-size:1.5rem;margin:0}.modal-actions{display:flex;gap:1rem;align-items:center}.download-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:linear-gradient(135deg,#d00000,#b80000);color:#fff;text-decoration:none;border-radius:8px;font-size:.9rem;font-weight:600;transition:all .3s ease}.download-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #d0000066}.close-btn{background:#d000001a;border:2px solid rgba(208,0,0,.3);color:#2a2a2a;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:1.2rem}.close-btn:hover{background:#ffffff1a;border-color:#d0000080;color:#d00000}.resume-modal-body{flex:1;overflow:hidden;padding:0}.resume-iframe{width:100%;height:calc(95vh - 100px);min-height:600px;border:none;background:#fff}@media(max-width:768px){.resume-modal-content{max-width:100%;height:100%;max-height:100vh;border-radius:0}.resume-modal-header{padding:1rem 1.5rem}.resume-modal-header h2{font-size:1.2rem}.download-btn{padding:.5rem 1rem;font-size:.85rem}.close-btn{width:35px;height:35px;font-size:1rem}.resume-iframe{height:calc(100vh - 90px);min-height:unset}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:120px 20px 60px}.hero-container{max-width:1200px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-content{display:flex;flex-direction:column;gap:1.5rem}.hero-title{display:flex;flex-direction:column;gap:1rem;font-size:clamp(2rem,5vw,4rem);font-weight:700;line-height:1.2}.greeting{font-size:1.2rem;color:#d00000;font-weight:400}.name{font-size:clamp(2.5rem,6vw,5rem);background:linear-gradient(135deg,#d00000,#b80000);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{font-size:clamp(1.5rem,4vw,3rem);color:#2a2a2a}.highlight{color:#d00000}.hero-description{font-size:1.2rem;line-height:1.8;color:#4a4a4a;max-width:600px}.hero-buttons{display:flex;gap:1.5rem;flex-wrap:wrap}@media(max-width:768px){.hero-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%}.hero-buttons .btn{width:100%;padding:1rem 1.25rem;font-size:.9rem;min-height:48px;white-space:normal;text-align:center;word-wrap:break-word}.hero-buttons .btn svg{flex-shrink:0}}.btn{padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-sizing:border-box;white-space:nowrap;min-height:48px}.btn-primary{background:linear-gradient(135deg,#d00000,#b80000);color:#fff;box-shadow:0 4px 15px #d0000066}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d0000099}.btn-secondary{background:transparent;color:#d00000;border:2px solid #D00000}.btn-secondary:hover{background:#d000001a}.btn-outline{background:transparent;color:#2a2a2a;border:2px solid #D00000}.btn-outline:hover{background:#ffffff0d;border-color:#d00000;color:#d00000}.hero-social{display:flex;gap:1.5rem;margin-top:1rem}.social-link{color:#999;font-size:1.5rem;transition:all .3s ease;cursor:pointer;background:none;border:none;padding:0;display:flex;align-items:center;justify-content:center}.social-link:hover{color:#d00000;transform:translateY(-3px)}.hero-image{position:relative;width:100%;height:500px}.hero-gradient{width:100%;height:100%;background:linear-gradient(135deg,#d000004d,#fdfbf74d);border-radius:20px;position:relative;overflow:hidden}.hero-gradient:before{content:"";position:absolute;width:200%;height:200%;background:radial-gradient(circle,rgba(208,0,0,.2) 0%,transparent 70%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-banner{width:100%;height:100%;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#d000001a,#fdfbf733);display:flex;align-items:center;justify-content:center;position:relative;border:2px solid rgba(208,0,0,.2)}.hero-banner img{width:100%;height:100%;object-fit:cover;border-radius:20px}.banner-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#d00000;font-size:1.5rem;font-weight:600;text-align:center;padding:2rem}.mobile-contact-btn{display:none}@media(max-width:768px){.mobile-contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:8px;padding:1rem 2rem;background:linear-gradient(135deg,#d00000,#b80000);color:#fff;border:none;box-shadow:0 4px 15px #d0000066;font-size:1rem;font-weight:600;transition:all .3s ease;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-appearance:none}.mobile-contact-btn:active{transform:scale(.98);box-shadow:0 2px 10px #d0000099}.mobile-contact-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d0000099}}@media(max-width:968px){.hero-container{grid-template-columns:1fr}.hero-image{display:none}.hero-content{text-align:center;align-items:center}.hero-title{align-items:center;text-align:center}}.about{min-height:100vh;display:flex;align-items:center;padding:120px 20px}.about-container{max-width:1200px;margin:0 auto}.section-number{font-size:clamp(1.2rem,3vw,2rem);color:#d00000;font-weight:700;font-family:Courier New,monospace}.section-title:after{content:"";flex-grow:1;height:1px;background:#333;margin-left:1rem}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-text{display:flex;flex-direction:column;gap:1.5rem}.about-text p{font-size:1.1rem;line-height:1.8;color:#4a4a4a}.tech-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem;list-style:none;padding:0}.tech-list li{position:relative;padding-left:1.5rem;color:#2a2a2a;font-size:1rem;font-weight:500}.tech-list li:before{content:"▹";position:absolute;left:0;color:#d00000;font-weight:700}.about-image{display:flex;justify-content:center;align-items:center}.image-wrapper{position:relative;width:300px;height:300px}.profile-photo{width:100%;height:100%;object-fit:cover;border-radius:8px;border:2px solid #D00000;transition:transform .3s ease,box-shadow .3s ease}.image-wrapper:hover .profile-photo{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 30px #d0000040}.placeholder-image{position:relative;width:100%;height:100%;background:linear-gradient(135deg,#d0000033,#fdfbf733);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#d00000;font-size:1.2rem;z-index:1}@media(max-width:968px){.about-content{grid-template-columns:1fr;gap:3rem}.about-image{justify-content:center}.image-wrapper{width:250px;height:250px}.section-title:after{display:none}}.skills{min-height:100vh;display:flex;align-items:center;padding:120px 20px}.skills-section-container{max-width:1200px;margin:0 auto;width:100%;display:block}.skills-content{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:0;clear:both;width:100%}.skill-category{background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px;padding:2rem;transition:all .3s ease;box-shadow:0 2px 10px #d000001a}.skill-category:hover{background:#fff;border-color:#d0000080;transform:translateY(-5px);box-shadow:0 10px 30px #d0000033}.skills .section-header{margin-bottom:3rem;width:100%;display:block;clear:both}.skills .section-title{font-size:clamp(1.5rem,4vw,2.5rem);color:#1a1a1a;display:block;font-weight:700;margin-bottom:0;line-height:1.2}.category-title{font-size:1.5rem;color:#d00000;margin-bottom:1.5rem;font-weight:600}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1.5rem}.skill-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-radius:8px;background:#fdfbf7;border:1px solid rgba(208,0,0,.1);transition:all .3s ease;cursor:pointer}.skill-item:hover{background:#d000001a;transform:translateY(-5px);border-color:#d000004d}.skill-icon{font-size:2.5rem;margin-bottom:.5rem}.skill-icon img{width:2.5rem;height:2.5rem;object-fit:contain}.skill-icon-text{font-size:2.5rem;margin-bottom:.5rem;font-weight:700;font-family:Courier New,monospace}.skill-name{font-size:.9rem;color:#2a2a2a;text-align:center;font-weight:500}@media(max-width:968px){.skills-content{grid-template-columns:1fr}}@media(max-width:768px){.skills-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem}.skill-icon{font-size:2rem}.skill-item{padding:.8rem}.skill-category{padding:1.5rem}}.projects{min-height:100vh;display:flex;align-items:center;padding:120px 20px}.projects-content{display:flex;flex-direction:column;gap:3rem}.projects-container{max-width:1200px;margin:0 auto}.project-card{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem;background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px;transition:all .3s ease;cursor:pointer;box-shadow:0 2px 10px #d000001a}.project-card:hover{background:#fff;border-color:#d0000080;transform:translateY(-5px);box-shadow:0 10px 30px #d0000033}.project-card.featured{background:linear-gradient(135deg,#d000000d,#fdfbf7)}.project-info{display:flex;flex-direction:column;gap:1rem}.project-links{display:flex;gap:1rem;margin-bottom:.5rem}.project-link{color:#4a4a4a;font-size:1.2rem;transition:all .3s ease}.project-link:hover{color:#d00000;transform:translateY(-3px)}.project-title{font-size:1.8rem;color:#2a2a2a;margin-bottom:.5rem}.project-description{margin-bottom:1rem}.project-description p{color:#4a4a4a;line-height:1.8;font-size:1rem}.project-tags{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto}.project-tag{padding:.4rem .8rem;background:#d000001a;border:1px solid rgba(208,0,0,.3);border-radius:6px;font-size:.85rem;color:#d00000}.project-image{display:flex;justify-content:center;align-items:center;position:relative}.project-img{width:100%;height:100%;min-height:250px;object-fit:cover;border-radius:12px;border:1px solid rgba(208,0,0,.2)}.placeholder-project{width:100%;height:100%;min-height:250px;background:linear-gradient(135deg,#d0000033,#fdfbf733);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#d00000;font-size:1.1rem;border:1px solid rgba(208,0,0,.2)}@media(max-width:968px){.project-card{grid-template-columns:1fr}.project-image{order:-1}.project-title{font-size:1.5rem}}@media(max-width:768px){.project-card{padding:1.5rem}.placeholder-project{min-height:200px}}.employment{min-height:100vh;display:flex;align-items:center;padding:120px 20px}.employment-container{max-width:1200px;margin:0 auto}.employment .section-header{margin-bottom:3rem}.employment .section-title{font-size:clamp(1.5rem,4vw,2.5rem);color:#1a1a1a;display:flex;align-items:center;gap:1rem;white-space:nowrap;font-weight:700}.employment .section-title:after{content:"";flex-grow:1;height:1px;background:#333;margin-left:1rem}.employment-list{display:flex;flex-direction:column;gap:2.5rem}.employment-item{display:flex;gap:1.5rem;align-items:flex-start}.employment-logo{flex-shrink:0;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid #e0e0e0;background:#fff;display:flex;align-items:center;justify-content:center}.employment-logo img{width:100%;height:100%;object-fit:contain}.employment-content{border-left:3px solid #D00000;padding-left:1.5rem;flex:1}.employment-header{margin-bottom:.75rem}.employment-title{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin-bottom:.25rem}.employment-company{font-size:1.1rem;font-weight:600;color:#d00000;margin-bottom:.25rem}.employment-meta{font-size:.9rem;color:#6a6a6a}.employment-bullets{list-style:none;padding:0;margin:0}.employment-bullets li{position:relative;padding-left:1.25rem;margin-bottom:.5rem;font-size:1rem;line-height:1.6;color:#4a4a4a}.employment-bullets li:before{content:"▹";position:absolute;left:0;color:#d00000;font-weight:700}@media(max-width:968px){.employment .section-title:after{display:none}.employment-logo{width:52px;height:52px}}.contact{min-height:100vh;display:flex;align-items:center;padding:120px 20px}.contact-container{max-width:1200px;margin:0 auto;text-align:center}.section-title{font-size:clamp(1.5rem,4vw,2.5rem);color:#1a1a1a;display:flex;align-items:center;gap:1rem;white-space:nowrap;font-weight:700;justify-content:center}.contact-content{margin-top:3rem}.contact-text{max-width:600px;margin:0 auto 3rem}.contact-description{font-size:1.2rem;line-height:1.8;color:#4a4a4a;margin-bottom:2rem}.contact-btn{display:inline-block;padding:1rem 2.5rem;background:linear-gradient(135deg,#d00000,#b80000);color:#fff;font-size:1.1rem;font-weight:600;text-decoration:none;border-radius:8px;transition:all .3s ease;box-shadow:0 4px 15px #d0000066}.contact-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #d0000099}.contact-social{margin-top:4rem}.social-title{font-size:1.5rem;color:#2a2a2a;margin-bottom:2rem}.social-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.social-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px;color:#4a4a4a;text-decoration:none;transition:all .3s ease;min-width:120px;box-shadow:0 2px 10px #d000001a}.social-item:hover{background:#fff;border-color:#d0000080;color:#d00000;transform:translateY(-5px);box-shadow:0 10px 30px #d0000033}.social-item svg{font-size:2rem}.social-item span{font-size:.9rem}@media(max-width:768px){.contact-description{font-size:1rem}.social-links{gap:1rem}.social-item{min-width:100px;padding:1rem}.social-item svg{font-size:1.5rem}}.calendar{min-height:100vh;display:flex;align-items:center;padding:120px 20px}.calendar-container{max-width:1200px;margin:0 auto;width:100%}.section-header{margin-bottom:3rem}.section-title{font-size:clamp(1.5rem,4vw,2.5rem);color:#1a1a1a;display:flex;align-items:center;gap:1rem;white-space:nowrap;font-weight:700}.calendar-content{display:flex;flex-direction:column;gap:2rem}.calendar-instructions{background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px;padding:2rem;box-shadow:0 2px 10px #d000001a}.calendar-instructions p{color:#2a2a2a;font-size:1.1rem;margin-bottom:1rem;font-weight:500}.calendar-instructions ol{color:#4a4a4a;padding-left:1.5rem}.calendar-instructions li{margin-bottom:.5rem;line-height:1.6}.calendar-instructions code{background:#d000001a;padding:.2rem .5rem;border-radius:4px;font-family:Courier New,monospace;color:#d00000;font-size:.9rem}.calendar-embed{background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px;padding:1rem;box-shadow:0 2px 10px #d000001a;overflow:hidden}.calendar-embed iframe{border-radius:8px;width:100%;min-height:600px}@media(max-width:768px){.calendar{padding:100px 20px}.calendar-instructions{padding:1.5rem}.calendar-instructions p{font-size:1rem}.calendar-embed iframe{min-height:500px}}.playground{min-height:100vh;display:flex;align-items:center;padding:120px 20px}.playground-container{max-width:1200px;margin:0 auto}.section-subtitle{font-size:1.2rem;color:#666;max-width:600px;margin:0 auto}.playground-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.playground-card{background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 10px #d000001a;display:flex;flex-direction:column}.playground-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #d0000033;border-color:#d0000080}.playground-card.featured{background:linear-gradient(135deg,#d000000d,#fdfbf7);border-color:#d0000066;box-shadow:0 5px 20px #d0000026}.playground-info{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.playground-links{display:flex;gap:.5rem;margin-bottom:1rem}.playground-link{color:#4a4a4a;font-size:1.2rem;transition:all .3s ease;text-decoration:none;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;cursor:pointer}.playground-link:hover{color:#d00000;transform:translateY(-3px)}.playground-title{font-size:1.5rem;color:#1a1a1a;margin-bottom:1rem;font-weight:600}.playground-description{margin-bottom:1.5rem;flex-grow:1}.playground-description p{color:#4a4a4a;line-height:1.8;font-size:1rem;margin:0}.playground-tags{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto}.playground-tag{padding:.4rem .8rem;background:#d000001a;border:1px solid rgba(208,0,0,.3);border-radius:6px;font-size:.85rem;color:#d00000}.playground-image{display:flex;justify-content:center;align-items:center;position:relative;height:200px}.playground-img{width:100%;height:100%;object-fit:cover;border-radius:0 0 12px 12px}.placeholder-playground{width:100%;height:100%;background:linear-gradient(135deg,#d0000033,#fdfbf733);border-radius:0 0 12px 12px;display:flex;align-items:center;justify-content:center;color:#d00000;font-size:1.1rem;border-top:1px solid rgba(208,0,0,.2)}@media(max-width:768px){.playground{padding:100px 20px}.playground-content{grid-template-columns:1fr;gap:1.5rem}.playground-card{margin:0 1rem}}.character-creator{min-height:100vh;background:#fdfbf7;padding:120px 20px 40px}.creator-container{max-width:1400px;margin:0 auto}.creator-header{margin-bottom:2rem}.creator-header>.creator-title,.creator-header>.creator-subtitle{text-align:center}.header-buttons{display:flex;justify-content:flex-end;align-items:center;margin-bottom:2rem;gap:1rem}.download-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#d00000,#b80000);color:#fff;border:none;border-radius:8px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #d0000066;cursor:pointer;font-size:1rem}.download-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d0000099}.creator-title{font-size:clamp(2rem,5vw,3.5rem);color:#1a1a1a;margin-bottom:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:1rem}.creator-subtitle{font-size:1.2rem;color:#666;max-width:600px;margin:0 auto}.creator-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-top:2rem}.character-sheet{background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px;padding:2rem;box-shadow:0 2px 10px #d000001a}.sheet-section{margin-bottom:2rem}.sheet-section:last-child{margin-bottom:0}.section-title{font-size:1.5rem;color:#1a1a1a;margin-bottom:1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem;border-bottom:2px solid rgba(208,0,0,.2);padding-bottom:.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;color:#555;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#d00000}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.roll-button{background:linear-gradient(135deg,#d00000,#b80000);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;margin-left:auto;box-shadow:0 4px 15px #d0000066}.roll-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d0000099}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.stat-item{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:1rem;text-align:center;transition:all .3s ease}.stat-item:hover{border-color:#d00000;transform:translateY(-2px)}.stat-name{font-weight:600;color:#333;margin-bottom:.5rem;display:block}.stat-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.25rem}.stat-button{background:#d00000;color:#fff;border:none;width:28px;height:28px;border-radius:50%;font-size:1.2rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;padding:0}.stat-button:hover:not(:disabled){background:#b80000;transform:scale(1.1)}.stat-button:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.stat-value{font-size:1.5rem;font-weight:700;color:#d00000;min-width:30px;text-align:center}.stat-modifier{font-size:1rem;font-weight:500;color:#666}.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.skill-group{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:1rem}.skill-group-title{font-size:1rem;font-weight:600;color:#d00000;margin-bottom:.75rem;border-bottom:1px solid rgba(208,0,0,.2);padding-bottom:.5rem}.skill-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;margin-bottom:.25rem;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.skill-checkbox:hover{background-color:#d000001a}.skill-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#D00000}.skill-checkbox.disabled{opacity:.5;cursor:not-allowed}.skill-checkbox.disabled:hover{background-color:transparent}.skill-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.skill-checkbox.auto-proficient{background-color:#22c55e1a;border-left:3px solid rgba(34,197,94,.5)}.skill-checkbox span:first-of-type{flex:1;font-size:.95rem;color:#333}.skill-modifier{font-weight:600;color:#d00000;min-width:40px;text-align:right;font-size:.95rem}.proficiency-badge{margin-left:auto;background:linear-gradient(135deg,#d00000,#b80000);color:#fff;padding:.25rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500}.proficiency-info{margin-bottom:1rem;padding:.75rem;background:#d000000d;border-radius:6px;border-left:3px solid #D00000}.skill-choice-info{font-size:.9rem;color:#333;font-weight:500}.auto-proficiencies{color:#22c55e;font-weight:600}.info-warning{margin-top:.5rem;padding:.5rem;background:#fef3c7;border-left:3px solid #f59e0b;color:#92400e;font-size:.85rem;border-radius:4px}.auto-badge{font-size:.75rem;color:#22c55e;font-weight:600;margin-left:.25rem}.saving-throws-section{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #e0e0e0}.saving-throws-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;margin-top:.75rem}.weapon-entry{margin-bottom:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.info-text{font-size:.85rem;color:#666;font-style:italic;margin-top:.25rem}.equipment-section,.spells-section{margin-bottom:1.5rem}.equipment-section h4,.spells-section h4{font-size:1.1rem;color:#333;margin-bottom:.5rem;font-weight:600}.character-preview{background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px;padding:2rem;box-shadow:0 2px 10px #d000001a;height:fit-content}.character-preview h3{font-size:1.5rem;color:#1a1a1a;margin-bottom:1.5rem;font-weight:600;border-bottom:2px solid rgba(208,0,0,.2);padding-bottom:.5rem}.preview-card{background:linear-gradient(135deg,#d000000d,#fdfbf7);border:2px solid rgba(208,0,0,.2);color:#1a1a1a;padding:2rem;border-radius:12px;text-align:center}.preview-name{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.preview-details{font-size:1rem}.preview-race-class{font-weight:600;margin-bottom:.5rem}.preview-level{font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.preview-background{font-style:italic;opacity:.9}@media(max-width:768px){.character-creator{padding:100px 20px 40px}.creator-content{grid-template-columns:1fr;gap:1.5rem}.character-sheet,.character-preview{padding:1.5rem}.form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.creator-title{flex-direction:column;gap:.5rem}.header-buttons{flex-direction:column;gap:1rem}.back-to-playground-btn,.download-button{width:100%;justify-content:center}}.banana-hacks{min-height:100vh;display:flex;align-items:center;padding:120px 20px}.banana-hacks-container{max-width:800px;margin:0 auto;width:100%}.back-to-playground-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#d00000,#b80000);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #d0000066;margin-bottom:2rem;font-size:1rem}.back-to-playground-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d0000099}.section-header{text-align:center;margin-bottom:3rem}.section-title{font-size:clamp(1.5rem,4vw,2.5rem);color:#1a1a1a;margin-bottom:1rem;font-weight:700}.section-subtitle{font-size:1.1rem;color:#666;max-width:600px;margin:0 auto}.banana-hacks-content{display:flex;flex-direction:column;gap:2rem}.loading-models{text-align:center;padding:3rem;background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(208,0,0,.1);border-top:4px solid #D00000;border-radius:50%;animation:spin 1s linear infinite;margin:1rem auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-section{background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px;padding:2rem;box-shadow:0 2px 10px #d000001a}.upload-area{width:100%;min-height:300px;border:2px dashed rgba(208,0,0,.3);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;margin-bottom:1.5rem;background:#fdfbf7;overflow:hidden}.upload-area:hover{border-color:#d0000080;background:#d000000d}.upload-placeholder{text-align:center;color:#666;padding:2rem}.upload-placeholder p{margin:.5rem 0;font-size:1.1rem}.upload-hint{font-size:.9rem;color:#999}.preview-image{max-width:100%;max-height:500px;object-fit:contain;border-radius:8px}.analyze-btn{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#d00000,#b80000);color:#fff;font-size:1.1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #d0000066}.analyze-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #d0000099}.analyze-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fff;border:2px solid rgba(220,53,69,.5);border-radius:12px;padding:1.5rem;color:#dc3545}.result-section{background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px;padding:2rem;box-shadow:0 2px 10px #d000001a}.result-section h3{color:#1a1a1a;margin-bottom:1.5rem;font-size:1.5rem}.result-content{display:flex;flex-direction:column;gap:1.5rem}.result-message{font-size:1.2rem;color:#2a2a2a;font-weight:600}.ripeness-display{background:#d000000d;padding:1.5rem;border-radius:8px;border:1px solid rgba(208,0,0,.2)}.ripeness-category-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid rgba(0,0,0,.1)}.ripeness-category{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.ripeness-description{font-size:1rem;color:#666;font-style:italic;margin:0}.ripeness-label{font-size:1rem;color:#666;margin-bottom:.5rem;margin-top:1rem}.ripeness-value{font-size:2rem;font-weight:700;color:#d00000;margin-bottom:1rem}.ripeness-bar{width:100%;height:30px;background:#d000001a;border-radius:15px;overflow:hidden;border:1px solid rgba(208,0,0,.2)}.ripeness-fill{height:100%;background:linear-gradient(90deg,#ffe135,orange,#8b4513);transition:width .5s ease;border-radius:15px}.confidence{font-size:.9rem;color:#666;font-style:italic}@media(max-width:768px){.banana-hacks{padding:100px 20px}.upload-area{min-height:250px}}body.curia-page .navbar.scrolled{padding:1.5rem 0}.curia-app{padding-top:70px;--curia-primary: #6366f1;--curia-primary-hover: #4f46e5;--curia-primary-light: #eef2ff;--curia-bg: #f8fafc;--curia-card-bg: #ffffff;--curia-border: #e2e8f0;--curia-border-hover: #cbd5e1;--curia-text: #1e293b;--curia-text-muted: #64748b;--curia-text-light: #94a3b8;--curia-success: #10b981;--curia-success-light: #d1fae5;--curia-danger: #ef4444;--curia-radius: 12px;--curia-radius-sm: 8px;--curia-shadow: 0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.05);--curia-shadow-hover: 0 4px 12px rgba(0,0,0,.12), 0 8px 32px rgba(0,0,0,.08);--curia-transition: .18s ease;--primary: var(--curia-primary);--primary-hover: var(--curia-primary-hover);--primary-light: var(--curia-primary-light);--bg: var(--curia-bg);--card-bg: var(--curia-card-bg);--border: var(--curia-border);--border-hover: var(--curia-border-hover);--text: var(--curia-text);--text-muted: var(--curia-text-muted);--text-light: var(--curia-text-light);--success: var(--curia-success);--success-light: var(--curia-success-light);--danger: var(--curia-danger);--radius: var(--curia-radius);--radius-sm: var(--curia-radius-sm);--shadow: var(--curia-shadow);--shadow-hover: var(--curia-shadow-hover);--transition: var(--curia-transition);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;background:var(--curia-bg);color:var(--curia-text);line-height:1.6}.curia-app .navbar{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:70px;z-index:50;padding:0 clamp(16px,4vw,56px);height:80px;display:flex;align-items:center;gap:16px;transition:box-shadow .2s ease}.curia-app .navbar.scrolled{box-shadow:0 2px 12px #0000000f}.curia-app .navbar-brand{font-size:1.375rem;font-weight:700;color:var(--primary);text-decoration:none;display:flex;align-items:center;gap:8px;flex-shrink:0;transition:transform .2s ease;background:none;border:none;cursor:pointer}.curia-app .navbar-brand:hover{transform:scale(1.03)}.curia-app .navbar-brand:active{transform:scale(.98)}.curia-app .navbar-search{flex:1;max-width:clamp(220px,28vw,420px);position:relative}.curia-app .navbar-search input{width:100%;padding:10px 72px 10px 42px;border:1.5px solid var(--border);border-radius:999px;font-size:.9rem;background:var(--bg);color:var(--text);outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.curia-app .search-mode-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:4px 10px;border-radius:999px;border:1.5px solid var(--border);background:var(--card-bg);color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.curia-app .search-mode-toggle:hover{border-color:var(--primary);color:var(--primary)}.curia-app .search-mode-toggle.active{background:var(--primary);border-color:var(--primary);color:#fff}.curia-app .navbar-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f126;transform:scale(1.01)}.curia-app .navbar-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-light);pointer-events:none;font-size:1rem}.curia-app .navbar-tagline{position:absolute;left:50%;transform:translate(-50%);font-size:1.1rem;font-weight:600;color:var(--text-muted);text-align:center;line-height:1.2;pointer-events:none;animation:curia-tagline-fade .6s ease-out}.curia-app .navbar-tagline-hidden{opacity:0;visibility:hidden}@keyframes curia-tagline-fade{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.curia-app .navbar-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.curia-app .navbar-user{display:flex;align-items:center;gap:10px}.curia-app .navbar-username{font-size:.9rem;font-weight:600;color:var(--text)}.curia-app .navbar-guest-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1.5px solid var(--border);font-size:.82rem;font-weight:600;color:var(--text-muted);background:none}.curia-app .page{width:100%;padding:40px clamp(16px,4vw,56px) 64px}.curia-app .page-layout{display:grid;grid-template-columns:clamp(220px,22%,320px) 1fr;gap:clamp(16px,2vw,28px);align-items:start}.curia-app .events-section{padding:0;max-width:none;margin:0;min-width:0}.curia-app .filter-mobile-header,.curia-app .filter-backdrop{display:none}@media(max-width:900px){.curia-app .page-layout{grid-template-columns:1fr}.curia-app .filter-mobile-header{display:flex;width:100%;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--card-bg);border:none;border-radius:var(--radius);font-size:.95rem;font-weight:600;color:var(--text);cursor:pointer;font-family:inherit;text-align:left}.curia-app .filters-sidebar.collapsed{background:transparent;border:none;padding:0}.curia-app .filters-sidebar.collapsed .filter-mobile-header{border:1px solid var(--border)}.curia-app .filters-sidebar.collapsed .filter-content{display:none}.curia-app .filters-sidebar:not(.collapsed){position:fixed;inset:0;z-index:400;border-radius:0;border:none;padding:0;overflow-y:auto;display:flex;flex-direction:column}.curia-app .filters-sidebar:not(.collapsed) .filter-mobile-header{position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border);border-radius:0;background:var(--card-bg)}.curia-app .filters-sidebar:not(.collapsed) .filter-content{padding:20px;flex:1}.curia-app .filter-backdrop{display:block;position:fixed;inset:0;background:#0006;z-index:399}}@media(max-width:640px){.curia-app .navbar{height:auto;min-height:56px;padding:8px clamp(12px,4vw,24px);flex-wrap:wrap;row-gap:8px}.curia-app .navbar-search{order:10;flex:1 1 100%;max-width:100%}.curia-app .event-grid{grid-template-columns:1fr}.curia-app .detail-hero-body{padding:20px 16px}.curia-app .detail-name{font-size:1.35rem}.curia-app .detail-meta-grid{grid-template-columns:1fr 1fr}.curia-app .groups-section{padding:16px}.curia-app .groups-section-header{flex-direction:column;align-items:flex-start;gap:12px}}.curia-app .btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);text-decoration:none;font-family:inherit}.curia-app .btn:active{transform:scale(.97)}.curia-app .btn-primary{background:var(--primary);color:#fff}.curia-app .btn-primary:hover{background:var(--primary-hover)}.curia-app .btn-outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.curia-app .btn-outline:hover{background:var(--primary-light)}.curia-app .btn-ghost{background:transparent;color:var(--text-muted);padding:8px 12px}.curia-app .btn-ghost:hover{background:var(--bg);color:var(--text)}.curia-app .btn-danger{background:var(--danger);color:#fff;border:1.5px solid var(--danger)}.curia-app .btn-danger:hover{background:#dc2626}.curia-app .btn-success{background:var(--success);color:#fff}.curia-app .btn-success:hover{background:#059669}.curia-app .btn-sm{padding:6px 14px;font-size:.8rem}.curia-app .btn-block{width:100%;justify-content:center}.curia-app .btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.curia-app .filters-sidebar{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:sticky;top:162px}.curia-app .filters-title{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.curia-app .filter-group{margin-bottom:20px}.curia-app .filter-label{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;display:block}.curia-app .filter-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text);background:var(--bg);outline:none;transition:border-color var(--transition);font-family:inherit}.curia-app .filter-input:focus{border-color:var(--primary)}.curia-app .category-pills{display:flex;flex-wrap:wrap;gap:6px}.curia-app .category-pill{padding:5px 12px;border-radius:999px;font-size:.8rem;font-weight:500;cursor:pointer;border:1.5px solid var(--border);background:transparent;color:var(--text-muted);transition:all var(--transition);font-family:inherit}.curia-app .category-pill:hover{border-color:var(--primary);color:var(--primary)}.curia-app .category-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}.curia-app .events-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:16px;flex-wrap:wrap}.curia-app .search-debug{font-size:.78rem;color:var(--text-muted);cursor:pointer}.curia-app .search-debug summary{list-style:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.curia-app .search-debug summary::-webkit-details-marker{display:none}.curia-app .search-debug-body{margin-top:6px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:4px;max-width:480px;font-size:.75rem}.curia-app .search-debug-body>div{display:flex;gap:6px}.curia-app .sdl{font-weight:600;min-width:80px;flex-shrink:0;color:var(--text)}.curia-app .events-count{font-size:.9rem;color:var(--text-muted)}.curia-app .events-count strong{color:var(--text)}.curia-app .event-grid{display:grid;grid-template-columns:repeat(auto-fill,300px);gap:clamp(12px,1.5vw,20px);justify-content:center}.curia-app .no-results{grid-column:1/-1;text-align:center;padding:64px 24px;color:var(--text-muted)}.curia-app .no-results-icon{font-size:3rem;margin-bottom:12px}.curia-app .event-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition);display:flex;flex-direction:column;height:420px}.curia-app .event-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);border-color:var(--border-hover)}.curia-app .event-card-banner{height:160px}.curia-app .event-card-image{width:100%;height:160px;object-fit:contain;background:var(--bg);display:block}.curia-app .event-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.curia-app .event-card-category{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px}.curia-app .event-card-name{font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:10px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.curia-app .event-card-meta{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.curia-app .event-card-meta-item{display:flex;align-items:center;gap:7px;font-size:.9rem;color:var(--text-muted);min-width:0}.curia-app .event-card-meta-item span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.curia-app .event-card-meta-item svg{flex-shrink:0;color:var(--text-light)}.curia-app .event-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--border);margin-top:auto}.curia-app .event-groups-badge{font-size:.85rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}.curia-app .detail-back{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-muted);cursor:pointer;background:none;border:none;padding:4px 0;margin-bottom:20px;transition:color var(--transition);font-family:inherit}.curia-app .detail-back:hover{color:var(--primary)}.curia-app .detail-hero{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:24px}.curia-app .detail-hero-banner{height:16px}.curia-app .detail-hero-image{width:100%;max-height:400px;object-fit:contain;background:var(--bg);display:block}.curia-app .detail-hero-body{padding:32px 40px}.curia-app .detail-category-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;font-size:.85rem;font-weight:600;margin-bottom:12px}.curia-app .detail-name{font-size:2rem;font-weight:800;line-height:1.2;margin-bottom:16px}.curia-app .detail-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.curia-app .detail-meta-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:var(--bg);border-radius:var(--radius-sm)}.curia-app .detail-meta-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.curia-app .detail-meta-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:2px}.curia-app .detail-meta-value{font-size:1rem;font-weight:600;color:var(--text)}.curia-app .detail-description{font-size:1rem;color:var(--text-muted);line-height:1.7;margin-bottom:20px}.curia-app .detail-actions{display:flex;gap:12px;flex-wrap:wrap}.curia-app .groups-section{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.curia-app .groups-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.curia-app .groups-section-title{font-size:1.1rem;font-weight:700}.curia-app .groups-list{display:flex;flex-direction:column;gap:12px}.curia-app .group-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;transition:border-color var(--transition)}.curia-app .group-card:hover{border-color:var(--border-hover)}.curia-app .group-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.curia-app .group-card-name{font-size:1rem;font-weight:700}.curia-app .group-card-meta{font-size:.875rem;color:var(--text-muted);margin-bottom:10px}.curia-app .group-card-description{font-size:.9rem;color:var(--text-muted);margin-bottom:12px;line-height:1.5}.curia-app .group-members{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.curia-app .member-chip{padding:4px 12px;background:var(--primary-light);color:var(--primary);border-radius:999px;font-size:.82rem;font-weight:500}.curia-app .group-card-title-row{display:flex;align-items:center;gap:8px}.curia-app .group-card-actions{display:flex;align-items:center;gap:6px}.curia-app .group-status-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.curia-app .group-status-badge.open{background:var(--success-light);color:var(--success)}.curia-app .group-status-badge.full{background:#fee2e2;color:var(--danger)}.curia-app .capacity-bar-wrapper{display:flex;align-items:center;gap:8px;margin-bottom:10px}.curia-app .capacity-bar{flex:1;height:6px;background:var(--border);border-radius:999px;overflow:hidden}.curia-app .capacity-bar-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .3s ease}.curia-app .capacity-bar-fill.full{background:var(--danger)}.curia-app .capacity-label{font-size:.75rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.curia-app .group-meetup{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fefce8;border:1px solid #fde68a;border-radius:var(--radius-sm);font-size:.85rem;color:#92400e;margin-bottom:10px}.curia-app .group-vibes{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.curia-app .vibe-tag{padding:3px 10px;background:var(--primary-light);color:var(--primary);border-radius:999px;font-size:.75rem;font-weight:600}.curia-app .vibe-chip{padding:5px 12px;border-radius:999px;font-size:.8rem;font-weight:500;cursor:pointer;border:1.5px solid var(--border);background:transparent;color:var(--text-muted);transition:all var(--transition);font-family:inherit}.curia-app .vibe-chip:hover{border-color:var(--primary);color:var(--primary)}.curia-app .vibe-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.curia-app .vibe-picker{display:flex;flex-wrap:wrap;gap:6px}.curia-app .vibe-picker-categorized{display:flex;flex-direction:column;gap:10px;max-height:220px;overflow-y:auto}.curia-app .vibe-category{display:flex;flex-direction:column;gap:5px}.curia-app .vibe-category-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.curia-app .groups-empty{text-align:center;padding:32px;color:var(--text-muted);font-size:.9rem}.curia-app .groups-auth-prompt{display:flex;align-items:center;gap:10px;margin-bottom:16px}.curia-app .modal-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.curia-app .modal{background:var(--card-bg);border-radius:var(--radius);padding:28px;width:100%;max-width:460px;box-shadow:0 20px 60px #0003;animation:curia-modal-in .18s ease}@keyframes curia-modal-in{0%{transform:scale(.95) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.curia-app .modal-title{font-size:1.15rem;font-weight:700;margin-bottom:6px}.curia-app .modal-subtitle{font-size:.85rem;color:var(--text-muted);margin-bottom:20px}.curia-app .form-group{margin-bottom:16px}.curia-app .form-label{display:block;font-size:.82rem;font-weight:600;color:var(--text);margin-bottom:6px}.curia-app .form-input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text);background:var(--bg);outline:none;transition:border-color var(--transition),box-shadow var(--transition);font-family:inherit}.curia-app .form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.curia-app textarea.form-input{resize:vertical;min-height:80px}.curia-app .modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.curia-app .form-row{display:flex;gap:12px}.curia-app .form-group-half{flex:1}.curia-app .form-hint{font-size:.78rem;color:var(--text-muted);margin-top:-8px;margin-bottom:12px}.curia-app .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.curia-app .tag{padding:4px 12px;background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:.82rem;color:var(--text-muted)}.curia-app .badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.curia-app .joined-badge{background:var(--success-light);color:var(--success)}.curia-app .divider{height:1px;background:var(--border);margin:20px 0}.curia-app .drp{border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--card-bg)}.curia-app .drp-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}.curia-app .drp-nav{background:none;border:none;cursor:pointer;font-size:1.25rem;line-height:1;color:var(--text-muted);padding:2px 8px;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition)}.curia-app .drp-nav:hover{background:var(--bg);color:var(--text)}.curia-app .drp-title{font-size:.9rem;font-weight:700;color:var(--text)}.curia-app .drp-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:8px;gap:2px}.curia-app .drp-weekday{text-align:center;font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--text-light);padding:4px 0 6px}.curia-app .drp-day{text-align:center;font-size:.82rem;padding:6px 2px;border:none;background:none;cursor:pointer;border-radius:4px;color:var(--text);transition:background var(--transition),color var(--transition);line-height:1;font-family:inherit}.curia-app .drp-day:hover{background:var(--primary-light);color:var(--primary)}.curia-app .drp-other{color:var(--text-light)}.curia-app .drp-today{font-weight:700;color:var(--primary)}.curia-app .drp-start,.curia-app .drp-end{background:var(--primary)!important;color:#fff!important;font-weight:700;border-radius:4px}.curia-app .drp-range{background:var(--primary-light);color:var(--primary);border-radius:0}.curia-app .drp-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--border);background:var(--bg)}.curia-app .drp-range-text{font-size:.78rem;color:var(--text-muted)}.curia-app .drp-clear{background:none;border:none;cursor:pointer;font-size:.78rem;font-weight:600;color:var(--danger);padding:2px 6px;border-radius:4px;transition:background var(--transition);font-family:inherit}.curia-app .drp-clear:hover{background:#fee2e2}.curia-app .bottom-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.curia-app .bottom-pagination-info{font-size:1rem;font-weight:600;color:var(--text-muted);min-width:80px;text-align:center}.curia-app .page-size-selector{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-muted)}.curia-app .page-size-selector select{padding:6px 10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text);background:var(--bg);cursor:pointer;flex:1;font-family:inherit}.curia-app .sidebar-range{font-size:1rem;color:var(--text-muted);text-align:center;margin-bottom:10px}.curia-app .sidebar-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px}.curia-app .sidebar-page-info{font-size:1rem;font-weight:600;color:var(--text-muted);text-align:center;flex:1}.curia-app .msg-board{margin-top:12px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.curia-app .msg-list{max-height:280px;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}.curia-app .msg-empty{text-align:center;color:var(--text-light);font-size:.82rem;padding:20px 0}.curia-app .msg{max-width:80%;align-self:flex-start}.curia-app .msg-mine{align-self:flex-end}.curia-app .msg-header{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.curia-app .msg-author{font-size:.75rem;font-weight:700;color:var(--primary)}.curia-app .msg-mine .msg-author{color:var(--success)}.curia-app .msg-time{font-size:.68rem;color:var(--text-light)}.curia-app .msg-body{font-size:.85rem;color:var(--text);background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:8px 12px;line-height:1.4;word-break:break-word}.curia-app .msg-mine .msg-body{background:var(--primary-light);border-color:transparent}.curia-app .msg-input-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--card-bg)}.curia-app .msg-input{flex:1;padding:8px 12px;font-size:.85rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;background:var(--bg);color:var(--text);font-family:inherit}.curia-app .msg-input:focus{border-color:var(--primary)}.curia-app .msg-join-hint{text-align:center;font-size:.78rem;color:var(--text-light);font-style:italic;padding:10px;border-top:1px solid var(--border)}.curia-app .group-toolbar{display:flex;gap:4px;padding-top:8px;border-top:1px solid var(--border);margin-top:8px}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.article-content{max-width:800px;margin:0 auto;padding:2rem 1rem;color:#2a2a2a;font-family:inherit;line-height:1.6}.article-content h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--primary-color, #D00000)}.article-content h2{font-size:1.8rem;margin-top:2rem;margin-bottom:1rem;color:var(--secondary-color, #ff4b4b)}.article-meta{color:#666;font-size:.9rem;margin-bottom:2rem;font-style:italic}.article-content p{margin-bottom:1.2rem;font-size:1.1rem}.article-content pre{background:#f9f9f9;padding:1rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0;border:1px solid rgba(208,0,0,.2)}.article-content code{font-family:Fira Code,Courier New,Courier,monospace;color:#2a2a2a}.interactive-block{background:#d000000d;padding:1.5rem;border-radius:12px;margin:2rem 0;border:1px solid rgba(208,0,0,.2);text-align:center}.interactive-block p{font-size:1.2rem;font-weight:700}.interactive-block button{background:var(--primary-color, #D00000);color:#fff;border:none;padding:.6rem 1.2rem;margin:0 .5rem;border-radius:6px;font-weight:700;cursor:pointer;transition:all .3s ease}.interactive-block button:hover{transform:translateY(-2px);filter:brightness(1.2)}.articles-page{min-height:100vh;padding-top:80px;background-color:#fdfbf7;color:#2a2a2a;display:flex;flex-direction:column}.articles-header{text-align:center;padding:4rem 1rem 2rem}.articles-header h1{font-size:3.5rem;background:linear-gradient(135deg,#d00000,#ff4b4b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem}.articles-header p{font-size:1.2rem;color:#4a4a4a;max-width:600px;margin:0 auto 2rem}.search-and-sort-container{max-width:650px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.articles-search-wrapper{display:flex;align-items:center;background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:30px;transition:all .3s ease;box-shadow:0 2px 10px #d000001a}.articles-search-wrapper:focus-within{border-color:#d0000080;box-shadow:0 10px 30px #d0000033;background:#fff}.articles-search-box{flex:1;padding:1rem 1.5rem;font-size:1.1rem;color:#2a2a2a;background:transparent;border:none;outline:none}.articles-search-box::placeholder{color:#666}.search-divider{width:2px;height:32px;background:#d000004d;margin:0 .5rem}.react-select-container{min-width:150px}.active-tags-container{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:0 1rem;align-items:center;margin-top:-.5rem}.active-tag-pill{display:flex;align-items:center;background:#d000001a;border:1px solid rgba(208,0,0,.3);color:#d00000;padding:.3rem .8rem;border-radius:20px;font-size:.9rem}.active-tag-pill button{background:none;border:none;color:#d00000;margin-left:.5rem;cursor:pointer;font-size:.8rem;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s}.active-tag-pill button:hover{color:#d00000b3}.clear-all-tags-btn{background:none;border:none;color:#666;font-size:.85rem;cursor:pointer;margin-left:.5rem;transition:color .2s}.clear-all-tags-btn:hover{color:#2a2a2a;text-decoration:underline}.combined-time-controls-wrapper{display:flex;align-items:center;margin:1rem auto 0;background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:30px;width:fit-content;transition:all .3s ease;box-shadow:0 2px 10px #d000001a}.combined-time-controls-wrapper:focus-within{border-color:#d0000080;box-shadow:0 10px 30px #d0000033}.date-picker-section{display:flex;align-items:center;padding:.5rem 1rem .5rem 1.5rem}.calendar-icon{margin-right:.5rem;opacity:.7}.custom-date-picker{background:transparent;border:none;color:#2a2a2a;font-size:.95rem;outline:none;width:200px;cursor:pointer}.custom-date-picker::placeholder{color:#666}.time-controls-divider{width:2px;height:24px;background:#d000004d;margin:0 .5rem}.combined-sort-select{background:transparent;color:#4a4a4a;border:none;padding:.5rem 1rem;outline:none;font-size:.95rem;cursor:pointer}.combined-sort-select option{background:#fff;color:#2a2a2a}.react-datepicker{background-color:#fff!important;border:1px solid rgba(208,0,0,.2)!important;font-family:inherit!important;border-radius:12px!important;box-shadow:0 10px 30px #d000001a!important}.react-datepicker__header{background-color:#fdfbf7!important;border-bottom:1px solid rgba(208,0,0,.1)!important;border-radius:12px 12px 0 0!important}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__day-name{color:#2a2a2a!important}.react-datepicker__day{color:#4a4a4a!important;border-radius:50%!important}.react-datepicker__day:hover{background-color:#d000001a!important;color:#d00000!important}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#d0000033!important;color:#d00000!important}.react-datepicker__day--in-range{background-color:#d000001a!important;color:#d00000!important;border-radius:0!important}.react-datepicker__day--range-start,.react-datepicker__day--range-end{background-color:#d00000!important;color:#fff!important;border-radius:50%!important}.react-datepicker__navigation-icon:before{border-color:#4a4a4a!important}.react-datepicker__navigation:hover *:before{border-color:#d00000!important}.no-articles-found{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#f9f9f9;border-radius:12px;border:1px dashed #ccc}.no-articles-found h3{font-size:1.8rem;color:#2a2a2a;margin-bottom:.5rem}.no-articles-found p{color:#666}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;padding:2rem;max-width:1200px;margin:0 auto;flex:1}.article-card{background:#fff;border:2px solid rgba(208,0,0,.2);border-radius:12px;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column;box-shadow:0 2px 10px #d000001a;color:#2a2a2a}.article-card:hover{transform:translateY(-5px);border-color:#d0000080;box-shadow:0 10px 30px #d0000033}.article-card-content{padding:2rem;flex:1;display:flex;flex-direction:column}.article-date{font-size:.9rem;color:#d00000;margin-bottom:.5rem;display:block}.article-card h3{font-size:1.5rem;color:#2a2a2a;margin-bottom:.5rem;line-height:1.3;transition:color .3s ease}.article-card:hover h3{color:#d00000}.article-excerpt{color:#4a4a4a;line-height:1.6;margin-bottom:1.5rem;flex:1}.article-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.article-tag{padding:.4rem .8rem;background:#d000000d;border:1px solid rgba(208,0,0,.2);border-radius:6px;font-size:.85rem;color:#d00000;cursor:pointer;transition:all .2s ease}.article-tag:hover{background:#d000001a;border-color:#d0000080}.article-tag.highlight{background:#d0000026;border:1px solid #D00000}.read-more{padding:1.5rem 2rem;border-top:2px solid rgba(208,0,0,.2);font-weight:600;color:#d00000;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease;margin-top:auto;text-decoration:none}.read-more span{transition:transform .3s ease}.article-card:hover .read-more{background:#d000000d}.article-card:hover .read-more span{transform:translate(5px)}.article-view-page{padding-top:80px}.article-header-wrapper{max-width:800px;margin:0 auto;padding:2rem 1rem 0}.back-to-articles-btn{display:inline-block;color:#4a4a4a;text-decoration:none;font-weight:500;transition:color .2s ease}.back-to-articles-btn:hover{color:#d00000}.dynamic-article-container{flex:1;width:100%}*{margin:0;padding:0;box-sizing:border-box}.App{min-height:100vh;background:#fdfbf7;color:#2a2a2a;font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;scroll-behavior:smooth}html{scroll-behavior:smooth}section{padding:100px 20px;max-width:1200px;margin:0 auto}@media(max-width:768px){section{padding:60px 20px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .8s ease-out}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
