:root{color:#1f2937;--accent:#16a34a;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{background:#a8d8f0;width:100%;height:100%;margin:0;overflow:hidden}.muted{color:#6b7280}.join,.overlay{place-items:center;padding:16px;display:grid;position:fixed;inset:0}.join{background:linear-gradient(160deg,#a8d8f0,#6fa63f)}.overlay{z-index:100;background:#00000059}.join-card{text-align:center;background:#fff;border-radius:16px;flex-direction:column;gap:14px;width:min(360px,100%);padding:24px;display:flex;box-shadow:0 20px 50px #0003}.join-card h1,.join-card p{margin:0}.join-card label{text-align:left;flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.join-card input{font:inherit;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;font-weight:400}.gender{grid-template-columns:1fr 1fr;gap:8px;display:grid}button{font:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px}.gender button.active{border-color:var(--accent);background:#dcfce7}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.hud{pointer-events:none;background:#ffffffd9;border-radius:10px;padding:8px 12px;font-size:14px;position:fixed}.hud-left{flex-direction:column;align-items:flex-start;gap:8px;max-width:calc(100% - 24px);display:flex;position:fixed;top:12px;left:12px}.hud-left .hud{pointer-events:auto;position:static}.bottom-left-stack{flex-direction:column;align-items:flex-start;gap:6px;max-width:calc(100% - 24px);display:flex;position:fixed;bottom:12px;left:12px}.bottom-left-stack .hud{position:static}.nameplate{white-space:nowrap;color:#fff;-webkit-user-select:none;user-select:none;background:#111827b3;border-radius:8px;padding:2px 8px;font-size:13px;font-weight:600}.nameplate.self{background:#ca8a04e6}.nameplates{pointer-events:none;position:fixed;inset:0;overflow:hidden}.nameplates .label{will-change:transform;flex-direction:column;align-items:center;display:flex;position:absolute;top:0;left:0}.pop{color:#fff;-webkit-text-stroke:1.5px #b91c1c;text-shadow:0 3px #7f1d1d;white-space:nowrap;font-size:26px;font-weight:900;animation:.9s ease-out forwards pop;position:absolute;bottom:100%}.pop.dodge{-webkit-text-stroke:1.2px #1d4ed8;text-shadow:0 3px #1e3a8a;font-size:20px}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.4)rotate(-8deg)}15%{opacity:1;transform:translateY(-4px)scale(1.25)rotate(4deg)}70%{opacity:1}to{opacity:0;transform:translateY(-28px)scale(1)}}.actions{gap:10px;display:flex;position:fixed;bottom:16px;right:16px}.action-button{color:#fff;background:#dc2626;border:none;border-radius:14px;padding:12px 18px;font-size:16px;font-weight:700;box-shadow:0 4px #7f1d1d,0 8px 20px #00000040}.action-button:active{transform:translateY(3px);box-shadow:0 1px #7f1d1d,0 4px 10px #00000040}.action-button.shake{background:#16a34a;box-shadow:0 4px #14532d,0 8px 20px #00000040}.action-button.shake:active{box-shadow:0 1px #14532d,0 4px 10px #00000040}.handshake-prompt{color:#fff;text-align:center;pointer-events:none;background:#111827d9;border-radius:12px;max-width:calc(100% - 32px);padding:10px 16px 12px;font-weight:600;position:fixed;bottom:84px;left:50%;overflow:hidden;transform:translate(-50%)}.handshake-timer{transform-origin:0;background:#22c55e;width:100%;height:3px;animation:linear forwards handshake-timer;position:absolute;bottom:0;left:0}@keyframes handshake-timer{to{transform:scaleX(0)}}.pop.shake{-webkit-text-stroke:0;text-shadow:0 3px 6px #00000059;font-size:30px}.offer-badge{animation:.8s ease-in-out infinite alternate offer-wave;display:inline-block}@keyframes offer-wave{to{transform:rotate(-15deg)scale(1.15)}}.action-button kbd{font:inherit;background:#ffffff40;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:13px}.link-button{color:#2563eb;cursor:pointer;background:0 0;border:none;margin-left:10px;padding:0;font-size:13px}.panel{background:#ffffffe6;border-radius:10px;padding:8px 12px;font-size:14px;box-shadow:0 2px 8px #0000001f}.panel-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.team-panel{flex-direction:column;gap:6px;max-width:280px;display:flex}.create-team input{font:inherit;border:1px solid #d1d5db;border-radius:8px;flex:1;min-width:0;padding:6px 8px}.create-team button{padding:6px 10px}.team-chip{color:#fff;white-space:nowrap;border-radius:999px;align-items:center;gap:2px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-flex}.team-chip.as-button{cursor:pointer;border:none;padding:4px 10px}.chip-x{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0 0 0 4px;font-size:14px;line-height:1}.chip-x.dark{color:#9ca3af;font-size:18px}.team-chips{gap:3px;margin-bottom:2px;display:flex}.nameplate .score{opacity:.9;margin-left:6px;font-weight:500}.leaderboard{min-width:160px;position:fixed;top:12px;right:12px}.leaderboard ol{margin:6px 0 0;padding-left:20px}.leaderboard li{padding:1px 0}.leaderboard li.self{color:#a16207;font-weight:700}.leaderboard .lb-name{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:110px;display:inline-block;overflow:hidden}.leaderboard .lb-score{float:right;font-variant-numeric:tabular-nums;margin-left:12px}.team-prompts{flex-direction:column;align-items:center;gap:8px;max-width:calc(100% - 32px);display:flex;position:fixed;bottom:140px;left:50%;transform:translate(-50%)}.team-card{background:#fffffff5;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:600;display:flex;box-shadow:0 6px 20px #0003}.team-card.error{color:#991b1b;background:#fef2f2}.team-card button{padding:6px 12px}.pop.ally{-webkit-text-stroke:1.2px #15803d;text-shadow:0 3px #14532d;font-size:20px}@media (width<=640px){.hud-left{max-width:calc(100% - 200px)}.hud.hint{display:none}}.chat{flex-direction:column;gap:6px;width:380px;max-width:100%;font-size:15px;display:flex}.chat-lines{color:#f9fafb;overscroll-behavior:contain;background:#1118278c;border-radius:10px;max-height:220px;padding:6px 10px;overflow-y:auto}.chat-line{overflow-wrap:anywhere;padding:1px 0}.chat-time{color:#9ca3af;font-variant-numeric:tabular-nums;margin-right:6px}.chat-name{color:#93c5fd;font-weight:700}.chat-name.self{color:#fcd34d}.chat-system{color:#d1d5db;padding:1px 0;font-style:italic}.chat-system.error{color:#fca5a5}.chat input{width:100%;font:inherit;background:#ffffffeb;border:1px solid #fff6;border-radius:10px;padding:8px 10px}.chat input:focus{outline:2px solid #3b82f6}.bubble{color:#111827;text-align:center;overflow-wrap:anywhere;background:#fff;border-radius:12px;max-width:220px;margin-bottom:4px;padding:5px 10px;font-size:13px;font-weight:500;animation:.15s ease-out bubble-in;box-shadow:0 2px 6px #00000040}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)scale(.9)}}@media (width<=640px){.bottom-left-stack{bottom:76px}.chat{font-size:14px}.chat-lines{max-height:120px}}.status-line{color:#374151;white-space:nowrap;text-overflow:ellipsis;background:#ffffffd9;border-radius:8px;max-width:220px;margin-top:2px;padding:1px 8px;font-size:11px;font-weight:600;overflow:hidden}.status-picker{position:relative}.status-current{text-align:left;border-radius:8px;align-items:center;gap:6px;width:100%;padding:4px 8px;font-size:13px;display:flex}.status-current .caret{color:#9ca3af;margin-left:auto}.status-menu{z-index:20;background:#fff;border-radius:10px;flex-direction:column;min-width:240px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0003}.status-menu button{text-align:left;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px}.status-menu button:hover,.status-menu button.active{background:#f3f4f6}.status-menu button.clear{color:#b91c1c}.status-menu input{width:100%;font:inherit;border:1px solid #d1d5db;border-radius:6px;margin:4px 0;padding:6px 8px;font-size:13px}.chat-header{color:#f9fafb;background:#1118278c;border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:flex}.muted-light{color:#d1d5db;font-weight:400}.chat input:disabled{cursor:not-allowed;background:#fff9}.link-button.danger{color:#b91c1c}.color-dot{border:1px solid #00000040;border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.chat-leave{color:#f9fafb;background:#ffffff1f;border:1px solid #ffffff80;border-radius:6px;margin-left:6px;padding:2px 8px;font-size:13px;font-weight:500}.chat-leave:hover{background:#ffffff40}
