/* Quest HUD visual effect
 * Scope is intentionally strict: no rule in this file applies outside public Quest pages.
 * Functional layout/JS remains shared with Standard and Soft Aura.
 */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) {
    --quest-bg: var(--color-background);
    --quest-surface: color-mix(in srgb, var(--color-surface) 96%, var(--color-background) 4%);
    --quest-surface-2: color-mix(in srgb, var(--color-surface) 88%, var(--color-background) 12%);
    --quest-ink: var(--color-text);
    --quest-muted: var(--color-muted);
    --quest-line: color-mix(in srgb, var(--color-text) 34%, var(--color-border) 66%);
    --quest-line-strong: color-mix(in srgb, var(--color-text) 72%, var(--color-border) 28%);
    --quest-accent: var(--color-primary);
    --quest-on-accent: var(--color-on-primary);
    --quest-danger: #e24b4a;
    --quest-warning: #ef9f27;
    --quest-success: #1d9e75;
    --quest-info: #378add;
    --quest-role-guest: #55647a;
    --quest-role-member: #2f6fe0;
    --quest-role-smember: #e0a83c;
    --quest-role-admin: #7c4fe0;
    --quest-rank-gold: #ef9f27;
    --quest-rank-silver: #b4b2a9;
    --quest-rank-bronze: #d85a30;
    --quest-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    background: var(--quest-bg);
    color: var(--quest-ink);
}

