.card-container{perspective:800px;min-width:0;position:relative}.card-container .card-front,.card-container .card-back{backface-visibility:hidden}.card-container .card-front{z-index:1;transition:transform .6s;position:relative}.card-container .card-back{z-index:0;justify-content:center;align-items:center;transition:transform .6s;display:flex;position:absolute;inset:0;transform:rotateY(180deg)}.card-container.flipped .card-front{pointer-events:none;transform:rotateY(-180deg)}.card-container.flipped .card-back{z-index:1;transform:rotateY(0)}.card{box-sizing:border-box;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;text-transform:uppercase;height:100%;font-family:var(--font-montserrat), sans-serif;color:#ffffffe6;letter-spacing:clamp(0px,.3vw,1.5px);cursor:default;text-shadow:0 1px 3px #0006;overflow-wrap:anywhere;word-break:normal;background:#ffffff12;border:1px solid #a8cde461;border-radius:10px;justify-content:center;align-items:center;min-width:0;padding:32px 8px;font-size:clamp(9px,2.5vw,17px);font-weight:700;line-height:1.15;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,0 2px 6px #00000052}.card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff08,#0000);width:50%;height:100%;transition:left .6s;position:absolute;top:0;left:-75%;transform:skew(-20deg)}.card.unrevealed{cursor:pointer;transition:all .2s}.card.unrevealed:focus-visible{outline-offset:2px;z-index:2;outline:3px solid #f1c40f}#game:not(.not-my-turn) .card.unrevealed:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 8px 25px #0000004d,0 0 15px #2596be14,0 0 15px #fc525314}#game:not(.not-my-turn) .card.unrevealed:not(.selected):not(.red):not(.blue):not(.neutral):not(.black):hover{background:#ffffff1f;border-color:#ffffff40}#game:not(.not-my-turn) .card.unrevealed:hover:before{left:125%}#game:not(.not-my-turn) .card.unrevealed:active{transform:translateY(-1px)scale(.99)}#game.not-my-turn .card.unrevealed{cursor:not-allowed}#game.not-my-turn .card-container:not(.flipped){opacity:.92}.card.selected{animation:1.5s ease-in-out infinite cardPulse;transform:translateY(-3px)}.card.selected:hover{transform:translateY(-3px)}.card.unrevealed.selected.team-red{background:#fc52534d;border-color:#fc525380;box-shadow:0 0 20px #fc525340}.card.unrevealed.selected.team-blue{background:#2596be4d;border-color:#2596be80;box-shadow:0 0 20px #2596be40}@keyframes cardPulse{0%,to{box-shadow:0 0 15px #ffffff1a}50%{box-shadow:0 0 25px #fff3}}.card.red{background:linear-gradient(135deg,#fc5253 0%,#c0303f 100%);border-color:#fc525399;box-shadow:0 4px 15px #fc52534d,inset 0 1px #ffffff1a}.card.blue{background:linear-gradient(135deg,#2596be 0%,#1a7090 100%);border-color:#2596be99;box-shadow:0 4px 15px #2596be4d,inset 0 1px #ffffff1a}.card.black{color:#ff4757;text-shadow:0 0 10px #ff475766;background:linear-gradient(135deg,#1a1a2e 0%,#0a0a14 100%);border-color:#ffffff59;box-shadow:0 4px 15px #00000080,inset 0 0 30px #0000004d}.card.neutral{background:linear-gradient(135deg,#4a4e58 0%,#35383f 100%);border-color:#ffffff4d;box-shadow:0 4px 10px #0003}.card.neutral,.card.blue,.card.red{color:#fff}.card.unrevealed.red,.card.unrevealed.blue,.card.unrevealed.black{background-image:none}.card.unrevealed.red{color:#ff8787;text-shadow:0 0 14px #e74c3cb3;background:#e74c3c59;border:2px solid #e74c3cd9}.card.unrevealed.blue{color:#87ceff;text-shadow:0 0 14px #3498dbb3;background:#3498db59;border:2px solid #5dade2d9}.card.unrevealed.neutral{color:#dce1e6;background:#ffffff0f;border-color:#a8cde466}.card.unrevealed.black{color:#ff4757;text-shadow:0 0 10px #ff475799;background:#ff1e1e1f;border:2px solid #ff475780;animation:2s ease-in-out infinite dangerPulse;box-shadow:inset 0 0 20px #ff1e1e1a,0 0 15px #ff475726}.card.unrevealed.black:after{content:"☠";font-size:25px;position:absolute;top:3px;left:5px}@keyframes dangerPulse{0%,to{border-color:#ff475766;box-shadow:inset 0 0 20px #ff1e1e1a,0 0 10px #ff47571a}50%{border-color:#ff4757b3;box-shadow:inset 0 0 25px #ff1e1e26,0 0 20px #ff475740}}#game{box-sizing:border-box;isolation:isolate;-webkit-backdrop-filter:blur(10px)saturate(.82);background:#0308128f;border:1px solid #96cdf01a;border-radius:14px;grid-auto-rows:1fr;gap:clamp(4px,1vw,10px);width:100%;max-width:100%;margin:15px 0 20px;padding:clamp(6px,.8vw,10px);display:grid;position:relative;overflow:hidden;box-shadow:0 14px 36px #00000029,inset 0 1px #ffffff09}.duo-status-bar{grid-template-columns:minmax(0,1fr);grid-template-areas:"turn""metrics""players";gap:8px;width:min(100%,1180px);margin:3rem auto 1rem;padding-inline:2px;display:grid}.duo-turn-panel{border:1px solid var(--duo-turn-border);background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;grid-area:turn;align-items:center;gap:12px;min-width:0;min-height:70px;padding:11px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000002e,inset 0 1px #ffffff0a}.duo-turn-panel:before{content:"";background:var(--duo-turn-accent);width:4px;position:absolute;inset-block:0;inset-inline-start:0}.duo-turn-panel--clue{--duo-turn-accent:#fc5253;--duo-turn-border:#fc525394;--duo-turn-soft:#fc525324}.duo-turn-panel--guessing{--duo-turn-accent:#2596be;--duo-turn-border:#2596be9e;--duo-turn-soft:#2596be29}.duo-turn-panel--active{background:linear-gradient(110deg, var(--duo-turn-soft), transparent 62%), var(--card-bg);box-shadow:0 8px 26px var(--duo-turn-soft), inset 0 1px 0 #ffffff0f}.duo-turn-panel--partner{--duo-turn-border:var(--card-border)}.duo-turn-icon{border:1px solid var(--duo-turn-border);background:var(--duo-turn-soft);width:40px;height:40px;color:var(--duo-turn-accent);border-radius:8px;flex:0 0 40px;place-items:center;font-size:19px;display:grid}.duo-turn-copy{text-align:start;min-width:0}.duo-turn-phase{color:var(--duo-turn-accent);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:3px;font-size:10px;font-weight:800;line-height:1.2;display:flex}.duo-turn-dot{background:var(--duo-turn-accent);border-radius:50%;flex:0 0 7px;width:7px;height:7px}.duo-turn-panel--active .duo-turn-dot{animation:1.5s ease-in-out infinite duoTurnPulse}.duo-turn-detail{color:var(--text-primary);overflow-wrap:anywhere;font-size:15px;font-weight:750;line-height:1.25}.duo-metrics{grid-area:metrics;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;display:grid}.duo-metrics--with-timer{grid-template-columns:repeat(2,minmax(0,1fr))}.duo-metric{border:1px solid var(--card-border);background:var(--card-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:62px;padding:7px 6px 8px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff09}.duo-metric-label{max-width:100%;color:var(--text-dim);letter-spacing:.6px;text-align:center;text-transform:uppercase;justify-content:center;align-items:center;gap:5px;font-size:9px;font-weight:700;line-height:1.15;display:flex}.duo-metric-label svg{flex:0 0 11px;width:11px;height:11px}.duo-metric-value{color:var(--text-primary);font-variant-numeric:tabular-nums;margin-top:3px;font-size:19px;font-weight:800;line-height:1}.duo-metric--agents .duo-metric-label,.duo-metric--agents .duo-metric-value{color:#4ade80}.duo-metric--danger .duo-metric-label,.duo-metric--danger .duo-metric-value{color:var(--ws-red,#fc5253)}.duo-metric--urgent{animation:1.2s ease-in-out infinite duoMetricUrgent}.duo-agent-progress{inset-inline:8px;background:#4ade8026;border-radius:2px;height:3px;position:absolute;bottom:5px;overflow:hidden}.duo-agent-progress span{border-radius:inherit;background:#4ade80;height:100%;transition:width .35s;display:block}.duo-players{border:1px solid var(--card-border);background:var(--card-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;grid-area:players;place-self:center stretch;align-items:center;width:100%;min-width:0;max-width:100%;min-height:50px;padding:5px;display:flex;box-shadow:inset 0 1px #ffffff09}.duo-player{border-radius:6px;flex:1 1 0;align-items:center;gap:7px;min-width:0;min-height:38px;padding:5px 10px;display:flex}.duo-player--you{background:#2596be1f}.duo-player+.duo-player{border-inline-start:1px solid var(--card-border);border-start-start-radius:0;border-end-start-radius:0}.duo-player-role{border-radius:6px;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:11px;font-weight:900;display:grid}.duo-player-role--a{color:#4ab3d8;background:#2596be33}.duo-player-role--b{color:#ff7071;background:#fc52532e}.duo-player-name{min-width:0;color:var(--text-primary);flex-wrap:wrap;flex:auto;align-items:baseline;font-size:13px;font-weight:700;line-height:1.2;display:flex}.duo-player-name-text{overflow-wrap:anywhere;min-width:0}.duo-player-you{color:var(--text-dim);flex:none;margin-inline-start:4px;font-size:9px;font-weight:600}.duo-player-waiting{min-width:0;color:var(--text-dim);overflow-wrap:anywhere;flex:auto;font-size:11px;font-weight:650;line-height:1.2}.duo-player--waiting{background:linear-gradient(100deg,#ffffff06,#2596be14)}.duo-player-role--waiting{opacity:.68;background:0 0;border:1px dashed}.duo-waiting-dots{flex:none;align-items:center;gap:2px;display:flex}.duo-waiting-dots i{background:#4ab3d8;border-radius:50%;width:3px;height:3px;animation:1.2s ease-in-out infinite duoWaitingDot}.duo-waiting-dots i:nth-child(2){animation-delay:.16s}.duo-waiting-dots i:nth-child(3){animation-delay:.32s}@keyframes duoTurnPulse{0%,to{box-shadow:0 0 0 0 var(--duo-turn-soft)}50%{box-shadow:0 0 0 5px #0000}}@keyframes duoMetricUrgent{0%,to{border-color:var(--card-border)}50%{border-color:#fc5253b8}}@keyframes duoWaitingDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media (min-width:700px){.duo-status-bar{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);grid-template-areas:"turn turn""metrics players";gap:10px}.duo-metrics--with-timer{grid-template-columns:repeat(4,minmax(0,1fr))}.duo-turn-detail{font-size:16px}}@media (min-width:1024px){.duo-status-bar{grid-template-columns:minmax(240px,1fr) minmax(340px,1.4fr) minmax(280px,1.15fr);grid-template-areas:"turn metrics players";margin-top:3.5rem}.duo-turn-panel,.duo-metric{min-height:72px}}@media (max-width:699px){.duo-players{flex-direction:column;align-items:stretch}.duo-player{width:100%}.duo-player+.duo-player{border-inline-start:0;border-block-start:1px solid var(--card-border);border-radius:0}}@media (max-width:480px){.duo-status-bar{gap:6px;margin-bottom:12px}.duo-turn-panel{min-height:66px;padding:9px 11px}.duo-turn-icon{flex-basis:36px;width:36px;height:36px;font-size:17px}.duo-metric{min-height:58px}.duo-players{min-height:46px;padding:4px}.duo-player,.duo-player--waiting{min-height:36px;padding:4px 8px}}[data-theme=light] .duo-turn-panel,[data-theme=light] .duo-metric,[data-theme=light] .duo-players{box-shadow:0 2px 8px #0f172a14,inset 0 1px #ffffffb3}@media (prefers-reduced-motion:reduce){.duo-turn-panel--active .duo-turn-dot,.duo-metric--urgent,.duo-waiting-dots i{animation:none}.duo-agent-progress span{transition:none}}.status-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1;background:#00000073;border:2px solid #0000;border-radius:50px;align-items:center;padding:10px 8px;display:inline-flex;position:relative}.status-pill:before{content:"";z-index:-1;border-radius:52px;animation:3s linear infinite borderSpin;position:absolute;inset:-3px}.status-pill.blue:before{background:conic-gradient(from var(--spin-angle,0deg), #2596be, transparent 40%, transparent 60%, #2596be)}.status-pill.red:before{background:conic-gradient(from var(--spin-angle,0deg), #fc5253, transparent 40%, transparent 60%, #fc5253)}.status-pill:after{content:"";z-index:-1;background:#0a0c1eeb;border-radius:50px;position:absolute;inset:1px}.status-pill.blue{box-shadow:0 0 20px #2596be40,0 0 60px #2596be1a}.status-pill.red{box-shadow:0 0 20px #fc525340,0 0 60px #fc52531a}[data-theme=light] #game{-webkit-backdrop-filter:blur(10px)saturate(.88);background:#e2e8f09e;border-color:#0f172a1f;box-shadow:0 12px 30px #1e37501a,inset 0 1px #ffffffb3}[data-theme=light] .card.unrevealed{color:var(--card-text);text-shadow:none;background:#fff;border-color:#0f172a73;box-shadow:0 1px 2px #0f172a14,0 3px 10px #0f172a1a}[data-theme=light] #game:not(.not-my-turn) .card.unrevealed:not(.selected):not(.red):not(.blue):not(.neutral):not(.black):hover{background:#fff;border-color:#0f172ab3;box-shadow:0 2px 4px #0f172a1a,0 10px 26px #0f172a29}[data-theme=light] .card.unrevealed.red{color:#78281f;background:#f5c6c2;border:2px solid #fc5253;font-weight:700}[data-theme=light] .card.unrevealed.blue{color:#0e2f44;background:#bdd7ee;border:2px solid #2596be;font-weight:700}[data-theme=light] .card.unrevealed.neutral{color:#5a6068;background:#f5f5f5;border-color:#9aa0a8;font-weight:700}[data-theme=light] .card.unrevealed.black{color:#641e16;background:#f1948a;border:2px solid #922b21;font-weight:700}[data-theme=light] .card.red,[data-theme=light] .card.blue,[data-theme=light] .card.black,[data-theme=light] .card.neutral{text-shadow:none}[data-theme=light] .status-pill{background:#ffffffd9;border-color:#0000001a}[data-theme=light] .status-pill:after{background:#fffffff2}[data-theme=light] .status-plays-text{color:#00000080}[data-theme=light] .status-timer-text{color:#1a1a2e}[data-theme=light] .game-toolbar{background:#0000000d;border-color:#0000001a}[data-theme=light] .spymaster-label{color:#000000b3}[data-theme=light] .clue-input-bar{background:#0000000d;border-color:#00000026}[data-theme=light] .clue-text-input{color:#1a1a2e}[data-theme=light] .clue-text-input::placeholder{color:#0000004d}[data-theme=light] .clue-btn{color:#0009;background:#00000014}[data-theme=light] .clue-btn:hover{background:#00000026}[data-theme=light] .clue-count{color:#1a1a2e}[data-theme=light] .clue-label{color:#00000073}[data-theme=light] .clue-count-badge{color:#1a1a2e;background:#00000014}[data-theme=light] .clue-undo{color:#0006;background:#00000014}[data-theme=light] .clue-history-count{color:#00000080}[data-theme=light] .clue-give-disabled{color:#00000040;background:#0000000f}@media (max-width:768px){.card{letter-spacing:0;border-radius:8px;padding:18px 4px;font-size:clamp(9px,3vw,15px);font-weight:800}.card.unrevealed.black:after{font-size:14px;top:2px;left:3px}#game{gap:6px}.status-pill{padding:6px 4px}}@media (max-width:480px){#game{gap:4px}.card{letter-spacing:-.2px;border-radius:6px;padding:20px 2px;font-size:clamp(8px,2.8vw,13px);font-weight:800}.card.unrevealed.black:after{font-size:10px;top:1px;left:2px}.status-pill{padding:5px 2px}}@media (max-width:440px){.card{padding:21px 3px;font-size:clamp(9px,2.9vw,14px)}#game{gap:5px}}@media (max-width:393px){.card{padding:20px 2px;font-size:clamp(8px,2.8vw,13px)}#game{gap:4px}}@media (max-width:375px){.card{letter-spacing:-.3px;padding:18px 2px;font-size:clamp(7px,2.7vw,12px)}#game{gap:3px}}@media (max-width:360px){.card{letter-spacing:-.4px;border-radius:5px;padding:16px 1px;font-size:clamp(7px,2.6vw,11px)}#game{gap:3px}.card.unrevealed.black:after{font-size:8px}}@media (max-width:768px){#game.board-6x6{gap:4px}#game.board-6x6 .card{border-radius:6px;padding:16px 2px}}@media (max-width:480px){#game.board-6x6{gap:3px}#game.board-6x6 .card{padding:16px 1px;font-size:clamp(6px,2.2vw,11px)}}@media (max-width:440px){#game.board-6x6 .card{padding:18px 1px;font-size:clamp(7px,2.3vw,11px)}#game.board-6x6{gap:3px}}@media (max-width:393px){#game.board-6x6 .card{padding:16px 1px;font-size:clamp(6px,2.1vw,10px)}#game.board-6x6{gap:3px}}@media (max-width:375px){#game.board-6x6 .card{letter-spacing:-.3px;padding:14px 1px;font-size:clamp(6px,2vw,9px)}#game.board-6x6{gap:2px}}@media (max-width:360px){#game.board-6x6 .card{letter-spacing:-.4px;border-radius:4px;padding:12px 1px;font-size:clamp(5px,1.9vw,9px)}#game.board-6x6{gap:2px}}
