* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: linear-gradient(180deg, #fff7ef 0%, #fff 100%);
  color: #2e2a26;
  line-height: 1.45;
}
a { color: #cf5a10; }
a:hover { color: #a7460b; }
img { max-width: 100%; display: block; }
.app { min-height: 100vh; display: grid; place-items: center; padding: 1rem; width:100%; }
.admin-body { padding: 1rem; }
.admin-wrap, .app { width: 100%; }
.admin-wrap { max-width: 1180px; margin: 0 auto; display: grid; gap: 1rem; }
.card {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 12px 35px rgba(207,90,16,.10);
  padding: 1.15rem;
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
  border: 1px solid #f3d8c4;
}
.admin-wrap .card { max-width: none; }
.brand { font-weight: 800; color: #cf5a10; text-transform: uppercase; letter-spacing: .08em; font-size: .85rem; margin-bottom: .5rem; }
.topline { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.screen { display: none; }
.screen.active { display: block; }
label { display: block; margin-top: .8rem; margin-bottom: .35rem; font-weight: 700; }
input, select, textarea, button {
  width: 100%; font: inherit; padding: .9rem 1rem; border-radius: 14px; border: 1px solid #ebc5a8; background:#fff;
}
textarea { resize: vertical; min-height: 110px; }
button, .button-link {
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  background: #cf5a10; color: #fff; border: 0; font-weight: 800; cursor: pointer; margin-top: .9rem; text-decoration:none;
}
.button-link { padding:.9rem 1rem; border-radius:14px; }
button.secondary { background: #f3ede8; color:#6c4d3a; border:1px solid #e4cdbb; }
button.danger { background: #c93c24; }
button:disabled { opacity: .55; cursor: not-allowed; }
.small { font-size: .92rem; color: #6c635c; }
.lead { font-size:1.02rem; color:#564e47; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.avatar-preview { width: 120px; height: 120px; margin: 1rem auto; }
.avatar-preview img { width: 100%; height: 100%; }
.question-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-weight: 700; }
#timer { font-size: 1.2rem; padding: .35rem .75rem; border-radius: 999px; background: #fff1e6; color:#b84d0d; }
.answers { display: grid; gap: .75rem; margin-top: 1rem; }
.answers button { text-align: left; background: #fff9f4; color: #2a2a2a; border: 1px solid #f2d6c1; }
.answers button:hover:not(:disabled) { background: #fff1e5; }
.result-box { margin-top: .8rem; padding: .8rem; border-radius: 14px; background: #fff8f2; }
.plain-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .8rem; }
.pill { display:inline-block; padding:.25rem .7rem; border-radius:999px; background:#fff1e6; color:#b84d0d; font-size:.88rem; font-weight:700; }
.quiz-grid { display:grid; gap:1rem; }
.quiz-card-item, .event-list-item { border:1px solid #f0dbc9; border-radius:16px; padding:1rem; background:#fffdfa; }
.quiz-card-item h2, .event-list-item h3 { margin:.4rem 0; }
.admin-grid { display:grid; gap:1rem; grid-template-columns: 1.1fr 1.6fr; }
.event-list { display:grid; gap:.8rem; }
.event-list-item .row, .row { display:flex; align-items:center; justify-content:space-between; gap:.8rem; flex-wrap:wrap; }
.actions-inline { display:flex; gap:.6rem; flex-wrap:wrap; }
.actions-inline button, .actions-inline a { width:auto; margin-top:0; }
.event-detail-grid { display:grid; gap:1rem; grid-template-columns: 1.1fr 1fr; }
.scoreboard { overflow-x:auto; }
.scoreboard table { width:100%; border-collapse: collapse; margin-top: .7rem; }
.scoreboard th, .scoreboard td { text-align:left; padding:.55rem; border-bottom:1px solid #f2e4d8; }
.mini-avatar { width:32px; height:32px; }
.status-hero { padding:1rem; border:1px solid #f0dbc9; border-radius:16px; background:#fffaf5; }
.status-hero h2, .status-hero h3 { margin-top:0; }
.question-option-list { margin:.7rem 0 0; padding-left:1.15rem; }
.question-option-list li { margin-bottom:.35rem; }
.countdown-badge { display:inline-block; padding:.3rem .6rem; border-radius:999px; background:#fff1e6; color:#b84d0d; font-weight:700; }
.final-actions { display:grid; gap:.75rem; }
.share-buttons { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:.8rem; }
.share-buttons a { width:auto; }
.info-box { padding:.8rem 1rem; border-radius:14px; background:#fff8f2; border:1px solid #f0dbc9; }
@media (max-width: 900px) { .admin-grid, .event-detail-grid { grid-template-columns: 1fr; } }
