*{margin:0;padding:0;box-sizing:border-box;}
:root{--blood:#8B1A1A;--blood-dark:#5C0E0E;--blood-light:#B03030;--bone:#D4C89A;--void:#0A0C08;--fog:#1A1E14;--scratch:#3A4A2A;--mist:#252B1C;}
html{scroll-behavior:smooth;} body{background:var(--void);color:var(--bone);font-family:Georgia,'Times New Roman',serif;min-height:100vh;} body:before{content:'';position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.05) 2px,rgba(0,0,0,.05) 4px);z-index:5;} a{color:inherit;}
header{position:sticky;top:0;z-index:4;background:var(--void);border-bottom:2px solid var(--blood);} .header-inner{padding:1.4rem 2.5rem 0;position:relative;} .badge{display:inline-block;background:var(--blood);color:#ffb0b0;font:10px Consolas,monospace;letter-spacing:2px;padding:3px 8px;margin-bottom:.6rem;} .site-title{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:2.4rem;color:var(--blood);letter-spacing:4px;text-decoration:none;text-shadow:2px 2px 0 var(--blood-dark);} .subtitle{display:block;color:#79866a;font:12px Consolas,monospace;letter-spacing:4px;margin:.25rem 0 1rem;}
nav{display:flex;flex-wrap:wrap;border-top:1px solid var(--scratch);} nav a{font:11px Consolas,monospace;letter-spacing:2px;text-decoration:none;text-transform:uppercase;color:#a8b58b;padding:.65rem 1rem;border-right:1px solid var(--scratch);opacity:.72;} nav a:first-child{border-left:1px solid var(--scratch);} nav a:hover,nav a.active{background:var(--blood);color:#ffd0d0;opacity:1;}
.container{max-width:1040px;margin:0 auto;padding:2rem;} .page-head{border-bottom:1px solid var(--scratch);padding-bottom:1rem;margin-bottom:1.3rem;} .kicker{font:11px Consolas,monospace;letter-spacing:2px;text-transform:uppercase;color:var(--blood-light);margin-bottom:.45rem;} h1{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:2.55rem;letter-spacing:2px;color:var(--bone);line-height:1.08;} .desc{max-width:760px;margin-top:.7rem;color:#899a75;font-size:14px;line-height:1.8;} .back{display:inline-block;margin-bottom:1.2rem;text-decoration:none;font:11px Consolas,monospace;letter-spacing:1.5px;color:#687858;} .back:hover{color:var(--blood-light);}
.layout{display:grid;grid-template-columns:1fr 280px;gap:2rem;align-items:start;} .card-list{display:grid;gap:1rem;} .post-card{display:block;text-decoration:none;background:var(--fog);border:1px solid var(--scratch);border-left:3px solid var(--blood);padding:1.2rem 1.35rem;transition:.2s;} .post-card:hover{background:var(--mist);transform:translateX(3px);border-left-color:var(--blood-light);} .featured{border-top:3px solid var(--blood);border-left:1px solid var(--scratch);padding:1.6rem;} .meta{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:.55rem;font:11px Consolas,monospace;color:#607050;letter-spacing:1px;} .tag{border:1px solid rgba(139,26,26,.45);background:rgba(139,26,26,.2);color:#ff9292;padding:2px 7px;} .green{border-color:rgba(122,154,42,.35);background:rgba(122,154,42,.16);color:#b7d86b;} .blue{border-color:rgba(42,80,130,.42);background:rgba(42,58,100,.25);color:#8eb5d8;} .amber{border-color:rgba(180,120,20,.38);background:rgba(180,120,20,.18);color:#eeb060;} .post-card h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:1.35rem;letter-spacing:1px;line-height:1.2;margin-bottom:.55rem;} .featured h2{font-size:1.75rem;} .post-card p{color:#8a9a7a;font-size:13px;line-height:1.75;} .read{display:flex;justify-content:space-between;border-top:1px solid var(--scratch);margin-top:.85rem;padding-top:.65rem;font:11px Consolas,monospace;color:#5f7050;} .read span:first-child{color:var(--blood-light);}
.side{display:grid;gap:1rem;} .widget,.info{background:var(--fog);border:1px solid var(--scratch);padding:1.15rem;} .widget h3,.info h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:1.18rem;letter-spacing:1px;color:var(--blood-light);margin-bottom:.7rem;} .widget p,.widget li,.info p,.info li{font-size:13px;line-height:1.8;color:#8a9a7a;} .widget ul,.info ul{padding-left:1.2rem;} .stat{font:22px Consolas,monospace;color:var(--blood-light);letter-spacing:2px;display:block;margin-bottom:.25rem;} .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
footer{border-top:1px solid var(--scratch);padding:1.4rem 2rem;margin-top:2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#4a5a3a;font:11px Consolas,monospace;letter-spacing:1px;} footer a{text-decoration:none;color:#607050;margin-left:1rem;} footer a:hover{color:var(--blood-light);} @media(max-width:760px){.layout,.grid{grid-template-columns:1fr}.container{padding:1.4rem 1.15rem}.header-inner{padding:1.2rem 1.2rem 0}h1{font-size:2rem}nav a{flex:1 1 50%;text-align:center}}

/* Horror effects */
body:after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:3;
  background:
    radial-gradient(circle at 92% 6%, rgba(176,48,48,.28), transparent 9rem),
    linear-gradient(115deg, transparent 0 48%, rgba(176,48,48,.10) 50%, transparent 53% 100%);
  mix-blend-mode:screen;
  opacity:.26;
  animation:alarm-flicker 5.4s infinite steps(1,end), alarm-sweep 9s infinite linear;
}
.site-title{
  position:relative;
  display:inline-block;
  animation:title-shiver 4.6s infinite steps(1,end);
}
.badge{animation:badge-blink 2.8s infinite steps(1,end);}
.post-card,.widget,.info{animation:panel-breath 7s infinite ease-in-out;}
@keyframes alarm-flicker{
  0%,72%,78%,100%{opacity:.22}
  73%,75%{opacity:.62}
  76%{opacity:.08}
  79%,81%{opacity:.38}
}
@keyframes alarm-sweep{
  from{background-position:0 0, -80vw 0}
  to{background-position:0 0, 80vw 0}
}
@keyframes title-shiver{
  0%,89%,100%{transform:none;text-shadow:2px 2px 0 var(--blood-dark),0 0 18px rgba(139,26,26,.18)}
  90%{transform:translate(1px,0);text-shadow:4px 1px 0 var(--blood-dark),-2px 0 0 rgba(176,48,48,.35)}
  91%{transform:translate(-1px,1px)}
  92%{transform:none}
}
@keyframes badge-blink{
  0%,74%,100%{filter:brightness(1)}
  75%,76%{filter:brightness(2.2)}
  77%{filter:brightness(.45)}
}
@keyframes panel-breath{
  0%,100%{box-shadow:none}
  50%{box-shadow:inset 0 0 20px rgba(139,26,26,.08)}
}
@media (prefers-reduced-motion: reduce){
  *,*:before,*:after{animation:none!important;transition:none!important}
}
