/*
Theme Name: Kannada Epaper
Theme URI: https://example.com/kannada-epaper
Author: Custom Theme
Author URI: https://example.com
Description: A clean, modern, fully editable WordPress theme designed for Kannada e-paper newspapers (inspired by Prajavani e-paper). Features page viewer, thumbnails, date selector, Customizer options, and strong Kannada language support.
Version: 16.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kannada-epaper
Tags: newspaper, epaper, kannada, custom-logo, custom-menu, featured-images, translation-ready
*/

/* =====================================================
   CSS Variables (easily editable via Customizer)
   ===================================================== */
:root {
  --primary-color: #c41e3a;          /* Deep red - newspaper feel */
  --secondary-color: #1a1a1a;
  --accent-color: #f5f0e6;           /* Warm paper background */
  --text-color: #222222;
  --header-bg: #ffffff;
  --viewer-bg: #e8e4d9;
  --border-color: #d0cbc0;
  --font-kannada: 'Noto Sans Kannada', 'Noto Sans', system-ui, sans-serif;
  --font-body: 'Noto Sans', system-ui, sans-serif;
  --header-height: 70px;
  --thumbnail-height: 110px;
}

/* =====================================================
   Reset & Base
   ===================================================== */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  color: var(--text-color);
  background: var(--viewer-bg);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  cursor: pointer;
  font-family: inherit;
  border: none;
  background: none;
}

/* =====================================================
   Typography - Kannada First
   ===================================================== */
.kannada-text,
.site-title,
.edition-title,
.page-info {
  font-family: var(--font-kannada);
}

/* =====================================================
   Site Header / Masthead
   ===================================================== */
.site-header {
  background: var(--header-bg);
  border-bottom: 3px solid var(--primary-color);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.header-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.site-branding {
  display: flex;
  align-items: center;
  gap: 14px;
}

.custom-logo-link img {
  max-height: 48px;
  width: auto;
}

.site-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--primary-color);
  letter-spacing: -0.5px;
}

.site-description {
  font-size: 0.85rem;
  color: #666;
  margin-top: 2px;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Date Selector */
.date-selector {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f8f6f1;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid var(--border-color);
}

.date-selector label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #555;
}

.date-selector input[type="date"] {
  border: none;
  background: transparent;
  font-size: 0.95rem;
  font-family: inherit;
  color: var(--text-color);
  outline: none;
}

/* Edition Dropdown */
.edition-select {
  padding: 7px 12px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: #fff;
  font-size: 0.9rem;
  min-width: 140px;
}

/* =====================================================
   Main Epaper Viewer
   ===================================================== */
.epaper-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
  min-height: calc(100vh - var(--header-height) - 60px);
}

.epaper-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  background: #fff;
  padding: 12px 18px;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.page-info {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--secondary-color);
}

.toolbar-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  transition: all 0.2s ease;
}

.btn-primary {
  background: var(--primary-color);
  color: #fff;
}

.btn-primary:hover {
  background: #a01830;
}

.btn-outline {
  background: #fff;
  border: 1px solid var(--border-color);
  color: var(--text-color);
}

.btn-outline:hover {
  background: #f5f0e6;
  border-color: #bbb;
}

.btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.zoom-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #f8f6f1;
  padding: 4px;
  border-radius: 6px;
}

.zoom-controls button {
  width: 34px;
  height: 34px;
  border-radius: 4px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #444;
}

.zoom-controls button:hover {
  background: #e8e4d9;
}

.zoom-level {
  min-width: 50px;
  text-align: center;
  font-size: 0.85rem;
  font-weight: 600;
}

/* =====================================================
   Page Viewer Area
   ===================================================== */
.viewer-container {
  position: relative;
  background: #fff;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  min-height: 70vh;
}

.page-viewer {
  width: 100%;
  height: 75vh;
  overflow: auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background: #f0ebe0;
  position: relative;
  cursor: grab;
}

.page-viewer.grabbing {
  cursor: grabbing;
}

.page-image-wrapper {
  transition: transform 0.15s ease;
  transform-origin: center top;
  will-change: transform;
}

.page-image {
  max-width: 100%;
  height: auto;
  box-shadow: 0 8px 30px rgba(0,0,0,0.15);
  user-select: none;
  -webkit-user-drag: none;
}

/* Navigation arrows overlaid */
.nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: rgba(255,255,255,0.92);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--secondary-color);
  box-shadow: 0 2px 12px rgba(0,0,0,0.15);
  z-index: 20;
  transition: all 0.2s;
  border: 1px solid rgba(0,0,0,0.08);
}

.nav-arrow:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.08);
}

.nav-arrow.prev {
  left: 16px;
}

.nav-arrow.next {
  right: 16px;
}

.nav-arrow:disabled {
  opacity: 0.3;
  pointer-events: none;
}

/* =====================================================
   Thumbnail Strip
   ===================================================== */
.thumbnail-strip {
  margin-top: 16px;
  background: #fff;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  padding: 12px;
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: thin;
}

.thumbnail-strip::-webkit-scrollbar {
  height: 6px;
}

.thumbnail-strip::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}

.thumbnails {
  display: inline-flex;
  gap: 10px;
}

.thumbnail {
  flex-shrink: 0;
  width: 70px;
  height: 95px;
  border: 2px solid transparent;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  transition: all 0.2s;
  background: #f0ebe0;
}

.thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.thumbnail:hover {
  border-color: #aaa;
}

.thumbnail.active {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(196, 30, 58, 0.25);
}

.thumbnail .page-num {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.65);
  color: #fff;
  font-size: 0.7rem;
  text-align: center;
  padding: 2px 0;
  font-weight: 600;
}

/* =====================================================
   Empty / No Edition State
   ===================================================== */
.no-edition {
  text-align: center;
  padding: 80px 20px;
  background: #fff;
  border-radius: 8px;
  border: 1px dashed var(--border-color);
}

.no-edition h2 {
  font-family: var(--font-kannada);
  font-size: 1.6rem;
  margin-bottom: 12px;
  color: var(--primary-color);
}

.no-edition p {
  color: #666;
  margin-bottom: 20px;
}

/* =====================================================
   Footer
   ===================================================== */
