/* R15 · Online co-op screen. Sized in stage units (cqw) like the other menus so it always fits the 16:9 frame. */
#coop{z-index:24;background:radial-gradient(ellipse at 50% 40%,#21403a 0,#0d1c1ae6 70%);color:#30251c;font-family:CupMemphis,Georgia,serif}
#coop .coop-paper{position:relative;width:84cqw;max-height:52cqw;overflow:hidden;padding:1.6cqw 2.4cqw 1.2cqw;background:#f2e5c6;border:.3cqw solid #3b2e22;border-radius:.6cqw;box-shadow:0 .6cqw 0 #0d1719,0 0 5cqw #000a;box-sizing:border-box}
#coop .coop-paper::before{content:"";position:absolute;inset:.5cqw;border:.12cqw solid #6f5a3f;border-radius:.4cqw;pointer-events:none}
#coop .coop-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:.16cqw solid #705c3e;padding-bottom:.6cqw}
#coop h2{font:3.1cqw CupVogue,Georgia,serif;margin:0;line-height:1;letter-spacing:.06cqw}
#coop .coop-kicker{font-size:.95cqw;letter-spacing:.3cqw;color:#7a4a2c}
#coop .coop-net{display:flex;align-items:center;gap:1cqw}
#coop .coop-ping{font-size:1.05cqw;padding:.25cqw .7cqw;border-radius:2cqw;background:#e9dcbd;border:.1cqw solid #8a7353}
#coop .coop-ping:empty{display:none}
#coop .coop-ping::before{content:"";display:inline-block;width:.7cqw;height:.7cqw;border-radius:50%;margin-right:.45cqw;vertical-align:.02cqw;background:#999}
#coop .coop-ping[data-q=good]::before{background:#3b9a4a}#coop .coop-ping[data-q=ok]::before{background:#d8a224}#coop .coop-ping[data-q=bad]::before{background:#c2402e}
#coop button{cursor:pointer;border:.16cqw solid #473829;background:#f7efd9;color:#30251c;padding:.55cqw 1.15cqw;font:1.25cqw CupMemphis,Georgia,serif;border-radius:.35cqw;box-shadow:0 .2cqw 0 #473829;transition:transform .08s}
#coop button:hover:not(:disabled),#coop button:focus-visible{background:#f4c868;outline:.22cqw solid #b0362a;outline-offset:.15cqw}
#coop button:active:not(:disabled){transform:translateY(.15cqw);box-shadow:0 .05cqw 0 #473829}
#coop button:disabled{opacity:.4;cursor:default}
#coop-status{min-height:1.5cqw;margin:.7cqw 0 .3cqw;font-size:1.2cqw;text-align:center}
#coop-status[data-state=failed]{color:#a2311f}#coop-status[data-state=reconnecting]{color:#a76a12}
/* connect page: two choices side by side */
#coop .coop-connect{display:grid;grid-template-columns:1fr 1fr;gap:1.6cqw;margin:.6cqw 0}
#coop .coop-choice{display:flex;gap:1.2cqw;align-items:center;padding:1.2cqw 1.4cqw;border:.16cqw solid #795e42;border-top:.5cqw solid #b94735;border-radius:.5cqw;background:#fbf3df}
#coop .coop-guest{border-top-color:#3979ac}
#coop .coop-choice h3{font:1.9cqw CupVogue,Georgia,serif;margin:0 0 .5cqw}
#coop .coop-choice p{font-size:1.05cqw;line-height:1.45;margin:0 0 .9cqw}
#coop .coop-choice>div{flex:1;min-width:0}
#coop-create{width:100%}
#coop-code-label{display:block;font-size:1cqw;margin:0 0 .4cqw}
#coop .coop-join{display:flex;gap:.7cqw}
#coop-code{min-width:0;flex:1;padding:.5cqw .7cqw;font:1.8cqw Consolas,monospace;text-transform:uppercase;border:.16cqw solid #54442e;background:#fffaf0;color:#2a2119;border-radius:.35cqw;letter-spacing:.3cqw}
#coop-code:focus{outline:.22cqw solid #b0362a;outline-offset:.1cqw}
#coop-help{grid-column:1/-1;font-size:1cqw;line-height:1.5;text-align:center;margin:.2cqw 0 0;color:#5d4a36}
#coop .coop-portrait{width:6.2cqw;height:9cqw;object-fit:contain;object-position:bottom;image-rendering:auto;filter:drop-shadow(0 .25cqw 0 #0003)}
/* room page */
#coop .coop-code-row{display:flex;align-items:center;justify-content:center;gap:.9cqw;margin:.2cqw 0 .9cqw}
#coop-room-label{font-size:1cqw;letter-spacing:.2cqw;color:#7a4a2c}
#coop-room-code{font:2.4cqw Consolas,monospace;letter-spacing:.35cqw;padding:.2cqw 1cqw;background:#2b221a;color:#f7e7b8;border-radius:.35cqw;user-select:text}
#coop .coop-players{display:grid;grid-template-columns:1fr 1fr;gap:1.4cqw}
#coop .coop-card{position:relative;display:flex;gap:1.1cqw;align-items:flex-end;min-height:9.6cqw;padding:.8cqw 1.2cqw;border:.16cqw solid #795e42;border-top:.5cqw solid #b94735;border-radius:.5cqw;background:#fbf3df}
#coop .coop-card+.coop-card{border-top-color:#3979ac}
#coop .coop-card.is-you{box-shadow:0 0 0 .2cqw #f4c868}
#coop .coop-card.is-empty .coop-portrait{opacity:.25;filter:grayscale(1)}
#coop .coop-card>div{flex:1;min-width:0;align-self:center}
#coop .coop-card h3{font:2cqw CupVogue,Georgia,serif;margin:0;display:flex;align-items:center;gap:.6cqw}
#coop .coop-you{font:1cqw CupMemphis,Georgia,serif;background:#30251c;color:#f7e7b8;padding:.1cqw .5cqw;border-radius:.3cqw}
#coop .coop-card small{display:block;font-size:.95cqw;color:#7a644b;margin:.15cqw 0 .5cqw}
#coop .coop-gear{display:flex;gap:.45cqw;flex-wrap:wrap}
#coop .coop-gear img{width:3.1cqw;height:3.1cqw;object-fit:contain;background:#efe2c2;border:.1cqw solid #8a7353;border-radius:.3cqw;padding:.15cqw;image-rendering:pixelated}
#coop .coop-gear p{font-size:1.05cqw;margin:0;color:#7a644b}
#coop .coop-stamp{position:absolute;right:1cqw;top:.7cqw;font:1.25cqw CupVogue,Georgia,serif;padding:.15cqw .7cqw;border:.2cqw solid #8a7353;color:#8a7353;border-radius:.3cqw;transform:rotate(6deg);opacity:.75}
#coop .coop-card.is-ready .coop-stamp{color:#2f7d3a;border-color:#2f7d3a;opacity:1;transform:rotate(-7deg) scale(1.12);background:#e6f2d8}
#coop .coop-selection{display:grid;grid-template-columns:2fr 1fr 1.6fr 1fr;gap:1cqw;margin:1cqw 0 .9cqw}
#coop .coop-selection label span{display:block;font-size:.9cqw;letter-spacing:.12cqw;margin-bottom:.3cqw;color:#5d4a36}
#coop .coop-selection select{width:100%;padding:.45cqw .5cqw;font:1.15cqw CupMemphis,Georgia,serif;border:.12cqw solid #785e42;background:#fffaf0;color:#2a2119;border-radius:.3cqw}
#coop .coop-selection select:disabled{color:#4a3c2c;opacity:1;background:#efe4cb;cursor:not-allowed}
#coop .coop-selection select:focus-visible{outline:.22cqw solid #b0362a}
#coop .coop-actions{display:flex;gap:.8cqw;align-items:center}
#coop #coop-start{background:#edbc58;margin-left:auto}
#coop #coop-start:not(:disabled){animation:coopPulse 1.2s ease-in-out infinite}
@keyframes coopPulse{50%{box-shadow:0 .2cqw 0 #473829,0 0 1.2cqw #f4c868}}
#coop #coop-leave{border:0;background:none;box-shadow:none;text-decoration:underline;color:#7a3a28}
#coop-rule{font-size:.95cqw;color:#5d4a36;margin:.8cqw 0 0;text-align:center}
#coop-notice{color:#8d3026;min-height:1.3cqw;font-size:1.05cqw;text-align:center;margin:.5cqw 0 0}
#coop .coop-keys{font-size:.85cqw;color:#7a644b;text-align:center;margin:.2cqw 0 0}
#coop-open{font-size:inherit}
.coop-pause-note{color:#a34932;font-size:16px}
