:root{
  --font-ui: Verdana, Arial, Helvetica, sans-serif;

  /* page + shells */
  --bg-page: #0a0d0a;
  --shell-left: #162016;
  --shell-right: #1d1f1d;
  --panel-dark: #161916;

  /* accent greens */
  --gs-accent: #8fdc4f;
  --gs-accent-2: #79c246;
  --gs-accent-hover: #b4ee71;
  --gs-accent-dim: #6ea05a;

  /* muted greens for structure */
  --green-deep: #0f1b10;
  --green-mid: #203723;
  --green-mid-2: #2f4f31;
  --green-soft: #5d8457;

  /* center surfaces */
  --center-bg: #d4d4d1;
  --center-bg-2: #ddddda;
  --center-border: #8f938d;
  --bar-grey: #c8c8c4;
  --bar-grey2: #d6d6d2;

  /* text */
  --text-dark: #141414;
  --text-muted: #5d645d;
  --text-light: #eef3ea;

  /* header */
  --gs-hdr-top:  #091109;
  --gs-hdr-mid1: #1a331b;
  --gs-hdr-mid2: #446c3a;
  --gs-hdr-mid3: #5f8750;
  --gs-hdr-bot:  #132313;

  --gs-scan-dark: rgba(0,0,0,0.14);
  --gs-scan-lite: rgba(255,255,255,0.025);

  --border-dark: #243224;
  --border-lite: rgba(255,255,255,0.06);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
  margin:0;
  font-family: var(--font-ui);
  font-size:14px;
  line-height:1.35;
  background: var(--bg-page);
  color: var(--text-light);
}

a{
  color: var(--gs-accent);
  text-decoration:none;
}
a:hover{
  color: var(--gs-accent-hover);
  text-decoration:underline;
}

.sep{
  color: rgba(255,255,255,0.45);
  margin:0 4px;
}

.skip{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip:focus{
  position:static;
  width:auto;
  height:auto;
  padding:6px 8px;
  background:#000;
  border:1px solid var(--gs-accent);
  display:inline-block;
}

.page{
  width:1200px;
  margin:0 auto;
  padding:6px 0 16px;
}

/* ----- topbar + header ----- */
.topbar{
  background:#030403;
  border-bottom:1px solid #213121;
}

.topbar-inner{
  width:1200px;
  margin:0 auto;
  padding:4px 6px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.network{
  color: var(--gs-accent);
  font-weight:bold;
  letter-spacing:0.2px;
}

.toplinks{
  display:flex;
  align-items:center;
  gap:6px;
}
.toplinks a{
  color:#f3f3f3;
  font-weight:bold;
}
.toplinks a:hover{
  color:#dfe9d8;
}
.toplinks .sep{
  color: rgba(255,255,255,0.50);
  margin:0 2px;
}

/* green stripe */
.gs-header-gradient{
  background:
    repeating-linear-gradient(
      to bottom,
      var(--gs-scan-dark) 0px,
      var(--gs-scan-dark) 1px,
      var(--gs-scan-lite) 1px,
      var(--gs-scan-lite) 2px
    ),
    linear-gradient(
      to bottom,
      var(--gs-hdr-top) 0%,
      var(--gs-hdr-mid1) 18%,
      var(--gs-hdr-mid2) 45%,
      var(--gs-hdr-mid3) 52%,
      #4e7a42 58%,
      #203920 80%,
      var(--gs-hdr-bot) 100%
    );
}

.header{
  width:1200px;
  margin:0 auto;
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.05), rgba(0,0,0,0.12)),
    #5f625f;
  border-top:1px solid var(--gs-accent-2);
  border-bottom:1px solid rgba(0,0,0,0.55);
  overflow:hidden;
}

.header .banner{
  height:70px;
}

.header .header-inner{
  padding:10px 12px 8px;
  margin-top:-70px;
  position:relative;
}

.logo{
  font-size:36px;
  font-weight:900;
  letter-spacing:-1px;
  text-shadow:0 2px 0 rgba(0,0,0,0.45);
  line-height:1;
}

.gs-green{
  color: #7fe73d;
}
.gs-white{
  color:#fff;
}
.gs-dot{
  color:#d3d3d3;
  font-size:28px;
  padding-left:2px;
}

.tagline{
  color:#eef7e7;
  font-size:11px;
  font-weight:bold;
  margin-top:2px;
  text-shadow:0 1px 0 rgba(0,0,0,0.35);
}

/* ----- 3-column frame ----- */
.frame{
  display:grid;
  grid-template-columns:180px 1fr 195px;
  gap:6px;
  margin-top:6px;
}

