@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(/teka-teki/assets/fredoka-latin-400-normal-17JuUzdy.woff2)format("woff2"),url(/teka-teki/assets/fredoka-latin-400-normal-DbXSrOeS.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/teka-teki/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/teka-teki/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}:root{color:#304e49;font-synthesis:none;--ink:#304e49;--green:#377b65;--paper:#fffdf5;--muted:#657a70;background:#f7f3e8;font-family:Fredoka,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:disabled{cursor:default}button:focus-visible{outline-offset:4px;outline:4px solid #356fa0}a:focus-visible{outline-offset:4px;outline:4px solid #356fa0}button:hover:not(:disabled){filter:brightness(.97)}button:active:not(:disabled){scale:.97}button,a{transition:scale .16s,background .16s}svg{width:100%;height:100%;display:block;overflow:visible}h1,h2,p{margin:0}h1{letter-spacing:-.025em;font-size:36px;font-weight:600;line-height:1.12}p{line-height:1.5}header{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:80px;display:flex}.shell{flex-direction:column;max-width:960px;height:100dvh;margin:auto;padding:8px 32px 0;display:flex}.icon{background:#edeadd;border-radius:24px;flex-shrink:0;place-items:center;width:64px;height:64px;display:grid}.icon svg{width:36px;height:36px}.brand{text-align:center;color:var(--green);font-size:24px;font-weight:600;line-height:1.1}.brand span{letter-spacing:.12em;margin-top:4px;font-size:12px;font-weight:400;display:block}main{flex-direction:column;flex:1;align-items:center;min-height:0;display:flex}footer{height:72px;color:var(--muted);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}footer a{min-height:64px;color:inherit;align-items:center;gap:8px;text-decoration:none;display:flex}footer svg{width:28px;height:28px}.intro{justify-content:center;align-items:center;gap:16px;margin:12px 0 4px;display:flex}.mascot{width:112px;height:112px;transform:rotate(-8deg)}.intro h1{font-size:44px}.intro p:last-child{color:var(--muted);margin-top:8px;font-size:17px}.eyebrow{letter-spacing:.12em;color:var(--muted);margin-bottom:8px;font-size:12px}.menu-tools{justify-content:space-between;align-items:center;width:100%;max-width:680px;margin:8px 0 16px;display:flex}.levels{background:#edeadd;border-radius:24px;gap:4px;padding:4px;display:flex}.level{border-radius:20px;width:64px;height:64px}.level svg{width:44px;height:44px;margin:auto}.level.chosen{background:var(--paper);box-shadow:0 2px 8px #304e4912}.collection{border:2px solid #dedfce;border-radius:24px;align-items:center;gap:8px;min-height:64px;padding:0 16px;display:flex}.collection svg{width:40px;height:40px}.game-menu{flex:1;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:680px;min-height:0;max-height:420px;display:grid}.game-tile{text-align:left;background:var(--paper);border-radius:28px;flex-direction:column;padding:16px 20px;display:flex;overflow:hidden;box-shadow:0 4px 12px #364b4110}.tile-art{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.tile-art>svg{max-width:180px;max-height:120px}.tile-label{flex-shrink:0;align-items:center;gap:12px;min-height:32px;display:flex}.tile-label small{color:var(--muted);font-size:12px}.tile-label strong{font-size:20px;font-weight:600;line-height:1.1}.arrow{color:var(--green);margin-left:auto;font-size:32px}.mini-cards{justify-content:center;width:100%;height:100%;max-height:124px;padding:4px;display:flex}.mini-cards svg{background:#f5e6ca;border-radius:16px;max-width:88px;height:100%;padding:8px;transform:rotate(-10deg)}.mini-cards svg+svg{background:#f2e8d8;margin-left:-4px;transform:rotate(10deg)}.mini-shapes{align-items:center;width:100%;max-width:230px;display:flex}.mini-shapes svg{width:40%;margin:0 -4%}.mini-shapes svg:nth-child(2){transform:translateY(-20px)}.mini-pattern{align-items:center;max-width:240px;display:flex}.mini-pattern svg{width:26%;height:auto}.mini-pattern b{color:var(--green);padding:4px;font-size:40px}.art-jigsaw>svg{border-radius:16px;overflow:hidden}.game-heading{text-align:center;flex-shrink:0;margin:12px 0 16px}.game-heading h1{margin-bottom:8px}.game-heading p:last-child{color:var(--muted);font-size:18px}.play-area{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;width:100%;min-height:0;display:flex}.game-bottom{flex-shrink:0;align-items:center;gap:16px;width:100%;min-height:88px;display:flex}.game-bottom>span{color:var(--muted);flex:1;font-size:14px}.game-bottom .level-marker{flex:0;width:48px;height:48px}.game-bottom .icon{background:0 0}.memory-grid{grid-template-columns:repeat(3,1fr);gap:16px;width:min(100%,440px);height:100%;max-height:360px;display:grid}.memory-card{min-width:64px;min-height:64px;transform-style:preserve-3d;background:#7fa995;border-radius:24px;transition:background .3s,transform .3s;position:relative;box-shadow:0 4px #5d8c75}.card-back,.card-front{place-items:center;transition:opacity .25s,transform .3s;display:grid;position:absolute;top:12px;bottom:12px;left:12px;right:12px}.card-back{color:#c8dbb4}.card-back svg{opacity:.9;width:56%;height:56%}.card-front{opacity:0;transform:scale(.7)}.memory-card.open{background:#fffdf5;box-shadow:0 4px #e4dfcc}.open .card-back{opacity:0}.open .card-front{opacity:1;transform:scale(1)}.memory-card.matched{background:#e0ead9}.medium .memory-grid{grid-template-columns:repeat(4,1fr);gap:12px;width:min(100%,440px);max-height:300px}.medium .memory-card{border-radius:20px}.sorter{background:#ece8d8;border-radius:32px;flex-wrap:wrap;justify-content:center;gap:16px;max-width:400px;padding:24px;display:flex}.slot{background:#dfdfcd;border-radius:20px;width:88px;min-width:64px;height:88px;min-height:64px;transition:opacity .3s}.slot.filled{background:#f8f4e7}.slot.filled svg{opacity:1;filter:none}.sorter .filled:first-child svg{color:var(--green)}.tray{flex-wrap:wrap;justify-content:center;gap:12px;max-width:520px;min-height:88px;display:flex}.piece{touch-action:none;background:var(--paper);z-index:2;border-radius:20px;width:80px;min-width:64px;height:80px;min-height:64px;transition:box-shadow .2s,opacity .2s;position:relative;box-shadow:0 4px #e3dcc8}.piece.selected{outline:3px solid var(--green);outline-offset:4px;background:#e7efdf}.piece.dragging{z-index:10;pointer-events:none;transition:none;box-shadow:0 8px 24px #304e4930}.placed{visibility:hidden;pointer-events:none}.puzzle{aspect-ratio:3/2;background:#e5e9d9;border-radius:24px;grid-template-columns:repeat(2,1fr);gap:0;width:min(100%,360px);padding:12px;display:grid}.puzzle.cols-3{grid-template-columns:repeat(3,1fr)}.puzzle .slot{background:0 0;border-radius:0;width:100%;min-width:64px;height:100%;min-height:64px;position:relative}.puzzle .slot svg{opacity:.24;pointer-events:none;width:calc(100% + 24px);height:calc(100% + 24px);position:absolute;top:-12px;left:-12px}.puzzle .slot.filled svg{opacity:1}.jigsaw-tray .piece{width:116px;height:84px;box-shadow:none;background:0 0;border-radius:8px}.jigsaw-tray.cols-3 .piece{width:88px;height:84px}.jigsaw-tray{gap:12px;max-width:420px}.jigsaw-tray.cols-2{max-width:280px}.puzzle.complete .sun{transform-origin:248px 38px;animation:1s ease-in-out infinite alternate sway}.puzzle.complete .flowers{animation:.5s ease-in-out infinite alternate flowers}.rounds{gap:8px;display:flex}.rounds span{opacity:.35;width:40px;height:40px}.rounds .found{opacity:1}.sequence{background:#ede9d9;border-radius:24px;grid-template-columns:repeat(6,1fr);align-items:center;width:100%;max-width:600px;padding:20px 12px;display:grid}.pattern-item{aspect-ratio:1}.question{text-align:center;color:var(--green);aspect-ratio:1;border:2px dashed #a6b89d;border-radius:12px;font-size:48px}.choice-arrow{color:#b0bda6;width:80px;height:32px}.choices{gap:24px;display:flex}.choice{background:var(--paper);border-radius:24px;width:96px;height:96px;box-shadow:0 4px #e3dcc8}.correct{background:#c9e2bf;scale:1.06}.bounce{animation:.4s ease-out bounce}.sticker-grid{grid-template-columns:repeat(4,1fr);gap:20px;width:100%;max-width:600px;margin:32px 0;display:grid}.sticker{aspect-ratio:1;filter:grayscale();opacity:.28;background:#edeadd;border-radius:50%;padding:12px;position:relative}.sticker.earned{filter:none;opacity:1;background:#fffdf5;box-shadow:0 4px 16px #304e4910}.sticker>span{background:#f5f0e0;border-radius:50%;width:32px;height:32px;position:absolute;bottom:0;right:0}.stickers h1{margin-top:24px}.stickers>p{text-align:center;color:var(--muted);margin:12px 0}.primary,.secondary{border-radius:24px;justify-content:center;align-items:center;gap:12px;min-width:140px;min-height:72px;padding:12px 20px;display:flex}.primary{background:var(--green);color:#fffdf5}.secondary{border:2px solid #c8d3be}.primary svg,.secondary svg{width:36px;height:36px}.celebration{flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%;display:flex;position:relative}.celebration h1{font-size:48px}.celebration>p{color:var(--muted)}.prize{background:#f0ddb0;border-radius:50%;width:184px;height:184px;padding:24px;animation:.55s cubic-bezier(.23,1,.32,1) both prize}.finish-actions{gap:16px;margin-top:16px;display:flex}.sparkles{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.spark{color:#e7b647;width:32px;height:32px;animation:2s ease-in-out infinite alternate sway;position:absolute}.s0{top:10%;left:16%}.s1{animation-delay:-.5s;top:20%;right:12%}.s2{animation-delay:-1s;bottom:30%;left:12%}.s3{width:20px;top:48%;right:18%}.s4{width:20px;top:8%;right:35%}.teacher{max-width:840px;margin:auto;padding:24px 24px 48px}.teacher header{height:auto;margin-bottom:32px}.teacher main{display:block}.teacher h1{font-size:40px}.teacher h2{margin:32px 0 12px;font-size:24px;font-weight:600}.teacher p,.teacher li{font-family:inherit;font-size:18px;line-height:1.7}.teacher li{margin:12px 0}.teacher a{color:var(--green)}.teacher .back-link{align-items:center;gap:12px;min-height:64px;display:inline-flex}.teacher .back-link svg{width:32px;height:32px}.teacher footer{margin-top:32px}.teacher .note{background:#e9eddf;border-radius:24px;margin:24px 0;padding:24px}.teacher .attribution{color:var(--muted);font-size:14px}@keyframes bounce{0%,to{transform:translate(0)}30%{transform:translate(-10px)rotate(-4deg)}65%{transform:translate(6px)rotate(3deg)}}@keyframes prize{0%{opacity:0;transform:scale(.65)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes sway{0%{transform:rotate(-6deg)scale(.96)}to{transform:rotate(6deg)scale(1.04)}}@keyframes flowers{to{transform:translateY(-4px)}}@media (max-width:600px){.shell{padding:4px 16px 0}header{height:76px}.intro{align-self:flex-start;gap:8px;margin:8px 0 0}.mascot{flex-shrink:0;width:72px;height:80px}.intro h1{font-size:30px}.intro .eyebrow{letter-spacing:.09em;margin-bottom:4px;font-size:9px}.intro p:last-child{margin-top:4px;font-size:12px}.menu-tools{margin:8px 0 12px}.game-menu{gap:12px;max-height:380px}.game-tile{border-radius:24px;padding:12px}.tile-label{gap:6px}.tile-label strong{font-size:16px}.tile-label small{font-size:10px}.arrow{font-size:24px}.tile-art>svg{max-height:92px}.mini-cards{max-height:112px}.mini-cards svg{max-width:62px;padding:4px}.mini-pattern b{font-size:32px}.mini-shapes{margin-top:16px}.collection{padding:0 12px;font-size:14px}.collection svg{width:32px;height:32px}.game-heading{margin:8px 0 12px}.game-heading h1{font-size:30px}.game-heading p:last-child{font-size:15px}.game-heading .eyebrow{margin-bottom:4px;font-size:10px}.game-bottom{gap:8px;min-height:80px}.game-bottom>span{font-size:12px}.game-bottom .level-marker{width:32px;height:32px}.play-area{gap:20px}.memory-grid{gap:12px;max-height:340px}.medium .memory-grid{gap:12px;max-height:300px}.memory-card{border-radius:20px}.card-back,.card-front{top:8px;bottom:8px;left:8px;right:8px}.sorter{gap:12px;max-width:320px;padding:16px}.slot{width:80px;height:80px}.tray{gap:12px;max-width:300px}.piece{width:76px;height:76px}.puzzle{width:300px;max-width:100%}.jigsaw-tray{gap:12px}.jigsaw-tray .piece{width:108px;height:80px}.jigsaw-tray.cols-3 .piece{width:80px;height:80px}.sequence{border-radius:16px;padding:12px 4px}.question{font-size:32px}.choices{gap:20px}.choice{width:88px;height:88px}.sticker-grid{grid-template-columns:repeat(2,1fr);gap:12px;max-width:280px;margin:20px 0}.sticker{max-height:104px;padding:16px}.stickers h1{margin-top:12px;font-size:32px}.stickers>p{font-size:14px}.celebration h1{font-size:36px}.finish-actions{gap:12px}.primary,.secondary{min-width:132px;padding:12px;font-size:15px}.celebration .eyebrow{font-size:10px}.prize{width:160px;height:160px}footer{gap:8px;height:68px;font-size:10px}footer a{gap:4px}footer svg{width:24px;height:24px}.brand{font-size:22px}.teacher h1{font-size:32px}}@media (min-width:700px) and (max-height:850px){.intro{margin:0}.mascot{width:88px;height:88px}.intro h1{font-size:36px}.game-menu{max-height:360px}.menu-tools{margin:0 0 12px}.play-area.shape,.play-area.jigsaw{flex-direction:row;gap:32px}.shape .tray{max-width:220px}.jigsaw .tray{max-width:280px}.game-heading{margin:4px 0 12px}.medium .memory-grid{grid-template-columns:repeat(4,1fr);width:520px;max-height:350px}.puzzle{flex-shrink:0;width:360px}}@media (max-height:680px) and (max-width:600px){.intro{margin:0}.mascot{height:64px}.intro h1{font-size:26px}.intro p:last-child{display:none}.game-menu{max-height:300px}.game-tile{padding:8px 12px}.menu-tools{margin:4px 0 8px}.game-heading{margin:0 0 8px}.game-heading h1{font-size:26px}.play-area{gap:12px}.game-bottom{min-height:68px}.memory-grid{max-height:270px}.medium .memory-grid{max-height:320px}.puzzle{width:252px}.piece,.jigsaw-tray .piece,.jigsaw-tray.cols-3 .piece{width:72px;height:64px}.sorter .slot{width:64px;height:64px}.sorter{gap:12px;max-width:280px;padding:12px}.sticker-grid{max-width:240px;margin:12px 0}.sticker{max-height:84px}.celebration{gap:12px}.prize{width:128px;height:128px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
