/* Shared visual language for all five main tabs. Narrative text remains scene-specific. */
.screen-life,.screen-work,.screen-style,.screen-story,.screen-journal{font-family:var(--sans)}
.screen-life .page-heading h1,.screen-work .page-heading h1,.screen-style .page-heading h1,.screen-story .page-heading h1,.screen-journal .page-heading h1{font:650 1.55rem/1.45 var(--sans);letter-spacing:0;color:#f8f2f4}
.screen-life .card-heading h2,.screen-work .card-heading h2,.screen-style .card-heading h2,.screen-story .card-heading h2,.screen-journal .card-heading h2{font-family:var(--sans);letter-spacing:0}
.primary-nav .nav-item{font-family:var(--sans);font-weight:600}
.rest-goal-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 12px}
.rest-goal-options .button{min-height:48px;padding:8px 2px;font-size:.9rem}
.rest-goal-options .button[data-rest-mode="full"],.rest-goal-options .button[data-rest-mode="recovery"]{grid-column:span 3}
.rest-forecast{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;padding:12px;border:1px solid #665d69;border-radius:13px;background:#28242f}
.rest-forecast>span{display:grid;gap:3px;font-size:.85rem;color:#e9dfe9;text-align:center}
.rest-forecast strong{font-size:1.15rem;color:#b8e4c9;font-variant-numeric:tabular-nums}
.work-shift__track{background:#242933}
.work-shift__legend .is-waiting:before{background:#555d69}
.customer-card-viewer__stage{touch-action:none;cursor:grab}
.customer-card-viewer__stage:has(.is-dragging){cursor:grabbing}
.customer-card-turn{transition:transform .46s cubic-bezier(.18,.72,.25,1)}
/* The customer enters over an empty, already decoded room. */
.onuma-entrance{position:relative;display:block;overflow:hidden;width:100%;height:100%}
.onuma-entrance .onuma-entrance-room{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.onuma-entrance .onuma-entrance-person{position:absolute;z-index:1;max-width:none;filter:drop-shadow(0 12px 15px #1e1019b3)}
#narrative-stage .story-layout .cinema-image.onuma-entrance img.onuma-entrance-person{inset:auto!important;left:15%!important;bottom:11%!important;width:68%!important;height:auto!important;object-fit:contain!important;animation:onuma-emerge .8s .3s both cubic-bezier(.17,.72,.28,1)!important}

.motion-paused .onuma-entrance-person{animation:none}
@media(prefers-reduced-motion:reduce){.onuma-entrance-person{animation:none!important}}
/* A fixed spotlight survives tab rerenders; the rest of the game is dimmed. */
.tutorial-overlay{position:fixed;inset:0;z-index:1000;pointer-events:auto}
.tutorial-ring{position:fixed;border:3px solid #ffe49d;border-radius:16px;box-shadow:0 0 0 200vmax #080711c9,0 0 0 6px #ffe49d50;pointer-events:none;transition:left .22s,top .22s,width .22s,height .22s}
.tutorial-card{position:fixed;z-index:1;left:16px;right:16px;bottom:max(22px,env(safe-area-inset-bottom));max-width:540px;margin:auto;padding:18px 20px;border:1px solid #e4cda4;border-radius:18px;background:#2b2430;color:#fff8ee;box-shadow:0 15px 35px #000a}
.tutorial-card--top{top:max(22px,env(safe-area-inset-top));bottom:auto}
.tutorial-card small{color:#e6cb9f}.tutorial-card h2{font:700 1.2rem/1.5 var(--sans);margin:5px 0}.tutorial-card p{line-height:1.6;margin:4px 0 15px}.tutorial-card>div{display:flex;gap:9px;justify-content:flex-end}.tutorial-card button{min-height:42px;border:1px solid #887b91;border-radius:10px;padding:7px 12px;background:#3d3343;color:#fff8ee}.tutorial-card button[data-tutorial="next"]{background:#f0c5cf;color:#291c2b;border-color:#f0c5cf;font-weight:700}
