/* LIFE QUEST | Theme coherence pass (all six themes)
   Loaded AFTER previous theme/legibility CSS. Only presentation, no game state.
   The Daily Quests screen is the visual baseline: matching glass cards, ink and borders. */
:root[data-lq-theme] {
  --lq-u-ink:var(--lq-f-ink);
  --lq-u-secondary:var(--lq-f-muted);
  --lq-u-surface:var(--lq-f-surface);
  --lq-u-elevated:var(--lq-f-elevated);
  --lq-u-soft:var(--lq-f-soft);
  --lq-u-border:var(--lq-f-line);
  --lq-u-emphasis:var(--lq-f-link);
  --lq-u-mark:var(--lq-g-highlight);
  --lq-u-good:var(--lq-f-good);
  --lq-u-track:rgba(104,125,157,.19);
  --lq-u-shadow:0 8px 24px rgba(24,35,62,.065), inset 0 1px 0 rgba(255,255,255,.17);
}
:root:is([data-lq-theme="sakura"],[data-lq-theme="mint"],[data-lq-theme="champagne"]){
  --lq-u-track:rgba(69,87,103,.17);
  --lq-u-shadow:0 8px 25px rgba(59,61,79,.055),inset 0 1px 0 rgba(255,255,255,.58);
}
:root[data-lq-theme="rose"]{--lq-u-track:rgba(222,176,215,.18)}
:root[data-lq-theme="lavender"]{--lq-u-track:rgba(207,190,245,.2)}

/* The old navy/gray tiles must not remain on another chosen theme. */
:root[data-lq-theme] :is(
  .quick-daily,.reward-ribbon,.reward-ribbon-metrics span,.treasure,.treasure.unlocked,
  .equipped-weapon,.weapon-item,.combat-choice,.luck-rate,.luck-trait,
  .growth-line,.growth-dashboard .growth-line,.journey-next-banner,
  .journey-unlock,.journey-archive-item,.journey-teaser,
  .monster-entry,.monster-entry.locked,.coop-banner,.coop-feed>div,
  .lq-bond-panel,.lq-replay-row,.lq-member-profile-avatar,
  .monk-stage,.briefing-enemy,.battle-stage-pick,.lq-stage-result-actions,
  .lq-stage-confirm,.social-bond-panel,.roster-person
){
  color:var(--lq-u-ink)!important;
  background:var(--lq-u-surface)!important;
  border-color:var(--lq-u-border)!important;
  box-shadow:var(--lq-u-shadow);
}
/* Alternate inner surfaces, keeping one clearly related color family. */
:root[data-lq-theme] :is(
 .reward-ribbon-metrics span,.treasure,.equipped-weapon,.combat-choice,
 .luck-rate,.growth-line,.journey-unlock,.journey-next-banner,
 .monster-entry,.coop-feed>div,.lq-replay-row,.briefing-enemy,
 .lq-stage-confirm
){background:var(--lq-u-elevated)!important}
:root[data-lq-theme] :is(
 .quick-daily-title,.quick-daily-title b,.quick-daily-title span,
 .reward-ribbon-head,.reward-ribbon p,.reward-ribbon-metrics,
 .reward-ribbon-metrics span,.reward-ribbon-metrics b,
 .equipped-weapon strong,.luck-rate span,.luck-trait,
 .luck-trait span,.growth-line b,.growth-line strong,
 .journey-next-banner strong,.journey-archive summary,
 .journey-archive-item strong,.monster-entry b,
 .lq-bond-meter,.lq-stage-confirm-name,.stage-victory-title,
 .coop-banner strong,.briefing-boss-name
){color:var(--lq-u-ink)!important}
:root[data-lq-theme] :is(
 .reward-ribbon p,.reward-list small,.treasure small,.reward-history,
 .reward-history>div span,.equipped-weapon small,.weapon-item small,
 .shop-copy small,.combat-choice>small,.luck-hero-stat small,
 .luck-trait span,.growth-line small,.journey-next-banner span,
 .journey-unlock small,.journey-archive-item span,
 .journey-foot,.monster-entry small,.coop-banner p,.coop-steps p,
 .lq-replay-row small,.briefing-enemy p,.lq-stage-result-actions>p
){color:var(--lq-u-secondary)!important}
:root[data-lq-theme] :is(
 .luck-rate b,.growth-line strong,.reward-history>div span,
 .roster-level,.lq-member-role
){color:var(--lq-u-emphasis)!important}

/* Progress, calendar & 100-day path — keep state distinction, remove fixed navy. */
:root[data-lq-theme] :is(.goal-track,.lq-bond-panel .progress-track,.lq-bond-panel .progress-bar,
 .home-habit-bar,.journey-progress,.briefing-progress){background:var(--lq-u-track)!important}
:root[data-lq-theme] .journey-grid .day-cell,
:root[data-lq-theme] .journey-grid .day-cell.upcoming,
:root[data-lq-theme] .lq-journal-day{
  background:var(--lq-u-elevated)!important;
  color:var(--lq-u-secondary)!important;
  border-color:var(--lq-u-border)!important;
}
:root[data-lq-theme] .journey-grid .day-cell.active{
  background:var(--lq-f-good-bg)!important;
  color:var(--lq-u-ink)!important;
  border-color:var(--lq-u-good)!important;
}
:root[data-lq-theme] .journey-grid .day-cell.active small{color:var(--lq-u-ink)!important}
:root[data-lq-theme] .journey-grid .day-cell.today{outline-color:var(--lq-u-mark)}
:root[data-lq-theme] :is(.journey-archive,.reward-list div,.reward-history>div,.shop-item){border-color:var(--lq-u-border)!important}

