@import url("/web/message-box.css");
@import url("/web/cut-in-effects.css?v=20260927-image-palette");
.shared-room-controls{margin-top:18px}.shared-participants{background:#1b292a;border:1px solid #49635d;border-radius:12px}.shared-participants summary{cursor:pointer;padding:14px 18px;color:#e8c573;font-weight:700}.shared-participants-body{padding:0 16px 16px}.shared-room-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.shared-room-actions button{cursor:pointer}
.shared-message-list{min-height:0;overflow-y:auto;overscroll-behavior:contain}.shared-message-entry{display:flex;align-items:flex-start;gap:9px;padding:10px 0;border-bottom:1px solid #ffffff17;text-align:left}.shared-message-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:46px;object-fit:cover;border:1px solid #d9b87555;border-radius:5px;background:#26312f;color:#d9b875;font-size:23px}.shared-message-body{min-width:0;flex:1}.shared-message-phase{display:block;color:#d9b875;font-size:10px;letter-spacing:.04em}.shared-message-body p{margin:4px 0 0;color:#eee8da;font-size:11px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.shared-message-empty{font-size:11px;line-height:1.8;color:#b4bcaf80;border:1px dashed #ffffff17;border-radius:9px;padding:12px}
.shared-message-identity{flex:0 0 52px;width:52px;display:grid;justify-items:center;align-content:start;gap:4px;min-width:0}.shared-message-name{display:block;width:100%;color:#d9b875;font-size:10px;line-height:1.3;text-align:center;overflow-wrap:anywhere}.shared-message-body p{margin-top:1px}

/* Shared participant cards for every game lounge. */
.participant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:18px}
.participant-seat{display:flex;flex-direction:column;min-width:0;padding:20px;border:1px solid #50708166;border-radius:14px;background:#142735}
.participant-seat.seat-inactive{opacity:.58;border-style:dashed}
.participant-seat .seat-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px;font-size:12px}
.participant-seat .seat-enable{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted,#afc3c3)}
.participant-seat .seat-enable input{accent-color:var(--gold,#e8c573)}
.participant-seat .seat-char{display:flex;align-items:center;gap:13px;min-height:168px;margin-bottom:18px;min-width:0}
.participant-seat .seat-char>.avatar,.participant-seat .seat-char>.participant-avatar{width:68px;height:82px;flex:0 0 68px;border:1px solid #91a9ce88;border-radius:10px;overflow:hidden;background:linear-gradient(145deg,#355376,#142b42)}
.participant-seat .seat-char img{display:block;width:100%;height:100%;object-fit:cover}
.participant-seat-name{min-width:0;overflow-wrap:anywhere}.participant-seat-name small{display:block;color:var(--muted,#afc3c3)}
.participant-seat .field{display:grid;gap:7px;margin:18px 0 0;font-size:13px;font-weight:650}.participant-seat .field select{width:100%;min-height:44px;padding:9px;border:1px solid #516674;border-radius:9px;background:#0c1c28;color:#fff}
.participant-seat .setup-invite{display:grid;gap:9px;margin-top:auto;padding-top:15px;border-top:1px solid #6682953b;font-size:12px;min-width:0}
.participant-seat .setup-invite-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.participant-seat .setup-invite-actions button{width:100%;min-height:44px}
.participant-seat .invite-cancel,.participant-seat .invite-cancel-placeholder{display:block;width:100%;min-height:40px}
.participant-seat .invite-cancel{border:1px solid #5a7283;background:#172e3b;font-size:11px}
.participant-seat .setup-invite .badge{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #8d7538;border-radius:30px;background:#705d232b;color:#f0d48b;font-size:11px;line-height:1.4}
.participant-seat .setup-invite .badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.participant-seat .setup-invite .badge.ready{border-color:#367361;background:#154c414d;color:#aaebcf}
.participant-seat .seat-inline-qr{margin-left:auto;display:grid;justify-items:center;gap:3px;flex:0 0 148px;width:148px;min-height:168px}
.participant-seat .seat-inline-qr canvas{display:block;width:148px;max-width:100%;height:auto;aspect-ratio:1;border:4px solid #fff;border-radius:7px;background:#fff;image-rendering:pixelated}
.participant-seat .seat-inline-qr small{font-size:10px;line-height:1.2;color:var(--muted,#afc3c3);text-align:center}
.participant-seat .seat-inline-qr.is-placeholder{visibility:hidden}
@media(max-width:950px){.participant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.participant-grid{grid-template-columns:1fr}.participant-seat .seat-char{min-height:132px}.participant-seat .seat-inline-qr{flex-basis:112px;width:112px;min-height:132px}.participant-seat .seat-inline-qr canvas{width:112px}}

.shared-message-entry[role=button]{cursor:pointer;border-radius:6px}.shared-message-entry[role=button]:hover{background:#e8c5730d}.shared-message-entry[role=button]:focus-visible{outline:2px solid #e8c573;outline-offset:-2px}
.shared-character-overlay{position:fixed;inset:0;margin:auto;width:min(900px,calc(100vw - 32px));max-width:900px;max-height:calc(100dvh - 32px);padding:0;border:1px solid #b59b60;border-radius:18px;background:#0d2227;color:#fff;box-shadow:0 24px 90px #000c;z-index:2147483000;overflow:auto}
.shared-character-overlay::backdrop{background:#061016b8}.shared-character-overlay.is-automatic{height:fit-content;pointer-events:none}.shared-character-overlay.is-automatic .shared-character-close{pointer-events:auto}
.shared-character-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:5%;min-height:280px;padding:42px 32px 30px;background:radial-gradient(ellipse at 30% 40%,#28534b,#0c202a 75%)}
.shared-character-stage>.shared-character-art{flex:0 1 40%;width:40%;min-width:0;max-height:min(520px,65dvh);object-fit:contain;filter:drop-shadow(0 10px 16px #0007)}
.shared-character-stage>div.shared-character-art{display:grid;place-items:center;aspect-ratio:3/4;font-size:100px;color:#e8c573;border:1px solid #b59b60;border-radius:12px;background:#183e3c}
.shared-character-bubble{position:relative;flex:1;min-width:0;padding:22px;border:2px solid #e8c573;border-radius:18px;background:#f7efdc;color:#182d32;text-align:left;box-shadow:0 10px 24px #0005}
.shared-character-bubble::before{content:"";position:absolute;left:-13px;top:38%;width:22px;height:22px;background:#f7efdc;border-left:2px solid #e8c573;border-bottom:2px solid #e8c573;transform:rotate(45deg)}
.shared-character-bubble strong{font:700 17px/1.4 system-ui,sans-serif;color:#624619}.shared-character-bubble p{margin:9px 0 0;font:500 clamp(17px,2vw,24px)/1.65 system-ui,sans-serif;overflow-wrap:anywhere;white-space:pre-wrap}
.shared-character-overlay>.shared-character-close{position:absolute;top:8px;right:8px;z-index:3;display:grid;place-items:center;width:38px;height:38px;min-height:38px;margin:0;padding:0;border:1px solid #e8c573;border-radius:50%;background:#10252f;color:#fff;font:28px/1 system-ui;cursor:pointer}.shared-character-close:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:600px){.shared-character-stage{flex-direction:column;gap:18px;padding:44px 18px 22px;min-height:0}.shared-character-stage>.shared-character-art{flex:none;width:65%;max-height:32dvh}.shared-character-bubble{width:100%;padding:15px}.shared-character-bubble::before{left:50%;top:-13px;transform:rotate(135deg)}.shared-character-bubble p{font-size:17px}}
.participant-message-list{max-height:260px;overflow-y:auto;padding:0;list-style:none}

/* Saved character strength in setup, lobby and participant lists. */
.character-strength,.participant-seat-name .character-strength,#seat-status .lobby-seat-identity .character-strength{display:inline-flex;justify-self:start;align-items:center;width:fit-content;max-width:100%;margin-top:5px;padding:3px 8px;border:1px solid #e8c57366;border-radius:999px;background:#e8c57312;color:#f0d48b;font:600 11px/1.5 sans-serif;white-space:nowrap;letter-spacing:.02em}

/* Room footer: canonical Shogi dimensions, independent of each game's button reset. */
.shared-room-controls{min-width:0;margin-top:18px;text-align:left}
body section.shared-room-controls .shared-participants{background:#1b292a;border:1px solid #49635d;border-radius:12px;color:#f7e9c8}
body section.shared-room-controls .shared-participants summary{padding:14px 18px;color:#e8c573;font:700 14px/1.55 system-ui,"Yu Gothic UI",sans-serif;cursor:pointer}
body section.shared-room-controls .shared-participants summary:focus-visible{outline:3px solid #e8c573;outline-offset:2px;border-radius:10px}
body section.shared-room-controls .shared-participants-body{display:grid;gap:10px;padding:0 16px 16px;overflow-wrap:anywhere}
body section.shared-room-controls .shared-participants-body article{display:grid;gap:3px;min-width:0}
body section.shared-room-controls .shared-participants-body small{color:#afc3c3}
.shared-room-actions{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}
.shared-room-controls .shared-room-actions button,.shared-room-confirm .shared-room-actions button{
 display:inline-flex;justify-content:center;align-items:center;flex:0 1 auto;width:auto;max-width:100%;min-height:42px;height:auto;margin:0;padding:10px 15px;
 border:1px solid #b59b60;border-radius:8px;background:#243633;color:#f7e9c8;box-shadow:none;
 font:700 14px/1.55 system-ui,"Yu Gothic UI",sans-serif;letter-spacing:normal;white-space:normal;cursor:pointer}
.shared-room-controls .shared-room-actions button:disabled{opacity:.5;cursor:not-allowed}
.shared-room-controls .shared-room-actions button:focus-visible,.shared-room-confirm button:focus-visible{outline:3px solid #e8c573;outline-offset:2px}
.shared-room-status{margin:12px 2px;min-height:17px;color:#c9d9d2;font:11px/1.55 system-ui,"Yu Gothic UI",sans-serif;overflow-wrap:anywhere}
.room-management-mount{min-width:0;padding-bottom:max(20px,env(safe-area-inset-bottom));scroll-margin-bottom:24px}
.shared-room-confirm{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid #b59b60;border-radius:12px;background:#1b292a;color:#f7e9c8}
.shared-room-confirm::backdrop{background:#061016b8}.shared-room-confirm h2{font-size:18px;margin:0 0 12px}.shared-room-confirm p{font-size:14px;line-height:1.6}
@media(max-width:500px){.shared-room-controls .shared-room-actions{gap:8px}.shared-room-controls .shared-room-actions button{padding:10px 12px}}

body>.room-management-mount{width:min(1380px,calc(100% - 32px));margin:0 auto}

body.c2gl-lounge>.room-management-mount{width:auto;margin:0 32px 0 250px}
@media(max-width:650px){body.c2gl-lounge>.room-management-mount{margin:0 16px}}
