/* ========== Jiang Predictions — Shared Styles ========== */

:root {
  --bg: #0d1117;
  --surface: #161b22;
  --surface2: #21262d;
  --border: #30363d;
  --text: #e6edf3;
  --text-muted: #8b949e;
  --accent: #58a6ff;
  --green: #3fb950;
  --yellow: #d29922;
  --red: #f85149;
  --orange: #db6d28;
  --purple: #bc8cff;
  --gold: #e3b341;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* ========== NAVIGATION ========== */
.site-nav{position:sticky;top:0;z-index:50;background:rgba(22,27,34,0.95);border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}
.site-nav-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px}
.logo{font-weight:700;font-size:1.1em;color:var(--gold);white-space:nowrap;text-decoration:none}
.logo:hover{text-decoration:none}
.nav-links{display:flex;gap:4px}
.nav-link{display:inline-block;background:none;color:var(--text-muted);padding:8px 16px;border-radius:6px;font-size:0.9em;font-weight:500;transition:all 0.2s;text-decoration:none}
.nav-link:hover{color:var(--text);background:var(--surface2);text-decoration:none}
.nav-link.active{color:var(--accent);background:rgba(88,166,255,0.1)}

/* ========== CONTAINER ========== */
.container{max-width:1400px;margin:0 auto;padding:20px}

/* ========== BADGES ========== */
.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:0.75em;font-weight:600;text-transform:uppercase;letter-spacing:0.3px}
.badge-confirmed{background:rgba(63,185,80,0.15);color:var(--green)}
.badge-partially_confirmed{background:rgba(210,153,34,0.15);color:var(--yellow)}
.badge-wrong{background:rgba(248,81,73,0.15);color:var(--red)}
.badge-not_yet{background:rgba(139,148,158,0.15);color:var(--text-muted)}
.badge-unverifiable{background:rgba(188,140,255,0.15);color:var(--purple)}
.badge-confidence{background:var(--surface2);color:var(--text-muted)}
.badge-category{background:rgba(88,166,255,0.1);color:var(--accent)}
.badge-timeline{background:rgba(219,109,40,0.15);color:var(--orange)}

/* ========== PREDICTION CARDS ========== */
.predictions-list{display:flex;flex-direction:column;gap:12px}
.prediction-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 20px;transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s;border-left:4px solid var(--border)}
.prediction-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,0.2)}
.prediction-card.status-confirmed{border-left-color:var(--green)}
.prediction-card.status-partially_confirmed{border-left-color:var(--yellow)}
.prediction-card.status-wrong{border-left-color:var(--red)}
.prediction-card.status-not_yet{border-left-color:var(--text-muted)}
.prediction-card.status-unverifiable{border-left-color:var(--purple)}

