:root{--wine:#7b2948;--wine-dark:#541a31;--rose:#b95f7a;--blush:#f8e9ee;--cream:#fffaf4;--gold:#b98a3c;--ink:#30242a;--muted:#786a70;--line:#ead8de;--good:#e7f5ed;--bad:#fff0f2;--shadow:0 16px 44px rgba(84,26,49,.13)}
*{box-sizing:border-box}
html,body{margin:0;max-width:100%;overflow-x:hidden;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:radial-gradient(circle at 8% 4%,rgba(255,255,255,.95) 0 8%,transparent 28%),radial-gradient(circle at 92% 10%,rgba(185,138,60,.13) 0 7%,transparent 24%),linear-gradient(160deg,#fffaf6 0%,#f9e7ed 52%,#f3dce4 100%)}
body{min-height:100vh;min-height:100dvh}
body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:0;opacity:.13;width:180px;height:180px;border:2px solid var(--wine);border-radius:52% 48% 62% 38%}
body:before{left:-95px;top:28vh;transform:rotate(22deg)}body:after{right:-105px;bottom:9vh;transform:rotate(-18deg)}
.page-shell{position:relative;z-index:1;width:min(100%,680px);margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(30px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
.card{background:rgba(255,255,255,.94);border:1px solid rgba(123,41,72,.1);border-radius:24px;padding:clamp(18px,5vw,30px);box-shadow:var(--shadow);margin-bottom:16px;min-width:0;backdrop-filter:blur(9px)}
.compact{padding-top:18px;padding-bottom:18px}.center{text-align:center}
.hero{position:relative;overflow:hidden;padding:30px 22px 26px;margin-bottom:16px;border-radius:30px;color:#fff;text-align:center;background:linear-gradient(145deg,var(--wine-dark),var(--wine) 55%,#a54766);box-shadow:var(--shadow)}
.hero:before{content:"";position:absolute;inset:-60px -10px auto auto;width:170px;height:170px;border:1px solid rgba(255,255,255,.28);border-radius:50%;box-shadow:0 0 0 19px rgba(255,255,255,.05),0 0 0 37px rgba(255,255,255,.035)}
.rings{font-size:34px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,9vw,48px);margin:8px 0}.hero p{margin:0;opacity:.92}.date-chip{display:inline-flex;margin-top:16px;padding:9px 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.1);font-size:14px}
h1{font-size:clamp(28px,8vw,44px);line-height:1.08;margin:8px 0 16px;overflow-wrap:anywhere}h2{font-size:clamp(21px,5vw,28px);line-height:1.2;margin:0 0 14px}p,li,label,button,input,textarea,select{font-size:16px;line-height:1.45}p{overflow-wrap:anywhere}
.section-title{display:flex;gap:10px;align-items:center}.section-title>span{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:var(--blush);font-size:20px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:var(--wine)}.eyebrow.light{color:#fff;opacity:.82}.muted{color:var(--muted);font-size:14px}.muted.larger{font-size:15px}.back-link{display:inline-flex;margin-bottom:12px;padding:9px 12px;border-radius:13px;background:rgba(255,255,255,.78);color:var(--wine);text-decoration:none;font-weight:800}
.stack{display:grid;gap:14px;text-align:left}.stack label{font-weight:750;display:grid;gap:7px}input,textarea,select{width:100%;min-width:0;border:1px solid #d8c7d2;border-radius:15px;background:#fff;color:var(--ink);padding:14px 15px;font-family:inherit;font-size:16px}textarea{resize:vertical;min-height:112px}input:focus,textarea:focus,select:focus{outline:3px solid rgba(185,95,122,.14);border-color:var(--rose)}
.button,button.choice,.small-button{appearance:none;border:0;text-decoration:none;display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:16px;padding:13px 18px;font-weight:800;text-align:center;cursor:pointer;overflow-wrap:anywhere}.primary{background:linear-gradient(135deg,var(--wine),#9f4563);color:#fff;box-shadow:0 9px 18px rgba(123,41,72,.18)}.secondary{background:#f4e8ed;color:var(--wine)}.gold{background:linear-gradient(135deg,#d1aa63,var(--gold));color:#fff}.warn{background:#f3d79d;color:#4f3710}.danger{background:#972e43!important;color:#fff!important}.actions{display:grid;gap:10px;margin-top:18px}.actions.single{grid-template-columns:1fr}.pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.small-button{min-height:42px;padding:9px 12px;border-radius:13px;background:var(--blush);color:var(--wine);white-space:nowrap}
.steps{text-align:left;padding-left:24px}.steps li{margin:9px 0}.alert{background:#fff0f2;border:1px solid #e7b6bd;color:#7d2531;padding:12px 14px;border-radius:13px;margin:12px 0}.notice{background:#fff8e8;border:1px solid #ecd9ad;color:#6d5528;padding:13px 14px;border-radius:15px}.privacy{font-size:13px;color:var(--muted);margin-top:16px}.counter{text-align:right;font-size:13px;color:var(--muted);margin-top:-8px}.big-icon{font-size:56px;line-height:1}.confetti{font-size:40px;letter-spacing:8px}.success-card{padding-top:48px;padding-bottom:48px}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center}.stats-grid strong{display:block;font-size:28px;color:var(--wine)}.stats-grid span{font-size:13px;color:var(--muted)}
.team-bar{display:flex;justify-content:space-between;gap:12px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:18px;padding:13px 16px;margin-bottom:12px;box-shadow:var(--shadow)}.team-bar div{min-width:0}.team-bar strong,.team-bar small{display:block;overflow-wrap:anywhere}.team-bar small,.rank-row small{color:var(--muted);font-size:12px;margin-top:3px}.score{text-align:right}.score strong{font-size:28px;color:var(--wine)}.game-card{text-align:center;min-height:56vh;display:flex;flex-direction:column;justify-content:center}
.choice-list{display:grid;gap:10px;margin-top:18px}.choice{width:100%;background:#fff7fa;color:var(--ink);border:1px solid #e1cfdb!important;text-align:left;justify-content:flex-start!important;gap:12px}.choice span{flex:0 0 34px;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--blush);color:var(--wine);font-weight:900}.names{grid-template-columns:1fr 1fr}.names .choice{justify-content:center!important;text-align:center}.submitted,.reveal{display:grid;gap:7px;border-radius:16px;padding:18px;margin-top:20px}.submitted{background:#f3edf1}.reveal.good{background:var(--good)}.reveal.bad{background:var(--bad)}.fact-text{font-size:clamp(25px,7vw,38px)}
.progress{height:9px;background:#eadde1;border-radius:999px;overflow:hidden;margin:4px 0 20px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--wine));border-radius:inherit}.split-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.split-head>div{min-width:0}.split-head h2{margin-bottom:3px}.split-head span{display:block}.status{padding:10px 12px;border-radius:12px;background:#fff4e0;color:#725624;font-size:13px;font-weight:700}.status.ready{background:#e9f5ee;color:#286047}
.ranking{display:grid;gap:8px}.rank-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px;background:#f7f1f5;border-radius:13px;min-width:0}.rank-row strong{overflow-wrap:anywhere}.rank-row b{font-size:20px;color:var(--wine)}
.admin-head{display:grid;grid-template-columns:1fr 118px;gap:14px;align-items:center}.qr{width:118px;height:118px;border-radius:12px}.phase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.phase-grid form,.phase-grid button{width:100%}.current-box{margin-top:14px;background:#f5edf2;border-radius:14px;padding:14px;overflow-wrap:anywhere}.admin-list{display:grid;gap:10px}.admin-item{border:1px solid var(--line);border-radius:15px;padding:14px;display:grid;gap:10px;min-width:0;background:#fff}.admin-item span{display:block;color:var(--muted);font-size:13px}.admin-item p{margin:7px 0 0}.mini-actions{display:flex;flex-wrap:wrap;gap:8px}.mini-actions button{min-height:42px;padding:8px 12px;border:0;border-radius:11px;background:#eee4ea;color:var(--wine);font-weight:700}.copy-line code{display:block;white-space:normal;overflow-wrap:anywhere;background:#f6f0f4;padding:10px;border-radius:10px;margin-top:5px}
@media(max-width:520px){.page-shell{padding-left:10px;padding-right:10px}.card{border-radius:19px;padding:18px 15px}.hero{border-radius:24px;padding-left:16px;padding-right:16px}.names{grid-template-columns:1fr}.admin-head{grid-template-columns:1fr;text-align:center}.qr{margin:0 auto}.phase-grid{grid-template-columns:1fr}.team-bar{border-radius:14px}.game-card{min-height:60vh}.split-head{align-items:flex-start}.pager{grid-template-columns:1fr}.pager .button{width:100%}}
@media(max-width:350px){.page-shell{padding-left:8px;padding-right:8px}.card{padding:16px 12px}.hero h1{font-size:29px}.button,button.choice{padding-left:12px;padding-right:12px}.stats-grid{gap:6px}}
@media(min-width:521px){.actions{grid-template-columns:1fr 1fr}.actions.single{grid-template-columns:1fr}.hero+.card .actions{max-width:520px;margin-left:auto;margin-right:auto}}
