*{box-sizing:border-box;margin:0;padding:0}
:root {
  /* ── Barvy — game palette ─────────────────── */
  --game-bg:    #18181f;       /* hlavní pozadí hry */
  --panel-bg:   #272730;       /* pozadí panelů a karet */
  --danger:     #ff4444;       /* chyba, vysoké riziko */
  --warning:    #f5c518;       /* varování, karma */
  --electric:   #40bfff;       /* elektrika, potvrzeno */
  --paper:      #e8e0c8;       /* papír, servisní knížka */

  /* ── Grafické assety ─────────────────────── */
  /* asset garage-bg.webp: pozadí garáže při hře
     Pokud soubor neexistuje, použije se --game-bg gradient jako fallback */
  --garage-bg-img: url('../images/game/garage-bg.webp');
  --garage-bg-fallback: linear-gradient(180deg, #1a1a20 0%, #15151b 100%);
}body{font-family:'Courier New',monospace;background:var(--game-bg,#121218);color:#ddd;min-height:100dvh;overflow-x:clip}#shock-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(255,220,0,.18);z-index:900;pointer-events:none;opacity:0;transition:opacity .1s}#shock-overlay.active{opacity:1}body.smoky #main{filter:blur(.6px) brightness(.92)}body.beer #main{filter:saturate(.7) brightness(.88)}@keyframes shake{0%,100%{transform:translate(0)}10%{transform:translate(-9px,-2px) rotate(-.8deg)}20%{transform:translate(9px,2px) rotate(.8deg)}30%{transform:translate(-7px,-1px)}40%{transform:translate(7px,1px)}50%{transform:translate(-5px,0)}60%{transform:translate(5px,0)}70%{transform:translate(-3px,0)}80%{transform:translate(3px,0)}90%{transform:translate(-1px,0)}}.shaking{animation:shake .5s ease-out}@keyframes si{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.si{animation:si .28s ease-out}@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,100,0,.4)}70%{box-shadow:0 0 0 8px rgba(255,100,0,0)}100%{box-shadow:0 0 0 0 rgba(255,100,0,0)}}@keyframes gbad{from{box-shadow:0 0 4px rgba(100,0,100,.3)}to{box-shadow:0 0 14px rgba(180,0,180,.6)}}@keyframes angerPulse{from{box-shadow:0 0 3px rgba(255,50,0,.4)}to{box-shadow:0 0 12px rgba(255,50,0,.8)}}#hdr{background:#1a1a22;border-bottom:3px solid #f5c518;padding:9px 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;flex-wrap:wrap;gap:7px}.logo{font-size:1.05em;font-weight:bold;color:#f5c518}.logo em{color:#ff4444;font-style:normal}.logo small{font-size:.52em;color:#666;display:block;font-weight:normal}.hstats{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.hs{padding:3px 9px;border-radius:4px;font-size:.78em;border:1px solid #3a3a4a;background:#1a1a22;display:flex;align-items:center;gap:4px;white-space:nowrap}.hs.karma{color:#f5c518;border-color:#6a5a00}.hs.anger{color:#ff6400;border-color:#6a2a00}.hs.anger.high{color:#ff2200;border-color:#aa1100;animation:angerPulse 1s infinite alternate}.hs.value{color:#4caf50;border-color:#2d6a30}.hs.defects{color:#9ad7ff;border-color:#1f4f66}.hs.lights{color:#ff8844;border-color:#6a2a00}.hs.defects .compact{display:none}.turn-pill{padding:5px 10px;border:1px solid #444;background:#0d0d0d;border-radius:4px;color:#ddd;font-size:.8em;font-weight:bold;white-space:nowrap}.turn-pill.hot{border-color:#f5c518;color:#f5c518}@media(max-width:620px){.hs.defects .full{display:none}.hs.defects .compact{display:inline}.hs.lights{display:none}}.anger-bar-wrap{width:50px;height:6px;background:#222;border-radius:3px;overflow:hidden;display:inline-block;vertical-align:middle}.anger-bar-fill{height:100%;border-radius:3px;transition:width .3s,background .3s}#main{max-width:1200px;margin:0 auto;padding:12px 20px;padding-bottom:max(16px,calc(12px + env(safe-area-inset-bottom)))}.ph-title{text-align:center;margin-bottom:5px}.ph-title h2{font-size:1.05em;color:#f5c518;margin-bottom:2px}.ph-title p{color:#777;font-size:.76em}.pdots{display:flex;justify-content:center;gap:5px;margin-bottom:6px}.pd{width:9px;height:9px;border-radius:50%;background:#333;border:1px solid #444}.pd.done{background:#4caf50;border-color:#4caf50}.pd.active{background:#f5c518;border-color:#f5c518;box-shadow:0 0 8px rgba(245,197,24,.5)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px}.card{background:#1f1f26;border:2px solid #363642;border-radius:10px;padding:16px;cursor:pointer;transition:all .2s}.card:hover{border-color:#f5c518;transform:translateY(-3px);box-shadow:0 8px 20px rgba(245,197,24,.12)}.card h3{color:#f5c518;margin-bottom:2px;font-size:.95em}.card .cyear{color:#777;font-size:.72em;margin-bottom:8px}.card .cdesc{font-size:.78em;color:#999;line-height:1.5;margin-bottom:10px;border-left:3px solid #3a3a4a;padding-left:8px;font-style:italic}.card .cprice{display:flex;justify-content:space-between;align-items:flex-end}.buy-p{font-size:1.25em;font-weight:bold;color:#ff6b6b}.exp-p{font-size:.72em;color:#4caf50}.car-vis{height:96px;margin:-16px -16px 10px;border-radius:8px 8px 0 0;overflow:hidden;font-size:0;background:#0c0e12}.car-vis img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}.ic{display:inline-block;width:1.05em;height:1.05em;vertical-align:-0.16em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.probs-preview{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.pp{font-size:.68em;padding:2px 6px;background:#2a1a00;border:1px solid #553300;border-radius:3px;color:#ff9944}.btn{padding:9px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.88em;font-family:inherit;font-weight:bold;transition:all .15s;display:inline-flex;align-items:center;gap:5px}.btn-y{background:#f5c518;color:#111}.btn-y:hover{background:#ffd700}.btn-g{background:#2d7d32;color:#fff}.btn-g:hover{background:#388e3c}.btn-r{background:#b71c1c;color:#fff}.btn-r:hover{background:#d32f2f}.btn-gr{background:#222;color:#888}.btn-gr:hover{background:#2a2a2a;color:#bbb}.btn-blue{background:#0d47a1;color:#fff}.btn-blue:hover{background:#1565c0}.btn:disabled{opacity:.38;cursor:not-allowed}.garage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;align-items:start}@media(max-width:480px){.garage{grid-template-columns:1fr}}@media(min-width:481px){.garage>div:nth-child(1){order:2}}.garage>*{min-width:0}.garage-scene-column{position:relative}@media(max-width:700px){}.tabs{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap;align-items:flex-end}.tab{position:relative;padding:7px 13px;background:linear-gradient(180deg,rgba(38,38,48,.78),rgba(12,12,17,.72));border:1px solid rgba(135,135,155,.36);border-bottom-color:rgba(245,197,24,.18);border-radius:7px 7px 3px 3px;cursor:pointer;font-size:.78em;color:rgba(245,245,255,.86);text-shadow:0 1px 3px rgba(0,0,0,.85);font-family:inherit;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 3px 10px rgba(0,0,0,.22);white-space:nowrap}.tab::before{content:'';position:absolute;left:9px;right:9px;top:0;height:2px;border-radius:999px;background:rgba(245,197,24,0);transition:background .15s,box-shadow .15s}.tab:hover{background:linear-gradient(180deg,rgba(54,54,66,.86),rgba(18,18,24,.8));border-color:rgba(245,197,24,.55);color:#ffffff;text-shadow:0 0 6px rgba(245,197,24,.35),0 1px 3px rgba(0,0,0,.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 14px rgba(245,197,24,.12)}.tab:focus-visible{outline:2px solid #f5c518;outline-offset:2px}.tab.on{background:linear-gradient(180deg,rgba(34,34,22,.92),rgba(16,16,18,.88));border-color:#f5c518;border-bottom-color:rgba(245,197,24,.45);color:#ffe866;text-shadow:0 0 8px rgba(245,197,24,.55),0 1px 3px rgba(0,0,0,.95);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 18px rgba(245,197,24,.24)}.tab.on::before{background:#f5c518;box-shadow:0 0 10px rgba(245,197,24,.85)}.cview{background:#1e1e24;border:1px solid #3a3a4a;border-radius:0 6px 6px 6px;padding:10px;min-height:120px}.cv-label{color:#777;font-size:.72em;margin-bottom:7px}.wlights{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.wl{padding:4px 8px;border-radius:3px;font-size:.68em;font-weight:bold;border:1px solid;cursor:pointer;transition:all .2s}.wl.on{background:rgba(255,80,0,.2);border-color:#ff5000;color:#ff8844;animation:blink 1.2s infinite}.wl.off{background:#111;border-color:#1e1e1e;color:#2a2a2a;animation:none;cursor:default}.wl.found{background:rgba(76,175,80,.15);border-color:#4caf50;color:#66bb6a;animation:none}.sbpanel{background:#1f1f26;border:1px solid #363642;border-radius:8px;padding:8px 10px;margin-bottom:7px}.sbpanel h4{color:#f5c518;font-size:.72em;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #222;padding-bottom:4px;margin-bottom:6px}.prob-item{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid #1e1e1e;font-size:.78em}.prob-item-click{cursor:pointer;border-radius:5px;transition:background .14s}.prob-item-click:hover,.prob-item-click:focus-visible{background:rgba(245,197,24,.08);outline:none}.prob-item:last-child{border-bottom:none}.pdot{width:8px;height:8px;border-radius:50%;background:#ff6400;flex-shrink:0}.pdot.suspected{background:#ff9800}.pdot.confirmed{background:#40bfff}.pdot.fixed{background:#4caf50}.pdot.masked{background:#9c27b0}.state-tag{display:inline-block;margin-top:2px;padding:1px 5px;border-radius:3px;font-size:.86em;border:1px solid #333}.state-suspected{color:#ffb74d;border-color:#5d4000;background:#1a1200}.state-confirmed{color:#9ad7ff;border-color:#1f4f66;background:#07131a}.state-fixed{color:#81c784;border-color:#1b5e20;background:#0d2010}.state-masked{color:#ce93d8;border-color:#6a1b9a;background:#16051d}.prob-item.empty{color:#6c6c78;font-style:italic;font-size:.74em;padding:7px 0}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.tool-btn{padding:7px 6px;background:#151515;border:1px solid #2a2a2a;border-radius:5px;cursor:pointer;text-align:center;font-size:.72em;color:#999;transition:all .15s;font-family:inherit;display:flex;align-items:center;justify-content:center;min-height:28px}.tool-btn:hover{background:#1e1e1e;border-color:#444;color:#eee}.calm-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}.calm-btn{padding:4px 4px;background:#0d1520;border:1px solid #1a2a3a;border-radius:5px;cursor:pointer;text-align:center;font-size:.64em;color:#6a9acc;transition:all .15s;font-family:inherit;line-height:1.2}.under-scene{margin-top:10px}.under-scene .sbpanel{margin-bottom:8px}.calm-btn:hover{background:#122030;border-color:#2244aa;color:#aaccff}.calm-btn.disabled-beer{opacity:.4;cursor:not-allowed;border-color:#330000}.measurer{background:#000;border:2px solid #00cc44;border-radius:5px;padding:10px;font-family:'Courier New',monospace;color:#00cc44;font-size:.78em;margin-top:8px;line-height:1.7}.rep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(295px,1fr));gap:12px}.rep-grid.buyer-answers{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.rep-grid.buyer-answers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.rep-grid.buyer-answers{grid-template-columns:1fr}}.rep-card{background:#282832;border:2px solid #484854;border-radius:9px;padding:14px}.rep-card h3{color:#ff8844;margin-bottom:2px;font-size:.9em;display:flex;align-items:center;gap:5px}.rep-card .pdesc{font-size:.72em;color:#888;margin-bottom:10px;font-style:italic}.fix-list{display:flex;flex-direction:column;gap:5px}.fix-opt{padding:9px 11px;border-radius:6px;cursor:pointer;font-size:.76em;border:2px solid transparent;transition:all .15s;font-family:inherit;text-align:left;position:relative}.fix-opt .fn{font-weight:bold;margin-bottom:2px;padding-right:55px;color:#f0f0f0}.fix-opt .fd{color:rgba(255,255,255,.58);font-size:.9em;line-height:1.3}.fix-opt .fc{position:absolute;top:9px;right:9px;font-weight:bold;font-size:.82em}.fix-proper{background:#0d2010;border-color:#1b5e20}.fix-proper:hover{background:#122a18;border-color:#2d7d32}.fix-medium{background:#1a1200;border-color:#5d4000}.fix-medium:hover{background:#221800;border-color:#f57c00}.fix-bad{background:#1a0000;border-color:#6a0000}.fix-bad:hover{background:#220000;border-color:#b71c1c}.fix-terrible{background:#110011;border-color:#550055;animation:gbad 1.5s infinite alternate}.fix-terrible:hover{background:#1a001a}.fix-opt.sel{border-color:#f5c518!important;background:rgba(245,197,24,.07)!important}.fix-opt.sel::after{content:'✓ ZVOLENO';position:absolute;top:9px;right:9px;color:#f5c518;font-size:.72em;font-weight:bold}.fix-opt.sel .fc{display:none}.inz{background:#fffde7;color:#111;border-radius:9px;padding:20px;font-family:Arial,sans-serif;margin-bottom:16px;border:3px solid #f5c518;line-height:1.7}.inz .inz-title{font-size:1.2em;font-weight:bold;color:#cc0000;margin-bottom:4px}.inz .inz-meta{font-size:.78em;color:#555;margin-bottom:10px}.inz .inz-body{font-size:.85em;margin-bottom:10px}.inz .inz-price{font-size:1.5em;font-weight:bold;color:#2d7d32}.inz .inz-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.inz .inz-tag{font-size:.67em;padding:2px 7px;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:3px;color:#2e7d32}.price-slider-wrap{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:14px;margin-bottom:12px}.price-slider-wrap label{font-size:.82em;color:#999;display:block;margin-bottom:7px}.price-slider-wrap input[type=range]{width:100%;accent-color:#f5c518;cursor:pointer}.price-slider-wrap .pval{font-size:1.35em;font-weight:bold;color:#f5c518;margin-top:5px;text-align:center}.price-slider-wrap .pcomment{font-size:.74em;color:#777;text-align:center;margin-top:3px;font-style:italic}.result{text-align:center;padding:18px 16px}.result .rem{font-size:4em;margin-bottom:14px;display:block}.result h2{font-size:1.6em;color:#f5c518;margin-bottom:8px}.result .rp{font-size:2.3em;font-weight:bold;margin:10px 0}.rp.pos{color:#4caf50}.rp.neg{color:#f44336}.result .rcomment{color:#999;font-size:.85em;margin-bottom:12px;line-height:1.6;max-width:480px;margin-left:auto;margin-right:auto}.rbadge{display:inline-block;padding:5px 12px;border-radius:16px;font-size:.77em;font-weight:bold;margin-bottom:14px;border:1px solid}.rbadge.ok{background:#1b5e20;color:#a5d6a7;border-color:#2e7d32}.rbadge.warn{background:#e65100;color:#ffccbc;border-color:#bf360c}.rbadge.bad{background:#b71c1c;color:#ffcdd2;border-color:#c62828}.karma-ev{background:#1a0a00;border:2px solid #ff6400;border-radius:9px;padding:18px;margin-bottom:16px;text-align:center}.karma-ev .kev-em{font-size:3em;margin-bottom:10px;display:block}.karma-ev h3{color:#ff9944;font-size:1.1em;margin-bottom:7px}.karma-ev p{color:#cc8844;font-size:.82em;line-height:1.6}.cta-box{background:#0a1a0a;border:2px solid #2d7d32;border-radius:10px;padding:20px;text-align:center;margin-top:18px}.cta-box h3{color:#81c784;font-size:1.1em;margin-bottom:8px}.cta-box p{color:#888;font-size:.82em;margin-bottom:14px;line-height:1.6}.cta-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.modal-bg{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;z-index:800}.modal{background:var(--panel-bg,#1a1a1a);border:2px solid #f5c518;border-radius:11px;padding:26px;max-width:430px;width:90%;text-align:center;max-height:calc(100vh - 32px);overflow-y:auto;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#555 #171717}.modal::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-track{background:#171717}.modal::-webkit-scrollbar-thumb{background:#555;border-radius:999px;border:2px solid #171717}.modal.shock-modal{border-color:#ffcc00;background:#1a1500}.modal.anger-modal{border-color:#ff4400;background:#1a0800}.modal .mem{font-size:3.2em;margin-bottom:10px}.modal h2{color:#f5c518;margin-bottom:9px;font-size:1.35em}.modal.shock-modal h2{color:#ffcc00}.modal.anger-modal h2{color:#ff6600}.modal p{color:#bbb;line-height:1.6;margin-bottom:16px;font-size:.85em}.modal .mbtn-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.mbtn-row .btn{min-width:0;box-sizing:border-box;flex:1 1 180px;max-width:100%;white-space:normal;word-break:break-word}.gameover{text-align:center;padding:24px 18px;background:rgba(10,10,14,.74);border:1px solid rgba(245,197,24,.16);border-radius:14px;max-width:1080px;margin:14px auto;box-shadow:0 10px 34px rgba(0,0,0,.55)}.gameover .gem{font-size:5.5em;display:block;margin-bottom:12px}.fire-hero{position:relative;max-width:820px;margin:0 auto 8px;border-radius:10px;overflow:hidden;border:1px solid #4a3030;box-shadow:0 6px 22px rgba(0,0,0,.55)}.fire-hero img{display:block;width:100%;height:min(300px,40vh);object-fit:cover;object-position:62% center}.fire-hero .fire-hero-text{position:absolute;left:0;top:0;bottom:0;width:50%;display:flex;flex-direction:column;justify-content:center;padding:0 3.5%;text-align:left;background:linear-gradient(90deg,rgba(6,6,10,.96) 78%,rgba(6,6,10,0))}.fire-hero .fire-hero-text h1{font-size:1.32em;margin:0 0 4px;color:#ff5630;line-height:1.12}.fire-hero .fire-hero-text .gscore{font-size:1.05em;margin:0 0 6px}.fire-hero .fire-hero-text p{font-size:.8em;line-height:1.4;color:#d2d2d2;margin:0;max-width:none}@media(max-width:640px){.fire-hero img{height:min(170px,30vh)}.fire-hero .fire-hero-text{position:static;width:auto;background:rgba(6,6,10,.5);padding:9px 11px}.fire-hero .fire-hero-text h1{font-size:1.15em}}.gameover h1{font-size:2em;color:#ff4444;margin-bottom:10px}.gameover .gscore{font-size:2.8em;font-weight:bold;color:#f5c518;margin:10px 0}.gameover p{color:#777;max-width:480px;margin:0 auto 16px;line-height:1.6;font-size:.85em}.log{display:flex;flex-direction:column;gap:4px;max-height:170px;overflow-y:auto;padding-right:3px}.log::-webkit-scrollbar{width:3px}.log::-webkit-scrollbar-thumb{background:#333}.log-item{padding:4px 8px;border-radius:4px;font-size:.72em;line-height:1.4;border-left:3px solid}.li-info{background:#0a1520;border-color:#1565c0}.li-warn{background:#1a1200;border-color:#e65100}.li-bad{background:#150000;border-color:#b71c1c}.li-ok{background:#0a1a0a;border-color:#2e7d32}.score-badge{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.sb-item{padding:6px 14px;background:#111;border:1px solid #2a2a2a;border-radius:16px;font-size:.78em}.intro{max-width:640px;margin:0 auto;padding:10px 16px}.intro .logo-big{font-size:1.6em;font-weight:bold;color:#f5c518;text-align:center;margin-bottom:2px}.intro .logo-big em{color:#ff4444;font-style:normal}.intro .tagline{color:#777;font-size:.8em;text-align:center;margin-bottom:9px}.intro .desc{color:#bbb;line-height:1.4;font-size:.78em;background:#1a1a1a;border-radius:8px;padding:10px 12px;border:1px solid #2a2a2a;margin-bottom:9px}.intro .tip-list{color:#777;font-size:.74em;line-height:1.5;margin-bottom:9px;padding-left:18px}.intro .tip-list li::marker{color:#f5c518}@media(max-width:600px),(max-height:680px){.intro{padding:6px 12px}.intro .logo-big{font-size:1.3em}.intro .tagline{font-size:.68em;margin-bottom:5px}.disclaimer{font-size:.62em;line-height:1.28;padding:6px 9px;margin-bottom:5px}.intro .desc{font-size:.68em;line-height:1.3;padding:7px 10px;margin-bottom:5px}.intro .tip-list{font-size:.64em;line-height:1.32;margin-bottom:5px}.player-start-options .btn{font-size:.82em;padding:9px 10px}}.disclaimer{background:#111100;border:1px solid #3a3a00;border-radius:6px;padding:8px 10px;font-size:.68em;color:#777;text-align:center;margin-bottom:9px;line-height:1.35}.game-copy{max-width:1200px;margin:0 auto 10px;padding:0 20px;text-align:center;color:#555;font-size:.68em;line-height:1.5}.divider{border:none;border-top:1px solid #1e1e1e;margin:12px 0}.note{font-size:.72em;color:#555;font-style:italic;text-align:center;margin-top:7px}[data-tip]{position:relative;cursor:help}[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100%+5px);left:50%;transform:translateX(-50%);background:#222;border:1px solid #333;color:#ddd;padding:4px 8px;border-radius:4px;font-size:.7em;white-space:nowrap;z-index:999;pointer-events:none}.floating-help{position:absolute;right:12px;top:70px;bottom:auto;z-index:190;width:min(260px,calc(100vw - 28px));padding:11px 12px;background:linear-gradient(180deg,rgba(24,24,32,.82),rgba(8,8,12,.78));border:1px solid rgba(245,197,24,.38);border-radius:13px;box-shadow:0 12px 30px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(7px);color:#e6e6ee;font-size:.72em;line-height:1.35}.floating-help.is-hidden{display:none}.floating-help-title{display:flex;align-items:center;gap:6px;color:#f5c518;font-weight:bold;margin-bottom:6px;letter-spacing:.03em}.floating-help-steps{margin:0 0 8px 16px;color:#d8d8e0}.floating-help-steps li{margin:2px 0}.floating-help-close{width:100%;justify-content:center;padding:6px 10px;font-size:.95em}.garage-hint{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(8,8,14,.62);border:1px solid rgba(245,197,24,.24);box-shadow:0 6px 18px rgba(0,0,0,.24);color:#f1f1f5;text-shadow:0 1px 2px #000}@media(max-width:900px),(max-height:720px){.floating-help{right:10px;top:62px;bottom:auto;width:min(230px,calc(100vw - 20px));font-size:.66em;padding:9px 10px}.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:5px;margin-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tab{flex:0 0 auto;padding:7px 11px;font-size:.72em;white-space:nowrap}.garage-hint{padding:4px 8px;font-size:.95em}}@media(max-height:520px) and (orientation:landscape){.floating-help{position:absolute;right:10px;top:54px;bottom:auto;width:min(220px,42vw);font-size:.62em}.floating-help-steps{margin-bottom:6px}.floating-help-close{padding:5px 8px}}.stats-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding:10px 12px;background:#141414;border:1px solid #222;border-radius:7px}.sb-stat{font-size:.75em;display:flex;align-items:center;gap:5px}.mini-bar{width:45px;height:5px;background:#1e1e1e;border-radius:3px;overflow:hidden;display:inline-block}.mini-fill{height:100%;border-radius:3px;transition:width .3s}#portrait-block{display:none}@media (orientation:portrait) and (max-width:850px){body:not(.allow-portrait) #hdr,body:not(.allow-portrait) #main,body:not(.allow-portrait) #modal-container{display:none}body:not(.allow-portrait) #portrait-block{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0f0f0f;z-index:1000;padding:24px;text-align:center}#portrait-block .portrait-card{max-width:330px;background:#1a1a1a;border:2px solid #f5c518;border-radius:8px;padding:22px}#portrait-block p{color:#ddd;font-size:1em;line-height:1.55;margin-bottom:16px}}@media(max-width:900px),(max-height:720px){
#hdr{align-items:flex-start;padding:7px 10px;gap:6px}
.logo{font-size:.88em;line-height:1.15;max-width:calc(100% - 126px)}
.logo small{font-size:.48em;line-height:1.2}
.turn-pill{font-size:.74em;padding:5px 8px;margin-left:auto}
.hstats{display:flex;flex-wrap:wrap;gap:4px;width:100%}
.hs{min-width:0;flex:1 1 calc(50% - 4px);font-size:.7em;padding:4px 7px;overflow:hidden;text-overflow:ellipsis}
.hs.defects .full{display:none}
.hs.defects .compact{display:inline}
.hs.lights{display:none}
.anger-bar-wrap{width:32px}
#main{padding:12px 10px;padding-bottom:max(40px,calc(18px + env(safe-area-inset-bottom)))}
.ph-title{margin-bottom:6px}
.ph-title h2{font-size:1.05em;margin-bottom:2px}
.ph-title p{color:rgba(255,255,255,.72);font-size:.78em;line-height:1.35;max-width:720px;margin:0 auto 3px}
.note{color:rgba(255,255,255,.66);line-height:1.35}
.pdots{margin-bottom:4px}
.garage{gap:12px}
.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:5px;margin-bottom:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.tab{flex:0 0 auto;padding:6px 10px;font-size:.72em;white-space:nowrap}
.cview{border-radius:6px;padding:12px;min-height:260px}
.sbpanel{padding:10px;margin-bottom:8px}
.tools-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.tool-btn{font-size:.68em;padding:6px 3px}
.calm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.calm-btn{font-size:.66em;padding:6px 3px}
}
@media(max-width:560px){
#hdr{display:grid;grid-template-columns:1fr auto;align-items:start}
.logo{max-width:none}
.turn-pill{grid-column:2;grid-row:1}
.hstats{grid-column:1/-1}
.cards,.rep-grid{grid-template-columns:1fr}
.tools-grid{grid-template-columns:repeat(5,1fr)}
}
@media(orientation:portrait) and (max-width:600px){
#main{padding-left:18px;padding-right:18px}
.rep-grid,.cards{grid-template-columns:1fr}
}
@media(orientation:landscape) and (max-height:500px){
#hdr{padding:4px 12px;gap:4px}
.logo{font-size:.82em}
.logo small{display:none}
.turn-pill{font-size:.78em;padding:3px 8px}
.hstats{flex-wrap:nowrap}
.hs{font-size:.62em;padding:3px 5px}
.anger-bar-wrap{width:22px}
.cview{min-height:200px}
.scene-bg-dashboard,.scene-bg-engine,.scene-bg-interior,.scene-bg-exterior,.scene-bg-underbody{min-height:180px}
}
@media(min-width:901px){
#hdr{flex-wrap:nowrap;align-items:center;padding:6px 16px}
.hstats{flex:1;min-width:0;display:flex;flex-wrap:nowrap;gap:5px;align-items:center;width:auto}
.hs{min-width:auto;width:auto;font-size:.75em;padding:4px 9px}
.hs.value{grid-column:unset}
.hs.defects .full{display:inline}
.hs.defects .compact{display:none}
.hs.lights{display:flex}
.anger-bar-wrap{width:32px}
}
/* ── Vilda overlay ───────────────────────────── */
#vilda-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:900;place-items:center;padding:12px;box-sizing:border-box}
#vilda-overlay.active{display:grid}
.vilda-phone{background:#0d0d0d;border:2px solid #2a2a2a;border-radius:20px;width:min(540px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;box-shadow:0 0 50px rgba(0,0,0,.9);animation:vildaIn .22s ease-out}
@keyframes vildaIn{from{transform:scale(.88) translateY(16px);opacity:0}to{transform:none;opacity:1}}
.vilda-phone::-webkit-scrollbar{width:6px}.vilda-phone::-webkit-scrollbar-track{background:#0d0d0d}.vilda-phone::-webkit-scrollbar-thumb{background:#444;border-radius:999px;border:1px solid #0d0d0d}.vilda-topbar{background:#141414;padding:10px 16px;border-bottom:1px solid #222;display:flex;align-items:center;gap:10px;min-width:0}
.vilda-avatar{width:38px;height:38px;border-radius:50%;background:#1e2a1e;border:2px solid #3a5a3a;display:flex;align-items:center;justify-content:center;font-size:1.4em;flex-shrink:0}
.vilda-avatar-img{width:82px;height:82px;object-fit:contain;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.18);box-shadow:0 0 18px rgba(0,180,255,.18)}
.vilda-chat-avatar-img{width:52px;height:52px;object-fit:contain;border-radius:999px}
@media(max-width:700px){.vilda-avatar-img{width:62px;height:62px}.vilda-chat-avatar-img{width:44px;height:44px}}
.vilda-id{flex:1;min-width:0;overflow:hidden}
.vilda-name{font-weight:bold;font-size:.9em;color:#e8e8e8;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vilda-sub{font-size:.65em;color:#777;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vilda-online{font-size:.72em;color:#4caf50;flex-shrink:0;white-space:nowrap}
.vilda-chat{padding:14px 14px 8px;box-sizing:border-box}
.vilda-bubble-out{background:#1a3520;border:1px solid #2a5530;border-radius:14px 14px 3px 14px;padding:8px 12px;font-size:.8em;color:#a8d5b0;margin-bottom:10px;max-width:100%;box-sizing:border-box;margin-left:auto;text-align:right;line-height:1.4;overflow-wrap:anywhere;word-break:normal}
.vilda-bubble-in{background:#161616;border:1px solid #2a2a2a;border-radius:3px 14px 14px 14px;padding:10px 12px;font-size:.82em;color:#ddd;max-width:100%;box-sizing:border-box;line-height:1.5;margin-bottom:6px;overflow-wrap:anywhere;word-break:normal}
.vilda-effect-line{font-size:.7em;color:#999;border-top:1px solid #1e1e1e;margin-top:8px;padding-top:7px;font-style:italic}
.vilda-footer{padding:10px 12px;border-top:1px solid #1a1a1a;box-sizing:border-box}
.vilda-footer .btn{width:100%;margin:0;box-sizing:border-box;white-space:normal;text-align:center}
@media (max-width:700px),(max-height:430px){
.vilda-phone{border-radius:14px}
.vilda-topbar{padding:8px 12px;gap:8px}
.vilda-avatar{width:32px;height:32px;font-size:1.1em}.vilda-avatar .vilda-avatar-img{width:34px;height:34px}
.vilda-name{font-size:.82em}
.vilda-sub{display:none}
.vilda-online{font-size:.68em}
.vilda-chat{padding:10px 12px 6px}
.vilda-bubble-out,.vilda-bubble-in{padding:7px 10px;font-size:.76em}
.vilda-footer{padding:8px 10px}
.vilda-footer .btn{padding:10px 12px;font-size:.85em}
}
/* ── Car tags ──────────────────────────────────── */
.car-tags{display:flex;flex-wrap:wrap;gap:4px;margin:5px 0 8px}
.ctag{font-size:.6em;padding:2px 7px;border-radius:3px;font-weight:bold;letter-spacing:.3px;text-transform:uppercase}
.ctag-red{background:#200000;color:#ff6b6b;border:1px solid #5a0000}
.ctag-orange{background:#1a0f00;color:#ff9944;border:1px solid #6a3500}
.ctag-yellow{background:#191400;color:#f5c518;border:1px solid #6a5a00}
.ctag-gray{background:#161616;color:#777;border:1px solid #2a2a2a}
/* ── Anger flash ───────────────────────────────── */
#anger-flash{position:fixed;inset:0;background:#cc1100;pointer-events:none;z-index:849;opacity:0}
@keyframes angerFlash{0%{opacity:0}15%{opacity:.5}100%{opacity:0}}
#anger-flash.pop{animation:angerFlash .7s ease-out forwards}
@keyframes angShake{0%,100%{transform:none}15%{transform:translateX(-9px) rotate(-.8deg)}30%{transform:translateX(8px) rotate(.6deg)}45%{transform:translateX(-6px)}60%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
#main.ang-shake{animation:angShake .55s ease-out}
/* ── Result card hierarchy ─────────────────────── */
.res-karma-card{background:#191920;border-radius:10px;padding:13px 18px;margin:12px 0 8px;display:flex;align-items:center;gap:14px}
.res-karma-pct{font-size:2.4em;font-weight:bold;line-height:1}
.res-karma-label{font-size:.63em;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.res-karma-hint{font-size:.78em}
.res-secondary{display:flex;gap:8px;margin-bottom:6px}
.res-sec-card{flex:1;padding:7px 10px;background:#191920;border-radius:7px}
.res-sec-label{font-size:.63em;color:#888;margin-bottom:2px}
.res-sec-val{font-weight:bold;font-size:.95em}
.rp{text-align:right;font-size:1.1em;font-weight:bold;padding:4px 0 8px;border-top:1px solid #1e1e1e;margin-top:4px}
.result-phase{padding:8px 4px 4px;text-align:left}
.result-summary{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(150px,.55fr) minmax(330px,1.3fr);gap:8px;align-items:stretch;margin-bottom:8px}
.result-identity,.result-profit,.result-metrics{background:#191920;border:1px solid #30303a;border-radius:9px;padding:10px 12px;min-width:0}
.result-identity{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}
.result-identity .rem{font-size:2.45em;line-height:1;margin:0;grid-row:1 / span 2}
.result-identity h2{font-size:1.15em;line-height:1.15;margin:0 0 5px}
.result-identity .rbadge{margin:0;padding:3px 9px;font-size:.68em}
.result-profit{display:flex;flex-direction:column;justify-content:center;text-align:center}
.result-profit small{color:#777;font-size:.65em;text-transform:uppercase}
.result-profit .rp{border:0;margin:2px 0 0;padding:0;text-align:center;font-size:1.65em}
.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.result-metric{border:1px solid #2c2c34;border-radius:6px;padding:6px;text-align:center;display:flex;flex-direction:column;justify-content:center;min-width:0}
.result-metric span{color:#777;font-size:.58em;margin-bottom:3px}
.result-metric strong{font-size:.78em;overflow-wrap:anywhere}
.result-quip{color:#d8d8e0;font-size:.7em;font-style:italic;text-align:center;margin:-1px auto 6px;text-shadow:0 1px 3px #000;width:fit-content;max-width:92%;background:rgba(10,10,14,.52);border-radius:7px;padding:3px 12px}
.result-comment{color:#e8e8ee;font-size:.74em;text-align:center;margin:0 auto 7px;text-shadow:0 1px 3px #000;width:fit-content;max-width:92%;background:rgba(10,10,14,.52);border-radius:7px;padding:3px 12px}
.result-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}
.result-event{background:#1a0a00;border:1px solid #a43d00;border-radius:8px;padding:9px 12px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;min-height:94px}
.result-event .kev-em{font-size:2.05em;line-height:1;grid-row:1 / span 2}
.result-event h3{color:#ff9944;font-size:.87em;margin:0 0 3px}
.result-event p{color:#cc8844;font-size:.69em;line-height:1.35;margin:0}@media(orientation:portrait) and (max-width:600px){.result-summary{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.result-identity{grid-column:1/-1;padding:8px}.result-identity h2{font-size:1em}.result-profit{padding:6px}.result-profit .rp{font-size:1.4em}.result-metrics{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px}.result-metric{padding:4px}.result-metric span{font-size:.5em}.result-metric strong{font-size:.66em}.result-events{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.result-event{min-height:0;padding:6px 8px}.result-event .kev-em{font-size:1.4em}.result-event h3{font-size:.74em}.result-event p{font-size:.62em;line-height:1.25}.result-comment,.result-quip{font-size:.66em;margin:0 0 5px}}
.result-footer{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:8px;align-items:stretch}
.result-actions{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;background:#17171d;border:1px solid #2a2a32;border-radius:8px;padding:8px}
.result-actions .btn{padding:8px 11px;font-size:.76em}
.cta-box.cta-compact{margin:0;padding:8px 10px;display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;text-align:left}
.cta-box.cta-compact h3{font-size:.75em;margin:0;line-height:1.25}
.cta-box.cta-compact p{display:none}
.cta-box.cta-compact .cta-buttons{grid-column:2;grid-row:1;flex-wrap:nowrap}
.cta-box.cta-compact .btn{padding:7px 9px;font-size:.68em;white-space:nowrap}
@media(max-width:900px),(max-height:700px){
 .result-summary{grid-template-columns:1fr .55fr}.result-metrics{grid-column:1 / -1;padding:6px}
 .result-event{min-height:78px;padding:7px 9px}.result-event .kev-em{font-size:1.65em}
 .result-footer{grid-template-columns:1fr}.cta-box.cta-compact{grid-template-columns:1fr auto}
}
@media(max-width:650px){
 .result-summary,.result-events{grid-template-columns:1fr}.result-metrics{grid-column:auto}
 .result-footer{grid-template-columns:1fr}.cta-box.cta-compact{display:block;text-align:center}.cta-box.cta-compact .cta-buttons{margin-top:6px;flex-wrap:wrap}
}

/* ══════════════════════════════════════════════════════════════
   GRAFICKÁ VRSTVA — CSS třídy pro vizuální assety
   Mechaniky, layout ani texty se těmito třídami nemění.
   Grafik doplní background-image / SVG do označených TODO míst.
   ══════════════════════════════════════════════════════════════ */

/* Hlavní herní plocha — pozadí garáže
   Asset: assets/images/game/garage-bg.webp
   Fallback: gradient přes --garage-bg-fallback */
.garage-visual {
  background-image: var(--garage-bg-img, var(--garage-bg-fallback));
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  /* Pokud asset neexistuje, background-image selže tiše a fallback se použije */
}

/* Vrstva scény — absolutní overlay pro ilustrace zón
   Přidá se nad .garage-visual jako sibling nebo pseudo-element */
.scene-layer {
  position: relative;
  /* TODO: potomci s position:absolute umístí hotspoty a ikonky */
}

/* Scény dle aktivní záložky
   TODO: každá třída dostane vlastní background-image dle zóny */
.scene-dashboard {
  /* asset: assets/images/game/scene-dashboard.webp — tmavý cockpit */
}
.scene-engine {
  /* asset: assets/images/game/scene-engine.webp — motorový prostor */
}
.scene-wiring {
  /* asset: assets/images/game/scene-wiring.webp — změť kabelů */
}

/* Burza aut — vizuální karta
   TODO: ::before s siluetou auta dle car.id nebo generický gradient */
.market-visual-card {
  /* Rozšiřuje .card — lze přidat background nebo border-image */
}

/* Diagnostické nástroje — vizuální ikona
   TODO: background-image: url('../images/game/tool-[id].svg') */
.tool-visual-icon {
  /* Rozšiřuje .tool-btn nebo .tool-icon */
}

.tool-btn.selected{border-color:#f5c518;color:#f5c518;background:#28230d;box-shadow:0 0 0 2px rgba(245,197,24,.12)}
.tools-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.tool-btn.tool-secret{font-size:1.35em;padding:3px}
.scene-view-wrap{position:relative}
.garage-scene-column .cview{padding:1px;border:1px solid #343440;background:#1e1e24}
.scene-repair-btn{position:absolute;top:12px;left:12px;z-index:9;padding:7px 13px;border:1px solid #706000;border-radius:6px;background:rgba(8,8,10,.78);color:#f5c518;font:800 .72em 'Courier New',monospace;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.45);transition:transform .15s,background .15s,box-shadow .15s,border-color .15s}
.scene-repair-btn:hover{border-color:#f5c518;background:rgba(35,30,5,.9);transform:scale(1.03)}.scene-repair-btn.is-ready{padding:9px 17px;border:2px solid #ffe34d;background:#f5c518;color:#111;font-size:.78em;box-shadow:0 4px 14px rgba(0,0,0,.55),0 0 14px rgba(245,197,24,.28)}.scene-repair-btn.is-ready:hover{background:#ffe55c;box-shadow:0 5px 18px rgba(0,0,0,.6),0 0 20px rgba(245,197,24,.5)}.scene-repair-btn:disabled{opacity:.28;cursor:not-allowed;background:rgba(8,8,10,.78);border-color:#706000;color:#888;box-shadow:none;transform:none}
.value-scale{background:#15151b;border:1px solid #343440;border-radius:7px;padding:8px 10px;margin:8px 0}.value-scale-head{display:flex;justify-content:space-between;gap:8px;font-size:.68em;color:#777}.value-scale-current{text-align:center;color:#f5c518;font-size:.76em;font-weight:bold;margin:3px 0}.value-scale-track{height:8px;background:linear-gradient(90deg,#8b1b1b,#d18b16 48%,#2d7d32);border-radius:999px;position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.value-scale-marker{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:#f5c518;border:2px solid #111;transform:translate(-50%,-50%);box-shadow:0 0 8px rgba(245,197,24,.65)}.value-scale-note{font-size:.62em;color:#666;text-align:center;margin-top:5px}
.repair-phase .ph-title{margin:2px 0}.repair-phase .ph-title h2{font-size:.98em;margin-bottom:0}.repair-phase .ph-title p{font-size:.68em;line-height:1.2}.repair-phase .pdots{margin-bottom:2px;transform:scale(.88)}
.repair-phase .value-scale{padding:5px 9px;margin:4px 0 5px}.repair-phase .value-scale-head{font-size:.58em;line-height:1.15}.repair-phase .value-scale-current{font-size:.68em;margin:0 0 2px}.repair-phase .value-scale-track{height:6px}.repair-phase .value-scale-marker{width:12px;height:12px}.repair-phase .value-scale-note{display:none}
.repair-warning-compact{padding:6px 12px!important;margin:5px 0!important;display:flex;align-items:center;justify-content:center;gap:14px;min-height:0}.repair-warning-compact h3{font-size:.78em!important;margin:0!important}.repair-warning-compact p{font-size:.66em!important;margin:0!important}
.repair-phase .stats-bar{padding:6px 10px;margin:5px 0 7px;min-height:0;align-items:center}.repair-phase .divider{margin:8px 0}.repair-top-actions{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:.7em;color:#777}.repair-ad-cta{display:flex;justify-content:center;margin:12px 0 4px}.repair-top-actions .btn{padding:6px 11px;font-size:.86em}
.repair-deck{display:flex!important;grid-template-columns:none!important;align-items:stretch;gap:0;overflow-x:auto;overflow-y:hidden;padding:7px 18px 10px 3px;scrollbar-width:thin;scrollbar-color:#555 #171717}
.repair-stack-card{flex:0 0 132px;min-width:0;margin-left:-16px;padding:0!important;overflow:hidden;position:relative;z-index:1;transition:flex-basis .22s ease,transform .22s ease,box-shadow .22s ease;box-shadow:0 8px 18px rgba(0,0,0,.28)}.repair-stack-card:first-child{margin-left:0}.repair-stack-card.expanded,.repair-stack-card:hover,.repair-stack-card:focus-within{flex-basis:min(500px,calc(100vw - 190px));z-index:12;transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.55)}.repair-stack-card:only-child{flex-basis:min(750px,100%)!important;z-index:12;transform:none!important}.repair-deck:has(.repair-stack-card:hover) .repair-stack-card.expanded:not(:hover):not(:focus-within):not(:only-child){flex-basis:132px;z-index:1;transform:none}
.repair-card-head{width:100%;min-height:70px;padding:9px 10px;background:#202029;border:0;border-bottom:1px solid #444;color:#ff8844;font-family:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;gap:5px}.repair-card-head strong{font-size:.76em;line-height:1.25}.repair-card-head small{font-size:.58em;color:#aaa}.repair-card-head::after{content:'›';position:absolute;right:7px;top:26px;color:#777;font-size:1.4em}.repair-stack-card.expanded .repair-card-head::after,.repair-stack-card:hover .repair-card-head::after,.repair-stack-card:focus-within .repair-card-head::after{content:'⌄';color:#f5c518}
.repair-card-body{min-width:440px;max-height:none;overflow:visible;overscroll-behavior:auto;padding:10px 12px 12px;opacity:0;visibility:hidden;transition:opacity .12s ease}.repair-stack-card.expanded .repair-card-body,.repair-stack-card:hover .repair-card-body,.repair-stack-card:focus-within .repair-card-body{opacity:1;visibility:visible;transition-delay:.08s}.repair-deck:has(.repair-stack-card:hover) .repair-stack-card.expanded:not(:hover):not(:focus-within) .repair-card-body{opacity:0;visibility:hidden;transition-delay:0s}
@media(max-width:700px){.repair-stack-card{flex-basis:108px;margin-left:-12px}.repair-stack-card.expanded,.repair-stack-card:hover,.repair-stack-card:focus-within{flex-basis:min(88vw,460px)}.repair-deck:has(.repair-stack-card:hover) .repair-stack-card.expanded:not(:hover):not(:focus-within):not(:only-child){flex-basis:108px}.repair-stack-card:only-child{flex-basis:min(92vw,520px)!important}@media(orientation:portrait) and (max-width:900px){.repair-deck{flex-direction:column;overflow:visible;padding:2px 0;gap:8px}.repair-stack-card,.repair-stack-card:only-child,.repair-stack-card.expanded{flex:none!important;flex-basis:auto!important;width:auto;margin-left:0!important;transform:none!important;overflow:visible;box-shadow:0 4px 12px rgba(0,0,0,.3)}.repair-stack-card .repair-card-body{display:none}.repair-stack-card.expanded .repair-card-body,.repair-stack-card:only-child .repair-card-body{display:block;opacity:1;visibility:visible;min-width:0;max-height:none;overflow:visible;overscroll-behavior:auto}}.repair-card-body{min-width:min(420px,82vw)}.repair-card-head{min-height:64px;padding:7px 8px}.repair-warning-compact{justify-content:flex-start;gap:7px}}
.adprep-phase .ph-title,.ad-phase .ph-title{margin:2px 0}.adprep-phase .ph-title h2,.ad-phase .ph-title h2{font-size:.98em;margin-bottom:0}.adprep-phase .ph-title p,.ad-phase .ph-title p{font-size:.68em;line-height:1.2}.adprep-phase .pdots,.ad-phase .pdots{margin-bottom:2px;transform:scale(.88)}
.adprep-phase .value-scale,.ad-phase .value-scale{padding:5px 9px;margin:4px 0}.adprep-phase .value-scale-head,.ad-phase .value-scale-head{font-size:.58em;line-height:1.15}.adprep-phase .value-scale-current,.ad-phase .value-scale-current{font-size:.68em;margin:0 0 2px}.adprep-phase .value-scale-track,.ad-phase .value-scale-track{height:6px}.adprep-phase .value-scale-marker,.ad-phase .value-scale-marker{width:12px;height:12px}.adprep-phase .value-scale-note,.ad-phase .value-scale-note{display:none}
.phase-action-row{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:4px 0 7px}.phase-action-row .score-badge{margin:0}.phase-action-row .btn{padding:7px 11px;font-size:.74em}
.adprep-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important}.adprep-grid .rep-card{padding:9px;min-width:0}.adprep-grid .rep-card h3{font-size:.75em;line-height:1.2;margin-bottom:4px}.adprep-grid .rep-card .pdesc{font-size:.65em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em;margin-bottom:7px}.adprep-grid .btn{padding:7px 5px;font-size:.7em}
.ad-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:10px;align-items:start}.ad-phase .score-badge{margin:4px 0 7px}.ad-phase .sbpanel{padding:8px 10px;margin-bottom:7px}.ad-phase .inz{margin:0;padding:14px;border-width:2px}.ad-phase .inz .inz-title{font-size:1.02em}.ad-phase .inz .inz-body{font-size:.76em;margin-bottom:7px}.ad-phase .inz .inz-price{font-size:1.25em}.ad-phase .price-slider-wrap{padding:10px;margin:0 0 7px}.ad-phase .price-slider-wrap .pval{font-size:1.15em}.ad-warning-compact{padding:9px!important;margin:0 0 7px!important}.ad-warning-compact .kev-em{font-size:1.6em!important;margin:0!important}.ad-warning-compact h3{font-size:.82em!important;margin:2px 0!important}.ad-warning-compact p{font-size:.68em!important;margin:0!important}.ad-actions{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.ad-actions .btn{padding:8px 11px;font-size:.74em}
@media(max-width:1350px){.adprep-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ad-layout{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.adprep-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ad-layout{grid-template-columns:1fr}.phase-action-row{justify-content:flex-start}}
@media(max-width:560px){.tool-lbl{display:block;font-size:.58em;line-height:1;margin-top:2px;color:inherit}.tool-btn{font-size:1.1em;padding:5px 3px;flex-direction:column;gap:1px}.tools-grid{grid-template-columns:repeat(5,1fr)}.scene-repair-btn{top:8px;left:8px;padding:7px 11px;font-size:.7em}}
.tool-instruction{font-size:.66em;color:#777;line-height:1.45;margin-top:6px}
.scene-tool-output{position:absolute;left:4px;right:4px;top:calc(var(--matched-scene-height,290px) - 44px);bottom:auto;z-index:8;margin:0;min-height:0;pointer-events:auto}
.scene-tool-output:empty{display:none}
.scene-tool-output .measurer{margin-top:0;max-height:42px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#406080 #050505;background:rgba(0,0,0,.72);backdrop-filter:blur(2px);padding:5px 8px;line-height:1.4}
.scene-view-wrap.view-palubovka .scene-tool-output{top:72px;bottom:auto;left:18%;right:18%}
.scene-tool-output .measurer::-webkit-scrollbar{width:6px}.scene-tool-output .measurer::-webkit-scrollbar-track{background:#050505}.scene-tool-output .measurer::-webkit-scrollbar-thumb{background:#406080;border-radius:5px}
.zone-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:6px;margin:7px 0}
.diagnostic-target.fault-target{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 6px;align-items:center;text-align:left;padding:8px;background:rgba(18,18,22,.88);border:1px solid #654400;border-radius:6px;color:#ffb74d;font-family:inherit;cursor:pointer;min-height:52px;transition:border-color .15s,box-shadow .15s,transform .15s}
.diagnostic-target.fault-target:hover,.diagnostic-target.fault-target:focus-visible{border-color:#f5c518;box-shadow:0 0 12px rgba(245,197,24,.24);transform:translateY(-1px)}
.diagnostic-target.fault-target>span{grid-row:1/3;font-size:1.35em}.diagnostic-target.fault-target strong{font-size:.75em}.diagnostic-target.fault-target small{font-size:.64em;color:#777}
.diagnostic-target.state-confirmed{border-color:#1f6f8f;color:#9ad7ff}.diagnostic-target.state-fixed{border-color:#2d7d32;color:#81c784}.zone-empty{font-size:.7em;color:#555;font-style:italic;padding:8px}
/* Zachované stub třídy z předchozí vrstvy */
.garage-scene   { position: relative; }
.fault-hotspot  { /* TODO: absolutní pozice, hover záře */ }
.vilda-avatar   { /* viz .vilda-avatar výše — emoji fallback */ }
.result-visual-card { /* TODO: ilustrace dle r.cls */ }
.car-market-card    { /* TODO: silueta vozu */ }
.tool-dock      { /* TODO: lišta nástrojů */ }
.tool-icon      { /* TODO: SVG ikona nástroje */ }

/* ══════════════════════════════════════════════════════════════
   KONEC GRAFICKÉ VRSTVY
   ══════════════════════════════════════════════════════════════ */

@keyframes shockBurst{
  0%{opacity:0;filter:brightness(.7)}
  10%{opacity:1;filter:brightness(1.55)}
  26%{opacity:.3;filter:brightness(.9)}
  42%{opacity:.92;filter:brightness(1.3)}
  100%{opacity:0;filter:brightness(.8)}
}
#shock-overlay{
  inset:0;
  background:radial-gradient(circle at 52% 50%,rgba(120,220,255,.28),transparent 58%);
  transition:none;
  will-change:opacity,filter
}
#shock-overlay.active{opacity:0;animation:shockBurst .55s ease-out forwards}
.spark-burst{position:fixed;left:50%;top:50%;width:min(520px,76vw);aspect-ratio:16/9;transform:translate(-50%,-50%) scale(.82);background-image:url('../animations/spark-overlay.webp');background-repeat:no-repeat;background-position:center;background-size:contain;pointer-events:none;z-index:9998;opacity:0;mix-blend-mode:screen;filter:drop-shadow(0 0 18px rgba(80,190,255,.75)) drop-shadow(0 0 42px rgba(0,120,255,.35));animation:sparkBurst .78s ease-out forwards}
@keyframes sparkBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.65) rotate(-2deg)}12%{opacity:1}48%{opacity:.92;transform:translate(-50%,-50%) scale(1.02) rotate(1deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.18) rotate(0deg)}}
@media(max-width:700px){.spark-burst{width:min(430px,88vw)}}
@media(prefers-reduced-motion:reduce){.spark-burst{animation:none;opacity:.55}}

/* ═══ Disturbance Animations ════════════════════════════════════
   Atmosférické intro-animace zvířat při otevření scény.
   Vypnout vše: DISTURBANCES_ENABLED = true v JS.
   ════════════════════════════════════════════════════════════════ */
#disturbance-overlay{
  display:none;position:fixed;
  top:52px;left:0;right:0;bottom:0;
  z-index:500;pointer-events:none;overflow:hidden
}
#disturbance-overlay.active{display:block}
.dist-sprite{position:absolute;will-change:transform,opacity}
.dist-flash{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 65%,rgba(0,0,0,.22) 0%,transparent 70%);
  animation:distFlash .45s ease-out forwards
}
@keyframes distFlash{0%{opacity:0}25%{opacity:1}100%{opacity:0}}
@keyframes distRunLeft{
  0%  {transform:translateX(0) scaleX(1);opacity:1}
  100%{transform:translateX(-150%) scaleX(1);opacity:0}
}
@keyframes distRunRight{
  0%  {transform:translateX(0) scaleX(-1);opacity:1}
  100%{transform:translateX(150%) scaleX(-1);opacity:0}
}
@keyframes distJumpOut{
  0%  {transform:translate(0,0) scale(1);opacity:1}
  55% {transform:translate(25%,-55%) scale(.75);opacity:1}
  100%{transform:translate(55%,-15%) scale(.35);opacity:0}
}
@keyframes distMartenCross{
  0%  {transform:translate(0,4vh) scaleX(-1) scale(.82) rotate(-6deg);opacity:0}
  8%  {opacity:1}
  30% {transform:translate(-34vw,-2vh) scaleX(-1) scale(.76) rotate(-10deg);opacity:1}
  62% {transform:translate(-76vw,8vh) scaleX(-1) scale(.64) rotate(-15deg);opacity:1}
  88% {opacity:1}
  100%{transform:translate(-118vw,1vh) scaleX(-1) scale(.48) rotate(-20deg);opacity:0}
}
@keyframes distDropDown{
  0%  {transform:translateY(-90%);opacity:0}
  18% {transform:translateY(0);opacity:1}
  75% {transform:translateY(0);opacity:1}
  100%{transform:translateY(70%);opacity:0}
}
@keyframes distRetreatUp{
  0%  {transform:translateY(0);opacity:1}
  100%{transform:translateY(-130%);opacity:0}
}
@keyframes distFlutter{
  0%  {transform:translate(0,0) rotate(0deg);opacity:1}
  22% {transform:translate(14%,-22%) rotate(14deg)}
  48% {transform:translate(-9%,-44%) rotate(-10deg)}
  72% {transform:translate(18%,-60%) rotate(18deg)}
  100%{transform:translate(0,-85%) rotate(0deg);opacity:0}
}
@keyframes distPeek{
  0%  {transform:translateY(65%);opacity:0}
  28% {transform:translateY(0);opacity:1}
  72% {transform:translateY(0);opacity:1}
  100%{transform:translateY(65%);opacity:0}
}
.disturbance-run-left  {animation:distRunLeft   var(--dist-dur,1.2s) ease-in     forwards}
.disturbance-run-right {animation:distRunRight  var(--dist-dur,1.2s) ease-in     forwards}
.disturbance-jump-out  {animation:distJumpOut   var(--dist-dur,1.0s) ease-out    forwards}
.disturbance-marten-cross{min-width:130px;max-width:300px;animation:distMartenCross var(--dist-dur,2.4s) ease-in-out forwards}
.disturbance-drop-down {animation:distDropDown  var(--dist-dur,1.4s) ease-in-out forwards}
.disturbance-retreat-up{animation:distRetreatUp var(--dist-dur,0.9s) ease-in     forwards}
.disturbance-flutter   {animation:distFlutter   var(--dist-dur,1.6s) ease-in-out forwards}
.disturbance-peek      {animation:distPeek      var(--dist-dur,1.8s) ease-in-out forwards}
.disturbance-across-r{animation:distAcrossR var(--dist-dur,1.5s) linear forwards}@keyframes distAcrossR{0%{left:-14%;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:110%;opacity:0}}.disturbance-across-l{animation:distAcrossL var(--dist-dur,1.5s) linear forwards}@keyframes distAcrossL{0%{left:90%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:-12%;opacity:0}}
@media(prefers-reduced-motion:reduce){#disturbance-overlay{display:none!important}}

/* ═══ Scene Backgrounds ══════════════════════════════════════════
   Vizuální pozadí garážových scén.
   Fallback: background-color:#050508 kdykoli asset chybí.
   ════════════════════════════════════════════════════════════════ */
.scene-bg-dashboard,
.scene-bg-engine,
.scene-bg-interior,
.scene-bg-exterior,
.scene-bg-underbody,
.scene-bg-garage {
  background-color: #050508;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  min-height: 150px;
}
.scene-bg-dashboard {
  background-image:url("../dashboard-scene-clean.webp");
}
.scene-bg-engine {
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.05) 50%,rgba(0,0,0,.18) 100%),
    linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.18) 100%),
    url('../engine-scene.webp');
}
.scene-bg-interior {
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.08) 50%,rgba(0,0,0,.20) 100%),
    linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.22) 100%),
    url('../under-dashboard-scene.webp');
}
.scene-bg-exterior {
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.04) 50%,rgba(0,0,0,.16) 100%),
    linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.16) 100%),
    url('../headlight-wiring-scene.webp');
}
.scene-bg-underbody {
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.04) 50%,rgba(0,0,0,.18) 100%),
    linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.18) 100%),
    url('../starter-underside-wiring-scene.webp');
}
.scene-bg-garage {
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.10) 55%,rgba(0,0,0,.30) 100%),
    linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.30) 100%),
    url('../garage-hub-scene.webp');
  border-radius: 8px;
}
.scene-card{background:rgba(0,0,0,.28);padding:6px 9px;border-radius:5px;color:#ccc;border:1px solid rgba(255,255,255,.12)}
.scene-bg-interior .scene-card{color:#ddd;border-color:rgba(255,255,255,.18)}
/* === VISUAL HOTSPOTS (motor / exteriér / podvozek / interiér) === */
.visual-scene{position:relative;height:var(--matched-scene-height,290px);min-height:0!important;overflow:hidden;border-radius:7px 7px 0 0;padding:0!important;transition:height .18s ease}
.visual-scene::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28));pointer-events:none}
.scene-hotspot{position:absolute;left:var(--x);top:var(--y);z-index:5;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;border:2px solid #f5c518;background:rgba(8,8,12,.88);color:#ffd54f;display:flex;align-items:center;justify-content:center;font-size:1.28em;cursor:pointer;box-shadow:0 0 0 5px rgba(245,197,24,.09),0 0 14px rgba(245,197,24,.35);transition:transform .16s,border-color .16s,box-shadow .16s}
.scene-hotspot:hover:not(:disabled),.scene-hotspot:focus-visible{transform:translate(-50%,-50%) scale(1.12);outline:none;box-shadow:0 0 0 7px rgba(245,197,24,.12),0 0 20px rgba(245,197,24,.65)}
.scene-hotspot .hotspot-label{position:absolute;top:43px;left:50%;transform:translateX(-50%);min-width:145px;max-width:210px;padding:5px 8px;border-radius:5px;background:rgba(9,9,13,.92);border:1px solid currentColor;color:inherit;font-size:.52em;line-height:1.25;text-align:center;white-space:normal;pointer-events:none;text-shadow:0 1px 2px #000}
.scene-hotspot.edge-right .hotspot-label{left:auto;right:-12px;transform:none}.scene-hotspot.edge-left .hotspot-label{left:-12px;transform:none}.scene-hotspot.label-up .hotspot-label{top:auto;bottom:43px}
.scene-hotspot.hotspot-unknown{border-color:#806900;color:#d8b52d;opacity:.86}.scene-hotspot.hotspot-suspected{border-color:#ff9800;color:#ffb74d}.scene-hotspot.hotspot-confirmed{border-color:#40bfff;color:#9ad7ff;box-shadow:0 0 0 5px rgba(64,191,255,.1),0 0 16px rgba(64,191,255,.45)}.scene-hotspot.hotspot-fixed{border-color:#4caf50;color:#81c784;box-shadow:0 0 12px rgba(76,175,80,.35)}.scene-hotspot.hotspot-masked{border-color:#ff3030;color:#ff7777;animation:sceneMaskedFlicker 1.1s steps(1,end) infinite}.scene-hotspot:disabled{cursor:default}
.scene-hotspot.scene-obd-port{left:18%;top:38%;border-color:#40bfff;color:#9ad7ff;opacity:1;box-shadow:0 0 0 5px rgba(64,191,255,.1),0 0 18px rgba(64,191,255,.48)}.scene-hotspot.scene-obd-port .hotspot-label{border-color:#40bfff;color:#9ad7ff;top:auto;bottom:46px}.scene-hotspot.scene-obd-port.obd-armed{animation:obdPortPulse 1.1s ease-in-out infinite}@keyframes obdPortPulse{0%,100%{box-shadow:0 0 0 5px rgba(64,191,255,.1),0 0 12px rgba(64,191,255,.35)}50%{box-shadow:0 0 0 9px rgba(64,191,255,.18),0 0 26px rgba(64,191,255,.75)}}
.scene-hotspot.live-spark::after{content:"✦";position:absolute;left:62%;top:-14px;color:#d8f4ff;font-size:1.05em;text-shadow:-8px 9px 0 #59bfff,8px 13px 0 #fff06a,0 0 8px #46aaff;opacity:0;animation:liveSceneSpark 2.7s steps(1,end) infinite;pointer-events:none}
.scene-hotspot:nth-of-type(2).live-spark::after{animation-delay:.85s}.scene-hotspot:nth-of-type(3).live-spark::after{animation-delay:1.55s}
@keyframes liveSceneSpark{0%,12%,17%,22%,100%{opacity:0;transform:scale(.5) rotate(0)}13%,18%{opacity:1;transform:scale(1.25) rotate(28deg)}19%,21%{opacity:.55;transform:scale(.8) rotate(-18deg)}}
@keyframes sceneMaskedFlicker{0%,44%,48%,82%,100%{opacity:1}45%,47%,83%,88%{opacity:.35}}
.scene-lead{position:absolute;left:var(--x);top:var(--y);z-index:4;transform:translate(-50%,-50%);padding:4px 7px;border:1px dashed #8b6b21;border-radius:12px;background:rgba(18,14,4,.82);color:#c6a656;font:600 .58em 'Courier New',monospace;cursor:pointer;max-width:170px}.scene-lead:hover{border-color:#f5c518;color:#ffe27a}.scene-lead.cleared{border-color:#2d7d32;color:#81c784;background:rgba(7,28,10,.84);cursor:default}
.scene-state-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding:4px 5px;background:#14141a;border-radius:0 0 7px 7px;border-top:1px solid #292933}.scene-state-chip{font-size:.62em;padding:2px 7px;border-radius:12px;border:1px solid #444;background:#111;color:#999}.scene-state-chip.suspected{border-color:#8a6200;color:#ffb74d}.scene-state-chip.confirmed{border-color:#1f6f8f;color:#9ad7ff}.scene-state-chip.fixed{border-color:#2d7d32;color:#81c784}.scene-state-chip.masked{border-color:#8b1b1b;color:#ff7777}
.scene-state-button{font-family:inherit;cursor:pointer;transition:transform .14s,box-shadow .14s}.scene-state-button:hover:not(:disabled),.scene-state-button:focus-visible{transform:translateY(-1px);box-shadow:0 0 9px currentColor;outline:none}.scene-state-button:disabled{cursor:default}
.scene-view-wrap>.scene-bg-dashboard{height:var(--matched-scene-height,150px);min-height:0!important;transition:height .18s ease}.garage-problems-card{height:158px;box-sizing:border-box;display:flex;flex-direction:column}.garage-problem-scroll{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin;scrollbar-color:#555 #171717}.garage-problem-scroll::-webkit-scrollbar{width:6px}.garage-problem-scroll::-webkit-scrollbar-thumb{background:#555;border-radius:5px}.garage-scene-column .under-scene{margin-top:3px}.tool-panel-compact{padding:5px 7px!important;margin-bottom:0!important}.tool-panel-compact h4{font-size:.61em!important;line-height:1.25;text-transform:none!important;letter-spacing:0!important;margin-bottom:3px!important;padding-bottom:3px!important;color:#aaa!important}.tool-panel-compact h4 strong{color:#f5c518}.tool-panel-compact .tool-btn{min-height:25px;padding-top:3px;padding-bottom:3px}
@media(max-width:700px){.visual-scene{height:var(--matched-scene-height,235px)}.scene-hotspot{width:34px;height:34px;font-size:1.12em}.scene-hotspot .hotspot-label{top:39px;min-width:115px;max-width:155px;font-size:.48em}.scene-lead{font-size:.52em;max-width:130px}.scene-tool-output{left:3px;right:3px;bottom:32px}.scene-tool-output .measurer{max-height:40px;font-size:.68em}}
@media(prefers-reduced-motion:reduce){.scene-hotspot.live-spark::after,.scene-hotspot.hotspot-masked{animation:none}.scene-hotspot.live-spark::after{display:none}}
/* === WARNING ICON LAYER (dashboard kontrolky) === */
.scene-bg-dashboard{position:relative;overflow:hidden}
.warning-icon-layer{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}
.warning-icon{position:absolute;width:46px;height:46px;opacity:0;transform:translate(-50%,-50%) scale(.96);transition:opacity .18s ease,transform .18s ease}
.warning-icon.is-active{opacity:1;transform:translate(-50%,-50%) scale(1)}
.warning-icon.is-flicker{animation:warningFlicker .9s ease-in-out infinite}
.warning-icon.is-red{filter:brightness(0) saturate(100%) invert(36%) sepia(93%) saturate(2861%) hue-rotate(342deg) brightness(103%) contrast(103%) drop-shadow(0 0 5px rgba(255,74,61,.9))}
.warning-icon.is-yellow{filter:brightness(0) saturate(100%) invert(86%) sepia(94%) saturate(1214%) hue-rotate(329deg) brightness(107%) contrast(102%) drop-shadow(0 0 5px rgba(255,216,90,.9))}
.warning-icon.is-orange{filter:brightness(0) saturate(100%) invert(63%) sepia(83%) saturate(2475%) hue-rotate(343deg) brightness(104%) contrast(104%) drop-shadow(0 0 5px rgba(255,159,45,.9))}
.warning-icon.is-blue{filter:brightness(0) saturate(100%) invert(69%) sepia(84%) saturate(1968%) hue-rotate(165deg) brightness(103%) contrast(101%) drop-shadow(0 0 5px rgba(69,199,255,.9))}
.warning-icon.is-ok{opacity:.3;transform:scale(.94);filter:brightness(0) saturate(0) invert(58%) drop-shadow(0 0 2px rgba(190,200,210,.25))}
.warning-icon.is-suspect{opacity:1;transform:scale(1)}
.warning-icon.is-revealed{animation:warningRevealedPulse 1.25s ease-in-out infinite}
.warning-icon.is-fixed{opacity:.72;transform:scale(.98);filter:brightness(0) saturate(100%) invert(67%) sepia(48%) saturate(828%) hue-rotate(74deg) brightness(94%) contrast(91%) drop-shadow(0 0 4px rgba(76,175,80,.7))}
.warning-icon.is-masked{filter:brightness(0) saturate(100%) invert(30%) sepia(97%) saturate(3250%) hue-rotate(347deg) brightness(106%) contrast(114%) drop-shadow(0 0 6px rgba(255,30,30,.9));animation:warningMaskedFlicker 1.05s steps(1,end) infinite}
.warning-cluster-mask{position:absolute;left:50%;top:93%;transform:translate(-50%,-50%);width:230px;height:74px;border-radius:18px;background:radial-gradient(ellipse at center,rgba(0,0,0,.56),rgba(0,0,0,.42) 62%,rgba(0,0,0,.06) 100%);box-shadow:0 0 18px rgba(0,0,0,.38),inset 0 0 12px rgba(0,0,0,.42);z-index:1}
.warning-cluster{position:absolute;left:50%;top:93%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:6px;z-index:2;pointer-events:none}
.warning-icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;border:0;border-radius:7px;background:transparent;pointer-events:auto;cursor:pointer;transition:transform .15s ease,background .15s ease}
.warning-icon-button:hover:not(:disabled){transform:scale(1.12);background:rgba(255,255,255,.06)}
.warning-icon-button:focus-visible{outline:2px solid #f5c518;outline-offset:2px}
.warning-icon-button:disabled{cursor:default}
.warning-cluster .warning-icon{position:static!important;left:auto;top:auto;width:24px;height:24px;flex:0 0 auto;transform:scale(.96)}
.warning-cluster .warning-icon.is-active{transform:scale(1)}
.warning-cluster .warning-icon.is-flicker{animation:warningClusterFlicker .9s ease-in-out infinite}
@keyframes warningFlicker{0%,100%{opacity:.28;transform:translate(-50%,-50%) scale(.95)}40%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}68%{opacity:.52;transform:translate(-50%,-50%) scale(.99)}}
@keyframes warningClusterFlicker{0%,100%{opacity:.28;transform:scale(.95)}40%{opacity:1;transform:scale(1.06)}68%{opacity:.52;transform:scale(.99)}}
@keyframes warningRevealedPulse{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.08)}}
@keyframes warningMaskedFlicker{0%,18%,46%,72%,100%{opacity:1;transform:scale(1)}19%,45%,73%,82%{opacity:.25;transform:scale(.95)}}
@media(max-width:700px){.warning-cluster{top:93%;gap:5px}.warning-cluster-mask{top:93%;width:200px;height:64px;border-radius:15px}.warning-icon-button{width:28px;height:28px;padding:3px}.warning-cluster .warning-icon{width:22px;height:22px}}
@media(orientation:landscape) and (max-height:500px){.warning-cluster{top:93%;gap:4px}.warning-cluster-mask{top:93%;width:190px;height:60px}.warning-icon-button{width:26px;height:26px;padding:3px}.warning-cluster .warning-icon{width:20px;height:20px}}
@media(max-width:1400px) and (min-width:701px){.hs.lights{display:none}}
@media(max-width:700px){.garage>*{min-width:0}.tabs{min-width:0;max-width:100%;overflow-x:auto;flex-wrap:nowrap}.cview{min-width:0}}
@media(prefers-reduced-motion:reduce){.warning-icon.is-flicker{animation:none;opacity:.85;transform:translate(-50%,-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.warning-cluster .warning-icon.is-flicker{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.warning-icon.is-revealed,.warning-icon.is-masked{animation:none;opacity:.85;transform:scale(1)}}
.dash-odo{position:absolute;top:8px;right:10px;background:rgba(0,0,0,.58);border:1px solid #3a3a4a;border-radius:5px;padding:3px 10px;font-size:.72em;color:#9ad7ff;letter-spacing:.5px;z-index:5}
.dash-odo strong{color:#f5c518;font-size:1.18em;letter-spacing:1px;margin:0 4px}
.dash-odo.armed{border-color:#f5c518;box-shadow:0 0 10px rgba(245,197,24,.35);cursor:pointer}
.odo-digit{appearance:none;border:0;border-bottom:1px dashed #f5c518;background:transparent;color:#f5c518;font:700 1em 'Courier New',monospace;padding:0 1px;cursor:pointer}.odo-digit:hover,.odo-digit:focus-visible{color:#fff;background:#5a4b00;outline:none}
.dash-panel{background:#14141a;border:1px solid #2a2a34;border-top:none;border-radius:0 0 7px 7px;padding:5px 6px;margin-bottom:0}
.dash-states{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.dash-chip{font-size:.66em;padding:2px 9px;border-radius:11px;border-width:1px;border-style:solid;white-space:nowrap}
.dash-chip-button{font-family:inherit;cursor:pointer;transition:transform .14s,box-shadow .14s}.dash-chip-button:hover:not(:disabled),.dash-chip-button:focus-visible{transform:translateY(-1px);box-shadow:0 0 10px currentColor;outline:none}.dash-chip-button:disabled{cursor:default}
.dashboard-obd-link{padding:3px 10px;border:1px solid #247ca3;border-radius:12px;background:#071923;color:#9ad7ff;font:700 .64em 'Courier New',monospace;cursor:pointer;white-space:nowrap;transition:background .14s,box-shadow .14s}.dashboard-obd-link:hover,.dashboard-obd-link:focus-visible{background:#0b2b3b;box-shadow:0 0 11px rgba(64,191,255,.45);outline:none}
.state-unknown{color:#9a9a9a;border-color:#333;background:#161616}.cbubble{position:fixed;z-index:700;max-width:230px;background:#1c1c24;border:2px solid #f5c518;border-radius:10px;padding:7px 11px;font-size:.72em;line-height:1.35;color:#f3ead0;font-family:inherit;box-shadow:0 8px 20px rgba(0,0,0,.55);pointer-events:none;animation:cbubbleIn .16s ease-out}.cbubble::after{content:"";position:absolute;bottom:-9px;left:50%;margin-left:-8px;width:0;height:0;border:8px solid transparent;border-top-color:#f5c518;border-bottom:0}.cbubble::before{content:"";position:absolute;bottom:-6px;left:50%;margin-left:-6px;width:0;height:0;border:6px solid transparent;border-top-color:#1c1c24;border-bottom:0;z-index:1}.cbubble.out{opacity:0;transition:opacity .22s}@keyframes cbubbleIn{from{opacity:0;transform:scale(.85) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}
.gameover-compact{max-width:1050px;margin:0 auto;padding:8px 10px}.gameover-compact .gem{font-size:2.7em;line-height:1;margin:0 0 4px}.gameover-compact h1{font-size:1.35em;margin:0 0 4px}.gameover-compact .gscore{font-size:1.8em;line-height:1.1;margin:5px 0}.gameover-compact p{max-width:720px;margin:0 auto 7px;font-size:.76em;line-height:1.4}.gameover-compact .score-badge{margin:7px 0}.gameover-compact .sb-item{padding:5px 10px;font-size:.7em}.gameover-compact>.btn{margin-bottom:8px!important;padding:8px 14px}.gameover-compact .cta-compact{margin-top:5px}.gameover-compact .cta-compact h3{font-size:.72em}.gameover-compact .cta-compact .btn{font-size:.64em;padding:6px 8px}.player-start-options{display:grid;grid-template-columns:1fr;gap:8px;position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:450;width:min(440px,calc(100vw - 28px));margin:0}.player-start-options .btn{box-shadow:0 8px 22px rgba(0,0,0,.6)}.intro{padding-bottom:80px}body.is-intro #sound-toggle{display:none!important}.player-start-options .btn{justify-content:center;width:100%}@media(max-width:420px){.player-start-options{grid-template-columns:1fr}}
/* === LIGHTNESS PASS — čitelnější plochy bez ztráty garážové atmosféry === */
#hdr{background:#202029}
.logo small{color:#92929d}.hs{background:#22222b;border-color:#454553}.turn-pill{background:#17171d;border-color:#555563}
.card,.sbpanel{background:var(--panel-bg);border-color:#454553}.rep-card{background:#30303a;border-color:#50505d}
.cview,.garage-scene-column .cview{background:#25252e;border-color:#454553}
.tab{background:#191920;border-color:#363641;color:#92929d}.tab:hover,.tab.on{background:#272730;border-color:#555563;color:#ddd}.tab.on{border-bottom-color:#272730}
.tool-btn{background:#202028;border-color:#3c3c48;color:#b2b2bc}.tool-btn:hover{background:#2b2b34;border-color:#5a5a68;color:#fff}
.scene-state-strip,.dash-panel{background:#202028;border-color:#3b3b47}.scene-state-chip{background:#1b1b21;border-color:#50505b;color:#b0b0ba}
.price-slider-wrap,.stats-bar,.sb-item{background:#22222a;border-color:#3d3d49}
.intro .desc{background:#24242c;border-color:#41414d;color:#d0d0d6}.intro .tagline,.intro .tip-list,.ph-title p,.cv-label,.card .cyear,.price-slider-wrap .pcomment,.gameover p{color:#a0a0aa}
.card .cdesc,.rep-card .pdesc,.result .rcomment,.cta-box p{color:#b8b8c0}.prob-item.empty,.game-copy{color:#85858f}
.divider{border-top-color:#34343f}.note{color:#aaa}
/* === TRANSPARENCY PASS — obraz má přednost, text drží jemný závoj === */
#hdr{background:rgba(25,25,34,.68);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.hs,.turn-pill{background:rgba(14,14,21,.36);border-color:rgba(210,210,230,.22)}
.card,.sbpanel,.rep-card,.cview,.garage-scene-column .cview,.price-slider-wrap,.stats-bar,.sb-item,.intro .desc,.value-scale{
  background:rgba(24,24,34,.38);border-color:rgba(210,210,230,.20);-webkit-backdrop-filter:blur(1.5px) saturate(.92);backdrop-filter:blur(1.5px) saturate(.92);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 5px 16px rgba(0,0,0,.16)
}
.tool-btn,.calm-btn,.tab,.repair-card-head,.btn-gr{background:rgba(12,14,23,.28);border-color:rgba(210,210,230,.18)}
.tool-btn:hover,.calm-btn:hover,.tab:hover,.tab.on{background:rgba(38,38,49,.48);border-color:rgba(230,230,245,.30)}
.tab.on{border-bottom-color:rgba(38,38,49,.48)}.tool-btn.selected{background:rgba(64,55,12,.48)}
.scene-state-strip,.dash-panel{background:rgba(16,16,24,.32);border-color:rgba(210,210,230,.16);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}
.scene-state-chip,.dash-chip,.state-unknown{background:rgba(12,12,18,.30);border-color:rgba(210,210,230,.18)}
.state-suspected{background:rgba(65,45,0,.34)}.state-confirmed{background:rgba(3,48,67,.34)}.state-fixed{background:rgba(8,55,14,.34)}.state-masked{background:rgba(58,5,70,.34)}
.fix-proper{background:rgba(13,54,22,.42)}.fix-medium{background:rgba(66,45,0,.42)}.fix-bad{background:rgba(72,0,0,.42)}.fix-terrible{background:rgba(55,0,55,.42)}
.dashboard-obd-link{background:rgba(5,40,56,.44)}.pp{background:rgba(70,42,0,.38)}
.modal{background:rgba(28,28,38,.84);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.vilda-phone{background:rgba(16,16,22,.88)}.cbubble{background:rgba(28,28,36,.86)}
.scene-card{background:rgba(0,0,0,.42)}.scene-hotspot .hotspot-label,.scene-lead{background:rgba(9,9,13,.62)}
.card,.sbpanel,.rep-card,.tool-btn,.calm-btn,.tab,.dash-panel,.scene-state-strip{text-shadow:0 1px 2px rgba(0,0,0,.88)}
/* === GLOBAL GARAGE GLASS — jeden statický podklad pro celou hru === */
body{background-color:#18181f;background-image:url('../images/game/garage-bg.webp');background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed}
.scene-bg-garage{background-image:none!important;background-color:transparent!important}
.card,.sbpanel,.rep-card,.cview,.garage-scene-column .cview,.price-slider-wrap,.stats-bar,.sb-item,.intro .desc,.value-scale{
  background-color:rgba(18,18,27,.31);background-image:linear-gradient(135deg,rgba(255,255,255,.085) 0%,rgba(255,255,255,.022) 36%,rgba(255,255,255,0) 68%);-webkit-backdrop-filter:blur(1.5px) saturate(.96);backdrop-filter:blur(1.5px) saturate(.96)
}
.tool-btn,.calm-btn,.tab,.repair-card-head,.btn-gr,.scene-state-strip,.dash-panel,.scene-state-chip,.dash-chip{
  background-color:rgba(10,12,20,.24);background-image:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.012) 48%,rgba(255,255,255,0));-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)
}
.hs,.turn-pill{background-color:rgba(12,12,20,.30);background-image:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,0) 62%)}
.btn-y{background:rgba(245,197,24,.78);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.btn-y:hover{background:rgba(255,215,0,.88)}
.btn-g{background:rgba(45,125,50,.76)}.btn-g:hover{background:rgba(56,142,60,.86)}.btn-r{background:rgba(183,28,28,.76)}.btn-r:hover{background:rgba(211,47,47,.86)}.btn-blue{background:rgba(13,71,161,.76)}.btn-blue:hover{background:rgba(21,101,192,.86)}
.disclaimer{background:rgba(40,40,0,.34);border-color:rgba(245,197,24,.32);color:#aaa;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
.inz{background:rgba(255,253,231,.88);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.karma-ev{background:rgba(54,20,0,.48)}.cta-box{background:rgba(5,48,10,.46)}.repair-warning-compact{background:rgba(34,12,0,.9)!important}.repair-warning-compact h3{text-shadow:0 1px 2px #000}.repair-warning-compact p{color:#f2b274!important;text-shadow:0 1px 2px #000}
.modal-bg{background:rgba(0,0,8,.44)}.modal{background:rgba(22,22,31,.78)}
#portrait-block{background:rgba(10,10,16,.42)}#portrait-block .portrait-card{background:rgba(24,24,34,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.game-copy{text-shadow:0 1px 3px #000}
/* === READABILITY + GAME TYPE — sjednocený závoj a hierarchie písma === */
:root{--game-display:'Trebuchet MS','Arial Black','Segoe UI',sans-serif}
.card,.sbpanel,.rep-card,.price-slider-wrap,.stats-bar,.sb-item,.intro .desc,.value-scale{
  background-color:rgba(12,12,20,.46);border-color:rgba(225,225,240,.24);-webkit-backdrop-filter:blur(2.5px) saturate(.92);backdrop-filter:blur(2.5px) saturate(.92)
}
.tool-btn,.calm-btn,.tab,.repair-card-head,.btn-gr,.scene-state-strip,.dash-panel,.scene-state-chip,.dash-chip{background-color:rgba(8,10,18,.36)}
.ph-title{width:fit-content;max-width:calc(100% - 20px);margin:0 auto 3px;padding:3px 14px;background:rgba(9,9,16,.56);border:1px solid rgba(225,225,240,.20);border-radius:12px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 5px 18px rgba(0,0,0,.18);text-shadow:0 1px 3px #000}.ph-title h2{line-height:1.05;margin-bottom:1px}.ph-title p{line-height:1.15}
.pdots{width:fit-content;margin:0 auto 4px;padding:2px 7px;background:rgba(9,9,16,.48);border:1px solid rgba(225,225,240,.14);border-radius:999px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.intro .logo-big{width:fit-content;margin:0 auto 3px;padding:4px 14px;background:rgba(9,9,16,.48);border:1px solid rgba(225,225,240,.16);border-radius:10px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-shadow:0 2px 4px #000}
.intro .tagline{width:fit-content;max-width:100%;margin:0 auto 9px;padding:3px 10px;background:rgba(9,9,16,.46);border-radius:8px;color:#e0e0e5;text-shadow:0 1px 3px #000}
.intro .tip-list{background:rgba(9,9,16,.46);border:1px solid rgba(225,225,240,.16);border-radius:8px;padding:8px 12px 8px 32px;color:#dedee4;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-shadow:0 1px 3px #000}
.intro .tagline{background:rgba(7,7,14,.62);color:#f0f0f4;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.intro .disclaimer{background:rgba(30,30,0,.58);color:#dedee4;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-shadow:0 1px 3px #000}
.intro .desc{background-color:rgba(7,7,14,.64);color:#eeeef2;-webkit-backdrop-filter:blur(3px) saturate(.9);backdrop-filter:blur(3px) saturate(.9);text-shadow:0 1px 3px #000}
.intro .tip-list{background:rgba(7,7,14,.62);color:#eeeef2;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.game-copy{width:fit-content;max-width:calc(100% - 24px);padding:3px 10px;background:rgba(9,9,16,.46);border-radius:8px;color:#c8c8d0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
h1,h2,h3,h4,.btn,.turn-pill,.buy-p,.inz .inz-price,.result .rp,.gameover .gscore,.price-slider-wrap .pval,.repair-card-head strong{font-family:var(--game-display);letter-spacing:.012em}
.btn{letter-spacing:.025em}.ph-title p,.card .cyear,.card .cdesc,.rep-card .pdesc,.result .rcomment,.price-slider-wrap .pcomment,.value-scale-head,.value-scale-note,.repair-top-actions{color:#dedee4;text-shadow:0 1px 3px #000}
.prob-item.empty,.note{color:#c8c8d0;text-shadow:0 1px 3px #000}
body .garage-scene-column .tabs .tab{background:linear-gradient(180deg,rgba(38,38,48,.78),rgba(12,12,17,.72));border-color:rgba(135,135,155,.36);color:rgba(245,245,255,.86);text-shadow:0 1px 3px rgba(0,0,0,.85)}body .garage-scene-column .tabs .tab:hover{background:linear-gradient(180deg,rgba(54,54,66,.86),rgba(18,18,24,.8));border-color:rgba(245,197,24,.55);color:#ffffff;text-shadow:0 0 6px rgba(245,197,24,.35),0 1px 3px rgba(0,0,0,.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 14px rgba(245,197,24,.12)}body .garage-scene-column .tabs .tab.on{background:linear-gradient(180deg,rgba(34,34,22,.94),rgba(16,16,18,.9));border-color:#f5c518;color:#ffe866;text-shadow:0 0 8px rgba(245,197,24,.55),0 1px 3px rgba(0,0,0,.95);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 18px rgba(245,197,24,.28)}body .garage-scene-column .tabs .tab.on::before{background:#f5c518;box-shadow:0 0 10px rgba(245,197,24,.85)}

/* === SCENE TABS READABILITY BOOST === */
body .garage-scene-column .tabs .tab{
  color:#ffe866;
  border-color:rgba(245,197,24,.34);
  text-shadow:0 0 7px rgba(245,197,24,.42),0 1px 3px rgba(0,0,0,.95);
}
body .garage-scene-column .tabs .tab .ic{
  color:#ffe866;
  filter:drop-shadow(0 0 5px rgba(245,197,24,.45));
}
body .garage-scene-column .tabs .tab:hover,
body .garage-scene-column .tabs .tab:focus-visible{
  color:#fff27a;
  border-color:rgba(245,197,24,.78);
  text-shadow:0 0 10px rgba(245,197,24,.66),0 1px 3px rgba(0,0,0,.95);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 16px rgba(245,197,24,.22);
}
body .garage-scene-column .tabs .tab:hover .ic,
body .garage-scene-column .tabs .tab:focus-visible .ic{
  color:#fff27a;
  filter:drop-shadow(0 0 7px rgba(245,197,24,.68));
}
body .garage-scene-column .tabs .tab.on{
  color:#fff200;
  border-color:#f5c518;
  outline:1px solid rgba(245,197,24,.68);
  outline-offset:-2px;
  text-shadow:0 0 12px rgba(245,197,24,.85),0 0 22px rgba(245,197,24,.34),0 1px 3px rgba(0,0,0,1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 0 1px rgba(245,197,24,.25),0 0 22px rgba(245,197,24,.42);
}
body .garage-scene-column .tabs .tab.on .ic{
  color:#fff200;
  filter:drop-shadow(0 0 9px rgba(245,197,24,.9));
}

.action-feedback{margin:0 0 7px;padding:7px 10px;border-radius:8px;border:1px solid rgba(225,225,240,.2);background:rgba(8,8,14,.72);color:#eee;text-shadow:0 1px 3px #000;box-shadow:0 0 18px rgba(0,0,0,.22);animation:feedbackPop .18s ease-out}.action-feedback strong{display:block;margin-bottom:5px;font-family:var(--game-display);font-size:.82em}.action-feedback.ok{border-color:rgba(76,175,80,.55);box-shadow:0 0 18px rgba(76,175,80,.12)}.action-feedback.warn{border-color:rgba(245,197,24,.55);box-shadow:0 0 18px rgba(245,197,24,.12)}.action-feedback.bad{border-color:rgba(255,80,40,.6);box-shadow:0 0 18px rgba(255,80,40,.14)}.action-feedback.info{border-color:rgba(64,191,255,.45)}.impact-line{display:flex;flex-wrap:wrap;gap:5px}.impact-pill{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:.66em;color:#ddd}.impact-pill.ok{color:#8df098;border-color:rgba(76,175,80,.55);background:rgba(20,80,30,.24)}.impact-pill.warn{color:#ffe066;border-color:rgba(245,197,24,.55);background:rgba(90,70,0,.24)}.impact-pill.bad{color:#ff8a65;border-color:rgba(255,80,40,.55);background:rgba(90,20,0,.24)}.impact-pill.info,.impact-pill.turn{color:#9ad7ff;border-color:rgba(64,191,255,.38);background:rgba(0,55,90,.22)}@keyframes feedbackPop{from{opacity:.35;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:700px),(max-height:430px){.action-feedback{padding:5px 7px;margin-bottom:5px}.action-feedback strong{font-size:.74em}.impact-pill{font-size:.58em;padding:1px 5px;min-height:17px}}
.phase-feedback{width:min(760px,calc(100% - 24px));margin:4px auto 7px}.phase-feedback .measurer{display:none}

/* === PC GAME POLISH: rychlý rytmus, smyčka, scény === */
.game-loop{display:flex;align-items:center;justify-content:center;gap:6px;width:fit-content;max-width:calc(100% - 20px);margin:3px auto 7px;padding:4px 7px;border:1px solid rgba(245,197,24,.22);border-radius:999px;background:rgba(7,7,14,.58);backdrop-filter:blur(3px);box-shadow:0 8px 22px rgba(0,0,0,.22)}.game-loop span{position:relative;padding:3px 9px;border-radius:999px;font-family:var(--game-display);font-size:.62em;color:#9a9aa6;white-space:nowrap}.game-loop span:not(:last-child)::after{content:'›';position:absolute;right:-7px;color:#666}.game-loop span.done{color:#9ee6a4;background:rgba(36,105,45,.22)}.game-loop span.active{color:#111;background:#f5c518;box-shadow:0 0 14px rgba(245,197,24,.25)}.intro-fast{max-width:560px;padding-top:6px}.intro-fast .desc{font-size:.76em;line-height:1.34;margin-bottom:7px}.intro-fast .tip-list{display:grid;gap:3px;margin-bottom:8px}.start-btn{font-size:.96em;padding:11px 18px;box-shadow:0 0 0 1px rgba(245,197,24,.38),0 0 22px rgba(245,197,24,.18)}.card .cdesc,.rep-card .pdesc,.fix-opt .fd{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .cdesc{min-height:2.75em}.fix-opt .fd{min-height:2.45em}.scene-title-plate{position:absolute;left:10px;top:10px;z-index:6;padding:4px 8px;border:1px solid rgba(245,197,24,.34);border-radius:999px;background:rgba(8,8,14,.68);color:#ffe866;font-family:var(--game-display);font-size:.6em;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 1px 3px #000;pointer-events:none}.visual-scene{box-shadow:inset 0 0 0 1px rgba(245,197,24,.12),inset 0 -40px 80px rgba(0,0,0,.30)}.tool-panel-compact h4{display:flex;align-items:center;justify-content:center;min-height:24px}.tool-btn.selected{transform:translateY(-1px);box-shadow:0 0 0 2px rgba(245,197,24,.42),0 0 18px rgba(245,197,24,.18)}.scene-repair-btn.is-ready{animation:softPulse 1.35s ease-in-out infinite}@keyframes softPulse{0%,100%{box-shadow:0 0 0 rgba(245,197,24,0)}50%{box-shadow:0 0 16px rgba(245,197,24,.34)}}@media(max-width:700px),(max-height:430px){.game-loop{gap:3px;padding:3px 5px;margin-bottom:5px}.game-loop span{font-size:.52em;padding:2px 5px}.game-loop span:not(:last-child)::after{right:-5px}.intro-fast .desc{font-size:.68em}.scene-title-plate{font-size:.52em;padding:3px 6px}}

/* === PORTRAIT FALLBACK FIX === */
@media (orientation:portrait) and (max-width:850px){
  body:not(.allow-portrait) #portrait-block{left:0!important;right:auto!important;width:100vw!important;max-width:100vw!important;box-sizing:border-box;overflow:hidden;padding:18px!important}
  #portrait-block .portrait-card{width:min(330px,calc(100vw - 36px))!important;max-width:calc(100vw - 36px)!important;margin:0 auto!important;box-sizing:border-box;transform:none!important}
}

/* === PORTRAIT CARD HARD CENTER === */
@media (orientation:portrait) and (max-width:850px){
  body:not(.allow-portrait) #portrait-block{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;display:block!important;padding:0!important;overflow:hidden!important}
  body:not(.allow-portrait) #portrait-block .portrait-card{position:fixed!important;left:50vw!important;top:50dvh!important;transform:translate(-50%,-50%)!important;width:min(312px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;margin:0!important}
}




/* === COMICS UI LAYER === */
.logo,.ph-title h2,.turn-pill,.gameover h1,.gameover .gscore,
.result h2,.result .rp,.modal h2,.card h3,.sbpanel h4,.rep-card h3,
.karma-ev h3,.cta-box h3,.inz .inz-title,.intro .logo-big,.buy-p,
.repair-card-h,.result-identity h2{
  font-family:'Bangers',Impact,cursive!important;
  letter-spacing:.07em;
}
.logo{letter-spacing:.06em}
.turn-pill{letter-spacing:.05em;font-size:.88em!important}
.sbpanel,.card,.rep-card,.cview,.modal{
  background-image:radial-gradient(circle,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:6px 6px;
}
.sbpanel{border-width:2px;border-color:#252530}
.card{border-width:3px}
.rep-card{border-width:3px;border-color:#383848}
.modal{border-width:3px}
.cards .card:nth-child(odd){transform:rotate(-.3deg)}
.cards .card:nth-child(even){transform:rotate(.35deg)}
.cards .card:hover{transform:translateY(-3px) rotate(0deg)!important}
.vilda-bubble-in{position:relative}
.vilda-bubble-in::before{content:'';position:absolute;left:-9px;top:12px;border:5px solid transparent;border-right-color:#1e1e1e}
.comic-zap-overlay{
  position:fixed;top:50%;left:50%;
  transform:translate(-50%,-50%) rotate(-8deg) scale(.6);
  font-family:'Bangers',Impact,cursive;
  font-size:clamp(3em,10vw,6em);
  letter-spacing:.08em;
  pointer-events:none;z-index:950;
  text-shadow:3px 3px 0 #111,-2px -2px 0 #111,2px -2px 0 #111,-2px 2px 0 #111,5px 5px 0 rgba(0,0,0,.4);
  animation:comicZapPop .85s ease-out forwards;
}
@keyframes comicZapPop{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(.4)}
  20%{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(1.15)}
  40%{opacity:1;transform:translate(-50%,-50%) rotate(-6deg) scale(1)}
  75%{opacity:.9;transform:translate(-50%,-50%) rotate(-6deg) scale(1)}
  100%{opacity:0;transform:translate(-50%,-50%) rotate(-4deg) scale(.85)}
}

/* === KOMIKS — celá hra === */

/* ── INTRO: splash headline ── */
.comic-pitch{
  font-family:'Bangers',Impact,cursive;
  font-size:clamp(2.2em,5.5vw,3.6em);
  letter-spacing:.05em;
  color:#f5c518;
  text-shadow:3px 3px 0 #111,-1px -1px 0 #222;
  text-align:center;
  line-height:1.0;
  display:block;
  transform:rotate(-1.2deg);
  margin:10px 0 6px;
}
.comic-sub{
  font-size:.86em;
  color:#c4c4d4;
  font-family:var(--game-display,'Trebuchet MS',sans-serif);
  text-align:center;
  line-height:1.45;
  margin:0 auto 13px;
  max-width:420px;
}

/* ── INTRO: tři tip karty ── */
.comic-tips{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
  margin-bottom:14px;
}
.comic-tip{
  background:#1e1e30;
  border:2px solid rgba(200,200,245,.18);
  border-top:3px solid #f5c518;
  border-radius:6px;
  padding:11px 8px 10px;
  font-size:.8em;
  font-family:var(--game-display,'Trebuchet MS',sans-serif);
  color:#d8d8e8;
  line-height:1.4;
  text-align:center;
}
.comic-tip strong{color:#f5c518;display:block}
.comic-tip.tip-green{border-top-color:#4caf50;transform:rotate(-.5deg)}
.comic-tip.tip-blue{border-top-color:#40bfff}
.comic-tip.tip-red{border-top-color:#ff6b6b;transform:rotate(.5deg)}

/* ── FLOATING HELP: bez číslovaného listu ── */
.comic-steps{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:9px;
}
.comic-step{
  padding:5px 9px;
  background:rgba(245,197,24,.07);
  border-left:3px solid #f5c518;
  border-radius:0 4px 4px 0;
  font-size:.87em;
  font-family:var(--game-display,'Trebuchet MS',sans-serif);
  color:#e4e4f0;
  line-height:1.3;
}
.comic-step strong{color:#ffe866}
.floating-help-title{
  font-family:var(--game-display,'Trebuchet MS',sans-serif);
  letter-spacing:.04em;
}

/* ── VILDA: Courier New → sans-serif, víc komiks ── */
.vilda-bubble-in,.vilda-bubble-out{
  font-family:var(--game-display,'Trebuchet MS',sans-serif)!important;
  font-size:.88em!important;
  line-height:1.55;
}
.vilda-bubble-in{
  color:#e4e4f0;
  background:#1e1e2a;
  border-color:#3a3a52;
  border-radius:4px 14px 14px 14px;
}
.vilda-bubble-out{
  color:#b4ddb4;
  background:#1a3020;
  border-color:#2a5530;
}
.vilda-effect-line{
  font-family:'Courier New',monospace;
  font-size:.70em;
  color:#8888a4;
  border-top-color:#28283a;
  margin-top:9px;
  padding-top:8px;
}
.vilda-name{
  font-family:var(--game-display,'Trebuchet MS',sans-serif)!important;
  color:#eeeef8!important;
}
.vilda-sub{font-family:var(--game-display,'Trebuchet MS',sans-serif)}
.vilda-online{font-family:var(--game-display,'Trebuchet MS',sans-serif)}

/* ── SIDEBAR: přepni body text na sans-serif ── */
.sbpanel .prob-item,
.sbpanel .note,
.garage-info-card,
.garage-problems-card,
.floating-help-steps{
  font-family:var(--game-display,'Trebuchet MS',sans-serif);
}
.prob-item{color:#d4d4e0}
.prob-item.empty{color:#8888a4;font-style:italic}

/* ── CALM BUTTONS: čitelnější popisky ── */
.calm-btn{
  font-family:var(--game-display,'Trebuchet MS',sans-serif);
}
.calm-btn span[style]{
  color:#9898b4!important;
  font-size:.88em;
}

/* ── PH-TITLE subtituly ── */
.ph-title p{
  font-family:var(--game-display,'Trebuchet MS',sans-serif)!important;
  color:#c4c4d4!important;
  font-size:.82em!important;
}

/* ── LOG položky: sans-serif ── */
.log-item{
  font-family:var(--game-display,'Trebuchet MS',sans-serif);
  font-size:.77em;
}

/* ── RESULT komentáře ── */
.result .rcomment{
  font-family:var(--game-display,'Trebuchet MS',sans-serif);
  color:#c0c0cc;
  font-size:.88em;
}

/* ── ACTION FEEDBACK: výraznější ── */
.action-feedback{
  font-family:var(--game-display,'Trebuchet MS',sans-serif)!important;
  font-size:.84em;
}

/* ── Repair karty: popis ── */
.fix-opt .fd{
  font-family:var(--game-display,'Trebuchet MS',sans-serif);
  color:rgba(220,220,235,.65);
  font-size:.88em;
}
.fix-opt .fn{
  font-family:var(--game-display,'Trebuchet MS',sans-serif);
  color:#ebebf5;
}

/* ── FIX: intro .desc zůstane skrytý (nahrazen comic-pitch) ── */
.intro .desc{display:none}
.intro .tip-list{display:none}

/* === SYMPTOMY V GARÁŽI === */
.car-symptoms{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-bottom:9px;
  font-family:var(--game-display,'Trebuchet MS',sans-serif);
}
.symptom-chip{
  display:inline-block;
  padding:3px 8px;
  background:rgba(255,100,30,.10);
  border:1px solid rgba(255,120,40,.32);
  border-radius:4px;
  font-size:.72em;
  color:#e0b898;
  line-height:1.3;
}

/* === TOOL SHORTCUTS === */
.tool-shortcuts{display:flex;gap:4px;margin-bottom:6px;}
.ts-btn{flex:1;padding:6px 4px;background:#111;border:1px solid #252525;border-radius:5px;cursor:pointer;font-size:.72em;color:#888;font-family:var(--game-display,'Trebuchet MS',sans-serif);display:flex;align-items:center;justify-content:center;gap:4px;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;}
.ts-btn:hover{background:#1e1e1e;border-color:#555;color:#ddd;}
.ts-btn.ts-on{background:rgba(245,197,24,.12);border-color:#f5c518;color:#f5c518;font-weight:bold;}
