/* Painted pastel UI and WebP portraits share the existing game's visual language. */
.events-dialog{display:flex;flex-direction:column;width:min(660px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 24px));max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);padding:12px 16px;overflow:hidden;}
.events-dialog:not([open]){display:none;}
.events-dialog .dialog-head{flex:0 0 auto;gap:8px;margin:0 0 6px;}
.event-detail{min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;scroll-padding-block:8px;padding:4px 6px 6px;}
.event-encounter{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center;}
.event-character{margin:0;display:flex;flex-direction:column;align-items:center;min-width:0;}
.event-character canvas{display:block;width:auto;max-width:100%;height:178px;aspect-ratio:360/430;object-fit:contain;}
.event-character figcaption{display:grid;gap:2px;text-align:center;margin-top:3px;color:#244f4c;line-height:1.2;}
.event-character figcaption strong{font-size:13px;}.event-character figcaption span{font-size:11px;}
.event-copy{min-width:0;}
.event-copy blockquote{margin:0 0 6px;padding:8px 10px;font-size:14px;font-weight:700;line-height:1.35;isolation:isolate;position:relative;}
.event-copy blockquote::before{content:'';position:absolute;inset:0;z-index:-1;border:10px solid transparent;border-image:url('/assets/ui/pastel-v2/card.webp') 24 fill / 10px / 0 stretch;pointer-events:none;}
.events-dialog .event-copy p{font-size:13px;line-height:1.35;margin:5px 0;}
.event-character[hidden],.event-copy blockquote[hidden]{display:none!important;}
.event-encounter.without-character{display:block;}
.events-dialog .events-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0;}
.events-dialog .event-choice{min-height:62px;padding:9px 12px;scroll-margin-block:8px;}
.events-dialog .event-choice strong{font-size:13px;}.events-dialog .event-choice span{font-size:12px;line-height:1.3;}
.events-dialog .events-timeout{font-size:11px;line-height:1.35;margin:4px 0;}
.events-dialog .event-paused-note{font-size:11px;line-height:1.3;margin:3px 0;}
.events-dialog .event-outcome{font-size:13px;line-height:1.4;font-weight:700;color:#244f4c;margin:8px 0;}
.events-dialog .event-continue{width:100%;min-height:44px;}
.event-notice[data-character-id] img{width:36px;height:36px;border-radius:50%;}
.event-character.enter canvas{animation:event-cast-arrive .42s cubic-bezier(.2,.8,.2,1) both;}
.events-dialog[data-resolved=true] .event-character canvas{animation:event-cast-react .65s ease-out both;}
@keyframes event-cast-arrive{from{opacity:0;transform:translateX(28px);}to{opacity:1;transform:translateX(0);}}
@keyframes event-cast-react{0%{opacity:1;transform:translateY(0);}35%{opacity:1;transform:translateY(-3px);}75%{opacity:1;transform:translateY(0);}100%{opacity:0;transform:translateX(14px);}}
@media(max-height:440px){.event-character canvas{height:136px;}.event-encounter{grid-template-columns:126px minmax(0,1fr);gap:10px;}.events-dialog .dialog-head h2{font-size:18px;}.event-copy blockquote{font-size:13px;padding:7px 9px;}.events-dialog .event-choice{min-height:58px;padding:8px 10px;}}
@media(max-width:600px){.events-dialog{padding:10px 12px;}.event-encounter{grid-template-columns:110px minmax(0,1fr);gap:8px;}.event-character canvas{height:128px;}.events-dialog .event-choice{padding:7px 9px;}.event-character figcaption strong{font-size:12px;}}
@media(prefers-reduced-motion:reduce){.event-character.enter canvas,.events-dialog[data-resolved=true] .event-character canvas{animation:none;}}
