:root{--forest:#174b32;--leaf:#2f7448;--lime:#b9d75d;--cream:#f7f1e3;--paper:#fffdf7;--ink:#173226;--muted:#5f7168;--line:#d8ddcc;--gold:#e4a73b;--coral:#c9624e;--shadow:0 18px 45px rgba(28,61,41,.14);font-family:"Trebuchet MS",Verdana,sans-serif;color:var(--ink);background:#edf1e7}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 14% 5%,#fff9e9 0,transparent 30%),linear-gradient(135deg,#eef4e8,#e7eee1);font-size:17px}.shell{width:min(1180px,calc(100% - 28px));margin:auto;padding:22px 0 50px}.skip{position:fixed;left:12px;top:-80px;background:#fff;padding:12px;z-index:20}.skip:focus{top:12px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.kicker,.eyebrow{margin:0 0 5px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:900;color:var(--leaf)}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.8rem,4vw,3rem);font-family:Georgia,serif}h2{font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.12}.top-actions{display:flex;gap:8px}.screen{animation:appear .2s ease-out}.hidden{display:none!important}.start-screen{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,5vw,56px);box-shadow:var(--shadow);position:relative;overflow:hidden}.start-screen:after{content:"";position:absolute;width:270px;height:270px;border:55px solid #dbe8bd;border-radius:50%;right:-150px;top:-150px;opacity:.45}.hero-copy{align-self:center}.hero-copy p:not(.eyebrow){font-size:1.13rem;line-height:1.65;color:var(--muted)}.setup-card{background:var(--cream);border-radius:22px;padding:22px;position:relative;z-index:1}fieldset{border:0;padding:0;margin:0}legend{font-weight:900;margin-bottom:12px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.set-choice{display:flex;align-items:center;gap:9px;background:white;border:2px solid transparent;padding:11px;border-radius:12px;cursor:pointer}.set-choice:has(input:checked){border-color:var(--leaf);box-shadow:0 0 0 2px #d4e8ba}.start-actions{display:grid;gap:10px;margin-top:20px}.button,.icon-button,.text-button{font:inherit;font-weight:900;cursor:pointer}.button{border:2px solid transparent;border-radius:14px;padding:14px 18px;text-align:center}.primary{background:var(--forest);color:white}.secondary{background:#e0ecd3;color:var(--forest);border-color:#c7d8b6}.ghost,.dont-know{background:white;color:var(--forest);border-color:#c8d5c3}.text-button{border:0;background:transparent;color:var(--leaf);padding:8px;text-decoration:underline}.icon-button{background:rgba(255,255,255,.72);border:1px solid var(--line);padding:10px 13px;border-radius:999px;color:var(--ink)}button:hover{filter:brightness(.97);transform:translateY(-1px)}button:focus-visible,input:focus-visible{outline:4px solid #f0b84f;outline-offset:3px}.rules{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 22px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted)}.progress-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:var(--paper);padding:14px 18px;border:1px solid var(--line);border-radius:18px;margin-bottom:16px}.progress-card>div:first-child{display:flex;gap:11px;align-items:center}.progress-track{height:14px;background:#dce5d7;border-radius:99px;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--leaf),var(--lime));width:0;transition:width .25s}.game-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);gap:20px}.specimen-card,.question-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(18px,3vw,28px);box-shadow:var(--shadow)}.specimen-card{position:relative}.pin{position:absolute;top:14px;left:50%;width:16px;height:16px;border-radius:50%;background:var(--coral);box-shadow:0 2px 3px #0004}.specimen{width:100%;aspect-ratio:1.25;border-radius:18px;background-color:#fff;background-image:url('images/plansza-pogladowa.webp');background-repeat:no-repeat;box-shadow:inset 0 0 0 1px #e4e1d8;position:relative;overflow:hidden}.observation{margin:14px 0 0;color:var(--muted);font-size:.92rem}.question-card{align-self:start}.muted{color:var(--muted)}.answers{display:grid;gap:11px;margin:20px 0 12px}.answer{background:white;border:2px solid #cbd8c6;border-radius:14px;padding:15px 18px;text-align:left;font:inherit;font-weight:900;color:var(--ink);cursor:pointer}.answer:before{content:attr(data-letter);display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf3e6;margin-right:10px;color:var(--leaf)}.dont-know{width:100%;margin-top:4px}.guide-intro{background:#f1f5e9;border-left:5px solid var(--lime);padding:12px 14px;border-radius:10px;margin-bottom:14px}.question-bubble{background:var(--cream);border-radius:18px;padding:20px;display:grid;gap:7px}.question-bubble span{color:var(--leaf);font-size:.82rem;font-weight:900;text-transform:uppercase}.question-bubble strong{font-size:1.2rem;line-height:1.4}.yes-no{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:14px 0}.yes{background:var(--leaf);color:white}.no{background:#fff;color:var(--coral);border-color:#dba497}.hint{background:#fff1d2;border:1px solid #efcb76;padding:13px;border-radius:12px;margin:12px 0}.guide-tools{display:flex;justify-content:flex-start}.history{margin:10px 0 0;padding-left:22px;color:var(--muted);font-size:.9rem}.feature-box{background:#eef5df;border-left:6px solid var(--leaf);padding:16px;border-radius:12px;line-height:1.5;margin:14px 0}.success-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--leaf);color:#fff;font-size:2rem;margin-bottom:18px}.complete{text-align:center;background:var(--paper);padding:clamp(30px,6vw,70px);border-radius:28px;box-shadow:var(--shadow)}.trophy{font-size:4rem}.summary{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:22px 0}.stat{background:var(--cream);border-radius:16px;padding:15px 20px;min-width:150px}.stat strong{display:block;font-size:1.7rem}.hardest{max-width:650px;margin:0 auto 25px;color:var(--muted)}.complete-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.learn-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.atlas{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px}.atlas-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:13px;box-shadow:0 8px 20px #183d2512}.atlas-image{aspect-ratio:1.25;border-radius:12px;background-image:url('images/plansza-pogladowa.webp');background-repeat:no-repeat;background-color:white}.atlas-card h3{margin:12px 0 6px}.atlas-card p{font-size:.9rem;line-height:1.45;color:var(--muted)}.review-note{font-size:.8rem;color:#8b5f27;background:#fff2d5;padding:8px;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes appear{from{opacity:.4;transform:translateY(5px)}}
@media(max-width:780px){body{font-size:16px}.topbar{align-items:flex-start}.game-grid,.start-screen{grid-template-columns:1fr}.rules{grid-column:auto;display:grid}.progress-card{grid-template-columns:1fr auto}.progress-track{grid-column:1/-1;grid-row:2}.game-grid{gap:12px}.specimen-card,.question-card{border-radius:18px}.choice-grid{grid-template-columns:1fr}.learn-head{align-items:flex-start}.learn-head .button{padding:10px}.specimen{aspect-ratio:1.2}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.specimen,.atlas-image{aspect-ratio:1.32}
.yes-no .button{opacity:.45}.yes-no .button.correct-guide{opacity:1;box-shadow:0 0 0 4px #f0c659,0 7px 16px #17322624;transform:none}.guide-next{width:100%;margin-top:4px}
.specimen,.atlas-image{background-repeat:no-repeat!important;background-color:#fff!important}
.lesson-button{background:#e7c65a;color:#243b22;border-color:#d2ae36}.lesson-screen{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(18px,4vw,42px);box-shadow:var(--shadow)}.lesson-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.lesson-header>div{max-width:720px}.lesson-nav{display:flex;gap:8px;overflow-x:auto;padding:8px 2px 16px;margin-bottom:10px}.station-tab{flex:0 0 auto;border:2px solid #cbd8c6;background:#f4f7ed;border-radius:999px;padding:10px 14px;font:inherit;font-weight:900;color:var(--forest);cursor:pointer}.station-tab[aria-current="step"]{background:var(--forest);color:white}.station-tab.visited:not([aria-current="step"]):before{content:"✓ ";color:var(--leaf)}.lesson-content{min-height:430px;background:linear-gradient(145deg,#f7f2df,#eef5e8);border-radius:22px;padding:clamp(20px,4vw,38px)}.lesson-content h3{font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 10px}.lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.lesson-copy{line-height:1.65}.lesson-copy strong{color:var(--forest)}.fact-strip{display:grid;gap:9px;margin-top:16px}.fact{background:white;border-left:5px solid var(--gold);border-radius:10px;padding:11px 13px}.demo-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.sense-row{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.sense{border:2px solid #d4decf;background:#fff;border-radius:14px;padding:12px;font:inherit;font-weight:900;cursor:pointer}.sense.active{background:#dceccf;border-color:var(--leaf)}.reveal-box{min-height:70px;background:#edf3e6;border-radius:12px;padding:14px}.leaf-anatomy{position:relative;min-height:330px;display:grid;place-items:center}.anatomy-leaf{width:190px;height:255px;background:#6faa59;border-radius:80% 15% 80% 15%;transform:rotate(-45deg);box-shadow:inset 0 0 0 4px #347443;position:relative}.anatomy-leaf:after{content:"";position:absolute;width:5px;height:290px;background:#e8efb8;left:50%;top:12px;transform:rotate(44deg);transform-origin:top}.label-chip{position:absolute;background:#fff;border:2px solid var(--leaf);border-radius:999px;padding:8px 11px;font-weight:900}.chip-blade{top:35px;right:10px}.chip-edge{top:130px;left:0}.chip-petiole{bottom:10px;right:20px}.chip-base{bottom:70px;left:10px}.compare-cards,.shape-gallery,.needle-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.compare-card,.shape-card,.needle-card{background:white;border:1px solid var(--line);border-radius:15px;padding:15px}.compare-card h4,.shape-card h4,.needle-card h4{margin:8px 0 5px}.mini-image{height:170px;background-size:contain;background-position:center;background-repeat:no-repeat}.shape-gallery{grid-template-columns:repeat(3,1fr)}.shape-icon{font-size:3.2rem;text-align:center;color:var(--leaf)}.edge-sample{height:55px;background:#70a85c;margin:10px 0;clip-path:polygon(0 100%,0 55%,8% 45%,16% 55%,24% 45%,32% 55%,40% 45%,48% 55%,56% 45%,64% 55%,72% 45%,80% 55%,88% 45%,96% 55%,100% 50%,100% 100%)}.edge-sample.smooth{clip-path:ellipse(70% 48% at 50% 100%)}.edge-sample.wavy{clip-path:polygon(0 100%,0 60%,12% 42%,25% 60%,38% 42%,50% 60%,63% 42%,75% 60%,88% 42%,100% 60%,100% 100%)}.needle-card .mini-image{height:145px}.mission-box{background:#fff7d8;border:2px dashed #d1a93f;border-radius:15px;padding:16px;margin-top:18px}.lesson-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px}.lesson-footer span{font-weight:900;color:var(--muted)}
@media(max-width:780px){.lesson-header{display:grid}.lesson-grid{grid-template-columns:1fr}.shape-gallery{grid-template-columns:repeat(2,1fr)}.lesson-content{min-height:0}.lesson-footer .button{padding:10px}.compare-cards,.needle-gallery{grid-template-columns:1fr 1fr}}
.lesson-visual-card{padding:0;overflow:hidden}.lesson-visual-card>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.lesson-visual-card .mission-box{margin:14px}.leaf-anatomy>img{display:block;width:100%;max-width:520px;border-radius:18px}.lesson-figure{margin:16px 0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.lesson-figure>img{display:block;width:100%;height:auto}.lesson-figure figcaption{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 16px;background:#fff;text-align:center;color:var(--forest)}.lesson-figure .six-labels{grid-template-columns:repeat(3,1fr);font-weight:900}.edges-figure figcaption{grid-template-columns:repeat(3,1fr)}
@media(max-width:780px){.lesson-figure .six-labels{grid-template-columns:repeat(2,1fr)}.label-chip{font-size:.78rem;padding:6px 8px}.chip-blade{top:15px}.chip-edge{top:95px}.chip-petiole{bottom:5px}.chip-base{bottom:50px}}
@media(prefers-contrast:more){:root{--line:#65756b}.answer,.button{border-width:3px}}
.hub-screen{padding:clamp(1rem,3vw,2rem)}.hub-hero{max-width:760px;margin:0 auto 1.5rem;text-align:center}.hub-hero h2{font-size:clamp(2rem,5vw,3.6rem);margin:.2rem 0}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:1050px;margin:auto}.module-card{border:0;border-radius:28px;padding:1.35rem;display:flex;gap:1rem;align-items:center;text-align:left;color:#173126;box-shadow:0 12px 30px #183b2520;cursor:pointer;transition:.18s;min-height:160px}.module-card:hover,.module-card:focus-visible{transform:translateY(-4px);box-shadow:0 18px 38px #183b2530}.module-card span:last-child{display:grid;gap:.3rem}.module-card small{text-transform:uppercase;letter-spacing:.08em;font-weight:800}.module-card strong{font-size:1.35rem}.module-card em{font-style:normal;opacity:.78}.module-icon{font-size:3rem}.leaf-module{background:linear-gradient(135deg,#dff4d7,#b6dfae)}.leaf-lab-module{background:linear-gradient(135deg,#eff8df,#d8edbb)}.rock-module{background:linear-gradient(135deg,#efe6d6,#d7c3a6)}.rock-lab-module{background:linear-gradient(135deg,#e6edf0,#c9d8dd)}
.rock-start{display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem;align-items:center;padding:clamp(1rem,4vw,3rem)}.rock-start.hidden{display:none}.rock-intro h2{font-size:clamp(2rem,4vw,3.4rem)}.rock-start-card{background:#f5f0e8;border:1px solid #d7c8b4;border-radius:26px;padding:1rem;box-shadow:var(--shadow)}.rock-sprite--hero{height:230px;border-radius:18px;background-image:url('images/rocks/atlas-sprite.webp');background-size:400% 300%;background-position:66.666% 50%;background-repeat:no-repeat}.rock-rules{grid-column:1/-1}.rock-primary{background:linear-gradient(135deg,#70523a,#9a744f);color:#fff;border-color:#70523a}.rock-progress .progress-track span{background:linear-gradient(90deg,#b88952,#70523a)}.rock-specimen-card{background:linear-gradient(#faf8f3,#eee5d8)}.rock-specimen{height:min(48vw,470px);min-height:320px;background-repeat:no-repeat;border-radius:18px}.rock-atlas{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.rock-atlas-card{display:grid;grid-template-columns:140px 1fr;gap:1rem;background:#fff;border:1px solid #e1d7c9;border-radius:20px;padding:.8rem}.rock-thumb{min-height:130px;border-radius:15px;background-repeat:no-repeat;background-color:#faf7f0}.rock-atlas-card h3{margin:.35rem 0}.rock-atlas-card p{font-size:.92rem}.rock-type{display:inline-block;padding:.25rem .55rem;border-radius:99px;font-size:.75rem;font-weight:800}.rock-type.loose{background:#ffdfad;color:#75490c}.rock-type.solid{background:#d7d8e7;color:#3d4169}
.rock-lesson-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.25rem;align-items:center}.workshop-rock{background:#f6f0e7;border-radius:22px;padding:1rem;text-align:center}.workshop-rock .rock-thumb{height:270px}.compare-rocks{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.compare-rocks>div,.property-grid article,.use-grid article{background:#fff;border:1px solid #e2d8c9;border-radius:22px;padding:1.15rem}.rock-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.property-grid,.use-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.property-grid b{font-size:1.2rem}.use-grid .rock-thumb{height:190px}.sieve-demo{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.sieve-stack{display:grid;gap:.45rem;align-content:center}.sieve-stack span{background:linear-gradient(90deg,#d6b47f,#f1dcc0);padding:1rem;border-radius:10px;text-align:center;font-weight:800}.sieve-stack span:nth-child(2){width:88%}.sieve-stack span:nth-child(3){width:72%}.sieve-stack span:nth-child(4){width:55%}
@media(max-width:760px){.module-grid,.rock-start,.rock-lesson-grid,.compare-rocks,.property-grid,.use-grid,.sieve-demo{grid-template-columns:1fr}.module-card{min-height:130px}.rock-rules{grid-column:auto}.rock-specimen{height:340px}.rock-atlas-card{grid-template-columns:110px 1fr}.rock-thumb{min-height:110px}}
.soil-module{background:linear-gradient(135deg,#e7dabd,#cbb185)}.soil-lab-module{background:linear-gradient(135deg,#d9e8c7,#b9d399)}.soil-primary{background:linear-gradient(135deg,#6d4b2c,#967044);color:#fff;border-color:#6d4b2c}.soil-sprite--hero{height:230px;border-radius:18px;background-image:url('images/soils/atlas-sprite.webp');background-size:300% 200%;background-position:50% 100%;background-repeat:no-repeat}.soil-progress .progress-track span{background:linear-gradient(90deg,#9c7b45,#5d432a)}.soil-specimen-card{background:linear-gradient(#fbf8ef,#e9dcc6)}.soil-specimen{height:min(48vw,500px);min-height:340px;background-repeat:no-repeat;border-radius:18px}.soil-thumb{min-height:180px;border-radius:15px;background-repeat:no-repeat;background-color:#eee2ca}.soil-column-demo{display:grid;align-self:stretch;min-height:360px;border-radius:22px;overflow:hidden;border:7px solid #f1eadc}.soil-column-demo span{display:grid;place-items:center;text-align:center;padding:.7rem;font-weight:900}.soil-column-demo span:nth-child(1){background:#729b46;color:white}.soil-column-demo span:nth-child(2){background:#29221c;color:white}.soil-column-demo span:nth-child(3){background:#926d45;color:white}.soil-column-demo span:nth-child(4){background:#d2b078;color:#4a351f}.soil-profile-large .soil-thumb{height:460px}.soil-life-grid,.grain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.soil-life-grid article,.grain-grid article{background:#fff;border:1px solid #ded3c0;border-radius:20px;padding:1rem}.soil-life-grid b,.grain-grid b{font-size:1.15rem;color:#594329}.field-steps{display:grid;gap:.8rem}.field-steps span{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:.7rem;background:#fff;border-radius:16px;padding:.8rem}.field-steps b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#735335;color:#fff}.soil-start-card{background:#f4ecdc}
@media(max-width:760px){.soil-life-grid,.grain-grid{grid-template-columns:1fr}.soil-specimen{height:360px}.soil-profile-large .soil-thumb{height:370px}}
.basics-module{background:linear-gradient(135deg,#dceef4,#bddce8)}.basics-lab-module{background:linear-gradient(135deg,#fff0bd,#ead17d)}.basics-primary{background:linear-gradient(135deg,#245d70,#35839a);color:#fff;border-color:#245d70}.basics-start{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem;align-items:center;padding:clamp(1rem,4vw,3rem)}.basics-start.hidden{display:none}.basics-start-visual{background:#eaf4f6;border:1px solid #bdd4db;border-radius:26px;padding:1rem;box-shadow:var(--shadow)}.basics-hero{height:230px;border-radius:18px;background-image:url('images/basics/otoczenie-sprite.webp');background-size:400% 300%;background-position:0 0;background-repeat:no-repeat}.basics-start .rules{grid-column:1/-1}.living-dot{color:#4d942e}.nature-dot{color:#2785b0}.human-dot{color:#bc574b}.basics-progress .progress-track span{background:linear-gradient(90deg,#57a9bc,#245d70)}.basics-specimen-card{background:linear-gradient(#f4fbfc,#dceef2)}.basics-specimen{height:min(48vw,470px);min-height:320px;background-repeat:no-repeat;border-radius:18px}.category-answers{display:grid;gap:.8rem;margin:1.1rem 0}.category-answer{border:2px solid transparent;border-radius:16px;padding:1rem;text-align:left;font:inherit;font-weight:900;cursor:pointer}.category-answer.living{background:#e3f3d8;border-color:#9bc37e}.category-answer.nonliving{background:#dceff7;border-color:#8ec3da}.category-answer.human{background:#fae2dc;border-color:#dba59b}.category-reveal{font-size:1.2rem;font-weight:900;border-radius:16px;padding:1rem;margin:1rem 0}.category-reveal.living{background:#e3f3d8;color:#376b24}.category-reveal.nonliving{background:#dceff7;color:#1c6381}.category-reveal.human{background:#fae2dc;color:#8b3c32}
.three-worlds{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.three-worlds article,.soil-life-grid article{padding:1rem;border-radius:20px}.three-worlds .living{background:#e5f3dc}.three-worlds .nonliving{background:#dceff7}.three-worlds .human{background:#fae2dc}.three-worlds b{font-size:1.15rem}.map-lab,.compass-lab,.two-tools{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:center}.mini-map{height:380px;position:relative;overflow:hidden;border:8px solid #e1d6bd;border-radius:20px;background:linear-gradient(25deg,#c9dda1 50%,#d9c99a 50%)}.map-school{position:absolute;left:12%;top:15%;background:#d76e55;color:#fff;padding:20px;border-radius:5px;font-weight:900}.map-path{position:absolute;left:0;top:58%;width:110%;height:34px;background:#777;transform:rotate(-12deg)}.map-tree{position:absolute;right:14%;top:18%;font-size:4rem;color:#317241}.map-water{position:absolute;right:-15%;bottom:-5%;width:60%;height:45%;background:#60aecd;border-radius:55% 0 0}.map-point{position:absolute;right:31%;bottom:31%;font-size:2.5rem;color:#b51e1e;font-weight:900}.map-legend{display:flex;gap:.7rem;flex-wrap:wrap}.map-legend span{background:#fff;border-radius:99px;padding:.5rem .8rem}.compass-rose{position:relative;width:min(360px,80vw);aspect-ratio:1;border-radius:50%;margin:auto;background:radial-gradient(circle,#fff 0 18%,#dce9ec 19% 50%,#fff 51%);border:5px solid #345c68}.compass-rose i{position:absolute;inset:15%;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);background:linear-gradient(135deg,#c84c45 50%,#275c72 50%)}.compass-rose b{position:absolute;z-index:2}.compass-rose .n{top:3%;left:48%}.compass-rose .s{bottom:3%;left:48%}.compass-rose .e{right:4%;top:47%}.compass-rose .w{left:4%;top:47%}.compass-rose .ne{right:15%;top:15%}.compass-rose .nw{left:15%;top:15%}.compass-rose .se{right:15%;bottom:15%}.compass-rose .sw{left:15%;bottom:15%}.two-tools article{background:#fff;border-radius:20px;padding:1rem}.night-sky{height:220px;background:linear-gradient(#10152d,#263b67);border-radius:15px;position:relative;color:white}.night-sky .dipper{position:absolute;left:10%;top:38%;letter-spacing:12px;transform:rotate(-15deg)}.night-sky .polar{position:absolute;right:18%;top:15%;font-size:2rem;color:#fff7aa}.magnifier-demo{height:220px;display:grid;place-items:center;font-size:5rem;background:#eef3db;border-radius:15px;position:relative}.magnifier-demo span{position:absolute;width:120px;height:120px;border:12px solid #333;border-radius:50%;box-shadow:50px 65px 0 -48px #333;transform:rotate(-25deg)}
@media(max-width:760px){.basics-start,.three-worlds,.map-lab,.compass-lab,.two-tools{grid-template-columns:1fr}.basics-start .rules{grid-column:auto}.basics-specimen{height:350px}.mini-map{height:300px}}

/* Postęp, nagrody i test końcowy */
html,body{max-width:100%;overflow-x:hidden}img{max-width:100%}.screen{min-width:0}.reward-bar{display:flex;align-items:center;gap:.45rem;background:#fff9df;border:1px solid #ead28a;border-radius:999px;padding:.48rem .75rem;font-weight:900;white-space:nowrap}.reward-bar span{display:inline-flex;gap:.2rem;align-items:center}.hub-progress{max-width:760px;margin:0 auto 1.25rem;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1rem 1.2rem;box-shadow:0 8px 24px #17322612}.hub-progress>div:first-child,.hub-progress>div:last-child{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.mini-progress{height:12px;background:#e2e8dc;border-radius:99px;overflow:hidden;margin:.65rem 0}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#3d8a53,#e4b841);border-radius:inherit}.progress-dialog{width:min(920px,calc(100% - 24px));max-height:88vh;border:0;border-radius:24px;padding:0;box-shadow:0 28px 90px #14251d66;color:var(--ink)}.progress-dialog::backdrop{background:#10241bb8;backdrop-filter:blur(3px)}.progress-dialog-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#fff;padding:1.1rem 1.25rem;border-bottom:1px solid var(--line)}.progress-dialog-head h2{margin:0}.progress-dashboard{padding:1.25rem}.reward-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.reward-summary>div{background:var(--cream);border-radius:15px;padding:1rem;text-align:center}.reward-summary strong{display:block;font-size:1.5rem}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.badge{display:grid;grid-template-columns:auto 1fr;gap:.15rem .7rem;align-items:center;background:#edf0e9;color:#778078;border:2px solid transparent;border-radius:16px;padding:.8rem}.badge span{grid-row:1/3;font-size:2rem;filter:grayscale(1);opacity:.45}.badge small{grid-column:2}.badge.earned{background:#fff7d8;color:var(--ink);border-color:#e1bc45}.badge.earned span{filter:none;opacity:1}.reward-history{padding-left:1.4rem}.progress-tools{display:flex;gap:.6rem;flex-wrap:wrap;padding:0 1.25rem 1.25rem}.progress-tools input{display:none}.reward-toast{position:fixed;z-index:80;right:18px;bottom:18px;max-width:min(380px,calc(100% - 36px));background:#183e2a;color:#fff;border-radius:15px;padding:.9rem 1rem;box-shadow:0 16px 45px #10221955;font-weight:900;animation:appear .2s}.checkpoint-card{margin-top:1.2rem;background:#fff;border:2px solid #e0bd52;border-radius:20px;padding:1rem;box-shadow:0 10px 25px #48371112}.checkpoint-card h3{font-size:1.15rem}.checkpoint-options{display:grid;gap:.55rem}.checkpoint-options button{min-height:46px;border:2px solid #cbd7c4;border-radius:12px;background:#fff;padding:.7rem 1rem;text-align:left;font:inherit;font-weight:900;color:var(--ink);cursor:pointer}.checkpoint-options button.right{background:#ddf1d2;border-color:#4e9a47}.checkpoint-options button.wrong{background:#f8ddd7;border-color:#c85d4d}.checkpoint-feedback{min-height:1.5rem;margin-top:.7rem;font-weight:800}.checkpoint-done{color:#2f7448;font-weight:900}.final-test-module{grid-column:1/-1;background:linear-gradient(135deg,#28204f,#654c9a);color:#fff}.final-test-module em{color:#eee8ff}.final-test-start{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.2rem}.final-seal{font-size:5rem;filter:drop-shadow(0 8px 14px #0003)}.final-question-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(1.1rem,4vw,2rem);box-shadow:var(--shadow)}.final-question-card .answer.final-ok{background:#dff2d8;border-color:#4d9146}.final-question-card .answer.final-bad{background:#fae0da;border-color:#bd5648}.section-results{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:1rem 0}.section-results>div{background:var(--cream);border-radius:15px;padding:1rem;text-align:center}.section-results strong{display:block;font-size:1.45rem}.final-review{display:grid;gap:.7rem;text-align:left;max-width:820px;margin:1rem auto}.final-review article{background:#fff4df;border-left:5px solid #d8a23e;border-radius:12px;padding:.85rem 1rem}.recommended{box-shadow:0 0 0 3px #e7c65a55}.button,.icon-button,.text-button,.answer,.station-tab,.module-card{min-height:44px;touch-action:manipulation}
@media(max-width:900px){.topbar{align-items:flex-start;flex-wrap:wrap}.top-actions{flex:1 1 100%;display:flex;flex-wrap:wrap}.reward-bar{order:-1}.reward-summary{grid-template-columns:repeat(2,1fr)}.badge-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){body{font-size:16px}.shell{width:min(100% - 16px,1180px);padding-top:10px}.topbar{gap:.6rem;margin-bottom:12px}.topbar>div:first-child{width:100%}.topbar h1{font-size:1.75rem}.top-actions{gap:.45rem}.top-actions .icon-button{flex:1 1 auto}.reward-bar{width:100%;justify-content:center}.hub-screen{padding:.35rem}.hub-hero h2{font-size:2rem}.module-grid{gap:.7rem}.module-card{padding:1rem;border-radius:20px;min-height:112px}.module-icon{font-size:2.4rem}.module-card strong{font-size:1.15rem}.start-screen,.lesson-screen,.rock-start,.basics-start{border-radius:20px;padding:1rem}.progress-card{gap:.6rem;padding:.8rem}.game-grid{grid-template-columns:minmax(0,1fr)}.specimen-card,.question-card{padding:1rem}.rock-specimen,.soil-specimen,.basics-specimen{min-height:280px;height:82vw}.lesson-content{padding:1rem}.lesson-footer{display:grid;grid-template-columns:1fr 1fr}.lesson-footer span{grid-column:1/-1;text-align:center}.lesson-footer .button{width:100%}.shape-gallery,.compare-cards,.needle-gallery{grid-template-columns:1fr}.rock-atlas-card{grid-template-columns:1fr}.rock-thumb{min-height:180px}.progress-dialog{width:calc(100% - 12px);max-height:94vh}.progress-dialog-head,#progressDashboard,.progress-tools{padding:.85rem}.reward-summary,.badge-grid,.section-results{grid-template-columns:1fr}.final-test-start{grid-template-columns:1fr;text-align:center}.final-seal{font-size:4rem}.complete{padding:1.25rem}.summary .stat{min-width:130px}.atlas{grid-template-columns:1fr}}
#progressDashboard{padding:1.25rem}.final-primary{background:linear-gradient(135deg,#3d2b78,#7057aa);color:#fff;border-color:#3d2b78}.final-test-start{background:#f8f5ff;border:1px solid #dcd3f1;border-radius:28px;padding:clamp(1.2rem,5vw,3.5rem);box-shadow:var(--shadow)}.final-seal strong,.final-seal span{display:block;text-align:center;font-size:1rem}.section-results b{display:block;font-size:1.45rem}.section-results i{display:block;height:8px;background:#ddd6c8;border-radius:99px;overflow:hidden;margin-top:.45rem}.section-results em{display:block;height:100%;background:#5a8d4b}

/* Zwarty pulpit: komplet dziewięciu wejść mieści się na typowym ekranie laptopa. */
@media(min-width:901px){.shell{padding-top:12px}.topbar{margin-bottom:10px}.hub-screen{padding:.25rem 1rem 1rem}.hub-hero{margin-bottom:.65rem}.hub-hero .eyebrow{margin-bottom:2px}.hub-hero h2{font-size:clamp(1.75rem,3vw,2.55rem);margin:0}.hub-hero>p:last-child{margin:.25rem 0 0}.hub-progress{max-width:920px;margin-bottom:.7rem;padding:.65rem 1rem}.hub-progress .mini-progress{margin:.4rem 0;height:9px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;max-width:1120px}.module-card{min-height:104px;padding:.85rem 1rem;border-radius:20px;gap:.7rem}.module-icon{font-size:2.2rem}.module-card span:last-child{gap:.12rem}.module-card small{font-size:.68rem}.module-card strong{font-size:1.08rem;line-height:1.15}.module-card em{font-size:.82rem;line-height:1.2}.final-test-module{grid-column:auto}}
@media(min-width:761px) and (max-width:900px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-card{min-height:118px}}
.module-card{position:relative}.module-number{position:absolute;top:.55rem;right:.65rem;display:grid!important;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#173226;color:#fff;font-size:.82rem;font-weight:900;box-shadow:0 3px 8px #17322633}.final-test-module .module-number{background:#fff;color:#493778}.module-card>span:last-child{padding-right:1.35rem}
@media(max-width:600px){.topbar h1{font-size:clamp(1.35rem,7vw,1.75rem);line-height:1.08}.top-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.top-actions .reward-bar{grid-column:1/-1}.top-actions .icon-button{min-width:0;padding-inline:.55rem;white-space:normal}.hub-hero h2{font-size:clamp(1.55rem,8vw,2rem);overflow-wrap:anywhere}.hub-hero p{overflow-wrap:anywhere}.module-card{width:100%;max-width:100%;overflow:hidden}.module-card>span:last-child{min-width:0}.module-card em,.module-card strong{overflow-wrap:anywhere}}
.map-figure{margin:0;background:#fff;border:1px solid #ccd8bf;border-radius:22px;overflow:hidden;box-shadow:0 10px 24px #17322618}.map-svg{display:block;width:100%;height:auto}.map-figure figcaption{padding:.75rem 1rem;color:var(--muted);font-size:.86rem;line-height:1.4}.tool-illustration{display:block;width:100%;height:auto;border-radius:15px}.two-tools article{overflow:hidden}.two-tools article h3{margin-top:1rem}
.daily-mission{max-width:920px;margin:0 auto .8rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;position:relative;overflow:hidden;background:linear-gradient(120deg,#f8fcf5 0,#edf6ea 55%,#e1f0ef 100%);border:1px solid #b9d0bd;border-radius:22px;padding:.8rem 1rem;box-shadow:0 10px 26px #17322616}.daily-mission:after{content:"";position:absolute;right:-42px;top:-65px;width:150px;height:150px;border-radius:50%;border:28px solid #c6ded244;pointer-events:none}.mission-symbol{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#174b32;color:#fff;font-size:1.75rem;box-shadow:0 7px 16px #174b3230;transform:rotate(-3deg)}.mission-copy{position:relative;z-index:1;min-width:0}.mission-label{display:flex;align-items:center;gap:.55rem;margin:0 0 .18rem!important;color:#356147;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.mission-label b{border-radius:99px;background:#fff;padding:.22rem .48rem;color:#456c59;letter-spacing:0;white-space:nowrap}.daily-mission h3{margin:0 0 .12rem;font-size:1.13rem;line-height:1.2}.daily-mission .mission-copy>p:last-child{margin:0;color:var(--muted);font-size:.88rem;line-height:1.3}.mission-action{position:relative;z-index:1;display:grid;gap:.25rem;text-align:center}.mission-button{min-width:142px;background:linear-gradient(135deg,#246341,#174b32);color:#fff;box-shadow:0 6px 14px #174b3227}.mission-action small{color:#5f7168;font-size:.67rem}.checkpoint-retry{margin-top:.65rem}.answer-why{margin:1rem 0;background:#edf5df;border-left:5px solid var(--leaf);border-radius:12px;padding:1rem;line-height:1.5}.round-break{text-align:center;padding:1rem}.round-break span{font-size:3rem}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.shop-item{display:grid;gap:.25rem;place-items:center;min-height:116px;border:2px solid #d8cfb4;border-radius:16px;background:#fffaf0;color:var(--ink);font:inherit;padding:.7rem;cursor:pointer}.shop-item span{font-size:2rem}.shop-item.owned{background:#edf5df;border-color:#79a36c}.next-step{background:#eef5df;border-left:5px solid var(--leaf);border-radius:12px;padding:.25rem 1rem;margin-top:1rem}.test-mode-actions{justify-content:flex-start}.final-question-card{max-width:860px;margin:auto}
@media(max-width:600px){.daily-mission{grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:.8rem}.mission-symbol{width:48px;height:48px;border-radius:15px;font-size:1.45rem}.mission-label{align-items:flex-start;flex-direction:column;gap:.2rem}.mission-action{grid-column:1/-1}.daily-mission .button{width:100%}.shop-grid{grid-template-columns:repeat(2,1fr)}.test-mode-actions{display:grid}.test-mode-actions .button{width:100%}}
.parent-report{margin-top:1rem;border:1px solid var(--line);border-radius:14px;padding:.25rem 1rem}.parent-report li{margin:.35rem 0}@media print{body>*{visibility:hidden}.progress-dialog,.progress-dialog *{visibility:visible}.progress-dialog{position:absolute;inset:0;width:100%;max-height:none;box-shadow:none}.progress-dialog-head button,.progress-tools,.shop-grid{display:none!important}}
.backpack-count{display:inline-grid;place-items:center;min-width:1.45rem;height:1.45rem;border-radius:999px;background:#e3b63d;color:#173226;font-size:.76rem;padding:0 .3rem}.backpack-section{margin-top:1.2rem;padding:1rem;border:2px solid #d5b65a;border-radius:20px;background:linear-gradient(135deg,#fff9e7,#f2f7e9)}.backpack-heading{display:flex;gap:.7rem;align-items:center}.backpack-heading>span{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#245c3a;color:#fff;font-size:1.8rem}.backpack-heading h3,.backpack-heading p{margin:0}.backpack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.backpack-item{display:grid;place-items:center;gap:.22rem;min-height:112px;padding:.75rem;border:2px solid #79a36c;border-radius:16px;background:#fff;text-align:center}.backpack-item span{font-size:2.35rem}.backpack-item small{color:var(--muted)}.empty-backpack{grid-column:1/-1;display:grid;place-items:center;gap:.2rem;padding:1rem;border:2px dashed #c9b77b;border-radius:15px;text-align:center}.empty-backpack span{font-size:2.5rem}.shop-section{margin-top:1.1rem}.shop-complete{grid-column:1/-1;padding:1rem;border-radius:14px;background:#edf5df;font-weight:900;text-align:center}
@media(max-width:600px){.backpack-grid{grid-template-columns:repeat(2,1fr)}#backpackButton{flex:1 1 auto}}
.map-legend span{display:inline-flex;align-items:center;gap:.45rem;min-height:42px}.map-legend i{position:relative;display:inline-block;flex:0 0 29px;width:29px;height:24px}.legend-school{border:2px solid #9b684b;border-radius:3px;background:linear-gradient(#f6dfb7 0 28%,#d77759 29% 82%,#6e5848 83% 100%);clip-path:polygon(0 24%,50% 0,100% 24%,100% 100%,0 100%)}.legend-tree:before{content:"";position:absolute;left:6px;top:0;width:18px;height:18px;border-radius:50%;background:#4d8445;border:2px solid #315f32}.legend-tree:after{content:"";position:absolute;left:13px;top:17px;width:5px;height:8px;background:#76513a}.legend-water{height:19px!important;margin-top:2px;border-radius:52% 48% 55% 45%;background:#68b8ce;border:2px solid #397d96}.legend-water:after{content:"";position:absolute;left:5px;right:5px;top:7px;height:3px;border-top:2px solid #d8f4fa;border-radius:50%}.legend-route{height:4px!important;border-top:4px dashed #d13d35}.legend-target{display:grid!important;place-items:center;color:#d13d35;font-style:normal;font-size:1.65rem;line-height:1;text-shadow:0 1px #fff}

/* Na dużych ekranach pojedyncza stacja pracowni mieści się w jednym widoku. */
@media(min-width:901px){
  .lesson-screen{padding:18px 24px;border-radius:24px}
  .lesson-header{align-items:center}
  .lesson-header .eyebrow{margin-bottom:2px}
  .lesson-header h2{font-size:clamp(1.55rem,2.3vw,2.15rem);margin:0 0 3px;line-height:1.05}
  .lesson-header p{margin-bottom:0;line-height:1.3}
  .lesson-header .button{padding:10px 15px}
  .lesson-nav{padding:6px 2px 9px;margin:5px 0 4px;gap:7px}
  .station-tab{padding:8px 12px;min-height:40px;font-size:.92rem}
  .lesson-content{min-height:0;padding:18px 22px;border-radius:18px}
  .lesson-content h3{font-size:clamp(1.25rem,2vw,1.65rem);margin-bottom:7px}
  .lesson-content p{margin-bottom:.65rem;line-height:1.4}
  .lesson-copy{line-height:1.45}
  .lesson-grid,.rock-lesson-grid,.map-lab,.compass-lab,.two-tools,.sieve-demo{gap:16px}
  .lesson-figure{margin:.5rem 0}
  .lesson-figure img,.lesson-visual-card img,.leaf-anatomy img{max-height:280px;width:100%;object-fit:contain}
  .leaf-anatomy{min-height:280px}
  .compass-rose{width:min(270px,34vh)}
  .mini-map{height:270px}
  .tool-illustration{height:190px;object-fit:contain}
  .two-tools article{padding:.75rem}
  .two-tools article h3{margin:.55rem 0 .25rem}
  .workshop-rock .rock-thumb{height:190px}
  .use-grid .rock-thumb{height:145px}
  .soil-profile-large .soil-thumb{height:300px}
  .soil-column-demo{min-height:285px}
  .mission-box{padding:11px 13px;margin-top:10px}
  .fact-strip{gap:6px;margin-top:9px}.fact{padding:8px 11px}
  .checkpoint-card{margin-top:.7rem;padding:.75rem 1rem;border-radius:16px}
  .checkpoint-card .eyebrow{margin-bottom:2px}
  .checkpoint-card h3{margin:0 0 .45rem;font-size:1rem}
  .checkpoint-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}
  .checkpoint-options button{min-height:38px;padding:.5rem .7rem}
  .checkpoint-feedback{min-height:1rem;margin-top:.4rem;font-size:.9rem}
  .checkpoint-retry{margin-top:.35rem;padding:8px 12px}
  .lesson-footer{margin-top:8px}
  .lesson-footer .button{padding:9px 14px}
}
