@font-face{font-family:"Cinzel Dino";src:url('../assets/fonts/cinzel-latin-ext-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Cinzel Dino";src:url('../assets/fonts/cinzel-latin-ext-900.woff2') format('woff2');font-style:normal;font-weight:900;font-display:swap}
@font-face{font-family:"Barlow Dino";src:url('../assets/fonts/barlow-condensed-latin-ext-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Barlow Dino";src:url('../assets/fonts/barlow-condensed-latin-ext-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Dino";src:url('../assets/fonts/barlow-condensed-latin-ext-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}

:root{
  --obsidian:#031514;
  --deep:#062522;
  --panel:#0b322b;
  --panel-2:#102f27;
  --gold:#d3a744;
  --gold-light:#f2d27c;
  --gold-dark:#78501e;
  --cyan:#2ee5dc;
  --cyan-soft:#8dfff5;
  --cream:#f7e8bd;
  --muted:#a9c2b8;
  --danger:#c34a35;
  --shadow:0 22px 60px rgba(0,0,0,.55);
  --font-display:"Cinzel Dino",Georgia,"Times New Roman",serif;
  --font-ui:"Barlow Dino","Arial Narrow","Trebuchet MS",sans-serif;
  color-scheme:dark;
}

*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;font-family:var(--font-ui);font-size:16px;font-weight:500;background:var(--obsidian);color:var(--cream);overscroll-behavior:none}
body{display:grid;place-items:center;min-height:100vh;min-height:100dvh;overflow:hidden}
button,input,select{font:inherit}
button{touch-action:manipulation}
button:focus-visible{outline:2px solid var(--cyan-soft);outline-offset:3px}
img{max-width:100%}

.desktop-bg{position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 18% 15%,rgba(20,126,105,.22),transparent 33%),radial-gradient(circle at 85% 82%,rgba(189,123,36,.16),transparent 28%),linear-gradient(145deg,#020d0e,#06241f 52%,#06181d)}
.desktop-bg::before,.desktop-bg::after{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(120deg,transparent 46%,rgba(51,188,139,.08) 47%,transparent 49%);background-size:190px 190px}
.desktop-bg::after{transform:scaleX(-1);opacity:.1}

.phone-shell{position:relative;width:min(440px,100vw);height:min(920px,100vh);height:min(920px,100dvh);overflow:hidden;border:1px solid rgba(213,180,93,.24);border-radius:34px;background:#061d1c;box-shadow:0 38px 110px rgba(0,0,0,.7),0 0 0 7px rgba(255,255,255,.025)}
.app{position:relative;width:100%;height:100%;overflow:hidden;background:#061d1c}
.screen{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;animation:screen-in .28s cubic-bezier(.2,.78,.2,1)}
.screen-scroll{position:absolute;inset:0;z-index:2;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(211,167,68,.55) transparent}
.screen-scroll::-webkit-scrollbar{width:5px}.screen-scroll::-webkit-scrollbar-thumb{border-radius:9px;background:rgba(211,167,68,.55)}
@keyframes screen-in{from{opacity:.2;transform:scale(.99) translateY(5px)}to{opacity:1;transform:none}}
@keyframes crest-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes load-fill{from{width:0}to{width:100%}}
@keyframes glow{0%,100%{filter:drop-shadow(0 0 5px rgba(46,229,220,.35))}50%{filter:drop-shadow(0 0 14px rgba(46,229,220,.85))}}

.screen-frame{position:absolute;inset:0;z-index:50;pointer-events:none;border-style:solid;border-color:transparent}
.frame-main{border-width:156px 119px 140px;border-image-source:url('../assets/images/rzut-tryb-gry/outer_frame_9slice/full.png');border-image-slice:300 230 270 230;border-image-repeat:round}
.frame-mode{border-width:46px 32px;border-image-source:url('../assets/images/tryby-gry-ekran/outer_frame_9slice/full.png');border-image-slice:90;border-image-repeat:round}
.frame-collection{display:none}
.frame-splash{border-width:95px 76px;border-image-source:url('../assets/images/okladka-gry/assets/frame_9slice/frame_overlay_source.png');border-image-slice:350 300;border-image-repeat:round}

/* Splash */
.splash-screen{background:url('../assets/images/okladka-gry/assets/backgrounds/background_1080x2340_19_5x9.webp') center/cover no-repeat}
.splash-screen::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,9,8,.05),rgba(0,12,11,.06) 52%,rgba(0,11,10,.42));z-index:0}
.splash-logo-wrap{position:absolute;left:14%;right:14%;top:21.4%;z-index:3;animation:crest-float 4.6s ease-in-out infinite}
.splash-logo{display:block;width:100%;filter:drop-shadow(0 14px 18px rgba(0,0,0,.7))}
.splash-loading{position:absolute;left:22.2%;right:22.2%;bottom:8.2%;z-index:4}
.loading-shell{height:40px;padding:12px 16px;border:15px solid transparent;border-image-source:url('../assets/images/okladka-gry/assets/loading_3slice/loading_track_full.png');border-image-slice:0 80 fill;border-image-width:0 24px;border-image-repeat:stretch;display:flex;align-items:center}
.loading-shell span{display:block;width:0;height:8px;border-radius:20px;background:linear-gradient(90deg,#26d7a0,#92f0a8 55%,#d5a63a);box-shadow:0 0 13px rgba(58,239,188,.8);animation:load-fill 1.65s ease forwards}

/* Main menu */
.home-screen{background:url('../assets/images/rzut-tryb-gry/background/main_menu_background_862x1825.webp') center/cover no-repeat}
.home-screen::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,10,9,.04),rgba(0,15,13,.08) 42%,rgba(0,14,12,.36) 66%,rgba(0,11,10,.72));z-index:0}
.home-brand{position:absolute;z-index:3;left:26%;right:26%;top:9.5%;text-align:center;animation:crest-float 5s ease-in-out infinite}
.home-logo{display:block;width:100%;filter:drop-shadow(0 13px 18px rgba(0,0,0,.72))}
.home-brand p{margin:-3px 0 0;color:var(--cyan-soft);font-size:10px;font-family:var(--font-display);font-weight:900;letter-spacing:.15em;text-shadow:0 2px 6px #000}
.home-dashboard {
    position: absolute;
    z-index: 4;
    left: 5.2%;
    right: 5.2%;
    bottom: 3%;
    max-height: 57%;
    overflow: auto;
    padding: 6px 0px 21px;
    border: 40px solid transparent;
    border-image-source: url(../assets/images/rzut-tryb-gry/dashboard_panel_9slice/full.png);
    border-image-slice: 150 fill;
    border-image-width: 38px;
    border-image-repeat: round;
    filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .62));
    scrollbar-width: none;
}
.home-dashboard::-webkit-scrollbar{display:none}
.home-description{margin:0 3px 11px;color:#d2e1d7;font-size:12px;font-weight:500;line-height:1.35;text-align:center;text-shadow:0 1px 2px #000}
.home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}
.stone-stat{min-width:0;height:58px;overflow:hidden;padding:8px 3px;border:0 solid transparent;border-width:0 10px;border-image-source:url('../assets/images/rzut-tryb-gry/stat_tile_3slice/full.png');border-image-slice:0 100 fill;border-image-width:0 20px;border-image-repeat:stretch;display:grid;place-content:center;text-align:center;color:var(--cream)}
.stone-stat strong{display:block;font-family:var(--font-display);font-size:18px;line-height:1;color:var(--gold-light);text-shadow:0 2px 2px #000}
.stone-stat span{display:block;max-width:100%;overflow:hidden;margin-top:5px;color:#a7e5dc;font-size:8.5px;font-weight:700;letter-spacing:.055em;white-space:nowrap}
.stone-button{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-width:0;margin:0;border-style:solid;border-color:transparent;background:transparent;color:var(--cream);font-family:var(--font-display);font-weight:900;letter-spacing:.015em;text-transform:uppercase;cursor:pointer;text-shadow:0 2px 3px #000;transition:transform .15s ease,filter .15s ease}
.stone-button:hover{filter:brightness(1.16)}.stone-button:active{transform:scale(.978)}
.primary-action{min-height:56px;padding:7px 20px;border-width:18px;border-image-source:url('../assets/images/rzut-tryb-gry/primary_button_3slice/full.png');border-image-slice:0 100 fill;border-image-width:0 25px;border-image-repeat:stretch;font-size:13px;color:#fff7cf}
.secondary-action{min-height:53px;padding:7px 14px;border-width:17px;border-image-source:url('../assets/images/rzut-tryb-gry/secondary_button_3slice/full.png');border-image-slice:0 100 fill;border-image-width:0 23px;border-image-repeat:stretch;font-size:10.5px}
.button-icon{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.55))}
.home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:6px}
.home-actions .button-icon{width:26px;height:26px}
.autosave-line{display:flex;align-items:center;justify-content:center;gap:7px;margin:8px 4px 0;color:#b5d0c6;font-size:9px;line-height:1.25;text-align:center}
.autosave-icon{width:19px;height:19px;object-fit:contain}

/* Shared headers */
.stone-header{position:relative;z-index:6;display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:center;gap:14px;min-height:88px;margin:0;padding:22px 30px 8px}
.stone-header.mode{padding-top:28px}
.image-nav,.game-nav{display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 5px 6px rgba(0,0,0,.55));transition:transform .15s ease,filter .15s ease}
.image-nav:hover,.game-nav:hover{filter:brightness(1.18) drop-shadow(0 5px 8px rgba(0,0,0,.65));transform:translateY(-1px)}
.nav-art{width:100%;height:100%;object-fit:contain}
.header-balance{width:46px;height:46px}
.header-plaque{position:relative;min-height:54px;display:grid;place-content:center;padding:8px 30px;text-align:center;border:19px solid transparent;border-image-source:url('../assets/images/tryby-gry-ekran/header_plaque_3slice/full.png');border-image-slice:0 90 fill;border-image-width:0 23px;border-image-repeat:stretch}
.header-plaque h1{margin:0;font-family:var(--font-display);color:var(--gold-light);font-size:16px;line-height:1.08;letter-spacing:.055em;text-shadow:0 2px 4px #000}
.header-plaque p{margin:5px 0 0;color:#a9ded5;font-size:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.header-info{position:absolute;right:4px;top:50%;width:35px;height:35px;padding:0;border:0;background:transparent;transform:translateY(-50%);cursor:pointer}
.info-art{width:100%;height:100%;object-fit:contain}

/* Game mode selection */
.mode-screen{background:url('../assets/images/tryby-gry-ekran/background/mode_selection_background_900x1748.webp') center/cover no-repeat}
.mode-screen::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,10,9,.1),rgba(0,13,12,.12) 65%,rgba(0,10,9,.36));z-index:1}
.mode-scroll{padding-bottom:55px}
.mode-list{display:flex;flex-direction:column;gap:12px;padding:13px 20px 9px}
.mode-choice{position:relative;width:100%;min-height:154px;padding:18px 60px 18px 106px;border:24px solid transparent;background:transparent;color:var(--cream);cursor:pointer;text-align:left;filter:drop-shadow(0 10px 14px rgba(0,0,0,.4));transition:transform .18s ease,filter .18s ease}
.mode-choice.featured{min-height:175px;border-image-source:url('../assets/images/tryby-gry-ekran/mode_card_featured_9slice/full.png');border-image-slice:75 fill;border-image-width:24px;border-image-repeat:round}
.mode-choice.standard{border-image-source:url('../assets/images/tryby-gry-ekran/mode_card_standard_9slice/full.png');border-image-slice:75 fill;border-image-width:24px;border-image-repeat:round}
.mode-choice:hover{transform:translateY(-2px);filter:brightness(1.12) drop-shadow(0 14px 18px rgba(0,0,0,.5))}
.mode-choice.selected{filter:brightness(1.12) drop-shadow(0 0 12px rgba(46,229,220,.45))}
.mode-illustration { position: absolute; left: -3px; top: 50%; width: 104px; height: 113px; object-fit: contain; transform: translateY(-50%); filter: drop-shadow(0 8px 8px rgba(0, 0, 0, .55)); }
.mode-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start}
.mode-kicker{margin-bottom:7px;color:var(--cyan-soft);font-size:8.5px;font-weight:700;letter-spacing:.12em}
.mode-copy strong{font-family:var(--font-display);font-size:16px;line-height:1.12;color:var(--gold-light);letter-spacing:.025em;text-shadow:0 2px 3px #000}
.mode-copy small{display:block;margin-top:7px;color:#c4d7cf;font-size:10.5px;font-weight:500;line-height:1.28}
.mode-status{margin-top:9px;padding:4px 9px;border:1px solid rgba(46,229,220,.5);border-radius:999px;background:rgba(7,58,52,.75);color:var(--cyan-soft);font-size:8.5px;font-weight:700;letter-spacing:.06em}
.mode-chevron,.category-chevron{position:absolute;right:25px;top:50%;width:29px;height:29px;object-fit:contain;transform:translateY(-50%)}
.mode-play{width:calc(100% - 40px);margin:5px 20px 0}

/* Collection, categories and levels */
.collection-screen{background:#061d1b url('../assets/images/widok-galeria-zdobytych-dinozaurow/background/collection_background.webp') center top/cover no-repeat}
.collection-screen::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,8,7,.02),rgba(0,12,10,.15) 45%,rgba(0,8,7,.35));z-index:0;pointer-events:none}
.collection-scroll{z-index:2;padding-bottom:max(38px,env(safe-area-inset-bottom))}
.collection-progress{position:relative;display:grid;grid-template-columns:46px auto 1fr auto;align-items:center;gap:8px;min-height:74px;margin:5px 31px 10px;padding:11px 15px;background:url('../assets/images/widok-galeria-zdobytych-dinozaurow/progress/progress_panel_empty.png') center/100% 100% no-repeat;filter:drop-shadow(0 8px 11px rgba(0,0,0,.42))}
.collection-progress.compact-progress{grid-template-columns:45px auto 1fr}
.progress-emblem{width:42px;height:42px;object-fit:contain}
.collection-progress strong{display:block;color:var(--gold-light);font-family:Georgia,"Times New Roman",serif;font-size:14px;line-height:1}
.collection-progress span{display:block;margin-top:4px;color:#a5cfc5;font-size:7px;font-weight:900;letter-spacing:.08em}
.progress-main{min-width:70px}.progress-percent{text-align:right}
.code-progress{height:8px;overflow:hidden;border:1px solid #274b40;border-radius:10px;background:#031513;box-shadow:inset 0 2px 4px rgba(0,0,0,.7)}
.code-progress span{height:100%;margin:0;border-radius:inherit;background:linear-gradient(90deg,#d68e2c,#f0c35b 55%,#32c98b);box-shadow:0 0 8px rgba(50,201,139,.6)}
.category-list{display:flex;flex-direction:column;gap:11px;padding:6px 32px 20px}
.category-choice{position:relative;width:100%;min-height:142px;overflow:hidden;padding:20px 58px 20px 100px;border:30px solid transparent;border-image-source:url('../assets/images/tryby-gry-ekran/mode_card_standard_9slice/full.png');border-image-slice:75 fill;border-image-width:29px;border-image-repeat:round;background:transparent;color:var(--cream);text-align:left;cursor:pointer;filter:drop-shadow(0 9px 12px rgba(0,0,0,.42));transition:transform .16s ease,filter .16s ease}
.category-choice:hover:not(.unavailable){transform:translateY(-2px);filter:brightness(1.13) drop-shadow(0 11px 14px rgba(0,0,0,.52))}
.category-art{position:absolute;inset:15px;width:calc(100% - 30px);height:calc(100% - 30px);object-fit:cover;opacity:.25;filter:saturate(.7) contrast(1.1)}
.category-shade{position:absolute;inset:15px;background:linear-gradient(90deg,rgba(2,20,18,.2),rgba(2,20,18,.8) 42%,rgba(2,20,18,.92))}
.category-icon{position:absolute;z-index:2;left:27px;top:50%;width:58px;height:58px;object-fit:contain;transform:translateY(-50%);filter:drop-shadow(0 5px 7px #000)}
.category-copy{position:relative;z-index:2;display:flex;flex-direction:column}.category-copy strong{font-family:Georgia,"Times New Roman",serif;color:var(--gold-light);font-size:15px;letter-spacing:.05em}.category-copy small{margin-top:6px;color:#b6cbc3;font-size:9px;line-height:1.32}.category-copy em{margin-top:8px;color:var(--cyan-soft);font-size:7.5px;font-style:normal;font-weight:900;letter-spacing:.06em}
.category-choice.unavailable{opacity:.62;cursor:not-allowed;filter:saturate(.55)}
.category-lock{position:absolute;right:23px;top:50%;width:32px;height:32px;transform:translateY(-50%)}
.collection-title{display:flex;align-items:center;gap:11px;margin:6px 32px 9px;padding:11px 17px;border:1px solid color-mix(in srgb,var(--category) 75%,#d9ad52);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--category) 28%,#092823),rgba(5,27,24,.9));box-shadow:0 8px 18px rgba(0,0,0,.35)}
.collection-title img{width:43px;height:43px;object-fit:contain}.collection-title strong{display:block;font-family:Georgia,"Times New Roman",serif;color:var(--gold-light);font-size:14px}.collection-title span{display:block;margin-top:4px;color:#b5d3c9;font-size:8px}
.mode-mini-switch{display:flex;gap:6px;overflow-x:auto;margin:0 32px 8px;padding:2px 0 4px;scrollbar-width:none}.mode-mini-switch::-webkit-scrollbar{display:none}
.filter-chip{flex:0 0 auto;min-height:32px;padding:7px 10px;border:1px solid #6d5529;border-radius:999px;background:#0a2a25;color:#c4d8cf;font-size:7px;font-weight:900;text-transform:uppercase;cursor:pointer}.filter-chip.active{border-color:var(--cyan);color:var(--cyan-soft);box-shadow:0 0 8px rgba(46,229,220,.3)}
.level-hint{margin:7px 34px 12px;color:#a6bbb3;font-size:8.5px;line-height:1.4;text-align:center}
.level-card-grid,.gallery-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:0 32px 28px}

/* Collection cards */
.album-card { position: relative; width: 100%; aspect-ratio: 3 / 4; overflow: hidden; padding: 0; border: 0; background: #071b1800; color: var(--cream); cursor: pointer; filter: drop-shadow(0 8px 10px rgba(0, 0, 0, .48)); transition: transform .17s ease, filter .17s ease; }
.album-card:hover:not(.locked){transform:translateY(-3px);filter:brightness(1.08) drop-shadow(0 12px 14px rgba(0,0,0,.55))}
.card-art { position: absolute; left: 5.5%; top: 7.5%; width: 89%; height: 69%; object-fit: cover; object-position: top; border-radius: 20px; }
.card-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.card-name,.card-category,.card-rarity,.locked-title,.locked-hint{position:absolute;z-index:3;left:8%;width:84%;text-align:center;text-shadow:0 2px 3px #000}
.card-name{top:73.2%;height:8%;display:grid;place-items:center;color:#f1dab0;font-family:Georgia,"Times New Roman",serif;font-size:10px;font-weight:900;line-height:1.03}
.card-category { top: 85.2%; height: 5%; color: #8dd7ca; font-size: 6.5px; font-weight: 800; }
.card-rarity { top: 62%; height: 7.5%; display: grid; place-items: center; border: 1px solid rgba(211, 167, 68, .48); border-radius: 5px; background: rgba(6, 33, 28, .76); color: var(--gold-light); font-size: 6px; font-weight: 900; letter-spacing: .08em; margin-top: 8px; width: 65%; padding: 2px 6px; left: 0; right: 0; margin: auto; }
.locked-icon{position:absolute;z-index:3;left:34%;top:31%;width:32%;height:24%;object-fit:contain;filter:drop-shadow(0 6px 8px #000)}
.locked-title{top:72%;font-family:Georgia,"Times New Roman",serif;color:#ccb986;font-size:8px;font-weight:900;letter-spacing:.05em}.locked-hint{top:80%;color:#829b92;font-size:6.5px}
.level-number{position:absolute;z-index:4;right:9%;top:6%;display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(211,167,68,.7);border-radius:50%;background:rgba(3,21,19,.86);color:var(--gold-light);font-size:7px;font-weight:900;box-shadow:0 3px 8px #000}
.album-card.locked{cursor:not-allowed;filter:saturate(.65) brightness(.78) drop-shadow(0 6px 8px rgba(0,0,0,.45))}

/* Gallery */
.gallery-filters{display:flex;gap:6px;overflow-x:auto;margin:3px 31px 11px;padding:3px 0 6px;scrollbar-width:none}.gallery-filters::-webkit-scrollbar{display:none}
.gallery-filter{position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:5px;min-width:90px;height:39px;padding:6px 13px;border:0;background:url('../assets/images/widok-galeria-zdobytych-dinozaurow/filter_buttons/inactive.png') center/100% 100% no-repeat;color:#b8cdc5;font-size:7px;font-weight:900;cursor:pointer;text-shadow:0 1px 2px #000}.gallery-filter.active{background-image:url('../assets/images/widok-galeria-zdobytych-dinozaurow/filter_buttons/active.png');color:var(--gold-light)}
.filter-icon{width:18px;height:18px;object-fit:contain}
.empty-state{margin:25px 32px;padding:35px 20px;border:1px solid #5f4d2b;border-radius:16px;background:rgba(4,30,26,.78);color:#a9beb6;font-size:11px;text-align:center}

/* Detail card */
.detail-overlay{position:absolute;inset:0;z-index:100;background:#041716;animation:screen-in .23s ease}
.detail-screen{position:relative;width:100%;height:100%;overflow:hidden;background:url('../assets/images/pojedynczka-karta-rzut/background/detail_background_852x1846.webp') center/cover no-repeat}
.detail-nav{position:absolute;z-index:8;left:0;right:0;top:0;display:grid;grid-template-columns:50px 1fr 50px;align-items:center;gap:8px;padding:19px 29px 7px;background:linear-gradient(180deg,rgba(2,17,15,.94),rgba(2,17,15,.68),transparent)}
.detail-nav h2{margin:0;color:var(--gold-light);font-family:Georgia,"Times New Roman",serif;font-size:13px;letter-spacing:.11em;text-align:center;text-shadow:0 2px 3px #000}.favorite-active{filter:brightness(1.28) drop-shadow(0 0 9px rgba(242,210,124,.65))}
.detail-scroll{position:absolute;inset:0;overflow:auto;padding:82px 31px max(38px,env(safe-area-inset-bottom));scrollbar-width:thin;scrollbar-color:#8a6830 transparent}
.detail-hero{position:relative;width:100%;aspect-ratio:1.46;margin:3px 0 13px;filter:drop-shadow(0 12px 17px rgba(0,0,0,.55))}
.detail-art{position:absolute;left:4.7%;top:7%;width:90.6%;height:86%;object-fit:cover;border-radius:17px}
.detail-hero-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.detail-category-chip{position:absolute;left:8%;bottom:7%;display:flex;align-items:center;gap:4px;min-width:104px;height:27px;padding:3px 12px;border:10px solid transparent;border-image-source:url('../assets/images/pojedynczka-karta-rzut/category_chip_3slice/full.png');border-image-slice:0 70 fill;border-image-width:0 13px;color:var(--cyan-soft);font-size:7px;font-weight:900;text-transform:uppercase}.chip-icon{width:15px;height:15px;object-fit:contain}
.detail-rarity{position:absolute;right:5%;bottom:-7%;width:74px;height:74px;display:grid;place-items:center}.detail-rarity img{position:absolute;width:100%;height:100%;object-fit:contain}.detail-rarity span{position:relative;z-index:2;max-width:54px;color:var(--gold-light);font-size:5.5px;font-weight:900;text-align:center;text-shadow:0 2px 3px #000}
.species-heading{padding-right:76px;text-align:center}.species-heading h1{margin:0;color:#f3d893;font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1.05;text-shadow:0 3px 4px #000}.species-heading p{margin:5px 0 12px;color:#96b7ac;font-size:9px;font-style:italic}
.detail-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 10px}
.detail-stat{min-height:68px;display:flex;align-items:center;gap:7px;padding:10px 12px;border:21px solid transparent;border-image-source:url('../assets/images/pojedynczka-karta-rzut/stat_tile_9slice/full.png');border-image-slice:80 90 fill;border-image-width:20px;border-image-repeat:round}.detail-stat-icon{width:28px;height:28px;object-fit:contain}.detail-stat span{min-width:0}.detail-stat b{display:block;color:#7fcfc3;font-size:6px;letter-spacing:.08em}.detail-stat strong{display:block;margin-top:4px;color:#ead9a8;font-size:8.5px;line-height:1.15}
.detail-panel{margin-bottom:9px;padding:17px 19px;border:25px solid transparent;border-image-slice:90 95 fill;border-image-width:24px;border-image-repeat:round}.about-panel{border-image-source:url('../assets/images/pojedynczka-karta-rzut/description_panel_9slice/full.png')}.fact-panel-premium{border-image-source:url('../assets/images/pojedynczka-karta-rzut/fact_panel_9slice/full.png')}.detail-panel h3{display:flex;align-items:center;gap:7px;margin:0 0 6px;color:var(--gold-light);font-family:Georgia,"Times New Roman",serif;font-size:10px;letter-spacing:.09em}.section-icon{width:24px;height:24px;object-fit:contain}.detail-panel p{margin:0;color:#bfd0c8;font-size:9px;line-height:1.48}.detail-close{margin-top:2px}

/* Settings */
.settings-panel{display:flex;flex-direction:column;gap:8px;margin:8px 32px 17px}
.settings-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:9px;width:100%;min-height:75px;padding:12px 14px;border:1px solid rgba(194,151,61,.48);border-radius:14px;background:linear-gradient(145deg,rgba(12,51,44,.94),rgba(5,28,25,.94));color:var(--cream);text-align:left;box-shadow:0 8px 15px rgba(0,0,0,.32)}
button.settings-row{cursor:pointer}.settings-icon{display:grid;place-items:center;width:42px;height:42px}.settings-art{width:100%;height:100%;object-fit:contain}.settings-row strong{display:block;color:var(--gold-light);font-family:Georgia,"Times New Roman",serif;font-size:11px}.settings-row small{display:block;margin-top:4px;color:#9ab6ac;font-size:8px;line-height:1.3}
.switch{position:relative;width:48px;height:27px;border:1px solid #5b6c63;border-radius:999px;background:#172b27;box-shadow:inset 0 2px 5px rgba(0,0,0,.6)}.switch em{position:absolute;left:4px;top:3px;width:19px;height:19px;border-radius:50%;background:#78978b;transition:transform .2s ease,background .2s ease}.switch.on{border-color:#3ecab1;background:#0f5045}.switch.on em{transform:translateX(20px);background:#8dfff5;box-shadow:0 0 9px rgba(46,229,220,.7)}
.language-row{grid-template-columns:44px 1fr}.language-buttons{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.language-button{min-height:33px;border:1px solid #6a552e;border-radius:8px;background:#071f1c;color:#9db7ad;font-size:8px;font-weight:900;cursor:pointer}.language-button.active{border-color:var(--cyan);color:var(--cyan-soft);box-shadow:0 0 8px rgba(46,229,220,.25)}
.settings-section{margin:0 34px 8px;color:#9ab8ae;font-size:8px;letter-spacing:.12em}.settings-action{width:calc(100% - 64px);margin:0 32px 7px}.danger-action{filter:hue-rotate(315deg) saturate(1.3)}.offline-note{margin:12px 36px 0;color:#8ea79e;font-size:8px;line-height:1.4;text-align:center}

/* Gameplay */
.game-screen,.game-wrap{position:relative;width:100%;height:100%;overflow:hidden;background:#031b1a;touch-action:none}
#gameCanvas{display:block;width:100%;height:100%}
.game-hud{position:absolute;z-index:12;left:11px;right:11px;top:max(8px,env(safe-area-inset-top));min-height:80px;display:grid;grid-template-columns:50px minmax(0,1fr) auto 46px;align-items:start;gap:10px;padding:9px 11px 12px;border:1px solid rgba(211,167,68,.52);border-radius:16px;background:linear-gradient(180deg,rgba(4,30,27,.96),rgba(4,28,25,.82));box-shadow:0 8px 18px rgba(0,0,0,.45),inset 0 0 0 1px rgba(46,229,220,.14);backdrop-filter:blur(8px)}
.game-nav{width:40px;height:40px}.game-nav.pause{position:relative;border:1px solid rgba(211,167,68,.55);border-radius:12px;background:#0b332c}.game-nav.pause::before{content:"";width:15px;height:18px;background:linear-gradient(90deg,var(--gold-light) 0 5px,transparent 5px 10px,var(--gold-light) 10px 15px);filter:drop-shadow(0 2px 2px #000)}.game-nav.pause.resume::before{width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:15px solid var(--gold-light);background:none}
.game-title{min-width:0;padding-top:1px}.game-title strong{display:-webkit-box;overflow:hidden;color:var(--gold-light);font-family:var(--font-display);font-size:10.5px;line-height:1.17;-webkit-box-orient:vertical;-webkit-line-clamp:2}.game-title small{display:block;margin-top:4px;color:#b2e1d8;font-size:8.5px;font-weight:700;letter-spacing:.025em}.game-title small+small{margin-top:2px;color:#8aafa5;font-size:8px}
.game-lives{display:flex;align-items:center;gap:2px;padding-top:5px}.life-egg{width:18px;height:25px;object-fit:contain;filter:drop-shadow(0 2px 3px #000)}.life-egg.lost{opacity:.18;filter:grayscale(1)}
.game-tip{position:absolute;z-index:11;left:50%;top:96px;max-width:76%;padding:7px 13px;border:1px solid rgba(211,167,68,.55);border-radius:999px;background:rgba(5,35,31,.9);color:#d3e8e0;font-size:9px;font-weight:700;text-align:center;box-shadow:0 6px 12px rgba(0,0,0,.4);transform:translateX(-50%);transition:opacity .2s ease;backdrop-filter:blur(5px)}
.game-frame{position:absolute;z-index:9;inset:3px;pointer-events:none;border:1px solid rgba(46,229,220,.2);border-radius:25px;box-shadow:inset 0 0 26px rgba(46,229,220,.08)}

/* Results */
.result-overlay{position:absolute;inset:0;z-index:120;display:grid;place-items:center;padding:22px;background:rgba(1,14,13,.88);backdrop-filter:blur(9px);animation:screen-in .2s ease}
.result-panel{width:100%;max-height:92%;overflow:auto;padding:18px 20px 20px;border:30px solid transparent;border-image-source:url('../assets/images/pojedynczka-karta-rzut/description_panel_9slice/full.png');border-image-slice:90 95 fill;border-image-width:28px;border-image-repeat:round;text-align:center;filter:drop-shadow(0 22px 34px rgba(0,0,0,.68));scrollbar-width:none}.result-panel::-webkit-scrollbar{display:none}
.result-kicker{display:block;margin-bottom:9px;color:var(--cyan-soft);font-size:9.5px;font-weight:700;letter-spacing:.12em}.result-card-art{position:relative;width:70%;max-width:230px;aspect-ratio:3/4;margin:0 auto 8px}.result-card-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.result-card-art img:last-child{object-fit:fill}.result-panel h2{margin:9px 0 4px;color:var(--gold-light);font-family:var(--font-display);font-size:24px;line-height:1.08}.result-scientific{margin:0 0 10px;color:#a2bdb4;font-size:10px;font-style:italic}.result-fact{margin:9px 0 11px;padding:12px 13px;border:1px solid rgba(211,167,68,.42);border-radius:11px;background:rgba(4,29,26,.62);text-align:left}.result-fact strong{color:var(--gold-light);font-size:9px;letter-spacing:.09em}.result-fact p{margin:5px 0 0;color:#c6d6d0;font-size:10.5px;line-height:1.35}.result-score{margin:8px 0;color:var(--cyan-soft);font-family:var(--font-display);font-size:20px;font-weight:900}.result-back{margin-top:7px}.result-panel>small{display:block;margin-top:10px;color:#91aaa1;font-size:8.5px}.result-egg{width:132px;height:132px;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.55))}.result-panel.lose>p{color:#c0d0ca;font-size:11.5px;line-height:1.42}

.confetti-layer{position:absolute;inset:0;z-index:160;pointer-events:none}
.toast{position:absolute;z-index:170;left:50%;bottom:max(24px,env(safe-area-inset-bottom));max-width:86%;padding:11px 16px;border:1px solid rgba(211,167,68,.66);border-radius:999px;background:#092c27;color:#f5e5b8;font-size:9px;font-weight:900;text-align:center;box-shadow:0 12px 28px rgba(0,0,0,.55);transform:translateX(-50%);animation:toast-in .25s ease,toast-out .25s ease 1.8s forwards}
@keyframes toast-in{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%,8px)}}

.desktop-help{position:fixed;left:calc(50% + 245px);top:50%;display:flex;flex-direction:column;gap:8px;max-width:240px;padding:18px;border:1px solid rgba(211,167,68,.28);border-radius:16px;background:rgba(3,24,22,.78);color:#a9c2b8;box-shadow:0 18px 50px rgba(0,0,0,.35);backdrop-filter:blur(12px);transform:translateY(-50%);font-size:11px;line-height:1.4}.desktop-help strong{color:var(--gold-light);font-family:var(--font-display);font-size:14px}.desktop-help span::before{content:"•";margin-right:7px;color:var(--cyan)}

/* Spójna, czytelna typografia na ekranach kolekcji, karty i ustawień. */
.collection-progress strong,.category-copy strong,.collection-title strong,.card-name,.locked-title,.detail-nav h2,.species-heading h1,.detail-panel h3,.settings-row strong{font-family:var(--font-display)}
.category-copy strong,.collection-title strong{font-size:16px}.category-copy small{font-size:10.5px}.category-copy em{font-size:9px}.collection-title span{font-size:9.5px}
.filter-chip,.gallery-filter{font-size:9px}.level-hint{font-size:10px}.card-name{font-size:11px}.card-category{font-size:8px}.card-rarity{font-size:7.5px}.locked-title{font-size:10px}.locked-hint{font-size:8.5px}
.collection-progress span{font-size:9px}.detail-category-chip{font-size:9.5px}.detail-stat b{font-size:8px}.detail-stat strong{font-size:10px}
.detail-nav h2{font-size:14px}.species-heading h1{font-size:26px}.species-heading p{font-size:10.5px}.detail-panel h3{font-size:11.5px}.detail-panel p{font-size:10.5px}.settings-row strong{font-size:13px}.settings-row small{font-size:10px}.language-button,.settings-section,.offline-note{font-size:9.5px}

@media (max-width:930px){.desktop-help{display:none}}
@media (max-width:520px), (hover:none) and (pointer:coarse){
  html{width:100%;height:100%;overflow:hidden}
  body{position:fixed;inset:0;display:block;width:100%;height:100%;min-height:0;overflow:hidden}
  .desktop-bg{display:none}
  .phone-shell{width:100%;max-width:none;height:var(--app-height,100vh);max-height:none;border:0;border-radius:0;box-shadow:none}
  .app,.screen{width:100%;height:100%;min-height:0}
  .splash-screen,.home-screen,.mode-screen,.collection-screen,.detail-screen{background-position:center center;background-size:cover}
  .frame-main{border-width:min(35vw,30vh) min(27vw,23vh) min(31vw,27vh)}
  .frame-splash{border-width:min(22vw,20vh) min(18vw,16vh)}
  .collection-scroll,.detail-scroll{padding-bottom:max(38px,env(safe-area-inset-bottom))}
  .home-dashboard{bottom:max(3%,env(safe-area-inset-bottom))}
  .splash-loading{bottom:max(8.2%,env(safe-area-inset-bottom))}
  .game-hud,.game-tip{-webkit-backdrop-filter:none;backdrop-filter:none}
  .game-hud{background:linear-gradient(180deg,rgba(4,30,27,.99),rgba(4,28,25,.96))}
}
@media (max-height:860px){.autosave-line{display:none}}
@media (max-height:780px){
  .home-brand{top:6.5%;left:29%;right:29%}.home-brand p{font-size:8px}
  .home-dashboard{bottom:2.8%;max-height:57%;padding:13px 16px 15px;border-width:31px;border-image-width:31px}
  .home-description{display:none}.stone-stat{height:50px}.primary-action{min-height:48px}.secondary-action{min-height:45px}.button-icon{width:25px;height:25px}.home-actions .button-icon{width:22px;height:22px}.autosave-line{margin-top:5px}
  .mode-choice{min-height:128px;padding-top:14px;padding-right:58px;padding-bottom:14px}.mode-choice.featured{min-height:146px}.mode-illustration{width:74px;height:90px}.mode-copy small{font-size:9.5px}.mode-list{gap:7px}
}
@media (max-height:650px){
  .home-brand{top:3%;left:33%;right:33%}.home-dashboard{max-height:66%;bottom:1.5%}.autosave-line{display:none}
  .stone-header{min-height:69px;padding-top:14px}.mode-choice{min-height:112px}.mode-choice.featured{min-height:125px}.mode-copy small{display:none}.mode-status{margin-top:6px}.mode-play{min-height:44px}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

[lang="de"] .stone-stat span{font-size:6.8px;letter-spacing:0}
[lang="de"] .home-actions .secondary-action{font-size:9.2px;letter-spacing:0}
[lang="de"] .home-description{font-size:10.8px}
