
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --green-dark: #1a3d08;
    --green-mid: #27500A;
    --green-bright: #3B6D11;
    --green-light: #EAF3DE;
    --green-pale: #C0DD97;
    --green-muted: #9FE1CB;
    --text: #111;
    --text-secondary: #444;
    --text-muted: #777;
    --border: #ddd;
    --border-light: #eee;
    --bg: #fff;
    --bg-secondary: #f8f8f6;
    --radius: 4px;
  }
  body { font-family: 'Lora', Georgia, serif; color: var(--text); background: var(--bg); min-height: 100vh; }
  .hide { display: none !important; }
  button { cursor: pointer; }
  input, textarea, select { outline: none; }

  /* ── NAV ── */
  .go-nav { border-top: 3px solid var(--green-mid); border-bottom: 3px solid var(--green-mid); padding: 8px 0; position: sticky; top: 0; z-index: 200; background: var(--bg); }
  .go-nav-inner { display: flex; align-items: center; justify-content: space-between; padding: 0 28px; max-width: 1400px; margin: 0 auto; }
  .go-nav-links { display: flex; gap: 20px; list-style: none; }
  .go-nav-links li { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-secondary); cursor: pointer; transition: color .15s; }
  .go-nav-links li:hover { color: var(--green-bright); }
  .go-nav-links li.nav-active { color: var(--green-bright); border-bottom: 2px solid var(--green-bright); padding-bottom: 1px; }
  /* ── SHORTS LIST ── */
  .go-shorts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 0; border-top: 2.5px solid var(--text); }
  .go-short-card { padding: 18px 20px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border-light); }
  .go-short-card:nth-child(3n) { border-right: none; }

  /* ── MASTHEAD ── */
  .go-masthead { background: #fff; padding: 20px 28px 16px; text-align: center; border-top: 1px solid #111; border-bottom: 1px solid #111; }
  .go-institution { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: #444; margin-bottom: 6px; }
  .go-title { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif; font-size: 72px; font-weight: 900; color: #111; line-height: 1; }
  .go-title em { font-style: italic; color: #111; }
  .go-tagline { font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: 13px; color: #555; margin-top: 6px; letter-spacing: .04em; }

  /* ── DATEBAR ── */
  .go-datebar { display: flex; justify-content: space-between; padding: 5px 28px; border-bottom: 1px solid var(--border-light); max-width: 1400px; margin: 0 auto; }
  .go-datebar span { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }

  /* ── MAIN LAYOUT ── */
  .go-main { padding: 24px 28px; max-width: 1400px; margin: 0 auto; }
  .go-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 0; border-top: 2.5px solid var(--text); }
  .go-feature { padding: 20px 20px 20px 0; border-right: 1px solid var(--border); }
  .go-sidebar { padding: 20px 0 20px 20px; display: flex; flex-direction: column; }
  .go-sidebar-item { padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--border-light); }
  .go-sidebar-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
  .go-tag { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--green-bright); margin-bottom: 5px; display: flex; align-items: center; gap: 6px; }
  .bias-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
  .bias-left   { background: #3b7dd8; }
  .bias-center { background: #7c4dbd; }
  .bias-right  { background: #d63c3c; }
  .bias-toggle { display: flex; gap: 0; margin-bottom: 18px; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; width: fit-content; }
  .bias-toggle label { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 8px 18px; cursor: pointer; transition: background .15s, color .15s; color: var(--text-secondary); background: var(--bg); }
  .bias-toggle input[type=radio] { display: none; }
  .bias-toggle input[type=radio]:checked + label { color: #fff; }
  .bias-toggle input[type=radio]#eBiasLeft:checked   + label { background: #3b7dd8; }
  .bias-toggle input[type=radio]#eBiasCenter:checked + label { background: #7c4dbd; }
  .bias-toggle input[type=radio]#eBiasRight:checked  + label { background: #d63c3c; }
  .go-hed { font-family: 'Playfair Display', serif; font-weight: 700; line-height: 1.18; color: var(--text); margin-bottom: 8px; }
  .go-hed.clickable { cursor: pointer; }
  .go-hed.clickable:hover { color: var(--green-bright); }
  .go-hed.lg { font-size: 30px; }
  .go-hed.md { font-size: 20px; }
  .go-hed.sm { font-size: 16px; }
  .go-dek { font-family: 'Lora', serif; font-size: 14px; line-height: 1.65; color: var(--text-secondary); margin-bottom: 10px; }
  .go-dek.sm { font-size: 12px; }
  .go-byline { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
  .go-byline span { color: var(--green-bright); font-weight: 700; }
  .go-byline .author-link { cursor: pointer; }
  .go-byline .author-link:hover { text-decoration: underline; }
  .go-img { width: 100%; aspect-ratio: 16/9; background: var(--green-light); border: 1px solid var(--green-pale); display: flex; align-items: center; justify-content: center; margin-bottom: 12px; border-radius: 2px; overflow: hidden; }
  .go-img img { width: 100%; height: 100%; object-fit: cover; }
  .go-img-label { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; color: var(--green-bright); letter-spacing: .06em; text-transform: uppercase; }
  .go-img-sm { width: 100%; aspect-ratio: 3/2; background: var(--green-light); border: 1px solid var(--green-pale); display: flex; align-items: center; justify-content: center; margin-bottom: 8px; border-radius: 2px; overflow: hidden; }
  .go-img-sm img { width: 100%; height: 100%; object-fit: cover; }
  .read-btn { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--green-bright); background: none; border: 1px solid var(--green-bright); padding: 5px 12px; cursor: pointer; margin-top: 8px; border-radius: 2px; transition: background .15s; }
  .read-btn:hover { background: var(--green-light); }
  .go-divider { height: 1px; background: var(--border); margin: 0; }
  .go-bottom-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 2.5px solid var(--text); }
  .go-bottom-item { padding: 16px; border-right: 1px solid var(--border); }
  .go-bottom-item:last-child { border-right: none; }
  .empty-state { text-align: center; padding: 60px 20px; color: var(--text-muted); font-family: 'Barlow Condensed', sans-serif; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; line-height: 2; }

  /* ── FOOTER ── */
  .go-footer { background: var(--green-mid); color: var(--green-pale); text-align: center; padding: 20px; font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; margin-top: 40px; }

  /* ── LOGIN ── */
  #loginPage { min-height: 80vh; display: flex; align-items: center; justify-content: center; }
  .login-box { width: 360px; padding: 40px; border: 1px solid var(--border); border-radius: 4px; text-align: center; }
  .login-logo { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 900; color: var(--green-mid); margin-bottom: 4px; }
  .login-logo em { font-style: italic; color: var(--green-bright); }
  .login-sub { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 28px; }
  .login-label { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-secondary); margin-bottom: 6px; text-align: left; display: block; }
  .login-input { width: 100%; padding: 10px 14px; font-family: 'Lora', serif; font-size: 14px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); color: var(--text); margin-bottom: 14px; transition: border-color .15s; }
  .login-input:focus { border-color: var(--green-bright); }
  .login-btn { width: 100%; padding: 11px; font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: var(--green-mid); color: #fff; border: none; border-radius: var(--radius); transition: background .15s; }
  .login-btn:hover { background: var(--green-bright); }
  .login-err { color: #a00; font-family: 'Barlow Condensed', sans-serif; font-size: 12px; margin-top: 10px; display: none; }
  .login-back { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); background: none; border: none; margin-top: 16px; text-decoration: underline; }
  .login-back:hover { color: var(--green-bright); }

  /* ── ADMIN ── */
  #adminPage { max-width: 1400px; margin: 0 auto; padding: 32px 28px; }
  .admin-header { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 16px; border-bottom: 2.5px solid var(--green-mid); margin-bottom: 28px; }
  .admin-title { font-family: 'Playfair Display', serif; font-size: 26px; font-weight: 700; color: var(--green-mid); }
  .admin-subtitle { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); margin-top: 3px; }
  .admin-actions { display: flex; gap: 10px; align-items: center; }
  .btn-new { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: var(--green-mid); color: #fff; border: none; padding: 9px 18px; border-radius: var(--radius); transition: background .15s; }
  .btn-new:hover { background: var(--green-bright); }
  .btn-logout { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: none; color: #a00; border: 1px solid #f09595; padding: 8px 14px; border-radius: var(--radius); transition: background .15s; }
  .btn-logout:hover { background: #fff0f0; }
  .admin-section-title { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 12px; }
  .article-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--border-light); gap: 12px; }
  .article-row:last-child { border-bottom: none; }
  .article-row-hed { font-family: 'Playfair Display', serif; font-size: 15px; font-weight: 700; color: var(--text); margin-bottom: 3px; }
  .article-row-meta { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--text-muted); }
  .article-row-btns { display: flex; gap: 8px; flex-shrink: 0; }
  .btn-edit { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: none; border: 1px solid var(--border); padding: 5px 12px; border-radius: var(--radius); color: var(--text); transition: background .15s; }
  .btn-edit:hover { background: var(--bg-secondary); }
  .btn-del { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: none; border: 1px solid #f09595; padding: 5px 12px; border-radius: var(--radius); color: #a00; transition: background .15s; }
  .btn-del:hover { background: #fff0f0; }
  .admin-view-site { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); background: none; border: none; margin-top: 20px; text-decoration: underline; }
  .admin-view-site:hover { color: var(--green-bright); }

  /* ── NEWSROOM CMS ── */
  .btn-logout { border:0; color:var(--text-muted); padding:8px 4px; text-decoration:none; }
  .btn-logout:hover { background:none; color:var(--text); text-decoration:underline; }
  .newsroom-tabs { display:flex; gap:24px; border-bottom:1px solid var(--border); margin:-8px 0 22px; }
  .newsroom-tabs button { border:0; background:none; padding:10px 0 9px; font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); border-bottom:2px solid transparent; }
  .newsroom-tabs button.active { color:var(--text); border-bottom-color:var(--green-mid); }
  .admin-table-head, .admin-article-row, .admin-staff-row { display:grid; grid-template-columns:minmax(280px,2.6fr) minmax(120px,1fr) 120px 110px 54px; gap:18px; align-items:center; }
  .admin-table-head { padding:0 10px 8px; border-bottom:1px solid #aaa; font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; color:var(--text-muted); }
  .admin-article-row, .admin-staff-row { padding:14px 10px; border-bottom:1px solid var(--border-light); }
  .admin-article-row:hover, .admin-staff-row:hover { background:#fafaf8; }
  .admin-staff-row[data-staff-id] { cursor:grab; }
  .admin-staff-row[data-staff-id]:active { cursor:grabbing; }
  .admin-staff-row.staff-dragging { opacity:.45; background:#f4f4f0; }
  .admin-staff-row.staff-drop-before { box-shadow:inset 0 3px 0 var(--green-mid); }
  .admin-staff-row.staff-drop-after { box-shadow:inset 0 -3px 0 var(--green-mid); }
  .staff-drag-handle { font-family:'Barlow Condensed',sans-serif; font-size:18px; color:var(--text-muted); margin-right:8px; user-select:none; }
  .admin-staff-row[data-staff-id] .admin-row-title { display:flex; align-items:center; }
  .admin-row-title { font-family:'Playfair Display',Georgia,serif; font-size:15px; font-weight:700; line-height:1.25; }
  .admin-row-meta, .admin-cell { font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--text-muted); }
  .admin-title-line { display:flex; gap:8px; align-items:flex-start; }
  .admin-star { border:0; background:none; padding:0; font-size:15px; line-height:1; color:#aaa; }
  .admin-star.on { color:#9a7600; }
  .row-menu { position:relative; justify-self:end; }
  .row-menu > button { border:0; background:none; font-size:20px; line-height:1; padding:4px 8px; color:var(--text-secondary); }
  .row-menu-pop { display:none; position:absolute; right:0; top:28px; z-index:20; min-width:130px; background:#fff; border:1px solid var(--border); box-shadow:0 5px 18px rgba(0,0,0,.09); padding:5px 0; }
  .row-menu.open .row-menu-pop { display:block; }
  .row-menu-pop button { width:100%; text-align:left; border:0; background:none; padding:8px 12px; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--text); }
  .row-menu-pop button:hover { background:var(--bg-secondary); }
  .row-menu-pop .danger { color:#900; }
  @media(max-width:760px) {
    .admin-table-head { display:none; }
    .admin-article-row,.admin-staff-row { grid-template-columns:1fr auto; gap:5px 12px; }
    .admin-article-row > :not(:first-child):not(.row-menu), .admin-staff-row > :not(:first-child):not(.row-menu) { grid-column:1; }
    .row-menu { grid-column:2; grid-row:1; }
  }

  /* ── EDITOR ── */
  #editorPage { max-width: 1018px; margin: 0 auto; padding: 32px 28px; }
  .editor-header { display: flex; align-items: center; gap: 16px; padding-bottom: 16px; border-bottom: 2.5px solid var(--green-mid); margin-bottom: 28px; }
  .editor-back { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--green-bright); background: none; border: none; }
  .editor-back:hover { text-decoration: underline; }
  .editor-title { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 700; color: var(--green-mid); }
  .field-label { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-secondary); margin-bottom: 6px; display: block; }
  .field-input { width: 100%; padding: 10px 14px; font-family: 'Lora', serif; font-size: 14px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); color: var(--text); margin-bottom: 18px; transition: border-color .15s; }
  .field-input:focus { border-color: var(--green-bright); }
  .field-select { width: 100%; padding: 10px 14px; font-family: 'Barlow Condensed', sans-serif; font-size: 13px; letter-spacing: .04em; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); color: var(--text); margin-bottom: 18px; }
  .field-textarea { width: 100%; padding: 12px 14px; font-family: 'Lora', serif; font-size: 14px; line-height: 1.7; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg); color: var(--text); margin-bottom: 18px; resize: vertical; min-height: 260px; transition: border-color .15s; }
  .field-textarea:focus { border-color: var(--green-bright); }
  .editor-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .editor-actions { display: flex; gap: 12px; align-items: center; margin-top: 4px; }
  .btn-publish { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: var(--green-mid); color: #fff; border: none; padding: 11px 24px; border-radius: var(--radius); transition: background .15s; }
  .btn-publish:hover { background: var(--green-bright); }
  .btn-cancel { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: none; border: 1px solid var(--border); padding: 10px 20px; border-radius: var(--radius); color: var(--text); transition: background .15s; }
  .btn-cancel:hover { background: var(--bg-secondary); }
  .save-toast { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--green-bright); background: var(--green-light); padding: 8px 14px; border-radius: var(--radius); display: none; }

  /* ── RICH TEXT EDITOR ── */
  .rte-wrap { margin-bottom: 18px; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: border-color .15s; }
  .rte-wrap:focus-within { border-color: var(--green-bright); }
  .rte-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; padding: 6px 8px; background: var(--bg-secondary); border-bottom: 1px solid var(--border); }
  .rte-btn { font-family: 'Georgia', serif; font-size: 13px; padding: 3px 8px; background: none; border: 1px solid transparent; border-radius: 3px; color: var(--text-secondary); cursor: pointer; line-height: 1.4; min-width: 28px; text-align: center; transition: background .1s, border-color .1s; }
  .rte-btn:hover { background: var(--bg); border-color: var(--border); color: var(--text); }
  .rte-btn.rte-active { background: var(--green-light); border-color: var(--green-pale); color: var(--green-bright); }
  .rte-sep { width: 1px; height: 18px; background: var(--border); margin: 0 4px; flex-shrink: 0; }
  .rte-select { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; letter-spacing: .04em; border: 1px solid var(--border); border-radius: 3px; background: var(--bg); color: var(--text-secondary); padding: 3px 6px; cursor: pointer; }
  .rte-body { min-height: 280px; max-height: 600px; overflow-y: auto; padding: 14px 16px; font-family: Georgia, serif; font-size: 14px; line-height: 1.75; color: var(--text); outline: none; transition: background .15s; }
  .rte-body.rte-dragover { background: var(--green-light); outline: 2px dashed var(--green-bright); outline-offset: -4px; }
  /* ── COVER DROP ZONE ── */
  .cover-drop-zone { border: 2px dashed var(--border); border-radius: var(--radius); background: var(--bg-secondary); cursor: pointer; transition: border-color .15s, background .15s; min-height: 90px; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
  .cover-drop-zone:hover, .cover-drop-zone.cover-dragover { border-color: var(--green-bright); background: var(--green-light); }
  .cover-drop-label { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
  .cover-drop-sub { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: .06em; color: var(--text-muted); margin-top: 4px; text-align: center; }
  /* ── COVER CROP BOX ── */
  #coverCropBox, #thumbCropBox { position: relative; overflow: hidden; aspect-ratio: 16/9; background: #111; border-radius: var(--radius); cursor: grab; user-select: none; }
  #coverCropBox.panning, #thumbCropBox.panning { cursor: grabbing; }
  #coverCropImg, #thumbCropImg { position: absolute; max-width: none; display: block; pointer-events: none; }
  .cover-clear { position: absolute; top: 8px; right: 8px; font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: rgba(0,0,0,.55); color: #fff; border: none; border-radius: 3px; padding: 4px 10px; cursor: pointer; z-index: 2; }
  .cover-clear:hover { background: rgba(0,0,0,.8); }
  .crop-controls { background: var(--bg-secondary); border: 1px solid var(--border); border-top: none; border-radius: 0 0 var(--radius) var(--radius); padding: 8px 14px; display: flex; flex-direction: column; gap: 5px; }
  .crop-hint { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
  .crop-zoom-row { display: flex; align-items: center; gap: 8px; }
  .crop-zoom-icon { font-family: 'Barlow Condensed', sans-serif; font-size: 16px; color: var(--text-muted); line-height: 1; width: 14px; text-align: center; flex-shrink: 0; }
  .crop-zoom-slider { flex: 1; height: 3px; accent-color: var(--green-bright); cursor: pointer; }
  .crop-zoom-label { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .06em; color: var(--text-secondary); width: 36px; text-align: right; flex-shrink: 0; }
  .crop-adj-row { display: flex; align-items: center; gap: 8px; }
  .crop-adj-label { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--text-muted); width: 76px; flex-shrink: 0; }
  .crop-adj-val { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; color: var(--text-secondary); width: 36px; text-align: right; flex-shrink: 0; }
  /* ── FEATURED ── */
  .featured-toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; }
  .featured-toggle input { width: 15px; height: 15px; accent-color: var(--green-bright); cursor: pointer; }
  .featured-badge { display: inline-block; font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; background: #c49a00; color: #fff; border-radius: 3px; padding: 2px 6px; margin-left: 6px; vertical-align: middle; }
  .art-featured-ribbon { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #c49a00; margin-bottom: 4px; }
  .feat-inline { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #c49a00; display: block; margin-bottom: 2px; }
  /* ── ARTICLE COVER (crop-aware) ── */
  .art-img-wrap  { overflow: hidden; width: 100%; aspect-ratio: 16/9; border-radius: 2px; margin-bottom: 20px; background: var(--green-light); }
  .art-img-inner { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 50%; transform-origin: 50% 50%; }
  /* ── RTE IMAGE SELECTION ── */
  .rte-body img { max-width: 100%; height: auto; border-radius: 2px; margin: 8px 0; display: block; cursor: pointer; }
  .rte-img-selected { outline: 2px solid #1a73e8 !important; outline-offset: 1px; }
  .rte-img-overlay { position: fixed; z-index: 9999; pointer-events: none; box-sizing: border-box; }
  .rte-img-toolbar { position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); background: #1e1e1e; border-radius: 5px; display: flex; align-items: center; gap: 1px; padding: 4px; pointer-events: all; white-space: nowrap; box-shadow: 0 2px 10px rgba(0,0,0,.35); }
  .rte-img-tb-btn { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: none; border: 1px solid transparent; color: #bbb; padding: 3px 10px; border-radius: 3px; cursor: pointer; pointer-events: all; transition: background .1s, color .1s; }
  .rte-img-tb-btn:hover { background: rgba(255,255,255,.12); color: #fff; }
  .rte-img-tb-btn.img-tb-active { background: #1a73e8; color: #fff; border-color: transparent; }
  .rte-img-tb-del:hover { background: rgba(210,40,40,.7) !important; color: #fff !important; }
  .rte-img-tb-sep { width: 1px; height: 16px; background: #444; margin: 0 3px; flex-shrink: 0; }
  .rte-img-handle { position: absolute; width: 10px; height: 10px; background: #1a73e8; border: 2px solid #fff; border-radius: 2px; pointer-events: all; box-shadow: 0 1px 3px rgba(0,0,0,.3); }
  .rte-img-handle-nw { top: -5px; left: -5px; cursor: nw-resize; }
  .rte-img-handle-ne { top: -5px; right: -5px; cursor: ne-resize; }
  .rte-img-handle-sw { bottom: -5px; left: -5px; cursor: sw-resize; }
  .rte-img-handle-se { bottom: -5px; right: -5px; cursor: se-resize; }
  .rte-body img.float-left  { float: left;  margin: 4px 18px 10px 0; max-width: 42%; display: inline; }
  .rte-body img.float-right { float: right; margin: 4px 0 10px 18px; max-width: 42%; display: inline; }
  .art-body img { max-width: 100%; height: auto; border-radius: 2px; margin: 12px 0; display: block; }
  .art-body img.float-left  { float: left;  margin: 6px 22px 12px 0; max-width: 42%; display: inline; }
  .art-body img.float-right { float: right; margin: 6px 0 12px 22px; max-width: 42%; display: inline; }
  .art-body::after, .rte-body::after { content: ''; display: table; clear: both; }
  .rte-body:empty::before { content: attr(data-placeholder); color: var(--text-muted); pointer-events: none; }
  .rte-body h2 { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 700; margin: 1.2em 0 .4em; }
  .rte-body h3 { font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 700; margin: 1em 0 .3em; }
  .rte-body p  { margin-bottom: 1em; }
  .rte-body ul, .rte-body ol { margin: .5em 0 1em 1.5em; }
  .rte-body li { margin-bottom: .3em; }
  .rte-body blockquote { border-left: 3px solid var(--green-pale); margin: 1em 0; padding: .4em 1em; color: var(--text-secondary); font-style: italic; }
  /* pull quotes */
  .pull-quote { font-family: 'Playfair Display', serif !important; font-size: 22px !important; font-style: italic; line-height: 1.45; border-left: 4px solid var(--green-bright) !important; border-top: 1px solid var(--green-pale); border-bottom: 1px solid var(--green-pale); margin: 1.6em 0 !important; padding: .8em 1.4em !important; color: var(--text) !important; background: var(--bg-secondary); }
  /* mirror styles in article view */
  .art-body p, .art-body li, .art-body blockquote { font-family: Georgia, serif !important; }
  .art-body h2 { font-family: 'Playfair Display', serif; font-size: 24px; font-weight: 700; margin: 1.4em 0 .5em; }
  .art-body h3 { font-family: 'Playfair Display', serif; font-size: 19px; font-weight: 700; margin: 1.2em 0 .4em; }
  .art-body ul, .art-body ol { margin: .5em 0 1.2em 1.6em; }
  .art-body li { margin-bottom: .4em; }
  .art-body blockquote { border-left: 3px solid var(--green-pale); margin: 1.2em 0; padding: .5em 1.2em; color: var(--text-secondary); font-style: italic; font-size: 17px; }
  .art-body .pull-quote { font-family: Georgia, serif !important; font-size: 24px; font-style: italic; line-height: 1.45; border-left: 4px solid var(--green-bright); border-top: 1px solid var(--green-pale); border-bottom: 1px solid var(--green-pale); margin: 2em 0; padding: .9em 1.6em; color: var(--text); background: var(--bg-secondary); }
  .art-dek { font-family: Georgia, serif !important; }
  .art-disclaimer { border-left: 3px solid var(--border); padding: 10px 16px; margin: 28px 0 32px; font-size: 13px; font-style: italic; color: var(--text-muted); background: var(--bg-secondary); border-radius: 0 4px 4px 0; }
  .art-disclaimer-label { font-family: 'Barlow Condensed', sans-serif; font-style: normal; font-weight: 700; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-secondary); display: block; margin-bottom: 4px; }

  /* ── ARTICLE VIEW ── */
  #articlePage { max-width: 680px; margin: 0 auto; padding: 32px 28px 60px; }
  .art-back { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--green-bright); background: none; border: none; margin-bottom: 20px; display: block; }
  .art-back:hover { text-decoration: underline; }
  .art-tag { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--green-bright); margin-bottom: 8px; }
  .art-bias { display: inline-flex; align-items: center; gap: 7px; font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fff; padding: 4px 12px 4px 8px; border-radius: 3px; margin-bottom: 14px; }
  .art-bias.bias-left   { background: #3b7dd8; }
  .art-bias.bias-center { background: #7c4dbd; }
  .art-bias.bias-right  { background: #d63c3c; }
  .art-bias-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.5); flex-shrink: 0; }
  .card-bias { display: inline-flex; align-items: center; gap: 5px; font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fff; padding: 2px 8px 2px 6px; border-radius: 3px; margin-top: 4px; }
  .card-bias.bias-left   { background: #3b7dd8; }
  .card-bias.bias-center { background: #7c4dbd; }
  .card-bias.bias-right  { background: #d63c3c; }
  .card-bias-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.5); flex-shrink: 0; }
  .art-hed { font-family: 'Playfair Display', serif; font-size: 40px; font-weight: 700; line-height: 1.12; margin-bottom: 12px; }
  .art-dek { font-family: 'Lora', serif; font-style: italic; font-size: 17px; line-height: 1.6; color: var(--text-secondary); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--border-light); }
  .art-byline { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 20px; }
  .art-byline span { color: var(--green-bright); font-weight: 700; }
  .art-img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 2px; margin-bottom: 20px; display: block; } /* fallback for old embeds */
  .art-body { font-family: Georgia, serif !important; font-size: 16px; line-height: 1.85; color: var(--text); }
  .art-body p { margin-bottom: 1.4em; }

  /* ── EDITORS PAGE ── */
  #editorsPage { max-width: 960px; margin: 0 auto; padding: 32px 28px 60px; }
  .editors-page-header { padding-bottom: 14px; border-bottom: 2.5px solid var(--text); margin-bottom: 28px; display: flex; align-items: baseline; gap: 16px; }
  .editors-page-title { font-family: 'Playfair Display', serif; font-size: 32px; font-weight: 700; }
  .editors-page-back { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--green-bright); background: none; border: none; }
  .editors-page-back:hover { text-decoration: underline; }
  .bio-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px; }
  .bio-card { border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
  .bio-card-photo { width: 100%; aspect-ratio: 1/1; background: var(--green-light); display: flex; align-items: center; justify-content: center; overflow: hidden; }
  .bio-card-photo img { width: 100%; height: 100%; object-fit: cover; }
  .bio-card-photo-label { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; color: var(--green-bright); letter-spacing: .06em; text-transform: uppercase; }
  .bio-card-body { padding: 14px 16px 16px; }
  .bio-card-name { font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 700; line-height: 1.2; margin-bottom: 4px; }
  .bio-card-role { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--green-bright); margin-bottom: 9px; }
  .bio-card-bio { font-family: 'Lora', serif; font-size: 13px; line-height: 1.7; color: var(--text-secondary); }

  /* ── ARTICLE END MATTER ── */
  .article-end { max-width:720px; margin:42px auto 0; border-top:1px solid #111; padding-top:18px; }
  .article-end-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-family:'Barlow Condensed',sans-serif; font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--text-muted); }
  .article-share { display:flex; align-items:center; gap:8px; }
  .article-share button,.article-share a { display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:none;padding:7px 9px;color:var(--text-secondary);font:inherit;letter-spacing:inherit;text-transform:uppercase;text-decoration:none; }
  .article-share button:hover,.article-share a:hover { color:var(--text); border-color:var(--text); text-decoration:none; } .share-icon{width:14px;height:14px;display:inline-block;}
  .article-author { display:grid; grid-template-columns:72px 1fr; gap:18px; align-items:start; padding:26px 0; border-bottom:1px solid var(--border); }
  .article-author-photo { width:72px; height:72px; border-radius:50%; object-fit:cover; background:var(--bg-secondary); border:1px solid var(--border); padding:3px; }
  .article-author-placeholder { width:72px; height:72px; border-radius:50%; display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);font-family:'Playfair Display',serif;font-size:25px;font-weight:700; }
  .article-author-name { font-family:'Playfair Display',Georgia,serif; font-size:19px; font-weight:700; cursor:pointer; }
  .article-author-role { margin:2px 0 7px; font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--text-muted); }
  .article-author-bio { font-family:Georgia,serif;font-size:13px;line-height:1.55;color:var(--text-secondary); }
  .related-wrap { max-width:980px; width:min(980px,calc(100vw - 48px)); position:relative; left:50%; transform:translateX(-50%); margin-top:38px; }
  .related-title { border-top:3px solid #111; padding-top:9px; margin-bottom:16px; font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:.13em;text-transform:uppercase; }
  .related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .related-card { border-bottom:1px solid var(--border); padding-bottom:14px; }
  .related-card img { width:100%; aspect-ratio:16/9; object-fit:cover; margin-bottom:9px; }
  .related-card h3 { font-family:'Playfair Display',Georgia,serif;font-size:17px;line-height:1.18;margin:4px 0;cursor:pointer; }
  .related-card .go-tag { margin-bottom:3px; }
  .publication-footer { max-width:none; width:100vw; position:relative; left:50%; transform:translateX(-50%); margin-top:50px; background:#111; color:#eee; padding:34px max(28px,calc((100vw - 980px)/2)); }
  .publication-footer-brand { font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:700;margin-bottom:6px; }
  .publication-footer-sub { font-family:Georgia,serif;font-size:12px;color:#aaa;margin-bottom:18px; }
  .publication-footer-nav { display:flex;flex-wrap:wrap;gap:18px;margin-bottom:20px;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; }
  .publication-footer-nav button { border:0;background:none;color:#eee;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit; }
  .publication-footer-copy { border-top:1px solid #333;padding-top:14px;font-family:Georgia,serif;font-size:11px;line-height:1.55;color:#888; }
  @media(max-width:700px){.related-grid{grid-template-columns:1fr}.related-wrap{width:100%}.article-author{grid-template-columns:56px 1fr}.article-author-photo,.article-author-placeholder{width:56px;height:56px}}

  /* ── BIO EDITOR ── */
  #bioEditorPage { max-width: 1018px; margin: 0 auto; padding: 32px 28px; }

/* Staff portraits: bias crops upward so faces stay fully visible. */
.bio-card-photo img { object-position: 50% 25%; }
.article-author-photo { object-position: 50% 25%; }
.go-secret { display:inline-block; width:12px; height:24px; margin-left:-12px; cursor:default; }
