/* 로또 번호 생성기 */
.lt-games { max-width: 10rem; }
.lt-meta { margin: .4rem 0 0; font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); font-variant-numeric: tabular-nums; }
.lt-alert { margin-bottom: var(--spacing-md, 1rem); }
.lt-go { width: 100%; justify-content: center; }

.lt-key { font-weight: 700; padding: 0 .3rem; border-radius: 4px; }
.lt-key-fix { background: #dbe8ff; color: #1f4fa8; }
.lt-key-ex  { background: #fde2e1; color: #a1302a; }

/* 1~45 번호판 — 9칸 × 5줄(복권 용지와 같은 폭) */
.lt-grid { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: .3rem; margin-top: .4rem; }
.lt-cell {
    min-height: 2.1rem; padding: 0;
    border: 1px solid var(--border-color, #d8dce3); border-radius: 6px;
    background: var(--bg-surface, #fff); color: var(--text-primary, #1f2328);
    font-size: .875rem; font-weight: 600; font-variant-numeric: tabular-nums; cursor: pointer;
}
.lt-cell:hover { border-color: #8aa4d6; }
.lt-cell:focus-visible { outline: 2px solid #4a7fd6; outline-offset: 1px; }
.lt-cell.is-fix { background: #2f6fdb; border-color: #2f6fdb; color: #fff; }
.lt-cell.is-ex  { background: #fde2e1; border-color: #e3908b; color: #a1302a; text-decoration: line-through; }

.lt-empty { text-align: center; padding: var(--spacing-xl, 2rem) var(--spacing-md, 1rem); color: var(--text-muted, #626977); }
.lt-empty > i { font-size: 1.75rem; display: block; margin-bottom: .5rem; opacity: .6; }
.lt-empty > p { margin: 0; font-size: var(--text-sm, .875rem); }

.lt-games-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.lt-game { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.lt-game-label { width: 1.4rem; font-weight: 700; color: var(--text-muted, #626977); }

/* 공 — 동행복권 추첨 공 색 구간 */
.lt-ball {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.35rem; height: 2.35rem; border-radius: 50%;
    font-weight: 700; font-size: .95rem; font-variant-numeric: tabular-nums;
    color: #fff; text-shadow: 0 1px 1px rgba(0, 0, 0, .25);
}
.lt-ball-1 { background: #fbc400; color: #3a2c00; text-shadow: none; }
.lt-ball-2 { background: #69c8f2; color: #0b3346; text-shadow: none; }
.lt-ball-3 { background: #ff7272; }
.lt-ball-4 { background: #aaaaaa; }
.lt-ball-5 { background: #b0d840; color: #26330a; text-shadow: none; }
.lt-ball.is-fixed { box-shadow: 0 0 0 2px var(--bg-surface, #fff), 0 0 0 4px #2f6fdb; }

.lt-tablewrap { overflow-x: auto; }
.lt-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm, .875rem); }
.lt-table th, .lt-table td { padding: .45rem .6rem; border-bottom: 1px solid var(--border-color, #e5e8ed); text-align: left; white-space: nowrap; }
.lt-table th { font-weight: 600; color: var(--text-muted, #626977); font-size: var(--text-ui-sm, .8125rem); }
.lt-table .lt-num { text-align: right; font-variant-numeric: tabular-nums; }
.lt-note { margin: .75rem 0 0; font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }

@media (max-width: 480px) {
    .lt-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
    .lt-ball { width: 2.1rem; height: 2.1rem; font-size: .875rem; }
    .lt-table th, .lt-table td { padding: .4rem .35rem; }
    .lt-table td:nth-child(2) { white-space: normal; }   /* 조건 칸만 접어 표가 화면 폭에 들어오게 */
}