.site-footer {
  background: var(--secondary-color);
  color: #ccc;
  padding: 24px 20px;
  text-align: center;
  font-size: 0.85rem;
  margin-top: 40px;
}

.site-footer a {
  color: #fff;
  text-decoration: underline;
}

/* =====================================================
   Responsive
   ===================================================== */
@media (max-width: 900px) {
  .header-inner {
    flex-wrap: wrap;
    height: auto;
    padding: 12px 16px;
    gap: 12px;
  }

  .site-title {
    font-size: 1.3rem;
  }

  .epaper-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .toolbar-controls {
    justify-content: space-between;
  }

  .page-viewer {
    height: 65vh;
  }

  .nav-arrow {
    width: 40px;
    height: 40px;
    font-size: 1.2rem;
  }

  .nav-arrow.prev { left: 8px; }
  .nav-arrow.next { right: 8px; }
}

@media (max-width: 600px) {
  .date-selector label {
    display: none;
  }

  .thumbnail {
    width: 56px;
    height: 78px;
  }

  .page-viewer {
    height: 60vh;
  }
}

/* Loading spinner */
.loading-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  border: 4px solid #e0dcd3;
  border-top-color: var(--primary-color);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Utility */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}


/* =====================================================
   v2.1 High-performance viewer
   ===================================================== */
