@import url('https://fonts.googleapis.com/css2?family=Lalezar&family=Cairo:wght@400;600;700;800&display=swap');

:root{
  --mint-1:#8CF3C7;
  --mint-2:#78E6B7;
  --teal:#22D9AC;
  --teal-dark:#12B891;
  --coral:#FF8A75;
  --coral-dark:#F26A52;
  --yellow:#FFD34D;
  --ink:#22193B;
  --ink-soft:#4B4470;
  --paper:#FFFFFF;
  --line:#0000001a;
  --radius:22px;
}

*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  background:repeating-linear-gradient(135deg,
      var(--mint-1) 0px, var(--mint-1) 46px,
      var(--mint-2) 46px, var(--mint-2) 92px);
  color:var(--ink);
  font-family:'Cairo', sans-serif;
  direction:rtl;
  min-height:100%;
  display:flex;
  justify-content:center;
}

#app{
  width:100%;
  max-width:520px;
  min-height:100vh;
  padding:20px 18px 40px;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.brand{
  text-align:center;
  margin:14px 0 6px;
}
.brand .badge{
  display:inline-block;
  background:var(--yellow);
  border-radius:40% 60% 55% 45% / 50% 45% 55% 50%;
  padding:14px 34px;
  transform:rotate(-2deg);
  box-shadow:0 6px 0 rgba(0,0,0,.12);
}
.brand h1{
  font-family:'Lalezar', sans-serif;
  font-size:2.5rem;
  letter-spacing:1px;
  margin:0;
  color:var(--coral);
  -webkit-text-stroke:2px var(--paper);
  paint-order:stroke fill;
  transform:rotate(2deg);
  display:inline-block;
}
.brand p{
  color:var(--ink-soft);
  margin:10px 0 0;
  font-size:.95rem;
  font-weight:700;
}

.card{
  background:var(--teal);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:0 10px 0 rgba(0,0,0,.10), 0 16px 30px rgba(0,0,0,.12);
  position:relative;
  color:var(--ink);
}

.card.stacked::before, .card.stacked::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:var(--radius);
  z-index:-1;
}
.card.stacked::before{ background:var(--coral); transform:rotate(-4deg); opacity:.9; }
.card.stacked::after{ background:var(--coral-dark); transform:rotate(4deg); opacity:.55; }

h2.title{
  font-family:'Lalezar', sans-serif;
  font-size:1.6rem;
  color:var(--ink);
  margin:0 0 14px;
}

label{
  display:block;
  font-size:.85rem;
  color:var(--ink);
  opacity:.75;
  margin-bottom:6px;
  font-weight:700;
}

input[type=text], textarea{
  width:100%;
  background:var(--paper);
  border:2px solid var(--line);
  border-radius:14px;
  color:var(--ink);
  font-family:'Cairo', sans-serif;
  font-size:1.05rem;
  padding:14px;
  outline:none;
  transition:border-color .15s;
}
input[type=text]:focus, textarea:focus{ border-color:var(--coral); }
textarea{ resize:none; min-height:90px; }

.field{ margin-bottom:16px; }

.btn{
  display:block;
  width:100%;
  border:none;
  border-radius:16px;
  padding:16px;
  font-family:'Cairo', sans-serif;
  font-weight:800;
  font-size:1.05rem;
  cursor:pointer;
  transition:transform .1s ease, box-shadow .1s ease;
  box-shadow:0 6px 0 rgba(0,0,0,.18);
}
.btn:active{ transform:translateY(4px); box-shadow:0 2px 0 rgba(0,0,0,.18); }
.btn-primary{ background:var(--coral); color:#3a0f04; }
.btn-secondary{ background:var(--paper); color:var(--ink); border:2px solid var(--line); box-shadow:none; }
.btn-mint{ background:var(--teal); color:#04281f; }
.btn-grape{ background:var(--yellow); color:#3a2c00; }
.btn:disabled{ opacity:.45; cursor:not-allowed; }
.btn + .btn{ margin-top:12px; }

.row{ display:flex; gap:10px; }
.row .btn{ flex:1; }

.pill{
  display:inline-block;
  background:var(--yellow);
  border:2px solid rgba(0,0,0,.08);
  border-radius:999px;
  padding:8px 20px;
  font-weight:800;
  letter-spacing:3px;
  font-size:1.3rem;
  color:var(--ink);
}

.center{ text-align:center; }

.player-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.player-list li{
  background:var(--paper);
  border-radius:12px;
  padding:12px 14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:700;
  color:var(--ink);
}
.player-list li .score{ color:var(--teal-dark); font-family:'Cairo'; font-weight:800; }
.you-tag{ background:var(--coral); color:#fff; border-radius:8px; padding:2px 8px; font-size:.7rem; margin-right:6px; }

.timer-wrap{
  display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:14px;
}
.timer{
  font-family:'Lalezar';
  font-size:2.2rem;
  color:var(--coral-dark);
  min-width:60px;
  text-align:center;
}
.timer.low{ color:#D6304A; animation:pulse .6s infinite; }
@keyframes pulse{ 50%{ transform:scale(1.15);} }

.prompt-card{
  background:var(--paper);
  color:var(--ink);
  border-radius:18px;
  padding:22px;
  font-size:1.25rem;
  font-weight:700;
  line-height:1.7;
  margin-bottom:16px;
  transform:rotate(-1.2deg);
  box-shadow:0 8px 0 rgba(0,0,0,.10);
}
.prompt-card .blank{
  display:inline-block;
  border-bottom:3px dashed var(--coral-dark);
  min-width:60px;
  margin:0 2px;
}

.small{ font-size:.85rem; color:var(--ink-soft); }

.vote-pair{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:22px;
  background:var(--paper);
  border-radius:18px;
  padding:16px;
}
.vote-prompt{ font-weight:800; color:var(--coral-dark); margin-bottom:6px; }
.answer-btn{
  background:#F4FFF9;
  border:2px solid var(--line);
  border-radius:14px;
  padding:14px;
  color:var(--ink);
  text-align:right;
  cursor:pointer;
  font-family:'Cairo';
  font-size:1rem;
  transition:.12s;
}
.answer-btn:hover{ border-color:var(--teal-dark); }
.answer-btn.voted{ border-color:var(--teal-dark); background:#DFF9EF; }
.answer-btn:disabled{ cursor:default; opacity:.65; }
.own-note{ color:var(--ink); opacity:.7; font-size:.85rem; text-align:center; padding:8px; }

.result-row{
  display:flex; justify-content:space-between; align-items:center;
  background:var(--paper); border-radius:14px; padding:14px 16px; margin-bottom:10px;
  color:var(--ink);
}
.result-row .votes{ color:var(--teal-dark); font-weight:800; }
.result-row.winner{ border:2px solid var(--yellow); }
.crown{ font-size:1.1rem; }

.hidden{ display:none !important; }

.footer-note{
  text-align:center;
  color:var(--ink-soft);
  font-size:.8rem;
  margin-top:8px;
  font-weight:700;
}

.error-box{
  background:#FFE3E3; color:#B3261E; border-radius:12px; padding:10px 14px; font-size:.9rem; margin-bottom:12px; font-weight:700;
}

.copy-row{ display:flex; gap:8px; align-items:center; justify-content:center; }
