/*
Theme Name: StreamBlue Reddit
Theme URI: https://example.com/
Author: You
Description: Ultra-fast flat blue Reddit-style front page with trending + lightweight upvotes for short sports news.
Version: 1.0.0
License: GPLv2 or later
Text Domain: streamblue-reddit
*/

:root{
  --bg:#f6f8fc;
  --surface:#ffffff;
  --text:#0b1220;
  --muted:#556277;
  --border:rgba(16,24,40,.10);
  --blue:#0b5ed7;
  --blue2:#1f78ff;
  --shadow:0 8px 22px rgba(12, 18, 32, .06);
  --radius:14px;
  --max:1100px;
}

*{box-sizing:border-box}
html{color-scheme:light}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  line-height:1.55;
  background:var(--bg);
  color:var(--text);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:inherit; text-decoration:none}
a:hover{color:var(--blue2)}
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:3px solid rgba(31,120,255,.35);
  outline-offset:2px;
  border-radius:12px;
}

.sb-wrap{max-width:var(--max); margin:0 auto; padding:18px}
.sb-top{
  position:sticky; top:0; z-index:20;
  backdrop-filter:saturate(180%) blur(10px);
  background:rgba(246,248,252,.82);
  border-bottom:1px solid var(--border);
}
.sb-top .sb-wrap{display:flex; align-items:center; gap:14px}
.sb-brand{display:flex; align-items:center; gap:10px; font-weight:900; letter-spacing:-.02em}
.sb-dot{width:10px; height:10px; border-radius:999px; background:var(--blue)}
.sb-title{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:44vw}
.sb-nav{margin-left:auto; display:flex; gap:14px; flex-wrap:wrap; align-items:center}
.sb-nav a{color:var(--muted); font-weight:700}
.sb-nav a:hover{color:var(--text)}

.sb-main{padding:16px 0 36px}
.sb-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
}
@media (min-width: 920px){
  .sb-grid{grid-template-columns: 1.7fr 1fr}
}

.sb-panel{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.sb-panel-h{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 14px;
  border-bottom:1px solid var(--border);
}
.sb-panel-h h2{
  margin:0;
  font-size:14px;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--muted);
}
.sb-pill{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(11,94,215,.08);
  color:var(--blue);
  border:1px solid rgba(11,94,215,.14);
  font-weight:900;
  font-size:12px;
}

.sb-list{list-style:none; margin:0; padding:0}
.sb-row{
  display:grid;
  grid-template-columns: 42px 1fr;
  gap:12px;
  padding:12px 14px;
  border-top:1px solid var(--border);
}
.sb-row:first-child{border-top:0}
.sb-row:hover{background:rgba(11,94,215,.03)}

.sb-vote{
  display:flex; flex-direction:column; align-items:center; gap:6px;
  user-select:none;
}
.sb-vote button{
  width:34px; height:32px;
  border-radius:12px;
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(11,94,215,.08), rgba(11,94,215,.03));
  color:var(--blue);
  font-weight:900;
  cursor:pointer;
}
.sb-vote button:hover{border-color:rgba(11,94,215,.30)}
.sb-vote button[disabled]{opacity:.55; cursor:not-allowed}
.sb-score{
  font-size:12px;
  font-weight:900;
  color:var(--muted);
  min-width:2ch;
  text-align:center;
}

.sb-titleline{
  display:flex; gap:10px; align-items:baseline; flex-wrap:wrap;
}
.sb-titleline .sb-h{
  margin:0;
  font-size:16px;
  line-height:1.25;
  letter-spacing:-.02em;
}
.sb-titleline .sb-domain{
  font-size:12px;
  color:var(--muted);
}
.sb-meta{
  margin-top:4px;
  font-size:12.5px;
  color:var(--muted);
  display:flex; gap:10px; flex-wrap:wrap;
}
.sb-meta a{color:var(--blue); font-weight:800}
.sb-excerpt{
  margin:8px 0 0;
  color:var(--muted);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.sb-search{padding:12px 14px}
.sb-search input[type="search"]{
  width:100%;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  font-size:14px;
}
.sb-search button{display:none}

.sb-article{padding:18px}
.sb-article h1{
  margin:6px 0 10px;
  font-size:28px;
  line-height:1.15;
  letter-spacing:-.03em;
}
.sb-article p{margin:0 0 12px}
.sb-article img{max-width:100%; height:auto; border-radius:12px}

.sb-footer{
  border-top:1px solid var(--border);
  padding:18px 0 28px;
  color:var(--muted);
  font-size:13px;
}

.pagination{
  padding:12px 14px;
  border-top:1px solid var(--border);
}
.pagination .nav-links{
  display:flex; gap:10px; justify-content:space-between; align-items:center;
}
.pagination a, .pagination span{
  padding:8px 10px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  font-weight:800;
  color:var(--muted);
}
.pagination a:hover{color:var(--text); border-color:rgba(11,94,215,.25)}
