:root{--pp-navy:#082647;--pp-blue:#075985;--pp-orange:#c2410c;--pp-green:#047857;--pp-line:#cbd5e1;--pp-shadow:0 22px 60px #0826472e}
body{background:radial-gradient(circle at 15% 10%,#dff6ff 0,transparent 30%),radial-gradient(circle at 90% 90%,#f3e8ff 0,transparent 34%),#edf4f8;color:var(--pp-navy)}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:10000;background:#fff;color:#000;padding:.8rem 1rem;border:3px solid #000;border-radius:.5rem}.skip-link:focus{top:1rem}
.party-shell{max-width:1220px;margin:auto;padding:1.25rem 1rem 5rem}.setup-screen{max-width:1000px;margin:auto;text-align:center}.eyebrow,.round-kicker{text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:var(--pp-blue);font-size:.83rem}.setup-screen h1{font:900 clamp(2.7rem,7vw,5.2rem)/.95 'Playfair Display',serif;margin:.3rem 0 .8rem}.setup-lead{max-width:680px;margin:0 auto 1.6rem;font-size:1.18rem;color:#334155}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:left}.setup-card{background:#fff;border:1px solid var(--pp-line);border-radius:22px;padding:1rem 1.15rem 1.2rem;box-shadow:0 8px 28px #08264714}.setup-card legend{padding:0 .45rem;font-weight:900;font-size:1.1rem}.teams-card{grid-column:1/-1}.choice-grid{display:grid;gap:.65rem}.choice-grid.compact{grid-template-columns:1fr 1fr}.choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:.85rem 1rem;border:2px solid #d7e1e8;border-radius:14px;background:#f8fafc;color:var(--pp-navy)}.choice strong{font-size:1.02rem}.choice span{font-size:.82rem;color:#475569}.choice.selected,.team-count button.selected{background:#e0f2fe;border-color:var(--pp-blue);box-shadow:0 0 0 2px #bae6fd}.team-count{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.team-count button{padding:.65rem .9rem;border:2px solid #d7e1e8;border-radius:999px;background:#f8fafc;color:var(--pp-navy);font-weight:800}.team-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.team-field{display:flex;align-items:center;gap:.6rem}.team-swatch{width:18px;height:18px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #64748b}.team-field label{font-weight:800;min-width:64px}.team-field input{flex:1;min-width:0;border:2px solid #94a3b8;border-radius:10px;padding:.65rem;font:inherit}.setup-options{background:#fff;border:1px solid var(--pp-line);border-radius:16px;padding:.8rem 1rem;margin:1rem 0;text-align:left}.setup-options summary{cursor:pointer;font-weight:900}.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1rem}.option-grid label{display:flex;align-items:center;min-height:44px;gap:.55rem;font-weight:700}.option-grid input{width:22px;height:22px}.hero-button{padding:1.1rem 2.2rem;border-radius:16px;background:var(--pp-green);color:#fff;font-size:1.35rem;font-weight:900;box-shadow:0 8px 0 #065f46}.hero-button:active{transform:translateY(5px);box-shadow:0 3px 0 #065f46}.photo-note{margin-top:1rem;color:#475569;font-size:.86rem}
.show-header{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.8rem}.show-header h1{font:900 clamp(2rem,5vw,3.6rem)/1 'Playfair Display',serif}.show-progress{min-width:220px;text-align:right;font-weight:900}.progress-track{height:10px;background:#dbeafe;border-radius:99px;overflow:hidden;margin-top:.35rem}.progress-track span{display:block;height:100%;width:0;background:var(--pp-green);transition:width .4s}.scoreboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:.8rem}.score-card{background:#fff;border:3px solid var(--team);border-radius:15px;padding:.45rem .8rem;text-align:center;box-shadow:0 5px 18px #08264717}.score-card strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-card output{font-size:1.65rem;font-weight:900}.stage{background:#ffffffe8;border:1px solid #cbd5e1;border-radius:28px;padding:1rem 1.2rem 1.4rem;box-shadow:var(--pp-shadow);text-align:center}.stage-message{font-size:clamp(1rem,2.2vw,1.35rem);font-weight:800;min-height:1.5em;margin-bottom:.65rem}.photo-frame{position:relative;overflow:hidden;width:min(900px,100%);aspect-ratio:16/9;margin:auto;border:10px solid #fff;border-radius:20px;background:#0f172a;box-shadow:0 12px 32px #0f172a3d}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease,filter .7s ease}.photo-badge{position:absolute;left:12px;bottom:12px;background:#fffffff2;color:var(--pp-navy);border-radius:999px;padding:.45rem .8rem;font-weight:900}.photo-effect{position:absolute;inset:0;pointer-events:none}.cover-grid{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr)}.cover-tile{display:grid;place-items:center;border:2px solid #dbeafe;background:linear-gradient(135deg,#075985,#0e7490);color:#fff;font-weight:900;font-size:clamp(1rem,3vw,2rem);transition:opacity .45s,transform .45s}.cover-tile.open{opacity:0;transform:scale(.72);pointer-events:none}.clue-panel{min-height:3.2rem;padding:.75rem 0 .2rem}.clue{font-size:clamp(1.05rem,2.6vw,1.45rem);font-weight:800;color:#334155}.point-value{display:inline-block;background:#fef3c7;color:#713f12;border:2px solid #f59e0b;border-radius:999px;padding:.35rem .8rem;font-weight:900;margin-left:.5rem}.primary-controls,.answer-actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap}.game-button{min-height:54px;padding:.75rem 1.25rem;border-radius:13px;color:#fff;background:var(--pp-blue);font-size:1.05rem;font-weight:900}.game-button.secondary{background:#475569}.game-button.reveal{background:var(--pp-green)}.game-button.warn{background:var(--pp-orange)}.game-button:disabled{opacity:.48;cursor:not-allowed}.answer-panel{min-height:1rem}.answer-card{margin:.8rem auto 0;padding:.8rem 1rem;max-width:850px;background:#ecfdf5;border:3px solid #34d399;border-radius:16px}.answer-card h2{font:900 clamp(2rem,6vw,3.8rem)/1 'Playfair Display',serif;color:#065f46}.answer-card p{margin-top:.45rem;font-weight:700;color:#334155}.award-title{font-weight:900;margin:.8rem 0 .5rem}.team-award{border:3px solid var(--team);background:#fff;color:var(--pp-navy)}.choice-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;max-width:800px;margin:.4rem auto}.choice-answer{padding:.9rem;border:3px solid #94a3b8;border-radius:14px;background:#fff;color:var(--pp-navy);font-weight:900;font-size:1.05rem}.host-tray{position:fixed;right:14px;bottom:14px;z-index:50}.host-tray>button{background:#0f172a;color:#fff;border:2px solid #fff;border-radius:999px;padding:.7rem 1rem;font-weight:900;box-shadow:0 5px 18px #0004}.host-tray>div{position:absolute;right:0;bottom:54px;width:190px;padding:.55rem;background:#fff;border:1px solid #cbd5e1;border-radius:14px;box-shadow:0 12px 35px #0004}.host-tray>div button{display:block;width:100%;text-align:left;padding:.65rem;border-radius:9px;background:#f8fafc;color:#0f172a;font-weight:800;margin:.2rem 0}.pp-dialog{position:fixed;inset:0;z-index:500;background:#020617c7;display:grid;place-items:center;padding:1rem}.pp-dialog-box{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:1.4rem;text-align:center}.pp-dialog-box h2{font:900 2rem 'Playfair Display',serif;margin-bottom:.5rem}.pp-dialog-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.score-adjust-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;margin:.6rem 0;text-align:left}.break-screen{padding:2rem 1rem}.break-screen h2{font:900 clamp(2.5rem,7vw,5rem)/1 'Playfair Display',serif}.break-screen p{font-size:1.2rem;margin:.8rem}.award-list{display:grid;gap:.6rem;max-width:620px;margin:1rem auto}.award-item{display:flex;justify-content:space-between;background:#fff;border:2px solid #cbd5e1;border-radius:13px;padding:.7rem 1rem;font-weight:900}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.large-text{font-size:120%}body.reduced-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:760px){.setup-grid{grid-template-columns:1fr}.teams-card{grid-column:auto}.choice-grid.compact,.option-grid,.team-fields{grid-template-columns:1fr}.show-header{align-items:start;flex-direction:column}.show-progress{width:100%;text-align:left}.scoreboard{grid-template-columns:repeat(2,1fr)}.photo-frame{border-width:5px}.party-shell{padding:.8rem .55rem 5rem}.stage{padding:.7rem}}

/* Preserve each real photograph's complete composition. The preparing state
   prevents the unzoomed answer from flashing before a round begins. */
.photo-frame{background:#07111f}
.photo-frame img{object-fit:contain;opacity:1;transition:transform .7s ease,filter .7s ease,opacity .16s linear}
.photo-frame img.preparing{opacity:0!important;transition:none!important}
.caption-prompt{font:900 clamp(1.5rem,4vw,2.65rem)/1.08 'Playfair Display',serif;color:#7c2d12;background:#ffedd5;border:3px solid #fb923c;border-radius:18px;padding:.8rem 1rem;max-width:850px;margin:.35rem auto .65rem}
.stage-status{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:2.4rem}.round-timer{min-width:74px;border-radius:999px;padding:.35rem .7rem;background:#7c2d12;color:#fff;font-weight:900;font-size:1.15rem}.round-timer.urgent{background:#b91c1c;box-shadow:0 0 0 4px #fecaca}.stage-status .stage-message{margin:0}#buzzBar:not(:empty){margin:0 0 .8rem}
.secret-answers{display:grid;gap:.65rem;width:min(760px,100%)}.secret-answer{display:grid;grid-template-columns:minmax(100px,1fr) minmax(150px,2fr) auto;align-items:center;gap:.6rem;border:3px solid var(--team);border-radius:14px;background:#fff;padding:.6rem;text-align:left}.secret-answer span{font-weight:900}.secret-answer input{min-width:0;border:2px solid #64748b;border-radius:9px;padding:.65rem;font:inherit}.secret-answer b{color:#475569;font-size:.8rem}.sealed-grid,.revealed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.7rem;width:min(850px,100%)}.sealed-card,.revealed-card{display:grid;gap:.25rem;border:3px solid var(--team);border-radius:15px;background:#fff;padding:1rem}.sealed-card span{color:#475569}.revealed-card span{font:900 1.25rem 'Playfair Display',serif}.revealed-card.is-correct{background:#d1fae5}.revealed-card.is-wrong{background:#f1f5f9}.revealed-card b{font-size:.8rem}.is-correct b{color:#065f46}.is-wrong b{color:#475569}@media(max-width:600px){.secret-answer{grid-template-columns:1fr}.secret-answer b{display:none}}
.photo-note a,.credits-page a:not(.game-button){color:#075985;font-weight:800}.credits-page{max-width:900px}.credits-page h1{font:900 clamp(2.4rem,6vw,4.4rem)/1 'Playfair Display',serif;margin:.3rem 0 1rem}.credits-page .setup-lead{margin:0 0 1.5rem}.credits-list{list-style:none;padding:0;display:grid;gap:.8rem;margin:0 0 2rem}.credits-list li{display:grid;gap:.3rem;background:#fff;border:1px solid var(--pp-line);border-radius:16px;padding:1rem 1.1rem;box-shadow:0 6px 18px #08264710}.credits-list strong{font-size:1.05rem}.credits-list span{color:#475569}
