/* 🎄 Cheesy jule-tema 🎄 */
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: "Comic Sans MS", "Chalkboard SE", cursive, sans-serif;
  background: linear-gradient(160deg, #0b6b3a 0%, #0a4d2e 50%, #7a1c1c 100%);
  color: #fff;
  min-height: 100vh;
  overflow-x: hidden;
}
#snow { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; }
.flake {
  position: absolute; top: -40px;
  animation-name: fall; animation-timing-function: linear; animation-iteration-count: infinite;
}
@keyframes fall { to { transform: translateY(110vh) rotate(360deg); } }

.wrap { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; padding: 24px 16px 60px; }
h1 { text-align: center; text-shadow: 0 0 15px #ffd700, 2px 2px 0 #7a1c1c; font-size: 2em; }
h2 { margin-top: 0; }

.card {
  background: rgba(255, 255, 255, 0.12);
  border: 3px dashed #ffd700;
  border-radius: 16px;
  padding: 16px;
  margin: 16px 0;
  backdrop-filter: blur(2px);
}
.question h3 { margin: 0 0 10px; font-size: 1.05em; }

input, textarea {
  width: 100%; padding: 10px; margin: 6px 0;
  border-radius: 10px; border: 2px solid #ffd700;
  font-size: 1em; font-family: inherit;
}
button {
  background: #c1121f; color: #fff; border: 2px solid #ffd700;
  padding: 10px 18px; border-radius: 10px; font-size: 1em;
  font-family: inherit; cursor: pointer; margin: 6px 4px 0;
}
button:hover { background: #ff4040; transform: scale(1.05); }
button.danger { background: #5a0f0f; }
label.opt {
  display: block; padding: 10px; margin: 6px 0;
  background: rgba(255, 255, 255, 0.1); border-radius: 10px;
  cursor: pointer; border: 2px solid transparent;
}
label.opt:hover { border-color: #ffd700; }
label.opt input { width: auto; margin-right: 8px; }

.error { color: #ffdddd; font-weight: bold; }
.hidden { display: none; }
.pill {
  display: inline-block; background: rgba(0, 0, 0, 0.3); border-radius: 20px;
  padding: 4px 12px; margin: 4px 4px 0 0; font-size: 0.9em;
}
table { width: 100%; border-collapse: collapse; }
td { padding: 6px 10px; border-bottom: 1px dotted rgba(255, 255, 255, 0.3); }
td:last-child { text-align: right; font-weight: bold; }
tr.winner { background: rgba(255, 215, 0, 0.2); }
.champ { font-size: 1.1em; color: #ffd700; }
.total { border-style: solid; border-color: #ffd700; }
a { color: #ffd700; }
textarea { resize: vertical; }
.question h4 { margin: 14px 0 6px; font-size: 1em; }
.locked { font-size: 0.85em; margin: 4px 0 0; color: #ffe9a8; }
.pill.mine { background: rgba(255, 215, 0, 0.35); border: 1px solid #ffd700; }
