:root{--bg: #0e1116;--card: #171a21;--text: #e9eef3;--muted: #a9b4c0;--brand: #e53935;--brand-2: #ffb300;--link: #7abaff;--success: #4caf50}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:#1f2430;color:var(--text);overflow-x:hidden}.app-root{position:relative;min-height:100%}.app-content,#root{position:relative;z-index:1}a,a:visited{color:var(--text)}a:hover,a:focus,a:active{color:var(--text)}.bg-spacer-top{height:calc(100vh - 300px)}.bg-spacer-bottom{height:100vh}.container{max-width:960px;margin:0 auto;padding:16px}.container section{margin-top:24px}.container section:first-of-type{margin-top:0}.header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0}.brand h1{margin:0;font-size:22px}.brand p{margin:4px 0 0;color:var(--muted);font-size:14px}.nav{display:flex;gap:12px}.nav a{color:var(--text);text-decoration:none;padding:8px 10px;border-radius:8px}.nav a.active{background:#1f2430}.nav .cta{background:var(--brand);color:#fff}.hero{position:relative;background:linear-gradient(135deg,#1f2430,#141821);border:1px solid #2b3240;border-radius:16px;padding:20px;box-shadow:0 4px 24px #0000004d}.hero h2{margin-top:0;font-size:22px}.hero-actions{display:flex;gap:10px;margin-top:8px}.button{display:inline-block;padding:10px 14px;border-radius:10px;border:1px solid #2b3240;color:var(--text);text-decoration:none;background:#1b1f2a}.button.primary{background:var(--brand);border-color:var(--brand);color:#fff}.news{margin-top:24px}.news h3{margin-top:0}.news-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.news-list.full{grid-template-columns:1fr}.news-item{background:var(--card);border:1px solid #2b3240;border-radius:12px}.news-item a{display:flex;justify-content:space-between;gap:12px;padding:12px;color:var(--text);text-decoration:none}.news-title{font-weight:600}.news-meta{color:var(--muted);font-size:12px}.form-section{margin-top:24px}.form{background:var(--card);border:1px solid #2b3240;border-radius:16px;padding:16px;display:grid;gap:12px;max-width:560px}.form label{display:grid;gap:6px;font-weight:600}.form input{padding:14px;border-radius:12px;border:1px solid #2b3240;background:#11151d;color:var(--text);font-size:16px}.form textarea{padding:14px;border-radius:12px;border:1px solid #2b3240;background:#11151d;color:var(--text);font-size:16px;line-height:1.35}.form button{width:100%;font-size:16px;padding:12px 16px}.form label{gap:8px}.form{gap:14px}.form .error{color:#ff6b6b}.form .success{color:var(--success)}.footer{margin:28px 0 8px;color:var(--muted);font-size:14px}@media (min-width: 900px){.brand h1,.hero h2{font-size:26px}}.blood-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.blood-canvas{display:block;width:100%;height:100%}@media (max-width: 768px){body:before{background-size:auto 100%;background-position:center}}.form fieldset{margin:0;padding:12px;border:1px solid #2b3240;border-radius:12px;background:#11151d;display:grid;gap:10px}.form fieldset legend{padding:0 6px;color:var(--muted);font-weight:700}.checkbox-label{display:flex;align-items:center;gap:10px;padding:14px 12px;background:#0f131b;border:1px solid #2b3240;border-radius:10px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.checkbox-label:hover{background:#131826;border-color:#3a4355}.form input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:6px;border:2px solid #3a4355;background:#0b0f15;display:grid;place-content:center;position:relative}.form input[type=checkbox]:before{content:"";width:12px;height:12px;transform:scale(0);transition:transform .15s ease-in-out;border-radius:4px;background:var(--brand)}.form input[type=checkbox]:checked:before{transform:scale(1)}.form input[type=checkbox]:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}.form input[type=checkbox]:checked{border-color:var(--brand)}
