/* Compact, single-screen story player */
body.is-playing{height:100%;overflow:hidden;overscroll-behavior:none}
body.is-playing .app-shell{width:100%;max-width:720px;height:100dvh;min-height:100svh;margin:0 auto;padding:0}
body.is-playing .site-header,body.is-playing #history,body.is-playing #site-footer{display:none!important}
#simulation:not(.hidden){position:fixed;z-index:5;inset:0;width:100%;height:100dvh;min-height:100svh;max-width:720px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 7px) 14px calc(env(safe-area-inset-bottom) + 7px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;overflow:hidden;background:var(--canvas)}
.current-panel{margin:0;padding:11px 14px 10px;border-radius:16px;box-shadow:0 4px 16px rgba(34,57,91,.05)}
.current-top{align-items:center;gap:8px}.current-top .eyebrow{font-size:9px;margin:0}.current-top h2{font-size:25px;line-height:1.1;margin:1px 0}.current-top #current-date{font-size:10px;line-height:1.25}.status-chip{min-height:25px;padding:3px 9px;font-size:10px}
.job-line{gap:2px 7px;padding:6px 0;margin:4px 0 0;font-size:10px;line-height:1.35}.job-line strong{font-size:12px;flex-basis:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-line span:not(:empty):before{content:""}.job-line span:not(:empty){padding-right:5px;border-right:1px solid var(--line)}.job-line span:last-child{border:0}
.income-line{display:flex;align-items:baseline;gap:6px;font-size:10px;color:#79879a;margin-top:1px}.income-line strong{font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}.income-line #overtime-line{margin-left:auto}.income-line b{font-size:11px;color:#49586e}
.timeline-section{min-height:0;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden}.story-heading{display:flex;align-items:center;justify-content:space-between;min-height:35px;padding:0 4px}.story-heading .eyebrow{font-size:9px;margin:0}.story-heading h2{font-size:15px;line-height:1.2;margin:0}.story-heading .count-chip{min-height:23px;font-size:10px}
.story-card{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:clamp(15px,4vh,34px) clamp(16px,5vw,28px);display:flex;flex-direction:column;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);will-change:transform,opacity;-webkit-overflow-scrolling:touch}
.story-age{margin:0 0 8px;color:var(--blue);font-size:clamp(20px,6vw,28px);font-weight:850;line-height:1.1;font-variant-numeric:tabular-nums}.story-category{margin:0 0 4px;color:#8290a3;font-size:10px;font-weight:750;letter-spacing:.04em}.story-title{margin:0 0 12px;color:#20293a;font-size:clamp(20px,5.5vw,26px);line-height:1.35;letter-spacing:-.02em}.story-body{margin:0;color:#536176;font-size:clamp(15px,4.1vw,17px);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.story-card .change-badges{margin-top:14px}.story-card .change-badge{font-size:11px;padding:5px 8px}
.story-card.story-exit{animation:story-out .21s cubic-bezier(.4,0,.2,1) both}.story-card.story-enter{animation:story-in .25s cubic-bezier(.22,.7,.25,1) both}@keyframes story-out{to{opacity:0;transform:translateY(-15px)}}@keyframes story-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.event-navigation{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:8px;padding:8px 2px 0}.event-navigation .button{min-width:0}.event-navigation .button:disabled,.playback-row .button:disabled{opacity:.42}.latest-button{font-size:11px;text-align:center;white-space:nowrap}
.sim-footer{padding:8px 10px max(5px,env(safe-area-inset-bottom));background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 18px rgba(34,57,91,.05)}
.status-gauges{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mini-gauge>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.mini-gauge span{font-size:10px;color:#78869b}.mini-gauge strong{font-size:11px;font-variant-numeric:tabular-nums}.mini-gauge .gauge{height:5px;margin-top:4px}.mini-gauge .gauge i{transition:width .45s cubic-bezier(.2,.75,.25,1)}
.progress-row{margin:8px 1px 5px;gap:7px}.progress-track{height:4px}.progress-track i{transition:width .5s cubic-bezier(.2,.75,.25,1)}.progress-row span{font-size:9px}
.playback-row{flex-wrap:nowrap;gap:6px;margin:0}.playback-row p{flex:1 1 auto;min-width:0;font-size:10px;line-height:1.2}.speed-control{gap:4px;font-size:10px;white-space:nowrap}.speed-control select{min-height:36px;font-size:11px}.playback-row .button{min-height:36px;padding:7px 10px;font-size:11px}
.ending-panel:not(.hidden){position:fixed;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,540px);max-height:84dvh;overflow:auto;margin:0;padding:20px;border-radius:20px;box-shadow:0 0 0 100vmax rgba(23,34,50,.48),0 18px 60px rgba(15,26,42,.25);-webkit-overflow-scrolling:touch}.ending-heading{display:flex;justify-content:space-between;align-items:center}.ending-heading .eyebrow{margin:0}.ending-panel h2{font-size:21px}.ending-panel .reflection{font-size:13px}.ending-panel .ending-fact{padding:8px 10px}.ending-panel .ending-fact strong{font-size:12px}.ending-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.ending-actions .button{min-height:44px;padding:9px;font-size:12px}
@media(max-height:680px){#simulation:not(.hidden){gap:5px;padding-top:calc(env(safe-area-inset-top) + 4px);padding-bottom:calc(env(safe-area-inset-bottom) + 4px)}.current-panel{padding:8px 12px 7px}.story-heading{min-height:29px}.story-card{padding-top:12px;padding-bottom:12px}.story-title{margin-bottom:8px}.story-body{font-size:14px;line-height:1.65}.event-navigation{padding-top:5px}.sim-footer{padding-top:6px}.status-gauges{gap:9px}}
@media(max-width:370px){#simulation:not(.hidden){padding-left:10px;padding-right:10px}.current-panel{padding-left:11px;padding-right:11px}.event-navigation{gap:5px}.event-navigation .button{padding-left:8px;padding-right:8px}.event-navigation .latest-button{font-size:10px}.playback-row{gap:4px}.playback-row .button{padding-left:8px;padding-right:8px}}
@media(prefers-reduced-motion:reduce){.story-card.story-exit,.story-card.story-enter{animation:none}.gauge i,.progress-track i{transition:none}}