/* Full-width Adventure daily block must agree with the Quests page. */
:root[data-lq-theme] .home-habit-first .today-focus-quests.quick-daily{
  background:var(--lq-u-surface)!important;
  border:1px solid var(--lq-u-border)!important;
  box-shadow:var(--lq-u-shadow)!important;
}
:root[data-lq-theme] .today-focus-quests :is(
 .today-focus-summary,.today-focus-entry .home-quest-footprint
){background:var(--lq-u-elevated)!important;color:var(--lq-u-ink)!important;border-color:var(--lq-u-border)!important}
:root[data-lq-theme] .today-focus-quests :is(.home-quest-footprint-stats,.home-quest-footprint-caption,.today-focus-summary small){color:var(--lq-u-secondary)!important}
:root[data-lq-theme] .today-focus-quests .home-quest-history-btn{color:var(--lq-u-emphasis)!important}

/* Fix visually offset double-background strip (pink on left of the Quest button):
   old 'inset 4px 0 0' from the contrast stylesheet. One centered 1px border,
   no pseudo overlay and no fake second card on any of the six themes. */
:root[data-lq-theme] .today-focus-quests .today-focus-pending .quick-task,
:root[data-lq-theme] .today-focus-quests .today-focus-done .quick-task.done{
  box-shadow:var(--lq-u-shadow)!important;
  border-width:1px!important;
  border-style:solid!important;
  border-color:var(--lq-u-border)!important;
  background:var(--lq-u-elevated)!important;
  color:var(--lq-u-ink)!important;
  opacity:1!important;
  background-clip:padding-box;
}
:root[data-lq-theme] .today-focus-quests .today-focus-pending .quick-task:before,
:root[data-lq-theme] .today-focus-quests .today-focus-pending .quick-task:after{content:none!important}
:root[data-lq-theme] .today-focus-quests .today-focus-done .quick-task.done{
 background:var(--lq-f-good-bg)!important;
}
:root[data-lq-theme] .today-focus-quests .quick-task-wrap{
  min-width:0;
  align-items:stretch;
}
:root[data-lq-theme] .today-focus-quests .quick-task-wrap .quick-task{
  min-width:0;max-width:100%;
}
:root[data-lq-theme] .today-focus-quests .quick-task-wrap .mini-quick{
  border:1px solid var(--lq-u-border)!important;
  box-shadow:var(--lq-u-shadow);
}
:root[data-lq-theme] .today-focus-quests .today-focus-group-title,
:root[data-lq-theme] .today-focus-quests .today-focus-group-title strong{color:var(--lq-u-ink)!important}
:root[data-lq-theme] .today-focus-quests .home-quest-footprint-stats b{color:var(--lq-u-ink)!important}

/* Skills / inventory / monster library / company screens: no isolated navy tiles. */
:root[data-lq-theme] :is(.shop-copy,.shop-copy b,.weapon-item,.weapon-item small,.combat-choice,.combat-choice strong,
  .luck-rate span,.luck-rate b,.monster-copy,.monster-copy b,.monster-copy small,
  .growth-line>div,.growth-line>div strong){opacity:1}
:root[data-lq-theme] .monster-entry.locked{opacity:.70}
:root[data-lq-theme] .combat-choice.selected,
:root[data-lq-theme] .weapon-item.active{
  border-color:var(--lq-u-mark)!important;
  box-shadow:0 0 0 1px var(--lq-u-mark),var(--lq-u-shadow)!important;
}
:root[data-lq-theme] .ring:after{background:var(--lq-u-surface)!important}
:root[data-lq-theme] .ring-desc strong{color:var(--lq-u-ink)!important}
:root[data-lq-theme] .lq-bond-panel .progress-fill{
 background:linear-gradient(90deg,var(--lq-u-mark),var(--lq-u-good))!important;
}

/* Preserve legibility of non-disabled controls, without overriding intent of battle art. */
:root[data-lq-theme] :is(.btn-ghost,.lq-reflection-diary-btn,.text-btn){border-color:var(--lq-u-border)!important}
:root[data-lq-theme] .text-btn{color:var(--lq-u-emphasis)!important}
:root[data-lq-theme] :is(.guild-chat-panel .board-date,.guild-chat-panel .guild-msg-meta){color:var(--lq-u-secondary)!important}
@media(max-width:560px){
 :root[data-lq-theme] .today-focus-quests .quick-task-wrap{max-width:100%}
}
/* Profession / appearance selectors: previously one navy, one lavender tile. */
:root[data-lq-theme] :is(.hero-option,.hero-roster-card,.class-option){
 background:var(--lq-u-surface)!important;
 color:var(--lq-u-ink)!important;
 border-color:var(--lq-u-border)!important;
 box-shadow:var(--lq-u-shadow)!important;
}
:root[data-lq-theme] :is(.hero-option.selected,.hero-roster-card.active,.class-option.selected){
 background:var(--lq-u-elevated)!important;
 color:var(--lq-u-ink)!important;
 border-color:var(--lq-u-mark)!important;
 box-shadow:0 0 0 1px var(--lq-u-mark),var(--lq-u-shadow)!important;
}
:root[data-lq-theme] :is(.hero-option small,.hero-roster-card small,.gallery-class-head small){
 color:var(--lq-u-secondary)!important;
}
:root[data-lq-theme] :is(.hero-option strong,.hero-roster-card strong,.gallery-class-head){
 color:var(--lq-u-ink)!important;
}
