/* OneAIWorld editorial pages ("Editorial Lab"): News, Articles/Guides, Community posts, Gallery.
   Opt in with {% block oaiw_ui %}new{% endblock %} and {% block oaiw_skin %}editorial{% endblock %}.
   The skin gives light theme a warm paper ground and every page here a serif voice; dark theme keeps the navy palette. */

@font-face { font-family: 'Fraunces'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../../../fonts/oaiw/fraunces-var-latin.woff2') format('woff2'); }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 400 700; font-display: swap; src: url('../../../fonts/oaiw/fraunces-italic-var-latin.woff2') format('woff2'); }

/* ---------- skin: paper (light) and serif voice (both) ---------- */
:root[data-oaiw-skin="editorial"] { --oaiw-font-display: 'Fraunces', Georgia, 'Times New Roman', serif; --oaiw-h1: clamp(2.3rem, 1.5rem + 3.6vw, 4.4rem); }
:root[data-oaiw-skin="editorial"][data-oaiw-theme="light"] {
  --oaiw-bg: #f5f1e8; --oaiw-bg-2: #ece6d8; --oaiw-surface: #fffdf8; --oaiw-surface-2: #f3eee0; --oaiw-surface-hover: #efe8d6;
  --oaiw-line: #dcd3bf; --oaiw-line-strong: #c4b99f;
  --oaiw-text: #0f1b2d; --oaiw-text-muted: #4d586b; --oaiw-text-faint: #5f6677;
  --oaiw-nav-bg: rgba(245, 241, 232, .86); --oaiw-nav-bg-solid: rgba(245, 241, 232, .97); --oaiw-input-bg: #fffdf8;
  --oaiw-shadow: 0 24px 50px -24px rgba(15, 27, 45, .28); --oaiw-shadow-sm: 0 8px 20px -10px rgba(15, 27, 45, .22);
  --oaiw-text-rgb: 15, 27, 45; --oaiw-bg-rgb: 245, 241, 232; --oaiw-muted-rgb: 77, 88, 107;
}
html[data-oaiw-skin="editorial"] :is(h1, h2, h3, h4) { font-family: var(--oaiw-font-display); font-optical-sizing: auto; letter-spacing: -.02em; }

/* ---------- masthead ---------- */
html[data-oaiw-ui="new"] .oaiw-edhead { padding: clamp(2rem, 4vw, 3.5rem) 0 clamp(1.5rem, 3vw, 2.25rem); border-bottom: 3px double var(--oaiw-text); background: transparent; }
html[data-oaiw-ui="new"] .oaiw-edhead__kicker { display: flex; align-items: center; gap: .7rem; font: 600 .78rem var(--oaiw-font-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--oaiw-accent); margin-bottom: .9rem; }
html[data-oaiw-ui="new"] .oaiw-edhead__kicker::before { content: ""; width: 2.2rem; height: 2px; background: currentColor; }
html[data-oaiw-ui="new"] .oaiw-edhead h1 { font-size: var(--oaiw-h1); font-weight: 600; line-height: .98; letter-spacing: -.035em; margin: 0; max-width: 18ch; }
html[data-oaiw-ui="new"] .oaiw-edhead h1 em { font-style: italic; font-weight: 400; color: var(--oaiw-accent); }
html[data-oaiw-ui="new"] .oaiw-edhead__dek { margin: 1.1rem 0 0; max-width: 42rem; font: italic 400 clamp(1.05rem, .95rem + .5vw, 1.35rem)/1.5 var(--oaiw-font-display); color: var(--oaiw-text-muted); }
html[data-oaiw-ui="new"] .oaiw-edhead__row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.2rem 2rem; }
html[data-oaiw-ui="new"] .oaiw-edhead__cta { display: flex; flex-wrap: wrap; gap: .6rem; }

/* ---------- feed layout: story column + filter rail ---------- */
.oaiw-feed { display: grid; gap: var(--oaiw-space-6); padding-block: var(--oaiw-space-6) var(--oaiw-space-8); }
@media (min-width: 992px) { .oaiw-feed { grid-template-columns: minmax(0, 1fr) 16rem; gap: var(--oaiw-space-7); } .oaiw-feed--wide { grid-template-columns: minmax(0, 1fr) 17rem; } }
.oaiw-feed__aside { order: -1; }
@media (min-width: 992px) { .oaiw-feed__aside { order: 0; position: sticky; top: calc(var(--oaiw-nav-h) + 1rem); align-self: start; } }

