/* ── LottoMom · North Dakota · 2by2 ─────────────────────────────────────── */
:root {
  --gold: #d4a017;
  --accent: #4a9fd4;
  --accent2: #e05555;
  --accent-glow: rgba(74,159,212,0.25);
  --bg: #0a0800;
  --surface: #18120a;
  --surface2: #1e170e;
  --border: rgba(255,255,255,0.08);
  --text: #ffffff;
  --muted: rgba(255,255,255,0.45);
  --muted2: rgba(255,255,255,0.25);
  --font-display: 'Oswald', sans-serif;
  --font-body: 'Inter', -apple-system, sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;}
.tt-wrap{max-width:620px;margin:0 auto;min-height:100vh;background:var(--bg);}
.tt-nav{display:flex;justify-content:center;gap:20px;padding:14px 20px;border-bottom:1px solid var(--border);background:rgba(10,8,0,0.95);backdrop-filter:blur(8px);flex-wrap:wrap;position:relative;z-index:10;}
.tt-nav a{font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;}
.tt-nav a.active,.tt-nav a:hover{color:var(--gold);}
.tt-back{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:12px 16px;transition:color 0.15s;}
.tt-back:hover{color:var(--gold);}
.lm-ad-banner,.lm-ad-midpage,.lm-ad-badge{text-align:center;padding:8px 16px;display:none;}
.lm-ad-banner-inner,.lm-ad-mid-inner{border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,0.06);}
.lm-ad-label{display:block;font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.2);margin-bottom:4px;font-weight:500;}
.lm-ad-sponsor-label{display:block;font-size:10px;color:rgba(255,255,255,0.3);margin-top:4px;}
.lm-ad-badge-inner{font-size:11px;color:rgba(255,255,255,0.3);}
.lm-ad-badge-inner a{color:var(--gold);text-decoration:none;}
.tt-header{text-align:center;padding:28px 20px 20px;position:relative;z-index:1;}
.tt-header-icon{font-size:40px;display:block;margin-bottom:10px;}
.tt-badge{display:inline-block;font-size:10px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(74,159,212,0.4);padding:5px 16px;border-radius:100px;margin-bottom:14px;background:rgba(74,159,212,0.08);}
.tt-header h1{font-family:var(--font-display);font-size:52px;font-weight:700;line-height:1;color:var(--text);letter-spacing:0.02em;}
.tt-header h1 span{color:var(--accent);}
.tt-header p{font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted2);font-weight:500;margin-top:8px;}
.tt-divider{width:40px;height:2px;margin:14px auto 0;background:linear-gradient(90deg,transparent,var(--accent),transparent);border:none;}
.tt-jackpot{margin:16px 16px 0;border-radius:16px;padding:18px 20px;background:linear-gradient(135deg,rgba(74,159,212,0.14),rgba(10,8,0,0));border:1px solid rgba(74,159,212,0.28);text-align:center;}
.tt-jackpot-label{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.35);font-weight:600;}
.tt-jackpot-amount{font-family:var(--font-display);font-size:42px;font-weight:700;color:var(--accent);line-height:1.1;margin:6px 0 4px;}
.tt-jackpot-sub{font-size:11px;color:var(--muted2);}
.tt-jackpot-next{font-size:12px;color:var(--muted);font-weight:600;margin-top:8px;}
.tabs{display:flex;gap:0;margin:20px 16px 0;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--surface);}
.tab-btn{flex:1;padding:11px 6px;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;background:none;border:none;color:var(--muted);cursor:pointer;border-right:1px solid var(--border);transition:all 0.15s;}
.tab-btn:last-child{border-right:none;}
.tab-btn.active{background:var(--accent);color:#fff;}
.tab-btn:hover:not(.active){color:var(--text);background:rgba(255,255,255,0.04);}
.tab-panel{display:none;padding:20px 16px;}
.tab-panel.active{display:block;}
/* 2by2 specific layout */
.tt-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.tt-set{background:var(--surface2);border-radius:12px;padding:14px;border:1px solid var(--border);}
.tt-set-label{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:10px;text-align:center;}
.tt-set-label.red{color:var(--accent2);}
.tt-set-label.white{color:rgba(255,255,255,0.5);}
.tt-set-balls{display:flex;gap:10px;justify-content:center;}
.tt-ball{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;font-weight:700;border:2px solid var(--border);background:var(--bg);color:var(--muted2);transition:all 0.25s;}
.tt-ball.filled-red{background:var(--accent2);color:#fff;border-color:var(--accent2);}
.tt-ball.filled-white{background:#fff;color:#111;border-color:#fff;}
.tt-btn{display:block;width:100%;padding:15px;border:none;border-radius:12px;font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:0.06em;cursor:pointer;transition:all 0.2s;margin-bottom:10px;}
.tt-btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 20px var(--accent-glow);}
.tt-btn-primary:hover{background:#3a8fc4;box-shadow:0 6px 28px rgba(74,159,212,0.4);transform:translateY(-1px);}
.tt-btn-secondary{background:var(--surface2);color:var(--muted);border:1px solid var(--border);font-size:16px;}
.tt-btn-secondary:hover{color:var(--text);border-color:rgba(255,255,255,0.2);}
.tt-result-box{border-radius:14px;padding:18px;border:1px solid var(--border);background:var(--surface2);text-align:center;display:none;margin-top:12px;}
.tt-result-box.show{display:block;}
.tt-result-title{font-family:var(--font-display);font-size:24px;font-weight:700;margin-bottom:8px;}
.tt-result-title.win{color:#FFD700;}
.tt-result-title.loss{color:var(--muted);}
.tt-result-prize{font-size:32px;font-weight:700;color:#FFD700;margin:6px 0;}
.tt-result-detail{font-size:13px;color:var(--muted);}
.tt-result-display{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;}
.tt-result-set{background:var(--bg);border-radius:8px;padding:10px;border:1px solid var(--border);}
.tt-result-set-label{font-size:9px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted2);margin-bottom:6px;}
.tt-result-balls-row{display:flex;gap:6px;justify-content:center;}
.tt-mini-ball{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:15px;font-weight:700;}
.tt-mini-ball.match{background:#FFD700;color:#111;}
.tt-mini-ball.no-match-red{background:rgba(224,85,85,0.2);color:var(--accent2);border:1px solid rgba(224,85,85,0.3);}
.tt-mini-ball.no-match-white{background:rgba(255,255,255,0.08);color:var(--muted);border:1px solid var(--border);}
.tt-prize-table{width:100%;border-collapse:collapse;font-size:12px;}
.tt-prize-table th{text-align:left;padding:8px 10px;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted2);border-bottom:1px solid var(--border);}
.tt-prize-table td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,0.04);}
.tt-prize-table tr:last-child td{border-bottom:none;}
.tt-prize-table td:last-child{text-align:right;color:#FFD700;font-weight:600;}
.freq-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.freq-ball{width:54px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;}
.freq-ball-num{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:18px;font-weight:700;}
.freq-ball-count{font-size:9px;color:var(--muted2);font-weight:600;}
.freq-bar{height:3px;border-radius:2px;margin-top:2px;}
.freq-section-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text);margin-bottom:14px;letter-spacing:0.05em;}
.freq-red .freq-ball-num{background:rgba(224,85,85,0.18);color:var(--accent2);border:1px solid rgba(224,85,85,0.3);}
.freq-red .freq-bar{background:var(--accent2);}
.freq-white .freq-ball-num{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.8);border:1px solid rgba(255,255,255,0.2);}
.freq-white .freq-bar{background:rgba(255,255,255,0.4);}
.freq-divider{height:1px;background:var(--border);margin:22px 0;}
.history-entry{background:var(--surface2);border-radius:12px;padding:14px;margin-bottom:10px;border:1px solid var(--border);}
.history-date{font-size:11px;color:var(--muted2);margin-bottom:8px;font-weight:600;}
.history-tt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.history-tt-set{text-align:center;}
.history-tt-set-label{font-size:9px;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted2);margin-bottom:4px;}
.h-ball-row{display:flex;gap:5px;justify-content:center;}
.h-ball{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:14px;font-weight:700;}
.h-ball.h-red{background:var(--accent2);color:#fff;}
.h-ball.h-white{background:#fff;color:#111;}
.stat-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;}
.stat-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center;}
.stat-card-value{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--text);}
.stat-card-label{font-size:10px;color:var(--muted2);text-transform:uppercase;letter-spacing:0.1em;margin-top:3px;}
.stat-card.accent .stat-card-value{color:var(--accent);}
.stat-section-title{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;margin:18px 0 10px;}
.stat-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:13px;}
.stat-row:last-child{border-bottom:none;}
.stat-row-label{color:var(--muted);}
.stat-row-value{font-weight:600;color:var(--text);}
.tt-update-link{display:block;text-align:center;font-size:11px;color:var(--muted2);padding:8px;text-decoration:none;margin-top:4px;}
.tt-update-link:hover{color:var(--gold);}
.tt-footer{text-align:center;padding:24px 20px 52px;margin-top:16px;border-top:1px solid var(--border);color:var(--muted2);font-size:11px;line-height:1.9;}
.tt-footer a{color:var(--gold);text-decoration:none;}
.tt-footer nav{display:flex;justify-content:center;gap:16px;margin-bottom:10px;flex-wrap:wrap;}
