.koe-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; margin: 22px 0; }
.koe-card { background: #fff; border: 1px solid rgba(18,59,42,.15); border-radius: 22px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.koe-card-image { min-height: 190px; background: linear-gradient(135deg, #123b2a, #c99b3b); display:block; position:relative; overflow:hidden; }
.koe-card-image img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.koe-placeholder { display:block; position:absolute; inset:0; background: radial-gradient(circle at top left, rgba(255,255,255,.25), transparent 35%), linear-gradient(135deg, #123b2a, #c99b3b); }
.koe-card-body { padding: 20px; }
.koe-card-body h3 { margin:0 0 8px; color:#123b2a; font-family: Georgia, "Times New Roman", serif; font-size:1.3rem; line-height:1.2; }
.koe-card-body p { margin:0; color:#646464; }
.koe-shortcode-title { color:#123b2a; font-family: Georgia, "Times New Roman", serif; }
.koe-empty { padding:18px; background:#fbf7ef; border:1px solid rgba(18,59,42,.15); border-radius:14px; }
.koe-meta-panel { background:#fbf7ef; border:1px solid rgba(18,59,42,.15); border-radius:18px; padding:18px; margin-bottom:24px; display:grid; gap:10px; }
.koe-meta-row { display:grid; grid-template-columns: 190px 1fr; gap:12px; }
.koe-meta-row strong { color:#123b2a; }
.koe-share-buttons { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0; }
.koe-share-buttons a { background:#123b2a; color:#fff !important; padding:10px 14px; border-radius:999px; text-decoration:none !important; font-weight:800; }
.koe-submit-form, .koe-search-form { background:#fff; border:1px solid rgba(18,59,42,.15); border-radius:22px; padding:26px; box-shadow:0 10px 30px rgba(0,0,0,.06); margin:24px 0; }
.koe-submit-form h2 { margin-top:0; color:#123b2a; font-family: Georgia, "Times New Roman", serif; }
.koe-help { color:#646464; }
.koe-submit-form label, .koe-search-form label { display:block; font-weight:800; color:#123b2a; margin-bottom:6px; }
.koe-submit-form input, .koe-submit-form textarea, .koe-search-form input, .koe-search-form select { width:100%; border:1px solid rgba(18,59,42,.2); border-radius:14px; padding:12px 14px; font:inherit; }
.koe-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.koe-submit-button, .koe-search-form button { background:#c99b3b; color:#1b1305; border:0; border-radius:999px; padding:12px 18px; font-weight:900; cursor:pointer; }
.koe-search-row { display:grid; grid-template-columns:1fr 180px auto; gap:10px; align-items:end; }
.koe-notice { padding:14px 16px; border-radius:14px; margin:16px 0; font-weight:800; }
.koe-success { background:#e9f7ef; color:#123b2a; border:1px solid #bfe6cc; }
.koe-error { background:#fff3f1; color:#8a1f11; border:1px solid #f0b5ac; }
@media (max-width: 900px) { .koe-grid { grid-template-columns:1fr 1fr; } .koe-search-row, .koe-form-grid, .koe-meta-row { grid-template-columns:1fr; } }
@media (max-width: 620px) { .koe-grid { grid-template-columns:1fr; } }


/* v0.2 - AdSense/ad slot output */
.koe-ad-content, .koe-ad-shortcode { text-align: center; max-width: 100%; overflow: hidden; }
.koe-ad-label { display: block; color: #646464; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; }

/* v0.3 - Premium public contributor dashboard */
.koe-contributor-dashboard { margin: 30px 0; }
.koe-dashboard-header { background: linear-gradient(120deg, #123b2a, #17395c); color: #fff; border-radius: 24px; padding: clamp(24px, 5vw, 42px); box-shadow: 0 18px 45px rgba(0,0,0,.10); }
.koe-dashboard-header h2 { margin: 0 0 10px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.05; }
.koe-dashboard-header p { color: rgba(255,255,255,.86); margin: 0; max-width: 880px; }
.koe-kicker { color: #f3e4bf !important; text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 900; margin-bottom: 8px !important; }
.koe-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 22px 0; }
.koe-dashboard-card { display: block; background: #fff; border: 1px solid rgba(18,59,42,.15); border-radius: 20px; padding: 20px; text-decoration: none !important; color: #123b2a !important; box-shadow: 0 10px 30px rgba(0,0,0,.06); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.koe-dashboard-card:hover, .koe-dashboard-card.is-active { transform: translateY(-3px); border-color: #c99b3b; box-shadow: 0 18px 45px rgba(0,0,0,.10); }
.koe-dashboard-card strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; margin: 10px 0 6px; }
.koe-dashboard-card span:last-child { display: block; color: #646464; line-height: 1.5; }
.koe-dashboard-icon { display: inline-block; width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, #123b2a, #c99b3b); }
.koe-dashboard-form { margin-top: 24px; }
.koe-dashboard-note { background: #fbf7ef; border: 1px solid rgba(18,59,42,.15); border-radius: 18px; padding: 18px; color: #123b2a; font-weight: 800; }

/* v0.3 - Calendar and project showcase */
.koe-calendar-list { display: grid; gap: 16px; }
.koe-calendar-item { display: grid; grid-template-columns: 86px 1fr; gap: 16px; align-items: start; background: #fff; border: 1px solid rgba(18,59,42,.15); border-radius: 20px; padding: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.05); }
.koe-calendar-date { background: #f3e4bf; color: #123b2a; border-radius: 18px; min-height: 86px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 900; text-align: center; }
.koe-calendar-date span { font-size: 1.7rem; line-height: 1; }
.koe-calendar-date small { text-transform: uppercase; letter-spacing: .08em; }
.koe-calendar-content h3 { margin: 0 0 6px; font-family: Georgia, "Times New Roman", serif; color: #123b2a; font-size: 1.25rem; }
.koe-calendar-content p { margin: 0 0 10px; color: #646464; }
.koe-calendar-meta { display: flex; gap: 10px; flex-wrap: wrap; }
.koe-calendar-meta span { background: #fbf7ef; color: #7a4b2a; border-radius: 999px; padding: 6px 10px; font-weight: 800; font-size: .88rem; }
.koe-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 22px 0; }
.koe-project-card { background: #fff; border: 1px solid rgba(18,59,42,.15); border-radius: 22px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.koe-project-body { padding: 20px; }
.koe-project-body h3 { margin: 10px 0 8px; font-family: Georgia, "Times New Roman", serif; color: #123b2a; font-size: 1.3rem; line-height: 1.18; }
.koe-project-body p { color: #646464; margin: 0 0 12px; }
.koe-status-pill { display: inline-flex; background: #123b2a; color: #fff; border-radius: 999px; padding: 6px 10px; font-size: .78rem; font-weight: 900; }
.koe-project-meta { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.koe-project-meta span { background: #fbf7ef; border: 1px solid rgba(18,59,42,.12); border-radius: 999px; padding: 6px 10px; color: #7a4b2a; font-weight: 800; font-size: .88rem; }
.koe-progress { height: 10px; background: #eee3ca; border-radius: 999px; overflow: hidden; margin-top: 12px; }
.koe-progress span { display: block; height: 100%; background: linear-gradient(90deg, #123b2a, #c99b3b); }
.koe-progress-text { color: #646464; font-size: .86rem; font-weight: 800; margin-top: 6px; }
.koe-project-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.koe-project-actions a { background: #123b2a; color: #fff !important; border-radius: 999px; padding: 9px 12px; font-weight: 900; text-decoration: none !important; }
.koe-project-actions .koe-donate-link { background: #c99b3b; color: #1b1305 !important; }

/* v0.3 - Premium biography spotlight */
.koe-bio-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 22px 0; }
.koe-bio-card-premium { background: #fff; border: 1px solid rgba(18,59,42,.15); border-radius: 22px; padding: 20px; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.koe-bio-photo { display: block; width: 118px; height: 118px; border-radius: 50%; overflow: hidden; margin: 0 auto 14px; border: 6px solid #f3e4bf; background: linear-gradient(135deg, #123b2a, #c99b3b); position: relative; }
.koe-bio-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.koe-bio-photo .koe-placeholder { position: absolute; inset: 0; }
.koe-bio-card-premium h3 { margin: 0 0 8px; font-family: Georgia, "Times New Roman", serif; color: #123b2a; font-size: 1.18rem; }
.koe-bio-role { color: #7a4b2a !important; font-weight: 900; margin: 0 0 6px !important; }
.koe-bio-origin { color: #646464 !important; margin: 0 !important; }

@media (max-width: 980px) { .koe-dashboard-grid, .koe-project-grid { grid-template-columns: 1fr 1fr; } .koe-bio-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .koe-dashboard-grid, .koe-project-grid, .koe-bio-grid { grid-template-columns: 1fr; } .koe-calendar-item { grid-template-columns: 1fr; } .koe-calendar-date { width: 100%; } }

/* v0.4 - Archive library, author directory, editorial policy */
.koe-library-grid,
.koe-author-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; margin: 22px 0; }
.koe-library-card,
.koe-author-card,
.koe-editorial-policy,
.koe-sources-box { background: #fff; border: 1px solid rgba(18,59,42,.15); border-radius: 22px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.koe-library-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.koe-library-meta span { background: #fbf7ef; color: #7a4b2a; border-radius: 999px; padding: 6px 10px; font-weight: 800; font-size: .84rem; }
.koe-contributor-credit { color: #123b2a !important; font-weight: 800; margin-top: 12px !important; }
.koe-author-card { padding: 22px; text-align: center; }
.koe-author-photo { display: block; width: 130px; height: 130px; border-radius: 50%; overflow: hidden; margin: 0 auto 14px; border: 6px solid #f3e4bf; background: linear-gradient(135deg, #123b2a, #c99b3b); }
.koe-author-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.koe-author-card h3 { margin: 0 0 8px; font-family: Georgia, "Times New Roman", serif; color: #123b2a; font-size: 1.24rem; }
.koe-author-title,
.koe-author-role { color: #7a4b2a !important; font-weight: 900; margin: 0 0 6px !important; }
.koe-author-credentials { color: #123b2a !important; font-weight: 800; margin: 0 0 6px !important; font-size: .94rem; }
.koe-editorial-policy,
.koe-sources-box { padding: clamp(22px, 4vw, 34px); margin: 24px 0; }
.koe-editorial-policy h2,
.koe-sources-box h2 { margin: 0 0 12px; color: #123b2a; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.7rem, 3vw, 2.6rem); }
.koe-editorial-policy p,
.koe-sources-box p { color: #646464; }
.koe-policy-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-top: 18px; }
.koe-policy-grid div { background: #fbf7ef; border: 1px solid rgba(18,59,42,.15); border-radius: 16px; padding: 16px; }
.koe-policy-grid strong { display: block; color: #123b2a; margin-bottom: 6px; }
.koe-policy-grid span { color: #646464; }
@media (max-width: 980px) { .koe-library-grid, .koe-author-grid, .koe-policy-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .koe-library-grid, .koe-author-grid, .koe-policy-grid { grid-template-columns: 1fr; } }

/* v0.5 - Premium submissions, advanced search, and heritage timeline */
.koe-submit-form-v05 .koe-submit-header { background: linear-gradient(135deg, #123b2a, #17395c); color: #fff; border-radius: 22px; padding: clamp(22px, 4vw, 34px); margin: -6px -6px 22px; }
.koe-submit-form-v05 .koe-submit-header h2 { color: #fff !important; margin: 0 0 10px !important; }
.koe-submit-form-v05 .koe-submit-header p { color: rgba(255,255,255,.86) !important; margin: 0 !important; }
.koe-submit-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin: 0 0 22px; }
.koe-submit-steps div { background: #fbf7ef; border: 1px solid rgba(18,59,42,.15); border-radius: 16px; padding: 14px; display: flex; gap: 10px; align-items: center; }
.koe-submit-steps strong { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; background: #123b2a; color: #fff; border-radius: 50%; }
.koe-submit-steps span { font-weight: 900; color: #123b2a; }
.koe-form-panel { background: #fbf7ef; border: 1px solid rgba(18,59,42,.15); border-radius: 20px; padding: 18px; margin: 18px 0; }
.koe-form-panel h3 { color: #123b2a; font-family: Georgia, "Times New Roman", serif; margin: 0 0 14px; }
.koe-consent-row { background: #f3e4bf; border: 1px solid rgba(122,75,42,.22); border-radius: 16px; padding: 14px; }
.koe-honeypot { position:absolute !important; left:-9999px !important; opacity:0 !important; height:0 !important; width:0 !important; }
.koe-advanced-search-block { background: #fff; border: 1px solid rgba(18,59,42,.15); border-radius: 24px; padding: clamp(20px,4vw,32px); box-shadow: 0 10px 30px rgba(0,0,0,.06); margin: 22px 0; }
.koe-advanced-search-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.koe-advanced-search-grid .koe-search-wide { grid-column: span 2; }
.koe-advanced-search label { display: block; color: #123b2a; font-weight: 900; margin-bottom: 6px; }
.koe-advanced-search input, .koe-advanced-search select { width: 100%; border: 1px solid rgba(18,59,42,.18); border-radius: 999px; padding: 12px 14px; background: #fff; }
.koe-search-results { margin-top: 24px; }
.koe-search-results h3 { color: #123b2a; font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; }
.koe-result-type { display:inline-flex; background:#f3e4bf; color:#123b2a; border-radius:999px; padding:5px 9px; font-size:.78rem; font-weight:900; margin-bottom:8px; }
.koe-timeline { position: relative; display: grid; gap: 20px; margin: 22px 0; }
.koe-timeline:before { content:""; position:absolute; left: 138px; top: 0; bottom: 0; width: 3px; background: linear-gradient(#123b2a, #c99b3b); border-radius: 99px; }
.koe-timeline-item { position: relative; display: grid; grid-template-columns: 130px 1fr; gap: 28px; align-items: start; }
.koe-timeline-date { background: #123b2a; color: #fff; border: 4px solid #f3e4bf; border-radius: 999px; min-height: 58px; display:flex; align-items:center; justify-content:center; text-align:center; font-weight: 900; padding: 10px; z-index: 1; }
.koe-timeline-content { background: #fff; border: 1px solid rgba(18,59,42,.15); border-radius: 22px; padding: 22px; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.koe-timeline-content h3 { margin: 10px 0 8px; color: #123b2a; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; }
.koe-timeline-content p { color: #646464; margin: 0 0 10px; }
.koe-timeline-location { color: #7a4b2a !important; font-weight: 900; }
@media (max-width: 800px) { .koe-advanced-search-grid, .koe-submit-steps { grid-template-columns: 1fr; } .koe-advanced-search-grid .koe-search-wide { grid-column: auto; } .koe-timeline:before { left: 18px; } .koe-timeline-item { grid-template-columns: 1fr; gap: 12px; padding-left: 42px; } .koe-timeline-date { justify-content: flex-start; border-radius: 16px; min-height: auto; } }
