/* Jornada Lírio: mesma escala de toque/HUD e nenhuma barra extra sobre o cenário. */
.hud-location:has(.journey-hud-trigger) { position: relative; }
.journey-hud-trigger { position: absolute; inset: 0; z-index: 1; display: block; width: 100%; height: 100%; border: 0; border-radius: inherit; padding: 0; background: transparent; color: inherit; cursor: pointer; }
.journey-hud-trigger:focus-visible { outline: 3px solid var(--control-ink); outline-offset: 3px; }
.journey-hud-trigger:hover { background: #6884520c; }
.hud-location .journey-hud-stats { display: flex; align-items: center; gap: 5px; margin: 0; color: #40593e; font-family: var(--sans); font-size: 11px; line-height: 1.5; letter-spacing: 0; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.journey-hud-stats .journey-hud-separator { color: #8a9279; }
.journey-hud-stats img { width: 18px; height: 16px; object-fit: contain; }
.journey-hud-stats [data-journey-balance] { color: #785832; }
.casa-dialog.journey-dialog { width: min(860px, calc(100% - var(--hud-edge) - var(--hud-edge-right))); padding: 24px; max-height: calc(100dvh - var(--hud-top) - var(--hud-bottom)); color: #443f35; }
.journey-dialog .dialog-heading { margin-bottom: 18px; }
.journey-dialog .dialog-heading h2 { font-size: 29px; line-height: 1.2; }
.journey-dialog .dialog-heading .eyebrow { color: #6b6753; }
.journey-dialog .close-button { width: max(var(--touch-size), var(--hud-size)); height: max(var(--touch-size), var(--hud-size)); background: var(--paper); }
.journey-dialog button { touch-action: manipulation; }
.journey-dialog .button, .journey-text-button { min-height: max(var(--touch-size), var(--hud-size)); font-size: 13px; }
.journey-dialog .button-primary { color: #fffdf9; background: var(--control); border-color: var(--control); }
.journey-dialog .button-primary:hover { background: var(--control-hover); }
.journey-dialog .button-cream { color: #35513a; border-color: #9aa68e; background: #edf2e7; }
.journey-dialog .button-cream:hover { background: #dfe9d5; }
.journey-dialog button:disabled { cursor: default; opacity: .65; }
.journey-dialog :is(button,summary):focus-visible { outline: 3px solid var(--control-ink); outline-offset: 3px; }
.journey-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 16px; row-gap: 16px; background: #f0f2e8; border: 1px solid #bdc7ae; border-radius: 18px; padding: 18px; margin-bottom: 18px; }
.journey-identity { display: flex; gap: 12px; align-items: center; min-width: 0; }
.journey-identity-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.journey-overline { margin: 0; color: #68624c; font: 600 10px/1.5 var(--sans); text-transform: uppercase; letter-spacing: .1em; }
.journey-level { font-family: var(--serif); font-size: 29px; line-height: 1.2; font-weight: 500; }
.journey-rank { color: #546348; font-size: 12px; line-height: 1.5; }
.journey-identity .journey-crown-art { width: 76px; height: 70px; flex-shrink: 0; }
.journey-balance { display: flex; flex-direction: column; gap: 4px; align-items: flex-end; text-align: right; padding-left: 20px; border-left: 1px solid #bdc7ae; }
.journey-balance > strong { font-family: var(--serif); color: #6c492e; font-size: 29px; font-weight: 500; line-height: 1.2; font-variant-numeric: tabular-nums; }
.journey-balance-note { font-size: 11px; color: #675c4b; line-height: 1.5; }
.journey-growth { grid-column: 1 / -1; }
.journey-meter { appearance: none; -webkit-appearance: none; display: block; width: 100%; height: 7px; overflow: hidden; border: 0; border-radius: 99px; background: #dedfce; color: #64805b; }
.journey-meter::-webkit-progress-bar { border-radius: 99px; background: #dedfce; }
.journey-meter::-webkit-progress-value { border-radius: 99px; background: #64805b; }
.journey-meter::-moz-progress-bar { border-radius: 99px; background: #64805b; }
.journey-xp-line { display: flex; justify-content: space-between; gap: 10px; margin: 9px 0 0; font-size: 11px; line-height: 1.6; color: #53604b; }
.journey-xp-line strong { font-weight: 600; }
.journey-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 4px; border: 1px solid #dcd5c9; border-radius: var(--hud-radius); background: #f4f0e8; margin-bottom: 18px; }
.journey-tab { padding: 8px 6px; border: 1px solid transparent; border-radius: calc(var(--hud-radius) - 4px); background: transparent; color: #665c4d; min-height: max(var(--touch-size), var(--hud-size)); font-size: 12px; font-weight: 500; line-height: 1.4; }
.journey-tab[aria-selected=true] { background: #fffdf9; color: #35513a; border-color: #96a68b; box-shadow: 0 2px 3px #5a513814; font-weight: 700; }
.journey-tab:hover { background: #eaeede; }
.journey-status { margin: 0; min-height: 0; color: #40523a; font-size: 13px; line-height: 1.65; }
.journey-status:empty { display: none; }
.journey-status.is-error { background: #fff0e9; border: 1px solid #bb8778; color: #7a3b2d; padding: 12px 14px; border-radius: var(--hud-radius); margin-bottom: 16px; }
.journey-content { min-width: 0; }
.journey-content:focus { outline: none; }
.journey-content:focus-visible { outline: 2px solid #71866a; outline-offset: 4px; border-radius: 10px; }
.journey-section-heading { margin: 0 0 18px; }
.journey-section-heading h3 { font-size: 24px; line-height: 1.35; font-weight: 500; margin: 0 0 7px; }
.journey-copy { font-size: 13px; line-height: 1.7; color: #675b4c; margin: 0; overflow-wrap: anywhere; }
.journey-next-crown { display: grid; grid-template-columns: 122px minmax(0, 1fr); align-items: center; gap: 15px; padding: 14px 20px; border: 1px solid #d1b48e; border-radius: 16px; background: #f8f0e1; margin: 0 0 20px; }
.journey-next-crown h4 { font-family: var(--serif); font-size: 25px; line-height: 1.3; font-weight: 500; margin: 4px 0 7px; }
.journey-crown-art { position: relative; display: grid; place-items: center; flex: none; min-width: 0; width: 100%; height: 118px; overflow: hidden; }
/* Fora da trilha automática do grid: o tamanho intrínseco da imagem não expande a caixa. */
.journey-crown-art img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; filter: drop-shadow(0 4px 4px #4e3d2820); }
.journey-crown-fallback { position: absolute; color: #8b7448; font-size: 69px; line-height: 1; font-family: Georgia,serif; }
.journey-crown-art.is-seed .journey-crown-fallback { color: #769064; }
.journey-text-button { display: inline-flex; align-items: center; justify-content: flex-start; padding: 8px 0; border: 0; background: transparent; color: #35583e; text-decoration: underline; text-underline-offset: 4px; font-weight: 600; line-height: 1.5; text-align: left; }
.journey-crown-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; list-style: none; margin: 0 0 20px; padding: 0; }
.journey-crown-card { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: stretch; padding: 16px 14px; border: 1px solid #d6c9b7; border-radius: 16px; background: #f7f3eb; text-align: center; }
.journey-crown-card.is-earned { border-color: #9dab82; background: #edf2e5; box-shadow: inset 0 0 0 2px #ffffff; }
.journey-crown-card.is-locked .journey-crown-art img { filter: saturate(.55) drop-shadow(0 3px 3px #4e3d281a); opacity: .83; }
.journey-milestone { align-self: center; padding: 4px 10px; border-radius: 999px; border: 1px solid #c7b8a2; background: #fffdf9; font-size: 11px; line-height: 1.5; color: #6b583d; }
.journey-crown-card h4 { margin: 8px 0 6px; font-family: var(--serif); font-weight: 500; font-size: 20px; line-height: 1.3; }
.journey-crown-state { display: inline-block; align-self: center; font-size: 11px; line-height: 1.5; color: #6e6150; margin-bottom: 12px; font-weight: 600; }
.is-earned .journey-crown-state { color: #3e5b37; }
.journey-crown-card .journey-copy { font-size: 12px; line-height: 1.6; margin-bottom: 13px; }
.journey-crown-card .journey-meter { margin-top: auto; }
.journey-requirement { font-size: 12px; line-height: 1.6; color: #6a5d49; margin: 10px 0 0; }
.journey-remaining { font-size: 11px; line-height: 1.6; font-weight: 600; color: #526443; margin-top: 6px; }
.journey-note { display: block; background: #f4f0e7; border: 1px solid #d9cbb7; padding: 14px 16px; border-radius: 12px; margin: 0 0 16px; font-size: 12px; line-height: 1.7; color: #615b49; }
.journey-note > strong { display: block; color: #514c3d; font-size: 13px; margin-bottom: 4px; }
.journey-note .journey-copy { font-size: 12px; }
.journey-wide { width: 100%; }
.journey-celebration { background: #e8f0e2; border: 1px solid #93aa82; padding: 15px; border-radius: 14px; color: #375438; line-height: 1.7; font-size: 14px; }
.journey-goals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.journey-goal { display: flex; flex-direction: column; min-width: 0; gap: 12px; border: 1px solid #d9cbb7; border-radius: 15px; padding: 17px; background: #faf7f1; }
.journey-goal.is-done { border-color: #a3b491; background: #f1f5eb; }
.journey-goal-heading { display: flex; align-items: center; gap: 11px; }
.journey-goal-icon { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #9fac8e; border-radius: 50%; flex-shrink: 0; color: #506d43; background: #eef3e7; font-size: 19px; }
.journey-goal h4 { font-family: var(--serif); font-size: 21px; line-height: 1.4; font-weight: 500; margin: 2px 0 0; }
.journey-goal .journey-meter { margin-top: auto; }
.journey-goal-details { display: flex; flex-direction: column; gap: 3px; font-size: 12px; line-height: 1.6; margin: 0; color: #615845; }
.journey-goal-details strong { color: #44603b; font-weight: 600; }
.journey-rules { padding: 2px 0 14px; margin: 0 0 5px; }
.journey-rules summary { display: flex; align-items: center; min-height: max(var(--touch-size), var(--hud-size)); color: #35583e; font-size: 13px; line-height: 1.5; font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.journey-rules summary::before { content: '+ '; white-space: pre; text-decoration: none; }
.journey-rules[open] summary::before { content: '− '; }
.journey-rules ul { padding-left: 19px; margin: 8px 0 0; color: #675b4c; font-size: 12px; line-height: 1.8; }
.journey-rules li + li { margin-top: 6px; }
.journey-limits { margin-bottom: 0; }
.journey-reward-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.journey-reward { display: flex; flex-direction: column; min-width: 0; padding: 15px; border: 1px solid #d9cbb7; border-radius: 15px; background: #faf7f1; }
.journey-reward.is-owned { border-color: #a1b18f; background: #f1f5eb; }
.journey-reward-art { display: grid; place-items: center; height: 113px; margin-bottom: 14px; border-radius: 10px; background: radial-gradient(ellipse at 50% 80%,#ced7ba70,transparent 65%),#f0ede4; color: #708558; overflow: hidden; }
.journey-reward-art img { width: 100%; height: 100%; object-fit: contain; }
.journey-reward-art > span { font-family: Georgia,serif; font-size: 69px; line-height: 1; text-shadow: 0 3px 2px #6b5c3b16; }
.journey-reward-moldura_folhas > span { border: 3px double #9ea57a; outline: 3px solid #d9c49d; outline-offset: 3px; padding: 4px 14px; font-size: 40px; color: #71815b; }
.journey-reward-planta_aurora > span { color: #8c8563; }
.journey-reward-paleta_amanhecer { background: linear-gradient(125deg,#ecd1bc 0 33%,#e8e1bf 33% 66%,#c3d0b5 66%); color: #716143; }
.journey-reward-conjunto_jardim { background: radial-gradient(ellipse at 50% 80%,#d4dfb6,transparent 60%),#edf0e3; color: #73935b; }
.journey-reward-conjunto_aurora { background: linear-gradient(145deg,#ecd7cf,#e8dfef 55%,#cddbd2); color: #93719e; }
.journey-reward h4 { font-family: var(--serif); font-size: 21px; font-weight: 500; line-height: 1.35; margin: 0 0 8px; }
.journey-reward .journey-copy { font-size: 12px; margin-bottom: 12px; }
.journey-reward-price { display: flex; flex-direction: column; gap: 4px; margin: auto 0 12px; padding-top: 10px; font-size: 12px; line-height: 1.5; }
.journey-reward-price strong { color: #7c5932; font-weight: 600; }
.journey-reward-price span { color: #645e4c; font-size: 11px; }
.journey-reward .journey-requirement { margin: 0 0 10px; }
.journey-confirm { border-top: 1px solid #c6b69d; padding-top: 12px; }
.journey-confirm .journey-copy { color: #544b39; }
.journey-confirm .journey-text-button { justify-content: center; }
.journey-ledger { list-style: none; padding: 0; margin: 0 0 18px; }
.journey-ledger-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 0; border-bottom: 1px solid #ded5c8; }
.journey-ledger-row > div { min-width: 0; }
.journey-ledger-row strong { display: block; font-size: 13px; line-height: 1.6; font-weight: 500; color: #514a3d; overflow-wrap: anywhere; }
.journey-ledger-row time { display: block; color: #72634e; font-size: 11px; line-height: 1.6; margin-top: 2px; }
.journey-credit, .journey-debit { font-size: 15px; line-height: 1.6; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.journey-credit { color: #3e663e; }.journey-debit { color: #8b4f3d; }
.journey-empty { text-align: center; background: #f4f0e7; border-radius: 12px; color: #645b4b; padding: 24px 18px; font-size: 13px; line-height: 1.8; margin: 0 0 18px; }
.journey-guest { text-align: center; padding: 15px 12px 25px; }
.journey-guest .journey-crown-art { width: 125px; margin: 0 auto 12px; }
.journey-guest h3 { font-size: 27px; line-height: 1.35; margin: 0 0 12px; }
.journey-guest .journey-copy { max-width: 430px; margin: 0 auto 19px; }
@media (max-width: 760px) {
  .casa-dialog.journey-dialog { position: fixed; inset: auto var(--hud-edge-right) var(--hud-bottom) var(--hud-edge); width: auto; margin: 0; padding: 18px; padding-bottom: max(18px,env(safe-area-inset-bottom)); max-height: calc(100dvh - var(--hud-top) - var(--hud-bottom)); border-radius: 22px; animation: journey-arrive .18s ease-out; }
  .journey-dialog::before { content: ''; display: block; width: 34px; height: 4px; border-radius: 4px; background: #c3baa9; margin: -6px auto 14px; }
  .journey-dialog .dialog-heading { position: sticky; top: -18px; z-index: 3; background: var(--paper); padding: 10px 0 12px; margin: -2px 0 10px; box-shadow: 0 5px 6px -6px #51453f33; }
  .journey-dialog .dialog-heading h2 { font-size: 25px; }
  .journey-summary { padding: 14px 12px; gap: 12px; margin-bottom: 14px; }
  .journey-identity { gap: 7px; }
  .journey-identity .journey-crown-art { width: 48px; height: 52px; }
  .journey-identity .journey-crown-fallback { font-size: 43px; }
  .journey-overline { font-size: 9px; }
  .journey-level, .journey-balance > strong { font-size: 25px; }
  .journey-rank, .journey-balance-note { font-size: 11px; }
  .journey-balance { padding-left: 10px; max-width: 128px; }
  .journey-xp-line { flex-direction: column; gap: 1px; font-size: 11px; }
  .journey-tabs { gap: 2px; padding: 3px; margin-bottom: 16px; }
  .journey-tab { font-size: 11px; padding: 7px 3px; }
  .journey-section-heading h3 { font-size: 23px; }
  .journey-next-crown { grid-template-columns: 78px minmax(0,1fr); padding: 12px; gap: 12px; }
  .journey-next-crown .journey-crown-art { height: 90px; }
  .journey-next-crown h4 { font-size: 23px; }
  .journey-next-crown .journey-copy { font-size: 12px; }
  .journey-crown-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .journey-crown-card { padding: 13px 10px; }
  .journey-crown-card .journey-crown-art { height: 104px; }
  .journey-crown-card h4 { font-size: 21px; }
  .journey-crown-card .journey-copy, .journey-requirement { font-size: 11px; }
  .journey-goals { grid-template-columns: 1fr; gap: 10px; }
  .journey-goal { padding: 15px; }
  .journey-reward-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .journey-reward { padding: 12px; }
  .journey-reward-art { height: 96px; }
  .journey-reward h4 { font-size: 20px; }
  .journey-reward .button { padding: 9px 7px; font-size: 12px; }
  .journey-reward .journey-copy { font-size: 11px; }
}
@media (max-height: 560px) {
  .casa-dialog.journey-dialog { padding-top: 14px; max-height: calc(100dvh - var(--hud-top) - var(--hud-bottom)); }
  .journey-dialog .dialog-heading { position: sticky; top: -14px; z-index: 3; padding: 6px 0; background: var(--paper); }
  .journey-dialog .dialog-heading h2 { font-size: 23px; }
  .journey-summary { padding: 12px 16px; gap: 9px; }
  .journey-identity .journey-crown-art { height: 48px; width: 60px; }
  .journey-level,.journey-balance > strong { font-size: 25px; }
  .journey-tabs { margin-bottom: 12px; }
  .journey-crown-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .journey-crown-card .journey-crown-art { height: 100px; }
}
@media (max-width: 380px) {
  .casa-dialog.journey-dialog { padding-left: 13px; padding-right: 13px; }
  .journey-summary { padding: 12px 10px; column-gap: 8px; }
  .journey-identity .journey-crown-art { width: 37px; }
  .journey-identity { gap: 5px; }
  .journey-balance { padding-left: 8px; max-width: 119px; }
  .journey-level,.journey-balance > strong { font-size: 23px; }
  .journey-crown-card { padding: 12px 8px; }
}
@media (hover:none) {
  .journey-hud-trigger:hover { background: transparent; }
  .journey-dialog .button-primary:hover { background: var(--control); }
  .journey-dialog .button-cream:hover { background: #edf2e7; }
  .journey-tab:hover { background: transparent; }
  .journey-tab[aria-selected=true]:hover { background: #fffdf9; }
}
@keyframes journey-arrive { from { opacity: .4; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion:reduce) { .casa-dialog.journey-dialog { animation: none; } }
