/* Shared information-first layout. Loaded after the original visual theme. */
:root {
  --text-secondary: #cbd5e1;
  --text-muted: #9aa7b8;
  --phase-corrosion: #a89af2;
  --phase-resonance: #f08ac7;
}
body { background-image: none; font-size: 1rem; line-height: 1.65; }
h1, h2, h3 { line-height: 1.3; text-wrap: balance; }
button, input { font: inherit; }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible {
  outline: 2px solid var(--accent-cyan); outline-offset: 3px;
}
[hidden] { display: none !important; }
.main-content { padding-top: 1.5rem; }
.hero { padding: 1rem 0 1.5rem; text-align: left; background: none; border: 0; }
.hero-title { font-size: 2rem; color: var(--text-primary); background: none; -webkit-text-fill-color: currentColor; margin-bottom: .5rem; }
.hero-title small { font-size: .875rem; color: var(--text-muted); font-weight: 500; }
.hero-desc { font-size: 1rem; line-height: 1.65; max-width: 70ch; margin: 0 0 1.25rem; }
.hero .nav-search { width: min(100%, 640px); margin: 0 0 1rem; }
.hero .nav-search input, .hero .nav-search input:focus { width: 100%; min-height: 48px; font-size: 1rem; }
.hero .search-results-dropdown { width: 100%; left: 0; right: auto; }
.quick-links, .section-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.quick-links a, .section-links a { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; font-size: .9375rem; }
.quick-links strong { font-size: .875rem; color: var(--text-muted); font-weight: 500; }
.class-nav-card { padding: .8rem; min-height: 82px; box-shadow: none; }
.class-nav-card:hover { transform: none; }
.class-nav-grid { gap: .75rem; }
.badge { box-shadow: none; text-transform: none; letter-spacing: normal; }
.char-tags-row .badge, .badge-fixed { width: auto !important; min-width: 0 !important; max-width: 100% !important; height: auto !important; min-height: 32px !important; max-height: none !important; padding: .3rem .65rem !important; font-size: .875rem !important; box-shadow: none; }
.char-tags-row .badge, .badge-fixed { text-transform: none !important; letter-spacing: normal !important; }
.char-tags-row .badge span, .badge-fixed span { white-space: normal; padding: 0; }
.doll-grid { grid-template-columns: repeat(auto-fill, minmax(185px, 1fr)); gap: 1rem; }
.doll-thumb-wrapper { display: flex; flex-direction: column; height: auto; padding-top: 0; background: var(--bg-surface); }
.doll-thumb-wrapper picture { order: 0; display: block; height: 190px; overflow: hidden; }
.doll-thumb { position: static; height: 190px; object-position: top; }
.doll-badges-overlay { position: static; order: 1; padding: .65rem .75rem 0; flex-wrap: wrap; gap: .4rem; }
.doll-badges-overlay > div { flex-wrap: wrap; }
.doll-card-body { padding: .65rem .75rem .85rem; }
.doll-card, .doll-card:hover, .weapon-card, .weapon-card:hover { box-shadow: none; transform: none; }
.doll-card:hover .doll-thumb { transform: none; }
.doll-name { font-size: 1rem; }
.doll-meta { font-size: .8125rem; flex-wrap: wrap; }
.filter-toolbar { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: .75rem; }
.filter-toolbar button { min-height: 44px; }
.filter-reset:disabled { opacity: .55; cursor: default; }
.view-toggle { margin-left: auto; }
.view-toggle[aria-pressed="true"] { border-color: var(--accent-cyan); color: var(--accent-cyan); }
.filter-section { padding: 1rem; margin-bottom: 1.25rem; }
.filter-group { gap: .5rem 1rem; margin-bottom: .65rem; }
.filter-label { font-size: .8125rem; text-transform: none; letter-spacing: normal; }
.chip { font-size: .875rem; min-height: 36px; }
.filters-enhanced:not(.filters-open) .filter-extra { display: none; }
.catalog-empty { padding: 2rem 0; color: var(--text-secondary); }
.char-header { grid-template-columns: 200px minmax(0, 1fr); gap: 1.5rem; padding: 1.25rem; margin-bottom: 1.25rem; align-items: start; }
.char-portrait-box { min-height: 0; height: 280px; }
.char-header[data-rarity] .char-portrait-box, .char-header[data-rarity] .char-avatar-img { box-shadow: none; }
.char-main-info { min-width: 0; }
.char-name-heading { font-size: 2rem; }
.char-tags-row { margin-top: .35rem; gap: .4rem; }
.char-stats-grid { padding: .85rem; gap: .6rem 1rem; margin-top: .85rem; background: var(--bg-primary); }
.stat-box-label { font-size: .8125rem; text-transform: none; letter-spacing: normal; }
.stat-box-val { font-variant-numeric: tabular-nums; font-size: 1.05rem; }
.char-tabs-nav { margin: 1rem 0; }
.section-links { border-bottom: 1px solid var(--border-subtle); padding-bottom: .5rem; }
[id] { scroll-margin-top: 90px; }
.skill-desc { max-width: 80ch; }
.skill-param-val, .val-highlight { color: var(--text-primary) !important; font-weight: 700; }
.skill-tag { font-size: .8125rem; }
.data-table { font-size: 1rem; }
.data-table th { font-size: .8125rem; text-transform: none; letter-spacing: normal; }
.data-table td[data-fort-effect], .data-table td[data-key-effect] { line-height: 1.65 !important; }
.weapon-img-box { height: 130px; }
.weapon-img { max-height: 110px; }
.weapon-stats-text, .weapon-trait-text { font-size: .9375rem; }
.weapon-grid.is-list { grid-template-columns: 1fr; }
.weapon-grid.is-list .weapon-card { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: .3rem 1rem; }
.weapon-grid.is-list .weapon-img-box { grid-column: 1; grid-row: 1 / span 4; height: 100px; margin: 0; }
.weapon-grid.is-list .weapon-card > :not(.weapon-img-box) { grid-column: 2; }
.guide-layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 2rem; align-items: start; }
.guide-layout:not(:has(.guide-toc)) { grid-template-columns: minmax(0, 1fr); }
.guide-toc { position: sticky; top: 90px; font-size: .875rem; max-height: calc(100vh - 110px); overflow-y: auto; }
.guide-toc summary { cursor: pointer; font-weight: 600; min-height: 44px; padding: .5rem 0; }
.guide-toc nav { display: flex; flex-direction: column; border-left: 1px solid var(--border-subtle); }
.guide-toc a { padding: .5rem .75rem; color: var(--text-secondary); overflow-wrap: anywhere; }
.guide-toc a:hover { color: var(--accent-cyan); }
.guide-content { font-size: 1rem; line-height: 1.7; min-width: 0; max-width: 80ch; overflow-wrap: anywhere; }
.guide-content h2 { font-size: 1.5rem; }
.guide-content h3 { font-size: 1.25rem; }
.guide-title { font-size: 2rem; }
.guide-title-block { min-width: 0; }
.guide-index-title { font-size: 1rem; }
.guide-index-meta, .guide-index-date { font-size: .8125rem; }
.guide-table { font-size: .9375rem; }
.faq-answer { font-size: 1rem; line-height: 1.7; }
.faq-page-heading { max-width: 800px; margin: 0 auto 1.5rem; text-align: left; }
.skill-desc span[style*="#f26c1c"], [data-fort-effect] span[style*="#f26c1c"], [data-key-effect] span[style*="#f26c1c"] { color: var(--text-primary) !important; }
.phase-corrosion, .dmg-corrosion, .guide-text-corrosion, [data-doll-phase="Corrosion"] { color: var(--phase-corrosion) !important; }
.phase-resonance, .guide-text-resonance, [data-doll-phase="Resonance"] { color: var(--phase-resonance) !important; }
@media (max-width: 1100px) {
  .nav-container { gap: .75rem; }
  .nav-links { gap: 1rem; }
  .nav-search input, .nav-search input:focus { width: 190px; }
  .brand-badge { display: none; }
}
@media (max-width: 900px) {
  .guide-header { flex-direction: column; align-items: flex-start; gap: 1rem; padding: 1.25rem; }
  .guide-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .guide-toc { position: static; max-height: none; border-bottom: 1px solid var(--border-subtle); padding-bottom: .75rem; }
}
@media (max-width: 768px) {
  .navbar { height: auto; }
  .nav-container { gap: .5rem; }
  .nav-container > .nav-search { order: 5; flex: 0 0 100%; }
  .nav-container .nav-search input, .nav-container .nav-search input:focus { width: 100%; min-height: 44px; }
  .nav-lang-switcher { margin-left: auto; }
  .mobile-menu-btn { min-width: 44px; min-height: 44px; }
  .nav-links { gap: .25rem; }
  .nav-link { display: block; min-height: 44px; }
  .main-content { padding-top: 1rem; }
  .filters-enhanced:not(.filters-open) { display: none; }
  .filter-group { display: flex; flex-direction: column; align-items: flex-start; }
  .chip { min-height: 44px; }
  .char-header { grid-template-columns: minmax(0, 1fr); padding: 1rem; }
  .char-portrait-box { display: none; }
  .char-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .char-name-heading, .hero-title, .guide-title { font-size: 1.75rem; }
  .char-avatar-img { width: 56px; height: 56px; }
  .class-nav-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .class-nav-card { padding: .65rem; gap: .5rem; flex-direction: column; align-items: flex-start; }
  .class-nav-card img { width: 28px !important; height: 28px !important; }
  .class-nav-card h3 { font-size: 1rem !important; }
  .doll-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .doll-thumb-wrapper picture, .doll-thumb { height: 155px; }
  .doll-badges-overlay { gap: .3rem; padding: .5rem .6rem 0; }
  .doll-badges-overlay .badge { font-size: .7rem; padding: .15rem .35rem; }
  .doll-card-body { padding: .6rem; }
  .skill-card { padding: 1rem; }
  .skill-header > div { min-width: 0 !important; }
  .section-links { gap: .25rem 1rem; }
  [id] { scroll-margin-top: 140px; }
  .weapon-grid.is-list .weapon-card { grid-template-columns: 80px minmax(0, 1fr); gap: .4rem .75rem; }
  .weapon-title-row { flex-wrap: wrap; gap: .4rem; }
}

