1937 lines
50 KiB
CSS
1937 lines
50 KiB
CSS
* { box-sizing: border-box; }
|
|
body { font-family: sans-serif; margin: 0; background: #1a1b26; color: #c0caf5; }
|
|
.container { max-width: 720px; margin: 1rem auto; padding: 1rem; }
|
|
|
|
/* โครง Editor — แยกแถบเครื่องมือ / พื้นที่วาด */
|
|
.editor-page {
|
|
display: block;
|
|
}
|
|
|
|
/* Editor ฝังใน Admin (?embed=1) — เต็มความสูง iframe, พื้นที่แคนวาสใหญ่ + เลื่อนแยก */
|
|
html.editor-embed-admin {
|
|
height: 100%;
|
|
}
|
|
html.editor-embed-admin body {
|
|
height: 100%;
|
|
margin: 0;
|
|
overflow: hidden;
|
|
}
|
|
body.editor-embed-admin .version-tag {
|
|
display: none !important;
|
|
}
|
|
body.editor-embed-admin .container.editor-page {
|
|
max-width: none !important;
|
|
width: 100%;
|
|
height: 100%;
|
|
margin: 0 !important;
|
|
padding: 0.35rem 0.5rem 0.45rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
body.editor-embed-admin .container.editor-page > h1 {
|
|
display: none;
|
|
}
|
|
body.editor-embed-admin .editor-toolbar-wrap {
|
|
/* อย่าให้แถบเครื่องมือถูก flex บีบแล้วล้นไปทับแคนวาส (body overflow:hidden) */
|
|
flex: 0 0 auto;
|
|
min-height: 0;
|
|
max-height: min(56vh, 520px);
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
overscroll-behavior: contain;
|
|
-webkit-overflow-scrolling: touch;
|
|
padding: 0.15rem 0.35rem 0.5rem 0;
|
|
margin: 0 0 0.35rem;
|
|
border-bottom: 1px solid rgba(65, 72, 104, 0.9);
|
|
position: relative;
|
|
z-index: 1;
|
|
background: linear-gradient(180deg, #1a1b26 0%, #16171f 100%);
|
|
}
|
|
body.editor-embed-admin .editor-workspace {
|
|
flex: 1 1 auto;
|
|
min-height: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
position: relative;
|
|
z-index: 0;
|
|
}
|
|
body.editor-embed-admin .canvas-wrap {
|
|
flex: 1 1 auto;
|
|
min-height: 140px;
|
|
overflow: auto;
|
|
margin: 0 !important;
|
|
border-radius: 10px;
|
|
border: 1px solid #414868;
|
|
background: #0f1018;
|
|
-webkit-overflow-scrolling: touch;
|
|
touch-action: pan-x pan-y;
|
|
}
|
|
body.editor-embed-admin #editor-status {
|
|
flex: 0 0 auto;
|
|
margin: 0.3rem 0 0;
|
|
font-size: 0.8rem;
|
|
line-height: 1.35;
|
|
}
|
|
body.editor-embed-admin .editor-legend-short {
|
|
margin: 0;
|
|
font-size: 0.76rem;
|
|
line-height: 1.45;
|
|
color: #a8b0d0;
|
|
}
|
|
body.editor-embed-admin .editor-toolbar-grid {
|
|
gap: 0.45rem;
|
|
}
|
|
/* การ์ด «ประเภทเกม» ข้อความยาว — ให้กว้างเต็มแถวบนจอแคบ ลดการอัดคอลัมน์ */
|
|
@media (max-width: 720px) {
|
|
body.editor-embed-admin .editor-toolbar-grid .editor-card:first-child {
|
|
grid-column: 1 / -1;
|
|
}
|
|
}
|
|
body.editor-embed-admin .editor-card {
|
|
padding: 0.45rem 0.55rem;
|
|
margin-bottom: 0;
|
|
}
|
|
body.editor-embed-admin .editor-card__title {
|
|
font-size: 0.68rem;
|
|
margin-bottom: 0.3rem;
|
|
}
|
|
body.editor-embed-admin .editor-card__hint {
|
|
font-size: 0.72rem;
|
|
margin-top: 0.3rem;
|
|
overflow-wrap: break-word;
|
|
word-break: break-word;
|
|
}
|
|
body.editor-embed-admin .game-type-hint .editor-hint-lead {
|
|
font-size: 0.78rem;
|
|
margin-bottom: 0.35rem;
|
|
}
|
|
body.editor-embed-admin .game-type-hint .editor-hint-bullets {
|
|
padding-left: 1.05rem;
|
|
}
|
|
body.editor-embed-admin .game-type-hint .editor-hint-bullets li {
|
|
margin: 0.26rem 0;
|
|
font-size: 0.72rem;
|
|
line-height: 1.45;
|
|
}
|
|
body.editor-embed-admin .frogger-lanes {
|
|
margin: 0.35rem 0;
|
|
position: relative;
|
|
z-index: auto;
|
|
}
|
|
body.editor-embed-admin .editor-card--bg {
|
|
margin-top: 0.25rem;
|
|
}
|
|
body.editor-embed-admin .editor-card--help {
|
|
margin-top: 0.2rem;
|
|
}
|
|
h1 { color: #7aa2f7; }
|
|
a { color: #9ece6a; }
|
|
label { display: inline-block; margin: 0.25rem 0.5rem 0.25rem 0; }
|
|
input, button { padding: 0.4rem 0.6rem; margin: 0 0.25rem 0 0; border-radius: 6px; border: 1px solid #414868; }
|
|
input { background: #24283b; color: #c0caf5; }
|
|
button { background: #7aa2f7; color: #1a1b26; cursor: pointer; border: none; }
|
|
.legend { font-size: 0.9rem; color: #a9b1d6; margin: 0.5rem 0; }
|
|
.frogger-lanes { margin: 1rem 0; padding: 0.75rem; background: #24283b; border-radius: 8px; position: relative; z-index: 2; min-height: 80px; }
|
|
.frogger-lanes h3 { margin: 0 0 0.5rem 0; color: #7aa2f7; font-size: 1rem; }
|
|
.frogger-lanes table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
|
|
.frogger-lanes th, .frogger-lanes td { padding: 0.25rem 0.5rem; text-align: left; border: 1px solid #414868; }
|
|
.frogger-lanes select, .frogger-lanes input[type="number"] { padding: 0.35rem 0.5rem; min-width: 4rem; background: #1a1b26; color: #c0caf5; border: 1px solid #414868; border-radius: 4px; cursor: pointer; font-size: 0.9rem; }
|
|
.frogger-lanes select { min-width: 6rem; }
|
|
.frogger-lanes .lane-speed { width: 4rem; }
|
|
.frogger-lanes .lane-spacing { width: 4rem; }
|
|
.frogger-lanes td { vertical-align: middle; }
|
|
.frogger-lanes select:disabled, .frogger-lanes input:disabled { opacity: 0.6; cursor: not-allowed; }
|
|
.game-type-hint {
|
|
font-size: 0.85rem;
|
|
color: #a9b1d6;
|
|
margin: 0;
|
|
line-height: 1.5;
|
|
display: block;
|
|
}
|
|
.game-type-hint .editor-hint-lead {
|
|
margin: 0 0 0.45rem;
|
|
font-size: 0.9rem;
|
|
font-weight: 500;
|
|
color: #c0caf5;
|
|
line-height: 1.4;
|
|
}
|
|
.game-type-hint .editor-hint-lead:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.editor-hint-bullets {
|
|
margin: 0;
|
|
padding-left: 1.2rem;
|
|
list-style: disc;
|
|
}
|
|
.editor-hint-bullets li {
|
|
margin: 0.35rem 0;
|
|
}
|
|
.editor-hint-bullets li:first-child {
|
|
margin-top: 0;
|
|
}
|
|
.editor-hint-bullets li:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.game-type-hint .editor-hint-bullets code {
|
|
font-size: 0.88em;
|
|
}
|
|
.game-type-hint kbd {
|
|
display: inline-block;
|
|
font-size: 0.82em;
|
|
padding: 0.1em 0.38em;
|
|
margin: 0 0.06em;
|
|
border-radius: 4px;
|
|
background: #1a1b26;
|
|
border: 1px solid #414868;
|
|
font-family: ui-monospace, monospace;
|
|
color: #c0caf5;
|
|
}
|
|
|
|
/* Editor — การ์ดจัดกลุ่มเครื่องมือ (อ่านง่าย ไม่บีบเป็นแถบเดียวยาว) */
|
|
.editor-toolbar-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
|
|
gap: 0.65rem;
|
|
margin: 0.75rem 0 0.5rem;
|
|
align-items: start;
|
|
}
|
|
.editor-card {
|
|
margin: 0;
|
|
padding: 0.65rem 0.75rem;
|
|
background: #24283b;
|
|
border: 1px solid rgba(65, 72, 104, 0.95);
|
|
border-radius: 10px;
|
|
}
|
|
.editor-card--wide {
|
|
grid-column: 1 / -1;
|
|
}
|
|
.editor-card__title {
|
|
margin: 0 0 0.45rem 0;
|
|
padding: 0;
|
|
font-size: 0.72rem;
|
|
font-weight: 700;
|
|
letter-spacing: 0.04em;
|
|
text-transform: uppercase;
|
|
color: #7aa2f7;
|
|
}
|
|
.editor-card__row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: flex-end;
|
|
gap: 0.45rem 0.75rem;
|
|
}
|
|
.editor-card__row--wrap {
|
|
align-items: center;
|
|
}
|
|
.editor-card__row--actions {
|
|
margin-top: 0.55rem;
|
|
padding-top: 0.5rem;
|
|
border-top: 1px solid rgba(65, 72, 104, 0.75);
|
|
gap: 0.5rem;
|
|
}
|
|
.editor-card__hint {
|
|
margin: 0.4rem 0 0;
|
|
padding: 0.45rem 0.55rem;
|
|
background: rgba(15, 16, 24, 0.55);
|
|
border-radius: 6px;
|
|
border-left: 3px solid #7aa2f7;
|
|
}
|
|
.editor-card label { margin: 0; }
|
|
/* กลุ่มกล่องตรวจ: ชนกำแพง vs โซนห้ามซ้อน — แยกมองชัดจากแถว label เปล่า ๆ */
|
|
.editor-footprint-row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: 0.45rem 0.85rem;
|
|
width: 100%;
|
|
padding: 0.42rem 0.55rem 0.48rem;
|
|
border-radius: 8px;
|
|
border: 1px solid rgba(122, 162, 247, 0.38);
|
|
background: rgba(20, 22, 34, 0.72);
|
|
box-sizing: border-box;
|
|
}
|
|
.editor-footprint-row--wall {
|
|
border-color: rgba(122, 162, 247, 0.45);
|
|
background: rgba(26, 32, 52, 0.65);
|
|
}
|
|
.editor-footprint-row--no-overlap {
|
|
border-color: rgba(158, 206, 106, 0.5);
|
|
background: rgba(22, 34, 26, 0.55);
|
|
}
|
|
.editor-footprint-row__head {
|
|
flex: 0 0 100%;
|
|
margin: 0 0 0.08rem 0;
|
|
padding: 0;
|
|
font-size: 0.68rem;
|
|
font-weight: 700;
|
|
letter-spacing: 0.06em;
|
|
text-transform: uppercase;
|
|
color: #7aa2f7;
|
|
}
|
|
.editor-footprint-row--no-overlap .editor-footprint-row__head {
|
|
color: #9ece6a;
|
|
}
|
|
.editor-footprint-row .editor-footprint-row__field input[type="number"] {
|
|
width: 3.1rem;
|
|
margin-left: 0.2rem;
|
|
}
|
|
.editor-field-grow {
|
|
flex: 1 1 180px;
|
|
min-width: min(100%, 200px);
|
|
}
|
|
.editor-field-grow select,
|
|
.editor-field-grow input[type="text"] {
|
|
width: 100%;
|
|
max-width: 100%;
|
|
min-width: 0;
|
|
}
|
|
.editor-field-drawmode {
|
|
flex: 1 1 280px;
|
|
min-width: min(100%, 240px);
|
|
}
|
|
.editor-field-drawmode select {
|
|
width: 100%;
|
|
max-width: 100%;
|
|
min-width: 0;
|
|
}
|
|
.editor-cell-color {
|
|
display: inline-flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: 0.35rem 0.75rem;
|
|
}
|
|
.editor-grid-image-tools {
|
|
display: none;
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
gap: 0.5rem;
|
|
max-width: 100%;
|
|
width: min(100%, 520px);
|
|
}
|
|
.editor-grid-image-size-row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.5rem 1rem;
|
|
align-items: center;
|
|
}
|
|
.editor-grid-image-size-row input[type="number"] {
|
|
width: 3.2rem;
|
|
margin-left: 0.25rem;
|
|
}
|
|
.editor-grid-image-carry-bind-row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 0.35rem 0.75rem;
|
|
align-items: center;
|
|
font-size: 0.72rem;
|
|
color: #a9b1d6;
|
|
}
|
|
.editor-grid-image-carry-bind-row select {
|
|
margin-left: 0.35rem;
|
|
max-width: 12rem;
|
|
}
|
|
.editor-hint-inline {
|
|
font-size: 0.68rem;
|
|
color: #787c99;
|
|
line-height: 1.35;
|
|
flex: 1 1 140px;
|
|
}
|
|
.editor-grid-image-gallery-wrap {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
}
|
|
.editor-grid-image-gallery-label {
|
|
font-size: 0.72rem;
|
|
color: #a9b1d6;
|
|
font-weight: 600;
|
|
}
|
|
.editor-grid-image-gallery-note {
|
|
margin: 0.1rem 0 0.35rem;
|
|
font-size: 0.65rem;
|
|
line-height: 1.35;
|
|
color: #787c99;
|
|
max-width: 36rem;
|
|
}
|
|
.grid-cell-image-gallery {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(68px, 1fr));
|
|
gap: 0.4rem;
|
|
max-height: 200px;
|
|
overflow-y: auto;
|
|
padding: 0.35rem;
|
|
border-radius: 8px;
|
|
border: 1px solid rgba(65, 72, 104, 0.85);
|
|
background: rgba(15, 16, 24, 0.6);
|
|
}
|
|
.grid-cell-image-gallery-empty {
|
|
font-size: 0.72rem;
|
|
color: #787c99;
|
|
padding: 0.35rem;
|
|
}
|
|
.grid-cell-image-gallery-item {
|
|
position: relative;
|
|
padding: 0;
|
|
margin: 0;
|
|
border: 2px solid transparent;
|
|
border-radius: 8px;
|
|
overflow: hidden;
|
|
cursor: pointer;
|
|
background: #24283b;
|
|
line-height: 0;
|
|
}
|
|
.grid-cell-image-gallery-item.is-selected {
|
|
border-color: #9ece6a;
|
|
box-shadow: 0 0 0 1px rgba(158, 206, 106, 0.35);
|
|
}
|
|
.grid-cell-image-gallery-item img {
|
|
display: block;
|
|
width: 100%;
|
|
height: 56px;
|
|
object-fit: cover;
|
|
}
|
|
.grid-cell-image-gallery-row {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.35rem;
|
|
align-items: stretch;
|
|
}
|
|
.grid-cell-image-gallery-same-hint {
|
|
font-size: 0.62rem;
|
|
line-height: 1.35;
|
|
color: #f7768e;
|
|
padding: 0.2rem 0.35rem;
|
|
border-radius: 4px;
|
|
background: rgba(247, 118, 142, 0.12);
|
|
border: 1px solid rgba(247, 118, 142, 0.35);
|
|
}
|
|
.grid-cell-image-gallery-held-side {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.2rem;
|
|
padding: 0.15rem 0.1rem 0.25rem;
|
|
border-radius: 6px;
|
|
background: rgba(0, 0, 0, 0.22);
|
|
}
|
|
.grid-cell-image-gallery-held-label {
|
|
font-size: 0.58rem;
|
|
font-weight: 700;
|
|
color: #7dcfff;
|
|
letter-spacing: 0.04em;
|
|
}
|
|
.grid-cell-image-gallery-held-thumb {
|
|
display: block;
|
|
width: 100%;
|
|
max-height: 44px;
|
|
object-fit: cover;
|
|
border-radius: 4px;
|
|
background: #1a1b26;
|
|
}
|
|
.grid-cell-image-gallery-held-btn {
|
|
font-size: 0.58rem;
|
|
padding: 0.15rem 0.35rem;
|
|
border-radius: 4px;
|
|
border: 1px solid rgba(125, 207, 255, 0.45);
|
|
background: rgba(26, 27, 38, 0.95);
|
|
color: #c0caf5;
|
|
cursor: pointer;
|
|
}
|
|
.grid-cell-image-gallery-held-btn:hover {
|
|
border-color: rgba(158, 206, 106, 0.65);
|
|
color: #9ece6a;
|
|
}
|
|
.grid-cell-image-gallery-clear-held {
|
|
font-size: 0.7rem;
|
|
line-height: 1;
|
|
padding: 0.05rem 0.25rem;
|
|
border: none;
|
|
border-radius: 4px;
|
|
background: rgba(247, 118, 142, 0.25);
|
|
color: #f7768e;
|
|
cursor: pointer;
|
|
}
|
|
.grid-cell-image-gallery-clear-held:hover {
|
|
background: rgba(247, 118, 142, 0.45);
|
|
}
|
|
.grid-cell-image-gallery-cap {
|
|
display: block;
|
|
font-size: 0.65rem;
|
|
text-align: center;
|
|
padding: 0.15rem 0;
|
|
color: #c0caf5;
|
|
background: rgba(0, 0, 0, 0.35);
|
|
}
|
|
.editor-grid-image-upload-row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
body.editor-embed-admin .grid-cell-image-gallery {
|
|
max-height: 160px;
|
|
}
|
|
body.editor-embed-admin .grid-cell-image-gallery-item img {
|
|
height: 48px;
|
|
}
|
|
.editor-btn-primary {
|
|
font-weight: 600;
|
|
}
|
|
.editor-card--bg {
|
|
margin: 0.5rem 0 0.35rem;
|
|
}
|
|
.editor-card--help {
|
|
margin: 0.35rem 0 0.15rem;
|
|
}
|
|
.editor-help-list {
|
|
margin: 0;
|
|
padding-left: 1.15rem;
|
|
list-style: disc;
|
|
}
|
|
.editor-help-list li {
|
|
margin-bottom: 0.28rem;
|
|
}
|
|
@media (min-width: 900px) {
|
|
.editor-help-list {
|
|
columns: 2;
|
|
column-gap: 1.5rem;
|
|
}
|
|
.editor-help-list li {
|
|
break-inside: avoid;
|
|
}
|
|
}
|
|
.canvas-wrap { margin: 1rem 0; }
|
|
.container { padding-left: 1rem; padding-right: 1rem; }
|
|
#editor-canvas { background: #1a1b26; display: block; touch-action: none; }
|
|
.game-wrap { display: flex; flex-direction: column; height: 100vh; height: 100dvh; min-height: 0; }
|
|
.game-header { flex-shrink: 0; background: #24283b; padding: 0.5rem 1rem; display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; }
|
|
.game-header span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
.game-header button { flex-shrink: 0; }
|
|
#game-canvas {
|
|
flex: 1 1 auto;
|
|
display: block;
|
|
width: 100%;
|
|
min-height: 0;
|
|
min-width: 0;
|
|
touch-action: none;
|
|
}
|
|
.game-wrap .chat-panel { flex-shrink: 0; }
|
|
.chat-panel { height: 160px; border-top: 1px solid #414868; display: flex; flex-direction: column; }
|
|
#chat-messages { flex: 1; overflow-y: auto; padding: 0.5rem; font-size: 0.9rem; }
|
|
#chat-form { display: flex; padding: 0.5rem; gap: 0.5rem; }
|
|
#chat-input { flex: 1; }
|
|
|
|
.lobby-section { margin: 1.25rem 0; padding: 1rem; background: #24283b; border-radius: 8px; }
|
|
.lobby-section h2 { margin: 0 0 0.75rem 0; font-size: 1rem; color: #7aa2f7; }
|
|
#room-list { list-style: none; margin: 0; padding: 0; }
|
|
#room-list .room-item { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; padding: 0.5rem 0; border-bottom: 1px solid #414868; }
|
|
#room-list .room-item:last-child { border-bottom: none; }
|
|
#room-list .room-name { font-weight: 600; color: #c0caf5; min-width: 0; }
|
|
#room-list .room-meta { font-size: 0.85rem; color: #a9b1d6; }
|
|
#room-list .room-meta-inline { font-size: 0.8rem; color: #565f89; font-weight: normal; }
|
|
#room-list-status { margin: 0; color: #a9b1d6; font-size: 0.9rem; }
|
|
|
|
.room-lobby-peers { margin: 1rem 0; padding: 0.75rem; background: #24283b; border-radius: 8px; }
|
|
.room-lobby-peer { padding: 0.35rem 0; color: #c0caf5; }
|
|
.room-lobby-peer:not(:last-child) { border-bottom: 1px solid #414868; }
|
|
#lobby-map-wrap { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; min-width: 100vw; min-height: 100vh; z-index: 0; }
|
|
#lobby-map-canvas {
|
|
display: block;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-width: 100%;
|
|
min-height: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
background: #303770;
|
|
box-sizing: border-box;
|
|
}
|
|
#lobby-map-canvas:focus {
|
|
outline: none;
|
|
}
|
|
#lobby-map-canvas:focus-visible {
|
|
outline: 2px solid rgba(122, 162, 247, 0.45);
|
|
outline-offset: -2px;
|
|
}
|
|
/* LobbyB (mn8nx46h) — ไม่แสดงปุ่มพร้อม */
|
|
body.room-lobby--lobby-b .room-lobby-ready-fixed {
|
|
display: none !important;
|
|
}
|
|
.lobby-interact-hint {
|
|
position: absolute;
|
|
bottom: max(10px, env(safe-area-inset-bottom));
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
z-index: 2;
|
|
margin: 0;
|
|
padding: 0.2rem 0.55rem;
|
|
font-size: clamp(0.72rem, 1.8vw, 0.85rem);
|
|
color: rgba(203, 213, 245, 0.9);
|
|
text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
|
|
pointer-events: none;
|
|
font-family: system-ui, 'Kanit', sans-serif;
|
|
white-space: nowrap;
|
|
}
|
|
.lobby-interact-hint kbd {
|
|
display: inline-block;
|
|
padding: 0.06em 0.32em;
|
|
border-radius: 4px;
|
|
background: rgba(26, 27, 38, 0.88);
|
|
border: 1px solid rgba(122, 162, 247, 0.45);
|
|
font-size: 0.88em;
|
|
font-family: inherit;
|
|
}
|
|
.lobby-zoom-pct {
|
|
position: absolute;
|
|
top: 12px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
z-index: 2;
|
|
padding: 6px 12px;
|
|
border-radius: 8px;
|
|
background: rgba(26, 27, 38, 0.85);
|
|
color: #c0caf5;
|
|
font-size: 1rem;
|
|
font-weight: 600;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.lobby-zoom-pct.lobby-zoom-pct-visible { opacity: 1; }
|
|
/* ซ่อนแผง overlay รายชื่อ / host / แชท — โถงโฟกัสแผนที่ + ปุ่ม READY/ไมค์ ด้านนอก */
|
|
.room-lobby-overlay { display: none !important; }
|
|
.room-lobby-top-left-cluster {
|
|
position: fixed;
|
|
top: max(12px, env(safe-area-inset-top));
|
|
left: max(12px, env(safe-area-inset-left));
|
|
z-index: 55;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 0.65rem;
|
|
pointer-events: none;
|
|
}
|
|
.room-lobby-top-left-cluster .room-lobby-exit-fixed {
|
|
pointer-events: auto;
|
|
}
|
|
|
|
/* มุมขวาบน — โปรไฟล์ตัวละคร */
|
|
.room-lobby-top-right-cluster {
|
|
position: fixed;
|
|
top: max(12px, env(safe-area-inset-top));
|
|
right: max(12px, env(safe-area-inset-right));
|
|
z-index: 56;
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: flex-start;
|
|
gap: 0.65rem;
|
|
pointer-events: none;
|
|
}
|
|
.room-lobby-top-right-cluster > * {
|
|
pointer-events: auto;
|
|
}
|
|
.room-lobby-profile-wrap {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.2rem;
|
|
}
|
|
.room-lobby-profile-frame {
|
|
width: clamp(56px, 12vw, 72px);
|
|
height: clamp(56px, 12vw, 72px);
|
|
border-radius: 14px;
|
|
border: 2px solid rgba(0, 212, 255, 0.65);
|
|
overflow: hidden;
|
|
background: rgba(18, 22, 42, 0.92);
|
|
box-shadow:
|
|
0 0 0 1px rgba(34, 211, 238, 0.2),
|
|
0 0 22px rgba(34, 211, 238, 0.28);
|
|
}
|
|
.room-lobby-profile-frame img {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
object-position: center bottom;
|
|
image-rendering: pixelated;
|
|
image-rendering: crisp-edges;
|
|
}
|
|
.room-lobby-actions { margin-top: 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
|
|
.room-lobby-actions .room-lobby-btn-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; opacity: 0; pointer-events: none; }
|
|
.room-lobby-actions label { margin: 0; }
|
|
.room-lobby-actions #btn-start { background: #9ece6a; color: #1a1b26; }
|
|
#host-only { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; }
|
|
#host-only select { padding: 0.4rem 0.6rem; border-radius: 6px; border: 1px solid #414868; background: #24283b; color: #c0caf5; }
|
|
.host-start-area-hint {
|
|
flex-basis: 100%;
|
|
margin: 0;
|
|
font-size: 0.88rem;
|
|
color: #e0af68;
|
|
line-height: 1.35;
|
|
max-width: 100%;
|
|
}
|
|
#host-only #btn-start:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
filter: grayscale(0.25);
|
|
}
|
|
.room-lobby-chat { margin-top: 1rem; }
|
|
.room-lobby-chat.chat-panel {
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
box-shadow: none;
|
|
}
|
|
.room-lobby-chat-peers.chat-panel {
|
|
position: fixed;
|
|
right: 1.25rem;
|
|
bottom: 5.5rem;
|
|
width: 576px;
|
|
height: 525px;
|
|
max-width: calc(100vw - 2.5rem);
|
|
z-index: 52;
|
|
margin-top: 0;
|
|
display: flex;
|
|
flex-flow: column;
|
|
padding: 2rem;
|
|
box-sizing: border-box;
|
|
border-top: 0px solid #414868;
|
|
background: url(/Game/img/chat-msg-bg-alpha.png) center/100% 100% no-repeat;
|
|
background-color: transparent;
|
|
}
|
|
.room-lobby-chat-peers.chat-panel .chat-header-title.chat-header-title-img img { width: 90px; height: 77px; }
|
|
.room-lobby-chat-peers.chat-panel .chat-close-btn { width: 48px; height: 48px; }
|
|
.room-lobby-chat-peers.chat-panel .chat-close-btn img { width: 50px; height: 50px; }
|
|
.room-lobby-chat-peers.chat-panel #chat-messages { padding: 0.75rem; font-size: 1.05rem; gap: 0.5rem; }
|
|
.room-lobby-chat-peers.chat-panel .chat-form-bar { padding: 0.6rem 0; gap: 0.5rem; }
|
|
.room-lobby-chat-peers.chat-panel #chat-input { padding: 0.6rem 0.85rem; font-size: 1.05rem; }
|
|
.room-lobby-chat-peers.chat-panel .chat-send-btn { width: 52px; height: 52px; }
|
|
.room-lobby-chat-peers.chat-panel .chat-send-btn img { width: 58px; height: 58px; }
|
|
.room-lobby-chat-peers.chat-panel .chat-msg { padding: 0.6rem 1rem; font-size: 1.05rem; }
|
|
.room-lobby-chat-peers.chat-panel .chat-header-bar {
|
|
margin: 0 -2rem 0 -2rem;
|
|
padding-left: 2rem;
|
|
padding-right: 2rem;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
min-height: 72px;
|
|
height: 72px;
|
|
}
|
|
.room-lobby-chat-peers.chat-panel #chat-messages {
|
|
flex: 1;
|
|
min-height: 0;
|
|
height: auto;
|
|
}
|
|
.room-lobby-chat .chat-header-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: 0;
|
|
min-height: 48px;
|
|
height: 48px;
|
|
background: url(/Game/img/chat-line.png) bottom repeat-x;
|
|
background-size: 100% 4px;
|
|
background-color: transparent;
|
|
}
|
|
.room-lobby-chat-peers .chat-header-title.chat-header-title-img {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
line-height: 0;
|
|
}
|
|
.room-lobby-chat-peers .chat-header-title.chat-header-title-img img {
|
|
width: 60px;
|
|
height: 51px;
|
|
object-fit: contain;
|
|
display: block;
|
|
}
|
|
.room-lobby-chat-ai .chat-header-title.chat-header-title-img {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
gap: 0.5rem;
|
|
line-height: 0;
|
|
}
|
|
.room-lobby-chat-ai .chat-header-title.chat-header-title-img .ai-chat-title-label {
|
|
height: 52px;
|
|
width: auto;
|
|
object-fit: contain;
|
|
display: block;
|
|
flex-shrink: 0;
|
|
margin-bottom: -2px;
|
|
}
|
|
/* รูปหัวแชท AI — ยกขึ้นเหนือเส้น */
|
|
.room-lobby-chat-ai .chat-header-title.chat-header-title-img img {
|
|
width: 86px;
|
|
height: 92px;
|
|
object-fit: cover;
|
|
display: block;
|
|
flex-shrink: 0;
|
|
margin-top: -27px;
|
|
margin-left: -6px;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.room-lobby-chat .chat-header-title {
|
|
font-size: 1rem;
|
|
font-weight: 600;
|
|
color: #a0aec0;
|
|
}
|
|
.room-lobby-chat .chat-close-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 32px;
|
|
height: 32px;
|
|
padding: 0;
|
|
border: none;
|
|
border-radius: 8px;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
margin-left: auto;
|
|
}
|
|
.room-lobby-chat-peers .chat-header-bar .chat-close-btn { margin-left: 0; }
|
|
.room-lobby-chat .chat-close-btn img { width: 34px; height: 34px; object-fit: contain; }
|
|
.room-lobby-chat .chat-close-btn:hover { opacity: 0.9; }
|
|
.room-lobby-chat.chat-panel-collapsed #chat-messages,
|
|
.room-lobby-chat.chat-panel-collapsed .chat-form-bar { display: none !important; }
|
|
.room-lobby-chat-peers.chat-panel-collapsed .chat-header-title { display: none !important; }
|
|
.room-lobby-chat-peers.chat-panel-collapsed .chat-header-bar {
|
|
justify-content: center;
|
|
padding: 0;
|
|
background: none !important;
|
|
border: none;
|
|
}
|
|
.room-lobby-chat-peers.chat-panel-collapsed.chat-panel {
|
|
width: 80px;
|
|
height: 80px;
|
|
min-height: 0;
|
|
padding: 0;
|
|
right: 1.25rem;
|
|
bottom: 6.25rem;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: none !important;
|
|
background-color: transparent !important;
|
|
border: none;
|
|
box-shadow: none;
|
|
}
|
|
.room-lobby-chat-peers.chat-panel-collapsed .chat-close-btn {
|
|
width: 80px;
|
|
height: 80px;
|
|
overflow: visible;
|
|
}
|
|
.room-lobby-chat-peers.chat-panel-collapsed .chat-close-btn img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: contain;
|
|
object-position: center;
|
|
display: block;
|
|
}
|
|
.room-lobby-chat #chat-messages,
|
|
.room-lobby-chat #ai-chat-messages {
|
|
height: 100px;
|
|
overflow-y: auto;
|
|
padding: 0.5rem;
|
|
font-size: 0.85rem;
|
|
border: none;
|
|
margin: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.35rem;
|
|
background: none;
|
|
background-color: transparent;
|
|
box-shadow: none;
|
|
}
|
|
.room-lobby-chat .chat-messages-bg { border-radius: 0; }
|
|
.room-lobby-chat #chat-form.chat-form-bar,
|
|
.room-lobby-chat #ai-chat-form.chat-form-bar {
|
|
display: flex;
|
|
gap: 0.4rem;
|
|
align-items: center;
|
|
padding: 0.4rem 0;
|
|
background: none;
|
|
background-color: transparent;
|
|
border-top: none;
|
|
flex-shrink: 0;
|
|
}
|
|
.room-lobby-chat-peers .chat-form-bar {
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
}
|
|
.room-lobby-chat #chat-input,
|
|
.room-lobby-chat #ai-chat-input {
|
|
flex: 1;
|
|
min-width: 0;
|
|
padding: 0.45rem 0.6rem;
|
|
border-radius: 10px;
|
|
border: 1px solid rgba(0, 212, 255, 0.25);
|
|
background: rgba(30, 35, 50, 0.8);
|
|
color: #c0caf5;
|
|
font-size: 0.9rem;
|
|
box-sizing: border-box;
|
|
margin-left: 9px;
|
|
}
|
|
.room-lobby-chat .chat-send-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 40px;
|
|
height: 40px;
|
|
flex-shrink: 0;
|
|
padding: 0;
|
|
border: none;
|
|
border-radius: 10px;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
}
|
|
.room-lobby-chat .chat-send-btn img { width: 45px; height: 45px; object-fit: contain; }
|
|
.room-lobby-chat .chat-send-btn:hover { opacity: 0.9; }
|
|
.room-lobby-chat .chat-msg {
|
|
padding: 0.4rem 0.75rem;
|
|
border-radius: 12px;
|
|
max-width: 85%;
|
|
background-size: 100% 100%;
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
}
|
|
.room-lobby-chat .chat-msg-mine {
|
|
align-self: flex-end;
|
|
text-align: right;
|
|
background-image: url(/Game/img/chat-bubble-me.png);
|
|
background-color: rgba(122, 162, 247, 0.9);
|
|
color: #1a1b26;
|
|
}
|
|
.room-lobby-chat .chat-msg-other {
|
|
align-self: flex-start;
|
|
text-align: left;
|
|
background-image: url(/Game/img/chat-bubble-friend.png);
|
|
background-color: rgba(65, 72, 104, 0.9);
|
|
color: #c0caf5;
|
|
}
|
|
.room-lobby-chat .chat-msg-ai {
|
|
align-self: flex-start;
|
|
text-align: left;
|
|
background-image: url(/Game/img/chat-bubble-friend.png);
|
|
background-color: rgba(158, 206, 106, 0.9);
|
|
color: #1a1b26;
|
|
}
|
|
.room-lobby-chat .chat-msg-system {
|
|
align-self: center;
|
|
text-align: center;
|
|
max-width: 95%;
|
|
background-image: none;
|
|
background-color: rgba(26, 27, 38, 0.72);
|
|
color: #9aa5ce;
|
|
font-size: 0.88rem;
|
|
font-style: italic;
|
|
padding: 0.35rem 0.6rem;
|
|
}
|
|
|
|
/* AI chat — loading แบบ Messenger (จุดกระโดด 3 จุด), อยู่ติดข้อความล่าสุดในลิสต์ */
|
|
.room-lobby-chat .ai-chat-typing {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 12px 14px;
|
|
min-height: 24px;
|
|
flex-shrink: 0;
|
|
background-image: url(/Game/img/chat-bubble-friend.png);
|
|
background-color: rgba(158, 206, 106, 0.9);
|
|
background-size: 100% 100%;
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
}
|
|
.room-lobby-chat .ai-typing-dot {
|
|
width: 6px;
|
|
height: 6px;
|
|
border-radius: 50%;
|
|
background: #1a1b26;
|
|
animation: ai-typing-bounce 1.4s ease-in-out infinite both;
|
|
}
|
|
.room-lobby-chat .ai-typing-dot:nth-child(1) { animation-delay: 0s; }
|
|
.room-lobby-chat .ai-typing-dot:nth-child(2) { animation-delay: 0.2s; }
|
|
.room-lobby-chat .ai-typing-dot:nth-child(3) { animation-delay: 0.4s; }
|
|
@keyframes ai-typing-bounce {
|
|
0%, 60%, 100% { transform: translateY(0); }
|
|
30% { transform: translateY(-6px); }
|
|
}
|
|
|
|
/* AI chat panel — ขนาดและตำแหน่งตาม reference (วงซ้าย) */
|
|
.room-lobby-chat-ai.chat-panel {
|
|
position: fixed;
|
|
left: 20px;
|
|
right: auto;
|
|
bottom: 5.5rem;
|
|
width: 576px;
|
|
height: 525px;
|
|
max-width: calc(100vw - 2.5rem);
|
|
z-index: 51;
|
|
margin-top: 0;
|
|
display: flex;
|
|
flex-flow: column;
|
|
padding: 2rem;
|
|
box-sizing: border-box;
|
|
border-top: 0;
|
|
background: url(/Game/img/chat-msg-bg-alpha.png) center/100% 100% no-repeat;
|
|
background-color: transparent;
|
|
}
|
|
.room-lobby-chat-ai.chat-panel .chat-header-bar {
|
|
margin: 0 -2rem 0 -2rem;
|
|
padding-left: 2rem;
|
|
padding-right: 2rem;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
min-height: 80px;
|
|
height: 80px;
|
|
overflow: visible;
|
|
}
|
|
.room-lobby-chat-ai.chat-panel .chat-header-title.chat-header-title-img img { width: 130px; height: 138px; margin-top: -38px; margin-left: -8px; }
|
|
.room-lobby-chat-ai.chat-panel .chat-header-title.chat-header-title-img .ai-chat-title-label { height: 78px; }
|
|
.room-lobby-chat-ai.chat-panel .chat-close-btn { width: 48px; height: 48px; }
|
|
.room-lobby-chat-ai.chat-panel .chat-close-btn img { width: 50px; height: 50px; }
|
|
.room-lobby-chat-ai.chat-panel #ai-chat-messages { padding: 0.75rem; font-size: 1.05rem; gap: 0.5rem; }
|
|
.room-lobby-chat-ai.chat-panel .chat-form-bar { padding: 0.6rem 0; gap: 0.5rem; }
|
|
.room-lobby-chat-ai.chat-panel #ai-chat-input { padding: 0.6rem 0.85rem; font-size: 1.05rem; }
|
|
.room-lobby-chat-ai.chat-panel .chat-send-btn { width: 52px; height: 52px; }
|
|
.room-lobby-chat-ai.chat-panel .chat-send-btn img { width: 58px; height: 58px; }
|
|
.room-lobby-chat-ai.chat-panel .chat-msg { padding: 0.6rem 1rem; font-size: 1.05rem; }
|
|
.room-lobby-chat-ai.chat-panel .ai-chat-typing { padding: 14px 18px; min-height: 28px; }
|
|
.room-lobby-chat-ai.chat-panel .ai-typing-dot { width: 8px; height: 8px; }
|
|
.room-lobby-chat-ai.chat-panel {
|
|
overflow: visible;
|
|
}
|
|
.room-lobby-chat-ai.chat-panel #ai-chat-messages {
|
|
flex: 1;
|
|
min-height: 0;
|
|
height: auto;
|
|
}
|
|
.room-lobby-chat-ai .chat-form-bar {
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
}
|
|
.room-lobby-chat-ai .ai-chat-admin-link {
|
|
margin: 0.35rem 0 0 0;
|
|
font-size: 0.75rem;
|
|
flex-shrink: 0;
|
|
}
|
|
/* AI chat collapsed */
|
|
.room-lobby-chat-ai.chat-panel-collapsed #ai-chat-messages,
|
|
.room-lobby-chat-ai.chat-panel-collapsed .chat-form-bar,
|
|
.room-lobby-chat-ai.chat-panel-collapsed .ai-chat-admin-link { display: none !important; }
|
|
.room-lobby-chat-ai.chat-panel-collapsed .chat-header-title { display: none !important; }
|
|
.room-lobby-chat-ai.chat-panel-collapsed .chat-header-bar {
|
|
justify-content: center;
|
|
padding: 0;
|
|
background: none !important;
|
|
border: none;
|
|
}
|
|
.room-lobby-chat-ai.chat-panel-collapsed.chat-panel {
|
|
width: 80px;
|
|
height: 80px;
|
|
min-height: 0;
|
|
padding: 0;
|
|
left: 20px;
|
|
bottom: 1.25rem;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: none !important;
|
|
background-color: transparent !important;
|
|
border: none;
|
|
box-shadow: none;
|
|
}
|
|
.room-lobby-chat-ai.chat-panel-collapsed .chat-close-btn {
|
|
width: 80px;
|
|
height: 80px;
|
|
overflow: visible;
|
|
}
|
|
.room-lobby-chat-ai.chat-panel-collapsed .chat-close-btn img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: contain;
|
|
object-position: center;
|
|
display: block;
|
|
}
|
|
|
|
.room-lobby-exit-fixed {
|
|
position: static;
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
gap: 10px;
|
|
width: max-content;
|
|
max-width: calc(100vw - 24px);
|
|
box-sizing: border-box;
|
|
}
|
|
.room-lobby-exit-fixed .btn-exit-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex: 0 0 auto;
|
|
width: 80px;
|
|
height: 80px;
|
|
min-width: 80px;
|
|
padding: 0;
|
|
border: none;
|
|
border-radius: 12px;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
}
|
|
.room-lobby-exit-fixed .btn-exit-icon:hover {
|
|
opacity: 0.9;
|
|
}
|
|
.room-lobby-exit-fixed .btn-exit-icon img {
|
|
width: 100%;
|
|
height: auto;
|
|
object-fit: contain;
|
|
display: block;
|
|
}
|
|
|
|
.room-lobby-ready-fixed {
|
|
position: fixed;
|
|
bottom: 1.25rem;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
z-index: 120;
|
|
pointer-events: none;
|
|
}
|
|
.room-lobby-ready-fixed .ready-label,
|
|
.room-lobby-ready-fixed .ready-check-input {
|
|
pointer-events: auto;
|
|
}
|
|
.room-lobby-ready-fixed .ready-label {
|
|
position: relative;
|
|
display: inline-block;
|
|
padding: 0;
|
|
margin: 0;
|
|
border: none;
|
|
border-radius: 0;
|
|
background: transparent;
|
|
box-shadow: none;
|
|
cursor: pointer;
|
|
transition: transform 0.15s ease, filter 0.15s ease;
|
|
line-height: 0;
|
|
}
|
|
.room-lobby-ready-fixed .ready-label:hover {
|
|
transform: scale(1.04);
|
|
filter: brightness(1.08);
|
|
}
|
|
.room-lobby-ready-fixed .ready-label:active {
|
|
transform: scale(0.98);
|
|
}
|
|
.room-lobby-ready-fixed .ready-check-input {
|
|
position: absolute;
|
|
inset: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
margin: 0;
|
|
opacity: 0;
|
|
cursor: pointer;
|
|
z-index: 2;
|
|
}
|
|
.room-lobby-ready-fixed .ready-label-img {
|
|
display: block;
|
|
height: clamp(44px, 8vh, 72px);
|
|
width: auto;
|
|
max-width: min(240px, 78vw);
|
|
pointer-events: none;
|
|
user-select: none;
|
|
-webkit-user-drag: none;
|
|
}
|
|
.room-lobby-ready-fixed .ready-label--active .ready-label-img {
|
|
filter: drop-shadow(0 0 10px rgba(158, 206, 106, 0.45));
|
|
}
|
|
|
|
/* มุมขวาล่าง — ไมค์ทุกห้อง + ปุ่ม LobbyB (แว่น/ถ้วย) */
|
|
.room-lobby-br-fixed {
|
|
--lobby-br-btn: 80px;
|
|
position: fixed;
|
|
bottom: 1.25rem;
|
|
right: max(1.25rem, env(safe-area-inset-right));
|
|
z-index: 400;
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: flex-end;
|
|
gap: 10px;
|
|
pointer-events: none;
|
|
}
|
|
.room-lobby-br-fixed .lobby-b-extra-row,
|
|
.room-lobby-br-fixed .btn-voice-icon {
|
|
pointer-events: auto;
|
|
}
|
|
.lobby-b-extra-row {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: flex-end;
|
|
gap: 10px;
|
|
}
|
|
.lobby-b-extra-row.is-hidden {
|
|
display: none !important;
|
|
}
|
|
/* โหมดเกม (ควิซ) ใน room-lobby — ไม่โชว์แว่น/ถ้วย LobbyB */
|
|
body.room-lobby--quiz-active .lobby-b-extra-row {
|
|
display: none !important;
|
|
visibility: hidden !important;
|
|
pointer-events: none !important;
|
|
}
|
|
/* ปุ่มมุมขวาล่าง — ขนาดเดียวกัน (กัน UA border / box model ต่างกัน) */
|
|
.room-lobby-br-fixed .lobby-b-sq-btn,
|
|
.room-lobby-br-fixed .btn-voice-icon {
|
|
box-sizing: border-box;
|
|
width: var(--lobby-br-btn);
|
|
height: var(--lobby-br-btn);
|
|
min-width: var(--lobby-br-btn);
|
|
min-height: var(--lobby-br-btn);
|
|
max-width: var(--lobby-br-btn);
|
|
max-height: var(--lobby-br-btn);
|
|
margin: 0;
|
|
padding: 0;
|
|
border: none;
|
|
border-radius: 12px;
|
|
appearance: none;
|
|
-webkit-appearance: none;
|
|
flex-shrink: 0;
|
|
cursor: pointer;
|
|
}
|
|
/* สไตล์เดียวกับปุ่มไมค์ — ไม่มีกรอบ cyan / bg-item */
|
|
.lobby-b-sq-btn {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: transparent;
|
|
box-shadow: none;
|
|
transition: transform 0.15s ease, filter 0.15s ease;
|
|
}
|
|
.lobby-b-sq-btn:hover {
|
|
transform: scale(1.04);
|
|
filter: brightness(1.08);
|
|
}
|
|
.lobby-b-sq-btn:active { transform: scale(0.98); }
|
|
.room-lobby-br-fixed .lobby-b-sq-btn img,
|
|
.room-lobby-br-fixed .btn-voice-icon img {
|
|
width: 100%;
|
|
height: 100%;
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
object-fit: contain;
|
|
object-position: center;
|
|
display: block;
|
|
pointer-events: none;
|
|
user-select: none;
|
|
-webkit-user-drag: none;
|
|
}
|
|
.room-lobby-br-fixed .btn-voice-icon {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: transparent;
|
|
}
|
|
|
|
/* —— แฟ้มหลักฐาน LobbyB (รูปจาก /Main-Lobby/IMAGE/See evidence) —— */
|
|
.lobby-evidence-overlay {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 10047;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
|
|
box-sizing: border-box;
|
|
}
|
|
.lobby-evidence-overlay.is-hidden {
|
|
display: none !important;
|
|
}
|
|
.lobby-evidence-backdrop {
|
|
position: absolute;
|
|
inset: 0;
|
|
background: rgba(4, 8, 22, 0.78);
|
|
backdrop-filter: blur(10px);
|
|
-webkit-backdrop-filter: blur(10px);
|
|
cursor: pointer;
|
|
}
|
|
.lobby-evidence-dialog {
|
|
position: relative;
|
|
z-index: 1;
|
|
width: min(96vw, 900px);
|
|
max-height: min(92vh, 920px);
|
|
pointer-events: none;
|
|
}
|
|
.lobby-evidence-dialog * {
|
|
pointer-events: auto;
|
|
}
|
|
.lobby-evidence-frame {
|
|
position: relative;
|
|
width: 100%;
|
|
aspect-ratio: 1684 / 963;
|
|
filter: drop-shadow(0 0 24px rgba(0, 255, 255, 0.12)) drop-shadow(0 0 40px rgba(255, 0, 255, 0.08));
|
|
}
|
|
.lobby-evidence-bg {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: contain;
|
|
object-position: center top;
|
|
pointer-events: none;
|
|
user-select: none;
|
|
-webkit-user-drag: none;
|
|
}
|
|
.lobby-evidence-close {
|
|
position: absolute;
|
|
top: 5.5%;
|
|
right: 4%;
|
|
width: 8%;
|
|
max-width: 56px;
|
|
aspect-ratio: 1;
|
|
padding: 0;
|
|
margin: 0;
|
|
border: none;
|
|
border-radius: 10px;
|
|
background: transparent;
|
|
color: rgba(0, 255, 255, 0.95);
|
|
font-size: clamp(1.25rem, 4vw, 2rem);
|
|
line-height: 1;
|
|
cursor: pointer;
|
|
text-shadow: 0 0 12px rgba(0, 255, 255, 0.9);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: transform 0.15s ease, filter 0.15s ease;
|
|
}
|
|
.lobby-evidence-close:hover {
|
|
transform: scale(1.08);
|
|
filter: brightness(1.15);
|
|
}
|
|
.lobby-evidence-tabs-layer {
|
|
position: absolute;
|
|
left: 7%;
|
|
right: 7%;
|
|
top: 15.5%;
|
|
height: 13.5%;
|
|
min-height: 36px;
|
|
}
|
|
.lobby-evidence-tabs-img {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: contain;
|
|
object-position: left center;
|
|
pointer-events: none;
|
|
user-select: none;
|
|
-webkit-user-drag: none;
|
|
}
|
|
.lobby-evidence-tab-hits {
|
|
position: absolute;
|
|
inset: 0;
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: stretch;
|
|
padding-left: 1.5%;
|
|
padding-right: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
.lobby-evidence-tab-hit {
|
|
flex: 0 0 13.2%;
|
|
min-width: 0;
|
|
height: 100%;
|
|
padding: 0;
|
|
margin: 0;
|
|
border: none;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
border-radius: 8px;
|
|
}
|
|
.lobby-evidence-tab-hit:focus-visible {
|
|
outline: 2px solid rgba(0, 255, 255, 0.9);
|
|
outline-offset: 2px;
|
|
}
|
|
.lobby-evidence-tab-hit-spacer {
|
|
flex: 1 1 auto;
|
|
pointer-events: none;
|
|
}
|
|
.lobby-evidence-cards-root {
|
|
position: absolute;
|
|
left: 5%;
|
|
right: 5%;
|
|
top: 31%;
|
|
bottom: 7%;
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
gap: clamp(6px, 1.2vw, 14px);
|
|
align-items: stretch;
|
|
justify-content: center;
|
|
overflow-x: auto;
|
|
overflow-y: hidden;
|
|
scrollbar-width: thin;
|
|
padding-bottom: 4px;
|
|
box-sizing: border-box;
|
|
}
|
|
.lobby-evidence-card {
|
|
flex: 1 1 0;
|
|
min-width: min(200px, 28vw);
|
|
max-width: 320px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-radius: 10px;
|
|
padding: clamp(6px, 1vw, 10px);
|
|
background: rgba(15, 20, 36, 0.92);
|
|
box-sizing: border-box;
|
|
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 8px 24px rgba(0, 0, 0, 0.35);
|
|
}
|
|
.lobby-evidence-card--common {
|
|
box-shadow: 0 0 0 2px rgba(180, 190, 200, 0.65), 0 0 16px rgba(200, 210, 220, 0.2), 0 8px 24px rgba(0, 0, 0, 0.35);
|
|
}
|
|
.lobby-evidence-card--rare {
|
|
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.85), 0 0 20px rgba(59, 130, 246, 0.35), 0 8px 24px rgba(0, 0, 0, 0.35);
|
|
}
|
|
.lobby-evidence-card--legendary {
|
|
box-shadow: 0 0 0 2px rgba(234, 179, 8, 0.9), 0 0 22px rgba(250, 204, 21, 0.4), 0 8px 24px rgba(0, 0, 0, 0.35);
|
|
}
|
|
.lobby-evidence-card-head {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: flex-start;
|
|
gap: 8px;
|
|
margin-bottom: 6px;
|
|
}
|
|
.lobby-evidence-card-icon {
|
|
flex-shrink: 0;
|
|
width: 28px;
|
|
height: 28px;
|
|
border-radius: 6px;
|
|
background: linear-gradient(135deg, rgba(0, 255, 255, 0.25), rgba(255, 0, 255, 0.15));
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 14px;
|
|
line-height: 1;
|
|
}
|
|
.lobby-evidence-card-titles {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.lobby-evidence-card-title-th {
|
|
font-family: 'Sarabun', 'Kanit', system-ui, sans-serif;
|
|
font-size: clamp(0.68rem, 1.35vw, 0.82rem);
|
|
font-weight: 700;
|
|
color: #e8ecff;
|
|
line-height: 1.25;
|
|
margin: 0;
|
|
}
|
|
.lobby-evidence-card-title-en {
|
|
font-family: system-ui, sans-serif;
|
|
font-size: clamp(0.58rem, 1.05vw, 0.68rem);
|
|
color: rgba(180, 190, 220, 0.85);
|
|
margin: 2px 0 0;
|
|
line-height: 1.2;
|
|
}
|
|
.lobby-evidence-card-art {
|
|
flex: 1 1 auto;
|
|
min-height: clamp(72px, 14vh, 140px);
|
|
max-height: min(22vh, 200px);
|
|
border-radius: 8px;
|
|
background: linear-gradient(160deg, rgba(30, 40, 70, 0.95), rgba(12, 16, 32, 0.98));
|
|
border: 1px solid rgba(0, 255, 255, 0.12);
|
|
margin-bottom: 6px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: rgba(0, 255, 255, 0.35);
|
|
font-size: clamp(1.5rem, 4vw, 2.25rem);
|
|
user-select: none;
|
|
}
|
|
.lobby-evidence-card-body {
|
|
font-family: 'Sarabun', 'Kanit', system-ui, sans-serif;
|
|
font-size: clamp(0.6rem, 1.15vw, 0.72rem);
|
|
color: rgba(210, 218, 240, 0.92);
|
|
line-height: 1.4;
|
|
margin: 0 0 8px;
|
|
flex-shrink: 0;
|
|
max-height: 4.5em;
|
|
overflow: hidden;
|
|
display: -webkit-box;
|
|
-webkit-line-clamp: 4;
|
|
-webkit-box-orient: vertical;
|
|
}
|
|
.lobby-evidence-card-foot {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 8px;
|
|
margin-top: auto;
|
|
flex-shrink: 0;
|
|
}
|
|
.lobby-evidence-link {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
gap: 6px;
|
|
min-width: 0;
|
|
}
|
|
.lobby-evidence-avatar {
|
|
width: 26px;
|
|
height: 26px;
|
|
border-radius: 50%;
|
|
background: linear-gradient(145deg, #7aa2f7, #565f89);
|
|
color: #1a1b26;
|
|
font-size: 11px;
|
|
font-weight: 800;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
box-shadow: 0 0 0 2px rgba(0, 255, 255, 0.25);
|
|
}
|
|
.lobby-evidence-link-name {
|
|
font-size: clamp(0.62rem, 1.1vw, 0.74rem);
|
|
font-weight: 600;
|
|
color: #c0caf5;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.lobby-evidence-foot-meta {
|
|
text-align: right;
|
|
flex-shrink: 0;
|
|
}
|
|
.lobby-evidence-rarity {
|
|
display: block;
|
|
font-size: clamp(0.55rem, 0.95vw, 0.65rem);
|
|
color: rgba(170, 180, 210, 0.9);
|
|
margin-bottom: 2px;
|
|
}
|
|
.lobby-evidence-stars {
|
|
font-size: clamp(0.65rem, 1.2vw, 0.78rem);
|
|
letter-spacing: 1px;
|
|
line-height: 1;
|
|
}
|
|
.lobby-evidence-card--common .lobby-evidence-stars { color: #d4d4d8; text-shadow: 0 0 8px rgba(200, 200, 210, 0.4); }
|
|
.lobby-evidence-card--rare .lobby-evidence-stars { color: #60a5fa; text-shadow: 0 0 10px rgba(59, 130, 246, 0.5); }
|
|
.lobby-evidence-card--legendary .lobby-evidence-stars { color: #fcd34d; text-shadow: 0 0 10px rgba(234, 179, 8, 0.55); }
|
|
@media (max-width: 720px) {
|
|
.lobby-evidence-cards-root {
|
|
flex-wrap: wrap;
|
|
overflow-y: auto;
|
|
align-content: flex-start;
|
|
}
|
|
.lobby-evidence-card {
|
|
flex: 1 1 100%;
|
|
max-width: none;
|
|
min-width: 0;
|
|
}
|
|
}
|
|
|
|
/* —— กระดานอันดับ LobbyB (เหรียญ leaderboard-1/2/3 จาก Main-Lobby) —— */
|
|
.lobby-rank-overlay {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 10048;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
|
|
box-sizing: border-box;
|
|
}
|
|
.lobby-rank-overlay.is-hidden {
|
|
display: none !important;
|
|
}
|
|
.lobby-rank-backdrop {
|
|
position: absolute;
|
|
inset: 0;
|
|
background: rgba(2, 4, 14, 0.82);
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
cursor: pointer;
|
|
}
|
|
.lobby-rank-dialog {
|
|
position: relative;
|
|
z-index: 1;
|
|
width: min(96vw, 520px);
|
|
max-height: min(90vh, 720px);
|
|
pointer-events: none;
|
|
}
|
|
.lobby-rank-dialog * {
|
|
pointer-events: auto;
|
|
}
|
|
.lobby-rank-panel {
|
|
background: linear-gradient(165deg, rgba(28, 36, 58, 0.96), rgba(12, 16, 32, 0.98));
|
|
border-radius: 16px;
|
|
border: 2px solid rgba(0, 255, 255, 0.45);
|
|
box-shadow:
|
|
0 0 0 1px rgba(255, 0, 200, 0.25),
|
|
0 0 32px rgba(0, 255, 255, 0.12),
|
|
0 0 48px rgba(255, 0, 180, 0.08),
|
|
inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
padding: clamp(10px, 2.5vw, 16px);
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 0;
|
|
font-family: 'Kanit', 'Sarabun', system-ui, sans-serif;
|
|
}
|
|
.lobby-rank-head {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: center;
|
|
position: relative;
|
|
padding: 6px 44px 12px 12px;
|
|
border-bottom: 1px solid rgba(0, 255, 255, 0.28);
|
|
margin-bottom: 8px;
|
|
}
|
|
.lobby-rank-case-title {
|
|
margin: 0;
|
|
font-size: clamp(0.95rem, 2.8vw, 1.15rem);
|
|
font-weight: 700;
|
|
color: #e8f4ff;
|
|
text-align: center;
|
|
text-shadow: 0 0 12px rgba(0, 255, 255, 0.35);
|
|
line-height: 1.25;
|
|
}
|
|
.lobby-rank-close {
|
|
position: absolute;
|
|
top: 2px;
|
|
right: 4px;
|
|
width: 44px;
|
|
height: 44px;
|
|
padding: 0;
|
|
border: none;
|
|
border-radius: 10px;
|
|
background: transparent;
|
|
color: rgba(0, 255, 255, 0.95);
|
|
font-size: 1.75rem;
|
|
line-height: 1;
|
|
cursor: pointer;
|
|
text-shadow: 0 0 14px rgba(0, 255, 255, 0.85);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: transform 0.15s ease, filter 0.15s ease;
|
|
}
|
|
.lobby-rank-close:hover {
|
|
transform: scale(1.06);
|
|
filter: brightness(1.12);
|
|
}
|
|
.lobby-rank-podium {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: flex-end;
|
|
justify-content: center;
|
|
gap: clamp(6px, 2vw, 14px);
|
|
padding: 8px 4px 14px;
|
|
flex-shrink: 0;
|
|
}
|
|
.lobby-rank-ped {
|
|
flex: 1 1 0;
|
|
min-width: 0;
|
|
max-width: 150px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
text-align: center;
|
|
padding: 10px 6px 12px;
|
|
border-radius: 14px;
|
|
background: rgba(0, 0, 0, 0.28);
|
|
border: 1px solid rgba(0, 255, 255, 0.22);
|
|
box-sizing: border-box;
|
|
}
|
|
.lobby-rank-ped--2 {
|
|
order: 1;
|
|
min-height: 148px;
|
|
}
|
|
.lobby-rank-ped--1 {
|
|
order: 2;
|
|
min-height: 188px;
|
|
border-color: rgba(255, 215, 0, 0.45);
|
|
box-shadow: 0 0 22px rgba(255, 200, 0, 0.12);
|
|
}
|
|
.lobby-rank-ped--3 {
|
|
order: 3;
|
|
min-height: 132px;
|
|
}
|
|
.lobby-rank-crown {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 4px;
|
|
margin-bottom: 4px;
|
|
font-size: 1.1rem;
|
|
line-height: 1;
|
|
filter: drop-shadow(0 0 6px rgba(255, 215, 0, 0.6));
|
|
}
|
|
.lobby-rank-crown-n {
|
|
font-size: 0.85rem;
|
|
font-weight: 800;
|
|
color: #ffe066;
|
|
}
|
|
.lobby-rank-medal-wrap {
|
|
height: 36px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-bottom: 6px;
|
|
}
|
|
.lobby-rank-medal-img {
|
|
width: auto;
|
|
height: 34px;
|
|
object-fit: contain;
|
|
display: block;
|
|
}
|
|
.lobby-rank-ped-avatar {
|
|
width: 48px;
|
|
height: 48px;
|
|
border-radius: 50%;
|
|
background: linear-gradient(145deg, #7aa2f7, #565f89);
|
|
color: #1a1b26;
|
|
font-size: 1.1rem;
|
|
font-weight: 800;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-bottom: 6px;
|
|
box-shadow: 0 0 0 2px rgba(0, 255, 255, 0.3);
|
|
flex-shrink: 0;
|
|
}
|
|
.lobby-rank-ped--1 .lobby-rank-ped-avatar {
|
|
width: 56px;
|
|
height: 56px;
|
|
font-size: 1.25rem;
|
|
}
|
|
.lobby-rank-ped-name {
|
|
font-size: clamp(0.68rem, 2vw, 0.8rem);
|
|
font-weight: 600;
|
|
color: #e8ecff;
|
|
line-height: 1.2;
|
|
word-break: break-word;
|
|
max-width: 100%;
|
|
}
|
|
.lobby-rank-ped-score {
|
|
margin-top: 4px;
|
|
font-size: clamp(0.75rem, 2.2vw, 0.9rem);
|
|
font-weight: 700;
|
|
color: #fff;
|
|
text-shadow: 0 0 8px rgba(255, 255, 255, 0.2);
|
|
}
|
|
.lobby-rank-table-wrap {
|
|
flex: 1 1 auto;
|
|
min-height: 0;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
margin: 0 -4px;
|
|
padding: 0 4px;
|
|
scrollbar-width: thin;
|
|
}
|
|
.lobby-rank-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
font-size: clamp(0.65rem, 1.9vw, 0.78rem);
|
|
}
|
|
.lobby-rank-table thead th {
|
|
text-align: left;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.06em;
|
|
color: rgba(0, 255, 255, 0.85);
|
|
font-weight: 700;
|
|
padding: 8px 6px;
|
|
border-bottom: 1px solid rgba(0, 255, 255, 0.25);
|
|
position: sticky;
|
|
top: 0;
|
|
background: linear-gradient(180deg, rgba(20, 26, 44, 0.98), rgba(20, 26, 44, 0.92));
|
|
z-index: 1;
|
|
}
|
|
.lobby-rank-table thead th:nth-child(1) { width: 3.2rem; }
|
|
.lobby-rank-table thead th:nth-child(3) { text-align: right; width: 4rem; }
|
|
.lobby-rank-table tbody td {
|
|
padding: 7px 6px;
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
|
|
color: #e2e8f0;
|
|
vertical-align: middle;
|
|
}
|
|
.lobby-rank-table tbody td:nth-child(3) {
|
|
text-align: right;
|
|
font-weight: 600;
|
|
color: #fff;
|
|
}
|
|
.lobby-rank-table .lobby-rank-row-av {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
min-width: 0;
|
|
}
|
|
.lobby-rank-table .lobby-rank-mini-av {
|
|
width: 26px;
|
|
height: 26px;
|
|
border-radius: 50%;
|
|
background: linear-gradient(145deg, #9ece6a, #565f89);
|
|
color: #1a1b26;
|
|
font-size: 0.65rem;
|
|
font-weight: 800;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
box-shadow: 0 0 0 1px rgba(0, 255, 255, 0.2);
|
|
}
|
|
.lobby-rank-table .lobby-rank-row-name {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
max-width: 180px;
|
|
}
|
|
.lobby-rank-self {
|
|
flex-shrink: 0;
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 12px 10px 6px;
|
|
margin-top: 6px;
|
|
border-top: 1px solid rgba(255, 0, 180, 0.42);
|
|
background: linear-gradient(90deg, rgba(255, 0, 180, 0.07), transparent);
|
|
}
|
|
.lobby-rank-self-rank {
|
|
font-weight: 800;
|
|
color: #c0caf5;
|
|
min-width: 2.5rem;
|
|
font-size: clamp(0.75rem, 2vw, 0.88rem);
|
|
}
|
|
.lobby-rank-self-av {
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: 50%;
|
|
background: linear-gradient(145deg, #f472b6, #a855f7);
|
|
color: #fff;
|
|
font-size: 1rem;
|
|
font-weight: 800;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
box-shadow: 0 0 0 2px rgba(255, 100, 200, 0.45);
|
|
}
|
|
.lobby-rank-self-meta {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
.lobby-rank-self-name {
|
|
font-size: clamp(0.85rem, 2.4vw, 1rem);
|
|
font-weight: 800;
|
|
color: #fff;
|
|
line-height: 1.2;
|
|
}
|
|
.lobby-rank-self-score {
|
|
font-size: clamp(0.85rem, 2.4vw, 1rem);
|
|
font-weight: 800;
|
|
color: #ff4ecd;
|
|
text-shadow: 0 0 12px rgba(255, 78, 205, 0.45);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.version-tag {
|
|
position: fixed;
|
|
right: 8px;
|
|
bottom: 4px;
|
|
left: auto;
|
|
font-size: 10px;
|
|
color: #a9b1d6;
|
|
opacity: 0.7;
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* play — quiz carry pregame (สอดคล้อง play.html) */
|
|
.quiz-carry-pregame-card {
|
|
position: relative;
|
|
z-index: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
max-width: min(94vw, 900px);
|
|
width: 100%;
|
|
max-height: min(94vh, 900px);
|
|
overflow: hidden;
|
|
background: rgba(10, 12, 26, 0.55);
|
|
border: none;
|
|
border-radius: 4px;
|
|
box-shadow: none;
|
|
pointer-events: auto;
|
|
}
|
|
.quiz-carry-pregame-footer {
|
|
flex: 0 0 auto;
|
|
padding: 0.85rem 1rem 1rem;
|
|
background: linear-gradient(180deg, rgba(8, 10, 22, 0.2), rgba(8, 10, 22, 0.96));
|
|
border-top: none;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 0.65rem;
|
|
}
|
|
|
|
/* Editor — เกมตอบคำถาม */
|
|
.quiz-editor-wrap {
|
|
margin: 1rem 0;
|
|
padding: 1rem;
|
|
background: #24283b;
|
|
border-radius: 8px;
|
|
border: 1px solid #414868;
|
|
}
|
|
.quiz-editor-wrap h3 {
|
|
margin: 0 0 0.5rem;
|
|
font-size: 1rem;
|
|
color: #7aa2f7;
|
|
}
|
|
.quiz-questions-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.6rem;
|
|
margin: 0.75rem 0;
|
|
}
|
|
.quiz-q-row {
|
|
display: grid;
|
|
grid-template-columns: 1fr auto auto;
|
|
gap: 0.5rem;
|
|
align-items: center;
|
|
}
|
|
@media (max-width: 600px) {
|
|
.quiz-q-row {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
.quiz-q-row input[type="text"] {
|
|
min-width: 0;
|
|
padding: 0.4rem 0.5rem;
|
|
border-radius: 6px;
|
|
border: 1px solid #565f89;
|
|
background: #1a1b26;
|
|
color: #c0caf5;
|
|
}
|
|
.quiz-q-row select {
|
|
padding: 0.35rem;
|
|
border-radius: 6px;
|
|
border: 1px solid #565f89;
|
|
background: #1a1b26;
|
|
color: #c0caf5;
|
|
}
|
|
.btn-quiz-add,
|
|
.quiz-q-remove {
|
|
padding: 0.35rem 0.65rem;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
border: 1px solid #565f89;
|
|
background: #414868;
|
|
color: #c0caf5;
|
|
font: inherit;
|
|
}
|
|
.quiz-q-remove {
|
|
font-size: 0.8rem;
|
|
}
|