/* filter rail */
html[data-oaiw-ui="new"] .list-filters { padding: 1.1rem 1.2rem; background: var(--oaiw-surface); border: 1px solid var(--oaiw-line); border-radius: var(--oaiw-radius-lg); }
html[data-oaiw-ui="new"] .list-filters :is(h3, h4) { font: 600 .74rem var(--oaiw-font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--oaiw-text-faint); margin: 1.1rem 0 .5rem; }
html[data-oaiw-ui="new"] .list-filters > .d-flex:first-child h2 { font: 600 .74rem var(--oaiw-font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--oaiw-text-faint); margin: 0; }
html[data-oaiw-ui="new"] .list-filters ul { list-style: none; margin: 0; padding: 0; }
html[data-oaiw-ui="new"] .list-filters .form-check { padding-left: 0; }
html[data-oaiw-ui="new"] .list-filters .filter-list-item { display: flex; align-items: center; gap: .55rem; padding: .3rem 0; }
html[data-oaiw-ui="new"] .list-filters .filter-list-item .form-check-input { float: none; margin: 0; flex: none; }
html[data-oaiw-ui="new"] .list-filters .form-select { width: 100% !important; }
html[data-oaiw-ui="new"] .list-filters .btn-primary { width: 100%; margin-top: .9rem; }
html[data-oaiw-ui="new"] .list-filters br { display: none; }

/* active-filter notices (filter_badge.html) */
.oaiw-filter-note { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: var(--oaiw-space-4); font-size: .95rem; color: var(--oaiw-text-muted); }
.oaiw-filter-note:empty { display: none; }
.oaiw-filter-note b { color: var(--oaiw-text); }

/* ---------- story cards ---------- */
.oaiw-stories { display: grid; gap: var(--oaiw-space-5); grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); }
html[data-oaiw-ui="new"] .oaiw-story-card { position: relative; display: flex; flex-direction: column; background: var(--oaiw-surface); border: 1px solid var(--oaiw-line); border-radius: var(--oaiw-radius-lg); overflow: hidden; transition: transform var(--oaiw-med) var(--oaiw-ease), box-shadow var(--oaiw-med), border-color var(--oaiw-med); }
html[data-oaiw-ui="new"] .oaiw-story-card:hover { transform: translateY(-3px); box-shadow: var(--oaiw-shadow-sm); border-color: var(--oaiw-line-strong); }
.oaiw-story-card__media { aspect-ratio: 16 / 10; background: var(--oaiw-surface-2); overflow: hidden; }
.oaiw-story-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--oaiw-ease); }
.oaiw-story-card:hover .oaiw-story-card__media img { transform: scale(1.04); }
.oaiw-story-card__body { display: flex; flex-direction: column; gap: .5rem; padding: 1.1rem 1.25rem 1.2rem; flex: 1; }
.oaiw-kicker { font: 600 .7rem var(--oaiw-font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--oaiw-accent); }
html[data-oaiw-ui="new"] .oaiw-story-card h2, html[data-oaiw-ui="new"] .oaiw-story-card h3 { font-size: 1.28rem; line-height: 1.22; font-weight: 600; margin: 0; }
html[data-oaiw-ui="new"] .oaiw-story-card h2 a, html[data-oaiw-ui="new"] .oaiw-story-card h3 a { color: var(--oaiw-text); text-decoration: none; }
html[data-oaiw-ui="new"] .oaiw-story-card h2 a::after, html[data-oaiw-ui="new"] .oaiw-story-card h3 a::after { content: ""; position: absolute; inset: 0; }   /* the whole card is the link */
html[data-oaiw-ui="new"] .oaiw-story-card:hover h2 a, html[data-oaiw-ui="new"] .oaiw-story-card:hover h3 a { color: var(--oaiw-accent); }
.oaiw-story-card__excerpt { margin: 0; color: var(--oaiw-text-muted); font-size: .95rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.oaiw-story-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; margin-top: auto; padding-top: .7rem; border-top: 1px solid var(--oaiw-line); font: 500 .74rem var(--oaiw-font-mono); letter-spacing: .03em; color: var(--oaiw-text-faint); }
.oaiw-story-card__meta a { position: relative; z-index: 1; color: inherit; }
.oaiw-story-card__meta i { margin-right: .25rem; }
.oaiw-story-card--text .oaiw-story-card__body { padding-top: 1.35rem; }

