* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width: 100%; height: 100%; overflow: hidden; background: #05060d; color: #e8ecff; font-family: system-ui, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
#game { position: fixed; inset: 0; width: 100%; height: 100%; touch-action: none; display: block; }
#ui { position: fixed; inset: 0; pointer-events: none; }
#ui > .screen { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; pointer-events: auto; background: radial-gradient(ellipse at center, rgba(10,14,30,0.65), rgba(0,0,0,0.9)); padding: 24px; }
#ui h1 { font-size: 28px; letter-spacing: 2px; }
#ui h2 { font-size: 20px; opacity: 0.9; }
#ui .sub { font-size: 13px; opacity: 0.7; text-align: center; line-height: 1.5; }
#ui button { pointer-events: auto; min-width: 220px; padding: 14px 20px; font-size: 16px; font-weight: 700; color: #0b0f1f; background: linear-gradient(180deg, #d6e2ff, #9fb6ff); border: 0; border-radius: 12px; box-shadow: 0 4px 16px rgba(80,120,255,0.35); cursor: pointer; }
#ui button.ghost { background: transparent; color: #aab4d6; box-shadow: none; border: 1px solid rgba(170,180,220,0.4); }
#ui button.danger { background: linear-gradient(180deg,#ffb8b8,#ff6b6b); }
#ui .card { background: rgba(20,26,48,0.85); border: 1px solid rgba(130,160,255,0.25); border-radius: 14px; padding: 16px 18px; width: min(520px, 92vw); }
#ui .tabs { display: flex; gap: 8px; }
#ui .tabs button { min-width: 0; padding: 8px 12px; font-size: 13px; background: rgba(255,255,255,0.08); color: #e8ecff; box-shadow: none; }
#ui .tabs button.active { background: linear-gradient(180deg,#7b9aff,#5b7bff); color: white; }
#ui .list { max-height: 40vh; overflow-y: auto; }
#ui .row { display: flex; justify-content: space-between; align-items: center; padding: 10px 6px; border-bottom: 1px dashed rgba(130,160,255,0.15); gap: 10px; }
#ui .row .rank { font-weight: 800; width: 28px; color: #ffd27a; }
#ui .row .who { flex: 1; font-size: 14px; }
#ui .row .who .msg { display: block; font-size: 12px; opacity: 0.7; margin-top: 2px; }
#ui .row .score { font-weight: 700; color: #a6ffec; }
#ui .row .flag { pointer-events: auto; background: transparent; color: #ff9a9a; border: 0; font-size: 16px; min-width: 0; padding: 4px; box-shadow: none; cursor: pointer; }
#ui .row.hidden-comment .msg { opacity: 0.35; font-style: italic; }
#ui .hud { position: absolute; top: calc(env(safe-area-inset-top, 0) + 12px); left: 12px; right: 12px; display: flex; justify-content: space-between; font-variant-numeric: tabular-nums; font-size: 14px; pointer-events: none; }
#ui .hud .pill { background: rgba(8,12,30,0.65); border: 1px solid rgba(130,160,255,0.3); border-radius: 999px; padding: 6px 12px; }
#ui .warning { position: absolute; top: 38%; left: 0; right: 0; text-align: center; font-size: 26px; font-weight: 900; letter-spacing: 3px; color: #ff5577; text-shadow: 0 0 18px rgba(255,85,119,0.7); opacity: 0; transition: opacity 250ms ease; pointer-events: none; }
#ui .warning.show { opacity: 1; }
#ui input[type="text"] { width: 100%; padding: 10px 12px; font-size: 14px; color: #e8ecff; background: rgba(0,0,0,0.35); border: 1px solid rgba(130,160,255,0.35); border-radius: 10px; }
