*{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,p,figure{margin:0}img{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1e293b;background-image:linear-gradient(to bottom right,#e0e7ff,#f1f5f9);min-height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;transition:background-color .3s,color .3s}.dark body{color:#e0e7ff;background-image:linear-gradient(to bottom right,#1e293b,#0f172a)}.theme-toggle{z-index:50;background-image:linear-gradient(to bottom right,#6366f1,#60a5fa);border-radius:.75rem;padding:.5rem;font-size:1.5rem;line-height:2rem;transition:transform .15s;position:fixed;top:1rem;right:1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.theme-toggle:hover{transform:scale(1.05)}.theme-toggle:after{content:attr(data-tooltip);white-space:nowrap;color:#333;opacity:0;visibility:hidden;pointer-events:none;background-color:#fff;border-radius:.5rem;padding:.4rem .75rem;font-family:inherit;font-size:.875rem;transition:opacity .15s ease-in-out;position:absolute;top:50%;right:calc(100% + .75rem);transform:translateY(-50%);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.theme-toggle:hover:after{opacity:1;visibility:visible}.layout{min-height:100vh}.layout-nav{justify-content:center;gap:.5rem;padding-top:1.5rem;display:flex}.layout-main{max-width:42rem;margin-inline:auto;padding-block:3rem;padding-inline:1rem}.nav-link{border-radius:.5rem;padding:.375rem .75rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition:color .15s,background-color .15s,border-color .15s}.nav-link--active{color:#fff;background-color:#6366f1}.nav-link--inactive{color:#475569}.nav-link--inactive:hover{background-color:#e0e7ff}.dark .nav-link--inactive{color:#c7d2fe}.dark .nav-link--inactive:hover{background-color:#334155}.card{background-color:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.dark .card{background-color:#1e293b}.panel{background-color:#fff;border-radius:1rem;padding:2rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.dark .panel{background-color:#1e293b}.heading-lg{margin-bottom:1rem;font-size:1.5rem;font-weight:800;line-height:2rem}.field-label{font-size:.875rem;font-weight:500;line-height:1.25rem}.form-input{background-color:#f8fafc;border:1px solid #c7d2fe;border-radius:.5rem;outline:none;padding:.5rem 1rem}.form-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #c7d2fe}.dark .form-input{background-color:#334155;border-color:#475569}.error-text{color:#ef4444;font-size:.875rem;line-height:1.25rem}.btn-primary{color:#fff;background-image:linear-gradient(90deg,#6366f1,#60a5fa);border-radius:.5rem;padding:.5rem 1rem;font-weight:600;transition:transform .15s}.btn-primary:hover{transform:translateY(-.125rem)}.btn-primary:disabled{opacity:.6}.link{color:#6366f1;font-weight:600}.link:hover{color:#4f46e5}.dark .link{color:#a5b4fc}.muted-text{color:#475569}.dark .muted-text{color:#c7d2fe}.gallery{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem;display:grid}.gallery-image{border-radius:.5rem;width:100%;height:auto}.gallery-caption{margin-top:.5rem;font-size:.875rem;line-height:1.25rem}.rules-page{position:relative}.rules-page-background{z-index:-1;background-position:50%;background-size:cover;position:fixed;inset:0}.rules-page-header{z-index:1;text-align:center;padding:2.5rem 1.5rem 2rem;position:relative}.rules-page-title{margin-bottom:.5rem;font-size:1.875rem;font-weight:800;line-height:2.25rem}.rules-page-description{white-space:pre-line}.rules-page-image{border-radius:.5rem;width:100%;max-width:16rem;margin:1.5rem auto 0;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.rules-list{z-index:1;flex-direction:column;gap:1.25rem;margin:0 1.5rem 1.5rem;display:flex;position:relative}.rule-item{padding-left:.5rem}.rule-text{line-height:1.5rem}.rule-image{border-radius:.5rem;width:100%;max-width:20rem;margin-top:.75rem}.not-found{text-align:center}.not-found-title{margin-bottom:1rem;font-size:2.25rem;font-weight:800;line-height:2.5rem}.not-found-message{margin-bottom:1.5rem}.home-title{margin-bottom:.5rem;font-size:1.5rem;font-weight:800;line-height:2rem}.portfolio{flex-direction:column;gap:2.5rem;display:flex}.portfolio-hero{text-align:center}.portfolio-title{font-size:2.25rem;font-weight:800;line-height:2.5rem}.portfolio-tagline{margin-top:.5rem}.portfolio-section-title{margin-bottom:.5rem;font-size:1.25rem;font-weight:700;line-height:1.75rem}.entry{flex-direction:column;gap:.25rem;display:flex}.entry+.entry{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem}.dark .entry+.entry{border-top-color:#334155}.entry-header{align-items:center;gap:.75rem;display:flex}.entry-logo{object-fit:contain;background-color:#fff;border-radius:.5rem;flex-shrink:0;width:2.5rem;height:2.5rem;box-shadow:0 2px 5px #00000014}.entry-title{font-size:1rem;font-weight:700;line-height:1.5rem}.entry-subtitle{font-weight:500}.entry-meta{font-size:.875rem;line-height:1.25rem}.entry-description{margin-top:.5rem}.contact-success{text-align:center;max-width:24rem;margin-inline:auto}.contact-success-title{margin-bottom:1rem;font-size:1.875rem;font-weight:800;line-height:2.25rem}.contact-title{text-align:center;margin-bottom:2rem;font-size:2.25rem;font-weight:800;line-height:2.5rem}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.contact-honeypot{display:none}.contact-textarea{resize:none}.contact-submit{font-size:1.125rem;line-height:1.75rem}.contact-socials{justify-content:center;gap:1.5rem;margin-top:2rem;display:flex}.contact-social-link{color:#475569;transition:color .15s,background-color .15s,border-color .15s}.contact-social-link:hover{color:#6366f1}.dark .contact-social-link{color:#c7d2fe}.dark .contact-social-link:hover{color:#a5b4fc}.login-form{flex-direction:column;gap:1rem;width:100%;max-width:24rem;margin-inline:auto;display:flex}.login-form-title{text-align:center;font-size:1.5rem;font-weight:800;line-height:2rem}.status-text{text-align:center}.status-error{color:#ef4444}