.viewer-container.is-fullscreen {
  width: 100vw;
  height: 100vh;
  border: 0;
  border-radius: 0;
  background: #111;
}
.viewer-container.is-fullscreen .page-viewer {
  height: 100vh;
  background: #111;
}
.viewer-container.is-fullscreen .nav-arrow {
  position: fixed;
}
.page-viewer {
  touch-action: pan-x pan-y;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.page-image-wrapper {
  min-width: min-content;
  min-height: min-content;
  display: block;
}
.page-image {
  width: auto;
  max-width: none;
  height: auto;
  min-width: 280px;
  background: #fff;
  transition: opacity .12s ease;
}
.page-image.is-loading {
  opacity: .35;
}
.page-image.load-error {
  opacity: .4;
}
.viewer-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 15;
  pointer-events: none;
}
.viewer-hint {
  text-align: center;
  color: #666;
  font-size: .8rem;
  padding: 7px 12px;
}
.thumbnail {
  appearance: none;
  font: inherit;
  padding: 0;
  border: 2px solid transparent;
}
@media (max-width: 1100px) {
  .toolbar-controls {
    flex-wrap: wrap;
  }
  .zoom-controls {
    flex-wrap: wrap;
  }
}
@media (max-width: 700px) {
  .epaper-wrapper {
    padding: 8px;
  }
  .epaper-toolbar {
    padding: 9px;
    margin-bottom: 8px;
  }
  .toolbar-controls {
    gap: 6px;
  }
  .toolbar-controls .btn {
    padding: 7px 10px;
    font-size: .78rem;
  }
  .zoom-controls {
    width: 100%;
    justify-content: center;
  }
  .page-viewer {
    height: 68vh;
    min-height: 420px;
  }
  .viewer-container {
    border-radius: 4px;
  }
  .nav-arrow {
    width: 38px;
    height: 38px;
  }
  .viewer-hint {
    font-size: .72rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-image-wrapper,
  .page-image,
  .thumbnail {
    transition: none;
  }
}


/* v3.2 empty-state / archive landing */
.epaper-landing{max-width:1100px;margin:40px auto;padding:48px 24px;text-align:center;background:#fff;border:1px solid var(--border-color);border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.06)}
.epaper-landing .landing-brand{font-size:1.1rem;font-weight:700;color:var(--primary-color);margin-bottom:10px}
.epaper-landing h1{font-size:clamp(1.7rem,4vw,2.6rem);margin-bottom:10px}
.epaper-landing p{color:#555;max-width:680px;margin:0 auto 22px}
.landing-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:35px}
.archive-list{text-align:left;margin-top:30px;border-top:1px solid var(--border-color);padding-top:28px}
.archive-list h2{margin-bottom:15px}
.archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.archive-card{display:flex;flex-direction:column;gap:4px;padding:15px;border:1px solid var(--border-color);border-radius:10px;background:#fafafa;transition:.15s ease}
.archive-card:hover{transform:translateY(-2px);border-color:var(--primary-color);background:#fff}
.archive-card strong{font-size:1rem}.archive-card span,.archive-card small{color:#666}

/* v3.3.2 viewer sizing: scale the layout box, never double-scale with CSS transforms. */
.page-viewer {
  align-items: flex-start;
  justify-content: center;
  overflow: auto;
}
.page-image-wrapper {
  flex: 0 0 auto;
  margin: 0 auto;
  transform: none !important;
  transition: width .15s ease, height .15s ease;
}
.page-image {
  display: block;
  max-width: none;
  height: auto;
}
@media (max-width: 700px) {
  .page-image-wrapper { margin-left: auto; margin-right: auto; }
  .page-viewer { overflow: auto; }
}

/* v3.4 fast viewer: keep the initial preview crisp and avoid layout shifts. */
.page-image { display:block; max-width:none; }
.page-image.is-loading { opacity:.65; }


/* =====================================================
   v4.0 Newspaper archive
   ===================================================== */
.archive-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.archive-heading h2 { margin:0 0 4px; }
.archive-subtitle { margin:0; color:#666; font-size:.9rem; }
.archive-search { display:flex; gap:8px; align-items:center; min-width:min(100%,420px); }
.archive-search input {
  flex:1;
  min-width:0;
  border:1px solid var(--border-color);
  border-radius:8px;
  padding:10px 12px;
  background:#fff;
}
.archive-number {
  display:inline-block;
  align-self:flex-start;
  font-weight:700;
  font-size:.78rem;
  color:var(--primary-color);
  background:rgba(0,0,0,.04);
  border-radius:999px;
  padding:3px 8px;
}
.archive-browse {
  max-width:1200px;
  margin:24px auto 0;
  padding:24px;
  background:#fff;
  border:1px solid var(--border-color);
  border-radius:14px;
}
.archive-pagination { margin-top:22px; }
.archive-pagination ul {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  list-style:none;
  margin:0;
  padding:0;
}
.archive-pagination li { margin:0; }
.archive-pagination a,
.archive-pagination span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  min-height:38px;
  padding:0 10px;
  border:1px solid var(--border-color);
  border-radius:8px;
  text-decoration:none;
  background:#fff;
}
.archive-pagination .current {
  background:var(--primary-color);
  color:#fff;
  border-color:var(--primary-color);
}
.archive-empty { padding:24px; text-align:center; color:#666; }

@media (max-width:700px) {
  .archive-heading { flex-direction:column; align-items:stretch; }
  .archive-search { width:100%; min-width:0; }
  .archive-browse { margin-top:14px; padding:16px; }
}

/* v4.0.2 loading performance */
.page-image { content-visibility: auto; }
.thumbnail img { content-visibility: auto; }

/* v5.0 performance-first viewer */
html { text-rendering: optimizeSpeed; }
.page-image { display:block; max-width:none; }
.page-image.is-preview { image-rendering:auto; }
.viewer-loading { pointer-events:none; }
.site-header, .epaper-toolbar, .thumbnail-strip { contain: layout paint; }

/* v5.1 stable viewer: no persistent overlay once image exists */
.viewer-loading[hidden] { display:none !important; }
.page-image { opacity:1 !important; filter:none !important; transition:none !important; }
.ke-article-panel { max-width:1200px; margin:28px auto; padding:24px; background:#fff; border:1px solid var(--border-color); border-radius:14px; }
.ke-article-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.ke-article-card { overflow:hidden; border:1px solid var(--border-color); border-radius:12px; background:#fff; }
.ke-article-card img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.ke-article-body { padding:18px; }
.ke-article-body h3 { margin:0 0 10px; font-size:1.35rem; line-height:1.35; }
.ke-article-content { font-size:1rem; line-height:1.8; color:#222; }
.ke-article-content p { margin:0 0 10px; }
@media(max-width:700px){ .ke-article-panel{margin:16px 0;padding:16px}.ke-article-body{padding:14px}.ke-article-body h3{font-size:1.15rem} }

/* v5.2 interactive news hotspots */
#ke-hotspot-layer-v52{position:absolute;left:0;top:0;pointer-events:none;z-index:12}
.ke-news-hotspot-v52{position:absolute;display:block;pointer-events:auto;background:rgba(255,193,7,.02);border:1px solid transparent;border-radius:3px;cursor:pointer}
.ke-news-hotspot-v52:hover,.ke-news-hotspot-v52:focus{background:rgba(255,193,7,.10);border-color:rgba(255,193,7,.55);outline:none}
.ke-news-modal-v52{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.ke-news-modal-v52[hidden]{display:none}
.ke-news-modal-card-v52{position:relative;width:min(900px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:12px;padding:24px;box-sizing:border-box}
.ke-news-modal-card-v52 img{display:block;max-width:100%;height:auto;margin:0 auto 18px}
.ke-news-modal-card-v52 h2{font-size:clamp(22px,3vw,36px);line-height:1.35;margin:0 0 14px}
.ke-news-modal-content-v52{font-size:18px;line-height:1.8}
.ke-news-modal-content-v52 p{margin:0 0 14px}
.ke-news-close-v52{position:absolute;right:10px;top:8px;border:0;background:#fff;font-size:32px;line-height:1;cursor:pointer;z-index:2}

#ke-v52-article-select{min-width:240px;max-width:420px}

/* v6.0 OCR/Layout admin */
.ke-ocr-controls-v60{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.ke-ocr-stage-v60{background:#f1f1f1;border:1px solid #ccc;padding:12px;overflow:auto}
.ke-ocr-canvas-wrap-v60{position:relative;display:inline-block;line-height:0;max-width:100%}
.ke-ocr-canvas-wrap-v60 canvas{display:block;max-width:100%;height:auto}
.ke-ocr-regions-v60{position:absolute;inset:0;pointer-events:none}
.ke-ocr-region-v60{position:absolute;border:2px solid #2271b1;background:rgba(34,113,177,.08);box-sizing:border-box}
.ke-ocr-row-v60{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid #ddd;padding:8px 0}
.ke-ocr-title-v60{min-width:360px;flex:1}

/* v7.0 final interactive news */
.ke-ocr-row-v70{border:1px solid #dcdcde;border-radius:8px;padding:12px;margin:10px 0;background:#fff}
.ke-ocr-row-v70.is-approved{border-color:#46b450;background:#f6fff6}
.ke-ocr-row-head-v70{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.ke-ocr-confidence-v70{font-size:12px;color:#666}
.ke-ocr-row-v70 label{display:block;margin:8px 0;font-weight:600}
.ke-ocr-row-v70 input[type="text"],.ke-ocr-row-v70 input[type="url"],.ke-ocr-row-v70 textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px}
.ke-ocr-region-v60.is-approved{border-color:#46b450;background:rgba(70,180,80,.12)}
.ke-ocr-region-v60{display:flex;align-items:flex-start;justify-content:flex-end;color:#fff;font-weight:700;font-size:16px;box-sizing:border-box}
.ke-story-modal-v70{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.76);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.ke-story-modal-v70[hidden]{display:none}
.ke-story-card-v70{position:relative;width:min(900px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;padding:26px;box-sizing:border-box}
.ke-story-body-v70 img{display:block;width:auto;max-width:100%;max-height:48vh;height:auto;margin:0 auto 20px}
.ke-story-body-v70 h2{font-size:clamp(24px,3vw,40px);line-height:1.35;margin:0 0 16px}
.ke-story-text-v70{font-size:18px;line-height:1.85}
.ke-story-text-v70 p{margin:0 0 14px}
.ke-story-close-v70{position:absolute;right:10px;top:6px;width:42px;height:42px;border:0;background:#fff;font-size:32px;line-height:1;cursor:pointer;border-radius:50%}
.ke-story-back-v70{border:1px solid #bbb;background:#fff;padding:9px 14px;border-radius:7px;cursor:pointer}
@media(max-width:700px){
  .ke-story-modal-v70{padding:0}
  .ke-story-card-v70{max-height:100vh;border-radius:0;padding:20px 16px}
  .ke-story-text-v70{font-size:17px}
}

/* v8.0 Crop + Story Manager */
.ke-csm-toolbar-v80{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.ke-csm-toolbar-v80 select{min-width:130px}
.ke-csm-workspace-v80{background:#e9e9e9;border:1px solid #ccc;padding:12px;overflow:auto}
.ke-csm-canvas-wrap-v80{position:relative;display:inline-block;line-height:0;max-width:100%}
.ke-csm-canvas-wrap-v80 canvas{display:block;max-width:100%;height:auto}
#ke-csm-overlay-v80{position:absolute;left:0;top:0;pointer-events:auto}
#ke-csm-overlay-v80.cropping{cursor:crosshair}
.ke-csm-box-v80{position:absolute;border:2px solid #2271b1;background:rgba(34,113,177,.08);box-sizing:border-box;cursor:pointer;pointer-events:auto;overflow:hidden}
.ke-csm-box-v80.approved{border-color:#46b450;background:rgba(70,180,80,.10)}
.ke-csm-box-v80 span{display:inline-block;background:rgba(0,0,0,.65);color:#fff;font-size:11px;line-height:1.2;padding:2px 4px;max-width:90%}
.ke-csm-instructions-v80{padding:10px 0;color:#555}
.ke-csm-story-v80{border:1px solid #dcdcde;border-radius:8px;padding:12px;margin:10px 0;background:#fff}
.ke-csm-story-v80.approved{border-color:#46b450;background:#f6fff6}
.ke-csm-story-head-v80{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.ke-csm-story-v80 label{display:block;font-weight:600;margin:7px 0}
.ke-csm-story-v80 input,.ke-csm-story-v80 textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px}
.ke-csm-connect-v80{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid #eee}
.ke-csm-connect-v80 select{min-width:240px}
.ke-csm-part-v80{display:inline-block;background:#eef6ff;border-radius:10px;padding:3px 8px;margin-right:4px}
.ke-v80-part{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #ddd}
.ke-v80-part-label{font-size:13px;color:#666;margin-bottom:8px;font-weight:600}
.ke-v80-story-content .ke-v80-part:last-child{border-bottom:0}

#ke-csm-page-status-v80{margin:10px 0}

/* v8.2 crop interaction fix */
.ke-csm-canvas-wrap-v80{position:relative;display:inline-block;line-height:0;max-width:100%}
#ke-csm-canvas-v80{position:relative;z-index:1;display:block;max-width:100%;height:auto}
#ke-csm-overlay-v80{position:absolute;z-index:20;left:0;top:0;pointer-events:none;touch-action:none}
#ke-csm-overlay-v80.cropping{cursor:crosshair;pointer-events:auto}
#ke-csm-overlay-v80.cropping .ke-csm-box-v80{pointer-events:none}
.ke-csm-live-selection-v80{position:absolute;border:3px dashed #d63638;background:rgba(214,54,56,.12);box-sizing:border-box;pointer-events:none;z-index:100}

/* v8.3: direct-canvas crop mode */
.ke-csm-canvas-wrap-v80{position:relative}
#ke-csm-canvas-v80{position:relative;z-index:1;cursor:default;touch-action:none}
.ke-csm-live-selection-v80{z-index:1000!important;border:3px dashed #d63638!important;background:rgba(214,54,56,.14)!important;box-sizing:border-box!important}
#ke-csm-overlay-v80{z-index:20;pointer-events:none!important}

/* v8.3.1 definitive crop input */
#ke-csm-canvas-v80{position:relative;z-index:1;touch-action:none;user-select:none;-webkit-user-select:none}
#ke-csm-overlay-v80{pointer-events:none!important;z-index:20}
.ke-csm-live-selection-v80{z-index:1000!important;border:3px dashed #d63638!important;background:rgba(214,54,56,.14)!important;box-sizing:border-box!important;pointer-events:none!important}

/* v8.4 automatic story crop */
.ke-csm-story-thumb-v84{display:block;max-width:260px;max-height:160px;width:auto;height:auto;border:1px solid #ddd;border-radius:4px;margin:8px 0}

/* v8.5 high quality crop + reliable public click layer */
#ke-v85-hotspot-layer{box-sizing:border-box;overflow:visible}
#ke-v85-hotspot-layer button{font:inherit}
.ke-v85-story-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;image-rendering:auto;margin:0 0 14px;border-radius:3px}
.ke-v85-story-title{font-size:26px;font-weight:700;line-height:1.35;margin-bottom:16px}
.ke-v85-part{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #ddd}
.ke-v85-part-label{font-size:13px;color:#666;margin-bottom:8px;font-weight:600}

/* ==========================================================
 * v9.0 Newspaper Clip Engine
 * ========================================================== */
.ke-clip-layer{position:absolute;z-index:10050;display:none;box-sizing:border-box;touch-action:none}
.ke-clip-layer.active{display:block;cursor:crosshair}
.ke-clip-selection{position:absolute;box-sizing:border-box;border:3px dashed #d63638;background:rgba(214,54,56,.14);pointer-events:none}
.ke-clip-modal{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.ke-clip-modal[hidden]{display:none}
.ke-clip-card{position:relative;background:#fff;width:min(1100px,100%);max-height:94vh;overflow:auto;border-radius:12px;padding:20px;box-sizing:border-box}
.ke-clip-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:34px;line-height:1;cursor:pointer}
.ke-clip-preview-wrap{background:#f1f1f1;padding:12px;display:flex;justify-content:center;overflow:auto}
.ke-clip-preview-wrap img{display:block;max-width:100%;width:auto;height:auto;image-rendering:auto}
.ke-clip-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.ke-clip-status{min-height:1.4em;color:#555}
@media(max-width:700px){
 .ke-clip-card{max-height:100vh;border-radius:0;padding:16px}
 .ke-clip-actions button{flex:1 1 45%}
}

/* v10.0 guaranteed front-end crop controls */
.ke-clip-floatbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;padding:8px;border:1px solid #ddd;border-radius:8px;background:#fff;position:relative;z-index:10060}
.ke-clip-floatbar button{cursor:pointer}
.ke-clip-msg{font-size:13px;color:#555}
.ke-clip-layer{position:absolute;z-index:10050;display:none;box-sizing:border-box;touch-action:none}
.ke-clip-layer.active{display:block;cursor:crosshair}
.ke-clip-selection{position:absolute;border:3px dashed #d63638;background:rgba(214,54,56,.15);box-sizing:border-box;pointer-events:none}
.ke-clip-modal{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;padding:16px}
.ke-clip-modal[hidden]{display:none}
.ke-clip-card{background:#fff;width:min(1100px,100%);max-height:94vh;overflow:auto;padding:20px;border-radius:12px;position:relative}
.ke-clip-close{position:absolute;right:10px;top:6px;border:0;background:none;font-size:34px;cursor:pointer}
.ke-clip-preview-wrap{background:#eee;padding:10px;overflow:auto;text-align:center}
.ke-clip-preview-wrap img{display:inline-block;max-width:100%;height:auto}
.ke-clip-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:700px){.ke-clip-floatbar{position:sticky;top:0}.ke-clip-actions button{flex:1 1 45%}}

/* v10.1 HD source: viewer and crop use attachment full/original HD first */

.ke-clip-floatbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0;padding:8px;background:#fff;border:1px solid #ddd;position:relative;z-index:10060}.ke-clip-floatbar button{cursor:pointer}.ke-clip-msg{font-size:13px}.ke-clip-layer{position:absolute;z-index:10050;display:none;touch-action:none}.ke-clip-layer.active{display:block;cursor:crosshair}.ke-clip-selection{position:absolute;border:3px dashed #d63638;background:rgba(214,54,56,.14);pointer-events:none}.ke-v11-result{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;padding:16px}.ke-v11-card{background:#fff;max-width:1100px;max-height:95vh;overflow:auto;padding:20px;position:relative;border-radius:10px}.ke-v11-card>img{display:block;max-width:100%;height:auto}.ke-v11-close{position:absolute;right:8px;top:4px;border:0;background:none;font-size:34px;cursor:pointer}.ke-v11-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ke-v11-tools button{padding:8px 12px}

.ke-v12-master-note{padding:10px;background:#f7f7f7;border-left:4px solid #2271b1}

/* v13.0 Suddimoola-style ePaper presentation */
:root{--ep-bg:#ece9e0;--ep-panel:#fff;--ep-border:#d8d4cb;--ep-accent:#c51f35;--ep-text:#222}
body{background:var(--ep-bg)}
.epaper-wrapper{max-width:1280px;margin:0 auto;padding:14px 14px 40px}
.epaper-toolbar{position:sticky;top:0;z-index:1000;background:#fff;border:1px solid var(--ep-border);box-shadow:0 2px 10px rgba(0,0,0,.06);border-radius:4px;padding:9px 12px;margin-bottom:10px}
.page-info{font-size:15px;font-weight:700;border-bottom:1px solid #eee;padding-bottom:8px;margin-bottom:8px}
.toolbar-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.toolbar-controls .btn,.zoom-controls button{min-height:36px;border-radius:3px}
.viewer-container{position:relative;background:#e8e4da;border:1px solid var(--ep-border);border-radius:5px;padding:18px 55px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.page-viewer{background:#e7e3d9;min-height:72vh;display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:20px}
.page-image-wrapper{background:#fff;box-shadow:0 3px 18px rgba(0,0,0,.2);margin:auto;line-height:0}
.page-image{display:block;max-width:none}
.nav-arrow{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #ddd;box-shadow:0 2px 10px rgba(0,0,0,.12);top:50%;transform:translateY(-50%);z-index:20}
.nav-arrow.prev{left:12px}.nav-arrow.next{right:12px}
.viewer-hint{text-align:center;font-size:13px;padding:8px;color:#666}
.thumbnail-strip{background:#fff;border:1px solid var(--ep-border);border-radius:5px;padding:10px;overflow-x:auto}
.thumbnails{display:flex;gap:10px;justify-content:center}
.thumbnail{width:86px;padding:4px;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer}
.thumbnail.active{border:2px solid var(--ep-accent)}
.thumbnail img{display:block;width:100%;height:112px;object-fit:contain;background:#eee}
.page-num{display:block;font-weight:700;padding-top:3px}
.suddi-comments{margin-top:14px;background:#fff;border:1px solid var(--ep-border);border-radius:5px;padding:12px}
.suddi-comments-head{display:flex;justify-content:space-between;align-items:center}
#suddi-comment-box textarea{width:100%;margin:10px 0;padding:10px;border:1px solid #ccc}
.suddi-comment-item{padding:8px;border-bottom:1px solid #eee}
.suddi-crop-layer{position:absolute;z-index:10000;display:none;touch-action:none}
.suddi-crop-layer.active{display:block;cursor:crosshair}
.suddi-crop-selection{position:absolute;border:3px dashed var(--ep-accent);background:rgba(197,31,53,.13);box-sizing:border-box}
.suddi-clip-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:16px}
.suddi-clip-card{background:#fff;max-width:min(1100px,96vw);max-height:94vh;overflow:auto;border-radius:5px;padding:14px;position:relative}
.suddi-close{position:absolute;right:7px;top:2px;border:0;background:transparent;font-size:32px;cursor:pointer}
.suddi-clip-toolbar{display:flex;gap:15px;align-items:center;padding:4px 35px 10px 4px;flex-wrap:wrap}
.suddi-clip-image-wrap{background:#eee;padding:10px;text-align:center}
.suddi-clip-image-wrap img{max-width:100%;height:auto;display:inline-block}
.suddi-clip-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.suddi-clip-meta{padding-top:8px;font-size:13px;color:#555}
.suddi-zoom-mode .page-viewer{min-height:90vh}
.suddi-zoom-mode .page-image{max-width:none!important;width:auto!important}
@media(max-width:700px){
 .epaper-wrapper{padding:4px}
 .epaper-toolbar{position:sticky;top:0;border-radius:0}
 .page-info{font-size:13px}
 .viewer-container{padding:5px 34px}
 .page-viewer{padding:5px;min-height:70vh}
 .nav-arrow{width:34px;height:34px}.nav-arrow.prev{left:3px}.nav-arrow.next{right:3px}
 .toolbar-controls .btn,.zoom-controls button{min-height:34px;font-size:12px}
 .thumbnails{justify-content:flex-start}
 .thumbnail{width:70px}.thumbnail img{height:90px}
}

/* v14 EPAP-style reader */
body.ke-v14-reader-active{background:#f2f1ee}
.ke-v14-edition-header{max-width:1280px;margin:0 auto;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #ddd}
.ke-v14-brand{display:flex;gap:8px;align-items:baseline;font-size:20px}.ke-v14-brand span{font-size:12px;color:#777}.ke-v14-edition-meta{font-size:13px;color:#555}
.ke-v14-reader-bar{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:10020;background:rgba(20,20,20,.94);padding:7px 9px;border-radius:28px;display:flex;gap:4px;align-items:center;box-shadow:0 6px 25px rgba(0,0,0,.25)}
.ke-v14-reader-bar button{width:38px;height:38px;border:0;border-radius:20px;background:#fff;color:#222;font-size:19px;cursor:pointer}.ke-v14-reader-bar span{color:#fff;min-width:72px;text-align:center;font-size:13px}
@media(max-width:700px){.ke-v14-edition-header{padding:8px 10px;position:sticky;top:0;z-index:1010}.ke-v14-brand{font-size:17px}.ke-v14-edition-meta{font-size:11px}.ke-v14-reader-bar{bottom:8px;max-width:96vw;padding:6px;gap:2px}.ke-v14-reader-bar button{width:36px;height:36px;font-size:17px}.ke-v14-reader-bar span{min-width:58px;font-size:11px}.viewer-container{padding-bottom:64px}}

/* v14.2 final story clip */
.suddi-clip-card{max-width:min(1100px,96vw);max-height:95vh}
.suddi-clip-image-wrap{background:#f1f1f1;border:1px solid #ddd;padding:10px;display:flex;justify-content:center}
.suddi-clip-image-wrap img{max-width:100%;height:auto;display:block}
.suddi-clip-meta{font-weight:600;padding:10px 4px;color:#333;border-top:1px solid #eee;margin-top:8px}
.suddi-clip-page{margin-left:12px;font-size:13px;color:#666}

/* v14.3: click a story -> one complete newspaper share image */
.ke-v143-card{width:min(94vw,1100px)!important;max-width:1100px!important;max-height:94vh!important;padding:12px!important;overflow:auto}
.ke-v143-story-content{display:flex;flex-direction:column;align-items:center;gap:10px}
.ke-v143-final-story{display:block;max-width:100%;width:auto;height:auto;background:#fff}
.ke-v143-loading,.ke-v143-error{padding:50px;text-align:center;font-weight:700}
.ke-v143-actions{display:flex;gap:8px;justify-content:center;padding:5px}
.ke-v143-actions button{border:1px solid #ccc;background:#fff;padding:9px 14px;border-radius:4px;cursor:pointer}
.ke-v143-actions button:first-child{background:#b31325;color:#fff;border-color:#b31325}

/* v14.4 clean story image */
.ke-v143-card{background:#f7f7f7!important}
.ke-v143-final-story{box-shadow:0 2px 12px rgba(0,0,0,.18)}
.ke-v143-actions{background:#f7f7f7;padding:8px 0 2px}

/* v15 PDF-native crop status */
.ke-v143-loading{padding:55px 25px;text-align:center;font-weight:700}

/* v16 HD story popup */
.ke-v16-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:6px;background:#fff;border-bottom:1px solid #ddd;padding:7px}
.ke-v16-toolbar button{min-width:38px;padding:7px 10px;border:1px solid #ccc;background:#fff;border-radius:4px;cursor:pointer;font-weight:700}
.ke-v16-zoom-label{min-width:58px;text-align:center;font-weight:700;font-size:13px}
.ke-v16-image-scroll{width:100%;max-height:78vh;overflow:auto;background:#e9e9e9;padding:8px;display:block}
.ke-v16-story-image{display:block;flex:0 0 auto;width:100%;max-width:none;height:auto;box-shadow:0 1px 8px rgba(0,0,0,.18);margin:0 auto}
@media(max-width:700px){.ke-v16-image-scroll{max-height:78vh;padding:3px}.ke-v16-toolbar button{min-width:34px;padding:6px 7px;font-size:12px}}

/* v16.1 Kannada Suddi Belaku title */
.ke-v16-kannada-title{
 font-family:"Nudi 17E","Nudi Akshara","Noto Sans Kannada","Noto Serif Kannada",sans-serif;
 font-weight:700; line-height:1.15; text-align:center; color:#111;
}

/* v16.3 clean branded HD popup */
.ke-v16-toolbar{background:#fff;border-bottom:1px solid #ddd;gap:5px;padding:8px;flex-wrap:wrap}
.ke-v16-toolbar button{font-weight:700;border:1px solid #ccc;border-radius:5px;background:#fff;padding:7px 10px}
.ke-v16-image-scroll{background:#ededed;max-height:78vh;overflow:auto;padding:10px;text-align:center}
.ke-v16-story-image{display:block;margin:0 auto;height:auto;max-width:none}
.ke-v143-actions{padding:9px;background:#fff;border-top:1px solid #ddd;text-align:center}

/* v16.4 — single professional page navigation */
.ke-legacy-page-nav{display:none!important}
.ke-single-page-nav{
 display:flex;align-items:center;justify-content:center;gap:10px;
 max-width:720px;margin:12px auto 18px;padding:9px 12px;
 background:#fff;border:1px solid #e2e2e2;border-radius:10px;
 box-shadow:0 2px 10px rgba(0,0,0,.07);
 position:relative;z-index:5;
}
.ke-single-page-arrow{
 width:38px;height:38px;border:1px solid #d4d4d4;border-radius:50%;
 background:#fff;color:#222;font-size:24px;line-height:1;cursor:pointer;
 flex:0 0 auto;
}
.ke-single-page-arrow:hover:not(:disabled){background:#f3f3f3}
.ke-single-page-arrow:disabled{opacity:.35;cursor:not-allowed}
.ke-single-page-numbers{
 display:flex;align-items:center;justify-content:center;gap:7px;
 overflow-x:auto;scrollbar-width:none;max-width:580px;padding:2px 3px;
}
.ke-single-page-numbers::-webkit-scrollbar{display:none}
.ke-single-page-number{
 min-width:36px;height:36px;padding:0 9px;border:1px solid #d4d4d4;
 border-radius:50%;background:#fff;color:#444;font-weight:700;cursor:pointer;
}
.ke-single-page-number:hover{background:#f5f5f5}
.ke-single-page-number.active{background:#111;color:#fff;border-color:#111}
@media(max-width:700px){
 .ke-single-page-nav{max-width:calc(100% - 20px);gap:6px;margin:9px auto 14px;padding:7px 8px}
 .ke-single-page-arrow{width:34px;height:34px;font-size:21px}
 .ke-single-page-numbers{gap:5px;max-width:calc(100vw - 110px)}
 .ke-single-page-number{min-width:32px;height:32px;padding:0 7px;font-size:13px}
}

/* v16.5 — Colorful professional ePaper reader */
:root{
 --ke-red:#ef1111;
 --ke-red-dark:#c90000;
 --ke-yellow:#ffeb00;
 --ke-blue:#1f5fbf;
 --ke-green:#21a85b;
 --ke-purple:#6a43b8;
 --ke-bg:#f1f1f1;
 --ke-card:#fff;
}
body{background:var(--ke-bg)}
.ke-color-action-strip{
 display:flex;align-items:center;justify-content:center;gap:0;
 width:100%;min-height:48px;background:#fff;
 border-top:1px solid #ddd;border-bottom:1px solid #d7d7d7;
 box-shadow:0 1px 4px rgba(0,0,0,.08);position:relative;z-index:10;
}
.ke-color-action{
 width:54px;height:46px;border:0;border-right:1px solid #e2e2e2;
 background:#fff;font-size:22px;font-weight:800;cursor:pointer;
 transition:transform .12s,filter .12s;
}
.ke-color-action:first-child{border-left:1px solid #e2e2e2}
.ke-color-action:hover{filter:brightness(.94);transform:translateY(-1px)}
.ke-back{color:#38a95a;font-size:28px}
.ke-fb{color:#fff;background:#1877f2}
.ke-wa{color:#fff;background:#25d366}
.ke-x{color:#fff;background:#111}
.ke-mail{color:#d94841}
.ke-download{color:#fff;background:#155fc4}
.ke-print{color:#333}
.ke-link{color:#111;background:#fff}
.ke-close{color:#333;font-size:29px}
.viewer-container{
 background:#eee!important;border-radius:0 0 8px 8px;
 border:1px solid #ddd;box-shadow:0 3px 14px rgba(0,0,0,.08);
}
.page-viewer{background:#ededed!important}
.ke-single-page-nav{
 max-width:720px!important;background:var(--ke-red)!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 margin:0 auto 18px!important;padding:9px 12px!important;
}
.ke-single-page-arrow{
 background:#fff!important;color:#555!important;border:0!important;
}
.ke-single-page-number{background:#fff!important;color:#555!important;border:0!important}
.ke-single-page-number.active{
 background:#3f69d8!important;color:#fff!important;border:0!important;
 box-shadow:0 1px 3px rgba(0,0,0,.18)
}
.viewer-hint{color:#666!important}
.thumbnail-strip{background:#fff}
.site-header,.header,.main-header{background:#fff}
.ke-color-action-strip + .viewer-container:before{
 content:"";display:block;height:0
}
@media(max-width:700px){
 .ke-color-action-strip{min-height:44px}
 .ke-color-action{width:calc(100vw / 9);height:44px;font-size:18px}
 .ke-single-page-nav{max-width:100%!important;border-radius:0!important;margin-bottom:12px!important}
}

/* v16.6 — remove legacy floating reader controls and fix toolbar overlap */
.ke-v14-reader-bar,
#ke-v14-reader-bar,
.ke-legacy-reader-bar,
.legacy-reader-bar{display:none!important}
.viewer-container{padding-bottom:18px!important}
.toolbar-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.zoom-controls{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.zoom-level{display:inline-flex;align-items:center;justify-content:center;min-width:56px;font-weight:800}
#zoom-reset{display:none!important}
#fit-width{min-width:110px;white-space:nowrap}
#fullscreen{min-width:44px}
.toolbar-controls .btn{white-space:nowrap}
@media(max-width:900px){
 .toolbar-controls{justify-content:center;gap:5px}
 .toolbar-controls .btn{padding:7px 9px}
}
@media(max-width:700px){
 .toolbar-controls{width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px}
 .zoom-controls{position:sticky;left:0;background:#fff;z-index:2}
}

/* v16.6 — colorful professional story popup */
.ke-story-modal-v70{
 background:linear-gradient(135deg,rgba(30,30,45,.88),rgba(110,30,50,.82))!important;
 backdrop-filter:blur(5px);
 padding:18px!important;
}
.ke-v143-card{
 width:min(1000px,96vw)!important;
 max-width:1000px!important;
 max-height:94vh!important;
 padding:0!important;
 overflow:hidden!important;
 border-radius:18px!important;
 background:#fff!important;
 box-shadow:0 20px 70px rgba(0,0,0,.38)!important;
 border:1px solid rgba(255,255,255,.5);
}
.ke-story-close-v70{
 position:absolute!important;right:12px!important;top:12px!important;
 z-index:20!important;width:42px!important;height:42px!important;
 border-radius:50%!important;border:2px solid rgba(255,255,255,.7)!important;
 background:rgba(20,20,20,.72)!important;color:#fff!important;
 font-size:28px!important;line-height:38px!important;
 box-shadow:0 4px 15px rgba(0,0,0,.25);
}
.ke-v143-story-content{gap:0!important;background:#fff}
.ke-v16-toolbar{
 position:sticky;top:0;z-index:10;
 display:flex!important;align-items:center;justify-content:center;
 gap:7px!important;padding:10px 56px 10px 10px!important;
 background:linear-gradient(90deg,#c90000,#ef1111 45%,#ffcf00)!important;
 border:0!important;color:#fff!important;
 box-shadow:0 3px 12px rgba(0,0,0,.18);
}
.ke-v16-toolbar button{
 min-width:38px!important;height:36px!important;
 border:0!important;border-radius:8px!important;
 background:#fff!important;color:#222!important;
 font-weight:800!important;box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.ke-v16-toolbar button[data-z="2"]{background:#1f66d1!important;color:#fff!important}
.ke-v16-toolbar button[data-z="3"]{background:#6a43b8!important;color:#fff!important}
.ke-v16-zoom-label{
 color:#fff!important;font-weight:900!important;min-width:58px;
}
.ke-v16-image-scroll{
 background:#f0f0f0!important;
 padding:14px!important;
 max-height:calc(94vh - 150px)!important;
 overflow:auto!important;
}
.ke-v16-story-image{
 background:#fff!important;
 box-shadow:0 5px 22px rgba(0,0,0,.18)!important;
}
.ke-v143-actions{
 display:flex!important;justify-content:center;gap:10px!important;
 padding:11px!important;background:linear-gradient(90deg,#ffcf00,#fff,#ffcf00)!important;
 border-top:1px solid #e1b900!important;
}
.ke-v143-actions button{
 border:0!important;border-radius:8px!important;
 padding:9px 16px!important;font-weight:800!important;cursor:pointer;
}
.ke-v143-download{background:#c90000!important;color:#fff!important}
.ke-v143-share{background:#1f66d1!important;color:#fff!important}
@media(max-width:700px){
 .ke-story-modal-v70{padding:0!important}
 .ke-v143-card{width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important}
 .ke-v16-toolbar{justify-content:flex-start;overflow-x:auto;padding-right:54px!important}
 .ke-v16-image-scroll{max-height:calc(100vh - 145px)!important;padding:7px!important}
 .ke-v143-actions{padding:8px!important}
 .ke-v143-actions button{flex:1}
}

/* v16.7 — Suddi Belaku Kannada masthead only */
.ke-v16-kannada-title,
.ke-v16-kannada-title *{
 font-family:"Nudi 17E","Nudi Akshara","Noto Sans Kannada","Noto Serif Kannada",sans-serif!important;
 font-weight:800;
}
.ke-v16-kannada-title .suddi{color:#d71920!important}
.ke-v16-kannada-title .belaku{color:#111!important}

/* v16.8 — no-refresh client-side page rendering */
#page-viewer img,
#main-page-image{user-select:none;-webkit-user-drag:none}
#viewer-container button,
.ke-color-action-strip button,
#ke-single-page-nav button{cursor:pointer}

/* v16.9 — PDF processing completes without page refresh */
.ke-no-refresh-note{font-size:12px;color:#16803c;font-weight:700;margin-left:6px}

/* v17.1 — reliable crop after live PDF rendering */
.suddi-clip-toolbar{
 display:flex;align-items:center;justify-content:space-between;
 padding:12px 16px;background:linear-gradient(90deg,#d71920,#ef1111 48%,#ffca05);
 color:#fff;border-radius:14px 14px 0 0;
 font-family:"Nudi 17E","Nudi Akshara","Noto Sans Kannada","Noto Serif Kannada",sans-serif;
}
.suddi-brand-red{color:#d71920;background:#fff;padding:2px 5px;border-radius:4px}
.suddi-brand-black{color:#111;background:#fff;padding:2px 5px;border-radius:4px}
.suddi-clip-page{font-family:Arial,sans-serif;font-weight:800}
#ke-convert-status.success strong{color:#16803c}

/* v17.2 custom composition font is injected from WordPress settings */

/* v17.8 — easy admin cropping */
.ke-csm-help-v178{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;padding:12px 14px;border-radius:10px;background:#fff8d6;border:1px solid #e5c94a;color:#332b00;font-size:13px;line-height:1.4}
.ke-csm-help-v178 span{background:#fff;padding:5px 9px;border-radius:6px;border:1px solid #ddd}
.ke-csm-help-v178.active{background:#e9f7ff;border-color:#2795d9}
.ke-csm-main-crop{font-size:15px!important;font-weight:800!important;padding:8px 14px!important}
.ke-csm-cancel-crop{font-weight:700!important}
#ke-csm-crop-v80.ke-crop-active{background:#d71920!important;color:#fff!important}
.ke-csm-canvas-wrap,#ke-csm-canvas-v80{touch-action:none!important}
@media(max-width:700px){.ke-csm-help-v178 span{width:100%}.ke-csm-main-crop{width:100%}}

/* v18.0 — actual story popup share menu */
.ke-v180-share-menu{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;padding:8px;border-radius:10px;background:#f4f4f4}
.ke-v180-share-menu button{border:0;border-radius:7px;padding:8px 11px;font-weight:700;cursor:pointer;background:#fff}
.ke-v180-share-menu button:hover{transform:translateY(-1px)}

/* v18.2 performance: reduce layout work while off-screen thumbnails are lazy-loaded */
#thumbnail-list .thumbnail img{content-visibility:auto;contain-intrinsic-size:80px 110px}
#viewer-container img#main-page-image{content-visibility:auto}

/* v18.3 — larger newspaper masthead and centered edition footer */
.ke-v143-card .ke-v143-final-story{display:block;width:auto;max-width:100%;margin:0 auto}
.ke-v143-card .ke-v143-actions{justify-content:center}

/* v18.5 — Nudi Akshara newspaper masthead */
.ke-v143-card .ke-v143-final-story{image-rendering:auto}

/* v18.6 — actual printed newspaper masthead */
.ke-v143-card .ke-v143-final-story{background:#fff;display:block;margin:0 auto}
.ke-v143-card{background:#fff}

/* v18.8 — masthead refinement */
.ke-v143-card .ke-v143-final-story{border-radius:0;box-shadow:none}
.ke-v143-card .ke-v143-actions{margin-top:10px}

/* v18.9 — text masthead is generated at HD canvas resolution */
.ke-v143-card .ke-v143-final-story{display:block;margin:0 auto;background:#fff}

/* v19.0 — large web story-popup masthead with safe top spacing */
.ke-v143-card .ke-v143-final-story{
  display:block;
  margin:0 auto;
  background:#fff;
  max-width:100%;
  height:auto;
}
.ke-v143-card .ke-v143-story-content{padding-top:8px}

/* v19.1 — reserve a dedicated masthead zone above the article */
.ke-v143-card .ke-v143-story-content{padding-top:12px}
.ke-v143-card .ke-v143-final-story{display:block;margin:0 auto}