/* Quest must stay geometrically distinct from Standard / Soft Aura. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) *,
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) *::before,
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) *::after {
    border-radius: 0 !important;
    box-shadow: none !important;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.site-header,.mobile-bottom-nav,.modal,.dialog,[role="dialog"]) {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
html[data-layout="public"] body:not([data-visual-effect="quest"]):not(.reader-body) [data-quest-only] { display: none !important; }

/* Quest-only elements choose their own intended display mode.
   Avoid a global display:flex because some Quest components are grids. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-cover-hud[data-quest-only] { display: flex !important; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stats[data-quest-only] { display: grid !important; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-systemline[data-quest-only] { display: flex !important; }

/* Header / navigation: command bar, not a rounded application shell. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .site-header {
    background: var(--quest-surface);
    border-bottom: 2px solid var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .site-header-inner,
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .site-nav-row {
    border-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .site-logo,
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .site-nav a,
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .site-nav-ticker {
    letter-spacing: .02em;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .site-nav a {
    position: relative;
    text-transform: uppercase;
    font-size: .78rem;
    font-weight: 800;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .site-nav a::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -8px;
    height: 2px;
    background: transparent;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .site-nav a:is(.is-active,[aria-current="page"])::after {
    background: var(--quest-accent);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.site-search input,.site-search button,.header-icon-button,.site-account-link) {
    border: 1px solid var(--quest-line-strong);
    background: var(--quest-surface);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .site-search button {
    background: var(--quest-accent);
    color: var(--quest-on-accent);
    clip-path: polygon(8px 0,100% 0,100% 100%,0 100%,0 8px);
}

/* Shared HUD typography and controls. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    .story-author-label,.story-meta-line,.quest-story-systemline,.story-tag-label,
    .home-panel-heading,.home-panel-meta,.home-panel-footer,.tag-filter-panel-title,
    .tag-filter-selection-count,.info-post-date,.request-meta,.community-post-meta
) {
    font-family: var(--quest-mono);
    letter-spacing: .055em;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    button,.button,.story-action-primary,.story-action-secondary,.home-panel-action,.home-vote-button,
    .tag-filter-action,.tag-filter-clear-link,.tag-page-pagination__item,.home-story-pagination__item,
    .info-pagination__item,.community-tab,.community-action
) {
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: .035em;
    border: 1px solid var(--quest-line-strong);
    background: var(--quest-surface);
    color: var(--quest-ink);
    clip-path: polygon(7px 0,100% 0,100% 100%,0 100%,0 7px);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    .story-action-primary,.button.primary,.home-vote-button:not(.home-vote-button--voted),
    .tag-page-pagination__item.is-active,.home-story-pagination__item.is-active,.info-pagination__item.is-active
) {
    background: var(--quest-accent);
    color: var(--quest-on-accent);
    border-color: var(--quest-accent);
}

/* Covers / cards: angular trading-card language. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-card,.search-story-card) {
    position: relative;
    overflow: hidden;
    background: var(--quest-surface);
    border: 2px solid var(--quest-line-strong);
    clip-path: polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-card {
    transition: transform .14s ease, border-color .14s ease;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-card:hover {
    transform: translateY(-2px);
    border-color: var(--quest-accent);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-cover {
    position: relative;
    overflow: hidden;
    background: color-mix(in srgb,var(--quest-surface) 70%,#000 30%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-cover > :is(img,.home-story-cover-placeholder) {
    width: 100%; height: 100%; object-fit: cover;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-ribbon { display: none !important; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-cover-hud {
    position: absolute;
    z-index: 4;
    left: 0; right: 0; bottom: 0;
    min-height: 22%;
    padding: .55rem .58rem .5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: .42rem;
    color: #f7f9fc;
    background: linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.82) 42%,rgba(0,0,0,.92));
    pointer-events: none;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-cover-hud__readout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    font: 800 .67rem/1 var(--quest-mono);
    letter-spacing: .045em;
    text-transform: uppercase;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-role-badge {
    width: 21px; height: 21px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 21px;
    font: 900 .58rem/1 var(--quest-mono);
    clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
    color: #eef2f7;
    background: var(--quest-role-guest);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-role-badge--member { background: var(--quest-role-member); color: #eaf1fe; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-role-badge--smember { background: var(--quest-role-smember); color: #2e2005; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-role-badge--admin { background: var(--quest-role-admin); color: #f5f0fe; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-progress {
    display: block;
    height: 5px;
    width: 100%;
    background: rgba(255,255,255,.22);
    overflow: hidden;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-progress__bar {
    display: block;
    width: var(--quest-progress,38%);
    height: 100%;
    background: var(--quest-accent);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-progress--unknown .quest-progress__bar {
    width: 34%; opacity: .58;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-body {
    padding: .75rem .72rem .8rem;
    border-top: 1px solid var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-title {
    text-transform: uppercase;
    letter-spacing: -.015em;
    font-weight: 850;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-author,.home-story-editor) {
    font-family: var(--quest-mono);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .055em;
    color: var(--quest-muted);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-stats {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 0;
    margin-top: .55rem;
    border: 1px solid var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-stat {
    min-width: 0;
    justify-content: center;
    padding: .42rem .2rem;
    border-right: 1px solid var(--quest-line);
    font-family: var(--quest-mono);
    font-size: .67rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-stat:last-child { border-right: 0; }

/* Story detail: character-sheet hero. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-band {
    background: var(--quest-bg);
    border-block: 1px solid var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-inner {
    align-items: stretch;
    gap: clamp(1.4rem,3vw,2.4rem);
    padding-block: clamp(2rem,4vw,3.5rem);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-cover-column {
    position: relative;
    align-self: start;
    overflow: hidden;
    border: 2px solid var(--quest-line-strong);
    clip-path: polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.story-cover-image,.story-cover-placeholder) {
    display: block; width: 100%; height: 100%; object-fit: cover;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-content {
    position: relative;
    padding: clamp(1.2rem,2.7vw,2.25rem);
    background: var(--quest-surface);
    border: 2px solid var(--quest-line-strong);
    clip-path: polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-content::before {
    content: "STORY // HUD";
    display: block;
    margin-bottom: .7rem;
    color: var(--quest-accent);
    font: 800 .66rem/1 var(--quest-mono);
    letter-spacing: .12em;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-title {
    max-width: 18ch;
    text-transform: uppercase;
    font-size: clamp(2rem,4.7vw,4.4rem);
    line-height: .98;
    letter-spacing: -.045em;
    color: var(--quest-ink);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-author-row {
    margin-top: 1rem;
    display: flex; flex-wrap: wrap; gap: .45rem .7rem; align-items: center;
    font-family: var(--quest-mono);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.story-author-tag,.story-editor-tag,.story-progress-pill,.story-status-pill) {
    border: 1px solid var(--quest-line-strong);
    background: var(--quest-surface-2);
    padding: .32rem .5rem;
    color: var(--quest-ink);
    clip-path: polygon(6px 0,100% 0,100% 100%,0 100%,0 6px);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-meta-line { display: none; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stats {
    margin-top: 1.05rem;
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr));
    border: 1px solid var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stat {
    min-width: 0;
    padding: .7rem .5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-right: 1px solid var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stat:last-child { border-right: 0; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stat strong {
    font: 850 clamp(1rem,2vw,1.35rem)/1 var(--quest-mono);
    color: var(--quest-ink);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stat span {
    margin-top: .32rem;
    font: 700 .58rem/1 var(--quest-mono);
    letter-spacing: .075em;
    color: var(--quest-muted);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-systemline {
    display: flex !important;
    flex-wrap: wrap;
    gap: .45rem 1rem;
    margin-top: .65rem;
    color: var(--quest-muted);
    font-size: .64rem;
    text-transform: uppercase;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-action-row { gap: .45rem; margin-top: 1rem; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.story-action-primary,.story-action-secondary) {
    min-height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    padding-inline: .85rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-character-row {
    margin-top: 1rem;
    padding-top: .75rem;
    border-top: 1px solid var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-character-label {
    font: 800 .65rem/1 var(--quest-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-character-pill {
    padding: .38rem .62rem;
    border: 1px solid currentColor;
    clip-path: polygon(7px 0,100% 0,100% 100%,0 100%,0 7px);
}

/* Story parameters: RPG character sheet table. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-section {
    padding-bottom: 0;
    border-bottom: 0;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-section .section-title::before { content: "STORY PARAMETERS // "; color: var(--quest-muted); font-family: var(--quest-mono); font-size: .65em; letter-spacing: .06em; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-strip-inner {
    border: 1px solid var(--quest-line-strong);
    background: var(--quest-surface);
    padding: 0;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-row {
    display: grid;
    grid-template-columns: minmax(150px,22%) 1fr;
    gap: 0;
    padding: 0;
    border-bottom: 1px solid var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-row:last-child { border-bottom: 0; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-label {
    padding: .8rem .9rem;
    border-right: 1px solid var(--quest-line);
    color: var(--quest-muted);
    text-transform: uppercase;
    font-size: .69rem;
    font-weight: 800;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-list {
    padding: .65rem .8rem;
    gap: .42rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-pill {
    padding: .28rem .5rem;
    border: 1px solid var(--quest-line);
    background: var(--quest-surface-2);
    color: var(--quest-ink);
    clip-path: polygon(6px 0,100% 0,100% 100%,0 100%,0 6px);
    font-size: .78rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.story-description-inner,.story-chapters-section,.story-section-inner) {
    border-color: var(--quest-line);
}

/* Homepage HUD modules. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panels {
    gap: .8rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel {
    border: 1px solid var(--quest-line-strong);
    background: var(--quest-surface);
    clip-path: polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel-header {
    min-height: 42px;
    border-bottom: 1px solid var(--quest-line-strong);
    background: var(--quest-surface-2);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel-heading {
    text-transform: uppercase;
    font-size: .7rem;
    font-weight: 850;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel-row {
    border-bottom: 1px solid var(--quest-line);
    min-height: 46px;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel-rank {
    width: 28px; height: 28px;
    flex: 0 0 28px;
    display: inline-grid; place-items: center;
    background: var(--quest-role-guest);
    color: #fff;
    clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
    font: 850 .72rem/1 var(--quest-mono);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel--members .home-panel-rank--1 { background: var(--quest-rank-gold); color:#2d1b00; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel--members .home-panel-rank--2 { background: var(--quest-rank-silver); color:#1e1e1e; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel--members .home-panel-rank--3 { background: var(--quest-rank-bronze); color:#fff; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel--requests .home-panel-rank {
    width: auto; height: auto; min-width: 2.25rem;
    clip-path: none;
    background: transparent;
    color: var(--quest-danger);
    font-size: .82rem;
    justify-content: end;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel--requests .home-panel-rank::before { content: "+"; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel-title { font-weight: 800; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel-meta { font-size: .61rem; color: var(--quest-muted); }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel-footer {
    border-top: 1px solid var(--quest-line-strong);
    background: var(--quest-surface-2);
    font-size: .65rem;
    text-transform: uppercase;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-vote-button { min-width: 64px; padding-inline: .45rem; font-size: .64rem; }

/* Connected filter tabs / square pagination. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-tabs,.tag-filter-mode,.tag-mode-controls) {
    display: inline-flex;
    gap: 0;
    border: 1px solid var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-tabs a,.home-story-tabs button,.tag-filter-mode a,.tag-filter-mode button) {
    margin: 0;
    border: 0;
    border-right: 1px solid var(--quest-line-strong);
    clip-path: none;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-tabs a,.home-story-tabs button,.tag-filter-mode a,.tag-filter-mode button):last-child { border-right: 0; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-tabs .is-active,.home-story-tabs [aria-current="page"],.tag-filter-mode .is-active) {
    background: var(--quest-line-strong);
    color: var(--quest-bg);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-pagination,.tag-page-pagination,.info-pagination) { gap: .28rem; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-pagination__item,.tag-page-pagination__item,.info-pagination__item) {
    min-width: 36px; min-height: 36px;
    display: inline-grid; place-items: center;
    padding: .4rem .55rem;
    clip-path: none;
}

/* Category filter becomes a quest parameter console. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-panel {
    border: 1px solid var(--quest-line-strong);
    background: var(--quest-surface);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-panel-header,
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-group-header {
    border-bottom: 1px solid var(--quest-line);
    background: var(--quest-surface-2);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-group-title {
    font-family: var(--quest-mono);
    text-transform: uppercase;
    letter-spacing: .045em;
    font-size: .7rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.tag-chip,.mobile-tag-filter-chip,.mobile-tag-filter__tag) {
    border: 1px solid var(--quest-line);
    background: var(--quest-surface-2);
    clip-path: polygon(6px 0,100% 0,100% 100%,0 100%,0 6px);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.tag-chip.is-active,.mobile-tag-filter__tag.is-selected) {
    background: var(--quest-accent);
    color: var(--quest-on-accent);
    border-color: var(--quest-accent);
}

/* Info / requests / community use system-log panels, not soft cards. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    .info-hero,.info-section,.info-post-card,.info-post-row,
    .request-card,.request-item,.community-composer,.community-post,.community-empty,.community-view-heading,.community-sidebar
) {
    background: var(--quest-surface);
    border: 1px solid var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.info-section-heading,.community-view-heading,.community-sidebar__heading) {
    border-bottom: 1px solid var(--quest-line-strong);
    background: var(--quest-surface-2);
    text-transform: uppercase;
    font-family: var(--quest-mono);
    letter-spacing: .055em;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .info-hero {
    border-left: 5px solid var(--quest-accent);
    clip-path: polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .info-hero::after { display: none; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .info-eyebrow { font-family: var(--quest-mono); letter-spacing:.1em; text-transform:uppercase; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .info-post-row { border-width: 0 0 1px; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-post { clip-path: polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%); }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-tabs { gap: 0; border: 1px solid var(--quest-line-strong); }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-tab { border: 0; border-right: 1px solid var(--quest-line-strong); clip-path:none; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-tab:last-child { border-right: 0; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-tab.is-active { background:var(--quest-line-strong); color:var(--quest-bg); }

/* Footer and mobile command dock. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .site-footer {
    background: var(--quest-surface);
    border-top: 2px solid var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .mobile-bottom-nav {
    background: var(--quest-surface);
    border: 2px solid var(--quest-line-strong);
    clip-path: polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .mobile-bottom-nav a { border-right:1px solid var(--quest-line); }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .mobile-bottom-nav a:last-child { border-right:0; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .mobile-bottom-nav a.is-active {
    background: var(--quest-accent);
    color: var(--quest-on-accent);
}

@media (max-width: 768px) {
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-inner {
        grid-template-columns: minmax(0,1fr);
        gap: .9rem;
    }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-cover-column {
        width: min(54vw,190px);
        margin-inline: auto;
    }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-content { padding: 1rem; }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-title { font-size: clamp(2rem,10vw,3rem); }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stat:nth-child(2) { border-right:0; }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stat:nth-child(-n+2) { border-bottom:1px solid var(--quest-line); }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-action-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.story-action-primary,.story-action-secondary) { width:100%; min-width:0; font-size:.7rem; }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-row { grid-template-columns: 1fr; }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-label { border-right:0; border-bottom:1px solid var(--quest-line); }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-stat svg { display:none; }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-cover-hud { min-height:19%; padding:.42rem .45rem; }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-role-badge { width:18px;height:18px;flex-basis:18px;font-size:.52rem; }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-cover-hud__readout { font-size:.58rem; }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panels { grid-template-columns:1fr; }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-panel { clip-path:none; }
}

@media (prefers-reduced-motion: reduce) {
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-card { transition:none; }
}


/* UI49 — Quest HUD treatment for story recent discussions. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.story-community-preview .story-discussion-heading {
    border-bottom: 1px solid var(--quest-line-strong);
    padding-bottom: 0.55rem;
}

html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.story-community-preview .story-discussion-heading .section-title {
    text-transform: uppercase;
    letter-spacing: -0.015em;
}

html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.story-community-preview .story-discussion-view-all {
    color: var(--quest-accent);
    font: 800 .7rem/1.2 var(--quest-mono);
    letter-spacing: .05em;
    text-transform: uppercase;
}

html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.story-community-preview .story-discussion-list {
    gap: 0.55rem;
}

html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.story-community-preview .story-discussion-item {
    border: 1px solid var(--quest-line);
    border-radius: 0 !important;
    background: var(--quest-surface);
    clip-path: polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);
}

html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.story-community-preview .story-discussion-item:hover {
    border-color: var(--quest-line-strong);
    background: var(--quest-surface-2);
    transform: none;
}

html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.story-community-preview .story-discussion-badge {
    width: 30px;
    height: 30px;
    border: 1px solid var(--quest-line-strong);
    border-radius: 0 !important;
    background: var(--quest-surface-2);
    color: var(--quest-accent);
    clip-path: polygon(6px 0,100% 0,100% 100%,0 100%,0 6px);
    font: 850 .64rem/1 var(--quest-mono);
}

html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.story-community-preview .story-discussion-excerpt {
    color: var(--quest-ink);
    font-weight: 750;
}

html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.story-community-preview .story-discussion-stats {
    padding-top: 0.42rem;
    border-top: 1px solid var(--quest-line);
    color: var(--quest-muted);
    font: 700 .68rem/1.25 var(--quest-mono);
    letter-spacing: .025em;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
    .story-community-preview .story-discussion-item {
        clip-path: polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);
    }

    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
    .story-community-preview .story-discussion-stats {
        font-size: .62rem;
    }
}


/* UI50 — Preserve the original Quest story stat block on story detail pages. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.story-hero-content > .quest-story-stats[data-quest-only] {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 768px) {
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
    .story-hero-content > .quest-story-stats[data-quest-only] {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ============================================================
   Quest refinement v24 — stronger silhouettes, fewer nested boxes.
   Strictly scoped to Quest; Standard / Soft Aura remain untouched.
   ============================================================ */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) {
    --quest-cut-sm: 8px;
    --quest-cut-md: 12px;
    --quest-frame-accent: color-mix(in srgb, var(--quest-accent) 66%, var(--quest-line-strong) 34%);
}

