@font-face{font-family:Konzor;src:url('assets/konzor.ttf') format('truetype');font-display:swap;font-weight:100 900}
:root{color-scheme:dark;--ink:#172c32;--deep:#102028;--cream:#ede0be;--paper:#ddcfaa;--muted:#9dada5;--amber:#f4b84b;--rust:#973f32;--metal:#536b68;--hud-height:56px;--caption-height:78px}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--deep)}body{font:10px/1.6 Konzor,'Courier New',monospace;color:var(--cream)}button,input{font:inherit;border-radius:0}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:5px}::selection{background:var(--amber);color:var(--deep)}
.cabinet{position:fixed;inset:0;isolation:isolate;width:100%;height:100%;height:100dvh;overflow:hidden}.menu-screen,.play-screen{position:absolute;inset:0;min-width:0;min-height:0}.arrival-view{position:absolute;inset:0;background:#263e4a;overflow:hidden}.arrival-view img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:pixelated}.menu-deck{position:absolute;inset:0;pointer-events:none}
/* Smaltovaná cedule a papírová evidence: materiály z prostředí hry. */
.menu-left{pointer-events:auto;position:absolute;left:5%;top:28%;width:33%;max-width:460px;padding:28px 30px 26px;background:#233e43;border:4px solid #b7b79a;box-shadow:inset 0 0 0 3px #102c34,4px 0 #53645d,-4px 0 #53645d,0 4px #53645d,0 -4px #53645d,8px 8px #142b36}.menu-left::before{content:'';position:absolute;left:8px;top:8px;width:4px;height:4px;background:#d3c9a9;box-shadow:0 2px #172c32}.menu-left::after{content:'';position:absolute;right:8px;bottom:8px;width:4px;height:4px;background:#a49e82;box-shadow:0 2px #102028}.menu-notice{font-size:10px;letter-spacing:1px;background:var(--rust);color:var(--cream);padding:6px 8px;margin:-8px -10px 20px;border-bottom:2px solid #632c2b;text-align:center}
h1{font-size:40px;line-height:1.2;margin:0 0 14px;font-weight:400;color:var(--cream);text-shadow:2px 2px #102b32}.title-dot{color:var(--amber)}.profile-button{display:block;color:#c7c6ab;border:0;border-bottom:2px solid #60756c;background:none;font-size:10px;padding:0 0 6px;margin-bottom:17px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.profile-button:hover{color:var(--amber)}.menu-options{display:grid;gap:4px}.menu-option{border:0;display:flex;align-items:center;width:100%;text-align:left;gap:14px;background:none;color:var(--cream);font-size:20px;line-height:1.6;padding:6px 8px;min-height:40px;white-space:nowrap;text-shadow:2px 2px #102b32}.menu-arrow{visibility:hidden;color:var(--amber);width:10px;flex:0 0 10px;font-size:10px}.menu-option.selected{background:#152e36;color:var(--amber);box-shadow:inset 3px 0 var(--amber)}.menu-option.selected .menu-arrow{visibility:visible}.menu-option:focus-visible{outline:none}.menu-option:disabled{color:#718680;text-shadow:none}
.scoreboard{pointer-events:auto;position:absolute;right:3%;top:15%;width:28%;max-width:430px;min-height:330px;max-height:76%;padding:27px 24px 36px;overflow:auto;scrollbar-width:thin;color:var(--ink);background:var(--paper);border:6px solid #6f513a;box-shadow:inset 3px 3px #f1e4bd,inset -3px -3px #b6a67e,4px 0 #423c30,-4px 0 #423c30,0 4px #423c30,0 -4px #423c30,8px 8px #172d38}.scoreboard::before{content:'';position:absolute;left:calc(50% - 28px);top:-6px;width:56px;height:15px;background:#536b68;border:3px solid #293e3f;box-shadow:inset 0 3px #849185}.scoreboard::after{content:'';position:absolute;left:14px;right:14px;bottom:15px;height:3px;background:#b3a47f;box-shadow:0 6px #b3a47f;pointer-events:none}.scoreboard h2{font-size:20px;line-height:1.5;font-weight:400;margin:0 0 24px;padding:0 0 15px;border-bottom:3px solid var(--rust);color:#843d31}.score-columns,.score-list li{display:grid;grid-template-columns:24px minmax(0,1fr) 100px;gap:8px}.score-columns{font-size:10px;border-bottom:2px solid #9d9477;padding:0 0 10px}.score-columns span:last-child,.score-list li span:last-child{text-align:right}.score-list{list-style:none;margin:0;padding:0}.score-list li{font-size:20px;line-height:2;border-bottom:2px solid #b8ac8a;padding:16px 0}.score-list li:first-child{color:#873d30}.score-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-empty{color:#817b65;text-align:center;font-size:20px;margin:45px 0}
.fullscreen-button{position:absolute;right:16px;top:12px;z-index:4;background:#233e43;color:var(--cream);border:2px solid #a3ad92;box-shadow:2px 2px #102b32;padding:7px 10px;display:flex;align-items:center;gap:10px;font-size:10px}.fullscreen-button:hover{color:var(--amber)}.fullscreen-icon{width:14px;height:14px;display:block;position:relative;border:2px solid currentColor}.fullscreen-icon::before,.fullscreen-icon::after{content:'';position:absolute;background:#233e43}.fullscreen-icon::before{left:3px;right:3px;top:-3px;bottom:-3px}.fullscreen-icon::after{top:3px;bottom:3px;left:-3px;right:-3px}
/* Vlastní poměr stran zaručuje celý obraz i v nižším okně prohlížeče. */
.play-screen{background:#26383d}.scene-viewport{position:absolute;left:0;right:0;top:var(--hud-height);bottom:var(--caption-height);display:flex;align-items:center;justify-content:center;overflow:hidden;container-type:size}.game-stage{position:relative;flex:none;width:min(100cqw,177.777777cqh);height:min(100cqh,56.25cqw)}.game-stage>canvas{display:block;width:100%;height:100%;min-width:0;min-height:0;image-rendering:pixelated;outline:none}.game-hud{position:absolute;inset:0;z-index:2;pointer-events:none}#scene-label{display:none}.objective-strip{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:9px 20px;background:#182d34;color:var(--cream);border-left:4px solid #a9b49a;box-shadow:0 2px #102028;text-align:center}.objective-strip strong{display:block;font-size:20px;line-height:1.6;font-weight:400}.objective-strip strong[data-phase=rush]{color:var(--amber)}.hud-stats{position:absolute;left:18px;top:9px;display:flex;align-items:center;gap:24px;font-size:10px}.hud-stats>span{display:flex;align-items:center;gap:10px}.hud-stats b{font-size:20px;line-height:1.5;color:var(--cream);font-weight:400}.hud-stats b.urgent{color:#f4aa70}.small-button{border:2px solid #788b7c;background:#233e43;color:var(--cream);font-size:10px;padding:4px 10px;pointer-events:auto;box-shadow:2px 2px #132a32}.small-button:hover{color:var(--amber)}
.scene-card,dialog{color:var(--ink);background:var(--cream);border:4px solid #536b68;box-shadow:inset 2px 2px #fff0ca,inset -2px -2px #b0a581,4px 4px #102b32}.scene-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,88%);padding:28px;z-index:3}.scene-card h2{font-size:30px;line-height:1.4;color:var(--rust);font-weight:400;margin:0 0 18px}.scene-card>p{font-size:20px;line-height:1.6;margin:0 0 24px}.scene-card>p.key-hint{font-size:10px;line-height:2;color:#4d625b;margin:21px 0 0}.key-hint,.next-chapter{white-space:pre-line}.solid-button{display:flex;align-items:center;justify-content:space-between;width:100%;gap:15px;border:2px solid #152e36;background:#29474a;color:var(--cream);font-size:20px;text-align:left;padding:10px 14px;min-height:48px;box-shadow:inset 2px 2px #607b70,inset -2px -2px #172f37,2px 2px #aaa07f}.solid-button:hover{color:var(--amber);background:#19363e}.result-score{display:flex;justify-content:space-between;align-items:center;border-block:2px solid #b6aa86;padding:12px 0;font-size:10px;margin-bottom:18px}.result-score strong{font-size:40px;color:var(--rust);font-weight:400}.scene-card p.result-detail,.scene-card p.next-chapter{font-size:10px;line-height:2}.demo-note{display:block;font-size:10px;color:#54675e;text-align:center;margin-top:17px}
.touch-controls{display:none;position:absolute;left:15px;right:15px;bottom:15px;z-index:3;justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;gap:10px}.touch-controls button{width:50px;height:50px;border:2px solid #b8b294;background:#233e43;color:var(--cream);font-size:20px;touch-action:none;user-select:none;pointer-events:auto}.touch-controls button:active{background:var(--amber);color:var(--deep)}
dialog{padding:0;width:min(460px,90vw)}dialog::backdrop{background:#102028ac}.dialog-content{padding:28px}.dialog-content h2{font-size:20px;font-weight:400;margin:0 0 22px;line-height:1.6;color:var(--rust)}.dialog-content p{font-size:10px;line-height:2;margin-bottom:22px}.dialog-content input{display:block;width:100%;color:var(--ink);background:#d9ccaa;border:0;border-bottom:2px solid #536b68;padding:14px 10px;font-size:20px;caret-color:var(--rust)}.dialog-content input::placeholder{font-size:10px;color:#6f7c6b}.form-error{display:block;min-height:34px;color:var(--rust);font-size:10px;line-height:1.8}.text-button{display:block;margin:16px auto 0;color:#435e58;background:none;border:0;font-size:10px;padding:5px}.text-button:hover{color:var(--rust)}.toast{position:fixed;top:62px;left:50%;transform:translateX(-50%);z-index:10;max-width:min(620px,90vw);padding:12px 18px;background:var(--cream);color:var(--ink);border:2px solid #536b68;box-shadow:3px 3px #102b32;font-size:10px;line-height:2;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.speech-bubble{position:absolute;z-index:3;max-width:calc(100% - 24px);background:#f3e6c5;color:#172630;border:3px solid #172630;padding:16px 18px;box-shadow:3px 3px #0b192355;left:56%;top:14%}.speech-bubble::before{content:'';position:absolute;top:25px;width:24px;height:25px;background:#172630;clip-path:polygon(100% 0,100% 100%,75% 100%,75% 80%,50% 80%,50% 60%,0 60%,0 40%,50% 40%,50% 20%,75% 20%,75% 0)}.speech-bubble::after{content:'';position:absolute;top:29px;width:21px;height:17px;background:#f3e6c5;clip-path:polygon(100% 0,100% 100%,76% 100%,76% 75%,50% 75%,50% 60%,0 60%,0 40%,50% 40%,50% 25%,76% 25%,76% 0)}.speech-bubble[data-side=right]::before{left:-24px}.speech-bubble[data-side=right]::after{left:-18px}.speech-bubble[data-side=left]::before{right:-24px;transform:scaleX(-1)}.speech-bubble[data-side=left]::after{right:-18px;transform:scaleX(-1)}.speech-bubble p{font-size:20px;line-height:1.6;margin:0 0 13px}.speech-bubble button{display:flex;justify-content:space-between;width:100%;padding:10px 0 0;border:0;border-top:2px solid #17263044;background:none;color:#172630;font-size:10px;text-align:left}.speech-bubble button:hover{color:var(--rust)}.speech-bubble button:focus-visible{outline-color:var(--rust)}
@media(max-width:1100px){.menu-left{padding:24px;max-width:410px}.scoreboard{padding:26px 18px}.scoreboard h2{font-size:10px}.score-list li{font-size:10px}.score-columns,.score-list li{grid-template-columns:20px minmax(0,1fr) 56px;gap:6px}}
@media(max-height:800px) and (min-width:701px){.menu-left{top:27%;padding:22px 24px}.menu-left h1{font-size:30px;margin-bottom:10px}.menu-notice{margin-bottom:15px}.profile-button{margin-bottom:12px}.menu-options{gap:2px}.menu-option{padding:3px 8px;min-height:35px}.scoreboard{top:20%;min-height:300px}.scene-card{padding:20px}.scene-card h2{font-size:20px}.scene-card>p{font-size:10px}.scene-card .solid-button{font-size:10px;min-height:40px}.scene-card>p.key-hint{margin-top:15px}.result-score{padding:7px 0;margin-bottom:12px}.result-score strong{font-size:30px}.scene-card p.result-detail,.scene-card p.next-chapter{margin-bottom:12px}}
@media(max-width:700px){:root{--hud-height:50px;--caption-height:70px}.fullscreen-button{right:10px;top:10px;padding:6px}.fullscreen-button #fullscreen-label{display:none}.menu-left{left:4%;top:36%;width:50%;padding:20px 14px}.menu-left h1{font-size:30px}.menu-notice{font-size:8px;letter-spacing:0;margin-bottom:14px}.menu-option{font-size:10px;min-height:36px;gap:8px}.profile-button{font-size:10px;margin-bottom:10px}.scoreboard{right:3%;top:36%;width:37%;padding:25px 10px;min-height:300px;max-height:60%}.scoreboard h2{font-size:10px;line-height:2;margin-bottom:15px;padding-bottom:10px}.score-columns,.score-list li{grid-template-columns:14px minmax(0,1fr) 34px;gap:4px;font-size:8px}.score-list li{padding:12px 0}.objective-strip{padding:10px 12px;bottom:14px}.objective-strip strong{font-size:10px;line-height:2}.hud-stats{left:10px;top:10px;gap:12px;font-size:8px}.hud-stats>span{gap:6px}.hud-stats b{font-size:10px}.small-button{font-size:10px;padding:3px 6px}.scene-card{padding:20px}.scene-card h2{font-size:20px}.scene-card>p{font-size:10px}.solid-button{font-size:10px;padding:10px}.result-score strong{font-size:30px}.dialog-content{padding:23px}.speech-bubble{padding:12px 14px}.speech-bubble p{font-size:10px;line-height:2}}
@media(max-width:700px) and (orientation:portrait){.arrival-view img{object-fit:contain;object-position:center 5%}.menu-left{top:39%;width:50%}.scoreboard{top:39%;max-height:56%}}
@media(max-height:500px) and (orientation:landscape){:root{--hud-height:46px;--caption-height:52px}.menu-left{top:13%;padding:15px 18px}.menu-left h1{font-size:20px;margin-bottom:7px}.menu-notice{margin:0 0 8px;font-size:8px;padding:2px}.profile-button{margin-bottom:5px}.menu-option{font-size:10px;min-height:26px;padding:3px 8px}.scoreboard{top:16%;min-height:240px;padding:20px 16px}.scoreboard h2{font-size:10px;margin-bottom:12px;padding-bottom:8px}.score-list li{padding:8px 0}.scene-card{width:400px;padding:15px}.scene-card h2{margin-bottom:8px}.scene-card>p{margin-bottom:10px}.scene-card .key-hint{display:none}.solid-button{min-height:32px;padding:8px;font-size:10px}.objective-strip{bottom:8px;padding:6px 12px}.objective-strip strong{font-size:10px}.result-score{padding:4px;margin-bottom:8px}.result-score strong{font-size:20px}.demo-note{margin-top:8px}}
@media(pointer:coarse){:root{--caption-height:140px}.touch-controls{display:flex}.objective-strip{bottom:80px}.touch-controls button{width:45px;height:45px}}

/* Karta hrdiny, život a sbírka odznaků. */
:root{--hud-height:88px}
.hud-stats{top:10px;gap:28px;max-width:calc(100% - 190px)}
.hud-stats .hero-status{display:flex;align-items:center;gap:12px}
.hero-avatar{display:block;width:64px;height:64px;image-rendering:pixelated;border:3px solid #9dada5;box-shadow:3px 3px #102028}
.hero-status>div{display:grid;gap:3px}
.health-bar{width:140px;height:16px;padding:2px;background:#14252d;border:2px solid #aeb79c;box-shadow:2px 2px #102028}
#health-fill{display:block;width:100%;height:100%;background:#91ad65;box-shadow:inset 0 2px #c1ce8a}
.health-bar.low-health #health-fill{background:#c3694f;box-shadow:inset 0 2px #e6ac77}
.health-bar.taking-damage{animation:health-hit .18s steps(2) 3}
.hud-stats .hero-status b{font-size:10px;color:#c2c7aa;line-height:1.4}
.hud-stats .stat-label{display:grid;gap:2px}
.hud-stats .stat-label b{font-size:20px;color:var(--cream)}
.score-columns,.score-list li{grid-template-columns:minmax(0,1fr) 80px 90px;gap:12px}
.score-columns span:not(:first-child),.score-list li span:not(:first-child){text-align:right}
.score-columns{font-size:10px;line-height:2}
.score-list li{font-size:10px}
.achievements-dialog{width:min(820px,94vw);max-height:90dvh}
.collection-header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px;border-bottom:3px solid #a69d7d;padding-bottom:12px}
.collection-header h2{margin:0}
#collection-count{white-space:nowrap;color:#435e58;font-size:20px}
.achievement-list{display:grid;gap:20px;margin-bottom:26px}
.achievement-card{position:relative;display:grid;grid-template-columns:80px minmax(0,1fr);gap:24px;align-items:center;border:3px solid #536b68;background:#e2d5af;padding:22px;box-shadow:inset 3px 3px #f5e8be,inset -3px -3px #b3a57e,3px 3px #aaa07e;color:var(--ink)}
.achievement-icon{display:block;width:80px;height:80px;image-rendering:pixelated;background:#bcc0a2;border:3px solid #536b68;padding:5px}
.achievement-card h3{font-size:20px;line-height:1.4;font-weight:400;margin:0 0 9px;color:#843d31}
.achievement-card p{font-size:10px;line-height:2;margin:0 0 12px}
.achievement-stamp{display:inline-block;padding:2px 8px;border:2px solid #627a50;color:#405c39;font-size:10px;line-height:1.7}
.achievement-card.locked{background:#c9c1a3;box-shadow:inset 3px 3px #ded5b4,inset -3px -3px #aba282,3px 3px #aaa07e}
.achievement-card.locked .achievement-icon{filter:grayscale(1);opacity:.6}
.achievement-card.locked h3{color:#53635b}
.achievement-card.locked .achievement-stamp{color:#626958;border-color:#8c9379}
.achievement-popup{position:absolute;z-index:12;left:18px;right:auto;top:104px;width:min(470px,calc(100% - 36px));pointer-events:none;animation:badge-in .28s steps(5) both}
.achievement-popup .achievement-card{border-color:#b4a168;background:#ede0be;box-shadow:inset 3px 3px #fff0c9,inset -3px -3px #c6b88e,5px 5px #102b32;padding:18px;grid-template-columns:64px minmax(0,1fr);gap:18px}
.achievement-popup .achievement-icon{width:64px;height:64px;padding:3px}
.achievement-popup .achievement-card p{margin-bottom:10px}
.achievement-popup .achievement-stamp{color:#405c39;border-color:#627a50;background:#d7d3a1}
@keyframes badge-in{from{transform:translateX(calc(-100% - 24px))}to{transform:translateX(0)}}
@keyframes health-hit{50%{border-color:#f4b84b;transform:translateX(2px)}}
@media(max-width:1100px){.hud-stats{gap:18px}.health-bar{width:110px}.score-columns,.score-list li{grid-template-columns:minmax(0,1fr) 62px 66px;gap:6px}.score-columns{font-size:8px}}
@media(max-width:700px){:root{--hud-height:116px}.hud-stats{top:9px;left:10px;max-width:calc(100% - 55px);gap:10px 16px;flex-wrap:wrap}.hero-avatar{width:48px;height:48px}.hud-stats .hero-status{gap:8px}.health-bar{width:85px;height:13px}.hud-stats .stat-label b{font-size:10px}.hero-status>div>span{font-size:8px}.hud-stats .hero-status b{font-size:8px}.score-columns,.score-list li{grid-template-columns:minmax(0,1fr) 36px 22px;gap:4px}.score-columns span:last-child{font-size:0}.score-columns span:last-child::after{content:'★';font-size:10px}.score-columns span:nth-child(2){font-size:0}.score-columns span:nth-child(2)::after{content:'%';font-size:10px}.scoreboard{padding-inline:8px}.achievement-card{grid-template-columns:56px minmax(0,1fr);gap:14px;padding:15px}.achievement-icon{width:56px;height:56px;padding:3px}.achievement-card h3{font-size:20px}.achievement-card p{font-size:10px}.collection-header{display:block}.collection-header h2{font-size:20px;margin-bottom:8px}#collection-count{font-size:10px}.achievement-popup{top:126px;left:12px;right:auto;width:min(400px,calc(100% - 24px))}.achievement-popup .achievement-card{padding:12px;gap:12px;grid-template-columns:48px minmax(0,1fr)}.achievement-popup .achievement-icon{width:48px;height:48px}.achievement-popup .achievement-card h3{font-size:10px}.achievement-popup .achievement-card p{font-size:10px;line-height:1.6}}
@media(max-height:500px) and (orientation:landscape){:root{--hud-height:70px}.hero-avatar{width:48px;height:48px}.health-bar{height:12px}.hud-stats .hero-status b{font-size:8px}.hud-stats .stat-label b{font-size:10px}.hud-stats{top:8px;flex-wrap:nowrap}.achievement-popup{top:80px}.achievement-popup .achievement-card p{display:none}.collection-header{margin-bottom:12px}.achievement-list{gap:12px}.achievement-card{padding:12px}}
@media(prefers-reduced-motion:reduce){.achievement-popup,.health-bar.taking-damage{animation:none}}

/* Úvod zůstává nad stejným celoplošným obrazem jako menu. */
.cinematic-screen{position:absolute;inset:0;overflow:hidden;outline:none;background:#263e4a}
.cinematic-world{position:absolute;inset:0;transform-origin:50% 48%;will-change:transform}
.cinematic-world .arrival-view{pointer-events:none}
.cinematic-location{position:absolute;left:32px;top:24px;color:var(--cream);text-shadow:2px 2px #172c32,0 2px #172c32,2px 0 #172c32}
.cinematic-location p{font-size:20px;line-height:1.6;margin:0}
.cinematic-location p+p{font-size:10px;margin-top:5px}
.cinematic-skip{position:absolute;right:20px;top:64px;border:0;border-bottom:2px solid #9dada5;background:#233e43;color:var(--cream);padding:7px 12px;font-size:10px;box-shadow:2px 2px #102b32}
.cinematic-skip:hover{color:var(--amber)}
.cinematic-car{position:absolute;left:-22%;top:79%;width:clamp(140px,14vw,220px);height:auto;image-rendering:pixelated;will-change:left}
.cinematic-speech{position:absolute;right:24px;bottom:24px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;align-items:center;width:min(800px,calc(100% - 48px));min-height:114px;padding:16px 20px;background:var(--cream);border:3px solid #536b68;color:var(--ink);box-shadow:inset 3px 3px #fff0ca,inset -3px -3px #b0a581,4px 4px #102b32}
.cinematic-speech>img{width:72px;height:72px;image-rendering:pixelated;border:3px solid #536b68}
.cinematic-speech>p:not(.sr-only){font-size:20px;line-height:1.6;margin:0;min-height:64px}
.intro-controls{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);padding:18px 26px;background:var(--cream);border:3px solid #536b68;box-shadow:3px 3px #102b32;color:var(--ink);width:max-content;max-width:calc(100% - 32px)}
.control-keys{display:flex;align-items:flex-start;justify-content:center;gap:38px}
.control-keys>span{display:grid;justify-items:center;gap:10px;font-size:10px;line-height:1.6;text-align:center}
.steering-keys{display:flex;gap:6px}
.intro-controls kbd{display:inline-flex;align-items:center;justify-content:center;border:2px solid #536b68;box-shadow:inset -2px -2px #b4aa87,2px 2px #aaa07f;background:#f5e9c6;color:var(--ink);width:38px;height:38px;font:20px/1 Konzor,monospace}
.cinematic-continue{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px auto 0;padding:0;border:0;background:none;color:var(--ink);font-size:10px}
.cinematic-continue:hover{color:var(--rust)}
.cinematic-continue kbd{width:30px;height:26px;font-size:20px}
.audio-options{display:flex;gap:12px;margin-top:20px;padding-top:14px;border-top:2px solid #60756c}
.audio-toggle{position:relative;display:grid;place-items:center;width:40px;height:36px;border:2px solid #8c9d87;background:#19363e;box-shadow:2px 2px #102b32;padding:4px}
.audio-toggle img{display:block;width:24px;height:24px;image-rendering:pixelated}
.audio-toggle:hover{border-color:var(--amber)}
.audio-toggle.muted img{opacity:.5}
.audio-toggle.muted::after{content:'';position:absolute;left:7px;top:4px;width:24px;height:24px;background:#ee9271;clip-path:polygon(0 0,25% 0,25% 17%,42% 17%,42% 34%,59% 34%,59% 51%,76% 51%,76% 68%,93% 68%,93% 85%,100% 85%,100% 100%,75% 100%,75% 83%,58% 83%,58% 66%,41% 66%,41% 49%,24% 49%,24% 32%,7% 32%,7% 15%,0 15%)}
@media(max-height:800px) and (min-width:701px){.menu-left{top:20%}.audio-options{margin-top:14px;padding-top:10px}}
@media(max-width:700px){.cinematic-location{left:16px;top:18px}.cinematic-location p{font-size:10px}.cinematic-location p+p{font-size:10px}.cinematic-skip{right:10px;top:54px}.cinematic-speech{right:16px;bottom:20px;width:calc(100% - 32px);grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px;min-height:94px}.cinematic-speech>img{width:48px;height:48px}.cinematic-speech>p:not(.sr-only){font-size:10px;line-height:2;min-height:60px}.cinematic-car{width:140px}.intro-controls{bottom:20px;padding:16px}.control-keys{gap:18px}.control-keys>span{font-size:8px;max-width:90px}.intro-controls kbd{width:30px;height:32px}.cinematic-continue{margin-top:18px}.audio-options{margin-top:12px;padding-top:9px;gap:10px}.audio-toggle{width:36px;height:32px}}
@media(max-height:500px) and (orientation:landscape){.menu-left{top:6%;padding-block:12px}.menu-left h1{font-size:20px}.audio-options{margin-top:7px;padding-top:7px}.audio-toggle{height:30px;width:34px;padding:2px}.audio-toggle img{width:20px;height:20px}.cinematic-location{left:20px;top:15px}.cinematic-location p{font-size:10px}.cinematic-speech{bottom:14px;right:16px;min-height:80px;width:min(620px,70%);padding:10px 14px;grid-template-columns:48px minmax(0,1fr);gap:14px}.cinematic-speech>img{width:48px;height:48px}.cinematic-speech>p:not(.sr-only){font-size:10px;line-height:2;min-height:40px}.intro-controls{bottom:14px;padding:12px 20px}.control-keys{gap:30px}.intro-controls kbd{width:30px;height:30px}.cinematic-continue{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.cinematic-world,.cinematic-car{will-change:auto}}

/* Přízemí: tři kapsy brašny, jedna situační nápověda a bublina u mluvčího. */
.inventory-bar{position:absolute;right:22px;bottom:12px;display:flex;gap:12px;align-items:center;z-index:2}
#inventory-open{border:0;background:none;color:var(--cream);font-size:10px;padding:6px;max-width:120px;line-height:2}
#inventory-open:hover{color:var(--amber)}
.inventory-slots{display:flex;gap:8px}
.inventory-slot{position:relative;width:52px;height:50px;background:#263e40;border:3px solid #88927c;box-shadow:inset 3px 3px #142a30,inset -2px -2px #52665b,2px 2px #102028;padding:0;color:#adb69b}
.inventory-slot:hover{border-color:var(--amber)}
.inventory-slot canvas{display:block;width:48px;height:40px;image-rendering:pixelated}
.inventory-slot span{position:absolute;right:3px;bottom:0;font-size:8px}
.play-screen[data-phase=interior] .objective-strip{left:20px;transform:none;max-width:calc(100% - 350px);text-align:left;bottom:14px;padding:8px 14px}
.play-screen[data-phase=interior] .objective-strip strong{font-size:10px;line-height:2}
.interior-speech{padding:14px 18px;pointer-events:auto}
.interior-speech[role=status]{pointer-events:none}
.interior-speech>strong{display:block;font-size:10px;color:var(--rust);margin:0 0 8px;font-weight:400}
.interior-speech p{font-size:20px;line-height:1.5}
.inventory-dialog{width:min(620px,92vw);max-height:90dvh;overflow:auto;scrollbar-width:thin}
.inventory-entry{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;padding:16px 0;border-top:2px solid #b0a581}
.inventory-entry>canvas{width:64px;height:54px;image-rendering:pixelated;align-self:center;background:#b0b59c;border:2px solid #536b68}
.inventory-entry h3{font-size:20px;font-weight:400;margin:0 0 8px;color:var(--rust)}
.inventory-entry p{font-size:10px;line-height:1.8;margin:0 0 10px}
@media(max-width:900px){.play-screen[data-phase=interior]{--caption-height:130px}.play-screen[data-phase=interior] .objective-strip{left:16px;right:16px;bottom:77px;max-width:none}.inventory-bar{right:16px;bottom:10px}.interior-speech p{font-size:10px;line-height:2}}
@media(pointer:coarse){.play-screen[data-phase=interior]{--caption-height:210px}.play-screen[data-phase=interior] .objective-strip{bottom:148px;left:16px;right:16px;max-width:none}.inventory-bar{bottom:78px;right:16px}.interior-speech{padding:12px}.interior-speech p{font-size:10px;line-height:1.8}}
/* Vyhodnocení kola: příběh, postup a sbírka. */
.play-screen[data-phase=complete] .game-hud,.play-screen[data-phase=complete] .touch-controls{display:none}
.level-result{width:min(580px,92%);padding:25px 28px;text-align:center;max-height:calc(100dvh - var(--hud-height) - var(--caption-height) - 6px);overflow:auto;scrollbar-width:thin}
.level-result h2{font-size:30px;line-height:1.5;margin:0 0 18px}
.level-result .level-story{font-size:20px;line-height:1.6;margin:0 0 24px;text-align:left}
.level-result .solid-button{font-size:20px}
.completion-summary{margin:0 0 18px}
.completion-summary>span{display:block;font-size:10px;line-height:1.6;margin-bottom:10px;color:#435e58}
.completion-bar{position:relative;height:28px;border:3px solid #35474c;padding:3px;background:#8d9690;box-shadow:inset 2px 2px #667672,2px 2px #b7aa83;overflow:hidden}
#result-progress-fill{display:block;height:100%;width:0;background:#85a65d;box-shadow:inset 0 3px #c0d18e,inset 0 -3px #597b46}
.completion-bar::after{content:'';position:absolute;inset:3px;background:url('assets/progress-grid.svg') left top/24px 100% repeat-x;pointer-events:none}
.completion-summary>strong{display:block;margin-top:10px;font-size:30px;line-height:1.3;font-weight:400;color:#435e58}
.completion-achievements{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 22px}
.completion-achievements img{display:block;image-rendering:pixelated;width:48px;height:48px}
.completion-achievements strong{font-size:20px;line-height:1.5;font-weight:400;color:#843d31}
@media(max-height:800px){.level-result{padding:22px 26px}.level-result h2{font-size:20px;margin-bottom:15px}.level-result .level-story{font-size:20px;line-height:1.5;margin-bottom:20px}.completion-summary{margin-bottom:14px}.completion-summary>strong{font-size:20px}.completion-achievements{margin-bottom:18px}.completion-achievements img{width:40px;height:40px}}
@media(max-width:700px){.level-result{padding:20px}.level-result h2{font-size:20px}.level-result .level-story{font-size:10px;line-height:2}.completion-summary>strong{font-size:20px}.completion-achievements img{width:40px;height:40px}.completion-bar{height:24px}}
@media(max-height:550px) and (orientation:landscape){.level-result{padding:14px 20px;width:min(520px,92%)}.level-result h2{font-size:20px;margin-bottom:8px}.level-result .level-story{font-size:10px;line-height:1.6;margin-bottom:10px}.completion-summary{margin-bottom:8px}.completion-summary>span{margin-bottom:5px}.completion-bar{height:20px;padding:2px}.completion-bar::after{inset:2px}.completion-summary>strong{font-size:20px;margin-top:4px}.completion-achievements{gap:10px;margin-bottom:10px}.completion-achievements img{width:26px;height:26px}.completion-achievements strong{font-size:10px}.level-result .solid-button{min-height:32px;padding:6px 10px;font-size:10px}}

/* Obraz hry, kartička hrdiny a kontextové akce. Žádná stálá legenda chůze. */
.play-screen[data-phase=interior]{--hud-height:0px;--caption-height:0px}
.play-screen[data-phase=interior] .objective-strip{display:none}
.hud-stats{top:9px;left:12px;gap:12px;max-width:calc(100% - 180px);padding:7px 10px;background:#dfd0aa;border:3px solid #5f4b38;box-shadow:inset 2px 2px #f1e2bb,inset -2px -2px #b29a71,3px 3px #172c32;color:#574534}
.hud-stats .hero-status{gap:9px}.hero-avatar{width:52px;height:52px;border:2px solid #5c6655;box-shadow:2px 2px #b39c75;background:#9ca69a}
.hero-status>div>span{font-size:8px;line-height:1.5;color:#574534}
.health-bar{height:17px;width:128px;padding:2px;border:2px solid #564d3b;background:#908b72;box-shadow:none;position:relative}
#health-fill{background:#779b55;box-shadow:inset 0 2px #afc77e,inset 0 -2px #52713e}
.health-bar::after{content:'';position:absolute;inset:2px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(10% - 2px),#4f5c45 calc(10% - 2px),#4f5c45 10%);pointer-events:none}
.hud-stats .hero-status b{font-size:10px;color:#69503a}.hud-stats .stat-label{display:flex;align-items:center;gap:7px}.hud-stats .stat-label b{font-size:10px;color:#574534;white-space:nowrap}
.badges-status img{height:25px;width:25px;image-rendering:pixelated}.stairs-mark{width:22px;height:22px;background:#7b6043;clip-path:polygon(0 75%,25% 75%,25% 50%,50% 50%,50% 25%,75% 25%,75% 0,100% 0,100% 100%,0 100%)}
.hud-stats #pause-button{color:#f0dfb6;background:#4e6259;border-color:#30483f}
.cinematic-speech>.player-portrait{width:72px;height:72px;image-rendering:pixelated;border:3px solid #536b68}
.game-stage>.parking-controls{top:50%;bottom:auto;transform:translate(-50%,-50%);z-index:5;margin:0;max-height:90%;overflow:auto}
.play-screen[data-phase=controls] .touch-controls{display:none}
.inventory-bar{bottom:16px;right:18px;gap:8px;padding:6px 8px;background:#5b4532;border:3px solid #b49666;box-shadow:inset 2px 2px #8b6945,3px 3px #172c32}
#inventory-open{display:grid;place-items:center;max-width:none;width:38px;padding:3px}#inventory-open img{width:30px;height:30px;image-rendering:pixelated}
.inventory-slot{width:50px;height:45px;background:#b6aa83;border:2px solid #503d2e;box-shadow:inset 2px 2px #7a755a,inset -2px -2px #d2c39a;padding:0}
.inventory-slot.selected{border-color:#f1c877;box-shadow:inset 0 0 0 2px #8d6236}.inventory-slot canvas{width:46px;height:39px}.inventory-slot[draggable=true],.inventory-entry[draggable=true]{cursor:grab}
.inventory-entry .small-button+.small-button{margin-left:12px}.inventory-entry canvas{cursor:pointer}
.interaction-hint{position:fixed;z-index:15;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 16px);padding:8px 12px;color:#5a412f;background:#e9d9b0;border:2px solid #694d36;box-shadow:inset 2px 2px #fff0c9,3px 3px #172c32;pointer-events:none;font-size:10px;line-height:1.5}
#interaction-symbol{width:24px;height:24px;flex:none;background:url('assets/interaction-icons.svg') 0 0/144px 24px no-repeat;image-rendering:pixelated}
.interaction-hint[data-action=press] #interaction-symbol{background-position:-120px 0}
.interaction-hint[data-action=talk] #interaction-symbol{background-position:-24px 0}.interaction-hint[data-action=inspect] #interaction-symbol{background-position:-48px 0}.interaction-hint[data-action=travel] #interaction-symbol{background-position:-72px 0}.interaction-hint[data-action=use] #interaction-symbol{background-position:-96px 0}
#held-item{position:fixed;z-index:20;width:48px;height:40px;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(2px 2px #172c3280)}
.item-context{position:fixed;z-index:24;min-width:154px;padding:8px;background:#e9d9b0;border:3px solid #694d36;box-shadow:inset 2px 2px #fff0c9,3px 3px #172c32;color:#5a412f}
.game-version{position:absolute;z-index:2;left:18px;bottom:12px;font-size:10px;color:#e4d6b4;background:#233e43;padding:3px 7px;border:1px solid #6e7864;line-height:1.5;pointer-events:none}
.hero-status{position:relative}
.health-bar.hp-loss{border-color:#c53f32;box-shadow:0 0 0 2px #ef8361,inset 0 0 0 1px #783529;animation:hp-shake .6s steps(6) both}
.health-bar.hp-gain{border-color:#3e8245;box-shadow:0 0 0 2px #b0d17a,inset 0 0 0 1px #3a613b;animation:hp-restore .8s steps(5) both}
.hero-status>.health-delta{position:absolute;z-index:3;right:-8px;top:-8px;padding:3px 5px;border:2px solid #6e352c;background:#f1d0a5;color:#a92f28;font-size:14px;line-height:1.2;text-shadow:none;pointer-events:none;animation:hp-number 1.1s steps(7) both}
.hero-status>.health-delta.hp-gain{border-color:#41653c;background:#e3e4b0;color:#386b35}
@keyframes hp-shake{0%,100%{transform:translateX(0)}15%,45%,75%{transform:translateX(-4px)}30%,60%,90%{transform:translateX(4px)}}
@keyframes hp-restore{0%,40%,80%{filter:brightness(1.3)}20%,60%,100%{filter:brightness(1)}}
@keyframes hp-number{0%,15%{transform:translateY(7px);opacity:1}70%{transform:translateY(0);opacity:1}100%{transform:translateY(-7px);opacity:0}}
@media(prefers-reduced-motion:reduce){.health-bar.hp-loss,.health-bar.hp-gain,.hero-status>.health-delta{animation:none}}
.item-context>strong{display:block;font-size:10px;font-weight:400;padding:4px 8px 10px;color:#843d31}.item-context>button{display:block;width:100%;text-align:left;padding:9px 10px;border:0;background:transparent;color:#5a412f;font-size:10px;line-height:1.5}.item-context>button:hover,.item-context>button:focus-visible{background:#b4b68d;color:#253b3d;outline:2px solid #6c704e;outline-offset:-2px}
#achievement-empty{font-size:10px;line-height:2;color:#5a412f}
@media(max-width:850px){.hud-stats{gap:8px;padding:6px;max-width:calc(100% - 55px)}.hero-avatar{height:42px;width:42px}.health-bar{width:96px;height:15px}.hero-status>div>span{font-size:8px}.hud-stats .hero-status{gap:6px}.hud-stats .hero-status b{font-size:8px}.hud-stats .stat-label{gap:4px}.hud-stats .stat-label b{font-size:8px}.stairs-mark{width:15px;height:18px}.badges-status img{width:20px;height:20px}.hud-stats #pause-button{font-size:8px;padding:3px}.cinematic-speech>.player-portrait{width:48px;height:48px}.inventory-bar{bottom:12px;right:12px}.inventory-entry .small-button+.small-button{margin:10px 0 0}}
@media(max-width:500px){.hud-stats{flex-wrap:wrap;gap:5px 12px;padding:6px;width:280px}.hud-stats .hero-status{flex-basis:100%}.hud-stats #pause-button{margin-left:auto}.hud-stats .health-bar{width:156px}.inventory-slot{width:44px;height:41px}.inventory-slot canvas{width:40px;height:36px}.inventory-bar{padding:4px;gap:6px}.interaction-hint{font-size:10px;padding:5px 8px}}
@media(pointer:coarse){.play-screen[data-phase=interior]{--hud-height:0px;--caption-height:0px}.inventory-bar{bottom:77px}.play-screen[data-phase=interior] .touch-controls{bottom:12px}}
.tutorial-layer{position:fixed;inset:0;z-index:23;pointer-events:none}
.tutorial-focus{position:absolute;border:3px solid #e7bc63;box-shadow:0 0 0 3px #453b2e,inset 0 0 0 2px #fff0c9;pointer-events:none}
.tutorial-card{position:absolute;bottom:100px;width:min(460px,calc(100vw - 32px));padding:18px 20px;background:#e9d9b0;color:#4d3b2e;border:3px solid #694d36;box-shadow:inset 3px 3px #fff0c9,inset -3px -3px #b19b6e,5px 5px #172c32;pointer-events:auto;max-height:calc(100dvh - 170px);overflow:auto}
.tutorial-card[data-side=left]{left:22px}.tutorial-card[data-side=right]{right:22px}
.tutorial-label{font-size:9px;color:#866a43}.tutorial-card h2{font-size:14px;line-height:1.6;margin:10px 0}.tutorial-card p{font-size:12px;line-height:1.9;margin:0 0 16px;text-shadow:none}
.tutorial-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.tutorial-actions button{font-size:10px;line-height:1.5;padding:9px 12px;border:2px solid #4b5c46;background:#526858;color:#f0dfb6;box-shadow:inset 2px 2px #83917a;cursor:pointer}.tutorial-actions #tutorial-skip{background:transparent;box-shadow:none;border-color:#a18b61;color:#705839;font-size:8px}.tutorial-actions span{font-size:8px;color:#75633e;line-height:1.6;text-align:right}.tutorial-actions button:focus-visible{outline:3px solid #a14e31;outline-offset:3px}
@media(max-width:650px){.tutorial-card{bottom:142px;padding:12px;max-height:calc(100dvh - 260px);width:calc(100vw - 28px)}.tutorial-card[data-side=left]{left:14px}.tutorial-card[data-side=right]{right:14px}.tutorial-card h2{font-size:12px}.tutorial-card p{font-size:10px;line-height:1.8}}
