.levels-page { max-width: 1080px; }
.level-overview, .level-next, .level-rules { margin-bottom: 28px; padding: 24px; border: 3px solid var(--ink-border); border-radius: 14px; background: var(--white); box-shadow: 6px 6px 0 var(--ink-shadow); }
.level-overview { background: var(--pastel-purple-light); }
.level-progress h2 { font-size: 2.4rem; margin: 18px 0 8px; }
.level-progress progress { width: 100%; height: 18px; accent-color: #7844c6; }
.level-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0 12px; }
.level-stats div { padding: 16px; background: var(--white); border: 2px solid var(--ink-border); border-radius: 8px; }
.level-stats dt { font-weight: 700; font-size: .85rem; overflow-wrap: anywhere; }
.level-stats dd { margin: 8px 0 0; font-size: clamp(1.2rem, 4vw, 2rem); font-weight: 900; overflow-wrap: anywhere; }
.level-next { background: var(--tint-yellow); }
.level-next h2 { margin: 16px 0 8px; }
.level-table-scroll { overflow-x: auto; border: 3px solid var(--ink-border); border-radius: 12px; background: var(--white); margin: 24px 0 32px; }
.level-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.level-table th, .level-table td { text-align: left; padding: 12px 14px; border-bottom: 1px solid #dedbe5; white-space: nowrap; }
.level-table thead { background: #25252d; color: #fff; }
.level-table .is-unlocked { background: var(--bg-subtle); }
.level-table .is-current { background: var(--pastel-yellow); font-weight: 900; }
.level-rules { background: var(--white); line-height: 1.6; }
.level-rules a { color: var(--accent-purple); font-weight: 800; }
@media (max-width: 600px) {
    .levels-page { padding: 16px; }
    .level-overview, .level-next, .level-rules { padding: 18px; }
    .level-stats { gap: 8px; }
    .level-stats div { padding: 10px; }
}