/* More recognizable frame language: modest cuts, double-line accents, no lost content. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-card,.search-story-card) {
    clip-path: polygon(var(--quest-cut-sm) 0,100% 0,100% calc(100% - var(--quest-cut-sm)),calc(100% - var(--quest-cut-sm)) 100%,0 100%,0 var(--quest-cut-sm));
    border-color: var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-card,.search-story-card)::after {
    content:"";
    position:absolute;
    z-index:8;
    inset:4px;
    border-inline-start:2px solid var(--quest-frame-accent);
    border-block-end:1px solid var(--quest-line);
    pointer-events:none;
    opacity:.72;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-cover {
    clip-path: polygon(var(--quest-cut-md) 0,100% 0,100% 100%,0 100%,0 var(--quest-cut-md));
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-cover-column {
    clip-path: polygon(var(--quest-cut-md) 0,100% 0,100% calc(100% - var(--quest-cut-md)),calc(100% - var(--quest-cut-md)) 100%,0 100%,0 var(--quest-cut-md));
}

/* Full role plate: role remains unmistakable without covering cover artwork. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-cover-hud {
    min-height: 24%;
    padding: .55rem .55rem .48rem;
    gap: .36rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-cover-hud__readout {
    align-items: end;
    gap:.45rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-role-badge {
    width:auto;
    height:24px;
    min-width:72px;
    padding:0 .58rem 0 .34rem;
    display:inline-flex;
    align-items:center;
    gap:.34rem;
    flex:0 1 auto;
    clip-path: polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%,0 7px);
    font:900 .58rem/1 var(--quest-mono);
    letter-spacing:.045em;
    text-transform:uppercase;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-role-badge__mark {
    width:15px;height:15px;
    flex:0 0 15px;
    display:grid;place-items:center;
    border:1px solid currentColor;
    clip-path:polygon(50% 0,100% 28%,100% 72%,50% 100%,0 72%,0 28%);
    font-size:.48rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-role-badge__label {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-cover-hud__chapter {
    white-space:nowrap;
    text-shadow:0 1px 2px rgba(0,0,0,.85);
}

/* Hero frame: stronger without oversized cuts. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-content {
    clip-path: polygon(var(--quest-cut-md) 0,100% 0,100% calc(100% - var(--quest-cut-md)),calc(100% - var(--quest-cut-md)) 100%,0 100%,0 var(--quest-cut-md));
    border-inline-start:3px solid var(--quest-frame-accent);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-content::before {
    content:"STORY //";
}

/* Do not expose design-system wording to readers. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-section .section-title::before {
    content:"";
    display:none;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-section .section-title {
    position:relative;
    padding-left:14px;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-section .section-title::after {
    content:"";
    position:absolute;left:0;top:.12em;bottom:.12em;width:4px;
    background:var(--quest-accent);
    clip-path:polygon(0 0,100% 4px,100% 100%,0 calc(100% - 4px));
}

/* Homepage request panel: reward plates instead of floating +numbers. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel--requests .home-panel-rank {
    width:34px;height:28px;min-width:34px;
    display:inline-grid;place-items:center;
    justify-content:center;
    padding:0 .25rem;
    color:#fff;
    background:var(--quest-danger);
    border:1px solid color-mix(in srgb,var(--quest-danger) 64%,#000 36%);
    clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%,0 6px);
    font:900 .72rem/1 var(--quest-mono);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel--requests .home-panel-rank::before { content:"+"; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel--requests .home-panel-row:nth-child(2) .home-panel-rank { background:color-mix(in srgb,var(--quest-danger) 88%,var(--quest-warning) 12%); }

/* Info: pinned cards become dossier tabs, archive remains lighter. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .info-section {
    border:0;
    background:transparent;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .info-section-heading {
    background:transparent;
    border-bottom:2px solid var(--quest-line-strong);
    padding-inline:0;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .info-post-card--featured {
    position:relative;
    border:1px solid var(--quest-line-strong);
    border-inline-start:4px solid var(--quest-accent);
    background:var(--quest-surface);
    clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,10px 100%,0 calc(100% - 10px));
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .info-post-card--featured::before {
    content:"";
    position:absolute;right:0;top:0;width:14px;height:14px;
    border-left:1px solid var(--quest-line-strong);
    border-bottom:1px solid var(--quest-line-strong);
    pointer-events:none;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .info-post-badge {
    border:1px solid var(--quest-accent);
    background:var(--quest-accent);
    color:var(--quest-on-accent);
    clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%,0 5px);
    padding:.25rem .48rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .info-post-row {
    background:transparent;
    border:0;
    border-bottom:1px solid var(--quest-line);
}

/* Request page: top-three as bounty cards; normal rows read like mission log. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .request-page .page-hero {
    border:1px solid var(--quest-line-strong);
    border-inline-start:4px solid var(--quest-accent);
    background:var(--quest-surface);
    clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .request-podium-card {
    border:1px solid var(--quest-line-strong);
    border-top:3px solid var(--quest-frame-accent);
    background:var(--quest-surface);
    clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .request-podium-rank {
    clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .request-row {
    border:0;
    border-bottom:1px solid var(--quest-line);
    background:transparent;
}

/* Contact: terminal/contact-node motif, without turning every field into a framed card. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .contact-hero {
    border:1px solid var(--quest-line-strong);
    border-inline-start:4px solid var(--quest-accent);
    background:var(--quest-surface);
    clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .contact-social-grid {
    gap:0;
    border-block:1px solid var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .contact-social-link {
    border:0;
    border-right:1px solid var(--quest-line);
    border-bottom:1px solid var(--quest-line);
    background:transparent;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .contact-form-panel {
    border:1px solid var(--quest-line-strong);
    border-top:3px solid var(--quest-frame-accent);
    background:var(--quest-surface);
    clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.contact-note,.contact-card) {
    border:0;
    border-left:2px solid var(--quest-line);
    background:transparent;
}

/* Community: one strong post frame, internal areas use separators instead of boxes. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-sidebar {
    border:0;
    border-right:1px solid var(--quest-line-strong);
    background:transparent;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-composer {
    border:0;
    border-block:1px solid var(--quest-line-strong);
    background:transparent;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-post {
    border:1px solid var(--quest-line-strong);
    border-inline-start:3px solid var(--quest-frame-accent);
    clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    .community-poll button,.community-story-chip,.community-actions,.community-counts,.community-moderation,.community-poll-contribute
) {
    box-shadow:none !important;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-poll button {
    border:0;
    border-bottom:1px solid var(--quest-line);
    background:transparent;
    clip-path:none;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-poll button:first-child { border-top:1px solid var(--quest-line); }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-counts {
    border:0;
    border-top:1px dashed var(--quest-line);
    background:transparent;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-actions {
    border:0;
    border-block:1px solid var(--quest-line);
    background:transparent;
    gap:0;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-action-button {
    border:0;
    border-right:1px solid var(--quest-line);
    background:transparent;
    clip-path:none;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-action-button:last-child { border-right:0; }
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-moderation {
    border:0;
    border-top:1px solid var(--quest-line);
    background:transparent;
}

@media (max-width:768px) {
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-role-badge {
        height:22px;
        min-width:62px;
        max-width:96px;
        padding-inline:.3rem .42rem;
        font-size:.5rem;
    }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-role-badge__mark { width:13px;height:13px;flex-basis:13px;font-size:.42rem; }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-sidebar {
        border-right:0;
        border-bottom:1px solid var(--quest-line-strong);
    }
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .contact-social-link { border-right:0; }
}


/* UI51 — Quest HD final isolation contract.
   Quest HD is a public-theme skin only. It must not leak into Standard,
   Soft Aura, Reader, Admin, auth pages with other layouts, or shared apps. */
