/* Classic template — mobile layout. Loads only on (max-width: 767px). */

.mobile-header { position: sticky; top: 0; background: var(--bg); border-bottom: 1px solid var(--border); padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; z-index: 2; }
.mobile-header h1 { margin: 0; font-size: 16px; }
.mobile-header .badge { font-size: 11px; padding: 4px 8px; border: 1px solid var(--accent); color: var(--accent); border-radius: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
.mobile-main { padding: 16px; }
.hero-mobile { background: var(--border); border-radius: 12px; padding: 18px; margin-bottom: 16px; }
.hero-mobile p { margin: 0 0 12px; font-size: 15px; }
.cta-mobile { display: inline-block; padding: 12px 20px; background: var(--accent); color: var(--accentFg); border-radius: 8px; font-weight: 700; font-size: 14px; text-decoration: none; }
.grid-mobile { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 8px; }
/* aspect-ratio fallback (see classic-desktop.css for rationale) — 1:1 here. */
.tile-mobile { position: relative; background: var(--border); border-radius: 10px; font-size: 12px; font-weight: 600; overflow: hidden; }
.tile-mobile::before { content: ''; display: block; padding-bottom: 100%; }
.tile-mobile > span { position: absolute; left: 10px; bottom: 10px; }
.nav-bottom { position: fixed; bottom: 0; left: 0; right: 0; height: 56px; background: var(--bg); border-top: 1px solid var(--border); display: grid; grid-template-columns: repeat(4, 1fr); font-size: 11px; z-index: 2; }
.nav-bottom a { display: flex; align-items: center; justify-content: center; color: var(--fg); text-decoration: none; opacity: 0.65; }
.nav-bottom a.active { opacity: 1; color: var(--accent); }
.meta { margin-top: 24px; padding: 14px 18px; background: rgba(255, 255, 255, 0.04); border: 1px solid var(--border); border-radius: 8px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; white-space: pre; }
