:root{--theme-accent:#507058;--theme-paper:#f7edda;--theme-highlight:#dfad77}
#hud .stage-badge,.dock-heading,.management-button,#shop-tabs button.selected,.buy-button{background:var(--theme-accent)!important;color:var(--theme-paper)}
#hud .hud-revenue,.typing-station,dialog{background:var(--theme-paper)}
.progress-track i,.hud-satisfaction .progress-track i{background:var(--theme-accent)}
.typing-station{border-top-color:var(--theme-accent)}.command-token:first-of-type{background:var(--theme-highlight)}
#title-screen .theme-tour-link{display:block;margin:12px auto 0;color:#315c47;font-size:12px;font-weight:bold;text-decoration:none;text-shadow:0 1px #f5ecd8}.theme-tour-link:hover{text-decoration:underline}

/* Compact paper HUD with a clear hierarchy for the current and queued jobs. */
#hud{gap:18px;padding:12px 20px;box-shadow:0 4px 15px #4b49301c}
#hud strong{font-variant-numeric:tabular-nums}
#day-note{line-height:1.55}#day-note p{font-size:12px}
.dock-heading span{color:var(--theme-paper);opacity:.85}
.typing-station{padding:13px 18px 11px;box-shadow:0 4px 18px #4b493024}
.typing-heading{margin-bottom:8px}.typing-help{line-height:1.5}
.command-token{border-radius:7px;padding:5px 9px}.order-button small{line-height:1.4}
#typing-feedback{display:flex;justify-content:space-between;align-items:center;min-height:22px;margin:5px 4px 0;font-size:12px;color:var(--theme-accent)}
#typing-verdict{letter-spacing:1px;color:#9a622f}#order-input{font-size:22px;font-weight:650;letter-spacing:.05em}
.input-wrap{position:relative}.input-wrap:after{content:'';position:absolute;bottom:0;left:14px;height:3px;width:calc(var(--typed-progress,0%) * .9);background:var(--theme-accent);border-radius:3px;pointer-events:none}
.typing-tick #order-input{animation:key-pop 120ms ease-out}.word-complete .input-wrap{animation:word-pop 210ms ease-out}.typing-wrong .input-wrap{border-color:#b56751}.typing-wrong #order-input{color:#ab523b}
@keyframes key-pop{50%{transform:scale(1.025)}}@keyframes word-pop{40%{background:#e0ead1;box-shadow:0 0 0 3px #7c9d5833}}
#day-note{width:160px;padding:10px 12px}#day-note .eyebrow{font-size:8px}#order-dock{width:172px}.typing-station{padding:9px 15px}.typing-help{font-size:10px}#command-queue{min-height:30px}.command-token{animation:queue-in 160ms ease-out}@keyframes queue-in{from{transform:translateY(3px);opacity:.5}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.typing-tick #order-input,.word-complete .input-wrap,.command-token{animation:none!important}}
#game.playing #round-banner{top:128px;padding:7px 24px;border-radius:18px;background:#f6ecd9ef;border:1px solid #c5b795}
#game.playing #round-banner strong{font-size:17px;letter-spacing:4px;color:var(--theme-accent)}#game.playing #round-banner span{display:none}
#order-list{max-height:calc(100svh - 450px);overflow-y:auto;scrollbar-width:thin}
.order-button.urgent:not(:disabled) .seconds{font-weight:800;color:#ab4f37;animation:urgent-timer 1s ease-in-out infinite}
@keyframes urgent-timer{50%{opacity:.6}}@media(prefers-reduced-motion:reduce){.order-button.urgent .seconds{animation:none!important}}
#order-dock{top:315px}#order-list{max-height:calc(100svh - 475px)}
/* Brief local hits; the world never shakes or flashes. */
#order-input{transition:color 80ms}.typing-tick #order-input{color:#3d7654;animation:key-hit 120ms ease-out}.typing-tick .input-wrap:after{animation:progress-hit 120ms ease-out}
@keyframes key-hit{0%{transform:scale(1.04)}100%{transform:scale(1)}}@keyframes progress-hit{30%{height:5px}100%{height:3px}}
.word-complete #typing-verdict{animation:verdict-hit 280ms ease-out}.perfect-streak #typing-verdict{color:#ad7837}.combo-milestone .input-wrap{border-color:#b69851}
@keyframes verdict-hit{0%{transform:translateY(3px) scale(.85);opacity:.3}40%{transform:translateY(-1px) scale(1.10);opacity:1}100%{transform:none}}
#command-queue .command-token{animation:none;flex:0 0 36px;width:36px;height:28px;display:inline-flex;justify-content:center;align-items:center;padding:3px;border-radius:7px}#command-queue .current-command{border:1px solid #b4a174;background:var(--theme-highlight)}.queue-overflow{font-size:13px;font-weight:700;padding:4px 8px;color:var(--theme-accent)}#combo{top:auto;bottom:202px;right:calc(50% - 300px);min-width:110px;background:#f8eedbec;border-radius:16px;padding:7px 12px;pointer-events:none}#combo-number{display:inline-block;font-size:32px}#combo-bonus{max-width:230px}.typing-fever .typing-station{border-color:#b99b54}.typing-fever #typing-verdict{color:#a26929}
html[data-reduce-motion="true"] .typing-station *,html[data-reduce-motion="true"] .order-button .seconds{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.typing-tick .input-wrap:after,.word-complete #typing-verdict{animation:none!important}}
#combo,#combo strong,#combo small{color:var(--theme-accent)}#combo>span{color:#556749}#combo{border:1px solid #d3c5a3}

/* Letter-by-letter guide: the real IME input remains a normal native input. */
#typing-letters{display:flex;justify-content:center;gap:7px;min-height:0;overflow:hidden}
#typing-letters:not(:empty){padding:3px 0 8px}
.typing-letter{display:inline-grid;place-items:center;min-width:25px;height:29px;padding:0 4px;border-bottom:2px solid #b7b9a14d;font-size:20px;font-weight:700;line-height:1;color:#8c927c}
.typing-letter.done{color:var(--theme-accent);border-color:var(--theme-accent);background:#adc5a523;border-radius:5px 5px 2px 2px}
.typing-letter.partial{color:#9d6d37;border-color:#c7a369;background:#e3c98921}
.typing-letter.incorrect{color:#ae5744;border-color:#bf7760}
.typing-tick .typing-letter.done:last-of-type,.typing-tick #typing-letters{animation:letter-hit 100ms ease-out}
@keyframes letter-hit{0%,100%{transform:scale(1)}45%{transform:scale(1.04)}}
.typing-wrong .input-wrap{animation:input-nudge 100ms ease-out}
@keyframes input-nudge{25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}
#typing-verdict{display:inline-block;white-space:nowrap;font-size:11px}#typing-candidate{font-size:10px}
#command-queue .current-command{box-shadow:inset 0 -2px #9a7c4540,0 0 0 2px #d8bc7928}
@media(max-width:900px){#typing-letters:not(:empty){padding-bottom:4px}.typing-letter{height:25px;font-size:18px;min-width:22px}#typing-verdict{font-size:10px}}

html[data-reduce-motion="true"] .typing-station::before,html[data-reduce-motion="true"] .typing-station::after,html[data-reduce-motion="true"] .typing-station *::before,html[data-reduce-motion="true"] .typing-station *::after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.typing-station *,.typing-station *::before,.typing-station *::after{animation:none!important;transition:none!important}}

.typing-station.locked .typing-heading{color:var(--theme-accent)}

#game:has(#typing-letters:not(:empty)) #combo{bottom:242px}

/* Rush: detailed list stays available without covering the whole dining room. */
#order-list .order-button{min-height:38px;padding:4px 6px;gap:5px}#order-list .order-button img{width:22px;height:22px}#order-list .order-button small{font-size:8px;margin-top:1px;line-height:1.1}#order-list .order-button .order-name{font-size:10px}#order-list .order-button.warning .seconds{color:#a7823d}#order-list .order-button.vip{border-right:3px solid #c5a158}.order-more{width:100%;padding:7px;background:#e8ddbf;color:#466854;font-size:10px;border-radius:0 0 8px 8px}
.typing-station{width:580px;padding:7px 12px}.typing-heading{margin-bottom:4px}#command-queue{min-height:26px;height:26px;margin:1px 0 3px}#typing-letters:not(:empty){padding:0 0 4px}.typing-letter{height:23px;font-size:18px;min-width:23px}#typing-feedback{min-height:18px;margin-top:3px}.typing-help{margin-top:3px;font-size:9px;line-height:1.3}.crowded .typing-help{display:none}.input-wrap input{padding:6px 0}#order-input{font-size:22px}
