.cp-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}@media (min-width:900px){.cp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cp-two{display:grid;gap:20px;grid-template-columns:minmax(0,1fr);align-items:start}@media (min-width:960px){.cp-two{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px}}.cp-contest{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:20px}.cp-cup{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;color:var(--gold-fill-ink);background:var(--gold-fill);box-shadow:0 0 16px var(--glow-strong)}.cp-cup,.cp-lrow{border-radius:12px}.cp-lrow{display:flex;min-height:48px;align-items:center;gap:10px;padding:6px 10px;transition:background-color .15s ease}.cp-lrow:hover{background:var(--card2)}.cp-lrow-sm{min-height:44px}.cp-lrow.cp-me{box-shadow:inset 0 0 0 1.5px var(--gold)}.cp-rank{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:999px;font-size:12px;font-weight:800;color:var(--muted);background:var(--bg2)}.cp-rank.cp-r1{color:var(--gold-fill-ink);background:var(--gold-fill)}.cp-rank.cp-r2{color:var(--bg);background:var(--silver)}.cp-rank.cp-r3{color:var(--bg);background:var(--bronze)}.cp-lvl-sm{width:22px;height:22px}.cp-vs{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:20px}.cp-vs-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.cp-vs-mid{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:1px;color:var(--muted);background:var(--bg2);border:1px solid var(--line)}.cp-side{display:flex;min-width:0;align-items:center;gap:10px;min-height:56px;padding:4px;border-radius:14px}.cp-side:hover{background:var(--card2)}.cp-side.cp-right{flex-direction:row-reverse;text-align:right}.cp-av{display:inline-flex;flex-shrink:0;border-radius:999px}.cp-won .cp-av{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--gold)}.cp-tug{position:relative;display:block;height:6px;overflow:hidden;border-radius:999px;background:color-mix(in oklab,var(--muted) 35%,var(--line))}.cp-tug>span{position:absolute;inset:0;border-radius:inherit;background:var(--gold-fill);transform-origin:left center;transition:transform .6s ease}.cp-live{color:var(--live);border-color:color-mix(in oklab,var(--live) 50%,var(--line))}.cp-live:before{content:"";width:6px;height:6px;margin-right:5px;border-radius:999px;background:var(--live);animation:cp-pulse 1.6s ease-in-out infinite}@keyframes cp-pulse{50%{opacity:.35}}.pk-game{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:18px}.pk-sides{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.pk-at{font-size:12px;font-weight:800;color:var(--muted)}.pk-side{display:flex;min-width:0;min-height:52px;align-items:center;gap:8px;padding:8px 10px;border:1.5px solid var(--line);border-radius:14px;background:var(--bg2);font-size:14px;font-weight:700;color:var(--ink);transition:border-color .15s ease,background-color .15s ease,transform .12s ease}.pk-side:not(:disabled):hover{border-color:var(--muted)}.pk-side:not(:disabled):active{transform:scale(.98)}.pk-side[aria-pressed=true]{border-color:var(--gold);background:var(--glow);box-shadow:0 0 0 1px var(--gold) inset}.pk-side:disabled{cursor:default}.pk-side:disabled:not([aria-pressed=true]){opacity:.7}.pk-side.pk-right{border-color:var(--mint);background:color-mix(in oklab,var(--mint) 12%,var(--bg2));box-shadow:0 0 0 1px var(--mint) inset}.pk-side.pk-wrong{border-color:var(--loss);background:color-mix(in oklab,var(--loss) 10%,var(--bg2));box-shadow:0 0 0 1px var(--loss) inset}.pk-side.pk-win:not(.pk-right):not(.pk-wrong){opacity:1;border-style:dashed;border-color:var(--muted)}.cp-nav{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--muted)}a.cp-nav:hover{color:var(--ink);background:var(--card2)}.cp-hero{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:22px}.cp-rules{white-space:pre-line}html[data-fx=off] .cp-tug>span,html[data-fx=off] .pk-side,html[data-fx=reduced] .cp-tug>span{transition:none}html[data-fx=off] .cp-live:before{animation:none}@media (prefers-reduced-motion:reduce){.cp-tug>span,.pk-side{transition:none}.cp-live:before{animation:none}}.cp-groups{display:flex;flex-direction:column;gap:20px}.cp-groups:empty{display:none}@media (min-width:900px){.cp-groups{display:block;column-count:2;column-gap:20px}.cp-groups>section{break-inside:avoid;margin-bottom:20px}}