:root{font-family:"Nunito","Segoe UI",Arial,sans-serif;color:#1d4a5e;background:#9fdcf5;--sun:#ffd76a;--leaf:#5cbf4f;--sea:#1f8fc4;--paper:#fffdf4}
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#9fdcf5}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}
#game{width:100vw;height:100vh;display:block;outline:none}
#menu{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 45%,#12405522)}
/* Menu główne: logo, imię i duży przycisk w prawym panelu (środek ekranu zostaje dla przelotu kamery nad wyspą). */
.menu-center{pointer-events:auto;position:absolute;right:0;top:0;bottom:0;width:min(480px,40vw);padding:70px 40px 40px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;background:linear-gradient(180deg,#1d4a5e70,#12405590);backdrop-filter:blur(6px);border-left:3px solid #ffffff40;box-shadow:-12px 0 40px #0d2b3a40}
.menu-center .logo{font-size:54px}.menu-center .logo-mark{font-size:60px}
.logo{margin:0;display:flex;align-items:center;gap:12px;font-size:78px;font-weight:900;letter-spacing:2px;line-height:1;color:#fff8e0;-webkit-text-stroke:3px #1d4a5e;paint-order:stroke fill;text-shadow:0 7px 0 #1d4a5e,0 14px 28px #0006;animation:logo-bob 3s ease-in-out infinite}
.logo-mark{font-size:84px;font-weight:400;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;color:initial;-webkit-text-stroke:0;paint-order:normal;text-shadow:none;filter:drop-shadow(0 8px 12px #0005);transform:rotate(-10deg)}
@keyframes logo-bob{50%{transform:translateY(-6px) rotate(-1deg)}}
#join-form{display:flex;flex-direction:column;gap:12px;width:100%}
#join-form input{padding:14px 18px;border-radius:16px;border:3px solid #fff;font-size:22px;font-weight:800;text-align:center;outline:none;background:#fffdf4ee;color:#1d4a5e;box-shadow:0 6px 18px #0003}#join-form input:focus{border-color:var(--sun)}
#join{border:0;border-radius:18px;background:var(--leaf);color:white;font-size:30px;font-weight:900;letter-spacing:1px;padding:16px;box-shadow:0 6px 0 #3f8f37,0 12px 24px #0004;text-shadow:0 2px 0 #3f8f37}#join:hover{background:#6fcf60}#join:active{transform:translateY(4px);box-shadow:0 2px 0 #3f8f37}
#status{font-size:13px;font-weight:800;color:#fff;text-shadow:0 1px 6px #0008;min-height:18px}
.lang{pointer-events:auto;position:absolute;top:18px;right:18px;z-index:2;display:flex;gap:6px}.lang button{border:0;border-radius:10px;padding:7px 11px;background:#ffffffc0;font-size:13px;font-weight:900;color:#1d4a5e}.lang button.on{background:var(--sea);color:white}
@media(max-width:760px){.menu-center{top:auto;left:0;width:auto;padding:24px 20px 28px;border-left:0;border-top:3px solid #ffffff40;box-shadow:0 -12px 40px #0d2b3a40}.menu-center .logo,.logo{font-size:44px}.menu-center .logo-mark,.logo-mark{font-size:50px}#join{font-size:24px}}
#hud{position:fixed;inset:0;pointer-events:none;color:white;text-shadow:0 1px 4px #0006}
.badge{position:absolute;top:16px;left:16px;padding:10px 16px;border-radius:16px;background:#1d4a5eb0;display:grid;gap:2px}.badge b{font-size:18px;letter-spacing:1px}.badge small{font-size:12px;opacity:.85}
#crosshair{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #0004}
.god #crosshair{display:none}
#notice{position:absolute;left:50%;top:22%;transform:translateX(-50%);padding:10px 20px;border-radius:14px;background:#ffd76ae8;color:#5a3c00;text-shadow:none;font-weight:900;font-size:20px}
.controls{position:absolute;left:16px;right:16px;bottom:14px;font-size:12px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
kbd{padding:2px 6px;border-radius:6px;background:#ffffff30;border:1px solid #ffffff60;font:800 11px Arial}
#interaction{position:absolute;left:50%;top:calc(50% + 90px);transform:translateX(-50%);padding:7px 14px;border-radius:12px;background:#1d4a5eb0;font-weight:800;font-size:14px;white-space:nowrap}
#click-hint{display:none!important}
.slot-icon.sapling{position:relative;background:none!important}
.slot-icon.sapling::before{content:'🌱';font-size:32px;line-height:1}
#debug{position:fixed;right:16px;top:16px;width:min(300px,calc(100vw - 32px));padding:16px;border-radius:18px;background:var(--paper);box-shadow:0 12px 40px #0d3b5540;font-size:13px;z-index:5}
#debug h3{margin:12px 0 6px;font-size:12px;letter-spacing:1px;color:#6a8c99}#debug b{font-size:13px}#debug button{display:block;width:100%;margin:4px 0;padding:8px;border:0;border-radius:10px;background:#e8f4f8;font-weight:700;color:#1d4a5e;text-align:left}
#debug pre{margin:6px 0 0;font-size:11px;white-space:pre-wrap}
#version-mismatch{position:fixed;left:50%;top:16px;transform:translateX(-50%);z-index:9;padding:10px 16px;border-radius:12px;background:#c2410c;color:white;font-weight:800;max-width:calc(100vw - 32px);text-align:center}
#connection-lost{position:fixed;left:50%;top:16px;transform:translateX(-50%);padding:10px 16px;border-radius:12px;background:#c2410c;color:white;font-weight:700}
#slotbar{position:absolute;bottom:50px;left:50%;transform:translateX(-50%);width:min(760px,calc(100vw - 24px));text-align:center;text-shadow:none;color:#244957}
.supply-source{display:inline-block;background:#173f52e8;color:#fff8dd;border-radius:12px 12px 0 0;padding:7px 18px;font-size:11px;font-weight:900;letter-spacing:1px}
.slots{display:flex;justify-content:center;gap:7px;padding:8px;background:#173f52e8;border-radius:18px;box-shadow:0 5px 22px #163b4c44;width:max-content;margin:auto;pointer-events:auto}
.slots button{position:relative;width:74px;height:84px;background:#fff9e9;border:3px solid transparent;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#244957;box-shadow:inset 0 -3px #d5cbb7}
.slots button.selected{border-color:#ffcf59;background:#fff0b5;transform:translateY(-3px);box-shadow:0 3px #be8934}
.slots kbd{position:absolute;left:4px;top:3px;background:#e1d8c3;border:0;padding:1px 4px;color:#5b655e;font-size:10px}.slot-count{position:absolute;right:5px;top:4px;font-size:13px}.slot-name{font-size:11px;font-weight:800}
.slot-icon{display:block;width:31px;height:31px;border-radius:4px;margin-top:7px}.slot-icon.hand{font-size:28px;line-height:31px}.slot-icon.wood{background:repeating-linear-gradient(0deg,#b98049 0 8px,#855831 8px 10px);box-shadow:inset -6px 0 #0002,inset 0 4px #ffffff35}.slot-icon.stone{background:repeating-linear-gradient(0deg,#a0b3bb 0 8px,#677e88 8px 10px);box-shadow:inset -6px 0 #0002,inset 0 4px #ffffff35}
.build-hint{position:absolute;bottom:calc(100% + 40px);left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);margin:0;padding:10px 18px;background:#173f52f2;border:1px solid #fff4cf66;border-radius:12px;box-shadow:0 4px 16px #102d3940;color:#fffdf0;font-size:14px;font-weight:700;pointer-events:none}
.build-hint:empty{display:none}
#slotbar progress{display:none!important}
#slotbar .supply-source[hidden]{display:none}
#altar-label{position:absolute;transform:translate(-50%,-100%);padding:5px 12px;border-radius:10px;background:#fff4cbea;color:#645019;text-shadow:none;font-size:10px;font-weight:900;letter-spacing:1px;border:1px solid #e9c15b}
.slot-icon.axe,.slot-icon.pickaxe{position:relative;transform:rotate(25deg)}
.slot-icon.axe:before,.slot-icon.pickaxe:before{content:'';position:absolute;width:5px;height:29px;left:15px;top:3px;background:#a96c35;border-radius:3px;border:1px solid #805126}
.slot-icon.axe:after{content:'';position:absolute;width:19px;height:15px;top:1px;left:2px;background:#a6c4cd;border:2px solid #658592;border-radius:7px 2px 2px 3px}
.slot-icon.road{background:linear-gradient(90deg,#5d646d 0 40%,#f5f0d8 40% 60%,#5d646d 60%);background-size:100% 8px;border-radius:6px;box-shadow:inset 0 0 0 3px #7d848c}
.slot-icon.meadow{background:radial-gradient(circle at 30% 35%,#b6ea7a 0 20%,transparent 21%),linear-gradient(#79c75a,#4ea64a);border-radius:10px 10px 6px 6px}
.slot-icon.wool{background:radial-gradient(circle at 35% 35%,#fff 0 30%,#eee6d6 31% 55%,#d8ccb4 56%);border-radius:50%;box-shadow:inset -3px -3px #0001}
.slot-icon.hay{background:repeating-linear-gradient(90deg,#f1d774 0 3px,#d6b04a 3px 5px);border-radius:8px 8px 4px 4px;box-shadow:inset 0 -5px #0001,inset 0 5px #ffffff50}
.slot-icon.scythe{position:relative}.slot-icon.scythe:before{content:'';position:absolute;width:4px;height:31px;left:17px;top:0;background:#a96c35;border-radius:3px;transform:rotate(18deg)}
.slot-icon.scythe:after{content:'';position:absolute;width:24px;height:12px;left:-1px;top:0;border-top:5px solid #9fc0ca;border-radius:60% 40% 0 0}
#backpack{position:absolute;left:50%;top:calc(50% - 60px);transform:translate(-50%,-50%);display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start;width:max-content;max-width:calc(100vw - 32px);max-height:calc(100vh - 200px);overflow:auto;gap:10px 16px;text-align:center;color:#244957;text-shadow:none;pointer-events:auto;z-index:20}
.backpack-grid{display:grid;grid-template-columns:repeat(8,66px);gap:6px;padding:9px;background:#173f52f0;border-radius:18px;box-shadow:0 8px 30px #163b4c55}
.altar-grid{background:#5c3f1ff0}.altar-window .supply-source{background:#5c3f1ff0}
.backpack-window{display:flex;flex-direction:column;align-items:center}.altar-window,.shop-window{order:2}
.shop-grid{grid-template-columns:repeat(4,66px);background:#7a3a2ef0}.shop-window .supply-source{background:#7a3a2ef0}.shop-grid .backpack-cell.empty{background:#9a5a48}
@media(max-width:620px){.shop-grid{grid-template-columns:repeat(4,calc((100vw - 76px)/8))}}   /* plecak po lewej, ołtarz po prawej; oba z nagłówkiem = równe */
.backpack-cell{position:relative;height:66px;background:#fff9e9;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:inset 0 -3px #d5cbb7;cursor:grab}
.backpack-cell.empty{background:#2c5a6c;box-shadow:inset 0 2px 6px #0003;cursor:default}.altar-grid .backpack-cell.empty{background:#7a5a33}.backpack-cell .slot-icon{margin-top:0}.backpack-cell .slot-name{font-size:10px;font-weight:800}
.backpack-cell.ghost{opacity:.55}.dragging{opacity:.4}.drop-over{outline:3px solid #ffcf59;outline-offset:2px}
#slotbar.editing .slots button{cursor:grab}#slotbar.editing .supply-source{visibility:hidden}.slots button.empty .slot-icon{opacity:0}
@media(max-width:620px){.backpack-grid{grid-template-columns:repeat(8,calc((100vw - 76px)/8))}.backpack-cell{height:calc((100vw - 76px)/8)}.backpack-cell .slot-name{display:none}.backpack-cell .slot-icon{transform:scale(.7)}}
.slot-icon.rod{font-size:26px;line-height:31px}.slot-icon.rod:before{content:'🎣'}
.slot-icon.pickaxe:after{content:'';position:absolute;width:29px;height:11px;top:1px;left:1px;border-top:6px solid #7799a7;border-radius:50%}
@media(max-width:520px){.slots{gap:4px;padding:6px}.slots button{width:calc((100vw - 76px)/9);max-width:75px}.slot-name{display:none}}
@media(max-width:760px){#slotbar{bottom:80px}.slots button{width:62px;height:74px}.controls{font-size:10px}}
@media(max-width:520px){.slots button{width:calc((100vw - 76px)/9);max-width:75px;height:70px}.slot-icon{transform:scale(.85)}}

/* Wioska V1: dymki potrzeb nad Wyspiakami i karta „Następny cel”. */
#need-bubbles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.need-bubble{position:absolute;left:0;top:0;padding:3px 7px;border-radius:14px 14px 14px 4px;background:#fffdf2;box-shadow:0 3px 8px #0003;font-size:18px;line-height:22px;animation:bubble-bob 1.4s ease-in-out infinite}
.need-bubble.doing{background:#e8f6ff}
.need-bubble.mood{background:#ffe4dc;font-size:22px}
@keyframes bubble-bob{50%{margin-top:-4px}}
#goal-card{position:absolute;top:16px;right:16px;min-width:170px;padding:10px 12px;border-radius:16px;background:#173f52e8;color:#fff8dd;text-align:center;box-shadow:0 5px 22px #163b4c44;text-shadow:none}
#goal-card .goal-level{font-size:15px;font-weight:900;letter-spacing:.5px}
#goal-card .goal-title{margin-top:4px;font-size:10px;font-weight:800;opacity:.75;text-transform:uppercase;letter-spacing:1px}
#goal-card .goal-list{display:flex;justify-content:center;gap:6px;margin-top:6px}
#goal-card .goal{display:flex;flex-direction:column;align-items:center;padding:5px 7px;border-radius:10px;background:#fff9e9;color:#244957;font-size:20px;line-height:22px}
#goal-card .goal b{font-size:11px}#goal-card .goal.done{background:#bff0a8}#goal-card .goal.done b::after{content:' ✓'}
#goal-card .goal-stats{display:flex;justify-content:center;gap:12px;margin-top:7px;font-size:13px;font-weight:900}
#goal-card.level-up{animation:level-up .6s ease-in-out 5}
@keyframes level-up{50%{transform:scale(1.12);background:#f2b632}}
@media(max-width:520px){#goal-card{top:auto;bottom:190px;right:8px;min-width:0;padding:6px 8px}#goal-card .goal{font-size:15px}}

/* Metal: ikony rudy i żelaza, dymek stanu pieca, podpowiedź PPM. */
.slot-icon.ore{background:radial-gradient(circle at 30% 40%,#f2b54a 0 18%,transparent 19%),radial-gradient(circle at 68% 62%,#f2b54a 0 14%,transparent 15%),#8f8a84;border-radius:40% 55% 45% 50%}
.slot-icon.iron{background:linear-gradient(160deg,#dfe6ea,#8d9aa3 60%,#6d7880);border-radius:4px;transform:skewX(-12deg) scaleY(.6)}
#workshop-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.workshop-label{position:absolute;left:0;top:0;padding:3px 9px;border-radius:12px;background:#fff4dd;color:#5a3300;font-weight:900;font-size:14px;box-shadow:0 3px 8px #0003;white-space:nowrap}
#workshop-hint{position:fixed;left:50%;top:calc(50% + 70px);transform:translateX(-50%);padding:6px 12px;border-radius:12px;background:#1d4a5ee0;color:#fff;font-weight:800;font-size:13px;pointer-events:none}
#workshop-hint kbd{padding:1px 5px;border-radius:5px;background:#ffffff30;border:1px solid #ffffff60;font-size:11px}

/* Kosiarka: podpowiedź sterowania pod celownikiem. */
#mower-hint{position:fixed;left:50%;top:calc(50% + 120px);transform:translateX(-50%);padding:7px 14px;border-radius:12px;background:#1d4a5ee0;color:#fff;font-weight:800;font-size:14px;white-space:nowrap;pointer-events:none;z-index:5}
#mower-hint kbd{padding:2px 6px;border-radius:6px;background:#ffffff30;border:1px solid #ffffff60;font-size:11px}

/* Karta Wyspiaka przy ręce boga: imię, zawód, czynność i paski potrzeb. */
#npc-card{position:absolute;left:0;top:0;min-width:150px;padding:8px 10px;border-radius:14px;background:#173f52ee;color:#fff8dd;text-shadow:none;pointer-events:none;box-shadow:0 5px 16px #0004;z-index:4}
#npc-card .npc-name{font-weight:900;font-size:14px;white-space:nowrap}#npc-card .npc-doing{font-size:11px;opacity:.8;margin-top:1px}
#npc-card .npc-bar{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:14px}#npc-card .npc-bar i{flex:1;height:9px;border-radius:5px;background:#ffffff25;overflow:hidden}
#npc-card .npc-bar b{display:block;height:100%;border-radius:5px;transition:width .3s}

.slot-icon.water{background:radial-gradient(circle at 35% 30%,#dff4ff 0 14%,#6cc4ff 15% 60%,#2f8fdc 61%);border-radius:50% 50% 50% 50%/60% 60% 40% 40%}

/* Komiksowe napisy w świecie (piątka bogów). */
#comic-bursts{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:6}
.comic-burst{position:absolute;left:0;top:0;width:190px;height:130px;display:grid;place-items:center;background:#ffd84a;clip-path:polygon(50% 0,61% 28%,92% 12%,76% 42%,100% 55%,72% 64%,84% 96%,55% 76%,40% 100%,34% 72%,4% 86%,22% 58%,0 40%,28% 36%,14% 6%,42% 26%);filter:drop-shadow(0 4px 0 #c8551e)}
.comic-burst span{font:900 34px 'Comic Sans MS','Nunito',sans-serif;color:#e2463a;letter-spacing:1px;-webkit-text-stroke:2px #5a1d0c;transform:rotate(-6deg)}
.comic-burst.wide{width:340px;height:220px}
.comic-burst.wide span{max-width:52%;font-size:28px;line-height:1.05;text-align:center;letter-spacing:0}

/* Farma: ikony nasion i zboża, podpowiedź PPM przy grządce. */
.slot-icon.seeds{background:radial-gradient(circle at 30% 35%,#c9a46a 0 12%,transparent 13%),radial-gradient(circle at 65% 45%,#c9a46a 0 12%,transparent 13%),radial-gradient(circle at 45% 70%,#c9a46a 0 12%,transparent 13%),#7a5230;border-radius:50%}
.slot-icon.wheat{background:linear-gradient(90deg,transparent 42%,#b8902c 42% 58%,transparent 58%),radial-gradient(ellipse at 50% 25%,#f0cf5a 0 30%,transparent 31%);border-radius:6px}
#farm-hint{position:fixed;left:50%;top:calc(50% + 70px);transform:translateX(-50%);padding:6px 12px;border-radius:12px;background:#1d4a5ee0;color:#fff;font-weight:800;font-size:13px;pointer-events:none}
#farm-hint kbd{padding:1px 5px;border-radius:5px;background:#ffffff30;border:1px solid #ffffff60;font-size:11px}

.slot-icon.food{background:radial-gradient(ellipse 38% 24% at 44% 50%,#4f8fb0 0 95%,transparent 100%),conic-gradient(from 60deg at 78% 50%,#2f5a74 0 60deg,transparent 60deg);border-radius:30%}
.slot-icon.bread{background:radial-gradient(ellipse at 50% 40%,#f2c070 0 45%,#c98a3a 46% 62%,transparent 63%);border-radius:40%}

/* Sklep: ikona monet, podpowiedź PPM przy ladzie. */
.slot-icon.milk{background:linear-gradient(#4a90d9 0 0) 50% 18%/34% 12% no-repeat,linear-gradient(#ffffff 0 0) 50% 62%/52% 62% no-repeat;border-radius:6px}
.slot-icon.emoji{background:none;display:grid;place-items:center;font:30px/1 "Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;border-radius:0}
.slot-icon.wrench{background:linear-gradient(135deg,transparent 42%,#b5c4cc 43% 57%,transparent 58%),radial-gradient(circle at 74% 26%,transparent 0 12%,#b5c4cc 13% 26%,transparent 27%),radial-gradient(circle at 28% 72%,#e2574c 0 16%,transparent 17%)}
.slot-icon.coins{background:radial-gradient(circle at 40% 40%,#fff3b0 0 18%,#ffcf4a 19% 55%,#c9971f 56% 66%,transparent 67%),radial-gradient(circle at 68% 66%,#ffcf4a 0 30%,#c9971f 31% 38%,transparent 39%);border-radius:50%}
#shop-hint{position:fixed;left:50%;top:calc(50% + 70px);transform:translateX(-50%);padding:6px 12px;border-radius:12px;background:#1d4a5ee0;color:#fff;font-weight:800;font-size:13px;pointer-events:none}
#shop-hint kbd{padding:1px 5px;border-radius:5px;background:#ffffff30;border:1px solid #ffffff60;font-size:11px}

/* Dymki mowy Wyspiaków. */
#speech-bubbles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}
.speech-bubble{position:absolute;left:0;top:0;max-width:220px;padding:7px 12px;border-radius:16px 16px 16px 4px;background:#fff;color:#244957;font-weight:800;font-size:14px;line-height:1.25;box-shadow:0 4px 12px #0003;text-align:center}

#job-hint{position:absolute;left:0;top:0;padding:6px 12px;border-radius:16px 16px 16px 4px;background:#fff4c2;border:2px solid #f0b429;box-shadow:0 4px 10px #0004;font-size:18px;font-weight:700;color:#5a3d00;pointer-events:none;white-space:nowrap;animation:bubble-bob 1.2s ease-in-out infinite;z-index:5}
#job-hint.same{background:#eef6ea;border-color:#9ccf8a;color:#35602a;font-weight:600}

/* Znaczki akcji nad obiektami (ui/action-badges.js): take zielony, put żółty, work niebieski; myszka PPM z bliska. */
.action-badge{position:absolute;left:0;top:0;display:flex;align-items:center;gap:3px;padding:5px 10px;border-radius:18px 18px 18px 5px;box-shadow:0 4px 10px #0004;font-size:26px;line-height:30px;pointer-events:none;white-space:nowrap;border:3px solid #fff;animation:bubble-bob 1.4s ease-in-out infinite}
.action-badge b{font-weight:400}.action-badge small{font-size:15px;font-weight:800;color:#3b2a00;margin-left:-2px;align-self:flex-end}
.ab-take{background:#b8f0a0;border-color:#4fae3a;animation:ab-pulse 1s ease-in-out infinite}
.ab-put{background:#ffe79a;border-color:#f0b429}
.ab-work{background:#d5ecff;border-color:#6aaee8}
.ab-sign{font-size:22px}.ab-plus,.ab-arrow{font-size:18px;font-weight:900;color:#6b5210}
.ab-miss{opacity:.3;filter:grayscale(1)}
.ab-bar{display:inline-block;width:46px;height:10px;border-radius:5px;background:#fff9;margin-left:4px;overflow:hidden}.ab-bar i{display:block;height:100%;background:#3d8fdc;border-radius:5px}
.ab-close{transform-origin:50% 100%}
.rmb{display:inline-block;position:relative;width:20px;height:28px;margin-left:6px;border:3px solid #333;border-radius:10px 10px 11px 11px;background:#fff;animation:rmb-blink .8s steps(2) infinite}
.rmb::before{content:'';position:absolute;right:0;top:0;width:8px;height:11px;border-radius:0 7px 0 0;background:#ff5a3c}
.rmb::after{content:'';position:absolute;left:8px;top:0;width:2px;height:11px;background:#333}
@keyframes ab-pulse{0%,100%{box-shadow:0 4px 10px #0004,0 0 0 0 #6fdc5588}50%{box-shadow:0 4px 10px #0004,0 0 0 8px #6fdc5500}}
@keyframes rmb-blink{50%{border-color:#ff5a3c}}
/* Łopata (finał gry: piasek z plaży) */
.slot-icon.shovel{position:relative;transform:rotate(-28deg)}.slot-icon.shovel:before{content:'';position:absolute;width:5px;height:21px;left:13px;top:0;background:#a96c35;border-radius:3px;border:1px solid #805126}
.slot-icon.shovel:after{content:'';position:absolute;width:16px;height:13px;left:7px;top:18px;background:linear-gradient(#d9ecf2,#7799a7);border-radius:3px 3px 50% 50%;border:1px solid #5d7c88}
/* Proca (tor kolekcji): drewniane Y z czerwoną gumą */
.slot-icon.slingshot{position:relative;background:linear-gradient(#a0652f 0 0) 50% 100%/5px 45% no-repeat}.slot-icon.slingshot:before,.slot-icon.slingshot:after{content:'';position:absolute;top:3px;width:5px;height:15px;background:#a0652f;border-radius:3px}
.slot-icon.slingshot:before{left:8px;transform:rotate(-25deg)}.slot-icon.slingshot:after{right:8px;transform:rotate(25deg);box-shadow:-9px 2px 0 -1px #e2493b}
