/* Event feedback stays separate from the saved game and never blocks an action. */
#action-effect{position:fixed;z-index:34;left:50%;top:50%;transform:translate(-50%,-50%);width:min(250px,65vw,42dvh);pointer-events:none}
.action-film{overflow:hidden;border-radius:18px;border:2px solid #ecc56a;background:#14343e;box-shadow:0 12px 45px #001b2a77;color:#fff8e7}
.action-frames{position:relative;aspect-ratio:1;overflow:hidden}
.action-frames img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.action-frame-two{opacity:0;animation:action-flip .4s steps(1,end) 3 forwards}
.action-film p{margin:0;padding:8px 12px;text-align:center;font-size:1rem;font-weight:800}
@keyframes action-flip{0%{opacity:0}50%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.action-frame-two{animation:none}}
#event-notice{position:fixed;z-index:35;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 24px));pointer-events:none}
.event-card{--event-color:#dfaf48;--event-bg:#143a3c;background:var(--event-bg);border:1px solid var(--event-color);border-left:5px solid var(--event-color);border-radius:16px;color:#fff8e7;box-shadow:0 12px 50px #001b2a88;pointer-events:auto;max-height:min(72dvh,620px);display:flex;flex-direction:column;overflow:hidden}
.tone-good{--event-color:#8bd9a0;--event-bg:#143a30}.tone-rare{--event-color:#ecc56a;--event-bg:#473310}.tone-warning{--event-color:#f9c164;--event-bg:#452e14}.tone-danger{--event-color:#ffa689;--event-bg:#4b211f}.tone-info{--event-color:#a0dbed;--event-bg:#14343e}
.event-copy{display:flex;gap:12px;align-items:flex-start;padding:16px 16px 10px}.event-copy>div{min-width:0}.event-icon{flex-shrink:0;font-size:1.75rem;line-height:1.3}.event-eyebrow{display:block;color:var(--event-color);font-size:.75rem;letter-spacing:.05em;margin-bottom:3px}.event-copy strong{display:block;font-size:1.08rem;line-height:1.5;overflow-wrap:anywhere}.event-copy p{margin:5px 0 0;font-size:.875rem;line-height:1.6;color:#f4ebdb;overflow-wrap:anywhere}
.event-controls{display:flex;align-items:stretch;border-top:1px solid #ffffff29;padding:0 8px;gap:8px}.event-controls button{border:0;background:transparent;color:#fff8e7;border-radius:8px;font-size:.875rem;min-height:44px;padding:9px 8px}.event-more{flex:1;text-align:left}.event-dismiss{flex-shrink:0}.event-controls button:hover{background:#ffffff12}.event-controls button:focus-visible{outline:2px solid var(--event-color);outline-offset:-3px}
.feedback-summary{display:flex;align-items:center;gap:10px;width:100%;text-align:left;margin:0 0 15px;padding:12px 14px;border-radius:12px;border:1px solid var(--event-color);background:var(--event-bg);color:#fff8e7}.feedback-summary>span:nth-child(2){flex:1;min-width:0}.feedback-summary small{display:block;color:var(--event-color);font-size:.75rem;margin-bottom:2px}.feedback-summary b{display:block;font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}.feedback-open{font-size:.875rem;white-space:nowrap}.feedback-list{display:grid;gap:9px;margin:16px 0}.feedback-item{display:flex;gap:12px;padding:13px;border-radius:12px;background:var(--event-bg);border-left:4px solid var(--event-color);color:#fff8e7}.feedback-item>div{min-width:0}.feedback-item strong{font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.feedback-item p{font-size:.875rem;line-height:1.6;margin:5px 0 0;overflow-wrap:anywhere}.feedback-log{padding-left:20px;font-size:.9rem;line-height:1.8}.feedback-log li{margin:8px 0}.result-detail{width:100%;color:#f5f6e6;border-color:#668681;margin-top:8px}
.meter-cell{position:relative;border-radius:5px}.meter-delta{position:absolute;right:0;top:-1.05rem;font-size:.875rem;font-weight:800;padding:0 3px;border-radius:4px;background:#f5f7f3;z-index:1;pointer-events:none}.meter-gain .meter-delta{color:#086648}.meter-loss .meter-delta{color:#aa3825}
@media(prefers-reduced-motion:no-preference){
 .event-card{animation:event-in .32s cubic-bezier(.22,1,.36,1) both}.event-card .event-icon{animation:event-pop .5s .1s ease-out both}
 .meter-shift{animation:meter-shift .6s ease-out both}.meter-delta{animation:delta-rise 1.6s ease-out both}.meter-gain{animation:meter-good .8s ease-out}.meter-loss{animation:meter-bad .8s ease-out}
 .start-protagonist{animation:hero-breathe 5s ease-in-out infinite}.map-protagonist.protagonist-cheer{animation:hero-cheer .65s ease-out}.map-protagonist.protagonist-worry{animation:hero-worry .5s ease-out}.phase .active{animation:phase-in .25s ease-out}
 button{transition:transform .13s ease,background-color .15s ease}button:active:not(:disabled){transform:translateY(1px) scale(.985)}
 @keyframes event-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
 @keyframes event-pop{0%{transform:scale(.8)}65%{transform:scale(1.15)}100%{transform:scale(1)}}
 @keyframes meter-shift{from{width:var(--meter-from)}}
 @keyframes delta-rise{0%{opacity:0;transform:translateY(6px)}18%,70%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-7px)}}
 @keyframes meter-good{from{background:#7eddae77}to{background:transparent}}
 @keyframes meter-bad{from{background:#f4b59066}to{background:transparent}}
 @keyframes hero-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
 @keyframes hero-cheer{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-9px) rotate(-3deg)}70%{transform:translateY(-2px) rotate(2deg)}}
 @keyframes hero-worry{0%,100%{transform:rotate(0)}35%{transform:rotate(-4deg)}70%{transform:rotate(3deg)}}
 @keyframes phase-in{from{opacity:.6;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
}
@media(prefers-reduced-motion:reduce){.meter-delta{display:none}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* All notices are expanded; the close control stays visible while the list scrolls. */
.event-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0;padding:10px 10px 10px 16px;border-bottom:1px solid #ffffff29}
.event-header>div{min-width:0}.event-header strong{display:block;font-size:1rem}.event-header small{display:block;font-size:.875rem;color:#f4ebdb}.event-header .event-eyebrow{font-size:.875rem}
.event-header .event-dismiss{display:grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px;padding:0;border:1px solid #ffffff45;border-radius:10px;background:#ffffff10;color:#fff8e7;font-size:1.65rem;line-height:1}
.event-header .event-dismiss:hover{background:#ffffff22}.event-header .event-dismiss:focus-visible{outline:2px solid var(--event-color);outline-offset:2px}
.event-list{display:grid;gap:8px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px}
.event-list .feedback-item{padding:10px;gap:9px}.event-list .feedback-item strong{font-size:.9375rem}.event-list .feedback-item p{font-size:.875rem;margin:3px 0 0}.event-list .event-icon{font-size:1.4rem}