/* One color per phase across filters, badges and descriptions. */
.phase-chip.phase-physical, .dmg-physical, .guide-text-physical, [data-doll-phase="Physical"] { color: #cbd5e1 !important; }
.badge-phase[data-doll-phase="Physical"], .phase-chip.phase-physical { background: var(--bg-card); border-color: #cbd5e1; box-shadow: none; }
.phase-chip.phase-burn, .dmg-burn, .guide-text-burn, [data-doll-phase="Burn"] { color: #ff9870 !important; }
.badge-phase[data-doll-phase="Burn"], .phase-chip.phase-burn { background: var(--bg-card); border-color: #ff9870; box-shadow: none; }
.phase-chip.phase-hydro, .dmg-hydro, .guide-text-hydro, [data-doll-phase="Hydro"] { color: #5ecbeb !important; }
.badge-phase[data-doll-phase="Hydro"], .phase-chip.phase-hydro { background: var(--bg-card); border-color: #5ecbeb; box-shadow: none; }
.phase-chip.phase-electric, .dmg-electric, .guide-text-electric, [data-doll-phase="Electric"] { color: #e7c74e !important; }
.badge-phase[data-doll-phase="Electric"], .phase-chip.phase-electric { background: var(--bg-card); border-color: #e7c74e; box-shadow: none; }
.phase-chip.phase-freeze, .dmg-freeze, .guide-text-freeze, [data-doll-phase="Freeze"] { color: #42cde0 !important; }
.badge-phase[data-doll-phase="Freeze"], .phase-chip.phase-freeze { background: var(--bg-card); border-color: #42cde0; box-shadow: none; }
.phase-chip.phase-corrosion, .dmg-corrosion, .guide-text-corrosion, [data-doll-phase="Corrosion"] { color: #a89af2 !important; }
.badge-phase[data-doll-phase="Corrosion"], .phase-chip.phase-corrosion { background: var(--bg-card); border-color: #a89af2; box-shadow: none; }
.phase-chip.phase-resonance, .dmg-resonance, .guide-text-resonance, [data-doll-phase="Resonance"] { color: #f08ac7 !important; }
.badge-phase[data-doll-phase="Resonance"], .phase-chip.phase-resonance { background: var(--bg-card); border-color: #f08ac7; box-shadow: none; }
.phase-chip.active { outline: 2px solid currentColor; outline-offset: 2px; }
