:root{
  --lavender:#DCCEF3;
  --lavender-2:#EDE3FA;
  --lilac:#C6B5F2;
  --deep:#7C63C9;
  --cream:#FFF7FB;
  --leaf:#A6C4B8;
  --ink:#3B3551;
  --shadow:rgba(60,40,120,.14);
  --star: rgba(198,181,242,0.85); /* roxo lavanda claro para fundo de estrelinhas */
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Trebuchet MS", Verdana, system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1200px 700px at 10% -10%, var(--lavender-2), transparent 60%),
    radial-gradient(900px 600px at 110% 10%, var(--cream), transparent 50%),
    linear-gradient(180deg, #fff, var(--lavender-2));
  background-attachment: fixed;
  line-height:1.6;

  /* Cursor de camerazinha lilás */
  cursor: url('assets/camera-cursor.png') 10 10, auto;
}

.bg-stars{
  position:fixed; inset:0; pointer-events:none;
  background-image: radial-gradient(var(--star) 1px, transparent 1px);
  background-size: 3px 3px;
  opacity:.6;
  animation: shimmer 8s linear infinite;
}
@keyframes shimmer{
  0%{transform:translateY(0)}
  100%{transform:translateY(-10px)}
}

.site-header{
  text-align:center;
  padding:2.5rem 1rem 1rem;
}
.title-wrap{
  display:inline-block;
  padding:1rem 1.25rem;
  background:linear-gradient(180deg, var(--lavender), #fff);
  border-radius:18px;
}
h1{ margin:.25rem 0 .5rem; font-size:clamp(1.6rem, 3vw, 2.4rem); letter-spacing:.5px; text-shadow:0 1px 0 #fff; }
.tiny{font-size:.9rem; opacity:.7}
.subtitle{ margin:0; font-size:.95rem; opacity:.8 }
.nav{ margin-top:.75rem; display:flex; gap:.5rem; justify-content:center; flex-wrap:wrap; }
.nav a{
  padding:.35rem .7rem;
  border-radius:999px;
  border:1px dashed var(--deep);
  background:#fff;
  text-decoration:none; color:var(--deep);
  font-size:.9rem;
  transition:transform .15s ease;
}
.nav a:hover{ transform:translateY(-1px) }

.layout{ width:min(1020px, 92vw); margin:1rem auto 2rem; display:grid; grid-template-columns: 1fr 320px; gap:1rem; }
.content{ display:grid; gap:1rem }
.sidebar{ display:grid; gap:1rem }

.card{ background:#fff; border-radius:16px; padding:1rem 1.1rem; box-shadow: 0 10px 30px var(--shadow), 0 1px 0 #fff inset; position:relative; }
.glitter-border{ border:2px solid var(--lilac); animation: borderGlow 2.4s ease-in-out infinite alternate; }
@keyframes borderGlow{ 0%{ box-shadow: 0 0 0px rgba(198,181,242,0.0), 0 0 0px rgba(124,99,201,0.0) } 100%{ box-shadow: 0 0 12px rgba(198,181,242,0.8), 0 0 24px rgba(124,99,201,0.35) } }

.post h2{ margin:.25rem 0 .5rem; font-size:1.35rem }
.post-meta{ font-size:.85rem; opacity:.75 }
.playlist{ margin:.5rem 0 0 1rem }

.polaroid{ padding:0 }
.polaroid-frame{ width:100%; display:block; }
.polaroid-inner{ position:absolute; inset:24px 24px 68px 24px; border-radius:10px; background:var(--lavender-2); display:grid; place-items:center; }
.polaroid-caption{ margin: .25rem 0 .95rem; text-align:center; font-size:.9rem; opacity:.8 }
.ph{ opacity:.65; font-size:.95rem }

.counter #visitCount{ font-variant-numeric:tabular-nums; font-weight:700 }
.gb-form{ display:grid; gap:.5rem }
.gb-form input, .gb-form textarea{ width:100%; padding:.6rem .75rem; border:1px solid var(--lilac); border-radius:10px; font:inherit; background:#fff; }
.gb-form button{ padding:.55rem .9rem; border-radius:10px; border:1px solid var(--deep); background:#fff; color:var(--deep); font-weight:600; cursor:pointer; }
.gb-form button:hover{ transform: translateY(-1px) }
.gb-list{ list-style:none; padding-left:0; margin:.75rem 0 0 }
.gb-list li{ padding:.6rem .75rem; background:var(--cream); border:1px dashed var(--lilac); border-radius:10px; margin:.5rem 0 }
.gb-list li .who{ font-weight:700 }
.site-footer{ text-align:center; padding:2rem 1rem 3rem; opacity:.8; font-size:.95rem }

@media (max-width: 880px){ .layout{ grid-template-columns: 1fr; } }

.card::after{
  content:"";
  position:absolute; width:44px; height:44px; right:-10px; top:-10px;
  background:url('assets/star.svg') no-repeat center/contain;
  filter: drop-shadow(0 1px 0 #fff) drop-shadow(0 0 12px rgba(198,181,242,.7));
  animation: twinkle 1.8s ease-in-out infinite;
}
.card:nth-child(2n)::after{ left:-10px; right:auto; top:-10px }
.card:nth-child(3n)::after{ top:auto; bottom:-10px }

a{ color:var(--deep) }
a:hover{ text-decoration:none; background:var(--lavender); border-radius:6px; }


/* Guestbook embed */
.gb-embed{ display:grid; gap:.6rem }
.gb-embed iframe{
  width:100%; height:540px; border:1px solid var(--lilac); border-radius:12px; background:#fff;
  box-shadow: 0 6px 22px var(--shadow);
}
.gb-links{ display:flex; align-items:center; gap:.6rem; justify-content:space-between; }
.gb-button{ padding:.45rem .7rem; border:1px solid var(--deep); border-radius:10px; text-decoration:none; color:var(--deep); font-weight:600; background:#fff; }
.gb-button:hover{ transform:translateY(-1px) }

/* Force custom cursor on links/buttons (Chrome sometimes overrides to pointer) */
a, button { cursor: url('assets/camera-cursor.png') 10 10, pointer; }
