/* PawRush 0.3 — scenes «Коровка» and «Gift Merge», shared game UI fixes. */
.game-stage.scene-mode{padding:0;justify-content:stretch;align-items:stretch}
.scene-empty{margin:auto;text-align:center;padding:40px;color:var(--muted)}.scene-empty svg{width:150px;height:auto}.gm-preview svg{width:140px}
.field-label{font-size:11px;font-weight:600;color:var(--muted);margin:2px 0 8px}
.diff-list{display:grid;gap:6px;margin-bottom:16px}
.diff{display:flex;align-items:center;gap:11px;text-align:left;padding:11px 12px;background:#101b2a;border-color:#26354a;font-weight:700;font-size:13px;min-height:52px}
.diff small{display:block;font-weight:500;font-size:10px;color:var(--muted);margin-top:2px}.diff em{margin-left:auto;font-style:normal;font-size:12px;color:#9fb4c6;white-space:nowrap}
.diff.on{background:linear-gradient(120deg,#2b3f7a,#334a8f);border-color:#7f95ff;box-shadow:0 0 0 1px #7f95ff44}.diff.on em{color:#fff}
.bars{display:flex;align-items:flex-end;gap:2px;height:16px}.bars i{width:4px;border-radius:2px;background:#ffffff30}.bars i:nth-child(1){height:6px}.bars i:nth-child(2){height:11px}.bars i:nth-child(3){height:16px}
.bars.b1 i:nth-child(1),.bars.b2 i:nth-child(-n+2),.bars.b3 i{background:#fff}
.rules-box{background:#101b2a;border:1px solid #26354a;border-radius:12px;padding:10px 12px;margin:4px 0 12px}.rules-box summary{margin:0;color:#cfe3f1;font-weight:700}.rules-box[open] summary{margin-bottom:8px}
.rules-box p{font-size:11px!important;line-height:1.6;margin:0 0 10px!important}.rule-table{margin-bottom:10px}.rule-table b{display:block;font-size:10px;color:#cfe3f1;margin-bottom:5px}
.rule-table div{display:flex;flex-wrap:wrap;gap:3px}.rule-table span{font-size:10px;background:#172538;border-radius:5px;padding:3px 5px;color:#dbeaf4}.rule-table small{color:#7d93a7;margin-right:3px;font-size:8px}.rule-note{color:#7d93a7!important}
#moveControls .cash{font-weight:800}#moveControls .cash.primary{background:linear-gradient(120deg,#ffd76a,#ffb547);color:#3a2600}
.hint{font-size:11px;color:var(--muted)}
/* Result banner shared by scenes */
.scene-banner{position:absolute;left:50%;top:50%;transform:translate(-50%,-40%) scale(.9);opacity:0;pointer-events:none;z-index:20;text-align:center;padding:16px 26px;border-radius:18px;background:#0b1422ee;border:1px solid #2c3f57;box-shadow:0 20px 60px #000a;transition:.35s cubic-bezier(.2,1.4,.4,1);min-width:220px}
.scene-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.scene-banner strong{display:block;font:900 italic 22px Montserrat,Arial,sans-serif;margin-bottom:4px}.scene-banner span{font-size:13px;color:#b9cddd}
.scene-banner.win{border-color:#6fe5ce;box-shadow:0 0 50px #46d6bd44,0 20px 60px #000a}.scene-banner.win strong{color:#86f3d9}.scene-banner.lose{border-color:#ff7d8f}.scene-banner.lose strong{color:#ff9aa8}
.scene-hud{display:flex;gap:8px;align-items:stretch;padding:14px 14px 10px;flex-wrap:wrap}
.hud-main{flex:1 1 150px;background:#101c2c;border:1px solid #26354a;border-radius:12px;padding:8px 14px}.hud-main small,.hud-chip small{display:block;font-size:8px;letter-spacing:1.4px;color:#7d97ae}
.hud-main strong{font:900 italic 30px Montserrat,Arial,sans-serif;color:#e8f6ff}.hud-chip{flex:1 1 90px;background:#101c2c;border:1px solid #26354a;border-radius:12px;padding:8px 12px}.hud-chip b{display:block;font-size:16px;margin-top:4px;color:#86f3d9}.hud-chip.warn b{color:#ffcf73}
.shake{animation:shake .45s}
@keyframes shake{20%{transform:translate(-6px,2px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px,0)}}

/* ================= Коровка ================= */
.cow-scene{position:relative;flex:1;display:flex;flex-direction:column;min-height:520px;overflow:hidden;border-radius:15px;background:linear-gradient(#0b1626,#0f1d2f)}
.cow-view{position:relative;flex:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;min-height:380px}.cow-view::-webkit-scrollbar{display:none}
.cow-track{position:relative;height:100%;min-height:380px;display:flex}
.walk{width:var(--walk);flex:none;position:relative;background:repeating-linear-gradient(0deg,#2c3c52 0 38px,#33465f 38px 40px);box-shadow:inset 0 0 0 1px #3d5470}
.walk:before{content:'';position:absolute;top:0;bottom:0;width:10px;right:0;background:repeating-linear-gradient(0deg,#e9f4ff 0 18px,#c8dcef 18px 22px);opacity:.75}.walk.finish:before{left:0;right:auto}
.walk span{position:absolute;top:12px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:2px;color:#9fb6cc;font-weight:800}
.walk.finish{background:repeating-linear-gradient(0deg,#22403c 0 38px,#2a4c47 38px 40px)}.walk.finish span{color:#86f3d9}
.lane{width:var(--lane);flex:none;position:relative;background:#18222f;border-right:2px dashed #ffffff2a;overflow:hidden;transition:background .3s}
.lane:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0000,#ffffff05,#0000);pointer-events:none}
.lane.next{background:#1b2a3c}.lane.next .plate{border-color:#8fb3ff;box-shadow:0 0 0 4px #8fb3ff22,0 0 24px #8fb3ff44;animation:pulse 1.4s infinite}
.lane-no{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:9px;color:#ffffff40;font-weight:700}
.plate{position:absolute;left:50%;top:50%;width:min(70px,82%);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,#3b4b60,#222f40);border:3px solid #4a5d75;box-shadow:inset 0 0 0 5px #00000025;transition:.3s;z-index:1}
.plate b{font-size:13px;color:#dbe8f3;letter-spacing:-.3px}
.lane.passed .plate{background:radial-gradient(circle at 40% 35%,#3fd9c3,#1a8f80);border-color:#a5fff0;box-shadow:0 0 28px #46d6bd88}.lane.passed .plate b{color:#06302b}
.lane.crashed{background:#3a1d28}.lane.crashed .plate{background:#5e263b;border-color:#ff8ca2}
.lane.danger .plate{border-color:#ff8ca2aa}.lane.danger .plate:after{content:'🚗';position:absolute;top:-14px;right:-8px;font-size:14px}
.barrier{position:absolute;left:4px;right:4px;top:-60px;transition:top .35s cubic-bezier(.3,1.6,.5,1);z-index:3}.barrier svg{width:100%;display:block}
.lane.passed .barrier{top:6px}
.cars{position:absolute;inset:0;z-index:2}
.car{position:absolute;left:50%;top:-90px;width:42px;margin-left:-21px;animation:drive linear forwards}.car svg,.crash-car svg{width:100%;display:block;filter:drop-shadow(0 6px 6px #0008)}
.car:after,.crash-car:after{content:'';position:absolute;left:3px;right:3px;bottom:-60px;height:60px;background:linear-gradient(#fff6c033,transparent);clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}
@keyframes drive{to{top:calc(100% + 90px)}}
.crash-car{position:absolute;top:-100px;width:44px;z-index:6;opacity:0}.crash-car.go{opacity:1;animation:crashDrive .65s cubic-bezier(.5,0,.8,1) forwards}
@keyframes crashDrive{to{top:calc(100% + 100px)}}
.cow-actor{position:absolute;left:0;top:50%;width:0;height:0;z-index:5;transition:transform .38s cubic-bezier(.45,0,.3,1)}
.cow-body{position:absolute;left:-52px;top:-62px;width:104px;transform-origin:50% 90%}.cow-body svg{width:100%;display:block;filter:drop-shadow(0 4px 0 #0004)}
.cow-shadow{position:absolute;left:-34px;top:22px;width:68px;height:12px;border-radius:50%;background:#0006}
.cow-actor .cow-body{animation:idle 1.6s ease-in-out infinite}
.cow-actor.hopping .cow-body{animation:hop .38s ease-out}.cow-actor.hopping .leg{transform-box:fill-box;transform-origin:top;animation:legs .19s 2 alternate}
.cow-actor.hit .cow-body{animation:knock .7s forwards}.cow-actor.hit .cow-shadow{opacity:0;transition:.3s}
.cow-actor.happy .cow-body{animation:happy .5s 3}
.cow-stars{opacity:0}.cow-actor.hit .cow-stars{opacity:1;animation:spin 1s linear infinite;transform-origin:110px 10px}
@keyframes idle{50%{transform:translateY(-2px) scaleY(1.02)}}
@keyframes hop{40%{transform:translateY(-34px) rotate(-6deg)}75%{transform:translateY(0) scaleY(.9)}}
@keyframes legs{to{transform:rotate(18deg)}}
@keyframes knock{30%{transform:translate(10px,-40px) rotate(25deg)}100%{transform:translate(18px,4px) rotate(90deg);opacity:.85}}
@keyframes happy{50%{transform:translateY(-22px) rotate(4deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{50%{box-shadow:0 0 0 8px #8fb3ff11,0 0 30px #8fb3ff66}}
.snowfall{position:absolute;inset:0;pointer-events:none;z-index:8;overflow:hidden}.snowfall i{position:absolute;top:-10px;width:5px;height:5px;border-radius:50%;background:#fff;opacity:.55;animation:snow linear infinite}
@keyframes snow{to{transform:translate(30px,620px)}}
.light .cow-scene .scene-hud{color:#eff7ff}

/* ================= Gift Merge ================= */
.merge-scene{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;padding:16px;gap:12px;border-radius:15px;background:radial-gradient(ellipse at 50% 30%,#2b2a63aa,transparent 60%),#0b1422;transition:background .4s}
.merge-scene.storm{background:radial-gradient(ellipse at 50% 40%,#5b2b6f,transparent 65%),#120b1e}
.merge-scene.flash{animation:mflash .5s}@keyframes mflash{50%{box-shadow:inset 0 0 90px #ffd76a55}}
.gm-top{display:flex;gap:10px;width:min(100%,640px);align-items:stretch}
.gm-mult{flex:0 0 auto;min-width:150px;background:#101c2c;border:1px solid #2c3d57;border-radius:14px;padding:8px 14px;display:flex;flex-direction:column;justify-content:center}
.gm-mult small{font-size:8px;letter-spacing:1.4px;color:#7d97ae}.gm-mult strong{font:900 italic 32px Montserrat,Arial,sans-serif;color:#fff;line-height:1.1}
.gm-mult strong.bump{animation:bump .45s}@keyframes bump{40%{transform:scale(1.18);color:#ffd76a}}
.gm-gifts{display:flex;gap:4px;min-height:0}.gift-badge{position:relative;width:30px}.gift-badge svg{width:100%;display:block}.gift-badge b{position:absolute;right:-4px;bottom:-3px;font-size:9px;background:#ffd76a;color:#3a2600;border-radius:5px;padding:0 3px}
.gift-badge.new{animation:giftIn .6s cubic-bezier(.2,1.6,.4,1)}@keyframes giftIn{from{transform:scale(0) rotate(-30deg)}}
.gm-shelf{flex:1;display:grid;grid-template-columns:repeat(var(--slots),1fr);gap:6px;background:#101c2c;border:1px solid #2c3d57;border-radius:14px;padding:8px}
.gm-slot{aspect-ratio:1;border-radius:9px;background:#172538;border:1px solid #26354a;display:grid;place-items:center;min-width:0}.gm-slot span{color:#4b6079;font-weight:800;font-size:13px}
.gm-slot svg{width:82%;height:82%}.gm-slot.full{background:#1d2e46;border-color:#3e5677}.gm-slot.land svg{animation:pop .35s cubic-bezier(.2,1.6,.4,1)}
.gm-slot.merging{animation:glow .42s;border-color:#ffd76a;background:#3b3415}@keyframes glow{50%{transform:scale(1.15);box-shadow:0 0 22px #ffd76a}}
.gm-info{display:flex;justify-content:space-between;width:min(100%,640px);font-size:12px;color:#9fb4c6;gap:10px;flex-wrap:wrap}.gm-info b{color:#ffd76a}
.gm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(100%,430px)}
.gm-box{aspect-ratio:1;padding:6%;border-radius:18px;background:linear-gradient(160deg,#243a59,#1a2a42);border:1px solid #34507a;box-shadow:0 6px 0 #0d1828,0 10px 18px #0004;transition:transform .15s,border-color .2s;opacity:1!important;position:relative}
.gm-box:not(:disabled):hover{transform:translateY(-4px);border-color:#8fb3ff}.gm-box:not(:disabled):active{transform:translateY(2px);box-shadow:0 3px 0 #0d1828}
.gm-box:disabled{cursor:default}.gm-face{display:block;width:100%;height:100%}.gm-face svg{width:100%;height:100%;display:block}
.gm-box.shaking{animation:wobble .26s}@keyframes wobble{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
.gm-box.opening .box-lid{transform:translateY(-30px) rotate(-12deg);transition:.18s;opacity:0}
.gm-box.open{background:radial-gradient(circle,#2d4f7a,#1a2a42);border-color:#6f8fc2}.gm-box.pop .gm-face{animation:pop .4s cubic-bezier(.2,1.6,.4,1)}
.gm-box.bomb{background:radial-gradient(circle,#6a2f8f,#2a1640);border-color:#c18bff}
.gm-box.revealed .gm-face{opacity:.38;filter:grayscale(.3)}.gm-box.revealed.bomb .gm-face{opacity:.75;filter:none}
.gm-box.reveal-in{animation:pop .35s both}
@keyframes pop{from{transform:scale(.3);opacity:0}}
.gm-fly{position:fixed;z-index:1000;pointer-events:none}.gm-fly svg{width:100%;height:100%;filter:drop-shadow(0 6px 10px #0008)}
.gm-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;color:#7d93a7;font-size:11px}.gm-legend span{width:22px}.gm-legend svg{width:100%;display:block}.gm-legend em{font-style:normal;margin-left:6px}

.action-bar:has(#moveControls:not(:empty)) #startGame{display:none}
.gm-mult strong.zero,.hud-main strong.zero{color:#ff9aa8}
/* Updated game cards */
.card-scene{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:2px}.card-scene svg{filter:drop-shadow(0 9px 12px #0007)}
.cow-card svg{width:130px!important;height:auto!important;transform:rotate(-4deg)!important}
.merge-card svg{width:70px!important;height:70px!important;transform:none!important}.merge-card svg:first-child{width:92px!important;height:92px!important}
.game-card:hover .cow-card svg{animation:hop .5s}
.game-card.updated{border-color:#3e736c}
.game-card[data-game=cow] .card-art{background:radial-gradient(ellipse at 50% 85%,#62d89766,transparent 70%),linear-gradient(140deg,#254a38,#101724)}
.game-card[data-game=merge] .card-art{background:radial-gradient(ellipse at 50% 85%,#e48be866,transparent 70%),linear-gradient(140deg,#3a2b63,#101724)}

/* Mobile: history and checks reachable; actions always under the thumb */
@media(max-width:620px){
 aside nav button[data-view="history"],aside nav button[data-view="fair"]{display:flex}
 aside nav button{min-width:58px;padding:7px 5px}
}
@media(max-width:700px){
 #gameDialog{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
 #gameDialog .action-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#0d1420f2;backdrop-filter:blur(12px);border-top:1px solid #26354a;display:flex;flex-direction:column;gap:8px}
 #gameDialog .action-bar:has(#startGame:disabled):has(#moveControls:empty){display:none}
 #gameDialog #moveControls{margin:0;flex-wrap:nowrap}#gameDialog #moveControls:empty{display:none}#gameDialog #moveControls button{flex:1;padding:14px 10px}
 #gameDialog #moveControls:not(:empty)~*,#gameDialog .action-bar:has(#moveControls:not(:empty)) #startGame{display:none}
 .cow-scene{min-height:440px}.cow-view,.cow-track{min-height:310px}.hud-main strong{font-size:24px}.scene-hud{padding:10px 10px 8px;gap:6px}.hud-chip{padding:6px 8px;flex-basis:70px}.hud-chip b{font-size:13px}.hud-chip small,.hud-main small{font-size:7px}
 .hud-chip.warn{display:none}
 .cow-body{left:-44px;top:-52px;width:88px}.plate b{font-size:11px}
 .merge-scene{padding:10px;gap:10px}.gm-top{flex-direction:column}.gm-mult{flex-direction:row;align-items:center;gap:10px;min-width:0}.gm-mult strong{font-size:26px}.gm-shelf{gap:4px;padding:6px}
 .gm-grid{gap:9px;width:min(100%,330px)}.gm-legend span{width:18px}.gm-info{font-size:11px}
 .scene-banner{min-width:200px;padding:12px 18px}.scene-banner strong{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.snowfall,.car{display:none}}
