@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap";
.ex45Page{color:#1e293b;background-color:#f8fafc;min-height:100vh;padding-bottom:60px;font-family:Fredoka,Be Vietnam Pro,sans-serif}.ex45Container{max-width:1140px;margin:0 auto;padding:0 20px}.ex45Hero{color:#fff;text-align:center;background:linear-gradient(135deg,#14b8a6 0%,#0d9488 50%,#7c3aed 100%);border-bottom-right-radius:36px;border-bottom-left-radius:36px;padding:50px 20px 60px;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #14b8a64d}.ex45Hero__badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border:1px solid #ffffff4d;border-radius:50px;margin-bottom:16px;padding:8px 18px;font-size:.95rem;font-weight:600;display:inline-block}.ex45Hero__title{margin-bottom:14px;font-size:2.4rem;font-weight:700;line-height:1.25}.ex45Hero__desc{opacity:.95;max-width:680px;margin:0 auto 28px;font-size:1.15rem;line-height:1.6}.ex45Hero__stats{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.ex45Hero__statItem{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff26;border:1px solid #fff3;border-radius:16px;padding:10px 20px;font-size:.95rem;font-weight:600}.ex45FilterSection{z-index:10;margin-top:-28px;margin-bottom:40px;position:relative}.ex45FilterList{scrollbar-width:none;justify-content:center;gap:12px;padding:6px 4px 12px;display:flex;overflow-x:auto}.ex45FilterList::-webkit-scrollbar{display:none}.ex45FilterBtn{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:2px solid #e2e8f0;border-radius:50px;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 6px -1px #0000000d}.ex45FilterBtn:hover{border-color:#cbd5e1;transform:translateY(-2px)}.ex45FilterBtn--active{color:#fff;background:#14b8a6;border-color:#14b8a6;box-shadow:0 8px 15px -3px #14b8a659}.ex45Grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-bottom:60px;display:grid}.ex45Card{background:#fff;border:2px solid #f1f5f9;border-radius:24px;flex-direction:column;padding:24px;transition:all .25s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 20px -5px #0000000a}.ex45Card:hover{border-color:#e2e8f0;transform:translateY(-6px);box-shadow:0 20px 30px -10px #00000014}.ex45Card__header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.ex45Card__iconWrap{border-radius:18px;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.8rem;display:flex;box-shadow:0 4px 12px #00000014}.ex45Card__meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.ex45Card__categoryBadge{border-radius:50px;padding:4px 10px;font-size:.75rem;font-weight:700}.ex45Card__diff{color:#64748b;font-size:.75rem;font-weight:600}.ex45Card__title{color:#0f172a;margin-bottom:8px;font-size:1.2rem;font-weight:700}.ex45Card__desc{color:#64748b;flex-grow:1;margin-bottom:20px;font-size:.9rem;line-height:1.5}.ex45Card__footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.ex45Card__time{color:#94a3b8;font-size:.85rem;font-weight:500}.ex45Card__playBtn{color:#fff;cursor:pointer;border:none;border-radius:14px;padding:10px 20px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 4px 10px #00000026}.ex45Card__playBtn:hover{filter:brightness(1.08);transform:scale(1.05)}.ex45InfoSection{background:#fff;border:1px solid #e2e8f0;border-radius:28px;margin-bottom:50px;padding:40px 32px;box-shadow:0 10px 25px -5px #00000008}.ex45InfoGrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;display:grid}.ex45InfoBlock__title{color:#0f172a;align-items:center;gap:10px;margin-bottom:16px;font-size:1.3rem;font-weight:700;display:flex}.ex45InfoBlock__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.ex45InfoBlock__item{color:#334155;align-items:flex-start;gap:10px;font-size:.95rem;line-height:1.5;display:flex}.ex45InfoBlock__bullet{color:#14b8a6;font-weight:700}.ex45Modal{z-index:99999;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ex45Modal__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172aa6;position:absolute;inset:0}.ex45Modal__card{background:#fff;border-radius:28px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;animation:.3s cubic-bezier(.175,.885,.32,1.275) ex45PopIn;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}@keyframes ex45PopIn{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.ex45EngineHeader{background:#fff;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ex45EngineHeader__left{align-items:center;gap:10px;display:flex}.ex45EngineHeader__icon{font-size:1.6rem}.ex45EngineHeader__title{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}.ex45EngineHeader__close{cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;font-weight:700;display:flex}.ex45EngineBody{flex-direction:column;align-items:center;min-height:320px;padding:20px;display:flex;position:relative;overflow-y:auto}.ex45Feedback{z-index:20;border-radius:50px;padding:8px 20px;font-size:1rem;font-weight:700;animation:.3s ex45BounceIn;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 10px 20px #0000001a}.ex45Feedback--correct{color:#15803d;background:#dcfce7;border:2px solid #86efac}.ex45Feedback--retry{color:#a16207;background:#fef9c3;border:2px solid #fde047}@keyframes ex45BounceIn{0%{opacity:0;transform:translate(-50%)scale(.5)}70%{transform:translate(-50%)scale(1.1)}to{opacity:1;transform:translate(-50%)scale(1)}}.ex45Instruction{text-align:center;flex-direction:column;align-items:center;gap:20px;width:100%;margin:auto 0;display:flex}.ex45Instruction__bubble{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:20px;width:100%;padding:24px;position:relative}.ex45Instruction__text{color:#334155;margin:0 0 12px;font-size:1.15rem;font-weight:600}.ex45Instruction__speak{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:50px;padding:6px 14px;font-size:1.1rem;box-shadow:0 2px 5px #0000000d}.ex45Instruction__start{color:#fff;cursor:pointer;border:none;border-radius:50px;padding:14px 36px;font-family:inherit;font-size:1.1rem;font-weight:700;transition:transform .2s;box-shadow:0 8px 20px #00000026}.ex45Instruction__start:hover{transform:scale(1.05)}.ex45Complete{text-align:center;flex-direction:column;align-items:center;margin:auto 0;display:flex}.ex45Complete__trophy{margin-bottom:12px;font-size:4rem;animation:1s ease-in-out infinite alternate ex45TrophyBounce}@keyframes ex45TrophyBounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.ex45Complete__title{color:#0f172a;margin-bottom:8px;font-size:1.6rem;font-weight:700}.ex45Complete__desc{color:#64748b;margin-bottom:24px;font-size:1rem;line-height:1.5}.ex45Complete__actions{gap:12px;display:flex}.ex45Complete__btn{cursor:pointer;border:none;border-radius:16px;padding:12px 24px;font-family:inherit;font-size:.95rem;font-weight:600}.ex45Complete__btn--restart{color:#475569;background:#f1f5f9}.ex45Complete__btn--done{color:#fff}.ex45Tap{flex-direction:column;align-items:center;width:100%;display:flex}.ex45Tap__progress{background:#e2e8f0;border-radius:10px;width:100%;height:8px;margin-bottom:8px;overflow:hidden}.ex45Tap__progressBar{height:100%;transition:width .3s}.ex45Tap__counter{margin-bottom:12px;font-size:.95rem;font-weight:700}.ex45Tap__instruction{color:#334155;text-align:center;margin-bottom:16px;font-weight:600}.ex45Tap__grid{grid-template-columns:repeat(4,1fr);gap:12px;width:100%;display:grid}.ex45Tap__item{aspect-ratio:1;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:16px;justify-content:center;align-items:center;font-size:2rem;transition:all .2s;display:flex}.ex45Tap__item--tapped{border-style:solid;transform:scale(.95)}.ex45Tap__item--wrong{animation:.4s ex45Shake;border-color:#ef4444!important}@keyframes ex45Shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.ex45Trace{flex-direction:column;align-items:center;width:100%;display:flex}.ex45Trace__instruction{color:#334155;margin-bottom:12px;font-weight:600}.ex45Trace__canvasWrap{background:#fff;border:2px dashed #cbd5e1;border-radius:20px;margin-bottom:12px;position:relative;overflow:hidden}.ex45Trace__canvas{width:320px;height:200px;display:block}.ex45Trace__markers{color:#64748b;justify-content:space-between;padding:4px 12px 8px;font-size:.8rem;font-weight:600;display:flex}.ex45Trace__progressWrap{background:#e2e8f0;border-radius:10px;width:100%;height:6px;overflow:hidden}.ex45Trace__progressFill{height:100%;transition:width .2s}.ex45Trace__progressLabel{margin:6px 0 12px;font-size:.9rem;font-weight:700}.ex45Trace__reset{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:50px;padding:6px 16px;font-family:inherit;font-size:.85rem;font-weight:600}.ex45Match{flex-direction:column;align-items:center;width:100%;display:flex}.ex45Match__instruction{color:#334155;margin-bottom:4px;font-weight:600}.ex45Match__hint{color:#64748b;margin-bottom:16px;font-size:.85rem}.ex45Match__board{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.ex45Match__col{flex-direction:column;flex:1;gap:10px;display:flex}.ex45Match__item{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:16px;align-items:center;gap:10px;padding:10px;font-family:inherit;transition:all .2s;display:flex}.ex45Match__item--selected{border-style:solid}.ex45Match__item--wrong{animation:.4s ex45Shake;border-color:#ef4444!important}.ex45Match__emoji{font-size:1.5rem}.ex45Match__label{color:#334155;font-size:.9rem;font-weight:600}.ex45Match__progress{margin-top:16px;font-size:.9rem;font-weight:700}.ex45Sort{flex-direction:column;align-items:center;width:100%;display:flex}.ex45Sort__instruction{color:#334155;margin-bottom:4px;font-weight:600}.ex45Sort__hint{color:#64748b;margin-bottom:16px;font-size:.85rem}.ex45Sort__items{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px;display:flex}.ex45Sort__item{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:16px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;display:flex}.ex45Sort__item--selected{border-style:solid;transform:scale(1.05)}.ex45Sort__categories{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.ex45Sort__category{cursor:pointer;border:2px dashed;border-radius:20px;flex-direction:column;align-items:center;min-height:110px;padding:14px;font-family:inherit;display:flex}.ex45Sort__catHeader{align-items:center;gap:6px;margin-bottom:8px;font-size:.95rem;font-weight:700;display:flex}.ex45Sort__catItems{flex-wrap:wrap;justify-content:center;gap:4px;font-size:1.3rem;display:flex}.ex45Sort__catEmpty{color:#94a3b8;font-size:.8rem}.ex45Sort__progress{margin-top:16px;font-size:.9rem;font-weight:700}.ex45Seq{flex-direction:column;align-items:center;width:100%;display:flex}.ex45Seq__instruction{color:#334155;margin-bottom:4px;font-weight:600}.ex45Seq__hint{color:#64748b;margin-bottom:16px;font-size:.85rem}.ex45Seq__dots{gap:8px;margin-bottom:20px;display:flex}.ex45Seq__dot{background:#e2e8f0;border-radius:50%;width:12px;height:12px}.ex45Seq__grid{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;display:flex}.ex45Seq__item{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:20px;flex-direction:column;align-items:center;gap:6px;min-width:80px;padding:16px;font-family:inherit;display:flex;position:relative}.ex45Seq__num{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:flex;position:absolute;top:-8px;right:-8px}.ex45Seq__emoji{font-size:2rem}.ex45Seq__label{color:#475569;font-size:.8rem;font-weight:600}.ex45Seq__progress{margin-top:16px;font-size:.9rem;font-weight:700}.ex45Mem{flex-direction:column;align-items:center;width:100%;display:flex}.ex45Mem__instruction{color:#334155;margin-bottom:4px;font-weight:600}.ex45Mem__progress{margin-bottom:16px;font-size:.9rem;font-weight:700}.ex45Mem__grid{gap:10px;width:100%;display:grid}.ex45Mem__card{perspective:1000px;aspect-ratio:1;cursor:pointer;background:0 0;border:none;padding:0}.ex45Mem__inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s;position:relative}.ex45Mem__card--flipped .ex45Mem__inner{transform:rotateY(180deg)}.ex45Mem__back,.ex45Mem__front{backface-visibility:hidden;border:2px solid #e2e8f0;border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ex45Mem__back{color:#fff;font-size:1.5rem}.ex45Mem__front{background:#fff;font-size:1.8rem;transform:rotateY(180deg)}.ex45Listen{flex-direction:column;align-items:center;width:100%;display:flex}.ex45Listen__audioBox{background:#f8fafc;border:2px solid #e2e8f0;border-radius:50px;align-items:center;gap:12px;margin-bottom:16px;padding:10px 20px;display:flex}.ex45Listen__speakBtn{color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.ex45Listen__audioText{color:#1e293b;font-size:1.1rem;font-weight:700}.ex45Listen__instruction{color:#334155;margin-bottom:16px;font-weight:600}.ex45Listen__options{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.ex45Listen__option{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:20px;flex-direction:column;align-items:center;gap:8px;padding:16px;font-family:inherit;transition:all .2s;display:flex}.ex45Listen__optEmoji{font-size:2.2rem}.ex45Listen__optLabel{color:#334155;font-size:.9rem;font-weight:600}.ex45Drag{flex-direction:column;align-items:center;width:100%;display:flex}.ex45Drag__instruction{color:#334155;margin-bottom:16px;font-weight:600}.ex45Drag__items{flex-wrap:wrap;justify-content:center;gap:10px;min-height:50px;margin-bottom:20px;display:flex}.ex45Drag__item{cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #e2e8f0;border-radius:16px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;display:flex}.ex45Drag__item--dragging{cursor:grabbing;box-shadow:0 10px 25px #00000026}.ex45Drag__targets{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;width:100%;display:grid}.ex45Drag__target{border:2px dashed;border-radius:20px;flex-direction:column;align-items:center;min-height:100px;padding:12px;display:flex}.ex45Drag__targetHeader{align-items:center;gap:6px;margin-bottom:8px;font-size:.85rem;font-weight:700;display:flex}.ex45Drag__targetItems{flex-wrap:wrap;justify-content:center;gap:4px;font-size:1.3rem;display:flex}.ex45Drag__targetEmpty{color:#94a3b8;font-size:.75rem}.ex45Drag__progress{margin-top:16px;font-size:.9rem;font-weight:700}.ex45Find{flex-direction:column;align-items:center;width:100%;display:flex}.ex45Find__instruction{color:#334155;margin-bottom:12px;font-weight:600}.ex45Find__target{color:#f97316;margin-left:4px;font-weight:700}.ex45Find__scene{background:#f0f9ff;border:2px solid #e2e8f0;border-radius:24px;width:100%;height:240px;position:relative;overflow:hidden}.ex45Find__bg{position:absolute;inset:0}.ex45Find__sky{background:linear-gradient(#bae6fd 0%,#e0f2fe 100%);height:60%}.ex45Find__ground{background:linear-gradient(#86efac 0%,#4ade80 100%);height:40%}.ex45Find__obj{cursor:pointer;background:0 0;border:none;padding:4px;font-size:2.2rem;transition:transform .2s;position:absolute}.ex45Find__obj:hover{transform:scale(1.15)}.ex45Find__success{margin-top:12px;font-size:1rem;font-weight:700}@media (max-width:640px){.ex45Hero__title{font-size:1.8rem}.ex45Grid{grid-template-columns:1fr}.ex45Modal__card{max-height:95vh}}
