.play-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:18px;gap:18px;align-items:start}.game-panel,.leaderboard-panel,.setup-panel{padding:20px}.leaderboard-panel{max-height:calc(100vh - 48px);overflow:auto}.action-row,.challenge-strip,.guess-row,.scoreboard,.section-heading,.top-actions,.top-bar{display:flex;align-items:center}.section-heading,.top-bar{justify-content:space-between;gap:16px}.action-row,.top-actions{gap:8px;justify-content:flex-end;flex-wrap:wrap}.share-button{width:40px;min-width:40px;min-height:38px;justify-content:center;padding-inline:0}.share-label{color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.brand-mark span,.x-mark{display:inline-grid;place-items:center;width:16px;height:16px;color:var(--ink);font-size:1rem;font-weight:950;line-height:1}.eyebrow{margin:0 0 6px;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:clamp(2rem,4.8vw,4.6rem);line-height:.92}h2{font-size:1rem}.icon-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink)}.button:focus-visible,.icon-button:focus-visible,.player-picker input:focus,.suggestions button:focus-visible{outline:none;box-shadow:var(--ring)}.challenge-strip{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.challenge-strip>div,.scoreboard>div{min-width:0;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--surface-strong)}.challenge-strip span,.leaderboard-panel span,.scoreboard span{display:block;color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.challenge-strip strong{display:block;margin-top:4px;font-size:clamp(1.3rem,2.8vw,2.1rem);line-height:1}.scoreboard{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.scoreboard strong{display:block;margin-top:2px;font-size:clamp(1.65rem,4vw,3.1rem);line-height:.95}.strikes-card{display:flex;flex-direction:column;justify-content:center}.strike-dots{display:flex;gap:8px;margin-top:14px;min-height:32px;align-items:center}.strike-dots span{width:clamp(18px,3.4vw,28px);height:clamp(18px,3.4vw,28px);display:block;border:2px solid color-mix(in srgb,var(--muted),transparent 24%);border-radius:999px;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.28),transparent 34%),color-mix(in srgb,var(--panel-strong),#000 12%);box-shadow:inset 0 -3px 0 rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.14)}.strike-dots span.filled{border-color:#ff7070;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.5),transparent 32%),#e83d3d;box-shadow:0 0 16px rgba(232,61,61,.42),inset 0 -3px 0 rgba(92,0,0,.28)}.completion-banner{margin-top:12px;border:1px solid rgba(47,158,85,.34);border-radius:8px;padding:12px 14px;background:rgba(47,158,85,.13)}.completion-banner span,.completion-banner strong{display:block}.completion-banner strong{color:var(--teal);font-weight:900}.completion-banner span{margin-top:2px;color:var(--muted);font-size:.92rem;font-weight:700}.completion-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:12px 0 0}.completion-stats div{min-width:0;border:1px solid rgba(47,158,85,.24);border-radius:6px;padding:8px 10px;background:color-mix(in srgb,var(--surface) 88%,var(--teal))}.completion-stats dt{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.completion-stats dd{margin:2px 0 0;overflow-wrap:anywhere;color:var(--ink);font-size:.98rem;font-weight:900}.postgame-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:12px}.postgame-lists section{min-width:0}.postgame-lists h3{margin:0;color:var(--ink);font-size:.82rem;font-weight:950;text-transform:uppercase}.postgame-lists ol{display:grid;grid-gap:6px;gap:6px;margin:8px 0 0;padding:0;list-style:none}.postgame-lists li{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;min-height:32px;border:1px solid rgba(47,158,85,.22);border-radius:6px;padding:6px 8px;background:color-mix(in srgb,var(--surface) 90%,var(--teal))}.postgame-lists strong{color:var(--teal);font-weight:950}.postgame-lists span{margin:0;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.postgame-lists em,.postgame-lists p{margin:0;color:var(--muted);font-style:normal;font-size:.78rem;font-weight:800}.guess-form{margin-top:20px}.guess-form label{display:block;margin-bottom:8px;color:var(--muted);font-weight:850}.guess-row{gap:10px}.player-picker{position:relative;flex:1 1;min-width:0}.player-picker input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:0 14px 0 42px;background:var(--panel-strong);color:var(--ink)}.player-picker input::placeholder{color:var(--muted)}.search-icon{position:absolute;left:14px;top:15px;color:var(--muted);pointer-events:none}.suggestions{position:absolute;z-index:20;top:calc(100% + 6px);right:0;left:0;max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);box-shadow:var(--shadow)}.empty-suggestion,.suggestions button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid var(--line);padding:8px 12px;background:transparent;color:var(--ink);text-align:left}.suggestions button:hover{background:var(--surface)}.suggestions button.active{background:color-mix(in srgb,var(--accent),transparent 84%)}.suggestions button:disabled{color:var(--muted);opacity:.56}.suggestions span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}.empty-suggestion,.feedback,.suggestions small{color:var(--muted);font-weight:800}.feedback{min-height:24px;margin:10px 0 0}.feedback.good{color:var(--teal)}.feedback.bad{color:var(--accent-dark)}.data-note{margin:8px 0 0;color:var(--muted);font-size:.82rem;font-weight:750}.found-panel{margin-top:22px}.found-list,.leaderboard{list-style:none;margin:12px 0 0;padding:0}.found-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:8px;gap:8px}.found-list li,.leaderboard li{min-height:42px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--surface-strong)}.found-list li{grid-template-columns:42px minmax(0,1fr)}.rank{color:var(--accent);font-weight:950}.found-list .rank{color:var(--teal)}.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name,.value{font-weight:850}.value{color:var(--muted);font-size:.9rem}.hidden .name,.hidden .value{color:transparent;text-shadow:0 0 9px color-mix(in srgb,var(--ink),transparent 35%);-webkit-user-select:none;-moz-user-select:none;user-select:none}.game-over form button,.game-over input{opacity:.64;pointer-events:none}.fanfare{position:fixed;z-index:50;pointer-events:none}.fireworks{inset:0;overflow:hidden}.burst{position:absolute;width:1px;height:1px;transform:translate(-50%,-50%)}.burst:first-child{left:26%;top:26%}.burst:nth-child(2){left:68%;top:22%;animation-delay:.26s}.burst:nth-child(3){left:42%;top:58%;animation-delay:.54s}.burst:nth-child(4){left:78%;top:62%;animation-delay:.82s}.burst i{--angle:0deg;--distance:112px;position:absolute;left:0;top:0;width:9px;height:9px;border-radius:999px;background:var(--gold);box-shadow:0 0 18px currentColor;color:var(--gold);opacity:0;transform:rotate(var(--angle)) translateX(0) scale(.4);animation:firework-spark 2.45s cubic-bezier(.16,1,.3,1) forwards;animation-delay:inherit}.burst i:nth-child(3n){background:var(--green);color:var(--green)}.burst i:nth-child(4n){background:var(--accent);color:var(--accent)}.burst i:first-child{--angle:0deg}.burst i:nth-child(2){--angle:30deg}.burst i:nth-child(3){--angle:60deg}.burst i:nth-child(4){--angle:90deg}.burst i:nth-child(5){--angle:120deg}.burst i:nth-child(6){--angle:150deg}.burst i:nth-child(7){--angle:180deg}.burst i:nth-child(8){--angle:210deg}.burst i:nth-child(9){--angle:240deg}.burst i:nth-child(10){--angle:270deg}.burst i:nth-child(11){--angle:300deg}.burst i:nth-child(12){--angle:330deg}.violin{right:32px;bottom:32px;font-size:clamp(4rem,12vw,7rem);animation:violin-pop 1.8s ease-out forwards}.strike-x{inset:0;display:grid;place-items:center;color:#ff2f2f;font-size:clamp(9rem,28vw,22rem);font-weight:950;line-height:1;text-shadow:0 0 .06em #fff,0 0 .16em rgba(255,47,47,.85),0 .08em .18em rgba(0,0,0,.42);animation:strike-pop 1.25s ease-out forwards}@keyframes firework-spark{0%{transform:rotate(var(--angle)) translateX(0) scale(.3);opacity:0}14%{opacity:1}58%{opacity:1}to{transform:rotate(var(--angle)) translateX(var(--distance)) scale(.05);opacity:0}}@keyframes violin-pop{0%{opacity:0;transform:translateY(24px) scale(.72) rotate(-10deg)}18%{opacity:1;transform:translateY(0) scale(1.04) rotate(6deg)}to{opacity:0;transform:translateY(-36px) scale(.9) rotate(-4deg)}}@keyframes strike-pop{0%{opacity:0;transform:scale(.38) rotate(-7deg)}18%{opacity:1;transform:scale(1.08) rotate(2deg)}56%{opacity:1;transform:scale(1) rotate(0deg)}to{opacity:0;transform:scale(.82) rotate(3deg)}}@media (prefers-reduced-motion:reduce){.burst i,.strike-x,.violin{animation:none;opacity:0}}@media (max-width:920px){.play-grid{grid-template-columns:1fr}.leaderboard-panel{max-height:none}}@media (max-width:620px){.game-panel,.leaderboard-panel{padding:16px}.guess-row,.section-heading,.top-bar{align-items:stretch;flex-direction:column}.action-row,.top-actions{justify-content:flex-start}.challenge-strip,.completion-stats,.postgame-lists,.scoreboard{grid-template-columns:1fr}.guess-row .button{width:100%;justify-content:center}.action-row .share-button{width:42px}}