:root{--purple:#7040ab;--ink:#43215f;--lime:#c3e867;--gold:#ffb44c;--paper:#fffdf8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-rounded,'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;font-size:17px;line-height:1.5}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:4px solid #6a40a6;outline-offset:5px}img{display:block;max-width:100%}.skip{position:fixed;top:-100px;z-index:50;padding:15px;background:white}.skip:focus{top:10px}.header{max-width:1280px;padding:24px 40px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:grid;grid-template-columns:auto 22px auto;align-items:baseline;font-size:35px;font-weight:1000;letter-spacing:-1.8px;line-height:1.1}.brand-k{color:var(--purple)}.brand-i{font-size:27px;text-align:center;color:#86a928}.brand-d{color:#d8820a}.brand small{grid-column:1/-1;letter-spacing:1.9px;font-size:10px;font-weight:800;text-align:center;margin-top:8px;color:#675379}.header nav{display:flex;align-items:center;gap:14px;font-weight:800;font-size:16px}.header nav a{padding:11px 20px;border-radius:30px}.header nav .nav-active{background:var(--purple);color:white}.header nav a:hover{box-shadow:0 0 0 3px #7040ab26}.welcome{max-width:1200px;margin:10px auto 30px;border-radius:38px;min-height:348px;display:grid;grid-template-columns:1fr 1.2fr;overflow:hidden;background:#eaf5b9;position:relative}.welcome-copy{padding:33px 0 34px 48px;z-index:1}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:900;margin:0 0 10px}h1,h2,h3,p{margin-top:0}h1{font-size:67px;line-height:.99;letter-spacing:-3px;margin-bottom:17px;font-weight:1000}h1 em{font-style:normal;color:var(--purple)}.welcome-copy>p:not(.eyebrow){font-size:17px;line-height:1.45;margin-bottom:21px}.main-button{display:inline-flex;align-items:center;gap:24px;background:var(--purple);color:white;padding:13px 23px;border-radius:18px;font-weight:900;box-shadow:0 5px 0 #51277f}.main-button:hover{background:#603092;transform:translateY(-2px)}.welcome-art{position:relative;min-height:350px;background:url('assets/sad.png') center 30%/cover}.welcome-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#eaf5b9,transparent 55%)}.hero-kumka{position:absolute;width:44%;height:65%;object-fit:contain;left:0;bottom:2%;z-index:2;filter:drop-shadow(0 10px 5px #37532235)}.hero-dumka{position:absolute;width:62%;height:102%;object-fit:contain;right:1%;bottom:-2%;filter:drop-shadow(0 10px 5px #37532230)}.hello{position:absolute;left:3%;top:25px;z-index:3;background:white;border-radius:24px 24px 24px 4px;padding:11px 20px;transform:rotate(-5deg);font-size:16px;font-weight:900}.games-section,.friends{max-width:1200px;margin:auto}.games-section{padding:20px 0 55px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}h2{font-size:34px;letter-spacing:-1px;line-height:1.15;margin:0;font-weight:1000}.section-heading .eyebrow{color:#785b8f}.game-count{font-size:14px;font-weight:800;color:#725582;border:1px solid #e8dfee;border-radius:30px;padding:8px 15px;white-space:nowrap}.games-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.game-card{border-radius:26px;background:white;overflow:hidden;border:2px solid #eee7f2;box-shadow:0 6px 0 #eae1ef;transition:transform .18s,box-shadow .18s}.game-card:hover{transform:translateY(-7px);box-shadow:0 10px 0 #dfd1ea}.game-art{height:183px;position:relative;overflow:hidden}.badge{position:absolute;top:12px;left:12px;z-index:4;background:#fffef6;border-radius:20px;padding:4px 11px;font-size:12px;font-weight:900;color:var(--ink)}.adventure .game-art{background:url('assets/sad.png') center 37%/cover}.adventure-friend{height:73%;width:52%;object-fit:contain;position:absolute;left:1%;bottom:-3%;z-index:2}.adventure-dumka{height:94%;width:62%;object-fit:contain;position:absolute;right:0;bottom:-4%}.trains .game-art{background:#d9f2fa}.train-board{width:100%;height:100%;object-fit:cover;object-position:center 49%}.memory .game-art{background:#f4d7f1}.memory-preview{width:146px;position:absolute;left:50%;top:50%;transform:translate(-50%,-45%) rotate(-9deg);display:grid;grid-template-columns:1fr 1fr;gap:9px}.memory-tile{background:#fffbe9;border-radius:10px;height:65px;box-shadow:0 4px 0 #a374b366;display:grid;place-items:center;padding:5px}.memory-tile img{width:90%;height:100%;object-fit:contain}.memory-tile.back{background:var(--purple);color:#eedfff;font-size:32px;font-weight:900;border:4px solid #965bcc}.rackets .game-art{background:#ffe7a6}.tennis-kumka{width:54%;height:93%;object-fit:contain;position:absolute;bottom:-10px;left:0}.tennis-dumka{width:55%;height:107%;object-fit:contain;position:absolute;bottom:-10px;right:0}.card-body{padding:19px}.series{font-size:10px;font-weight:900;letter-spacing:1.4px;margin:0 0 4px;color:#8d739b}.card-body h3{font-size:27px;letter-spacing:-.7px;line-height:1.2;margin:0 0 9px}.card-body>p:not(.series){font-size:15px;line-height:1.45;min-height:44px;margin:0 0 20px;color:#755f80}.play-label{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:var(--purple);color:white;border-radius:14px;font-size:17px;font-weight:900}.play-label>span{font-size:13px}.coming{margin-top:28px;padding:18px 24px;border-radius:20px;border:2px dashed #dccce6;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.coming-label{font-size:10px;font-weight:900;letter-spacing:1px;color:#7a5e8c}.coming strong{font-size:18px}.coming>span:last-child{font-size:14px;color:#7a6684}.friends{border-top:2px solid #ede4f2;padding:38px 0;display:grid;grid-template-columns:1fr 1fr;gap:22px}.friends-title{grid-column:1/-1;text-align:center;margin-bottom:14px}.friends-title .eyebrow{color:#806691}.friend{display:flex;align-items:center;border-radius:28px;padding:18px 28px;gap:20px;min-height:200px}.kumka-friend{background:#eff6d7}.dumka-friend{background:#fff0d7}.friend img{height:165px;width:40%;object-fit:contain}.friend h3{font-size:31px;line-height:1.1;margin-bottom:10px;color:var(--purple)}.dumka-friend h3{color:#b96608}.friend p{font-size:16px;margin:0;line-height:1.6}.worlds{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);padding:20px 0 0;gap:30px}.worlds>div{border-left:3px solid var(--lime);padding-left:18px}.worlds>div:nth-child(2){border-color:var(--gold)}.worlds>div:nth-child(3){border-color:#b594dd}.worlds span{font-size:12px;color:#8d7899;display:block}.worlds strong{font-size:20px}.worlds p{font-size:15px;margin:3px 0 0;color:#7a6884}footer{background:#43215f;color:white;margin-top:16px;padding:28px max(40px,calc((100% - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}footer p{margin:0;color:#dfccec}.footer-brand{font-size:26px;font-weight:1000;letter-spacing:-1px}.footer-brand span{color:var(--lime)}footer>a:last-of-type{font-weight:900}.play-page{height:100dvh;display:flex;flex-direction:column;background:#f7f2fc}.play-header{min-height:64px;flex-shrink:0;background:white;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 24px;border-bottom:1px solid #e5d9ed}.play-header a{font-weight:900;border-radius:14px;padding:7px 15px;background:#eee5f8}.play-header h1{font-size:21px;letter-spacing:-.4px;line-height:1.2;margin:0}.play-header .mini-brand{font-size:15px;font-weight:900;color:var(--purple)}.game-frame{width:100%;border:0;flex:1;min-height:0;background:white}.error-panel{padding:50px;text-align:center}
@media(max-width:1260px){.welcome,.games-section,.friends{margin-left:30px;margin-right:30px}.games-grid{gap:15px}.card-body{padding:15px}.welcome-copy{padding-left:36px}}@media(max-width:900px){.games-grid{grid-template-columns:repeat(2,1fr);gap:22px}.game-art{height:220px}.welcome{grid-template-columns:1fr 1fr}.welcome-copy{padding:30px}.welcome h1{font-size:56px}.hello{left:0;font-size:13px}.hero-kumka{width:55%;left:-8%}.hero-dumka{width:75%;right:-5%}.friends{gap:16px}.friend{padding:20px;gap:10px}.friend img{height:140px}.friend p{font-size:15px}.header{padding:20px 30px}.brand{font-size:30px}.brand small{font-size:8px}.header nav{gap:4px;font-size:14px}.header nav a{padding:10px 14px}footer{padding:25px 30px;flex-wrap:wrap}footer p{order:3;width:100%}}
@media(max-width:560px){.header{padding:18px 18px 10px;flex-wrap:wrap;justify-content:center;gap:15px}.brand{font-size:34px}.brand small{font-size:9px}.header nav{width:100%;justify-content:center;font-size:15px}.header nav a{padding:8px 17px}.welcome,.games-section,.friends{margin-left:16px;margin-right:16px}.welcome{margin-top:10px;border-radius:27px;grid-template-columns:1fr;min-height:0}.welcome-copy{padding:24px 24px 6px}.welcome .eyebrow{font-size:10px;letter-spacing:1.2px}.welcome h1{font-size:50px;line-height:.99;margin:12px 0}.welcome h1 br{display:none}.welcome-copy>p:not(.eyebrow){font-size:15px;margin:0 0 14px}.welcome-copy>p br{display:none}.welcome-art{height:175px;min-height:0;background-position:center 37%}.welcome-art:before{background:linear-gradient(#eaf5b9,transparent 85%)}.main-button{font-size:15px;padding:10px 16px;gap:20px}.hero-dumka{height:240px;width:45%;right:0;bottom:-5px}.hero-kumka{height:150px;width:40%;left:20%;bottom:-3px}.hello{font-size:11px;left:12px;top:64px;padding:8px 11px}.games-section{padding-top:3px}.section-heading{margin-bottom:18px}.section-heading .eyebrow{font-size:9px;letter-spacing:1px}.section-heading h2{font-size:26px}.game-count{display:none}.games-grid{gap:12px}.game-art{height:139px}.game-card{border-radius:20px}.card-body{padding:13px 12px}.card-body h3{font-size:25px}.card-body>p:not(.series){font-size:14px;min-height:62px;line-height:1.45;margin-bottom:13px}.series{font-size:8px;letter-spacing:.5px}.play-label{font-size:16px;padding:9px 12px;border-radius:12px}.badge{font-size:10px;top:8px;left:8px;padding:3px 8px}.memory-preview{width:117px;gap:7px;transform:translate(-50%,-42%) rotate(-9deg)}.memory-tile{height:51px;border-radius:7px}.memory-tile.back{font-size:25px}.coming{padding:17px;gap:6px;border-radius:18px}.coming-label,.coming strong,.coming>span:last-child{width:100%}.coming strong{font-size:17px}.friends{grid-template-columns:1fr;padding-top:30px}.friends h2{font-size:29px}.friends-title .eyebrow{font-size:10px;letter-spacing:1px}.friend{min-height:180px}.friend img{height:145px;width:35%}.worlds{grid-template-columns:1fr;gap:20px;padding-top:5px}.worlds>div{position:relative}.worlds span{float:right}.worlds p{font-size:15px}.play-header{padding:10px;gap:8px;min-height:59px}.play-header h1{font-size:16px}.play-header a{font-size:14px;padding:8px 10px}.play-header .mini-brand{display:none}footer{padding:24px 20px;gap:14px}.footer-brand{font-size:23px}footer>a:last-of-type{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Equal-height navigation cards keep all play buttons aligned. */
.game-card{display:flex;flex-direction:column}.game-art{flex-shrink:0}.card-body{display:flex;flex-direction:column;flex:1}.play-label{margin-top:auto}

@media(max-width:560px){.welcome h1{line-height:1.08}.hero-dumka{height:195px;bottom:-4px}.welcome-art{height:185px}.welcome-copy{padding-bottom:12px}}

.shop-background,.puzzle-cover{width:100%;height:100%;object-fit:cover}.shop-friend{position:absolute;left:1%;bottom:-9%;height:100%;width:40%;object-fit:contain}.shop .game-art{background:#ffe7a6}.puzzles .game-art{background:#eaf5b9}
.racing-cover{width:100%;height:100%;object-fit:cover;object-position:center 54%}.racing .game-art{background:#fff0ce}.dressup .game-art{background:#f1e3f4 url('gry/ubieranki/assets/atelier.png') center 55%/cover}.dressup-preview{position:absolute;inset:15px 12px 0;display:flex;align-items:end;justify-content:center;gap:5px}.dressup-preview span{display:block;background-repeat:no-repeat;background-size:400% 300%;background-position:0 0}.dressup-kumka{width:135px;height:135px;background-image:url('gry/ubieranki/assets/kumka-outfits.png')}.dressup-dumka{width:130px;height:190px;background-image:url('gry/ubieranki/assets/dumka-outfits.png')}.tictactoe .game-art{background:#ddd6f3}.ttt-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:142px;height:142px;position:absolute;left:50%;top:50%;transform:translate(-50%,-43%) rotate(-8deg)}.ttt-preview>span{display:grid;place-items:center;background:#fffdf8;border-radius:10px;font-size:33px;font-weight:900;line-height:1;color:#7040ab;box-shadow:0 3px 0 #b59bcf}.ttt-preview>span:nth-child(3n+1){color:#758e24}.space-race .game-art{background:radial-gradient(ellipse at 70% 70%,#b28fe8,transparent 48%),#292350}.space-preview{position:absolute;inset:0;color:#fff7bf;background-image:radial-gradient(circle,#fdf6cc 1px,transparent 2px);background-size:31px 37px}.space-orbit{position:absolute;left:13%;top:37%;width:70%;height:50%;border:2px solid #a59ce5;border-radius:50%;transform:rotate(-23deg)}.space-rocket{position:absolute;left:40%;top:22%;font-size:80px;filter:drop-shadow(-13px 15px 10px #ae7dd4)}.space-star{position:absolute;right:15%;top:18%;font-size:33px}
@media(max-width:560px){.dressup-preview{inset:12px 4px 0;gap:0}.dressup-kumka{width:85px;height:87px}.dressup-dumka{width:85px;height:128px}.ttt-preview{width:108px;height:108px;gap:4px}.ttt-preview>span{font-size:25px;border-radius:7px}.space-rocket{font-size:58px;left:32%;top:31%}.space-star{font-size:23px;right:12%;top:24%}}

/* Meet the two friends on one shared ground line. */
.welcome{scroll-margin-top:20px;grid-template-columns:1.05fr 1fr;overflow:hidden}
.welcome .welcome-copy{padding:34px 0 34px 38px}
.welcome h1{font-size:clamp(36px,4.2vw,55px);line-height:1.08;letter-spacing:-1.5px;margin:14px 0 22px}
.hero-profiles{display:grid;gap:17px;margin-bottom:25px;max-width:410px}
.hero-profiles h2{font-size:22px;line-height:1.2;margin:0 0 5px;color:var(--purple)}
.hero-profiles article:last-child h2{color:#965007}
.hero-profiles h2 span{display:inline-block;font-size:14px;font-weight:600;margin-left:7px;color:#635570}
.hero-profiles p{font-size:16px;line-height:1.5;margin:0;color:#574367}
.welcome .welcome-art{align-self:center;width:100%;height:auto;aspect-ratio:1.35;min-height:0;background:none;overflow:visible}
.welcome .welcome-art:before{inset:auto 6% 1%;height:13%;background:#bedb7970;border-radius:50%;filter:blur(12px)}
.welcome .hero-kumka,.welcome .hero-dumka{width:auto;max-width:none;object-fit:contain;object-position:bottom;bottom:2%;filter:drop-shadow(0 10px 5px #37532220)}
.welcome .hero-dumka{height:94%;right:1%;left:auto}
.welcome .hero-kumka{height:calc(94% * var(--kd-kumka-scale));left:0;right:auto;z-index:2}
.adventure-friend{height:calc(94% * var(--kd-kumka-scale));width:auto;max-width:52%;bottom:0;object-position:bottom}
.adventure-dumka{height:94%;width:auto;max-width:62%;bottom:0;object-position:bottom}
.tennis-kumka{height:calc(94% * var(--kd-kumka-scale));width:auto;max-width:52%;bottom:0;object-position:bottom}
.tennis-dumka{height:94%;width:auto;max-width:62%;bottom:0;object-position:bottom}
.memory-tile{align-items:end}.memory-tile img{object-position:bottom}
.memory-tile img[src$="kumka.png"]{height:calc(100% * var(--kd-kumka-scale));width:auto;max-width:100%}
.dressup-preview .dressup-kumka{height:calc(190px * var(--kd-kumka-scale));width:calc(190px * var(--kd-kumka-scale))}
@media(max-width:900px){
 .welcome .welcome-copy{padding:28px 0 28px 28px}
 .welcome .eyebrow{font-size:11px;letter-spacing:1px}
 .hero-profiles h2 span{display:block;margin:4px 0 0}
}
@media(max-width:620px){
 .welcome{grid-template-columns:1fr}
 .welcome .welcome-copy{padding:25px 24px 0}
 .welcome h1{font-size:37px;line-height:1.1;margin:12px 0 20px}
 .welcome h1 br{display:none}
 .hero-profiles{gap:15px;margin-bottom:20px}
 .hero-profiles h2 span{display:inline-block;margin:0 0 0 7px}
 .welcome .welcome-art{width:85%;max-width:370px;aspect-ratio:1.5;justify-self:center;margin-top:6px;margin-bottom:12px}
 .dressup-preview .dressup-kumka{height:calc(128px * var(--kd-kumka-scale));width:calc(128px * var(--kd-kumka-scale))}
}

/* Each game cover includes both friends; Karolek joins them in the shop. */
.game-art{container-type:inline-size}
.game-art .game-duo{--kd-duo-height:100px;position:absolute;bottom:2%;left:4%;z-index:2;max-width:92%;width:92%;gap:8px}
.tictactoe .game-art .game-duo{width:67%;left:0;justify-content:flex-start;gap:0}
.tictactoe .ttt-preview{left:auto;right:5%;width:32%;height:auto;aspect-ratio:1;transform:translateY(-35%) rotate(8deg);opacity:.8}
.tictactoe .ttt-preview>span{font-size:clamp(16px,2.2vw,28px)}
.space-race .game-art .game-duo{--kd-duo-height:100px;left:10%;width:80%}
.shop .game-duo{--kd-duo-height:72px;justify-content:center;gap:4px}
.train-board{object-position:center 38%}

@supports (height:1cqw){
 .game-art .game-duo{--kd-duo-height:min(78%,52cqw)}
 .space-race .game-art .game-duo{--kd-duo-height:min(82%,52cqw)}
 .shop .game-art .game-duo{--kd-duo-height:min(78%,40cqw)}
}

.new-game .game-art{background:linear-gradient(145deg,#e0eabc,#faf3d5)}.new-game.lab .game-art{background:#d2efea}.new-game.tram .game-art{background:#d8e8f9}.new-game.afera .game-art{background:#f4d7db}.new-game-symbol{position:absolute;top:28%;left:12%;font-size:58px}.new-game .game-duo{left:48%;width:48%;}