.left{
  background: linear-gradient(to bottom, #1a2a1a, #121912);
  border:1px solid var(--border-dark);
  padding:6px;
}

.right{
  background: linear-gradient(to bottom, #272927, #1b1d1b);
  border:1px solid #303530;
  padding:6px;
}

.panel,
.panel-green{
  border:1px solid #1d281d;
  background: linear-gradient(to bottom, rgba(255,255,255,0.02), rgba(0,0,0,0.08));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.panel-title{
  padding:6px 8px;
  background: linear-gradient(to bottom, #143214, #0e240f);
  border-bottom:1px solid #314931;
  color: var(--gs-accent);
  font-weight:bold;
}

.mini{
  padding:8px;
  color:#f0f0f0;
}

.muted{
  color: rgba(255,255,255,0.72);
}

.badge{
  display:inline-block;
  padding:2px 6px;
  border:1px solid #35552d;
  background:#0b100b;
  color:#8eed4a;
  font-weight:bold;
  margin-bottom:6px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
}

/* nav */
.nav{
  padding:6px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.nav-section{
  width:100%;
  border:1px solid #203020;
  background: linear-gradient(to bottom, #143014, #0d220d);
  color: var(--gs-accent);
  font-family: var(--font-ui);
  font-size:11px;
  font-weight:bold;
  padding:5px 6px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.nav-section:hover{
  filter:brightness(1.08);
}

.nav-items{
  border-left:1px solid rgba(255,255,255,0.06);
  background: rgba(0,0,0,0.16);
  padding:6px 6px 4px;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.nav-items a{
  color:#f4f4f4;
  padding:1px 2px;
  display:block;
}

.nav-items a:hover{
  color:#ffffff;
  background: rgba(143,220,79,0.10);
  border:1px solid rgba(143,220,79,0.14);
  margin:-1px;
}

.chev{
  color:#cfe8c4;
}

/* ----- center column ----- */
.center{
  border:1px solid var(--center-border);
  background: var(--center-bg);
  color: var(--text-dark);
}

.center a{
  color:#4f7a2f;
}
.center a:hover{
  color:#2f4e1c;
}

/* lead */
.lead{
  border-bottom:1px solid #b1b1ac;
  background: var(--bar-grey2);
}

.lead-kicker{
  background: #d1d1cc;
  border-bottom:1px solid #adada7;
  padding:6px 8px;
  font-weight:bold;
  color:#1f1f1f;
}

.lead-body{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:10px;
  padding:10px;
}

.lead-art{
  width:250px;
  height:150px;
  background:
    linear-gradient(135deg, rgba(0,0,0,0.18), rgba(0,0,0,0.02)),
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,0.10),
      rgba(0,0,0,0.10) 2px,
      rgba(255,255,255,0.05) 2px,
      rgba(255,255,255,0.05) 4px
    );
  border:1px solid #8f8f8a;
}

.lead-art-tall{
  width:150px;
  height:750px;
  background:
    linear-gradient(135deg, rgba(0,0,0,0.18), rgba(0,0,0,0.02)),
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,0.10),
      rgba(0,0,0,0.10) 2px,
      rgba(255,255,255,0.05) 2px,
      rgba(255,255,255,0.05) 4px
    );
  border:1px solid #8f8f8a;
}

.lead-art-square{
  width:200px;
  height:200px;
  background:
    linear-gradient(135deg, rgba(0,0,0,0.18), rgba(0,0,0,0.02)),
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,0.10),
      rgba(0,0,0,0.10) 2px,
      rgba(255,255,255,0.05) 2px,
      rgba(255,255,255,0.05) 4px
    );
  border:1px solid #8f8f8a;
}

.lead-text h1{
  margin:0 0 6px;
  font-size:14px;
  color:#45652d;
}

.lead-text h2{
  margin:0 0 10px;
  font-size:18px;
  color:#111;
}

.lead-text p{
  margin:0 0 8px;
}

.lead-links{
  font-weight:bold;
}

/* cards/grid */
.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:10px;
}

.card{
  border:1px solid #9f9f99;
  background:#e8e8e4;
}

.card-title{
  padding:5px 6px;
  background:#cecec9;
  border-bottom:1px solid #ababaa;
  font-weight:bold;
  color:#395927;
}

.card-body{
  padding:8px;
}

.bullets{
  margin:0;
  padding-left:16px;
}
.bullets li{
  margin:0 0 4px;
}

.poll{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:6px;
}
.poll label{
  display:flex;
  gap:6px;
  align-items:center;
}

.btn{
  border:1px solid #202620;
  background: linear-gradient(to bottom, #232823, #111411);
  color: var(--gs-accent);
  font-family: var(--font-ui);
  font-size:11px;
  font-weight:bold;
  padding:4px 8px;
  cursor:pointer;
  width:max-content;
}

.btn:hover{
  color: var(--gs-accent-hover);
  filter:brightness(1.08);
}

.spot{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin-bottom:8px;
}

.thumb{
  width:44px;
  height:34px;
  border:1px solid #9d9d97;
  background: linear-gradient(135deg, rgba(0,0,0,0.12), rgba(0,0,0,0.02));
}

.foot{
  border-top:1px solid #b0b0aa;
  background: var(--bar-grey2);
  padding:8px 10px;
}

/* right column bits */
.right .ad{
  padding:8px;
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#f5f5f5;
}

.adbox{
  width:100%;
  height:140px;
  background: rgba(0,0,0,0.18);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:bold;
}

.right .row{
  display:flex;
  gap:6px;
  align-items:center;
  margin-bottom:4px;
  color:#f0f0f0;
}

.dot{
  width:6px;
  height:6px;
  background: var(--gs-accent);
  border:1px solid rgba(0,0,0,0.35);
  display:inline-block;
}

.search{
  padding:2px;
  display:flex;
  gap:6px;
}

.search input{
  flex:1;
  font-family: var(--font-ui);
  font-size:8px;
  padding:3px 4px;
  border:1px solid #6f726d;
  background:#f3f3ef;
}