[hidden]{display:none!important}#connection{font-size:10px;color:#72816a;white-space:nowrap}#lobby{display:none;max-width:580px;width:calc(100% - 32px);margin:35px auto;padding:25px;border:1px solid var(--line);background:#fffdf6;border-radius:14px;box-shadow:0 12px 40px #3449360a}#lobby h1{font-size:26px;margin:14px 0}#lobby>p{font-size:13px;line-height:1.8;color:#7e8b73}#lobbySettings{padding:10px;border-radius:6px;background:#eef1e6}#lobbyMembers{margin:18px 0}.seat{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:12px 0}.seat strong{font-weight:500;font-size:13px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat small{margin-left:auto;font-size:10px;color:#859279}#joinForm{display:grid;grid-template-columns:1fr 130px;gap:9px}#joinForm label{grid-column:1/-1;margin:0;font-size:13px}#nickname{min-width:0;min-height:46px;border:1px solid #d8dece;background:#fafaf3;border-radius:6px;padding:10px;font-size:16px}#lobbyActions{display:flex;flex-wrap:wrap;gap:10px}#lobbyActions>.primary,#lobbyActions>.secondary{width:auto;flex:1;min-height:46px;margin:0}#lobbyActions>.quiet{width:100%;min-height:40px}.in-lobby main,.in-lobby .mobile-controls,.in-lobby #claimChoices{display:none!important}.in-lobby #lobby{display:block}.in-lobby #settingsMount .host-settings{display:block}.room-management{border-top:1px solid var(--line);padding-top:12px;margin-top:15px}.room-management .secondary{margin-top:16px}.room-management select{font-size:14px;min-height:44px}.host-settings input[type=number]{width:80px}.header-controls #settingsButton{display:block}
@media(max-width:820px),(max-width:1000px) and (max-height:500px){.in-lobby{overflow:auto}.in-lobby #lobby{margin:16px auto;padding:20px}.in-lobby #lobby h1{font-size:23px}#connection{font-size:8px}.header-controls{gap:0}.header-controls button{font-size:11px;min-width:44px;padding:3px}.brand{font-size:19px}.brand small{font-size:6px}.brand-mark{font-size:25px}.seat{gap:7px}.seat strong{max-width:120px}.seat small{font-size:9px}.seat .quiet{padding:8px 0;font-size:10px}#lobbyActions .secondary{font-size:12px}#lobby input{font-size:16px}.in-lobby .host-settings{display:block}.player{min-width:155px}.player-name{max-width:105px;overflow:hidden;text-overflow:ellipsis}.player-stock{font-size:9px}#settingsDialog .host-settings{max-width:100%}}
#adminResetForm label{display:block;font-size:13px;margin-bottom:8px}
#adminPassword{width:100%;min-height:44px;font-size:16px;border:1px solid #cad2c1;border-radius:6px;padding:10px;background:#fafaf3}
#spectatorBanner{position:fixed;top:85px;left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:5px 12px;border:1px solid #becbaa;border-radius:8px;background:rgba(250,249,243,.75);font-size:12px}
#spectatorBanner button{white-space:nowrap;min-height:44px;font-size:12px;padding:4px}
@media(max-width:820px),(max-width:1000px) and (max-height:500px){#spectatorBanner{top:calc(148px + env(safe-area-inset-top));left:12px;right:12px;transform:none;max-width:none;font-size:10px;gap:5px;padding:2px 8px}#spectatorText{flex:1}}
#pingButton{color:var(--ping-color);border:1px solid var(--ping-color);font-size:20px}
#pingButton[aria-pressed=true]{background:var(--ping-color);color:#fff;box-shadow:0 0 0 2px #ffffffb3}
#boardViewport.ping-mode,#boardViewport.ping-mode:active{cursor:crosshair}
#pingLayer{position:absolute;left:50%;top:50%;transform-origin:0 0;pointer-events:none;z-index:8}
.map-ping{position:absolute;width:32px;height:32px;transform:translate(-50%,-50%);color:var(--ping-color)}
.ping-dot{position:absolute;inset:4px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--ping-color);color:#fff;font-size:17px;line-height:1;box-shadow:0 1px 5px #14221366}
.ping-wave{position:absolute;inset:-2px;border:3px solid var(--ping-color);border-radius:50%;box-shadow:0 0 0 1px #fff9;animation:ping-wave 1.2s ease-out infinite}
.ping-name{position:absolute;left:50%;top:38px;transform:translateX(-50%);white-space:nowrap;border:1px solid var(--ping-color);border-radius:4px;background:#faf9f3e6;padding:3px 6px;font-size:12px;color:var(--ping-color);box-shadow:0 1px 3px #14221322}
@keyframes ping-wave{from{transform:scale(.65);opacity:1}to{transform:scale(1.8);opacity:0}}
@media(prefers-reduced-motion:reduce){.ping-wave{animation:none;opacity:.65}}
@media(max-width:820px),(max-width:1000px) and (max-height:500px){.board-actions{flex-shrink:0}.board-toolbar>div:first-child{min-width:0}.map-ping{width:30px;height:30px}}
