/* St. Agnes Preparatory - Gothic Geocities variant */
body {
  background-color: #0a0412;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='96' height='96'><rect width='96' height='96' fill='%230a0412'/><g opacity='0.18' fill='none' stroke='%235a0a1a'><path d='M48 8 L48 88 M28 30 L68 30'/><circle cx='48' cy='20' r='6'/></g></svg>");
  background-repeat: repeat;
  color: #d8c8b8;
  font-family: "Times New Roman", "Georgia", serif;
  font-size: 15px;
  margin: 0; padding: 0;
  cursor: default;
}
a { color: #c8a030; text-decoration: underline; }
a:visited { color: #8a5a8a; }
a:hover { color: #ff5555; }

h1,h2,h3 { font-family: "Old English Text MT", "Cloister Black", "Times New Roman", serif; letter-spacing:1px; }

.neon { text-shadow: 0 0 5px #8a1a1a, 0 0 12px #5a0a0a; }
.neon-red { color: #cc2222; text-shadow: 0 0 6px #800000; }
.neon-gold { color: #e8c45a; text-shadow: 0 0 6px #9a7020; }
.neon-cyan { color: #c0a0d0; text-shadow: 0 0 6px #6a4080; }

.blink { animation: blink 1.4s steps(2,start) infinite; }
@keyframes blink { 0%{opacity:1} 50%{opacity:0} 100%{opacity:1} }

.marquee-box { background:#000; border:2px ridge #8a1a1a; padding:6px; overflow:hidden; white-space:nowrap; }
.rainbow { animation: rainbow 5s linear infinite; }
@keyframes rainbow { 0%{color:#cc2222} 50%{color:#e8c45a} 100%{color:#cc2222} }

.floaty { display:inline-block; animation: floaty 3.5s ease-in-out infinite; }
@keyframes floaty { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }

.page { max-width: 860px; margin: 0 auto; padding: 12px; }
.header-banner {
  background: linear-gradient(90deg, #1a0408, #3a0818, #1a0408);
  border: 3px outset #8a1a1a;
  text-align: center; padding: 16px; margin-bottom: 10px;
}
.navbar { background: #0c0410; border: 2px inset #8a1a1a; padding: 8px; text-align: center; margin-bottom: 12px; }
.navbar a { margin:0 6px; font-weight: bold; }

.content-box { background: rgba(10,4,18,0.78); border: 2px dashed #8a1a1a; padding: 12px; margin-bottom: 12px; }
.sidebar-box { background: rgba(20,4,8,0.85); border: 2px solid #c8a030; padding: 10px; margin-bottom: 12px; }
.under-construction { text-align:center; border:3px solid #c8a030; background: repeating-linear-gradient(45deg,#000 0 10px,#1a0408 10px 20px); padding:8px; margin:10px 0; }
.hit-counter { font-family:"Courier New",monospace; background:#000; color:#ff3333; border:2px inset #888; padding:2px 8px; letter-spacing:3px; display:inline-block; }
.web-ring { border:2px ridge #c8a030; padding:8px; text-align:center; background:#0c0410; font-size:12px; }
.missing-card { border:2px solid #8a1a1a; background:rgba(30,0,0,0.5); padding:10px; margin-bottom:12px; }
.new-badge { background:#8a1a1a; color:#e8c45a; font-weight:bold; font-size:10px; padding:1px 4px; border:1px solid #e8c45a; vertical-align:middle; animation:blink 0.9s steps(2,start) infinite; }
.footer { text-align:center; border-top:2px solid #8a1a1a; padding-top:10px; font-size:11px; color:#8a7a6a; }
hr.rainbow-hr { border:0; height:3px; background: linear-gradient(90deg,#8a1a1a,#e8c45a,#8a1a1a); }
table { width:100%; border-collapse:collapse; }
th,td { border:1px solid #8a1a1a; padding:6px; }
th { background:#1a0408; color:#e8c45a; }
form input, form textarea { background:#0c0410; color:#d8c8b8; border:1px solid #8a1a1a; font-family:"Times New Roman",serif; padding:4px; width:95%; }
form button { background:#1a0408; color:#e8c45a; border:2px outset #8a1a1a; padding:4px 10px; font-weight:bold; cursor:pointer; }
.status-ok { color:#e8c45a; } .status-err { color:#ff3333; }
.guestbook-entry { border-bottom:1px dotted #8a1a1a; padding:6px 0; }
.admin-row { border-bottom:1px dotted #c8a030; padding:6px 0; }
