:root{font-family:Inter,ui-rounded,SF Pro Rounded,Segoe UI,system-ui,sans-serif;color:#29231f;background:#f7efe3;font-synthesis:none;--ink: #29231f;--muted: #756b63;--paper: #fffaf3;--line: #dfd2c3;--coral: #d95e4f;--coral-dark: #b9463a;--mint: #b9d7c5;--sage: #557a67;--yellow: #f1c96d;--shadow: 0 18px 50px rgba(74, 54, 37, .11)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 8%,#fff8ec 0 9%,transparent 26%),radial-gradient(circle at 90% 24%,#efd8c9 0 8%,transparent 22%),#f7efe3}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible{outline:3px solid rgba(217,94,79,.3);outline-offset:2px}.loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.guest-shell{width:min(100%,720px);min-height:100vh;margin:0 auto;padding:24px 20px 96px}.host-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;min-height:100vh;padding:24px 0 100px}.brand{display:flex;align-items:center;justify-content:space-between;min-height:48px}.brand-name{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:850;letter-spacing:-.03em;font-size:20px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px 10px 10px 3px;background:var(--coral);color:#fff;font-family:Georgia,serif;font-style:italic}.language-switch{display:flex;padding:4px;border:1px solid var(--line);border-radius:99px;background:#ffffff73}.language-switch button{border:0;border-radius:99px;padding:7px 10px;background:transparent;color:var(--muted);font-size:12px;font-weight:800}.language-switch button.active{background:var(--ink);color:#fff}.hero-copy{padding:34px 0 24px}.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.14em;font-weight:850;font-size:12px;color:var(--coral)}h1,h2{font-family:Georgia,Times New Roman,serif;letter-spacing:-.045em;margin:0;line-height:1.02}h1{font-size:clamp(42px,8vw,72px);font-weight:500}h2{font-size:30px;font-weight:500}.hero-copy h1{max-width:620px}.lead{color:var(--muted);font-size:18px;line-height:1.55;margin:16px 0 28px}.card,.host-card{background:#fffaf3f0;border:1px solid rgba(213,199,184,.8);border-radius:24px;box-shadow:var(--shadow)}.card{padding:24px}.join-card{padding:30px}.join-card h2{margin-bottom:24px}label{display:grid;gap:8px;color:var(--muted);font-size:13px;font-weight:750}label+label{margin-top:17px}input{width:100%;border:1px solid var(--line);border-radius:12px;background:#fffefb;color:var(--ink);padding:14px 15px;min-height:50px;font-size:16px;transition:border .15s,box-shadow .15s}input:focus{border-color:var(--coral);box-shadow:0 0 0 4px #d95e4f14;outline:0}.primary,.secondary{border:0;border-radius:13px;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 18px;font-weight:850}.primary{width:100%;background:var(--coral);color:#fff;box-shadow:0 8px 20px #b9463a33}.primary:hover:not(:disabled){background:var(--coral-dark)}.secondary{background:var(--ink);color:#fff;min-height:44px}.join-card .primary,.card .primary{margin-top:24px}.primary.compact{width:auto;display:inline-flex}.error{color:#aa342d;font-weight:700;font-size:14px}.success{color:var(--sage);font-weight:800;font-size:14px}.progress{display:flex;gap:7px;margin:30px 0}.progress span{flex:1;height:4px;background:#dfd4c6;border-radius:99px}.progress span.done{background:var(--coral)}.status-strip{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px;margin-bottom:52px}.status-strip strong{color:var(--ink)}.phase-content>h1{max-width:620px}.phase-content .card{margin-top:28px}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.name-fields label+label{margin-top:0}.name-fields small{font-weight:500;opacity:.75}.centered{text-align:center}.waiting{min-height:52vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.submission-page{min-height:56vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.submission-page h1{max-width:560px}.submitted-guess{width:min(100%,460px);margin-top:12px!important}.submitted-guess small{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:850}.submitted-guess p{margin:12px 0 0;font-family:Georgia,serif;font-size:clamp(24px,5vw,34px)}.edit-link{display:inline-flex;align-items:center;gap:9px;margin-top:22px;padding:10px 4px;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--coral-dark);font-weight:850}.big-symbol{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:0 auto 26px;background:var(--mint);color:var(--sage);font-size:34px}.answer-zone,.bank{margin-top:24px;border-radius:22px}.answer-zone{min-height:160px;border:2px dashed #cabcae;padding:22px;background:#ffffff52}.answer-zone>p{color:#9a8e84;margin:34px 0;text-align:center}.zone-label{display:block;text-transform:uppercase;letter-spacing:.12em;font-weight:850;font-size:11px;color:var(--muted);margin-bottom:16px}.selected-tokens,.bank-tokens{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.bank{padding:22px 0}.token{border:1px solid #cfbeae;border-radius:11px;background:#fffdf8;color:var(--ink);box-shadow:0 3px #d8c9bb;padding:11px 16px;font-weight:800}.token:hover:not(:disabled){transform:translateY(-1px)}.token.selected{background:var(--mint);border-color:#88ad97;box-shadow:0 3px #91b09e}.selected-wrap{display:grid;gap:5px}.token-tools{display:flex;justify-content:center;gap:3px}.token-tools button{border:0;background:transparent;color:var(--muted);padding:2px 5px}.sticky-action{margin-top:12px}.answer-locked p{font-size:24px;font-family:Georgia,serif}.answer-locked span{color:var(--muted);font-size:13px}.reveal{padding-top:40px}.reveal-names{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:50px 0}.reveal-names span,.reveal-names i{min-width:100px;padding:16px 22px;border-radius:16px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);font-family:Georgia,serif;font-size:clamp(25px,5vw,40px);font-style:normal}.reveal-names i{color:var(--coral);background:#fbe5df;border-color:#eeb8ad}.your-pick{padding-top:25px;border-top:1px solid var(--line)}.your-pick small{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.result-correct-name{font-size:clamp(52px,12vw,88px);color:var(--coral-dark);overflow-wrap:anywhere}.result-your-guess{width:min(100%,500px);margin:24px auto 42px;padding:15px 20px;border-radius:15px;background:#ffffff7a;border:1px solid var(--line)}.result-your-guess small{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:850}.result-your-guess p{margin:7px 0 0;font-family:Georgia,serif;font-size:24px}.result-section-title{font-size:clamp(30px,6vw,44px)}.total-score{width:150px;min-height:122px;margin:24px auto 0;display:flex;flex-direction:column;justify-content:center;border-radius:50%;background:var(--coral);color:#fff;box-shadow:0 14px 34px #b9463a3d}.total-score strong{font-family:Georgia,serif;font-size:52px;line-height:.9}.total-score span{margin-top:8px;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:36px}.metric{min-height:150px;display:flex;flex-direction:column;justify-content:center;padding:18px;border-radius:20px;background:var(--paper);border:1px solid var(--line)}.metric strong{font-family:Georgia,serif;font-size:44px;color:var(--coral)}.metric span{color:var(--muted);font-size:13px}.guest-leaderboard{margin-top:48px;text-align:left}.guest-leaderboard>.eyebrow{text-align:center;margin-bottom:16px}.score-list{display:grid;gap:9px}.score-list>div{display:grid;grid-template-columns:34px minmax(100px,.8fr) minmax(260px,2fr);align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.score-list>div.is-you{border-color:#88ad97;background:#edf6ef;box-shadow:0 0 0 2px #557a6714}.score-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-family:Georgia,serif;font-weight:800}.score-list>div:nth-child(1) .score-rank{background:#c99828}.score-list>div:nth-child(2) .score-rank{background:#8b969d}.score-list>div:nth-child(3) .score-rank{background:#a86c43}.score-list dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;gap:8px}.score-list dl>div{display:grid;gap:2px}.score-list dt{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.score-list dd{margin:0;font-weight:850}.guest-decoys{margin-top:48px;text-align:left}.guest-decoys>.eyebrow{text-align:center;margin-bottom:16px}.guest-decoy-list{display:grid;gap:9px}.guest-decoy-list>div{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.decoy-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f4dfca;color:var(--coral-dark);font-family:Georgia,serif;font-weight:800}.guest-decoy-list strong{display:block;font-family:Georgia,serif;font-size:22px}.guest-decoy-list small{display:block;margin-top:3px;color:var(--muted)}.guest-decoy-list b{color:var(--coral-dark);font-size:13px;white-space:nowrap}.no-decoys{padding:22px;border:1px dashed var(--line);border-radius:15px;color:var(--muted);text-align:center}.login-host{width:min(480px,calc(100% - 40px));display:grid;grid-template-rows:auto 1fr}.login-host .card{align-self:center}.login-host h1{font-size:48px;margin-bottom:26px}.host-heading{display:flex;justify-content:space-between;align-items:end;margin:65px 0 28px}.host-heading h1{font-size:clamp(42px,6vw,64px)}.live-badge{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:99px;background:#e5f0e8;color:var(--sage);font-weight:900;font-size:12px;letter-spacing:.1em}.live-badge i{width:8px;height:8px;border-radius:50%;background:#3f9b68;box-shadow:0 0 0 4px #3f9b6821}.host-counts{display:flex;gap:10px;margin-bottom:18px}.host-counts span{padding:12px 15px;border-radius:12px;background:#ffffff80;color:var(--muted);font-size:13px}.host-counts strong{color:var(--ink);font-size:18px;margin-right:3px}.host-card{padding:28px;margin-top:18px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.section-heading .eyebrow{margin-bottom:6px}.section-note{max-width:560px;margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.section-heading>span{color:var(--muted)}.host-card .name-fields{max-width:760px}.guest-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.guest-list>div{padding:15px 17px;border-radius:13px;background:#f4eadf;display:flex;justify-content:space-between;gap:20px}.guest-list span{color:var(--muted)}.option-editor{display:grid;gap:8px}.option-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,1.5fr) 38px 38px;gap:8px;align-items:center}.option-row input{min-height:42px;padding:9px 12px}.option-row span{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-row button,.text-button{border:0;background:transparent;color:var(--muted);font-weight:800}.option-row button{font-size:20px}.inline-actions{display:flex;align-items:center;gap:8px}.host-card>.primary.compact{margin-top:24px}.guest-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px}.guest-chips span{padding:9px 13px;border-radius:99px;background:#eee4d8;color:var(--muted)}.guest-chips span.ready{background:#dcebe1;color:var(--sage)}.host-action{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:18px;color:var(--muted)}.host-action .primary{width:auto;min-width:260px}.danger-button{border:1px solid #dfaaa4;border-radius:11px;background:transparent;color:#a83e35;min-height:44px;padding:0 15px;font-weight:800}.danger-button:hover{background:#f7dfdb}.banner{padding:12px 15px;background:#fbe1dd;border-radius:11px}.result-hero{padding:55px 30px;text-align:center}.result-hero h2{font-size:clamp(40px,7vw,78px)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:16px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:14px 10px;white-space:nowrap}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.decoy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:18px}.decoy-grid>div{display:grid;padding:18px;background:#f4eadf;border-radius:14px}.decoy-grid strong{font-family:Georgia,serif;font-size:25px}.decoy-grid span{color:var(--coral);font-weight:800}.decoy-grid small{color:var(--muted);margin-top:8px}@media(max-width:640px){.guest-shell{padding:18px 15px 80px}.join-shell .hero-copy{padding:26px 0 20px}.card{padding:20px;border-radius:20px}.name-fields{grid-template-columns:1fr;gap:13px}.phase-content h1{font-size:44px}.status-strip{margin-bottom:38px}.result-grid{grid-template-columns:repeat(2,1fr)}.metric{min-height:110px}.guest-decoy-list>div{grid-template-columns:34px minmax(0,1fr)}.guest-decoy-list b{grid-column:2}.score-list>div{grid-template-columns:34px minmax(0,1fr)}.score-list dl{grid-column:2;grid-template-columns:repeat(3,1fr)}.sticky-action{position:sticky;bottom:10px}.host-shell{width:min(100% - 24px,1180px);padding-top:15px}.host-heading{margin-top:44px;align-items:center}.live-badge{display:none}.host-counts{overflow-x:auto}.host-counts span{white-space:nowrap}.host-card{padding:19px}.section-heading{align-items:flex-start;flex-direction:column}.guest-list{grid-template-columns:1fr}.option-row{grid-template-columns:1fr 38px 38px}.option-row span{grid-row:2;grid-column:1 / -1}.inline-actions{width:100%;justify-content:space-between}.host-action{align-items:stretch;flex-direction:column-reverse}.host-action .primary{width:100%}.danger-button{align-self:flex-start}}@media(prefers-reduced-motion:no-preference){.card,.phase-content{animation:rise .35s ease-out both}.reveal-names span{animation:pop .35s cubic-bezier(.2,.8,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes pop{0%{opacity:0;transform:scale(.86)}}}
