/** * แฟ้มหลักฐาน LobbyB — layout 06-3-evidence-view (ev-*) * Design canvas: 1920 × 1080 */ #lobby-evidence-overlay { --ev-w: 1920; --ev-h: 1080; position: fixed; inset: 0; z-index: 10047; overflow: hidden; font-family: 'Kanit', 'Noto Sans Thai', system-ui, sans-serif; color: #1c2235; background: transparent; } #lobby-evidence-overlay.is-hidden { display: none !important; } #lobby-evidence-overlay .lobby-evidence-backdrop { position: absolute; inset: 0; background: rgba(4, 8, 22, 0.9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); cursor: pointer; z-index: 0; } #lobby-evidence-overlay .stage-wrap { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; } #lobby-evidence-overlay .stage-wrap * { pointer-events: auto; } #lobby-evidence-overlay .ev-stage { position: absolute; left: 0; top: 0; width: calc(var(--ev-w) * 1px); height: calc(var(--ev-h) * 1px); transform-origin: 0 0; will-change: transform; background: transparent; } #lobby-evidence-overlay .layer { position: absolute; box-sizing: border-box; } #lobby-evidence-overlay .ev-bg-fallback { inset: 0; /* background: radial-gradient(ellipse at 50% 35%, #1c2547 0%, #0a0f24 60%, #04050d 100%); */ pointer-events: none; } #lobby-evidence-overlay .ev-popup { left: calc(118 / var(--ev-w) * 100%); top: calc(58 / var(--ev-h) * 100%); width: calc(1684 / var(--ev-w) * 100%); height: calc(963 / var(--ev-h) * 100%); pointer-events: none; } #lobby-evidence-overlay .ev-popup img { display: block; width: 100%; height: 100%; object-fit: fill; pointer-events: none; user-select: none; -webkit-user-drag: none; } #lobby-evidence-overlay .ev-close { left: calc(1640 / var(--ev-w) * 100%); top: calc(145 / var(--ev-h) * 100%); width: calc(90 / var(--ev-w) * 100%); height: calc(90 / var(--ev-h) * 100%); padding: 0; margin: 0; border: none; border-radius: 14px; cursor: pointer; background: transparent; } #lobby-evidence-overlay .ev-close:hover, #lobby-evidence-overlay .ev-close:focus-visible { background: transparent; box-shadow: none; } #lobby-evidence-overlay .ev-tabs { left: calc(220 / var(--ev-w) * 100%); top: calc(200 / var(--ev-h) * 100%); width: calc(1481 / var(--ev-w) * 100%); height: calc(129 / var(--ev-h) * 100%); } #lobby-evidence-overlay .ev-tab { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; opacity: 0; transition: opacity 0.2s ease; pointer-events: none; user-select: none; -webkit-user-drag: none; } #lobby-evidence-overlay .ev-tab.is-active { opacity: 1; } /* hotspots ตรงกับ mockup 06-3-evidence-view — ev-tabs canvas = 1481×129 (3 ปุ่ม 240×110 + gap 20) */ #lobby-evidence-overlay .ev-tab-click { position: absolute; top: calc(5 / 129 * 100%); height: calc(110 / 129 * 100%); width: calc(240 / 1481 * 100%); padding: 0; margin: 0; border: none; background: transparent; cursor: pointer; border-radius: 8px; z-index: 5; } #lobby-evidence-overlay .ev-tab-click[data-evidence-tab="0"] { left: 0; } #lobby-evidence-overlay .ev-tab-click[data-evidence-tab="1"] { left: calc(260 / 1481 * 100%); } #lobby-evidence-overlay .ev-tab-click[data-evidence-tab="2"] { left: calc(520 / 1481 * 100%); } #lobby-evidence-overlay .ev-tab-click:hover { background: transparent; } #lobby-evidence-overlay .ev-tab-click:focus-visible { outline: 2px solid rgba(0, 255, 255, 0.9); outline-offset: 2px; } #lobby-evidence-overlay .ev-cards { left: calc(270 / var(--ev-w) * 100%); top: calc(380 / var(--ev-h) * 100%); width: calc(940 / var(--ev-w) * 100%); height: calc(560 / var(--ev-h) * 100%); display: flex; flex-wrap: nowrap; align-content: flex-start; align-items: stretch; justify-content: flex-start; gap: calc(24 / 940 * 100%); pointer-events: none; } /* การ์ดเต็ม — อิง mockup 06-3 (296×540 ในกรอบ 940×560) */ #lobby-evidence-overlay .ev-card { position: relative; flex: 0 0 calc(296 / 940 * 100%); width: calc(296 / 940 * 100%); max-width: calc(296 / 940 * 100%); min-width: 0; height: 100%; max-height: 100%; border-radius: 14px; background: linear-gradient(180deg, #cfd5dd 0%, #b2bac4 100%); box-shadow: 0 8px 22px rgba(0, 0, 0, 0.45); display: flex; flex-direction: column; overflow: hidden; pointer-events: auto; box-sizing: border-box; } #lobby-evidence-overlay .ev-card.rarity-common { border: 4px solid #9aa3b2; } #lobby-evidence-overlay .ev-card.rarity-rare { border: 4px solid #6cc7ff; background: linear-gradient(180deg, #d2dde7 0%, #adbecd 100%); box-shadow: 0 0 24px rgba(80, 175, 240, 0.35); } #lobby-evidence-overlay .ev-card.rarity-legendary { border: 4px solid #f1b94a; background: linear-gradient(180deg, #e4d3a8 0%, #c7a667 100%); box-shadow: 0 0 28px rgba(241, 185, 74, 0.55); } /* การ์ดแบบรูปเต็มใบ (PNG design) — แทน HTML chrome ทั้งหมด */ #lobby-evidence-overlay .ev-card.ev-card--img { background: transparent; border: none !important; box-shadow: none; padding: 0; overflow: visible; } #lobby-evidence-overlay .ev-card.ev-card--img .ev-card-full-img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 12px; } #lobby-evidence-overlay .ev-card-head { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: rgba(255, 255, 255, 0.55); border-bottom: 1px solid rgba(0, 0, 0, 0.12); flex-shrink: 0; } #lobby-evidence-overlay .ev-card-head .icon { width: 34px; height: 34px; border-radius: 8px; background: rgba(0, 0, 0, 0.55); display: grid; place-items: center; color: #fff; font-size: 18px; font-weight: 700; flex-shrink: 0; } #lobby-evidence-overlay .ev-card-head .name { line-height: 1.05; min-width: 0; } #lobby-evidence-overlay .ev-card-head .name .th { font-size: 18px; font-weight: 700; margin: 0; } #lobby-evidence-overlay .ev-card-head .name .en { font-size: 12px; font-weight: 500; color: #444; margin: 0; } #lobby-evidence-overlay .ev-card-art { flex: 0 0 calc(290 / 540 * 100%); min-height: 0; margin: 8px 8px 0; border-radius: 8px; background: #707a8a; color: rgba(255, 255, 255, 0.55); font-size: 14px; font-weight: 600; display: grid; place-items: center; text-align: center; box-sizing: border-box; } #lobby-evidence-overlay .ev-card-desc { padding: 8px 12px 6px; font-size: 13px; font-weight: 500; color: #2a2f3c; line-height: 1.35; flex: 1 1 auto; min-height: 0; text-align: center; margin: 0; overflow: hidden; } #lobby-evidence-overlay .ev-card-link-wrap { margin: 6px 8px 10px; flex-shrink: 0; } #lobby-evidence-overlay .ev-card-link { margin: 0 0 6px; padding: 6px 8px; border-radius: 8px; background: linear-gradient(180deg, #e8edf3 0%, #c8cfdb 100%); border: 1px solid rgba(0, 0, 0, 0.18); display: flex; align-items: center; justify-content: space-between; gap: 8px; } #lobby-evidence-overlay .ev-card-link:last-child { margin-bottom: 0; } #lobby-evidence-overlay .ev-card-link .label { font-size: 11px; font-weight: 700; color: #2a2f3c; } #lobby-evidence-overlay .ev-card-link .stars { color: #c79e3a; font-size: 11px; font-weight: 700; } #lobby-evidence-overlay .ev-card-link .suspect { display: flex; align-items: center; gap: 6px; width: 100%; background: rgba(255, 255, 255, 0.7); padding: 4px 8px; border-radius: 6px; box-sizing: border-box; } #lobby-evidence-overlay .ev-card-link .suspect .avatar { width: 22px; height: 22px; border-radius: 50%; background: #4a5566; color: #fff; font-size: 11px; font-weight: 800; display: grid; place-items: center; flex-shrink: 0; } #lobby-evidence-overlay .ev-card-link .suspect .sname { font-size: 13px; font-weight: 700; } #lobby-evidence-overlay .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; } /* ===== การ์ดที่ยังไม่ได้รับ — locked overlay ===== */ #lobby-evidence-overlay .ev-card.ev-card--locked { filter: grayscale(0.85) brightness(0.78); position: relative; } #lobby-evidence-overlay .ev-card.ev-card--locked > *:not(.ev-card-lock) { opacity: 0.18; } #lobby-evidence-overlay .ev-card-lock { position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; gap: 10px; padding: 16px; background: linear-gradient(180deg, rgba(8, 14, 32, 0.55) 0%, rgba(8, 14, 32, 0.85) 100%); text-align: center; z-index: 3; border-radius: 10px; } #lobby-evidence-overlay .ev-card-lock-icon { font-size: 64px; line-height: 1; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.6)); color: #cbd5e1; } #lobby-evidence-overlay .ev-card-lock-text { font-size: 18px; font-weight: 800; color: #e2e8f0; letter-spacing: 0.04em; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); } #lobby-evidence-overlay .ev-card-lock-hint { font-size: 12px; font-weight: 500; color: #94a3b8; line-height: 1.4; max-width: 90%; } #lobby-evidence-overlay .ev-empty-hint { grid-column: 1 / -1; margin: 0; padding: 48px 24px; text-align: center; color: #94a3b8; font: 500 15px/1.5 Kanit, system-ui, sans-serif; }