.cinema-tools{position:absolute;right:24px;bottom:159px;display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:min(520px,80vw);gap:7px;z-index:3}
.cinema-tools button{padding:10px 15px;background:#0d1a20e8;border:1px solid #50666d;border-radius:4px;font-size:12px;min-height:42px}
.cinema-tools button[aria-pressed=true]{border-color:#75d8e6;background:#264750}
#cinemaReadout{position:absolute;left:25px;top:159px;font-size:10px;letter-spacing:.1em;color:#b6cfd1;pointer-events:none;background:#061013a8;padding:5px 9px}
.cinema-hint{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);font-size:10px;color:#a4b6bd;white-space:nowrap;pointer-events:none}
#cinemaLoad{position:absolute;inset:0;display:grid;place-items:center;background:#061014f2;z-index:7;font-size:17px;color:#8ee7f5}
#game .vignette{box-shadow:inset 0 0 12vw 1vw #0008;background:linear-gradient(#0006,transparent 20%,transparent 85%,#0008)}
.animation-link{color:#80cdda;font-size:12px;text-decoration:none;display:inline-block;padding:10px 0}
/* Preserve stored outfit choices, but do not imply unfinished recolors are original art. */
#outfits button{display:none}#outfits:after{content:'本版使用所選角色原造型；其他服裝動畫尚未製作。';font-size:11px;color:#8fa8b2;line-height:1.7}
@media(max-height:540px){#game .status{display:grid;left:170px;bottom:12px;grid-template-columns:24px 100px 26px}.status .portrait{width:24px;height:24px}.status .bar{width:100px}.cinema-hint{display:none}.hud{padding:12px 18px}.mission{top:57px;left:18px}.infect-meter{top:99px;left:18px;width:130px}#cinemaReadout{top:128px;left:18px;max-width:250px}.cinema-tools{bottom:120px;right:19px}.cinema-tools button{padding:7px 10px;min-height:38px}.antidote{right:124px;bottom:73px}.shoot{right:25px;bottom:24px}.action{bottom:13px;right:119px}.stick{bottom:38px;left:22px;width:94px;height:94px}.stick i{left:27px;top:27px}.pause{top:12px}}
@media(orientation:portrait){.cinema-hint{bottom:225px;font-size:10px;width:90%;text-align:center;white-space:normal}.cinema-hint:before{content:'建議橫向遊玩 · ';color:#8fe1ee}.cinema-tools{bottom:155px;right:15px}#cinemaReadout{max-width:90%;top:164px}.status{bottom:18px}}
/* Entry naming remains reachable when the mobile keyboard reduces height. */
#game.is-loading>:not(#cinemaLoad){visibility:hidden;pointer-events:none}#game.is-loading #cinemaLoad{position:absolute;inset:0;z-index:100;display:grid;place-items:center;background:#05090d;color:#dbe7e5;font-size:clamp(16px,3vw,24px)}
#menu{overflow-y:auto}.entry-name{display:block;color:#dbe7e5;font-size:13px}.entry-name input{display:block;width:240px;max-width:100%;margin:8px 0;padding:11px;border:1px solid #63817e;border-radius:4px;background:#081314;color:#fff;font:inherit;touch-action:auto}.entry-name input:focus{outline:2px solid #56d8d0}#entryHint{display:block;max-width:300px;font-size:10px;color:#a1b8b4;margin:0 0 12px}#entryForm{margin:12px 0}@media(max-height:650px){#menu .menu-copy{position:relative;top:auto;transform:none;padding:22px 0;min-height:100%;}#menu .menu-copy h1{font-size:46px;margin:12px 0}#menu .rule{margin:12px 0}}
#game .infection{top:158px;left:25px;transform:none;width:230px;box-sizing:border-box;text-align:left;padding:8px 10px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;background:#101d22ed;border:1px solid #47616a;box-shadow:none;pointer-events:none}#game .infection small{font-size:14px;letter-spacing:0;color:#c8e0df}#game .infection b{font-size:23px;font-variant-numeric:tabular-nums;color:#d2f1ef}#game .infection span{grid-column:1/-1;font-size:12px;line-height:1.35;color:#a7c3c6}#game .infection.critical{background:#42161bed;border-color:#ef5868}#game .infection.critical b{color:#ff8190}#game #cinemaReadout{top:245px;max-width:260px}@media(max-height:540px){#game .infection{top:137px;left:18px;width:220px;padding:6px 8px}#game #cinemaReadout{top:219px;font-size:10px}}@media(orientation:portrait){#game .infection{top:178px;width:230px}#game #cinemaReadout{top:264px}}
