/* Reset básico */
* {
  box-sizing: border-box;
  font-family: "Verdana", Arial, sans-serif;
}

body {
  margin: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,0.02) 1px, transparent 1px),
    #001f3f;
  background-size: 20px 20px;
  color: #fff;
  padding: 20px;
}

/* Moldura */
.frame {
  width: 900px;
  max-width: 96%;
  margin: 0 auto;
  border: 6px ridge #ffcc00;
  background: linear-gradient(#002b55, #001a3a);
  box-shadow: 0 8px 30px rgba(0,0,0,0.6);
}

/* Header */
header {
  padding: 12px;
  background: linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  border-bottom: 4px solid #ff9900;
  display: flex;
  align-items: center;
  gap: 12px;
}

.logo {
  width: 96px;
  height: 96px;
  background: radial-gradient(circle at 30% 30%, #ffea00, #ff7a00 40%, transparent 41%),
              linear-gradient(135deg, rgba(255,255,255,0.08), transparent);
  border: 3px solid #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#001a3a;
  font-weight:bold;
  font-size:18px;
  transform: rotate(-6deg);
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}

h1 {
  margin: 0;
  font-size: 28px;
  text-shadow: 2px 2px 0 #000;
  color: #fffbcc;
}

.subtitle {
  font-size:13px;
  color:#dbefff;
}

nav a {
  color: #ffe68f;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.06);
  padding: 6px 8px;
  margin-left: 6px;
  background: rgba(255,255,255,0.02);
  border-radius: 4px;
}

nav a:hover {
  background: rgba(255,255,255,0.06);
}

/* Layout */
.main {
  display: flex;
  gap: 16px;
  padding: 16px;
}

.left { width: 60%; }
.right { width: 40%; }

/* Posts */
.post {
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border: 2px dashed #ffcc99;
  padding: 12px;
  margin-bottom: 16px;
}

.post h2 { margin: 0 0 6px 0; color:#fff9e6; }
.meta { font-size:12px; color:#d6e6ff; margin-bottom:8px; }

/* Botões */
.btn {
  display:inline-block;
  padding:6px 10px;
  background: linear-gradient(#ffdf9a,#ffb14d);
  border: 2px solid #a05a00;
  color: #3b1f00;
  text-decoration:none;
  font-weight: bold;
  border-radius: 6px;
  box-shadow: 0 2px rgba(0,0,0,0.3);
}

/* Widgets */
.widget {
  border: 2px inset rgba(255,255,255,0.03);
  background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(0,0,0,0.08));
  padding: 10px;
  margin-bottom: 12px;
}

.widget h3 {
  margin: 0 0 8px 0;
  font-size: 16px;
  color:#fff0c9;
}

.counter {
  font-family: "Courier New", monospace;
  background: linear-gradient(#003366,#001a3a);
  border: 3px groove #00ccff;
  padding: 8px;
  display:inline-block;
  color:#00ffff;
  font-size:20px;
  letter-spacing: 2px;
}

.counter-info {
  font-size:12px;
  margin-top:6px;
  color:#cfe7ff;
}

/* Guestbook */
#guestbook-list {
  max-height: 200px;
  overflow:auto;
  padding:6px;
  font-size:13px;
}

.entry {
  border-bottom: 1px dotted rgba(255,255,255,0.06);
  padding:6px 0;
}

#guest-form input {
  width:100%;
  padding:6px;
  margin-bottom:6px;
  border:1px solid #ccc;
  border-radius:4px;
}

/* Sparkles */
.sparkles { margin-top:8px; }

.sparkle {
  width: 40px;
  height: 40px;
  display:inline-block;
  margin-right: 6px;
  background: radial-gradient(circle at 30% 30%, #fff, #ffd700 40%, transparent 41%);
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(255,255,140,0.6);
  animation: twinkle 1.6s infinite;
}

.delay1 { animation-delay: .3s; }
.delay2 { animation-delay: .6s; }

@keyframes twinkle {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(0.7) rotate(30deg); opacity: 0.6; }
  100% { transform: scale(1); opacity: 1; }
}

/* Footer */
footer {
  padding: 10px;
  font-size: 13px;
  background: linear-gradient(90deg, rgba(255,255,255,0.02), transparent);
  border-top: 4px solid #ff9900;
  display:flex;
  align-items:center;
  gap:12px;
}

.under-const {
  background: repeating-linear-gradient(45deg, #ff6666, #ff6666 6px, #ffcc66 6px, #ffcc66 12px);
  color:#001a3a;
  padding:6px 10px;
  border-radius:6px;
  font-weight:bold;
  box-shadow: 0 2px rgba(0,0,0,0.3);
}

.smallprint {
  color:#fff9df;
}

/* Mobile */
@media (max-width:720px) {
  .main { flex-direction: column; }
  .left, .right { width: 100%; }
  .logo { width:64px; height:64px; font-size:14px; }
}
