/* v3 · Resonance. Preserve the established palette and pixel assets. */
.dialogue-line{flex:0 0 auto;min-height:min-content}.dialogue-lines{overscroll-behavior:contain;scroll-padding-bottom:12px}
.dialogue-portrait{isolation:isolate;transition:border-color .4s ease}
.dialogue-portrait>img{transform-origin:50% 58%;transition:filter .5s,transform .6s;animation:portrait-breathe 8s ease-in-out infinite}
.dialogue-portrait[data-emotion="guarded"]{border-bottom-color:#a47b56}
.dialogue-portrait[data-emotion="guarded"]>img{filter:saturate(.67) brightness(.85)}
.dialogue-portrait[data-emotion="wavering"]>img{filter:saturate(.58) brightness(.98);transform:translateX(1px)}
.dialogue-portrait[data-emotion="resigned"]>img{filter:saturate(.5) brightness(.91);transform:translateY(2px)}
.dialogue-portrait[data-emotion="tired"]>img{filter:saturate(.65) brightness(.9)}
.dialogue-portrait[data-emotion="attentive"]>img,.dialogue-portrait[data-emotion="resolved"]>img{filter:saturate(.85) brightness(1.04)}
.dialogue-portrait[data-emotion="listening"]>img{filter:saturate(.6) brightness(.78)}
.dialogue-portrait figcaption .portrait-emotion{color:#e9c2a0;font-size:.7rem;letter-spacing:.1em;width:max-content;max-width:100%;padding:5px 9px;border:1px solid #82634a;background:#10191dd9;margin-top:6px}
.dialogue-direction{display:block;font-size:.75rem;color:#b1b8ac;line-height:1.7;font-style:italic;margin:7px 0}.dialogue-direction::before{content:'— ';color:#ad866b}
.dialogue-reading-controls .primary-button{min-height:48px}.dialogue-read-status{line-height:1.8}.heard-badge{color:#b5bbab!important}
.dialogue-reward{margin:0 0 18px;border:1px solid #887459;background:#3533234d;padding:12px}.dialogue-reward>div{display:grid;grid-template-columns:44px 1fr;gap:3px 12px;align-items:center}.dialogue-reward img{width:44px;height:44px;object-fit:contain;grid-row:1/3;image-rendering:pixelated}.dialogue-reward strong{font-size:.85rem}.dialogue-reward span{font-size:.68rem;color:var(--muted)}
.modal--dialogue .modal__footer{flex-wrap:wrap}.modal--dialogue .modal__footer .footer-note{flex:1;min-width:180px}.modal--dialogue .modal__footer .text-button{font-size:.75rem;min-height:44px;white-space:nowrap}
.sound-card{padding:20px;border:1px solid var(--line);background:#111b1c;margin-top:24px;display:grid;grid-template-columns:36px 1fr;gap:13px 12px}.sound-card>.eyebrow,.sound-card>small,.sound-card>button{grid-column:1/-1}.sound-track{font-size:.875rem;align-self:center;font-weight:500}.sound-state{font-size:.75rem;line-height:1.7;grid-column:1/-1;color:#c4cabc}.sound-card>small{font-size:.68rem;line-height:1.9;color:var(--muted)}.sound-card .secondary-button{min-height:46px;font-size:.8rem}
.audio-meter{display:flex;align-items:center;gap:3px;height:27px}.audio-meter i{display:block;width:3px;height:6px;background:var(--accent)}.audio-meter.is-playing i{animation:audio-meter 1.5s ease-in-out infinite}.audio-meter i:nth-child(2){animation-delay:-.6s}.audio-meter i:nth-child(3){animation-delay:-.9s}.audio-meter i:nth-child(4){animation-delay:-.3s}.audio-meter i:nth-child(5){animation-delay:-1.2s}
.setting-slider input{min-height:32px;cursor:pointer}.setting-slider:focus-within .setting-slider__top strong{color:#e3b895}.storage-origin-warning{border-left:2px solid #b48b60;padding:9px 12px;font-size:.75rem;line-height:1.9;background:#423a202e;margin-top:12px;color:#dcc9aa}
.hint-ladder{padding:23px;border:1px solid var(--line);margin-top:24px;background:#141e1d}.hint-ladder h3{font-family:var(--font-serif);font-size:1.25rem;margin:9px 0 18px}.hint-ladder>small{display:block;color:var(--muted);font-size:.7rem;line-height:1.8;margin-top:12px}.hint-step{padding:15px 0;border-top:1px solid var(--line)}.hint-step p{font-size:.9rem;line-height:1.9;margin:8px 0}.hint-ladder button{margin-top:8px;min-height:46px;font-size:.8rem}
@keyframes portrait-breathe{0%,100%{scale:1}50%{scale:1.012}}
@keyframes audio-meter{0%,100%{height:6px}50%{height:23px}}
[data-reduced-motion="true"] .dialogue-portrait>img,[data-reduced-motion="true"] .audio-meter i{animation:none!important;transition:none!important;scale:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.dialogue-portrait>img,.audio-meter i{animation:none!important;transition:none!important;scale:1!important;transform:none!important}}
@media(max-width:700px){.dialogue-portrait{height:auto;min-height:132px;max-height:160px}.dialogue-portrait>img{height:148px;max-height:148px;min-height:0;flex-shrink:0}.dialogue-portrait figcaption{gap:3px;padding:13px}.dialogue-portrait figcaption strong{font-size:1.3rem}.dialogue-portrait figcaption .portrait-emotion{font-size:.62rem;padding:4px 7px}.dialogue-lines{max-height:38svh;min-height:120px;margin-bottom:16px}.dialogue-layout{gap:10px}.dialogue-line{padding-top:11px;padding-bottom:11px}.sound-card{padding:16px}.hint-ladder{padding:18px}.close-button{min-width:44px;min-height:44px}.modal{max-height:calc(100dvh - 20px)}.modal__footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
@media(max-height:520px) and (min-width:600px){.modal--dialogue .dialogue-layout{display:grid;grid-template-columns:160px 1fr;gap:20px}.modal--dialogue .dialogue-portrait{height:245px;min-height:245px;max-height:245px;display:block}.modal--dialogue .dialogue-portrait>img{width:100%;height:245px;max-height:245px}.modal--dialogue .dialogue-portrait figcaption{position:absolute;bottom:8px;left:8px;padding:8px}.dialogue-lines{max-height:200px}.modal__header{padding-top:14px;padding-bottom:14px}}