html[data-layout="public"] body:not(.reader-body):not([data-visual-effect="quest"]) [data-quest-only] {
    display: none !important;
}

html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.story-hero-content > .quest-story-stats[data-quest-only] {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.quest-cover-hud[data-quest-only],
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
.quest-story-systemline[data-quest-only] {
    display: flex !important;
}

@media (max-width: 768px) {
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body)
    .story-hero-content > .quest-story-stats[data-quest-only] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}



/* ============================================================
   Quest HUD refinement v25 — moderate contrast + visual hierarchy
   Scope contract: Quest public pages only. Standard / Soft Aura / Reader
   / Admin remain untouched.

   Design rules:
   1) Palette decides hue; Quest decides semantic use.
   2) Strong frame only for true content boundaries.
   3) Inner structure uses subtle dividers or spacing, not nested boxes.
   4) Contrast is intentionally moderate to avoid glare in both themes.
   ============================================================ */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) {
    /* Palette-derived semantic layers. Across the 60 bundled palettes these
       mixes keep divider contrast soft and main frames clearly visible. */
    --quest-surface: color-mix(in srgb, var(--color-surface) 97%, var(--color-background) 3%);
    --quest-surface-2: color-mix(in srgb, var(--color-surface) 90%, var(--color-background) 10%);
    --quest-ink: var(--color-text);
    --quest-muted: color-mix(in srgb, var(--color-muted) 88%, var(--color-text) 12%);
    --quest-line: color-mix(in srgb, var(--color-text) 14%, var(--color-border) 86%);
    --quest-line-strong: color-mix(in srgb, var(--color-text) 36%, var(--color-border) 64%);
    --quest-line-emphasis: color-mix(in srgb, var(--color-text) 46%, var(--color-border) 54%);
    --quest-accent: var(--color-primary);
    --quest-on-accent: var(--color-on-primary);
    --quest-highlight: var(--color-accent);
    --quest-on-highlight: var(--theme-on-accent, var(--color-text));
    --quest-highlight-text: var(--theme-accent-text, var(--color-text));
    --quest-selected-soft: color-mix(in srgb, var(--color-primary) 13%, var(--quest-surface) 87%);
    --quest-highlight-soft: color-mix(in srgb, var(--color-accent) 12%, var(--quest-surface) 88%);
    --quest-track: color-mix(in srgb, var(--quest-line) 58%, transparent 42%);
    --quest-cut-sm: 10px;
    --quest-cut-md: 15px;
    --quest-cut-lg: 18px;
    --quest-frame-accent: color-mix(in srgb, var(--quest-accent) 54%, var(--quest-line-strong) 46%);
}

