.coop-button{font:800 clamp(10px,1.05cqw,17px) var(--font-heading,Arial);letter-spacing:.07em;border:1px solid transparent;min-height:3.5cqw;padding:1cqw 1.5cqw;cursor:pointer;transition:background .15s,transform .15s;white-space:nowrap}
.coop-button:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.12)}
.coop-button:disabled{opacity:.4;cursor:wait;transform:none}
.coop-button span{font-size:.7em;opacity:.75;margin-left:.7em}
.coop-primary{background:#d7b66f;color:#111e22;border-color:#e9d4a2}.coop-secondary{background:rgba(13,28,31,.9);color:#c9e2de;border-color:#415d5d}.coop-solo{background:#b34732;color:#fff3e1}
.start-screen .coop-button{font-size:clamp(10px,1.05cqw,17px)!important;padding:1cqw 1.5cqw!important;letter-spacing:.07em!important;box-shadow:0 4px 18px #0004!important}
.start-screen .coop-primary{background:#d7b66f!important;color:#111e22!important;border-color:#e9d4a2!important}.start-screen .coop-secondary{background:#102126e6!important;color:#c9e2de!important;border-color:#415d5d!important}.start-screen .coop-solo{background:#ad4935!important;color:#fff3e1!important;border-color:#bb7357!important}
.coop-menu-fields{position:relative;margin-top:1.2cqw;max-width:55cqw;font-size:clamp(10px,.9cqw,14px)}
.coop-menu-fields label{display:flex;align-items:center;gap:1cqw;letter-spacing:.1em;color:#aebebb;font-size:.85em}
.coop-menu-fields input{font:600 clamp(12px,1cqw,16px) var(--font-body,Arial);background:#102126d9;border:1px solid #496065;border-radius:2px;padding:.65cqw 1cqw;color:#e4ede4;outline:none;width:13cqw;user-select:text;min-width:90px}
.coop-menu-fields input:focus{border-color:#ddc289;box-shadow:0 0 0 2px #ddc28930}.coop-join-row{display:flex;gap:1cqw;align-items:center;margin-top:1cqw}.coop-code-input{letter-spacing:.22em;text-transform:uppercase}
.coop-message{font:400 clamp(10px,.95cqw,15px)/1.4 var(--font-body,Arial);color:#eed8a8;min-height:1em;margin:.7cqw 0 0;max-width:55cqw}.coop-message:empty{display:none}
.coop-lobby{position:absolute;inset:0;z-index:30;display:flex;align-items:center;padding:3cqw 6cqw;background:linear-gradient(100deg,#081619f7,#0a1a1be8 50%,#0712175c);overflow:auto}
.coop-lobby-card{width:49cqw;max-width:740px;position:relative}.coop-eyebrow{font:700 clamp(8px,.77cqw,12px) var(--font-heading,Arial);letter-spacing:.18em;color:#b8cbc6;display:flex;align-items:center;gap:.65cqw}.coop-led{display:inline-block;width:.45cqw;height:.45cqw;min-width:5px;min-height:5px;border-radius:50%;background:#83dfc8;box-shadow:0 0 12px #63cbaf88;flex-shrink:0}
.coop-lobby h1{font:800 4.3cqw/1.07 var(--font-heading,Arial);letter-spacing:-.04em;color:#eae9d8;margin:1.7cqw 0 1cqw}.coop-lobby h1 em{font-style:normal;color:#cfb577}.coop-lobby-copy{font-size:1.12cqw;line-height:1.6;color:#a8bcb9;max-width:38cqw;margin:0 0 1.8cqw}
.coop-room-box{display:flex;align-items:center;justify-content:space-between;border:1px solid #657a6c77;background:linear-gradient(110deg,#bac89916,#5b949908);padding:1.25cqw 1.5cqw;gap:1cqw;margin-bottom:1.2cqw}.coop-room-box span{display:block;font:700 .73cqw var(--font-heading,Arial);letter-spacing:.18em;color:#abc0b6}.coop-room-box strong{font:700 3cqw/1.2 monospace;letter-spacing:.23em;display:block;color:#f0d894;margin-top:.5cqw;user-select:all}
.coop-seats{display:grid;grid-template-columns:1fr 1fr;gap:.8cqw}.coop-seat{border:1px solid #7c958e40;background:#0e242688;padding:1.1cqw;display:flex;align-items:center;gap:1cqw}.coop-seat>b{font:500 2.1cqw monospace;color:#ceb77d;opacity:.8}.coop-seat div{flex:1;overflow:hidden}.coop-seat strong{display:block;font:700 1.05cqw var(--font-heading,Arial);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e2e8dc}.coop-seat span{display:block;font-size:.65cqw;letter-spacing:.14em;margin-top:.5cqw;color:#88b6ad}.coop-seat-friend>b{color:#8bd7ce}
.coop-rules{display:flex;gap:1.3cqw;font:600 .67cqw var(--font-heading,Arial);letter-spacing:.12em;color:#9caeab;margin:1.35cqw 0}.coop-launch{width:100%;display:flex;justify-content:space-between;align-items:center}.coop-launch span{font-size:1.4em}.coop-waiting{padding:1.2cqw 0;color:#c9d8cc;font-size:1.2cqw}.coop-fine-print{font-size:.85cqw;line-height:1.65;color:#839b99;margin:1cqw 0}.coop-text-button{border:0;background:none;padding:.65cqw 0;color:#b9c5bd;font:700 .8cqw var(--font-heading,Arial);letter-spacing:.1em;cursor:pointer}
.coop-hud{position:absolute;z-index:11;left:2.2%;top:51%;width:18%;max-width:300px;box-sizing:border-box;border:1px solid #92bdb14a;border-left:2px solid #8ed2c0;background:linear-gradient(110deg,#0a1c20f2,#0a1c20ca);padding:.85cqw 1cqw;pointer-events:none;box-shadow:0 6px 20px #0004}
.coop-hud .coop-eyebrow{font-size:.62cqw;letter-spacing:.11em;gap:.5cqw}.coop-room-small{margin-left:auto;font-family:monospace;color:#e1cb97}.coop-teammate{display:flex;gap:.3cqw;justify-content:space-between;font:600 .9cqw var(--font-heading,Arial);color:#d8e8e0;margin-top:.8cqw}.coop-teammate>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coop-teammate strong{font:500 .76cqw monospace;color:#8ed2c0}.coop-health{height:3px;background:#48655b70;margin:.5cqw 0}.coop-health i{display:block;height:100%;background:#8ed2c0;transition:width .2s}.coop-hint{font-size:.68cqw;line-height:1.45;color:#a8bdb9}
.coop-mini-actions{display:flex;gap:1cqw;margin-top:.7cqw;pointer-events:auto}.coop-mini-actions button{padding:0;border:0;background:none;font:700 .62cqw var(--font-heading,Arial);letter-spacing:.1em;color:#d5c59a;cursor:pointer}.coop-pause-note{font-size:1cqw;color:#93b7af;max-width:40cqw;line-height:1.5}.coop-problem{position:absolute;z-index:70;inset:0;background:#051114eF;display:grid;place-items:center}.coop-problem>div{max-width:44cqw;padding:4cqw;border:1px solid #cdbd8755;background:#122629}.coop-problem h2{font-size:3cqw;color:#ecdcae}.coop-problem p{font-size:1.2cqw;line-height:1.6;color:#c4d5ce}
@media(max-width:650px){.coop-lobby-card{width:78cqw}.coop-lobby{padding:3cqw 6cqw}.coop-lobby h1{font-size:5cqw;margin:1cqw 0}.coop-lobby-copy{font-size:1.7cqw;max-width:65cqw;margin-bottom:1cqw}.coop-room-box{padding:1cqw}.coop-room-box strong{font-size:4cqw}.coop-seat strong{font-size:1.6cqw}.coop-seat span,.coop-rules,.coop-fine-print,.coop-text-button{font-size:1.2cqw}.coop-lobby .coop-button{min-height:5cqw;padding:.7cqw 1.4cqw}.coop-hud{width:23%;left:2%;top:55%}.coop-menu-fields{max-width:80cqw;margin-top:.8cqw}.coop-menu-fields input{padding:.4cqw .7cqw}.coop-menu-fields .coop-message{font-size:1.5cqw}.coop-room-box span{font-size:1.15cqw}}