/* lead story (featured) */
.oaiw-lead { display: grid; background: var(--oaiw-surface); border: 1px solid var(--oaiw-line); border-radius: var(--oaiw-radius-lg); overflow: hidden; margin-bottom: var(--oaiw-space-6); }
@media (min-width: 768px) { .oaiw-lead { grid-template-columns: 1.15fr 1fr; } }
.oaiw-lead__media { aspect-ratio: 16 / 10; background: var(--oaiw-surface-2); overflow: hidden; }
@media (min-width: 768px) { .oaiw-lead__media { aspect-ratio: auto; min-height: 20rem; } }
.oaiw-lead__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.oaiw-lead__body { position: relative; display: flex; flex-direction: column; justify-content: center; gap: .8rem; padding: clamp(1.4rem, 3vw, 2.4rem); }
html[data-oaiw-ui="new"] .oaiw-lead h2 { font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.6rem); line-height: 1.08; margin: 0; font-weight: 600; }
html[data-oaiw-ui="new"] .oaiw-lead h2 a { color: var(--oaiw-text); text-decoration: none; }
html[data-oaiw-ui="new"] .oaiw-lead h2 a::after { content: ""; position: absolute; inset: 0; }
html[data-oaiw-ui="new"] .oaiw-lead h2 a:hover { color: var(--oaiw-accent); }
.oaiw-lead__excerpt { margin: 0; font: italic 400 1.1rem/1.55 var(--oaiw-font-display); color: var(--oaiw-text-muted); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

/* compact list ("Latest") */
.oaiw-latest { border-top: 2px solid var(--oaiw-text); }
html[data-oaiw-ui="new"] .oaiw-latest__title { font: 600 .78rem var(--oaiw-font-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--oaiw-text); margin: .9rem 0 .2rem; }
.oaiw-latest ol { list-style: none; margin: 0; padding: 0; }
.oaiw-latest li { position: relative; display: grid; grid-template-columns: 5rem 1fr; gap: .9rem; padding: .9rem 0; border-bottom: 1px solid var(--oaiw-line); }
.oaiw-latest li img { width: 5rem; height: 5rem; object-fit: cover; border-radius: var(--oaiw-radius); background: var(--oaiw-surface-2); }
.oaiw-latest li b { display: block; font: 600 1.02rem/1.3 var(--oaiw-font-display); }
.oaiw-latest li b a { color: var(--oaiw-text); text-decoration: none; }
.oaiw-latest li b a::after { content: ""; position: absolute; inset: 0; }
.oaiw-latest li:hover b a { color: var(--oaiw-accent); }
.oaiw-latest li p { margin: .25rem 0 0; font-size: .85rem; color: var(--oaiw-text-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- gallery tiles ---------- */
.oaiw-tiles { column-width: 15rem; column-gap: var(--oaiw-space-4); }
.oaiw-tile-fig { break-inside: avoid; margin: 0 0 var(--oaiw-space-4); position: relative; border-radius: var(--oaiw-radius-lg); overflow: hidden; background: var(--oaiw-surface); border: 1px solid var(--oaiw-line); }
.oaiw-tile-fig .figure-img { position: relative; margin: 0; }
.oaiw-tile-fig img { display: block; width: 100%; height: auto; }
.oaiw-tile-fig figcaption { padding: .7rem .9rem; font: 500 .74rem var(--oaiw-font-mono); color: var(--oaiw-text-faint); display: flex; flex-wrap: wrap; gap: .3rem .9rem; }
.oaiw-tile-fig figcaption a { color: var(--oaiw-text); text-decoration: none; }
.oaiw-tile-fig figcaption a:hover { color: var(--oaiw-accent); }
.oaiw-tile-fig .blur { filter: blur(22px); transform: scale(1.1); }
.oaiw-tile-fig .nsfw-container, .oaiw-tile-fig .review-container { overflow: hidden; }
.oaiw-tile-fig .nsfw-overlay, .oaiw-tile-fig .review-overlay { position: absolute; inset: 0; display: grid; place-items: center; font: 700 .85rem var(--oaiw-font-mono); letter-spacing: .12em; text-transform: uppercase; color: #fff; background: rgba(4, 10, 22, .55); text-align: center; padding: 1rem; }

/* pagination (Explore) */
html[data-oaiw-ui="new"] .oaiw-pager { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: var(--oaiw-space-7); font: 500 .85rem var(--oaiw-font-mono); color: var(--oaiw-text-muted); }
.oaiw-empty-feed { text-align: center; padding: var(--oaiw-space-8) var(--oaiw-space-4); color: var(--oaiw-text-muted); }
.oaiw-empty-feed h2 { font-size: 1.6rem; color: var(--oaiw-text); }

/* back to top */
html[data-oaiw-ui="new"] #backToTopBtn { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1000; display: none; padding: .55rem 1rem; border: 1px solid var(--oaiw-line-strong); border-radius: 999px; background: var(--oaiw-surface); color: var(--oaiw-text); font: 600 .8rem var(--oaiw-font-mono); letter-spacing: .08em; box-shadow: var(--oaiw-shadow-sm); cursor: pointer; }
html[data-oaiw-ui="new"] #backToTopBtn:hover { border-color: var(--oaiw-accent); color: var(--oaiw-accent); }

/* ---------- article ---------- */
.oaiw-article-wrap { display: grid; gap: var(--oaiw-space-7); padding-block: var(--oaiw-space-6) var(--oaiw-space-8); }
@media (min-width: 992px) { .oaiw-article-wrap--rail { grid-template-columns: minmax(0, 1fr) 19rem; } }
.oaiw-crumbs { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: var(--oaiw-space-4); font: 500 .78rem var(--oaiw-font-mono); letter-spacing: .05em; color: var(--oaiw-text-faint); }
.oaiw-crumbs a { color: var(--oaiw-accent); text-decoration: none; }
.oaiw-crumbs a:hover { text-decoration: underline; }
.oaiw-crumbs span[aria-current] { color: var(--oaiw-text-muted); }
.oaiw-article__head { max-width: 46rem; margin-bottom: var(--oaiw-space-5); }
html[data-oaiw-ui="new"] .oaiw-article__head h1 { font-size: clamp(2rem, 1.4rem + 2.6vw, 3.4rem); font-weight: 600; line-height: 1.05; letter-spacing: -.03em; margin: .4rem 0 1rem; }
.oaiw-byline { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.1rem; font: 500 .8rem var(--oaiw-font-mono); letter-spacing: .03em; color: var(--oaiw-text-faint); padding-block: .8rem; border-block: 1px solid var(--oaiw-line); }
.oaiw-byline a { color: var(--oaiw-text); text-decoration: none; font-weight: 600; }
.oaiw-byline a:hover { color: var(--oaiw-accent); }
.oaiw-byline i { margin-right: .3rem; }
.oaiw-article__figure { margin: 0 0 var(--oaiw-space-6); }
.oaiw-article__figure img { display: block; max-width: 100%; height: auto; margin-inline: auto; border-radius: var(--oaiw-radius-lg); border: 1px solid var(--oaiw-line); box-shadow: var(--oaiw-shadow-sm); }
.oaiw-article__figure figcaption { margin-top: .6rem; font: 500 .78rem var(--oaiw-font-mono); color: var(--oaiw-text-faint); text-align: center; }

/* serif reading text */
html[data-oaiw-ui="new"] .oaiw-serif, html[data-oaiw-ui="new"] .prose { font-family: var(--oaiw-font-display); font-size: clamp(1.08rem, 1rem + .3vw, 1.22rem); line-height: 1.75; color: var(--oaiw-text); max-width: 44rem; font-optical-sizing: auto; }
html[data-oaiw-ui="new"] .prose > :first-child { margin-top: 0; }
html[data-oaiw-ui="new"] .prose p { margin: 0 0 1.25rem; }
html[data-oaiw-ui="new"] .prose h2 { font-size: clamp(1.6rem, 1.3rem + 1.1vw, 2.15rem); margin: 3rem 0 1rem; padding-top: 1.6rem; border-top: 1px solid var(--oaiw-line); line-height: 1.15; }
html[data-oaiw-ui="new"] .prose h3 { font-size: 1.45rem; margin: 2.2rem 0 .7rem; line-height: 1.2; }
html[data-oaiw-ui="new"] .prose h4 { font-size: 1.15rem; margin: 1.8rem 0 .5rem; }
html[data-oaiw-ui="new"] .prose ul, html[data-oaiw-ui="new"] .prose ol { padding-left: 1.5rem; margin: 0 0 1.4rem; }
html[data-oaiw-ui="new"] .prose li { margin-bottom: .5rem; }
html[data-oaiw-ui="new"] .prose li::marker { color: var(--oaiw-accent); }
html[data-oaiw-ui="new"] .prose blockquote { margin: 1.8rem 0; padding: .4rem 0 .4rem 1.4rem; border-left: 3px solid var(--oaiw-accent); font-style: italic; color: var(--oaiw-text-muted); }
html[data-oaiw-ui="new"] .prose a:not([class]) { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
html[data-oaiw-ui="new"] .prose img { max-width: 100%; height: auto; border-radius: var(--oaiw-radius); }
html[data-oaiw-ui="new"] .prose code { font-family: var(--oaiw-font-mono); font-size: .86em; padding: .12em .4em; background: var(--oaiw-surface-2); border-radius: 6px; }
html[data-oaiw-ui="new"] .prose pre { padding: 1rem 1.2rem; background: var(--oaiw-surface-2); border: 1px solid var(--oaiw-line); border-radius: var(--oaiw-radius); overflow-x: auto; font-size: .88rem; line-height: 1.6; }
html[data-oaiw-ui="new"] .prose pre code { padding: 0; background: none; }
html[data-oaiw-ui="new"] .prose hr { border: 0; border-top: 1px solid var(--oaiw-line); margin: 2.5rem 0; opacity: 1; }
.oaiw-scroll { overflow-x: auto; margin: 0 0 1.6rem; border: 1px solid var(--oaiw-line); border-radius: var(--oaiw-radius); }
html[data-oaiw-ui="new"] .prose table { width: 100%; margin: 0 0 1.6rem; font-family: var(--oaiw-font-sans); font-size: .92rem; line-height: 1.5; border-collapse: collapse; }
html[data-oaiw-ui="new"] .prose th { text-align: left; padding: .65rem .8rem; font-weight: 600; background: var(--oaiw-surface-2); border-bottom: 2px solid var(--oaiw-line-strong); }
html[data-oaiw-ui="new"] .prose td { padding: .6rem .8rem; border-bottom: 1px solid var(--oaiw-line); vertical-align: top; }
html[data-oaiw-ui="new"] .prose .markdown-output { font-family: var(--oaiw-font-sans); font-size: .98rem; line-height: 1.65; }

/* action bar (like + rate) */
.oaiw-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.4rem; margin: var(--oaiw-space-6) 0; padding-block: 1rem; border-block: 1px solid var(--oaiw-line); max-width: 44rem; }
.oaiw-actions__rate { margin-left: auto; display: flex; align-items: center; gap: .6rem; color: var(--oaiw-text-muted); font-size: .9rem; }
#star-rating .star-btn { cursor: pointer; }

/* right rail cards */
.oaiw-rail { display: grid; gap: var(--oaiw-space-4); align-content: start; }
html[data-oaiw-ui="new"] .oaiw-rail .card { background: var(--oaiw-surface); border: 1px solid var(--oaiw-line); border-radius: var(--oaiw-radius-lg); box-shadow: none; margin: 0 !important; }
html[data-oaiw-ui="new"] .oaiw-rail .card-header { background: transparent; border-bottom: 1px solid var(--oaiw-line); padding: .8rem 1.1rem; }
html[data-oaiw-ui="new"] .oaiw-rail .card-header .card-title, html[data-oaiw-ui="new"] .oaiw-rail .card-header h6 { font: 600 .74rem var(--oaiw-font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--oaiw-text-faint); margin: 0; }
html[data-oaiw-ui="new"] .oaiw-rail .card-body { padding: 1rem 1.1rem; }

/* try-it CTA inside articles */
.oaiw-try { max-width: 44rem; margin: var(--oaiw-space-6) 0; padding: 1.6rem 1.8rem; text-align: center; background: radial-gradient(ellipse 80% 140% at 50% 0, rgba(var(--oaiw-primary-rgb), .16), transparent 70%), var(--oaiw-surface); border: 1px solid var(--oaiw-line-strong); border-radius: var(--oaiw-radius-lg); }
html[data-oaiw-ui="new"] .oaiw-try h3 { font-size: 1.35rem; margin: 0 0 .3rem; }
.oaiw-try p { color: var(--oaiw-text-muted); margin: 0 0 1rem; }

/* ---------- comments ---------- */
html[data-oaiw-ui="new"] .comments-section { max-width: 44rem; background: transparent; border: 0; box-shadow: none !important; margin-inline: 0; }
html[data-oaiw-ui="new"] .comments-section > .card-header { padding: 0 0 .8rem; background: transparent !important; border-bottom: 2px solid var(--oaiw-text); }
html[data-oaiw-ui="new"] .comments-section > .card-header :is(h2, h4) { font: 600 1.5rem var(--oaiw-font-display); }
html[data-oaiw-ui="new"] .comments-section > .card-body { padding: 1rem 0 0; }
html[data-oaiw-ui="new"] .comment-card { padding: 1rem 1.1rem; background: var(--oaiw-surface); border: 1px solid var(--oaiw-line); border-radius: var(--oaiw-radius-lg); }
html[data-oaiw-ui="new"] .comment-metadata { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .35rem; }
html[data-oaiw-ui="new"] .comment-metadata h6 { font: 600 .95rem var(--oaiw-font-sans); }
html[data-oaiw-ui="new"] .comment-text-muted { color: var(--oaiw-text-faint) !important; }
html[data-oaiw-ui="new"] .comment-subject { font-weight: 600; margin-bottom: .2rem; }
html[data-oaiw-ui="new"] .comment-content { line-height: 1.65; white-space: pre-line; }
html[data-oaiw-ui="new"] .comment-card .action-buttons { display: flex; gap: 1rem; margin-top: .6rem; font-size: .85rem; }
html[data-oaiw-ui="new"] .replies-section .reply-card { margin-top: .7rem; background: var(--oaiw-surface-2); }
.oaiw-comment-item { padding: 1rem 0; border-bottom: 1px solid var(--oaiw-line); }
.oaiw-comment-item .d-flex { gap: 1rem; }
.oaiw-comment-item strong { font-weight: 600; }
.oaiw-comment-item p { margin: .2rem 0 0; line-height: 1.6; white-space: pre-line; }

/* ---------- star rating (rating.html) on bootstrap-icons ---------- */
html[data-oaiw-ui="new"] .rate { display: inline-block; border: 0; }
html[data-oaiw-ui="new"] .rate > input { display: none; }
html[data-oaiw-ui="new"] .rate > label { float: right; color: var(--oaiw-line-strong); }
html[data-oaiw-ui="new"] .rate > label:before { display: inline-block; font-family: "bootstrap-icons"; font-size: 2.1rem; content: "\f586"; margin: 0; padding: .15rem .1rem; cursor: pointer; line-height: 1; }
html[data-oaiw-ui="new"] .rate .half:before { content: "\f587"; position: absolute; padding-right: 0; }
html[data-oaiw-ui="new"] .rate > input:checked ~ label { color: #ffb503; }
html[data-oaiw-ui="new"] .rate:not(:checked) > label:hover, html[data-oaiw-ui="new"] .rate:not(:checked) > label:hover ~ label { color: #f0c000; }
html[data-oaiw-ui="new"] .rate > input:checked + label:hover, html[data-oaiw-ui="new"] .rate > input:checked ~ label:hover, html[data-oaiw-ui="new"] .rate > label:hover ~ input:checked ~ label, html[data-oaiw-ui="new"] .rate > input:checked ~ label:hover ~ label { color: #d99a00; }

/* misc badges + tags */
html[data-oaiw-ui="new"] .oaiw-tagchip { display: inline-flex; align-items: center; padding: .25rem .7rem; border-radius: 999px; font: 600 .78rem var(--oaiw-font-mono); color: var(--oaiw-accent); background: rgba(var(--oaiw-accent-rgb), .1); border: 1px solid var(--oaiw-line-strong); text-decoration: none; }
html[data-oaiw-ui="new"] .oaiw-tagchip:hover { background: rgba(var(--oaiw-accent-rgb), .2); }
html[data-oaiw-ui="new"] .badge.bg-secondary { background: var(--oaiw-surface-2) !important; color: var(--oaiw-text) !important; box-shadow: inset 0 0 0 1px var(--oaiw-line-strong); font: 600 .72rem var(--oaiw-font-mono); letter-spacing: .06em; text-transform: uppercase; }

@media (prefers-reduced-motion: reduce) { .oaiw-story-card, .oaiw-story-card__media img { transition: none; } .oaiw-story-card:hover { transform: none; } .oaiw-story-card:hover .oaiw-story-card__media img { transform: none; } }
html[data-oaiw-ui="new"] .oaiw-story-card--feature { grid-column: 1 / -1; }
html[data-oaiw-ui="new"] .oaiw-story-card--feature h2 { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem); line-height: 1.1; }
html[data-oaiw-ui="new"] .oaiw-story-card--feature .oaiw-story-card__excerpt { font: italic 400 1.12rem/1.55 var(--oaiw-font-display); -webkit-line-clamp: 4; }
html[data-oaiw-ui="new"] .oaiw-story-card--feature .oaiw-story-card__body { padding: 1.6rem 1.8rem 1.5rem; }

/* tag results */
.oaiw-tagsection { margin-bottom: var(--oaiw-space-7); }
.oaiw-tagsection__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: var(--oaiw-space-4); padding-bottom: .6rem; border-bottom: 2px solid var(--oaiw-text); }
html[data-oaiw-ui="new"] .oaiw-tagsection__head h2 { font-size: 1.5rem; margin: 0; }
.oaiw-taglist { list-style: none; margin: 0; padding: 0; }
.oaiw-taglist li { border-bottom: 1px solid var(--oaiw-line); }
html[data-oaiw-ui="new"] .oaiw-taglist a { display: block; padding: .9rem 0; text-decoration: none; color: var(--oaiw-text-muted); }
html[data-oaiw-ui="new"] .oaiw-taglist a:hover b { color: var(--oaiw-accent); }
.oaiw-taglist b { display: block; font: 600 1.1rem var(--oaiw-font-display); color: var(--oaiw-text); }
.oaiw-taglist small { display: block; font: 500 .74rem var(--oaiw-font-mono); color: var(--oaiw-text-faint); margin: .15rem 0 .3rem; }
.oaiw-taglist span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .92rem; }
.oaiw-summary { list-style: none; margin: 0; padding: 0; }
html[data-oaiw-ui="new"] .oaiw-summary a { display: flex; justify-content: space-between; align-items: center; padding: .55rem 0; border-bottom: 1px solid var(--oaiw-line); text-decoration: none; color: var(--oaiw-text); }
html[data-oaiw-ui="new"] .prose table { display: block; max-width: 100%; overflow-x: auto; }
html[data-oaiw-ui="new"] .comments-section > .card-header h2 { font: 600 1.5rem var(--oaiw-font-display); }

/* article blocks, share, avatar, facts */
.oaiw-block { max-width: 44rem; margin-bottom: var(--oaiw-space-6); }
html[data-oaiw-ui="new"] .oaiw-block > h2 { font-size: 1.5rem; margin: 0 0 .7rem; padding-bottom: .5rem; border-bottom: 1px solid var(--oaiw-line); }
html[data-oaiw-ui="new"] .oaiw-block > h2 i { color: var(--oaiw-accent); margin-right: .3rem; font-size: 1.2rem; }
html[data-oaiw-ui="new"] .oaiw-io { padding: 1rem 1.2rem; background: var(--oaiw-surface); border: 1px solid var(--oaiw-line); border-radius: var(--oaiw-radius); line-height: 1.7; overflow-x: auto; overflow-wrap: anywhere; }
.oaiw-share { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }
.oaiw-share a, .oaiw-share button { display: inline-grid; place-items: center; width: 2.8rem; height: 2.8rem; padding: 0; border-radius: 50%; border: 1px solid var(--oaiw-line-strong); background: var(--oaiw-surface-2); color: var(--oaiw-text-muted); font-size: 1.2rem; text-decoration: none; cursor: pointer; transition: color var(--oaiw-fast), border-color var(--oaiw-fast); }
.oaiw-share a:hover, .oaiw-share button:hover, .oaiw-share button.is-done { color: var(--oaiw-accent); border-color: var(--oaiw-accent); }
.oaiw-avatar { width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; flex: none; box-shadow: 0 0 0 2px var(--oaiw-line-strong); }
.oaiw-author-name { font: 600 1.05rem var(--oaiw-font-display); text-decoration: none; }
.oaiw-facts { margin: 0; display: grid; gap: .7rem; }
.oaiw-facts > div { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.oaiw-facts dt { font-weight: 400; color: var(--oaiw-text-muted); }
.oaiw-facts dd { margin: 0; font-weight: 600; text-align: right; }

/* ---------- AI news analysis (news_detail.html): brand palette instead of the old purple ---------- */
html[data-oaiw-ui="new"] .oaiw-analysis { max-width: 46rem; margin-bottom: var(--oaiw-space-6); font-family: var(--oaiw-font-sans); }
html[data-oaiw-ui="new"] .oaiw-analysis h3 { font-size: 1.5rem; }
html[data-oaiw-ui="new"] .oaiw-analysis .analysis-icon { background: linear-gradient(135deg, var(--oaiw-accent-fill), #1c5d9f); box-shadow: 0 6px 18px rgba(var(--oaiw-primary-rgb), .35); border-radius: 14px; }
html[data-oaiw-ui="new"] .oaiw-analysis .analysis-icon.inactive { background: var(--oaiw-surface-2); color: var(--oaiw-text-faint); box-shadow: none; }
html[data-oaiw-ui="new"] .oaiw-analysis .analysis-header, html[data-oaiw-ui="new"] .oaiw-analysis .analysis-summary { background: radial-gradient(ellipse 80% 140% at 0 0, rgba(var(--oaiw-primary-rgb), .16), transparent 70%), var(--oaiw-surface); border: 1px solid var(--oaiw-line-strong); border-radius: var(--oaiw-radius-lg); }
html[data-oaiw-ui="new"] .oaiw-analysis .overall-score-circle { background: linear-gradient(135deg, var(--oaiw-accent-fill), #1c5d9f); box-shadow: 0 8px 22px rgba(var(--oaiw-primary-rgb), .4); color: #fff; }
html[data-oaiw-ui="new"] .oaiw-analysis .score-value { font-family: var(--oaiw-font-mono); }
html[data-oaiw-ui="new"] .oaiw-analysis .metric-card { background: var(--oaiw-surface); border: 1px solid var(--oaiw-line); border-radius: var(--oaiw-radius-lg); box-shadow: none; padding: 1.2rem; }
html[data-oaiw-ui="new"] .oaiw-analysis .metric-card:hover { transform: none; box-shadow: var(--oaiw-shadow-sm); border-color: var(--oaiw-line-strong); }
html[data-oaiw-ui="new"] .oaiw-analysis .metric-card::before { background: linear-gradient(90deg, var(--oaiw-accent-fill), var(--oaiw-accent)); }
html[data-oaiw-ui="new"] .oaiw-analysis .metric-title { color: var(--oaiw-text); font: 600 1rem var(--oaiw-font-display); }
html[data-oaiw-ui="new"] .oaiw-analysis .metric-score { color: var(--oaiw-accent); font-family: var(--oaiw-font-mono); }
html[data-oaiw-ui="new"] .oaiw-analysis .progress-track { background: var(--oaiw-surface-2); box-shadow: inset 0 0 0 1px var(--oaiw-line); }
html[data-oaiw-ui="new"] .oaiw-analysis .progress-labels, html[data-oaiw-ui="new"] .oaiw-analysis .bias-labels { color: var(--oaiw-text-faint); }
html[data-oaiw-ui="new"] .oaiw-analysis .metric-explanation { color: var(--oaiw-text-muted); cursor: pointer; }
html[data-oaiw-ui="new"] .oaiw-analysis .summary-header { color: var(--oaiw-accent); }
html[data-oaiw-ui="new"] .oaiw-analysis .summary-content p { color: var(--oaiw-text); }
html[data-oaiw-ui="new"] .oaiw-analysis .bias-pointer { background: var(--oaiw-surface); border-color: var(--oaiw-text); }
html[data-oaiw-ui="new"] .oaiw-analysis .analysis-cta { background: linear-gradient(135deg, var(--oaiw-accent-fill), #1c5d9f); box-shadow: 0 12px 34px rgba(var(--oaiw-primary-rgb), .3); }
html[data-oaiw-ui="new"] .oaiw-analysis .cta-content { background: var(--oaiw-surface); }
html[data-oaiw-ui="new"] .oaiw-analysis .cta-title { color: var(--oaiw-text); font-family: var(--oaiw-font-display); }
html[data-oaiw-ui="new"] .oaiw-analysis .cta-description { color: var(--oaiw-text-muted); }
html[data-oaiw-ui="new"] .oaiw-analysis .feature-tag { background: rgba(var(--oaiw-accent-rgb), .12); color: var(--oaiw-accent); }
html[data-oaiw-ui="new"] .oaiw-analysis .btn-analyze { background: linear-gradient(180deg, #5aa6e8, #3378b8); color: #fff; box-shadow: var(--oaiw-glow); }
html[data-oaiw-ui="new"] .oaiw-analysis .btn-analyze:hover { color: #fff; }

/* single-column articles (no rail) sit centred on the page */
.oaiw-article-wrap:not(.oaiw-article-wrap--rail) > .oaiw-article { width: 100%; max-width: 46rem; margin-inline: auto; }
.oaiw-article { min-width: 0; }
html[data-oaiw-ui="new"] .prose { overflow-wrap: anywhere; }
html[data-oaiw-ui="new"] .oaiw-analysis .score-value { font-size: 1.35rem; letter-spacing: -.04em; }
html[data-oaiw-ui="new"] .oaiw-analysis .score-max { font-size: .85rem; }
.oaiw-article__figure img { max-height: 34rem; width: auto; }

/* gallery detail */
@media (min-width: 992px) { .oaiw-article-wrap--gallery { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } }
.oaiw-article-wrap--gallery .oaiw-article__head { max-width: none; }
html[data-oaiw-ui="new"] .oaiw-callout { margin-top: 1rem; padding: 1rem 1.2rem; background: rgba(var(--oaiw-primary-rgb), .1); border: 1px solid var(--oaiw-line-strong); border-left: 4px solid var(--oaiw-accent); border-radius: var(--oaiw-radius); }
html[data-oaiw-ui="new"] .oaiw-callout .h6 { font-weight: 400; line-height: 1.6; }
html[data-oaiw-ui="new"] .oaiw-badge { display: inline-flex; align-items: center; gap: .4rem; padding: .28rem .8rem; border-radius: 999px; background: var(--oaiw-accent-fill); color: #fff; font: 600 .78rem var(--oaiw-font-mono); text-decoration: none; }
html[data-oaiw-ui="new"] .oaiw-badge img { width: 1rem; height: 1rem; }
html[data-oaiw-ui="new"] .oaiw-article .content-section { background: transparent; border: 0; padding: 0; margin-bottom: var(--oaiw-space-5); }
html[data-oaiw-ui="new"] .oaiw-article .product-image-large img { width: 100%; height: auto; max-height: 44rem; object-fit: contain; border-radius: var(--oaiw-radius-lg); border: 1px solid var(--oaiw-line); }

/* forms (post, gallery, news, AI model) */
.oaiw-formwrap { padding-block: var(--oaiw-space-6) var(--oaiw-space-8); }
.oaiw-formcard { max-width: 44rem; margin-inline: auto; padding: clamp(1.4rem, 3vw, 2.25rem); background: var(--oaiw-surface); border: 1px solid var(--oaiw-line-strong); border-radius: var(--oaiw-radius-xl); box-shadow: var(--oaiw-shadow-sm); }
html[data-oaiw-ui="new"] .oaiw-formcard h1 { font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.3rem); margin: 0 0 .4rem; }
.oaiw-formcard .oaiw-auth__sub { color: var(--oaiw-text-muted); margin: 0 0 var(--oaiw-space-5); }
.oaiw-formcard .btn-primary { width: 100%; margin-top: 1rem; }
.oaiw-formnote { color: var(--oaiw-text-muted); font-size: .92rem; }
html[data-oaiw-ui="new"] .oaiw-formwrap .content-section { background: transparent; border: 0; padding: 0; }
html[data-oaiw-ui="new"] .oaiw-formwrap .card { background: var(--oaiw-surface); border: 1px solid var(--oaiw-line-strong); border-radius: var(--oaiw-radius-xl); }
html[data-oaiw-ui="new"] .oaiw-formwrap .card-header { background: transparent; border-bottom: 1px solid var(--oaiw-line); }

/* contrast: link colour for the author card, warning text, and the OAIW badge */
html[data-oaiw-ui="new"] .oaiw-author-name { color: var(--oaiw-link); }
html[data-oaiw-ui="new"] .text-warning { color: var(--oaiw-warning) !important; }
html[data-oaiw-ui="new"] .oaiw-badge { background: #2a6fae; }
html[data-oaiw-ui="new"] .oaiw-rail .card-header h2.card-title { font: 600 .74rem var(--oaiw-font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--oaiw-text-faint); margin: 0; }
html[data-oaiw-ui="new"] .oaiw-block .comments-section .card-header h2 { font: 600 1.5rem var(--oaiw-font-display); }
.oaiw-formwrap { overflow-x: clip; }