/* ---------- Main HUD silhouettes: stronger cut, fewer decorative lines ---------- */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-card,.search-story-card) {
    border-color: var(--quest-line-strong);
    clip-path: polygon(
        var(--quest-cut-md) 0,
        100% 0,
        100% calc(100% - var(--quest-cut-md)),
        calc(100% - var(--quest-cut-md)) 100%,
        0 100%,
        0 var(--quest-cut-md)
    );
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-card,.search-story-card)::after {
    /* One small corner marker replaces the previous almost-full inner frame. */
    inset: auto 5px 5px auto;
    width: 20px;
    height: 20px;
    border: 0;
    border-right: 2px solid var(--quest-frame-accent);
    border-bottom: 2px solid var(--quest-frame-accent);
    opacity: .58;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-cover-column {
    clip-path: polygon(
        var(--quest-cut-lg) 0,
        100% 0,
        100% calc(100% - var(--quest-cut-lg)),
        calc(100% - var(--quest-cut-lg)) 100%,
        0 100%,
        0 var(--quest-cut-lg)
    );
    border-color: var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-content {
    border-color: var(--quest-line-strong);
    border-inline-start-color: var(--quest-frame-accent);
    clip-path: polygon(
        var(--quest-cut-lg) 0,
        100% 0,
        100% calc(100% - var(--quest-cut-lg)),
        calc(100% - var(--quest-cut-lg)) 100%,
        0 100%,
        0 var(--quest-cut-lg)
    );
}

/* ---------- Story cards: keep the outer trading-card frame, lighten internals ---------- */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-body {
    border-top-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-stats {
    border: 0;
    border-block: 1px solid var(--quest-line);
    background: color-mix(in srgb, var(--quest-surface-2) 56%, transparent 44%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-stat {
    border-right-color: color-mix(in srgb, var(--quest-line) 68%, transparent 32%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-author,.home-story-editor,.home-story-credit-row) {
    color: var(--quest-muted);
}

/* ---------- Story detail: stats and metadata remain legible without a wall of boxes ---------- */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.story-author-tag,.story-editor-tag,.story-progress-pill,.story-status-pill) {
    border-color: var(--quest-line-strong);
    background: var(--quest-surface-2);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stats {
    border-color: var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stat {
    border-right-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-stat span,
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .quest-story-systemline,
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-hero-character-label {
    color: var(--quest-muted);
}

/* Character identity tags: deliberately solid enough to read on all palettes.
   Primary/on-primary and accent/on-accent are already contrast-normalized by the theme service. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    .story-hero-character-pill--1,
    .story-hero-character-pill--3
) {
    background: color-mix(in srgb, var(--quest-accent) 96%, var(--quest-surface) 4%) !important;
    border-color: color-mix(in srgb, var(--quest-accent) 72%, var(--quest-ink) 28%) !important;
    color: var(--quest-on-accent) !important;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    .story-hero-character-pill--2,
    .story-hero-character-pill--4
) {
    background: var(--quest-highlight) !important;
    border-color: color-mix(in srgb, var(--quest-highlight) 72%, var(--quest-ink) 28%) !important;
    color: var(--quest-on-highlight) !important;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    .story-hero-character-pill--1,.story-hero-character-pill--2,
    .story-hero-character-pill--3,.story-hero-character-pill--4
):hover {
    filter: brightness(1.03);
}

/* ---------- Story parameters: one outer table, subtle row separators ---------- */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-strip-inner {
    border-color: var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-row {
    border-bottom-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-label {
    border-right-color: var(--quest-line);
    color: var(--quest-muted);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .story-tag-pill {
    border-color: color-mix(in srgb, var(--quest-line) 72%, transparent 28%);
    background: color-mix(in srgb, var(--quest-surface-2) 66%, transparent 34%);
}

/* ---------- Homepage panels: frame is primary; rows are only data separators ---------- */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel {
    border-color: var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel-header {
    border-bottom-color: var(--quest-line);
    background: var(--quest-surface-2);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel-row {
    border-bottom-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel-footer {
    border-top-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-panel--requests .home-panel-rank {
    /* Request score is data, not another card. */
    width: auto;
    height: auto;
    min-width: 2rem;
    padding: 0;
    border: 0;
    background: transparent !important;
    color: var(--quest-highlight-text);
    clip-path: none;
    justify-content: end;
    font-size: .82rem;
}

/* ---------- Category / tag filter: remove box-inside-box effect ---------- */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-panel {
    border-color: var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-panel-header {
    border-bottom-color: var(--quest-line-strong);
    background: transparent;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-group {
    border: 0;
    border-bottom: 1px solid var(--quest-line);
    background: transparent;
    overflow: visible;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-group:last-child {
    border-bottom: 0;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-group-header {
    border-bottom: 0;
    background: transparent;
    padding-inline: .6rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-group-count {
    min-width: auto;
    height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--quest-muted);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-group-body {
    padding-inline: .6rem;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.tag-chip,.mobile-tag-filter-chip,.mobile-tag-filter__tag) {
    border-color: transparent;
    background: color-mix(in srgb, var(--quest-surface-2) 74%, transparent 26%);
    color: var(--quest-ink);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.tag-chip,.mobile-tag-filter-chip,.mobile-tag-filter__tag):hover {
    border-color: var(--quest-line);
    background: var(--quest-surface-2);
    transform: none;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.tag-chip.is-active,.tag-filter-chip.is-active,.mobile-tag-filter__tag.is-selected) {
    border-color: var(--quest-accent);
    background: var(--quest-selected-soft);
    color: var(--quest-ink);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-panel .tag-chip-count {
    color: var(--quest-muted);
}

/* Connected controls should read as one control group, not many nested cards. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-story-tabs,.tag-filter-mode,.tag-mode-controls,.community-tabs) {
    border-color: var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    .home-story-tabs a,.home-story-tabs button,
    .tag-filter-mode a,.tag-filter-mode button,
    .community-tab
) {
    border-right-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    .home-story-tabs .is-active,.home-story-tabs [aria-current="page"],
    .tag-filter-mode .is-active,.community-tab.is-active
) {
    background: var(--quest-selected-soft);
    color: var(--quest-ink);
}

/* ---------- Community: one post frame + separators + real poll progress ---------- */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-sidebar {
    border-right-color: var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-composer {
    border-block-color: var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-post {
    border-color: var(--quest-line-strong);
    border-inline-start-color: var(--quest-frame-accent);
    clip-path: polygon(
        var(--quest-cut-sm) 0,
        100% 0,
        100% calc(100% - var(--quest-cut-sm)),
        calc(100% - var(--quest-cut-sm)) 100%,
        0 100%,
        0 var(--quest-cut-sm)
    );
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-poll {
    gap: 0;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-poll > button[data-vote] {
    min-height: 50px;
    border: 0;
    border-bottom: 1px solid var(--quest-line);
    background: transparent;
    padding-block: 12px 15px;
    clip-path: none;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-poll > button[data-vote]:first-child {
    border-top: 1px solid var(--quest-line);
}
/* Existing inline style width contains the real percentage. Keep that width as
   the progress fill and draw a separate quiet track underneath. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-poll > button[data-vote] > i {
    inset: auto auto 5px 0;
    height: 3px;
    min-width: 0;
    background: var(--quest-accent);
    opacity: .78;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-poll > button[data-vote]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5px;
    height: 3px;
    background: var(--quest-track);
    z-index: 0;
    pointer-events: none;
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-counts {
    border-top-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-actions {
    border-block-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-action-button {
    border-right-color: color-mix(in srgb, var(--quest-line) 72%, transparent 28%);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-moderation {
    border-top-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.community-role,.community-post-flags span,.community-tags a,.community-story-chip) {
    border-color: transparent;
    background: var(--quest-selected-soft);
    color: var(--quest-ink);
}

/* ---------- Info / request / contact: strong section boundary, quiet internal rows ---------- */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    .info-hero,.info-post-card--featured,.request-page .page-hero,.request-podium-card,
    .contact-hero,.contact-form-panel
) {
    border-color: var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(
    .info-section-heading,.info-post-row,.request-row,.contact-social-link
) {
    border-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .info-section-heading {
    border-bottom-color: var(--quest-line-strong);
}

/* ---------- Header/footer: keep command-bar identity but reduce glare ---------- */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.site-header,.site-footer) {
    border-color: var(--quest-line-strong);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.site-header-inner,.site-nav-row) {
    border-color: var(--quest-line);
}
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.site-search input,.site-search button,.header-icon-button,.site-account-link) {
    border-color: var(--quest-line-strong);
}

/* ---------- Dark mode: use off-white semantic tokens, never force pure white frames ---------- */
html[data-layout="public"][data-theme="dark"] body[data-visual-effect="quest"]:not(.reader-body),
html[data-layout="public"].theme-dark body[data-visual-effect="quest"]:not(.reader-body) {
    --quest-surface-2: color-mix(in srgb, var(--color-surface) 92%, var(--color-background) 8%);
    --quest-line: color-mix(in srgb, var(--color-text) 12%, var(--color-border) 88%);
    --quest-line-strong: color-mix(in srgb, var(--color-text) 31%, var(--color-border) 69%);
    --quest-line-emphasis: color-mix(in srgb, var(--color-text) 41%, var(--color-border) 59%);
    --quest-selected-soft: color-mix(in srgb, var(--color-primary) 15%, var(--quest-surface) 85%);
    --quest-highlight-soft: color-mix(in srgb, var(--color-accent) 14%, var(--quest-surface) 86%);
}

@media (max-width: 768px) {
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) {
        --quest-cut-sm: 8px;
        --quest-cut-md: 11px;
        --quest-cut-lg: 13px;
    }

    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .tag-filter-group {
        border-bottom-color: var(--quest-line);
    }

    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .community-sidebar {
        border-bottom-color: var(--quest-line-strong);
    }
}

/* UI49 — Keep the shared chapter progress readable inside Quest story cards.
   Quest loads after app/mobile.css, so these narrow overrides preserve the
   full-width status row without changing the rest of the HUD styling. */
html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-stories .home-story-chapter-stat {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-height: 1.72rem;
    padding: 0;
    border-right: 1px solid var(--chapter-status-border);
}

html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) .home-story-chapter-stat .home-story-chapter-progress__value {
    padding: .18rem .48rem;
    font-family: var(--quest-mono);
    font-size: .67rem;
}

@media (max-width: 768px) {
    html[data-layout="public"] body[data-visual-effect="quest"]:not(.reader-body) :is(.home-stories, .tag-story-results-list) .home-story-chapter-stat {
        grid-column: 1 / -1;
        width: 100%;
        min-height: 1.58rem;
        padding: 0;
    }
}
