/* Party-Tool – sitzt auf dem MU-Design (Anton / Inter / Amber) */

.party-app{padding-top:66px;min-height:100svh;display:flex;flex-direction:column}
.party-main{flex:1;padding:28px 0 64px}
.party-wrap{max-width:760px}
.party-narrow{max-width:520px}
.party-hdr-meta{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);font-weight:700}
.party-hero{margin-bottom:26px}
.party-hero h1{font-size:clamp(2rem,6vw,3.2rem);margin:0 0 12px}
.party-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--txt-dim);margin:0 0 12px;font-size:.95rem}
.party-lead{color:var(--txt-dim);margin:0}
.party-banner{
  padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:22px;font-size:.9rem;line-height:1.5;
  border:1px solid var(--line-strong);
}
.party-banner.demo{background:rgba(244,168,51,.1);border-color:rgba(244,168,51,.45);color:var(--amber-soft)}
.party-banner.host{background:rgba(239,125,107,.1);border-color:rgba(239,125,107,.4);color:#f4a294}
.party-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 20px 22px;margin-bottom:18px;
}
.party-tabs{display:flex;gap:8px;margin:8px 0 18px}
.party-form{margin-bottom:16px}
.party-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.party-list,.party-tl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.party-list li,.party-tl li{
  display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;
  padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface-2);
  border:1px solid var(--line);
}
.party-item{flex:1;min-width:140px}
.party-list li.is-played,.party-list li.is-done{opacity:.5}
.party-list li.is-hidden{border-style:dashed;opacity:.7}
.party-rank{
  font-family:'Anton',sans-serif;color:var(--amber);font-size:1.15rem;min-width:1.4em;text-align:center;
}
.party-item h3{
  font-family:'Inter',sans-serif;font-weight:600;text-transform:none;letter-spacing:-.01em;
  font-size:1rem;margin:0;
}
.party-item small{display:block;color:var(--txt-faint);font-size:.8rem;margin-top:2px}
.party-vote,.party-mic{
  display:inline-flex;flex-direction:column;align-items:center;gap:2px;
  min-width:52px;padding:6px 8px;border-radius:10px;border:1px solid var(--line-strong);
  font-weight:700;font-variant-numeric:tabular-nums;
}
.party-vote[aria-pressed="true"]{background:var(--amber);color:#100c04;border-color:var(--amber)}
.party-vote:disabled{opacity:.45;cursor:default}
.party-vote small,.party-mic small{font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.party-hint,.party-note,.muted{color:var(--txt-faint);font-size:.86rem}
.party-url{word-break:break-all;color:var(--amber);margin:0 0 8px}
.party-qr{width:min(240px,70vw);margin:16px 0 0;background:#fff;padding:10px;border-radius:8px}
.party-qr img,.party-qr canvas{width:100%!important;height:auto!important;display:block}
.party-mail{
  white-space:pre-wrap;font-size:.82rem;line-height:1.5;color:var(--txt-dim);
  background:#0a0c10;border:1px solid var(--line);border-radius:10px;padding:14px;overflow:auto;max-height:280px;
}
.party-tl li{grid-template-columns:72px 1fr auto;align-items:start}
.party-tl time{font-weight:700;color:var(--amber);font-variant-numeric:tabular-nums}
.party-staff{display:flex;flex-wrap:wrap;gap:6px}
.party-staff button{
  padding:5px 10px;border-radius:99px;border:1px solid var(--line-strong);font-size:.75rem;font-weight:600;
  color:var(--txt-dim);
}
.party-staff button:hover{border-color:var(--amber);color:var(--amber)}
.party-danger{color:#f4a294!important;border-color:rgba(239,125,107,.5)!important}
.party-gate{
  position:fixed;inset:0;z-index:220;background:rgba(5,6,8,.88);
  display:none;place-items:center;padding:20px;pointer-events:none;
}
.party-gate.is-open{display:grid;pointer-events:auto}
body.party-gated .party-wrap{pointer-events:none;user-select:none}
.party-gate .btn{min-width:160px}
.party-gate-box{
  width:min(440px,100%);background:var(--surface);border:1px solid var(--line-strong);
  border-radius:var(--radius);padding:26px 22px;
}
.party-gate-box h2{font-size:1.8rem;margin-bottom:8px}
.party-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}
.party-table{width:100%;border-collapse:collapse;font-size:.9rem}
.party-table th,.party-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.party-table th{color:var(--txt-faint);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.party-inline{display:inline-block;margin-right:10px;margin-top:10px}
.party-foot{border-top:1px solid var(--line);padding:22px 0;color:var(--txt-faint);font-size:.8rem}
.party-foot a{color:var(--amber)}
.party-namechip{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:14px 0 0;max-width:280px;
}
.party-namechip label{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--txt-dim)}
.party-namechip input{
  width:100%;padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface);
  border:1px solid var(--line-strong);color:var(--txt);font:inherit;
}
.party-namechip input:focus{outline:none;border-color:var(--amber)}
.party-tl-form{grid-template-columns:90px 1fr 1fr}
@media (max-width:640px){
  .party-tl-form,.party-list li{grid-template-columns:1fr}
  .party-tl li{grid-template-columns:64px 1fr}
  .party-vote,.party-mic{flex-direction:row;justify-content:space-between}
}

/* Homepage USP */
.party-usp{
  background:linear-gradient(135deg,#1a1206 0%,#0d0f13 55%,#08181a 100%);
  border-block:1px solid var(--line);
}
.party-usp-grid{display:grid;gap:clamp(28px,4vw,48px);grid-template-columns:1.2fr .8fr;align-items:center}
.party-usp-qr{
  justify-self:center;background:#fff;padding:14px;border-radius:16px;max-width:240px;width:100%;
  box-shadow:0 18px 50px -20px rgba(0,0,0,.8);
}
.party-usp-qr img{width:100%;height:auto;display:block}
.party-usp-qr figcaption{color:#3a3a3a;font-size:.72rem;text-align:center;margin-top:8px;font-weight:600}
@media (max-width:800px){.party-usp-grid{grid-template-columns:1fr}}