.pred-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.pred-text{font-size:1em;font-weight:600;flex:1}
.pred-id{color:var(--text-muted);font-size:0.75em;font-family:monospace;white-space:nowrap}
.pred-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.pred-details{color:var(--text-muted);font-size:0.88em;margin-bottom:8px}
.pred-sources{font-size:0.8em;color:var(--text-muted);display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.pred-notes{margin-top:8px;padding:8px 12px;background:var(--surface2);border-radius:6px;font-size:0.85em;color:var(--text-muted);font-style:italic}
.pred-related{margin-top:6px;font-size:0.8em}
.pred-related a{color:var(--accent)}

.source-link{display:inline-flex;align-items:center;gap:3px;color:var(--accent);padding:1px 6px;border-radius:4px;transition:background 0.2s;font-size:inherit}
.source-link:hover{background:rgba(88,166,255,0.1);text-decoration:none}
.source-link .yt-icon{flex-shrink:0}
.source-plain{color:var(--text-muted)}

.status-select{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:4px 8px;border-radius:6px;font-size:0.8em;cursor:pointer;font-family:inherit}

/* Card entrance animation */
.card-enter{animation:cardEnter 0.35s ease both}
@keyframes cardEnter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* ========== ACCURACY BAR ========== */
.accuracy-bar{height:8px;background:var(--surface2);border-radius:4px;overflow:hidden;display:flex}
.accuracy-bar .segment{height:100%;transition:width 0.3s}
.seg-confirmed{background:var(--green)}
.seg-partial{background:var(--yellow)}
.seg-wrong{background:var(--red)}
.seg-pending{background:var(--border)}
.seg-unverifiable{background:var(--purple)}

.accuracy-legend{display:flex;gap:16px;font-size:0.8em;color:var(--text-muted);justify-content:center;margin:8px 0 20px}
.accuracy-legend span{display:flex;align-items:center;gap:4px}
.accuracy-legend span::before{content:'';display:inline-block;width:10px;height:10px;border-radius:2px}
.leg-confirmed::before{background:var(--green)!important}
.leg-partial::before{background:var(--yellow)!important}
.leg-wrong::before{background:var(--red)!important}
.leg-pending::before{background:var(--border)!important}
.leg-unverifiable::before{background:var(--purple)!important}

/* ========== FILTERS ========== */
.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;align-items:center}
.filters label{color:var(--text-muted);font-size:0.85em;font-weight:600}
.filters select,.filters input{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:6px;font-size:0.9em;font-family:inherit}
.filters input[type="text"]{flex:1;min-width:200px}
.filters select:focus,.filters input:focus{outline:none;border-color:var(--accent)}
.pred-count{color:var(--text-muted);font-size:0.85em;margin-bottom:16px}

/* ========== CTA / SUBSCRIBE ========== */
.cta-banner{background:linear-gradient(135deg,rgba(88,166,255,0.08) 0%,rgba(188,140,255,0.08) 100%);border:1px solid var(--border);border-radius:12px;padding:32px;text-align:center;margin:32px auto;max-width:600px}
.cta-banner h2,.cta-banner h3{font-size:1.3em;margin-bottom:8px}
.cta-banner p{color:var(--text-muted);font-size:0.9em;margin-bottom:16px}
.cta-btn{display:inline-block;background:var(--accent);color:#fff;font-weight:700;padding:12px 32px;border-radius:8px;font-size:1em;text-decoration:none;transition:opacity 0.2s;border:none;cursor:pointer}
.cta-btn:hover{opacity:0.85;text-decoration:none}
.alert-form{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;max-width:420px;margin:0 auto}
.alert-form input[type="email"]{flex:1;min-width:200px;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:0.95em;outline:none;transition:border-color 0.2s}
.alert-form input[type="email"]:focus{border-color:var(--accent)}
.alert-form button{white-space:nowrap}
.alert-msg{margin-top:12px;font-size:0.85em;min-height:1.2em}
.alert-msg.success{color:#238636}
.alert-msg.error{color:#da3633}

/* ========== FOOTER ========== */
.site-footer{border-top:1px solid var(--border);padding:32px 20px;text-align:center;color:var(--text-muted);font-size:0.82em;line-height:1.8;margin-top:40px}
.site-footer a{color:var(--accent)}
.site-footer .disclaimer{max-width:700px;margin:0 auto 12px;font-style:italic;opacity:0.7}

/* ========== SAVE NOTICE ========== */
.save-notice{position:fixed;bottom:20px;right:20px;background:var(--green);color:#000;padding:10px 20px;border-radius:8px;font-weight:600;opacity:0;transition:opacity 0.3s;pointer-events:none;z-index:100}
.save-notice.show{opacity:1}

.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px;font-size:1.1em}

/* ========== LOADING ========== */
.loading{text-align:center;color:var(--text-muted);padding:80px 20px;font-size:1.1em}

/* ========== MOBILE ========== */
@media(max-width:768px){
  .site-nav-inner{flex-direction:column;height:auto;padding:10px 16px;gap:8px}
  .nav-links{flex-wrap:wrap;justify-content:center}
  .nav-link{padding:6px 12px;font-size:0.82em}
  .container{padding:16px}
  .filters{flex-direction:column}
  .pred-header{flex-direction:column}
}
