* { box-sizing: border-box; }
:root{
  --bg1:2b2b2b; --bg2:#5a5a5a;
  --card:#ffffff; --text:#2b2b2b; --muted:#5a5a5a;
  --accent:#5a5a5a; --shadow:0 12px 30px rgba(0,0,0,0.18);
}
html[data-theme="dark"]{
  --bg1:#0f0c29; --bg2:#302b63;
  --card:#171923; --text:#f1f5f9; --muted:#cbd5e1;
  --accent:#5a5a5a; --shadow:0 12px 30px rgba(0,0,0,0.45);
}
html,body{ height:100%;}
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;
  background: linear-gradient(135deg, var(--bg1), var(--bg2));
  color: var(--text);
  display: flex; justify-content: center; align-items: center;
  margin: 0; padding: 20px;
}
.container {
  background: var(--card); border-radius: 22px;
  padding: 28px; width: 100%; max-width: 720px;
  text-align: center; box-shadow: var(--shadow);
}
h1 { margin: 0 0 6px 0; font-weight: 800; letter-spacing: .2px;}
.subtitle { margin: 0 0 18px 0; color: var(--muted); }
.adjectives {
  font-size: 2rem; font-weight: 800; letter-spacing:.5px;
  margin: 16px 0 12px 0; min-height: 2.2em;
}
.gif-wrap{ display:flex; justify-content:center; align-items:center; }
#gif {
  width: 360px; max-width: 92%; border-radius: 12px;
  margin: 12px 0 8px 0; display:none; box-shadow: 0 8px 16px rgba(0,0,0,.12);
}
.message { min-height: 1.2em; color: var(--muted); }
.actions{ margin-top: 8px; display:flex; gap:10px; justify-content:center; flex-wrap: wrap;}
button {
  appearance: none; border: 0; background: var(--accent); color: white;
  padding: 12px 18px; font-size: 1rem; border-radius: 999px; cursor: pointer;
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
  transition: transform .06s ease, filter .2s ease, opacity .2s ease;
}
button.ghost{
  background: transparent; color: var(--text); border: 1px solid rgba(255,255,255,.4);
  box-shadow: none;
}
button:active { transform: translateY(1px); }
button:disabled { opacity:.5; cursor:not-allowed; }
.overlay{
  position: fixed; inset: 0; background: rgba(0,0,0,.35);
  display:flex; justify-content:center; align-items:center; backdrop-filter: blur(3px);
}
.overlay.hidden{ display:none; }
.overlay-card{
  background: #fff; color:#111; padding: 20px 24px; border-radius: 16px;
  max-width: 520px; text-align:center; box-shadow: var(--shadow);
}
html[data-theme="dark"] .overlay-card{ background:#0b1220; color:#e2e8f0; }
