:root{--navy:#08245f;--blue:#146ef5;--violet:#6853ff;--pink:#ff4fa3;--yellow:#ffd43b;--green:#16c784;--ink:#14213d;--muted:#64748b;--bg:#f4f8ff;--card:#fff;--shadow:0 16px 50px rgba(26,52,120,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-rounded,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}img{max-width:100%}.container{width:min(1180px,92%);margin:auto}.topbar{background:#061c4c;color:#dbeafe;padding:8px 0;font-size:14px}.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #dfe8f8}.nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{display:block;width:auto;height:58px;max-width:250px;object-fit:contain;object-position:left center}.nav-inner>a:first-child{display:flex;align-items:center;height:100%;flex:0 0 auto}.nav-links{display:flex;gap:20px;align-items:center;font-weight:750;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:12px 18px;font-weight:850;cursor:pointer;background:#fff;color:var(--navy);box-shadow:0 5px 18px rgba(20,40,100,.08)}.btn-primary{background:linear-gradient(135deg,var(--violet),var(--blue));color:#fff}.btn-pink{background:linear-gradient(135deg,#ff2e8b,#ff7b54);color:#fff}.btn-yellow{background:var(--yellow);color:#3d2d00}.btn-green{background:var(--green);color:#fff}.hero{overflow:hidden;background:radial-gradient(circle at 80% 10%,#dff6ff 0,#eef4ff 32%,#f9fbff 60%);padding:54px 0 30px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:36px}.eyebrow{display:inline-flex;gap:8px;align-items:center;background:#fff1cb;border:1px solid #ffe084;color:#694e00;border-radius:999px;padding:8px 12px;font-weight:850;font-size:14px}.hero h1{font-size:clamp(42px,5.6vw,74px);line-height:.98;margin:16px 0 18px;color:#102561;letter-spacing:-2px}.hero h1 span{background:linear-gradient(90deg,#ff4fa3,#ff8a00,#5b5bff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:19px;line-height:1.65;color:#475569;max-width:650px}.hero-art{background:#fff;border-radius:28px;box-shadow:var(--shadow);padding:10px;transform:rotate(1deg)}.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}.trust{background:#fff;border:1px solid #e4eafa;padding:14px;border-radius:16px;text-align:center;font-weight:800;font-size:13px}.section{padding:72px 0}.section h2{font-size:clamp(30px,4vw,48px);margin:0 0 12px;color:#0a2666;letter-spacing:-1px}.lead{color:#64748b;font-size:18px;line-height:1.65;max-width:760px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid #e4eafa;border-radius:22px;padding:22px;box-shadow:0 8px 30px rgba(26,54,120,.07)}.feature-icon{font-size:38px;width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:#eef3ff}.card h3{margin:14px 0 8px}.card p{color:#64748b;line-height:1.55}.game-card{position:relative;overflow:hidden;min-height:220px}.game-card .big{font-size:64px}.game-card .tag{display:inline-flex;border-radius:999px;padding:6px 9px;background:#eef2ff;color:#4f46e5;font-size:12px;font-weight:800}.game-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:#edf3ff;right:-30px;bottom:-30px}.stats-band{background:linear-gradient(135deg,#092867,#0d55c7 58%,#6b4dff);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{text-align:center;padding:18px}.stat strong{display:block;font-size:36px}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price-card{background:white;border:2px solid #e4eafa;border-radius:24px;padding:26px;position:relative}.price-card.popular{border-color:#6654ff;transform:translateY(-8px);box-shadow:0 20px 60px #6654ff22}.ribbon{position:absolute;right:18px;top:-12px;background:#ff4fa3;color:white;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900}.price{font-size:44px;font-weight:950;color:#112f78}.price small{font-size:15px;color:#64748b}.checklist{padding:0;list-style:none}.checklist li{padding:8px 0;color:#475569}.checklist li:before{content:"✓";color:#13b879;font-weight:900;margin-right:8px}.faq details{background:white;border:1px solid #e0e8f7;padding:18px 20px;border-radius:16px;margin-bottom:12px}.faq summary{font-weight:850;cursor:pointer}.faq p{color:#64748b;line-height:1.6}.cta{background:linear-gradient(135deg,#6b50ff,#165ff3 60%,#0bb6d9);color:#fff;border-radius:30px;padding:44px;text-align:center}.footer{background:#071d4f;color:#dce8ff;padding:42px 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer small{color:#9fb3dd}.dash-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh;background:#f3f7fd}.sidebar{background:#071f57;color:white;padding:24px 16px;position:sticky;top:0;height:100vh}.sidebar .logo{width:auto;height:62px;max-width:205px;object-fit:contain;object-position:left center}.side-link{display:flex;gap:10px;padding:11px 12px;border-radius:12px;color:#dce7ff;margin:3px 0;font-weight:700}.side-link:hover,.side-link.active{background:#163a83;color:#fff}.main{padding:28px}.dash-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric{background:white;border-radius:18px;padding:18px;border:1px solid #e1e8f5}.metric b{font-size:28px;display:block;margin-top:8px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid #e9eef8;text-align:left;white-space:nowrap}.table th{font-size:12px;text-transform:uppercase;color:#708099}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:850;background:#e9f0ff;color:#3256a6}.pill.green{background:#dcfce7;color:#167447}.pill.orange{background:#fff0cf;color:#8a5700}.pill.red{background:#fee2e2;color:#a11f1f}.alert{padding:12px 14px;border-radius:12px;margin:10px 0}.alert.success{background:#dcfce7}.alert.error{background:#fee2e2}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd9eb;border-radius:12px;padding:12px;background:#fff}.game-page{min-height:100vh;background:linear-gradient(180deg,#b9ecff,#eaf8ff 35%,#fff);padding:18px}.game-top{display:flex;justify-content:space-between;align-items:center;gap:14px;max-width:1000px;margin:auto}.game-board{max-width:1000px;margin:18px auto;background:#fff;border:4px solid #ffffff;border-radius:28px;padding:24px;box-shadow:0 24px 80px #174c7d2b;min-height:620px;position:relative;overflow:hidden}.game-board:before,.game-board:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:#fff2b3;opacity:.45;z-index:0}.game-board:before{right:-70px;top:-70px}.game-board:after{left:-100px;bottom:-120px;background:#e7d7ff}.game-content{position:relative;z-index:1;text-align:center}.question{font-size:clamp(28px,5vw,52px);font-weight:950;color:#13357e;margin:24px auto}.answers{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:720px;margin:26px auto}.answer{font-size:28px;padding:22px;border-radius:20px;border:3px solid #dbe6fb;background:#f9fbff;font-weight:900;cursor:pointer;transition:.15s}.answer:hover{transform:translateY(-3px);border-color:#5b6cff}.answer.correct{background:#dcfce7;border-color:#22c55e}.answer.wrong{background:#fee2e2;border-color:#ef4444}.progress{height:16px;background:#dbe7fb;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#ffb800,#ff4fa3,#6b5cff)}.big-emoji{font-size:100px}.leaderboard{display:grid;gap:10px}.leader-row{display:flex;align-items:center;gap:12px;background:#fff;padding:12px 14px;border-radius:14px;border:1px solid #e4ebf7}.rank{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;font-weight:900}.mobile-only{display:none}@media(max-width:900px){.nav-links{display:none}.hero-grid,.grid-3,.pricing,.footer-grid{grid-template-columns:1fr}.grid-4,.metric-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.trust-row{grid-template-columns:repeat(2,1fr)}.dash-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.side-menu{display:flex;overflow:auto}.side-link{white-space:nowrap}.main{padding:16px}.form-grid{grid-template-columns:1fr}.mobile-only{display:block}}@media(max-width:600px){.hero{padding-top:30px}.hero h1{font-size:44px}.grid-4,.metric-grid,.stats-grid{grid-template-columns:1fr}.answers{grid-template-columns:1fr}.game-board{padding:16px;min-height:560px}.question{font-size:31px}.answer{font-size:24px}.logo{width:auto;height:46px;max-width:190px}.cta{padding:28px 18px}}

/* EduJoy v2.0.3 */
.didik-bundle{background:linear-gradient(135deg,#071f57 0%,#124cb6 58%,#5b4bff 100%);color:#fff;border:0;box-shadow:0 22px 60px rgba(13,68,165,.24)}
.didik-bundle p,.didik-bundle .muted{color:#dbeafe}.didik-bundle .price{color:#fff}.didik-bundle .price small{color:#dbeafe}
.didik-badge{display:inline-flex;align-items:center;gap:7px;background:#ffd43b;color:#3d2d00;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900}
.bundle-note{background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;border-radius:16px;padding:14px 16px}
.quota-bar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.quota-chip{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef4ff;color:#214b9a;font-size:12px;font-weight:850}
@media(max-width:600px){.nav-inner{height:68px}.nav .logo{height:44px;max-width:180px}.sidebar .logo{height:52px;max-width:180px}}

/* EduJoy v2.1.0 — real game variety runtime */
.ej-game-stage{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px 8px 24px;position:relative}.ej-question{font-size:clamp(28px,4.5vw,48px);font-weight:950;color:#163b87;margin:18px auto 20px;text-align:center;line-height:1.08;max-width:900px}.ej-scene{width:min(860px,100%);min-height:150px;display:grid;place-items:center;margin-top:8px}.ej-answers{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:14px;width:min(720px,100%);margin:8px auto}.ej-answer{font-size:27px;font-weight:950;border:3px solid #d9e4fb;background:#fbfdff;border-radius:22px;padding:20px 16px;cursor:pointer;transition:.15s;box-shadow:0 7px 0 #dbe7fb}.ej-answer:hover{transform:translateY(-3px);border-color:#6c63ff}.ej-answer:active{transform:translateY(2px);box-shadow:0 3px 0 #dbe7fb}.ej-answer.correct{background:#dcfce7;border-color:#22c55e;box-shadow:0 7px 0 #86efac}.ej-answer.wrong{background:#fee2e2;border-color:#ef4444;box-shadow:0 7px 0 #fca5a5}.ej-feedback{min-height:42px;font-size:23px;font-weight:900;margin-top:14px}.ej-feedback.ok{color:#15803d}.ej-feedback.bad{color:#b45309}.ej-dual-groups{display:flex;align-items:center;justify-content:center;gap:25px;width:100%}.ej-group{background:#f8fbff;border:3px solid #dce8fb;border-radius:24px;padding:16px;min-width:270px}.ej-group>b{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#1d4ed8;color:#fff}.ej-group>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;font-size:38px;margin-top:8px}.ej-vs{font-weight:1000;color:#6d28d9;font-size:24px}.ej-balloons{position:relative;width:min(900px,100%);height:330px;overflow:hidden;border-radius:30px;background:linear-gradient(#dff7ff,#fff6cf)}.ej-balloons button{position:absolute;left:var(--x);top:40px;border:0;background:transparent;font-size:84px;cursor:pointer;animation:ejFloat 2.1s ease-in-out infinite alternate;animation-delay:var(--d)}.ej-balloons b{position:absolute;inset:31px 0 auto 0;font-size:24px;color:#fff;text-shadow:0 2px 4px #0006}@keyframes ejFloat{to{transform:translateY(105px) rotate(4deg)}}.ej-remove-zone{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center;width:min(800px,100%);min-height:250px;border-radius:30px;background:linear-gradient(#dff7ff 0 48%,#86d68d 49% 100%);padding:28px}.ej-remove-zone.water-yes{background:linear-gradient(#dff7ff 0 22%,#8adcf4 23% 100%)}.ej-remove-zone button{border:0;background:transparent;font-size:68px;cursor:pointer;transition:.35s}.ej-remove-zone button.gone{transform:translateY(120px) scale(.15) rotate(30deg);opacity:0}.ej-counter{font-size:22px;font-weight:900;margin-top:14px}.ej-trace-wrap{position:relative;width:min(520px,94vw);height:260px;margin:12px auto 18px;background:#f9fbff;border:4px dashed #c8d8f6;border-radius:28px;overflow:hidden}.ej-trace-wrap canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;touch-action:none}.ej-trace-target{position:absolute;inset:0;display:grid;place-items:center;font-size:190px;font-weight:1000;color:#c9d7f1;z-index:1;user-select:none}.ej-adventure{width:100%;background:linear-gradient(135deg,#c8f7ff,#e8ffd4);border-radius:30px;padding:22px}.ej-map-path{display:flex;justify-content:space-around;align-items:center;gap:8px}.ej-map-path span{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid #cfe2ff;font-size:28px}.ej-map-path span.done{background:#fff4a8;border-color:#ffd43b}.ej-scene-title{text-align:center;font-weight:950;color:#0f4d7c;margin-top:12px}.ej-split{text-align:center}.ej-target-orb{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#635bff,#13b5ea);color:#fff;font-size:48px;font-weight:950;margin:auto}.ej-baskets{display:flex;align-items:center;justify-content:center;gap:28px;font-size:70px}.ej-baskets b{font-size:44px;color:#6d28d9}.ej-sequence-source,.ej-sequence-target{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:14px auto}.ej-sequence-source button,.ej-sequence-target span{min-width:72px;padding:15px 18px;border-radius:18px;border:3px solid #dce6fb;background:#fff;font-size:25px;font-weight:950}.ej-sequence-source button:disabled{opacity:.3}.ej-sequence-target span{background:#e0f2fe;border-color:#7dd3fc}.ej-train-head,.ej-stair-head{font-size:88px}.ej-rocket-scene{text-align:center}.ej-rocket-scene .rocket{font-size:110px;display:block}.ej-fuel{width:320px;height:18px;border-radius:999px;background:#dbe7fb;overflow:hidden;margin:0 auto}.ej-fuel i{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444)}.ej-blocks{margin-top:10px;font-size:22px}.ej-houses{display:flex;gap:22px;justify-content:center}.ej-houses button{width:180px;height:160px;border:4px solid #cfe0fb;border-radius:26px;background:#f8fbff;font-size:48px;cursor:pointer}.ej-houses button b{display:block;font-size:17px;color:#1e40af}.ej-houses button span{display:block;font-size:38px}.ej-houses button.selected{border-color:#7c3aed;background:#f3e8ff}.ej-digit-chips{display:flex;gap:12px;justify-content:center;margin:18px}.ej-digit-chips button{width:70px;height:70px;border-radius:18px;border:0;background:#153d8d;color:#fff;font-size:30px;font-weight:950;cursor:pointer}.ej-number-big{font-size:72px;font-weight:1000;color:#0f3b8d;margin-bottom:10px}.ej-croc{display:flex;gap:28px;align-items:center;justify-content:center;font-size:82px}.ej-croc strong{font-size:70px;color:#153d8d}.ej-caterpillar{display:flex;justify-content:center;align-items:center;gap:0}.ej-caterpillar span{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#9be15d;border:4px solid #54a832;font-size:25px;font-weight:950;margin-left:-7px}.ej-flash-objects{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:480px;max-width:90vw;font-size:50px;padding:24px;background:#fff8d6;border-radius:24px}.ej-covered{font-size:90px;margin:25px}.ej-numberline{display:flex;align-items:flex-end;justify-content:center;gap:0;max-width:850px;margin:22px auto;overflow:auto}.ej-numberline span{min-width:55px;border-top:5px solid #214eaa;padding-top:12px;position:relative;font-weight:850;text-align:center}.ej-numberline span:before{content:"";position:absolute;top:-9px;left:50%;width:3px;height:12px;background:#214eaa}.ej-numberline span.here b{display:block;font-size:38px}.ej-jump-char{font-size:52px}.ej-detective{display:flex;align-items:center;justify-content:center;gap:18px}.ej-detective>span{font-size:90px}.ej-detective div{display:flex;gap:8px}.ej-detective b{padding:12px 16px;background:#fff2b3;border-radius:16px;font-size:24px}.ej-city{width:min(760px,100%);height:180px;background:linear-gradient(#c9f0ff 0 64%,#9bd46e 65%);border-radius:30px;position:relative;overflow:hidden}.ej-city .sky{font-size:34px;text-align:right;padding:8px 20px}.ej-city .buildings{position:absolute;bottom:30px;left:25px;right:25px;display:flex;align-items:flex-end;justify-content:center;gap:10px}.ej-city .buildings span{font-size:62px;animation:ejPop .35s ease-out}.ej-city .road{position:absolute;bottom:0;height:30px;left:0;right:0;background:#667085}.ej-combine{display:flex;gap:18px;justify-content:center;align-items:center;font-size:44px}.ej-combine>div{max-width:280px}.ej-shop{text-align:center}.ej-shop>span{font-size:95px}.ej-shop .basket{font-size:42px;background:#fff7d6;border-radius:22px;padding:14px}.ej-castle .tower{font-size:110px}.ej-castle .doors{display:flex;gap:8px;font-size:45px}.ej-castle .doors span.open{filter:grayscale(1);opacity:.45}.ej-story,.ej-rescue,.ej-time-detective,.ej-measure-mission,.ej-stations,.ej-shape-hunt,.ej-shape-clue,.ej-stamp,.ej-designer,.ej-mystery{display:flex;gap:24px;align-items:center;justify-content:center;font-size:70px}.ej-story b{font-size:60px;color:#5b21b6}.ej-escape{text-align:center}.ej-escape>span{font-size:90px}.ej-escape .code{display:flex;gap:8px;justify-content:center}.ej-escape i{width:65px;height:65px;display:grid;place-items:center;background:#111827;color:#fff;border-radius:12px;font-size:32px}.ej-equal-baskets{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.ej-equal-baskets>div{font-size:60px}.ej-equal-baskets span{display:block;font-size:32px}.ej-delivery{display:flex;align-items:center;justify-content:center;gap:12px;font-size:62px;flex-wrap:wrap}.ej-delivery small{display:block;width:100%;font-size:18px}.ej-boss{text-align:center}.ej-boss>span{font-size:110px}.ej-boss .hp{height:22px;width:360px;max-width:80vw;background:#fee2e2;border-radius:999px;overflow:hidden;margin:5px auto}.ej-boss .hp i{display:block;height:100%;background:#ef4444}.ej-match-left,.ej-memory-card{min-width:180px;min-height:130px;display:grid;place-items:center;background:#f3e8ff;border:4px solid #c084fc;border-radius:28px;font-size:70px;font-weight:950}.ej-ninja{font-size:90px}.ej-fruit-fall{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.ej-fruit-fall button{position:relative;border:0;background:transparent;font-size:70px;cursor:pointer;animation:ejFruit 1.1s ease-in-out infinite alternate}.ej-fruit-fall b{position:absolute;left:0;right:0;top:27px;color:#fff;font-size:20px;text-shadow:0 2px 5px #000}.ej-countdown{position:absolute;right:15px;top:8px;background:#fff0cf;color:#9a5a00;padding:9px 13px;border-radius:999px;font-weight:950}.ej-fraction-disk{display:grid;grid-template-columns:repeat(2,130px);gap:4px;justify-content:center;margin:16px}.ej-fraction-disk button{height:130px;border:4px solid #f59e0b;background:#fff7d6;font-size:75px;cursor:pointer}.ej-fraction-disk button.selected{background:#fde68a;transform:scale(.96)}.ej-fraction-disk.cookie button{border-color:#b7791f;background:#fef3c7}.ej-fraction-count{font-size:21px;font-weight:900;margin:8px}.ej-money-scene,.ej-coins,.ej-money-machine{display:flex;gap:24px;align-items:center;justify-content:center;font-size:75px}.ej-money-target{padding:16px 22px;border-radius:22px;background:#fef3c7;font-size:38px;font-weight:950}.ej-coins span{display:flex;flex-direction:column}.ej-coins b{font-size:16px}.ej-coins strong{font-size:40px}.ej-budget{border-collapse:collapse;font-size:22px}.ej-budget th,.ej-budget td{border:2px solid #cddaf1;padding:14px 24px}.ej-savings{display:flex;gap:25px;align-items:center}.ej-savings>span{font-size:110px}.ej-savings div{width:360px;max-width:70vw;background:#e5e7eb;border-radius:999px;overflow:hidden;position:relative;padding:14px}.ej-savings i{display:block;height:28px;background:#22c55e;border-radius:999px}.ej-savings b,.ej-savings small{display:block}.ej-mart{display:flex;gap:18px;justify-content:center;align-items:end;flex-wrap:wrap}.ej-mart>div:not(.counter){background:#fff7d6;border:3px solid #fde68a;border-radius:20px;padding:14px;font-size:55px}.ej-mart b{display:block;font-size:18px}.ej-mart .counter{width:100%;font-size:26px;font-weight:950}.ej-board-race{display:grid;grid-template-columns:repeat(4,80px);gap:7px}.ej-board-race span{height:70px;background:#e0f2fe;border-radius:14px;display:grid;place-items:center;font-size:34px}.ej-board-race span.here{background:#fef08a;border:3px solid #f59e0b}.ej-day-scene{text-align:center;font-size:100px}.ej-day-scene div{font-size:35px}.ej-calendar{background:#fff;border:4px solid #bfdbfe;border-radius:24px;padding:18px}.ej-calendar>b{font-size:34px}.ej-calendar>div{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:12px}.ej-calendar span{padding:10px 5px;background:#eff6ff;border-radius:10px}.ej-calendar span.active{background:#fef08a}.ej-clock{width:190px;height:190px}.ej-clock circle{fill:#fffdf2;stroke:#163b87;stroke-width:5}.ej-clock line{stroke:#163b87;stroke-linecap:round}.ej-clock .hour{stroke-width:8}.ej-clock .min{stroke-width:5;stroke:#ef4444}.ej-clock-controls{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.ej-clock-controls>div{max-width:460px}.ej-clock-controls b{display:block}.ej-clock-controls button{margin:3px;border:2px solid #dbe7fb;background:#fff;border-radius:10px;padding:8px 10px;font-weight:850;cursor:pointer}.ej-stations{flex-direction:column;font-size:45px}.ej-stations .active{background:#dcfce7;padding:10px 20px;border-radius:18px;font-size:28px;font-weight:950}.ej-shape-pattern{display:flex;gap:12px;font-size:62px}.ej-shape-pattern span{width:80px;height:80px;border-radius:20px;background:#f8fbff;border:3px solid #dbe7fb;display:grid;place-items:center}.ej-robot{text-align:center}.ej-robot>span{font-size:110px}.ej-robot .parts{font-size:28px}.ej-robot b{display:block}.ej-tally{font-size:80px;font-family:Georgia,serif;letter-spacing:-14px}.ej-tally i{font-style:normal}.ej-tally .cross{color:#ef4444}.ej-picto{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;font-size:52px}.ej-bars{height:180px;display:flex;align-items:flex-end;gap:25px;justify-content:center;margin:10px auto}.ej-bars>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.ej-bars span{width:55px;background:linear-gradient(#60a5fa,#7c3aed);border-radius:10px 10px 0 0;min-height:8px}.ej-bars b,.ej-bars small{font-size:13px}.ej-spinner{text-align:center}.ej-spinner .wheel{font-size:100px;animation:ejSpin 2s linear infinite}.ej-spinner b{font-size:25px}.ej-finish{text-align:center;padding:55px 10px}.ej-finish>div:first-child{font-size:120px}.ej-finish h1{font-size:46px;color:#173b87}.ej-finish p{font-size:22px}.ej-finish>div:last-child{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.ej-game-subtitle{display:inline-flex;gap:8px;align-items:center;background:#eef5ff;color:#34528b;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:850}.ej-engine-badge{background:#ede9fe;color:#6d28d9}.ej-mini-instruction{font-size:16px;color:#667085;margin-top:-8px;margin-bottom:8px}@keyframes ejPop{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes ejFruit{to{transform:translateY(45px) rotate(8deg)}}@keyframes ejSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){.ej-answers{grid-template-columns:1fr}.ej-dual-groups{flex-direction:column}.ej-group{min-width:0;width:100%}.ej-croc strong{font-size:48px}.ej-croc{font-size:60px}.ej-houses button{width:135px}.ej-game-stage{min-height:480px}.ej-question{font-size:30px}.ej-answer{font-size:23px}.ej-balloons{height:360px}.ej-balloons button{font-size:72px}.ej-city .buildings span{font-size:48px}.ej-money-scene,.ej-coins,.ej-money-machine{font-size:55px;flex-wrap:wrap}.ej-calendar>div{grid-template-columns:repeat(4,1fr)}}

/* EduJoy v2.1.1 Accurate Tracing */
.ej-trace-wrap canvas.ej-trace-guide{z-index:1;pointer-events:none}.ej-trace-wrap canvas.ej-trace-user{z-index:2}.ej-trace-tip{font-weight:850;color:#536a92;margin-top:-8px;margin-bottom:2px}.ej-trace-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.ej-trace-score{min-height:28px;margin-top:8px;font-weight:900;color:#38578f}.ej-trace-wrap{background:#fbfdff}.ej-trace-target{display:none}

/* EduJoy v2.1.2 Visual Scene Integrity */
.ej-island-scene{position:relative;width:min(760px,100%);min-height:245px;margin:16px auto 2px;border-radius:26px;overflow:hidden;background:linear-gradient(#bfefff 0 52%,#f7dda1 53% 72%,#67d0ec 73%);border:3px solid #b9e5ef;box-shadow:inset 0 -18px 34px #0ea5e922}
.ej-island-sky{position:absolute;top:10px;right:22px;font-size:34px;letter-spacing:10px}.ej-palm{position:absolute;left:40px;bottom:52px;font-size:100px;filter:drop-shadow(0 5px 3px #0002)}
.ej-coconut-pile{position:absolute;left:165px;right:28px;bottom:58px;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;justify-content:center;padding:10px 16px;border-radius:22px;background:#fff8d7aa;min-height:105px}
.ej-coconut{font-size:48px;display:inline-block;filter:drop-shadow(0 4px 2px #0002);animation:ejCocoPop .28s ease both}.ej-coconut:nth-child(2n){transform:rotate(8deg)}.ej-coconut:nth-child(3n){transform:rotate(-7deg)}
.ej-beach{position:absolute;left:18px;bottom:10px;font-size:42px}.ej-visual-caption{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);background:#ffffffdd;border:2px solid #d7ebf8;border-radius:999px;padding:7px 14px;font-size:15px;font-weight:900;color:#24518a;white-space:nowrap}
.ej-bridge-bank{position:absolute;left:32px;bottom:54px;font-size:86px}.ej-bridge-gap{position:absolute;left:150px;right:190px;bottom:72px;text-align:center;font-size:38px;letter-spacing:5px}.ej-bridge-gap span{font-size:76px;vertical-align:middle}.ej-number-gate{position:absolute;right:42px;bottom:70px;background:#fff7c7;border:4px solid #f5c84b;border-radius:22px;padding:12px 18px;font-size:33px}.ej-number-gate b{color:#163b87;font-size:42px}
.ej-boat-water{position:absolute;left:0;right:0;bottom:66px;text-align:center;font-size:42px;word-spacing:12px}.ej-boat-water span{font-size:90px;display:inline-block;animation:ejBoatBob 1.5s ease-in-out infinite alternate}.ej-boat-numbers{position:absolute;left:50%;top:74px;transform:translateX(-50%);display:flex;align-items:center;gap:20px}.ej-boat-numbers b{min-width:82px;text-align:center;padding:12px 18px;border-radius:18px;background:#fff;border:3px solid #cfe0fb;font-size:34px;color:#143d8b}.ej-boat-numbers span{font-weight:1000;color:#7c3aed}
@keyframes ejCocoPop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes ejBoatBob{to{transform:translateY(9px) rotate(2deg)}}
@media(max-width:700px){.ej-island-scene{min-height:270px}.ej-palm{left:12px;font-size:78px}.ej-coconut-pile{left:95px;right:10px;gap:5px}.ej-coconut{font-size:38px}.ej-visual-caption{max-width:90%;white-space:normal;text-align:center}.ej-bridge-bank{left:10px;font-size:65px}.ej-bridge-gap{left:90px;right:105px;font-size:26px}.ej-bridge-gap span{font-size:55px}.ej-number-gate{right:8px;font-size:22px}.ej-number-gate b{font-size:30px}.ej-boat-numbers{top:78px}.ej-boat-water span{font-size:72px}}

/* EduJoy v2.1.3 — interactive number-bond baskets */
.ej-split-help{max-width:760px;text-align:center;color:#526684;font-size:17px;line-height:1.45;margin:-8px auto 14px}.ej-split-workbench{width:min(860px,100%);margin:0 auto;background:linear-gradient(180deg,#f5fbff,#fffdf4);border:3px solid #dbeafe;border-radius:30px;padding:18px}.ej-split-tray{border:3px dashed #bfd4f5;border-radius:22px;background:#fff;padding:10px 14px 14px;min-height:108px;transition:.18s}.ej-split-zone-title{text-align:center;font-weight:900;color:#31558f;margin-bottom:8px}.ej-split-zone-title b{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:#e0edff;color:#173b87;margin-left:4px}.ej-split-items,.ej-basket-items{display:flex;align-content:flex-start;justify-content:center;flex-wrap:wrap;gap:8px;min-height:58px}.ej-split-item{border:0;background:transparent;font-size:42px;line-height:1;cursor:grab;padding:4px;border-radius:13px;touch-action:manipulation;transition:transform .13s,background .13s}.ej-split-item:hover{transform:scale(1.12);background:#fff3c4}.ej-split-item:active,.ej-split-item.dragging{cursor:grabbing;transform:scale(.92);opacity:.65}.ej-split-baskets{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin-top:16px}.ej-split-basket{min-height:170px;border:4px dashed #c8d9f5;border-radius:28px;background:#fff;display:flex;flex-direction:column;align-items:center;padding:12px;transition:.18s}.ej-split-basket.filled{border-style:solid;border-color:#8cc7ff;background:#f7fcff}.ej-split-basket.drop-ready,.ej-split-tray.drop-ready{border-color:#7c3aed;background:#f4efff;transform:scale(1.015)}.ej-basket-icon{font-size:58px;line-height:1}.ej-basket-label{font-size:18px;font-weight:950;color:#173b87;margin:2px 0 8px}.ej-basket-label b{display:inline-grid;place-items:center;min-width:34px;height:34px;border-radius:999px;background:#173b87;color:#fff}.ej-split-plus{font-size:42px;font-weight:1000;color:#6d28d9}.ej-number-bond{text-align:center;font-size:27px;font-weight:900;color:#173b87;margin-top:14px}.ej-number-bond b{display:inline-grid;place-items:center;min-width:48px;height:48px;border-radius:16px;background:#e7f0ff}.ej-number-bond strong{display:inline-grid;place-items:center;min-width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#5b5cf0,#12a8ed);color:#fff}.ej-split-actions{display:flex;gap:10px;justify-content:center;margin-top:14px;flex-wrap:wrap}@media(max-width:680px){.ej-split-baskets{grid-template-columns:1fr 44px 1fr;gap:5px}.ej-split-basket{min-height:150px;padding:9px}.ej-split-item{font-size:35px}.ej-basket-icon{font-size:48px}.ej-split-plus{font-size:32px}.ej-number-bond{font-size:22px}}


/* EduJoy v2.1.4 — Kereta Api 11-20 */
.ej-train-help{width:min(900px,100%);text-align:center;background:#fff8d9;border:2px solid #fde68a;border-radius:18px;padding:10px 14px;color:#704c00;font-size:18px;font-weight:850;margin:-4px auto 12px}.ej-train-help small{font-size:14px;color:#805d18}.ej-train-activity{width:min(980px,100%);padding:18px 10px 3px;overflow-x:auto}.ej-train-track{display:flex;align-items:flex-end;justify-content:center;gap:5px;min-width:max-content;padding:10px 16px 5px}.ej-loco{font-size:82px;line-height:1;filter:drop-shadow(0 6px 4px #153d8d22)}.ej-wagon-slot{position:relative;width:112px;height:84px;border:4px dashed #9db7e8;border-radius:17px 17px 11px 11px;background:#f7fbff;display:grid;place-items:center;cursor:pointer;padding:0;transition:.16s}.ej-wagon-slot:before,.ej-wagon-slot:after{content:"";position:absolute;bottom:-14px;width:20px;height:20px;border-radius:50%;background:#384860;border:4px solid #cbd5e1}.ej-wagon-slot:before{left:16px}.ej-wagon-slot:after{right:16px}.ej-wagon-slot.filled{border-style:solid;border-color:#60a5fa;background:#eff6ff}.ej-wagon-slot.fixed{border-color:#22c55e;background:#ecfdf5;cursor:default}.ej-wagon-slot.dragover{transform:translateY(-6px);border-color:#7c3aed;background:#f3e8ff}.ej-wagon-slot.wrong{border-color:#ef4444;background:#fee2e2;animation:ejTrainShake .25s linear 2}.ej-empty-wagon{font-size:15px;font-weight:900;color:#8aa0c9}.ej-wagon{position:relative;min-width:88px;height:60px;padding:0 12px;border-radius:16px 16px 9px 9px;background:linear-gradient(135deg,#60a5fa,#4f46e5);display:grid;place-items:center;color:#fff;box-shadow:inset 0 -8px 0 #1e40af22}.ej-wagon b{font-size:28px;font-weight:1000}.ej-wagon i{position:absolute;bottom:-12px;width:17px;height:17px;border-radius:50%;background:#334155;border:3px solid #cbd5e1}.ej-wagon i:first-of-type{left:12px}.ej-wagon i:last-of-type{right:12px}.ej-wagon.locked{background:linear-gradient(135deg,#34d399,#059669)}.ej-rail{height:9px;border-radius:999px;background:repeating-linear-gradient(90deg,#475569 0 36px,#94a3b8 36px 43px);width:min(940px,94%);margin:0 auto 8px;box-shadow:0 7px 0 #cbd5e1}.ej-train-yard{width:min(850px,100%);background:#f7fbff;border:3px solid #dbe7fb;border-radius:24px;padding:14px;margin:8px auto}.ej-yard-title{text-align:center;font-weight:950;color:#34528b;margin-bottom:12px}.ej-train-yard>div:last-child{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;padding-bottom:12px}.ej-loose-wagon{border:0;background:transparent;padding:5px;cursor:grab}.ej-loose-wagon:active{cursor:grabbing}.ej-loose-wagon.used{opacity:.18;pointer-events:none}.ej-train-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}@keyframes ejTrainShake{0%,100%{transform:translateX(0)}33%{transform:translateX(-7px)}66%{transform:translateX(7px)}}
@media(max-width:700px){.ej-loco{font-size:65px}.ej-wagon-slot{width:88px;height:72px}.ej-wagon{min-width:70px;height:52px}.ej-wagon b{font-size:23px}.ej-train-help{font-size:16px}}

/* EduJoy v2.1.5 — Tangga Nombor Clarity Fix */
.ej-stair-instruction{width:min(900px,100%);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:linear-gradient(135deg,#eff6ff,#fefce8);border:2px solid #dbeafe;border-radius:22px;padding:13px 18px;color:#173b87;margin:4px auto 12px;font-weight:850}.ej-stair-instruction>b{font-size:18px}.ej-stair-instruction>strong{text-align:center;color:#6d28d9;font-size:19px}.ej-stair-instruction>span{font-size:13px;font-weight:950}.ej-stair-instruction>small{grid-column:1/-1;text-align:center;color:#667085;font-size:14px}.ej-stair-tutorial{width:min(620px,100%);background:#fff7d6;border:3px dashed #f7c948;border-radius:20px;padding:10px 16px;text-align:center;margin:0 auto 12px}.ej-stair-tutorial>b{color:#8a4b08}.ej-stair-tutorial>div{display:flex;gap:9px;align-items:center;justify-content:center;margin:5px 0}.ej-stair-tutorial span{min-width:48px;height:48px;display:grid;place-items:center;background:#fff;border:2px solid #f6d365;border-radius:13px;font-size:22px;font-weight:950;color:#153d8d}.ej-stair-tutorial i{font-style:normal;color:#6d28d9;font-weight:950}.ej-stair-tutorial small{color:#6b5b2e}.ej-stair-game{width:min(980px,100%);display:grid;grid-template-columns:minmax(440px,1.4fr) minmax(250px,.7fr);gap:20px;align-items:center;margin:0 auto}.ej-stair-world{position:relative;min-height:400px;background:linear-gradient(#dff7ff 0 67%,#b9e58a 68% 100%);border:3px solid #cbe7fb;border-radius:30px;overflow:hidden;padding:20px 20px 30px}.ej-stair-sky{text-align:right;font-size:30px;height:34px}.ej-stair-sky span{font-size:42px;margin:0 16px}.ej-staircase{width:min(610px,100%);margin:4px auto 0;display:flex;flex-direction:column;align-items:flex-start}.ej-stair-row{height:66px;display:flex;align-items:stretch;position:relative;margin-left:calc(var(--level) * 48px);transition:.18s}.ej-stair-step-label{width:58px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:10px;font-weight:950;color:#315a92}.ej-stair-slot{position:relative;width:150px;height:64px;border:3px solid #aec8ef;border-radius:15px 15px 4px 4px;background:linear-gradient(#fff,#eef5ff);box-shadow:0 7px 0 #9fb9df;display:grid;place-items:center;font-size:29px;font-weight:1000;color:#153d8d;cursor:pointer;transition:.15s;touch-action:manipulation}.ej-stair-slot:hover{transform:translateY(-2px);border-color:#6c63ff}.ej-stair-slot.dragover{background:#e0f2fe;border-color:#0ea5e9;transform:scale(1.04)}.ej-stair-slot.filled{background:linear-gradient(#fff7cb,#ffe36d);border-color:#f2b705;box-shadow:0 7px 0 #d99b00}.ej-stair-slot.fixed{background:linear-gradient(#e6f7ee,#bdf0d0);border-color:#43b581;box-shadow:0 7px 0 #27865b;cursor:default}.ej-stair-slot.wrong{background:#fee2e2;border-color:#ef4444;box-shadow:0 7px 0 #fca5a5;animation:ejStairShake .28s ease-in-out 2}.ej-stair-slot.hint{outline:5px solid #facc15;outline-offset:3px;animation:ejStairPulse 1s ease-in-out infinite}.ej-stair-slot i{position:absolute;right:5px;top:3px;font-style:normal;font-size:13px}.ej-stair-empty{opacity:.34}.ej-stair-card{font-size:29px;font-weight:1000}.ej-stair-riser{width:48px;background:linear-gradient(90deg,#b97735,#7a4425);border-radius:0 5px 5px 0;box-shadow:inset 0 0 0 2px #6e3f25;margin-left:-2px}.ej-stair-ground{text-align:left;font-size:26px;color:#346b2c;margin-top:4px}.ej-stair-ground b{font-size:12px;background:#fff;padding:4px 8px;border-radius:999px;color:#315a92}.ej-stair-tray-panel{background:#f8fbff;border:3px solid #dce8fb;border-radius:26px;padding:18px;min-height:250px}.ej-stair-tray-title{font-size:20px;font-weight:950;color:#153d8d;margin-bottom:12px}.ej-stair-tray-title small{font-size:13px;color:#6d28d9}.ej-stair-tray{display:flex;gap:10px;justify-content:center;align-content:flex-start;flex-wrap:wrap;min-height:105px}.ej-number-card{min-width:76px;height:72px;border:3px solid #c8d8f6;border-radius:18px;background:#fff;color:#153d8d;font-size:25px;font-weight:1000;box-shadow:0 6px 0 #dce7f8;cursor:pointer;transition:.15s;touch-action:manipulation}.ej-number-card:hover{transform:translateY(-3px);border-color:#6c63ff}.ej-number-card.selected{background:#ede9fe;border-color:#7c3aed;box-shadow:0 6px 0 #c4b5fd;transform:translateY(-3px)}.ej-number-card.hint{outline:4px solid #facc15;outline-offset:2px}.ej-tray-empty{font-size:14px;color:#667085;text-align:center;padding:20px}.ej-stair-help{min-height:55px;margin-top:14px;padding:12px;background:#eef6ff;border-radius:14px;color:#476083;font-size:14px;line-height:1.35}.ej-stair-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:15px}.ej-stair-actions .btn{min-width:155px}.ej-game-stage:has(.ej-stair-game){padding-bottom:18px}@keyframes ejStairShake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes ejStairPulse{50%{box-shadow:0 0 0 8px #fde68a88}}
@media(max-width:850px){.ej-stair-game{grid-template-columns:1fr}.ej-stair-world{min-height:360px}.ej-stair-tray-panel{min-height:0}.ej-stair-row{margin-left:calc(var(--level) * 34px)}.ej-stair-slot{width:138px}.ej-stair-instruction{grid-template-columns:1fr 1fr}.ej-stair-instruction>b,.ej-stair-instruction>strong{grid-column:1/-1;text-align:center}.ej-stair-instruction>span{text-align:center}}
@media(max-width:560px){.ej-stair-world{padding:14px 8px 22px;min-height:330px}.ej-stair-row{height:58px;margin-left:calc(var(--level) * 23px)}.ej-stair-step-label{width:40px;font-size:8px}.ej-stair-slot{width:112px;height:55px;font-size:24px}.ej-stair-riser{width:34px}.ej-number-card{min-width:70px;height:64px}.ej-stair-instruction{font-size:13px;padding:11px}.ej-stair-instruction>span{font-size:11px}}

/* EduJoy v2.1.6 — Jom Jimat Tabung Impian visual */
.game-card .big .ej-game-icon-image{width:74px;height:74px;object-fit:contain;display:block;filter:drop-shadow(0 5px 10px rgba(15,55,120,.10))}
.ej-savings{display:flex;gap:28px;align-items:center;justify-content:center;flex-wrap:wrap}
.ej-savings .ej-savings-jar{width:112px;height:112px;object-fit:contain;display:block;filter:drop-shadow(0 7px 14px rgba(15,55,120,.14))}
@media(max-width:600px){.game-card .big .ej-game-icon-image{width:66px;height:66px}.ej-savings .ej-savings-jar{width:94px;height:94px}}

/* EduJoy v2.1.7 — Ulat Nombor visual clarity */
.ej-worm-wrap{width:min(900px,100%);margin:4px auto 8px;padding:18px 14px 10px;border-radius:30px;background:linear-gradient(180deg,#f3ffe8 0%,#fffdf0 100%);border:3px solid #d8f3b6;box-shadow:0 12px 30px rgba(59,130,60,.08)}
.ej-worm-direction{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:10px;font-size:12px;font-weight:950;color:#40772f;letter-spacing:.04em}.ej-worm-direction b{padding:6px 12px;border-radius:999px;background:#e6f8d6;color:#2f6b22}.ej-worm{display:flex;align-items:center;justify-content:center;min-height:150px;padding:22px 10px 28px;position:relative;overflow:visible}.ej-worm-body{display:flex;align-items:center;justify-content:center;gap:0;position:relative;z-index:2}.ej-worm-head{width:105px;height:105px;border-radius:48% 52% 46% 54%;background:linear-gradient(145deg,#9be15d,#62c93d);border:5px solid #3d9927;position:relative;z-index:3;margin-right:-12px;box-shadow:inset 0 -8px 0 rgba(51,125,34,.12),0 10px 18px rgba(49,120,34,.12)}.ej-worm-head:before{content:"";position:absolute;left:22px;right:22px;bottom:-13px;height:22px;border-radius:50%;background:#52a936;z-index:-1}.ej-worm-head .eye{position:absolute;top:30px;width:17px;height:22px;border-radius:50%;background:#fff;border:3px solid #23411d}.ej-worm-head .eye:after{content:"";position:absolute;width:6px;height:8px;border-radius:50%;background:#1b2e18;left:5px;top:6px}.ej-worm-head .e1{left:25px}.ej-worm-head .e2{right:25px}.ej-worm-head .smile{position:absolute;left:37px;top:63px;width:32px;height:18px;border-bottom:5px solid #27551d;border-radius:0 0 28px 28px}.ej-worm-head .antenna{position:absolute;top:-30px;width:5px;height:36px;background:#3d9927;border-radius:999px;transform-origin:bottom}.ej-worm-head .antenna:before{content:"";position:absolute;top:-7px;left:-5px;width:15px;height:15px;border-radius:50%;background:#ffca3a;border:3px solid #d89b16}.ej-worm-head .a1{left:27px;transform:rotate(-24deg)}.ej-worm-head .a2{right:27px;transform:rotate(24deg)}
.ej-worm-segment{--lift:0px;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#b6eb68,#83d947);border:5px solid #4ba531;font-size:26px;font-weight:1000;color:#112f18;margin-left:-11px;transform:translateY(calc((var(--i) % 2) * 9px - 4px));box-shadow:inset 0 -7px 0 rgba(61,153,39,.10),0 8px 14px rgba(46,122,31,.10);z-index:2}.ej-worm-segment:nth-child(even){background:linear-gradient(145deg,#d5f27a,#9cdf51)}.ej-worm-segment.missing{background:#fff8cc;border-style:dashed;border-color:#e1a91d;color:#ad6d00;animation:ejWormPulse 1.1s ease-in-out infinite alternate}.ej-worm-segment.worm-correct{background:#dcfce7;border-color:#22c55e;animation:ejWormPop .38s ease-out}.ej-worm-segment.worm-wrong{background:#fee2e2;border-color:#ef4444;animation:ejWormShake .34s linear}.ej-worm-segment .leg{position:absolute;bottom:-18px;width:6px;height:23px;background:#3d9927;border-radius:999px;transform-origin:top}.ej-worm-segment .leg:after{content:"";position:absolute;bottom:-2px;width:14px;height:6px;background:#3d9927;border-radius:999px}.ej-worm-segment .leg.left{left:24px;transform:rotate(20deg)}.ej-worm-segment .leg.left:after{left:-9px}.ej-worm-segment .leg.right{right:24px;transform:rotate(-20deg)}.ej-worm-segment .leg.right:after{right:-9px}.ej-worm-tail{width:68px;height:68px;border-radius:50% 60% 70% 45%;background:linear-gradient(145deg,#8ed94d,#62b83c);border:5px solid #3d922a;position:relative;margin-left:-13px;transform:translateY(5px) rotate(12deg);z-index:1}.ej-worm-tail:after{content:"";position:absolute;right:-24px;top:18px;width:30px;height:16px;border-radius:80% 20% 80% 20%;background:#68b83d;transform:rotate(18deg)}.ej-worm-tail span:before,.ej-worm-tail span:after{content:"";position:absolute;bottom:-16px;width:6px;height:20px;background:#3d922a;border-radius:999px}.ej-worm-tail span:before{left:20px;transform:rotate(20deg)}.ej-worm-tail span:after{right:18px;transform:rotate(-20deg)}.ej-worm-caption{text-align:center;color:#45623d;font-size:16px;font-weight:800;margin-top:3px}.ej-worm-help{text-align:center;color:#526780;font-size:16px;margin:-4px auto 10px}.ej-answers.caterpillar-choices{grid-template-columns:repeat(4,minmax(90px,1fr));width:min(650px,100%)}.ej-answers.caterpillar-choices .ej-answer{background:linear-gradient(180deg,#fffef5,#eefbdc);border-color:#cfe8a9;box-shadow:0 7px 0 #d9efbb}.ej-answers.caterpillar-choices .ej-answer:before{content:"🍃";margin-right:8px;font-size:20px}
@keyframes ejWormPulse{to{transform:translateY(4px) scale(1.06)}}@keyframes ejWormPop{0%{transform:scale(.75)}100%{transform:scale(1)}}@keyframes ejWormShake{0%,100%{translate:0 0}25%{translate:-8px 0}75%{translate:8px 0}}
@media(max-width:760px){.ej-worm-wrap{padding:15px 6px 8px}.ej-worm{transform:scale(.84);transform-origin:center;min-width:650px;margin-left:50%;translate:-50% 0}.ej-worm-wrap{overflow:hidden}.ej-worm-direction{gap:8px;font-size:10px}.ej-worm-caption{font-size:14px}.ej-answers.caterpillar-choices{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:760px){.ej-worm{transform:none;translate:none;min-width:0;margin-left:0;padding:20px 2px 24px}.ej-worm-head{width:72px;height:72px;border-width:4px;margin-right:-8px}.ej-worm-head .eye{top:21px;width:12px;height:16px;border-width:2px}.ej-worm-head .eye:after{width:4px;height:6px;left:3px;top:4px}.ej-worm-head .e1{left:17px}.ej-worm-head .e2{right:17px}.ej-worm-head .smile{left:25px;top:45px;width:22px;height:12px;border-bottom-width:4px}.ej-worm-head .antenna{top:-22px;height:27px;width:4px}.ej-worm-head .antenna:before{width:11px;height:11px;left:-4px;top:-5px}.ej-worm-head .a1{left:19px}.ej-worm-head .a2{right:19px}.ej-worm-segment{width:59px;height:59px;border-width:4px;margin-left:-8px;font-size:19px}.ej-worm-segment .leg{bottom:-13px;height:17px;width:4px}.ej-worm-segment .leg:after{width:10px;height:4px}.ej-worm-segment .leg.left{left:17px}.ej-worm-segment .leg.right{right:17px}.ej-worm-tail{width:45px;height:45px;border-width:4px;margin-left:-9px}.ej-worm-tail:after{right:-17px;top:12px;width:21px;height:11px}.ej-worm-direction span{display:none}.ej-worm-direction b{font-size:11px}.ej-worm-caption{padding:0 6px}.ej-worm-wrap{overflow:visible}}
@media(max-width:460px){.ej-worm-head{width:62px;height:62px}.ej-worm-segment{width:50px;height:50px;font-size:17px}.ej-worm-tail{width:40px;height:40px}.ej-worm{padding-left:0;padding-right:0}.ej-answers.caterpillar-choices{grid-template-columns:repeat(2,minmax(100px,1fr))}}

/* v2.1.8 — Misi Detektif Nombor: unique-answer evidence board */
.ej-detective-card{width:min(760px,96%);background:linear-gradient(135deg,#fffdf4,#f4f8ff);border:3px solid #d9e5fb;border-radius:28px;padding:18px 22px;box-shadow:0 12px 30px #17376814}.ej-detective-top{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:14px}.ej-detective-avatar{font-size:76px}.ej-detective-top strong{display:block;font-size:24px;color:#173b87}.ej-detective-top small{display:block;color:#667085;font-size:15px;margin-top:3px}.ej-evidence-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.ej-evidence{background:#fff4c7;border:2px solid #f3cf5b;border-radius:18px;padding:12px 14px;text-align:left}.ej-evidence span{display:block;font-size:12px;font-weight:900;color:#9a6700;text-transform:uppercase;letter-spacing:.04em}.ej-evidence b{display:block;font-size:21px;color:#1f2937;margin-top:2px}.ej-detective-note{margin-top:12px;background:#e8f3ff;border-radius:15px;padding:10px 14px;text-align:center;color:#23457d;font-size:16px}.theme-detective+.ej-question{margin-top:14px}.detective .ej-answer{position:relative}.detective .ej-answer:before{content:'🔢';margin-right:8px;font-size:18px}@media(max-width:700px){.ej-detective-avatar{font-size:58px}.ej-detective-card{padding:15px}.ej-evidence-board{grid-template-columns:1fr}.ej-evidence b{font-size:19px}}

/* EduJoy v2.1.9 — Bina Bandar Nombor Visual Logic */
.ej-city-math{width:min(900px,100%);display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;margin:12px auto}.ej-city-legend{grid-column:1/-1;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.ej-city-legend span{background:#fff7cf;border:2px solid #f4d35e;padding:9px 14px;border-radius:999px;color:#173b87}.ej-city-zone{border:3px solid #cfe1ff;border-radius:26px;padding:16px;background:#fbfdff;min-height:210px}.ej-city-zone.tens{background:linear-gradient(180deg,#e7f3ff,#f8fcff)}.ej-city-zone.ones{background:linear-gradient(180deg,#fff6d8,#fffdf4)}.ej-city-zone-title{text-align:center;font-size:20px;font-weight:950;color:#163b87;margin-bottom:14px}.ej-city-zone-title em{font-style:normal;color:#6d28d9}.ej-city-items{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:10px}.ej-city-ten,.ej-city-one{text-align:center}.ej-city-building{width:64px;height:92px;border-radius:12px 12px 6px 6px;background:linear-gradient(#5ba5ff,#2d68d8);border:3px solid #1d4ed8;display:grid;place-items:center;box-shadow:inset 0 -8px #173b8733;position:relative}.ej-city-building:before{content:'▦';font-size:34px;color:#dff1ff}.ej-city-building span{position:absolute;background:#fff;color:#163b87;border-radius:999px;padding:3px 8px;font-weight:1000}.ej-city-house{width:58px;height:48px;background:#ffd66b;border:3px solid #e6a62e;border-radius:8px;display:grid;place-items:center;position:relative;margin-top:25px}.ej-city-house:before{content:'';position:absolute;top:-24px;border-left:31px solid transparent;border-right:31px solid transparent;border-bottom:27px solid #ff7a59}.ej-city-house span{z-index:2;background:#fff;color:#163b87;border-radius:999px;padding:3px 8px;font-weight:1000}.ej-city-ten small,.ej-city-one small{display:block;font-weight:850;color:#52647f;margin-top:6px}.ej-city-plus{align-self:center;font-size:48px;font-weight:1000;color:#6d28d9}.ej-city-equation{font-size:26px;font-weight:950;color:#173b87;text-align:center;margin:14px auto}.ej-city-equation b{color:#5b21b6}.ej-city-equation strong{font-size:34px}.ej-city-missing{width:110px;height:110px;border:4px dashed #7c3aed;background:#f5efff;border-radius:24px;display:grid;place-items:center}.ej-city-missing b{font-size:50px;color:#6d28d9}.ej-city-missing small{font-weight:850;color:#6d28d9}.ej-city-zero{padding:25px;border:2px dashed #cbd5e1;border-radius:18px;color:#64748b;font-weight:850}.ej-city-target{text-align:center;font-size:24px;font-weight:900;color:#173b87;margin-bottom:12px}.ej-city-target strong{font-size:44px;color:#6d28d9}.ej-city-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:min(720px,100%);margin:14px auto}.ej-city-controls>div{display:grid;grid-template-columns:1fr 54px 60px 54px;gap:8px;align-items:center;background:#fff;border:2px solid #dce8fb;border-radius:20px;padding:12px}.ej-city-controls b{color:#163b87}.ej-city-controls button{height:48px;border:0;border-radius:14px;background:#315ee9;color:#fff;font-size:28px;font-weight:1000;cursor:pointer}.ej-city-controls strong{text-align:center;font-size:28px;color:#163b87}.ej-city-done{display:block;margin:12px auto}.ej-city-task{width:100%}
@media(max-width:700px){.ej-city-math{grid-template-columns:1fr}.ej-city-legend,.ej-city-zone{grid-column:auto}.ej-city-plus{transform:rotate(90deg);justify-self:center}.ej-city-controls{grid-template-columns:1fr}.ej-city-building{width:52px;height:76px}.ej-city-house{width:48px;height:40px}.ej-city-house:before{border-left-width:26px;border-right-width:26px;border-bottom-width:22px;top:-20px}}

/* EduJoy v2.2.0 — Number Championship Time Bomb FX */
.ej-champ-shell{position:relative;width:min(900px,100%);min-height:470px;padding:12px 18px 28px;border-radius:32px;background:radial-gradient(circle at 15% 12%,#fff7b8 0 2%,transparent 3%),radial-gradient(circle at 88% 17%,#c4b5fd 0 2%,transparent 3%),linear-gradient(145deg,#eefbff 0%,#fff8e7 48%,#f7efff 100%);overflow:hidden;border:3px solid #d9e8ff;box-shadow:0 18px 50px #17376818}.ej-champ-decor span{position:absolute;font-size:28px;opacity:.75;animation:ejChampFloat 2.2s ease-in-out infinite alternate}.ej-champ-decor span:nth-child(1){left:5%;top:12%}.ej-champ-decor span:nth-child(2){right:7%;top:30%;animation-delay:.25s}.ej-champ-decor span:nth-child(3){right:12%;bottom:10%;animation-delay:.5s}.ej-champ-decor span:nth-child(4){left:8%;bottom:18%;animation-delay:.8s}.ej-champ-heading{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;margin:4px auto 8px;color:#173b87;text-align:left}.ej-champ-heading .ej-champ-cup{font-size:50px;filter:drop-shadow(0 7px 9px #f59e0b33)}.ej-champ-heading b{display:block;font-size:20px;letter-spacing:.7px}.ej-champ-heading small{display:block;color:#6d28d9;font-weight:850;margin-top:2px}.ej-champ-timer{position:relative;z-index:2;width:min(720px,96%);margin:8px auto 20px}.ej-champ-bomb{display:flex;align-items:center;justify-content:center;gap:7px;color:#7c4700;font-weight:900;margin-bottom:8px}.ej-champ-bomb .bomb{font-size:38px;display:inline-block;animation:ejBombIdle .9s ease-in-out infinite alternate}.ej-champ-bomb b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;border:3px solid #ffd166;font-size:24px;color:#b45309;box-shadow:0 5px 0 #f9c74f}.ej-champ-bomb em{font-style:normal;font-size:13px}.ej-champ-track{height:18px;border-radius:999px;background:#dfe8f8;overflow:hidden;box-shadow:inset 0 2px 5px #17376818}.ej-champ-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#facc15,#fb923c);transition:width .28s linear,filter .2s}.ej-champ-timer.urgent .ej-champ-bomb .bomb{animation:ejBombUrgent .28s linear infinite alternate}.ej-champ-timer.urgent .ej-champ-bomb b{background:#fff1f2;color:#dc2626;border-color:#fb7185;box-shadow:0 5px 0 #fda4af}.ej-champ-timer.urgent .ej-champ-track i{background:linear-gradient(90deg,#fb923c,#ef4444);filter:saturate(1.3)}.ej-champ-question{position:relative;z-index:2;font-size:clamp(32px,5vw,55px);font-weight:1000;color:#163b87;text-align:center;line-height:1.05;margin:26px auto 20px;max-width:800px;text-shadow:0 2px 0 #fff}.ej-champ-options{position:relative;z-index:2}.ej-champ-options .ej-answer{background:linear-gradient(#fff,#f8fbff);border-width:4px;box-shadow:0 9px 0 #cfddf6,0 16px 30px #17376810;font-size:clamp(28px,4vw,42px);min-height:92px}.ej-champ-options .ej-answer:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 12px 0 #c6d8f7,0 22px 35px #17376816}.ej-champ-tip{position:relative;z-index:2;text-align:center;margin-top:20px;font-weight:900;color:#6d28d9;background:#f3e8ff;border-radius:999px;padding:9px 16px;width:max-content;max-width:90%;margin-left:auto;margin-right:auto}.ej-timebomb-overlay{position:absolute;inset:0;z-index:20;display:none;place-items:center;background:rgba(16,38,82,.72);backdrop-filter:blur(2px)}.ej-timebomb-overlay.show{display:grid}.ej-boom-cloud{position:relative;text-align:center;background:linear-gradient(180deg,#fff8c7,#ffe0a3);border:5px solid #fff;border-radius:36px;padding:25px 30px 24px;box-shadow:0 25px 80px #0005;animation:ejBoomPop .35s cubic-bezier(.2,1.4,.4,1);min-width:min(440px,88vw)}.ej-boom-ring{position:absolute;inset:50% auto auto 50%;width:90px;height:90px;border:8px solid #ff8a00;border-radius:50%;transform:translate(-50%,-50%);animation:ejBoomRing .7s ease-out forwards}.ej-boom-emoji{font-size:95px;line-height:1;animation:ejBoomEmoji .45s ease-out}.ej-boom-cloud h2{font-size:44px;margin:2px 0;color:#d9480f}.ej-boom-cloud>b{font-size:26px;color:#9a3412}.ej-boom-cloud p{font-size:17px;font-weight:800;color:#7c2d12;margin:8px 0 0}.ej-game-stage.ej-champ-shake{animation:ejChampShake .45s ease}.ej-champ-shell:before,.ej-champ-shell:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.ej-champ-shell:before{width:170px;height:170px;background:#bae6fd66;left:-65px;top:-60px}.ej-champ-shell:after{width:210px;height:210px;background:#fde68a55;right:-80px;bottom:-80px}@keyframes ejChampFloat{to{transform:translateY(12px) rotate(8deg)}}@keyframes ejBombIdle{to{transform:translateY(-3px) rotate(-7deg)}}@keyframes ejBombUrgent{from{transform:rotate(-10deg) scale(1.04)}to{transform:rotate(10deg) scale(1.16)}}@keyframes ejChampShake{0%,100%{transform:translate(0)}20%{transform:translate(-7px,3px)}40%{transform:translate(7px,-3px)}60%{transform:translate(-5px,2px)}80%{transform:translate(5px,-2px)}}@keyframes ejBoomPop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ejBoomRing{from{width:40px;height:40px;opacity:1}to{width:320px;height:320px;opacity:0}}@keyframes ejBoomEmoji{0%{transform:scale(.4) rotate(-15deg)}60%{transform:scale(1.25) rotate(8deg)}100%{transform:scale(1)}}@media(max-width:700px){.ej-champ-shell{padding:8px 10px 22px;min-height:450px}.ej-champ-heading .ej-champ-cup{font-size:42px}.ej-champ-heading b{font-size:17px}.ej-champ-question{font-size:34px;margin-top:20px}.ej-champ-options{grid-template-columns:1fr 1fr}.ej-champ-options .ej-answer{min-height:78px;font-size:30px;padding:15px 10px}}

/* EduJoy v2.2.2 — Kedai Mini Meriah FX */
.ej-mini-shop-shell{position:relative;width:min(900px,100%);padding:8px 10px 24px;border-radius:32px;background:linear-gradient(145deg,#fff8d9 0%,#ecfbff 48%,#f8efff 100%);overflow:hidden;border:3px solid #dbe8ff;box-shadow:0 18px 50px #17376816}.ej-mini-shop-sparkles span{position:absolute;font-size:26px;opacity:.8;animation:ejMiniFloat 2.1s ease-in-out infinite alternate;pointer-events:none}.ej-mini-shop-sparkles span:nth-child(1){left:3%;top:18%}.ej-mini-shop-sparkles span:nth-child(2){right:4%;top:34%;animation-delay:.3s}.ej-mini-shop-sparkles span:nth-child(3){right:8%;bottom:8%;animation-delay:.55s}.ej-mini-shop-sparkles span:nth-child(4){left:7%;bottom:17%;animation-delay:.8s}.ej-mini-shop-header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:14px;margin:5px auto 12px;width:min(820px,96%)}.ej-mini-shop-sign{display:flex;align-items:center;gap:8px;background:#173b87;color:#fff;border-radius:18px;padding:10px 15px;box-shadow:0 7px 0 #10285d;font-size:22px}.ej-mini-shop-sign b{font-size:17px;letter-spacing:.8px}.ej-mini-shop-sign small{background:#ffcf56;color:#5d3a00;padding:5px 9px;border-radius:999px;font-weight:900;font-size:11px}.ej-mini-customer{display:flex;align-items:center;gap:9px;background:#fff;border:2px solid #dce8fb;border-radius:18px;padding:8px 12px;box-shadow:0 7px 18px #17376812}.ej-mini-customer>span{font-size:42px;animation:ejMiniCustomer 1.9s ease-in-out infinite alternate}.ej-mini-customer b,.ej-mini-customer small{display:block}.ej-mini-customer b{font-size:15px;color:#163b87}.ej-mini-customer small{font-size:11px;color:#667085}.ej-mini-shop-scene{position:relative;z-index:2;width:min(820px,96%);margin:auto;background:linear-gradient(#e8f8ff 0 24%,#fff5d2 24% 100%);border-radius:26px;border:3px solid #dce7fb;overflow:hidden;box-shadow:inset 0 -10px 0 #e7bf7a44;transition:.25s}.ej-mini-shop-scene.oops{animation:ejMiniOops .42s ease}.ej-mini-awning{height:30px;display:grid;grid-template-columns:repeat(6,1fr);border-bottom:3px solid #fff}.ej-mini-awning i:nth-child(odd){background:#ff6b6b}.ej-mini-awning i:nth-child(even){background:#fff}.ej-mini-shelves{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 22px 14px}.ej-mini-product-group{position:relative;background:linear-gradient(#fff,#fff9ea);border:3px solid #f2d48a;border-radius:22px;padding:13px 12px 18px;min-height:150px;box-shadow:0 8px 0 #e6c878}.ej-mini-product-group:after{content:"";position:absolute;left:7%;right:7%;bottom:12px;height:8px;background:#9b633c;border-radius:999px;box-shadow:0 5px 0 #70472b}.ej-mini-shelf-label{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;color:#173b87}.ej-mini-shelf-label span{font-size:14px;font-weight:900;text-transform:capitalize}.ej-mini-shelf-label b{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:#173b87;color:#fff;font-size:17px}.ej-mini-items{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:5px;min-height:74px}.ej-mini-item{display:inline-grid;place-items:center;width:52px;height:58px;font-size:43px;filter:drop-shadow(0 5px 5px #0002);animation:ejMiniBounce 1.65s ease-in-out infinite alternate;animation-delay:var(--delay);transition:.55s cubic-bezier(.2,.8,.3,1);transform-origin:center}.ej-mini-item.sold{transform:translateY(105px) scale(.18) rotate(15deg);opacity:0}.ej-mini-checkout{display:flex;align-items:center;justify-content:center;gap:28px;padding:9px 18px 18px}.ej-mini-basket,.ej-mini-register{display:flex;align-items:center;gap:9px;background:#fff;border:3px solid #d6e3fb;border-radius:18px;padding:9px 13px;box-shadow:0 7px 0 #d5e2f8}.ej-mini-basket span,.ej-mini-register>span{font-size:36px}.ej-mini-basket b{color:#6d28d9}.ej-mini-register small,.ej-mini-register b{display:block}.ej-mini-register small{font-size:11px;color:#667085}.ej-mini-register b{font-size:26px;color:#15803d}.ej-mini-coin-burst{position:absolute;left:50%;bottom:25px;transform:translateX(-50%) scale(.7);font-size:29px;opacity:0;pointer-events:none}.ej-mini-coin-burst.show{animation:ejMiniCoins .9s ease forwards}.ej-mini-shop-question{position:relative;z-index:2;font-size:clamp(28px,4.6vw,46px);font-weight:1000;color:#163b87;line-height:1.08;text-align:center;margin:19px auto 17px;max-width:820px;text-shadow:0 2px 0 #fff}.ej-mini-shop-options{position:relative;z-index:2}.ej-mini-shop-options .ej-answer{background:linear-gradient(#fff,#f8fbff);border-width:4px;box-shadow:0 8px 0 #cfddf6,0 15px 28px #17376810}.ej-mini-shop-options .ej-answer:hover{transform:translateY(-5px) scale(1.02);border-color:#60a5fa}.ej-mini-shop-hint{position:relative;z-index:2;width:max-content;max-width:92%;margin:18px auto 0;padding:9px 14px;border-radius:999px;background:#fff7cc;color:#805b00;font-size:13px;font-weight:900}.theme-mini_shop{background:transparent!important}.ej-scene.theme-mini_shop{min-height:0;margin:0}.ej-mini-instruction:has(+ .ej-game-stage .ej-mini-shop-shell){color:#8b5e00}@keyframes ejMiniFloat{to{transform:translateY(11px) rotate(8deg)}}@keyframes ejMiniCustomer{to{transform:translateY(-3px) rotate(-2deg)}}@keyframes ejMiniBounce{from{transform:translateY(0)}to{transform:translateY(-7px)}}@keyframes ejMiniOops{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}@keyframes ejMiniCoins{0%{opacity:0;transform:translate(-50%,15px) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-75px) scale(1.25)}}@media(max-width:700px){.ej-mini-shop-header{align-items:stretch;flex-direction:column}.ej-mini-shop-sign,.ej-mini-customer{justify-content:center}.ej-mini-shelves{grid-template-columns:1fr;gap:10px;padding:14px}.ej-mini-product-group{min-height:122px}.ej-mini-item{width:44px;height:48px;font-size:37px}.ej-mini-checkout{gap:10px;flex-wrap:wrap}.ej-mini-shop-question{font-size:31px}.ej-mini-shop-options{grid-template-columns:1fr 1fr}.ej-mini-shop-hint{border-radius:16px;text-align:center}}

/* EduJoy v2.3.5 — Math Boss Battle Fury FX */
.ej-boss-help{font-size:18px;font-weight:900;color:#475569;text-align:center;margin:2px auto 10px}
.ej-boss-fx{width:min(900px,100%);padding:18px 20px 16px;border-radius:34px;position:relative;overflow:hidden;border:3px solid #d8e6ff;background:linear-gradient(180deg,#eef6ff 0%,#fff 62%,#f9fbff 100%);box-shadow:0 18px 40px rgba(30,64,175,.12)}
.ej-boss-fx.entered{animation:ejBossEntrance .6s ease-out}
.ej-boss-fx.arena-lava{background:radial-gradient(circle at top,#fff0d8 0,#ffe7c7 22%,#fbd1ce 44%,#f5f7ff 100%)}
.ej-boss-fx.arena-storm{background:radial-gradient(circle at top,#e5f0ff 0,#dbeafe 30%,#eef2ff 55%,#f8fbff 100%)}
.ej-boss-fx.arena-space{background:radial-gradient(circle at top,#e8e9ff 0,#dbeafe 22%,#eef2ff 45%,#f8fbff 100%)}
.ej-boss-fx.arena-ice{background:radial-gradient(circle at top,#f0fdff 0,#d9f4ff 25%,#e8f4ff 48%,#f7fbff 100%)}
.ej-boss-sky{position:absolute;top:10px;left:0;right:0;display:flex;justify-content:space-between;padding:0 18px;font-size:28px;opacity:.85;pointer-events:none}
.ej-boss-sky span{animation:ejBossSkyFloat 3.2s ease-in-out infinite}
.ej-boss-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center;margin-top:8px}
.ej-fighter{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(255,255,255,.72);border:2px solid #d9e7ff;border-radius:24px;backdrop-filter:blur(4px)}
.ej-fighter .avatar{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;font-size:48px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.08)}
.ej-fighter .meta b{display:block;font-size:20px;color:#153d8d}
.ej-fighter .meta small{display:block;font-size:14px;color:#5f7194;font-weight:800}
.ej-fighter.boss .avatar{font-size:54px;animation:ejBossHover 1.6s ease-in-out infinite alternate}
.ej-boss-bars{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.ej-boss-bars .bar-card{background:#fff;border:2px solid #e2e8f0;border-radius:22px;padding:10px 12px}
.ej-boss-bars span{display:block;font-size:13px;font-weight:900;color:#334155;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.ej-boss-bars .meter{height:18px;border-radius:999px;background:#e5e7eb;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.08)}
.ej-boss-bars .meter i{display:block;height:100%;border-radius:999px;transition:width .45s ease}
.ej-boss-bars .meter.hero i{background:linear-gradient(90deg,#22c55e,#16a34a)}
.ej-boss-bars .meter.boss i{background:linear-gradient(90deg,#f97316,#ef4444,#b91c1c)}
.ej-boss-arena{position:relative;margin-top:18px;height:170px;border-radius:28px;border:2px solid #d6e4ff;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.45) 0%,rgba(255,255,255,.8) 56%,rgba(34,197,94,.18) 57%,rgba(34,197,94,.26) 100%)}
.ej-boss-arena:before{content:"";position:absolute;left:0;right:0;bottom:26px;height:4px;background:linear-gradient(90deg,#93c5fd,#6366f1,#f97316)}
.ej-boss-arena .hero-lane,.ej-boss-arena .boss-lane{position:absolute;bottom:28px}
.ej-boss-arena .hero-lane{left:28px}.ej-boss-arena .boss-lane{right:34px}
.ej-boss-arena .hero-runner,.ej-boss-arena .boss-monster{font-size:64px;display:inline-grid;place-items:center;filter:drop-shadow(0 8px 16px rgba(0,0,0,.12))}
.ej-boss-arena .projectile{position:absolute;top:72px;opacity:0;font-size:44px;transform:scale(.6)}
.ej-boss-arena .hero-shot{left:120px}.ej-boss-arena .boss-shot{right:120px}
.ej-boss-arena .impact{position:absolute;left:50%;top:18px;transform:translateX(-50%) scale(.85);padding:10px 18px;border-radius:999px;font-size:20px;font-weight:950;color:#173b87;background:rgba(255,255,255,.92);border:2px solid #d8e6ff;opacity:.96;box-shadow:0 8px 18px rgba(15,23,42,.08)}
.ej-boss-arena .impact.show.good{background:#dcfce7;color:#166534;border-color:#86efac;animation:ejImpactPop .85s ease}
.ej-boss-arena .impact.show.bad{background:#fee2e2;color:#991b1b;border-color:#fca5a5;animation:ejImpactPop .85s ease}
.ej-danger-wrap{margin-top:14px;background:#fff;border:2px solid #e2e8f0;border-radius:22px;padding:12px 14px}
.ej-danger-label{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;font-weight:950;color:#475569;margin-bottom:8px}
.ej-danger-label b{font-size:24px;color:#b91c1c}
.ej-danger-bar{height:14px;border-radius:999px;background:#e5e7eb;overflow:hidden}
.ej-danger-bar i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#facc15,#ef4444);transition:width .35s linear}
.ej-boss-tip{display:block;margin-top:8px;font-size:13px;color:#64748b;font-weight:800}
.ej-boss-fx.player-attack .hero-shot{animation:ejHeroShot .9s ease forwards}
.ej-boss-fx.player-attack .boss-monster{animation:ejBossShake .52s linear 2}
.ej-boss-fx.player-attack .hero-runner.attack-run{animation:ejHeroRush .9s ease}
.ej-boss-fx.boss-attack .boss-shot{animation:ejBossShot .9s ease forwards}
.ej-boss-fx.boss-attack .hero-runner{animation:ejHeroHit .9s ease}
.ej-boss-fx.boss-attack .boss-monster.attack-pulse{animation:ejBossPulse .75s ease 1}
.ej-boss-fx.danger-mode{box-shadow:0 0 0 4px rgba(239,68,68,.18),0 14px 40px rgba(239,68,68,.22);animation:ejDangerPulse .95s ease-in-out infinite}
.ej-boss-fx.danger-mode .ej-danger-wrap{border-color:#fca5a5;background:#fff7f7}
.ej-boss-fx.danger-mode .impact{background:#fff1f2;color:#991b1b;border-color:#fecdd3}
.ej-answers.boss-answers .ej-answer{position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.ej-answers.boss-answers .ej-answer:before{content:"⚔️";position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.22}
.ej-answers.boss-answers .ej-answer.correct{background:linear-gradient(180deg,#dcfce7,#f0fdf4)}
.ej-answers.boss-answers .ej-answer.wrong{background:linear-gradient(180deg,#fee2e2,#fff1f2)}
@keyframes ejBossEntrance{0%{transform:translateY(18px) scale(.97);opacity:0}100%{transform:translateY(0) scale(1);opacity:1}}
@keyframes ejBossSkyFloat{50%{transform:translateY(-6px) rotate(4deg)}}
@keyframes ejBossHover{0%{transform:translateY(0)}100%{transform:translateY(-8px) scale(1.03)}}
@keyframes ejHeroShot{0%{opacity:0;transform:translateX(0) scale(.5)}15%{opacity:1}70%{opacity:1;transform:translateX(520px) scale(1.2)}100%{opacity:0;transform:translateX(560px) scale(1.6)}}
@keyframes ejBossShot{0%{opacity:0;transform:translateX(0) scale(.5)}15%{opacity:1}70%{opacity:1;transform:translateX(-520px) scale(1.2)}100%{opacity:0;transform:translateX(-560px) scale(1.6)}}
@keyframes ejBossShake{25%{transform:translateX(-7px) rotate(-3deg)}50%{transform:translateX(7px) rotate(3deg)}75%{transform:translateX(-5px)}}
@keyframes ejHeroRush{0%{transform:translateX(0)}45%{transform:translateX(170px) scale(1.1)}100%{transform:translateX(0)}}
@keyframes ejHeroHit{0%{transform:translateX(0)}35%{transform:translateX(-12px) rotate(-8deg)}100%{transform:translateX(0)}}
@keyframes ejBossPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes ejImpactPop{0%{transform:translateX(-50%) scale(.7)}40%{transform:translateX(-50%) scale(1.08)}100%{transform:translateX(-50%) scale(1)}}
@keyframes ejDangerPulse{50%{transform:scale(1.004)}}
@media (max-width:720px){.ej-boss-panels,.ej-boss-bars{grid-template-columns:1fr}.ej-boss-arena{height:150px}.ej-boss-arena .hero-runner,.ej-boss-arena .boss-monster{font-size:54px}.ej-boss-arena .hero-shot{left:92px}.ej-boss-arena .boss-shot{right:92px}.ej-boss-help{font-size:16px}}

/* EduJoy v2.3.6 — Math Boss Battle Phase & Final Boss Upgrade */
.ej-boss-fx{isolation:isolate}
.ej-boss-world{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.ej-boss-world .landmark{position:absolute;font-size:66px;opacity:.34;filter:drop-shadow(0 10px 18px rgba(15,23,42,.14));animation:ejBossLandmark 4s ease-in-out infinite alternate}
.ej-boss-world .l1{left:4%;bottom:8%}.ej-boss-world .l2{right:7%;top:18%;animation-delay:.5s}.ej-boss-world .l3{right:24%;bottom:10%;animation-delay:1s}
.ej-boss-fx.arena-lava{background:linear-gradient(180deg,#fff2db 0%,#ffd4b8 38%,#ffe2d5 58%,#f8fbff 100%)}
.ej-boss-fx.arena-storm{background:linear-gradient(180deg,#dce7ff 0%,#c9d8ff 38%,#eef2ff 62%,#f8fbff 100%)}
.ej-boss-fx.arena-space{background:radial-gradient(circle at 50% 8%,#5b5bd6 0%,#31316e 24%,#161633 48%,#eef2ff 49%,#f8fbff 100%)}
.ej-boss-fx.arena-space .ej-fighter,.ej-boss-fx.arena-space .ej-boss-bars .bar-card,.ej-boss-fx.arena-space .ej-danger-wrap{background:rgba(255,255,255,.88)}
.ej-boss-fx.arena-ice{background:linear-gradient(180deg,#e9fbff 0%,#c8f1ff 38%,#e7f8ff 63%,#f8fbff 100%)}
.ej-boss-fx.arena-void{background:radial-gradient(circle at 50% 0%,#5b21b6 0%,#312e81 28%,#111827 55%,#eef2ff 56%,#f8fbff 100%)}
.ej-boss-fx.arena-void .ej-fighter,.ej-boss-fx.arena-void .ej-boss-bars .bar-card,.ej-boss-fx.arena-void .ej-danger-wrap{background:rgba(255,255,255,.92)}
.ej-boss-round{display:flex;justify-content:center;gap:10px;align-items:center;margin:4px 0 8px;position:relative;z-index:2}
.ej-boss-round b{background:#173b87;color:#fff;padding:7px 14px;border-radius:999px;font-size:13px;letter-spacing:.06em}.ej-boss-round span{background:#fff1c9;color:#8a5200;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:950}
.ej-phase-track{display:flex;justify-content:center;align-items:center;gap:6px;margin:0 auto 10px;position:relative;z-index:2}
.ej-phase-track i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e5e7eb;color:#64748b;font-style:normal;font-weight:950;border:2px solid #cbd5e1}.ej-phase-track i.on{background:#fef3c7;color:#92400e;border-color:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12)}.ej-phase-track b{width:36px;height:4px;border-radius:999px;background:#cbd5e1}
.ej-boss-fx.phase-2 .boss-avatar{animation-duration:1.1s}.ej-boss-fx.phase-3 .boss-avatar,.ej-boss-fx.rage-mode .boss-avatar{animation:ejBossRageHover .62s ease-in-out infinite alternate}
.ej-boss-fx.phase-3 .ej-boss-arena,.ej-boss-fx.rage-mode .ej-boss-arena{box-shadow:inset 0 0 0 4px rgba(239,68,68,.12)}
.ej-boss-fx.phase-3 .ej-danger-bar i,.ej-boss-fx.rage-mode .ej-danger-bar i{background:linear-gradient(90deg,#facc15,#f97316,#dc2626)}
.ej-boss-fx.barrier-mode .boss-monster{filter:drop-shadow(0 0 20px #60a5fa) drop-shadow(0 0 34px #8b5cf6)}
.ej-boss-fx.barrier-mode .ej-boss-arena{box-shadow:inset 0 0 0 5px rgba(96,165,250,.18)}
.ej-boss-arena .boss-shield{position:absolute;right:72px;bottom:52px;font-size:96px;opacity:0;transform:scale(.45) rotate(-15deg);transition:.22s;pointer-events:none;filter:drop-shadow(0 0 18px rgba(59,130,246,.55))}
.ej-boss-arena .boss-shield.show{opacity:.78;transform:scale(1) rotate(0);animation:ejBossShield .48s ease-in-out infinite alternate}
.ej-boss-fx.final-boss{border-color:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.16),0 24px 60px rgba(76,29,149,.25)}
.ej-boss-fx.final-boss .ej-boss-round b{background:linear-gradient(90deg,#7c2d12,#b91c1c,#7c3aed)}
.ej-boss-fx.final-boss .boss-monster{font-size:78px;filter:drop-shadow(0 0 16px rgba(239,68,68,.55)) drop-shadow(0 12px 18px rgba(0,0,0,.2))}
.ej-boss-fx.final-boss .impact{font-weight:1000}
.ej-boss-cutscene{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,rgba(255,255,255,.98),rgba(237,233,254,.97) 58%,rgba(30,41,59,.94));opacity:0;transform:scale(.92);transition:.35s;border-radius:31px}
.ej-boss-cutscene.show{opacity:1;transform:scale(1)}
.ej-boss-cutscene .portal{font-size:110px;position:absolute;opacity:.28;animation:ejPortalSpin 2.3s linear infinite}.ej-boss-cutscene .trophy{font-size:92px;z-index:2;animation:ejTrophyPop .8s ease-in-out infinite alternate}.ej-boss-cutscene h2{z-index:2;margin:6px 0 0;color:#3b0764;font-size:clamp(32px,6vw,58px);font-weight:1000;text-shadow:0 3px #fff}.ej-boss-cutscene p{z-index:2;font-size:20px;font-weight:900;color:#475569}.ej-boss-cutscene .loot{z-index:2;font-size:46px;background:#fff7d6;border:3px solid #f59e0b;border-radius:999px;padding:10px 22px;box-shadow:0 10px 24px rgba(245,158,11,.2)}
.ej-boss-fx.boss-defeated .boss-monster.defeat-fall{animation:ejBossDefeat 1.05s ease forwards}
.ej-boss-phase-3 .boss-answers .ej-answer{animation:ejBossChoiceTension 1.2s ease-in-out infinite alternate}.ej-boss-phase-3 .boss-answers .ej-answer:nth-child(2){animation-delay:.14s}.ej-boss-phase-3 .boss-answers .ej-answer:nth-child(3){animation-delay:.28s}.ej-boss-phase-3 .boss-answers .ej-answer:nth-child(4){animation-delay:.42s}
@keyframes ejBossLandmark{to{transform:translateY(-9px) rotate(4deg)}}
@keyframes ejBossRageHover{0%{transform:translateY(0) rotate(-3deg) scale(1.02)}100%{transform:translateY(-11px) rotate(3deg) scale(1.09)}}
@keyframes ejBossShield{to{transform:scale(1.08) rotate(3deg)}}
@keyframes ejPortalSpin{to{transform:rotate(360deg) scale(1.16)}}
@keyframes ejTrophyPop{to{transform:translateY(-9px) scale(1.08)}}
@keyframes ejBossDefeat{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}45%{transform:translateY(-16px) rotate(-12deg) scale(1.1);opacity:1}100%{transform:translateY(90px) rotate(32deg) scale(.2);opacity:0}}
@keyframes ejBossChoiceTension{to{transform:translateY(-2px);box-shadow:0 9px 0 #dbe7fb,0 0 18px rgba(239,68,68,.12)}}

/* =====================================================================
   EduJoy v3.0.0 — Premium Syllabus Game Experience
   ===================================================================== */
.game-page{background:radial-gradient(circle at top,#dff6ff 0,#eef7ff 34%,#f8fbff 72%);min-height:100vh}
.ej-v3-top{position:sticky;top:0;z-index:20;background:rgba(202,241,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(20,110,245,.09)}
.ej-v3-title{text-align:center;min-width:0}.ej-v3-title>b{font-size:18px;color:#0b2d69}.ej-v3-kssr{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#fff;color:#1857b8;font-size:10px;font-weight:950;letter-spacing:.08em;margin-bottom:4px;box-shadow:0 4px 14px rgba(13,75,168,.08)}
.ej-v3-topic{font-size:12px;color:#55749c;font-weight:750;margin-top:3px}.ej-v3-preview{font-size:10px;background:#7c3aed;color:#fff;padding:4px 8px;border-radius:999px;margin-left:6px}
.ej-v3-board{padding-top:22px}.ej-v3-board .game-content{max-width:1040px}
.ej-v3-mission-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#0d4fc8,#406cff 58%,#7c3aed);border-radius:26px;padding:18px 22px;color:white;margin-bottom:14px;box-shadow:0 18px 40px rgba(28,82,190,.22);position:relative;overflow:hidden}
.ej-v3-mission-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-55px;top:-70px;background:rgba(255,255,255,.12)}
.ej-v3-mission-card>div:first-child{display:flex;flex-direction:column;gap:5px;position:relative;z-index:1}.ej-v3-mission-label{font-size:12px;font-weight:900;opacity:.82;text-transform:uppercase;letter-spacing:.06em}.ej-v3-mission-card strong{font-size:16px;line-height:1.45;max-width:760px}.ej-v3-mastery-chip{min-width:88px;text-align:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);padding:10px 12px;border-radius:18px;font-size:10px;line-height:1.2;position:relative;z-index:1}.ej-v3-mastery-chip b{font-size:18px}
.ej-v3-journey{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}.ej-v3-journey span{padding:9px 8px;text-align:center;border-radius:15px;background:#edf3ff;color:#7790ba;font-size:12px;font-weight:900;border:1px solid #dbe8ff;transition:.25s ease}.ej-v3-journey span.done{background:#e7f8ef;color:#18804b;border-color:#bce8ce}.ej-v3-journey span.active{background:linear-gradient(135deg,#fff3c5,#ffe08b);color:#8a5900;border-color:#f8c94d;transform:translateY(-2px);box-shadow:0 8px 18px rgba(245,158,11,.18)}
.ej-v3-hud{display:grid;grid-template-columns:120px 1fr 90px;gap:14px;align-items:center;background:#fff;border:1px solid #e4edfb;border-radius:22px;padding:12px 14px;margin-bottom:12px;box-shadow:0 10px 26px rgba(26,66,135,.07)}.ej-v3-score,.ej-v3-round{display:flex;align-items:center;gap:7px;font-weight:950;color:#123a80}.ej-v3-score small,.ej-v3-round small{font-size:10px;color:#8292ae;text-transform:uppercase}.ej-v3-progress small{display:block;margin-top:6px;color:#657998;font-size:11px;font-weight:750}.ej-v3-round{justify-content:flex-end}.ej-v3-round b{font-size:20px}
.ej-v3-helpbar{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;padding:10px 12px;border-radius:18px;background:#f7faff;border:1px dashed #cbdcf8;color:#667b9d;font-size:12px;font-weight:750}.ej-v3-helpbar .btn{padding:8px 12px;font-size:12px}
.ej-v3-intro{max-width:820px;margin:10px auto;text-align:center;padding:34px 30px;border-radius:34px;background:radial-gradient(circle at top,#ffffff 0,#f8fbff 54%,#eef5ff 100%);border:2px solid #dceaff;box-shadow:0 26px 60px rgba(21,72,155,.14);animation:ejV3Intro .5s ease-out}.ej-v3-intro-orb{width:104px;height:104px;margin:0 auto 12px;display:grid;place-items:center;border-radius:32px;background:linear-gradient(145deg,#4f7dff,#7c3aed);font-size:54px;box-shadow:0 18px 30px rgba(88,71,220,.24)}.ej-v3-intro-badge{display:inline-block;background:#e8f1ff;color:#1750ac;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:950;letter-spacing:.07em}.ej-v3-intro h1{font-size:34px;margin:12px 0 8px;color:#123b86}.ej-v3-intro p{max-width:690px;margin:0 auto;color:#526b94;font-size:17px;font-weight:700;line-height:1.55}.ej-v3-intro-flow{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:22px 0}.ej-v3-intro-flow span{background:#fff;border:1px solid #dce8fb;padding:8px 11px;border-radius:13px;font-size:12px;font-weight:900;color:#3a5686}.ej-v3-intro-flow b{color:#9eb0cf}.ej-v3-start{font-size:17px;padding:14px 26px;box-shadow:0 12px 24px rgba(20,110,245,.22)}.ej-v3-intro small{display:block;margin-top:12px;color:#8596b2;font-weight:700}
@keyframes ejV3Intro{0%{opacity:0;transform:translateY(12px) scale(.985)}100%{opacity:1;transform:none}}

/* Fraction Lab v3 — one whole, equal parts, correct numerator/denominator language */
.ej-fraction-lab-v3{max-width:820px;margin:0 auto;text-align:center;padding:18px 18px 20px;border-radius:30px;background:linear-gradient(180deg,#fffefb 0,#fff9ee 100%);border:2px solid #ffe0a1;box-shadow:0 14px 30px rgba(201,123,18,.09)}
.ej-frac-teach{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:12px}.ej-frac-teach span{background:#fff;border:1px solid #f4d58d;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;color:#8a5a00}.ej-frac-teach b{color:#c99728}.ej-frac-whole{width:min(320px,82vw);margin:0 auto}.ej-frac-svg{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 14px 18px rgba(176,89,0,.13))}.ej-frac-sector{fill:#ffe5b1;stroke:#d98915;stroke-width:4;cursor:pointer;transition:.18s ease;transform-origin:120px 120px}.ej-frac-sector:hover{filter:brightness(1.04);transform:scale(1.015)}.ej-frac-sector.selected{fill:#ff5b57;filter:drop-shadow(0 5px 8px rgba(229,62,62,.24))}.ej-frac-svg.cookie .ej-frac-sector{fill:#d89b58;stroke:#9a5d23}.ej-frac-svg.cookie .ej-frac-sector.selected{fill:#7bd46d}.ej-frac-outline{fill:none;stroke:#a95d13;stroke-width:5;pointer-events:none}.ej-frac-instruction{color:#6b5b44;font-weight:800;font-size:14px;margin:6px 0}.ej-fraction-count-v3{font-size:20px;color:#253e6f;margin:10px 0 6px}.ej-fraction-count-v3 b{font-size:28px;color:#123b86}.ej-frac-target{display:inline-flex;gap:10px;align-items:center;background:#fff;border:1px solid #f2d69d;padding:8px 13px;border-radius:14px;margin-bottom:12px;color:#6f5017}.ej-frac-target span{font-size:24px;font-weight:950;color:#b45f06}.ej-learning-proof{min-height:24px;margin-top:12px;color:#386248;font-size:15px;font-weight:800;line-height:1.45}

/* Money Swap Lab v3 — multiple valid combinations */
.ej-money-lab{max-width:820px;margin:0 auto;text-align:center;padding:18px;border-radius:30px;background:linear-gradient(180deg,#fffdf1,#f4fff9);border:2px solid #d3eddc;box-shadow:0 14px 30px rgba(28,120,79,.08)}.ej-money-target-v3{display:inline-flex;flex-direction:column;min-width:150px;padding:10px 18px;border-radius:20px;background:linear-gradient(135deg,#0ea56d,#16c784);color:#fff;box-shadow:0 12px 22px rgba(14,165,109,.18)}.ej-money-target-v3 small{font-size:10px;font-weight:950;letter-spacing:.08em}.ej-money-target-v3 b{font-size:28px}.ej-money-machine-v3{display:flex;justify-content:center;align-items:center;gap:10px;margin:14px auto;padding:12px;border-radius:18px;background:#eefaf4;color:#166744;font-weight:900}.ej-money-machine-v3 span{margin-left:auto;background:#fff;padding:7px 10px;border-radius:12px;color:#0e7c52}.ej-money-coinrack{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:16px 0}.ej-money-coin{width:74px;height:74px;border-radius:50%;border:3px solid #d6a92e;background:radial-gradient(circle at 35% 28%,#fff6b8,#e0ad2d 68%,#b87c12);color:#64420b;font-size:20px;font-weight:950;box-shadow:0 8px 15px rgba(157,108,14,.18);cursor:pointer}.ej-money-coin small{display:block;font-size:9px}.ej-money-tray{min-height:88px;padding:12px;border:2px dashed #a9d9bf;border-radius:20px;background:#fff;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;color:#789789}.ej-picked-coin{border:0;border-radius:999px;padding:8px 12px;background:#e8f8ef;color:#0e704a;font-weight:900;cursor:pointer}.ej-money-equation{font-size:20px;font-weight:950;color:#21533e;margin:12px 0}.ej-money-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}

@media(max-width:760px){.ej-v3-top{position:relative}.ej-v3-mission-card{align-items:flex-start}.ej-v3-mastery-chip{display:none}.ej-v3-journey{grid-template-columns:repeat(5,minmax(70px,1fr));overflow:auto}.ej-v3-hud{grid-template-columns:82px 1fr 68px}.ej-v3-helpbar span{display:none}.ej-v3-intro{padding:26px 16px}.ej-v3-intro h1{font-size:27px}.ej-v3-intro p{font-size:15px}.ej-v3-intro-flow b{display:none}.ej-v3-mission-card strong{font-size:14px}.ej-money-machine-v3{flex-wrap:wrap}.ej-money-machine-v3 span{margin-left:0;width:100%}}

/* EduJoy v3.0.1 — Pizza Pecahan Mission Variety & No-Repeat Fix */
.ej-frac-mission-chip{display:inline-flex;align-items:center;gap:7px;background:#eef5ff;color:#244b8f;border:1px solid #cfdef7;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;margin-bottom:10px}
.ej-frac-object-label{display:flex;align-items:center;justify-content:center;gap:10px;margin:2px 0 5px;color:#7a4b0b;font-weight:950;letter-spacing:.02em}.ej-frac-object-label span{font-size:34px}.ej-frac-object-label b{font-size:13px;text-transform:uppercase;background:#fff7d6;border:1px solid #f5cf7a;padding:6px 10px;border-radius:999px}
.ej-frac-rect-outline{fill:none;stroke:#a95d13;stroke-width:5;pointer-events:none}
.ej-frac-svg.rect-square .ej-frac-sector,.ej-frac-svg.rect-grid .ej-frac-sector{fill:#f0c878;stroke:#a66a1b;stroke-width:3}.ej-frac-svg.rect-square .ej-frac-sector.selected,.ej-frac-svg.rect-grid .ej-frac-sector.selected{fill:#ef6461}
.ej-frac-svg.rect-rectangle .ej-frac-sector{fill:#f8f1d4;stroke:#c8902f;stroke-width:3}.ej-frac-svg.rect-rectangle .ej-frac-sector.selected{fill:#7dc9ff}
.ej-frac-svg.rect-strip .ej-frac-sector{fill:#dcf3c9;stroke:#65a645;stroke-width:3}.ej-frac-svg.rect-strip .ej-frac-sector.selected{fill:#46b96b}
.identify-mode .ej-frac-sector,.equivalence-mode .ej-frac-sector{cursor:default}.identify-mode .ej-frac-sector:hover,.equivalence-mode .ej-frac-sector:hover{transform:none;filter:none}
.fraction-answer-grid{margin-top:12px}.fraction-answer-grid .ej-answer{font-size:22px;padding:14px 12px}
.ej-equivalence-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;max-width:760px;margin:0 auto}.ej-equivalence-board .ej-frac-whole,.ej-equivalence-board>div{min-width:0}.ej-equivalence-board .ej-frac-svg{width:min(240px,32vw)}.ej-equivalence-symbol{font-size:46px;font-weight:1000;color:#6d28d9}.ej-equivalence-title{font-size:17px;font-weight:950;color:#173b87;margin-bottom:4px}.equivalence-mode .ej-frac-object-label{display:none}
@media(max-width:680px){.ej-equivalence-board{grid-template-columns:1fr;gap:5px}.ej-equivalence-symbol{font-size:32px}.ej-equivalence-board .ej-frac-svg{width:min(220px,66vw)}.ej-frac-object-label span{font-size:28px}}

/* EduJoy v3.0.2 — Studio Biskut Pecahan: Fraction Bakery Project */
.ej-cookie-studio-v302{max-width:940px;margin:0 auto;padding:14px 10px 28px}
.ej-cookie-header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#fff5db,#fff,#f7edff);border:2px solid #f5d79a;border-radius:24px;padding:12px 16px;margin-bottom:10px;box-shadow:0 12px 28px rgba(130,82,20,.08)}
.ej-cookie-header>div:first-child{display:flex;align-items:center;gap:12px}.chef-bot{font-size:40px;animation:ejChefBob 1.7s ease-in-out infinite}.ej-cookie-header b{display:block;color:#713d12;font-size:19px}.ej-cookie-header small{color:#8b6b4b;font-weight:800}.gallery-title{font-weight:950;color:#5b3a1d;background:#fff;padding:8px 12px;border-radius:999px;border:1px solid #f4d6a2}
.ej-cookie-ticket{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:2px dashed #e5a93a;border-radius:20px;padding:12px 16px;margin-bottom:10px;position:relative}.ej-cookie-ticket:before{content:'🧾';position:absolute;left:-9px;top:-11px;font-size:25px}.ej-cookie-ticket small{display:block;color:#b26a00;font-weight:950;letter-spacing:.05em}.ej-cookie-ticket b{display:block;font-size:19px;color:#6f3c12}.ticket-target{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.ticket-target span,.ticket-target small{padding:5px 9px;border-radius:999px;background:#fff4d7;color:#7b4a10}.ticket-target strong{font-size:26px;color:#173b87}
.ej-cookie-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:10px 0}.ej-cookie-steps>div{background:#f6f7fb;color:#99a1b4;border:1px solid #e5e7eb;border-radius:15px;padding:8px 6px;text-align:center;font-size:11px;font-weight:900}.ej-cookie-steps>div span{display:grid;place-items:center;margin:0 auto 4px;width:25px;height:25px;border-radius:50%;background:#e5e7eb}.ej-cookie-steps>div.active{background:#fff4d5;color:#945100;border-color:#ffc75c;box-shadow:0 8px 18px rgba(245,158,11,.12)}.ej-cookie-steps>div.active span{background:#f59e0b;color:#fff}.ej-cookie-steps>div.done{background:#e9fbed;color:#217a41;border-color:#92e2aa}.ej-cookie-steps>div.done span{background:#22c55e;color:#fff}
.ej-cookie-gallery{background:#fff;border:1px solid #eadfcf;border-radius:18px;padding:8px 10px;margin-bottom:10px;min-height:58px}.ej-cookie-gallery-empty{text-align:center;color:#a18970;font-size:12px;font-weight:800;padding:10px}.ej-cookie-gallery-row{display:flex;gap:8px;overflow:auto;padding:2px}.ej-cookie-thumb{min-width:68px;position:relative;text-align:center;background:#fffaf0;border:1px solid #f2d8a7;border-radius:14px;padding:5px}.ej-cookie-thumb b{display:block;color:#173b87;font-size:12px}.ej-cookie-thumb small{position:absolute;right:4px;top:3px;color:#a76a16}.mini-cookie{width:38px;height:38px;margin:0 auto 3px;display:grid;place-items:center;background:#dca25c;border:3px solid #a85f13;color:#fff;font-size:14px;overflow:hidden}.mini-cookie.cookie-circle{border-radius:50%}.mini-cookie.cookie-square{border-radius:7px}.mini-cookie.cookie-heart{clip-path:polygon(50% 92%,8% 52%,5% 28%,16% 10%,34% 7%,50% 23%,66% 7%,84% 10%,95% 28%,92% 52%)}.mini-cookie.cookie-star{clip-path:polygon(50% 2%,61% 35%,96% 35%,68% 55%,79% 90%,50% 69%,21% 90%,32% 55%,4% 35%,39% 35%)}
.ej-cookie-workbench{min-height:480px;background:linear-gradient(180deg,#fffdf9,#fff8eb);border:2px solid #f1d29b;border-radius:30px;padding:18px;box-shadow:inset 0 0 0 8px rgba(255,255,255,.55),0 15px 32px rgba(129,79,15,.08);position:relative;overflow:hidden}.ej-cookie-workbench:after{content:'✦ ✦ ✦';position:absolute;right:20px;top:14px;color:#f2c45f;opacity:.45;letter-spacing:9px}
.ej-cookie-scene{text-align:center;position:relative;z-index:1}.ej-cookie-scene h2{font-size:clamp(24px,4vw,38px);color:#173b87;margin:8px auto 7px;max-width:780px}.ej-cookie-scene p{max-width:720px;margin:0 auto 16px;color:#66513d;font-size:16px;font-weight:750;line-height:1.5}.scene-props{font-size:31px;letter-spacing:18px;margin:6px}.raw-dough{width:210px;height:145px;margin:25px auto;background:radial-gradient(circle at 35% 30%,#f3c985,#d59a52);border:8px solid #b8732c;border-radius:45% 55% 48% 52%;display:grid;place-items:center;box-shadow:0 18px 32px rgba(116,71,24,.18);transition:.55s cubic-bezier(.2,.8,.2,1);animation:ejDoughBreath 2s ease-in-out infinite}.raw-dough span{font-weight:950;color:#7e481c}.raw-dough.pressed{transform:scaleX(1.45) scaleY(.55);border-radius:50%;animation:none}.ej-cookie-action{font-size:16px!important;min-height:48px!important;margin-top:10px}
.mould-rack{display:grid;grid-template-columns:repeat(3,minmax(110px,160px));justify-content:center;gap:12px;margin:24px auto}.ej-cookie-mould{border:3px solid #ead4af;background:#fff;border-radius:20px;padding:14px;box-shadow:0 7px 0 #ead8bb;cursor:pointer;transition:.18s}.ej-cookie-mould span{display:block;font-size:42px;color:#c47a22}.ej-cookie-mould b{display:block;color:#744513}.ej-cookie-mould:hover{transform:translateY(-3px)}.ej-cookie-mould.correct{background:#dcfce7;border-color:#22c55e}.ej-cookie-mould.wrong{animation:ejCookieShake .35s;background:#fee2e2;border-color:#ef4444}.dough-sheet{font-size:90px;filter:sepia(.7);opacity:.65}
.swipe-cookie{width:290px;height:290px;margin:22px auto;position:relative;display:grid;place-items:center;background:#dda25d;border:8px solid #aa6119;box-shadow:0 18px 30px rgba(130,75,20,.18);touch-action:none;overflow:hidden;user-select:none}.swipe-cookie span{font-size:96px;opacity:.14}.cookie-circle{border-radius:50%}.cookie-square{border-radius:18px}.cookie-heart{clip-path:polygon(50% 92%,8% 52%,5% 28%,16% 10%,34% 7%,50% 23%,66% 7%,84% 10%,95% 28%,92% 52%)}.cookie-star{clip-path:polygon(50% 2%,61% 35%,96% 35%,68% 55%,79% 90%,50% 69%,21% 90%,32% 55%,4% 35%,39% 35%)}.made-cut{position:absolute;background:#9f5816;z-index:3;box-shadow:0 0 0 2px rgba(255,255,255,.25)}.made-cut.v{width:7px;top:0;bottom:0;left:50%;transform:translateX(-50%)}.made-cut.h{height:7px;left:0;right:0;top:50%;transform:translateY(-50%)}.swipe-cookie.bad-cut{animation:ejCookieShake .36s;border-color:#ef4444}.cut-progress{font-size:18px;font-weight:950;color:#173b87}
.decorate-bench{display:flex;align-items:center;justify-content:center;gap:25px;flex-wrap:wrap;margin:18px auto}.decor-bowl{min-width:125px;background:#fff;border:3px solid #f2d5a6;border-radius:24px;padding:14px;box-shadow:0 8px 20px rgba(0,0,0,.06)}.decor-bowl span{font-size:42px;display:block}.decor-bowl b{font-size:13px;color:#7b4e20}.studio-cookie{width:300px;height:300px}.ej-cookie-shape{width:100%;height:100%;position:relative;overflow:hidden;background:#dda25d;border:8px solid #aa6119;box-shadow:0 18px 30px rgba(130,75,20,.18)}.ej-cookie-sector{position:absolute;border:0;background:transparent;cursor:pointer;z-index:2;transition:.16s}.ej-cookie-sector:hover{background:rgba(255,255,255,.12)}.ej-cookie-sector.decorated{background:radial-gradient(circle at 25% 30%,#fff 0 5%,transparent 6%),radial-gradient(circle at 70% 60%,#fff 0 5%,transparent 6%),linear-gradient(135deg,rgba(255,120,160,.65),rgba(255,220,90,.7))}.ej-cookie-sector span{font-size:30px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.15))}.ej-cookie-sector.den-2{top:0;bottom:0;width:50%}.ej-cookie-sector.den-2.sector-0{left:0}.ej-cookie-sector.den-2.sector-1{right:0}.ej-cookie-sector.den-4{width:50%;height:50%}.ej-cookie-sector.den-4.sector-0{left:0;top:0}.ej-cookie-sector.den-4.sector-1{right:0;top:0}.ej-cookie-sector.den-4.sector-2{left:0;bottom:0}.ej-cookie-sector.den-4.sector-3{right:0;bottom:0}.ej-cookie-shape .cut-line{position:absolute;background:#9f5816;z-index:4;pointer-events:none}.ej-cookie-shape .cut-line.v{width:6px;top:0;bottom:0;left:50%;transform:translateX(-50%)}.ej-cookie-shape .cut-line.h{height:6px;left:0;right:0;top:50%;transform:translateY(-50%)}.fraction-live{font-size:20px;color:#173b87;margin:10px}.fraction-live strong{font-size:27px}.ej-cookie-status{min-height:34px;margin:12px auto;font-weight:850;color:#79532b}
.repair-wrap{display:flex;justify-content:center;margin:18px}.ej-cookie-repair-cookie{width:300px;height:300px;position:relative;background:#dda25d;border:8px solid #aa6119;box-shadow:0 18px 30px rgba(130,75,20,.18);overflow:hidden}.repair-line{position:absolute;background:#991b1b;box-shadow:0 0 0 2px rgba(255,255,255,.45);z-index:2}.repair-line.v{top:0;bottom:0;width:7px}.repair-line.h{left:0;right:0;height:7px}.repair-label{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);white-space:nowrap;background:#fff9;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;color:#7f1d1d}.repair-control{display:block;max-width:450px;margin:10px auto;text-align:left;font-weight:900;color:#6e4a27}.repair-control input{width:100%;accent-color:#f59e0b;margin-top:5px}.label-cookie{margin:18px auto}.ej-cookie-scene .fraction-answer-grid{max-width:560px;margin:14px auto}
.cookie-celebrate{font-size:42px;animation:ejCookieCelebrate .8s ease-in-out infinite alternate}.finished-cookie{width:270px;height:270px;margin:15px auto}.cookie-proof{display:grid;gap:5px;max-width:580px;margin:10px auto;background:#fff;border:2px solid #eed2a2;border-radius:22px;padding:14px}.cookie-proof strong{font-size:30px;color:#173b87}.cookie-proof span{color:#6f5a43;font-weight:750}.cookie-proof b{color:#8b4f08;font-size:18px}.master-gallery{max-width:760px;margin:18px auto;background:linear-gradient(135deg,#fff6c7,#fff,#f3ebff);border:2px solid #f2c94c;border-radius:24px;padding:14px}.master-gallery h3{color:#7b4b00;font-size:22px;margin:0 0 10px}.master-gallery p{margin:10px auto!important;font-size:14px!important}
@keyframes ejChefBob{50%{transform:translateY(-5px) rotate(3deg)}}@keyframes ejDoughBreath{50%{transform:scale(1.04)}}@keyframes ejCookieShake{25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-4px)}}@keyframes ejCookieCelebrate{to{transform:scale(1.08) rotate(2deg)}}
@media(max-width:720px){.ej-cookie-steps{grid-template-columns:repeat(5,1fr)}.ej-cookie-steps>div b{display:none}.ej-cookie-ticket{align-items:flex-start;flex-direction:column}.ticket-target{justify-content:flex-start}.mould-rack{grid-template-columns:repeat(3,1fr)}.swipe-cookie,.ej-cookie-repair-cookie,.studio-cookie{width:250px;height:250px}.decorate-bench{gap:12px}.ej-cookie-workbench{padding:12px}.ej-cookie-scene h2{font-size:27px}}

/* EduJoy v3.0.3 — Pecahan Rescue: Think, Build & Rescue */
.ej-fraction-rescue{width:min(960px,100%);margin:0 auto;border-radius:30px;overflow:hidden;background:#f8fbff;border:2px solid #d7e7fb;box-shadow:0 18px 40px rgba(30,64,175,.08)}
.ej-rescue-header{padding:14px 18px;background:linear-gradient(90deg,#e6f6ff,#f8f0ff);border-bottom:2px solid #d8e7fa}
.ej-rescue-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px}.ej-rescue-title span{background:#173d8b;color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:950}.ej-rescue-title strong{font-size:20px;color:#173d8b}
.ej-rescue-map{display:flex;align-items:center;justify-content:center;gap:5px;overflow:auto}.ej-rescue-map span{min-width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #cfe0f8;color:#64748b;font-weight:900;font-size:13px}.ej-rescue-map span.done{background:#dcfce7;border-color:#22c55e;color:#166534}.ej-rescue-map span.current{background:#fff7cc;border-color:#f59e0b;transform:scale(1.1);box-shadow:0 0 0 4px rgba(245,158,11,.12)}.ej-rescue-map i{width:24px;height:4px;background:#d6e3f7;border-radius:999px;flex:0 0 auto}
.ej-rescue-world{position:relative;padding:22px;background:linear-gradient(180deg,#dff5ff 0%,#ecfbff 52%,#d9f7d1 53%,#bce6a7 100%);min-height:245px;overflow:hidden}.setting-hutan .ej-rescue-world{background:linear-gradient(180deg,#dff8ff 0%,#e6f7f0 45%,#b9e197 46%,#86c76d 100%)}.setting-klinik .ej-rescue-world,.setting-ambulans .ej-rescue-world{background:linear-gradient(180deg,#eef7ff,#f7fbff 58%,#d9ecff 59%,#bdd7f1 100%)}.setting-helipad .ej-rescue-world{background:linear-gradient(180deg,#d9edff,#e9f2ff 56%,#c9ccd6 57%,#aeb3bf 100%)}
.ej-rescue-weather{position:absolute;inset:10px 16px auto;display:flex;justify-content:space-between;font-size:26px;opacity:.72;pointer-events:none}.ej-rescue-weather span{animation:ejRescueFloat 2.6s ease-in-out infinite}.ej-rescue-weather span:nth-child(2){animation-delay:.6s}.ej-rescue-weather span:nth-child(3){animation-delay:1.1s}
.ej-rescue-actors{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;max-width:640px;margin:12px auto 10px;position:relative;z-index:2}.ej-rescue-actors>div{text-align:center;background:rgba(255,255,255,.75);border:2px solid rgba(210,229,248,.9);border-radius:24px;padding:12px 18px;min-width:180px;backdrop-filter:blur(3px)}.ej-rescue-actors b{display:block;font-size:70px;filter:drop-shadow(0 8px 10px rgba(15,23,42,.15));animation:ejRescueActor 1.8s ease-in-out infinite alternate}.ej-rescue-actors small{display:block;font-weight:900;color:#294a84;margin-top:6px}
.ej-rescue-story{position:relative;z-index:2;max-width:780px;margin:0 auto;background:rgba(255,255,255,.92);border:2px solid #d6e7fb;border-radius:22px;padding:14px 18px}.ej-rescue-story>span{font-size:11px;font-weight:950;letter-spacing:.08em;color:#6d28d9}.ej-rescue-story p{margin:7px 0 0;font-size:17px;line-height:1.5;color:#334155;font-weight:750}
.ej-rescue-task{padding:24px 24px 28px;background:#fff}.ej-rescue-task h2{text-align:center;color:#153d8d;font-size:clamp(24px,3vw,34px);line-height:1.18;margin:8px auto 8px;max-width:820px}.ej-rescue-task>p{text-align:center;color:#64748b;font-size:16px;max-width:760px;margin:0 auto 18px}.task-step{width:max-content;max-width:100%;margin:0 auto 8px;padding:7px 12px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:12px;font-weight:950;letter-spacing:.04em}
.ej-rescue-partition-options,.ej-rescue-visual-options{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:14px;max-width:820px;margin:20px auto}.partition-option,.visual-option{border:3px solid #d9e5f8;background:#f9fbff;border-radius:22px;padding:14px;cursor:pointer;transition:.18s;min-height:180px}.partition-option:hover,.visual-option:hover{transform:translateY(-3px);border-color:#7c3aed}.partition-option.correct,.visual-option.correct{border-color:#22c55e;background:#ecfdf5}.partition-option.wrong,.visual-option.wrong{border-color:#ef4444;background:#fff1f2;animation:ejRescueShake .35s}.partition-option>b,.visual-option>small{display:block;margin-top:10px;font-weight:950;color:#294a84}
.ej-rescue-whole{display:grid;width:310px;height:220px;margin:8px auto;border:6px solid #9a5a17;background:#ffe3a7;overflow:hidden;box-shadow:0 12px 26px rgba(120,68,9,.14)}.ej-rescue-whole.shape-circle{width:245px;height:245px;border-radius:50%}.ej-rescue-whole.shape-square{width:245px;height:245px}.ej-rescue-whole.shape-rectangle{width:330px;height:190px}.ej-rescue-whole.parts-2{grid-template-columns:repeat(2,1fr)}.ej-rescue-whole.parts-4{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.ej-rescue-whole.mini{width:150px;height:120px;border-width:4px}.ej-rescue-whole.mini.shape-circle,.ej-rescue-whole.mini.shape-square{width:125px;height:125px}.ej-rescue-whole.proof{width:180px;height:130px}.ej-rescue-whole.proof.shape-circle,.ej-rescue-whole.proof.shape-square{width:145px;height:145px}
.ej-rescue-part{border:2px solid rgba(154,90,23,.75);background:#ffe7b6;display:grid;place-items:center;cursor:pointer;transition:.18s;position:relative}.ej-rescue-part span{font-size:16px;font-weight:950;color:#98560d;opacity:.55}.ej-rescue-part:hover:not(:disabled){filter:brightness(1.04)}.ej-rescue-part.selected{background:linear-gradient(135deg,#60a5fa,#22c55e);box-shadow:inset 0 0 0 4px rgba(255,255,255,.28)}.ej-rescue-part.selected span{color:#fff;opacity:1;font-size:20px}.ej-rescue-part:disabled{cursor:default}
.ej-rescue-unequal{display:flex;width:150px;height:120px;margin:8px auto;border:4px solid #9a5a17;background:#ffe3a7;overflow:hidden;border-radius:14px}.ej-rescue-unequal span{display:grid;place-items:center;border-right:2px solid #a36219;font-weight:950;color:#9a5a17;background:#ffe7b6}.ej-rescue-unequal span:last-child{border-right:0}
.ej-rescue-workbench{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap;margin:18px auto}.whole-label{text-align:center;font-size:13px;font-weight:900;color:#7c4a0b;margin-bottom:4px}.selected-readout{text-align:center;font-size:19px;color:#334155;margin-top:8px}.selected-readout b{color:#153d8d;font-size:25px}.rescue-crate{width:180px;min-height:170px;background:linear-gradient(180deg,#fef3c7,#fde68a);border:4px dashed #d97706;border-radius:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.rescue-crate span{font-size:60px}.rescue-crate b{font-size:15px;color:#92400e}.rescue-crate strong{font-size:38px;color:#153d8d}.rescue-crate small{font-weight:900;color:#64748b}
.ej-rescue-status{max-width:760px;margin:16px auto 10px;border-radius:18px;padding:12px 15px;text-align:center;font-weight:800;line-height:1.4}.ej-rescue-status.info{background:#eff6ff;color:#31558d;border:2px solid #bfdbfe}.ej-rescue-status.hint{background:#fff7d6;color:#8a5700;border:2px solid #fde68a}.ej-rescue-status.ok{background:#ecfdf5;color:#166534;border:2px solid #86efac}.ej-rescue-status.bad{background:#fff1f2;color:#9f1239;border:2px solid #fecdd3}.ej-rescue-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.ej-rescue-hint{border:0;background:#fff7d6;color:#8a5700;border-radius:14px;padding:11px 15px;font-weight:900;cursor:pointer}
.ej-rescue-proof-row{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap;margin:18px auto}.rescue-math-clue{display:grid;grid-template-columns:auto 70px auto;align-items:center;gap:7px 12px;background:#f8fbff;border:2px solid #dce8f8;border-radius:22px;padding:16px 18px}.rescue-math-clue span{font-weight:850;color:#475569}.rescue-math-clue b{font-size:32px;color:#153d8d}.rescue-math-clue i{font-size:12px;color:#7c3aed;font-style:normal;font-weight:900}.fraction-rescue-answers{max-width:640px;margin:14px auto;grid-template-columns:repeat(2,1fr)}
.ej-rescue-task.success{text-align:center}.rescue-success-scene{height:130px;position:relative;max-width:640px;margin:0 auto 6px;background:linear-gradient(180deg,#dff5ff 0%,#effbff 60%,#c6eab0 61%);border-radius:26px;overflow:hidden;border:2px solid #d5e7fa}.rescue-helper-run,.rescue-vehicle-go,.rescue-spark{position:absolute;font-size:58px;bottom:20px}.rescue-helper-run{left:12%;animation:ejRescueRun 1.5s ease-in-out infinite alternate}.rescue-vehicle-go{right:10%;animation:ejRescueVehicle 1.45s ease-in-out infinite alternate}.rescue-spark{left:48%;bottom:56px;font-size:34px;animation:ejRescueSpark 1s ease-in-out infinite}
.ej-rescue-learning-card{display:flex;justify-content:center;align-items:center;gap:28px;max-width:760px;margin:16px auto;background:linear-gradient(135deg,#fff9db,#ecfff4);border:2px solid #dce7f7;border-radius:24px;padding:18px}.ej-rescue-learning-card>div:last-child{display:flex;flex-direction:column;gap:5px;text-align:left}.ej-rescue-learning-card strong{font-size:34px;color:#153d8d}.ej-rescue-learning-card b{color:#6d28d9;font-size:18px}.ej-rescue-learning-card span{color:#475569}.rescue-reflection{max-width:760px;margin:12px auto;background:#f5f3ff;border:2px solid #ddd6fe;border-radius:18px;padding:13px 16px;color:#4c3b7a;line-height:1.45}.rescue-next{margin-top:8px}
@keyframes ejRescueFloat{50%{transform:translateY(-7px) rotate(3deg)}}@keyframes ejRescueActor{to{transform:translateY(-6px) scale(1.02)}}@keyframes ejRescueShake{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}@keyframes ejRescueRun{to{transform:translateX(95px) translateY(-4px)}}@keyframes ejRescueVehicle{to{transform:translateX(-70px) translateY(-5px) rotate(-2deg)}}@keyframes ejRescueSpark{50%{transform:scale(1.35) rotate(10deg);opacity:.55}}
@media(max-width:720px){.ej-rescue-actors{gap:10px}.ej-rescue-actors>div{min-width:135px;padding:10px}.ej-rescue-actors b{font-size:54px}.ej-rescue-partition-options,.ej-rescue-visual-options{grid-template-columns:1fr}.ej-rescue-whole{max-width:86vw}.ej-rescue-proof-row,.ej-rescue-learning-card{flex-direction:column}.rescue-math-clue{grid-template-columns:1fr 60px 1fr}.fraction-rescue-answers{grid-template-columns:1fr 1fr}.ej-rescue-story p{font-size:15px}}

/* EduJoy v3.0.4 — Detektif Duit Malaysia: Money Case Files */
.money-case-game{max-width:980px;margin:0 auto 30px;background:#fff;border:2px solid #d7e6f8;border-radius:30px;overflow:hidden;box-shadow:0 18px 42px rgba(30,64,175,.08)}
.money-case-head{background:linear-gradient(135deg,#0f285f,#1d4ed8 55%,#7c3aed);padding:16px 18px;color:#fff;position:relative;overflow:hidden}.money-case-head:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-55px;top:-90px;background:rgba(255,255,255,.1)}
.money-case-map{display:flex;align-items:center;justify-content:center;gap:4px;overflow:auto;position:relative;z-index:2}.money-case-map span{min-width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.28);font-size:12px;font-weight:950}.money-case-map span.done{background:#22c55e;border-color:#86efac}.money-case-map span.current{background:#fbbf24;color:#713f12;border-color:#fde68a;transform:scale(1.12);box-shadow:0 0 0 4px rgba(251,191,36,.18)}.money-case-map i{width:20px;height:3px;background:rgba(255,255,255,.28);border-radius:999px;flex:0 0 auto}.money-case-title{text-align:center;margin-top:10px;position:relative;z-index:2}.money-case-title>span{display:block;font-size:11px;letter-spacing:.1em;font-weight:950;color:#bfdbfe}.money-case-title strong{display:block;font-size:24px;margin-top:3px}.money-case-title small{display:block;margin-top:3px;color:#dbeafe;font-weight:800}
.money-case-scene{padding:24px;background:linear-gradient(180deg,#eef7ff,#ffffff)}
.money-lab-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;max-width:820px;margin:0 auto 20px}.money-scanner,.money-clue-board{border:2px solid #d5e5f8;border-radius:24px;background:#fff;padding:18px}.money-scanner{text-align:center;position:relative;overflow:hidden;background:radial-gradient(circle at center,#eff6ff,#f8fbff)}.scanner-beam{position:absolute;left:12%;right:12%;height:5px;top:28%;background:linear-gradient(90deg,transparent,#22d3ee,#2563eb,transparent);box-shadow:0 0 14px #22d3ee;animation:moneyScanBeam 1.8s ease-in-out infinite}.scanner-lock{width:105px;height:105px;border-radius:24px;margin:12px auto 8px;background:#0f172a;color:#fff;display:grid;place-items:center;font-size:52px;border:4px solid #334155;box-shadow:inset 0 0 24px rgba(34,211,238,.22)}.money-scanner>b{display:block;color:#173d8b;font-size:17px}.money-scanner>small{display:block;color:#64748b;margin:4px 0 12px}.money-clue-board h3{margin:0 0 10px;color:#173d8b}.money-clue{padding:11px 13px;border-radius:14px;background:#eff6ff;border:2px solid #bfdbfe;margin:8px 0;color:#244b86;font-weight:900;animation:moneyClueReveal .35s ease}.money-clue.hidden{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8}
.money-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:14px;max-width:850px;margin:18px auto}.money-evidence-btn,.money-size-btn{border:3px solid #dbe7f7;background:#fff;border-radius:22px;min-height:150px;display:grid;place-items:center;padding:12px;cursor:pointer;transition:.18s;box-shadow:0 7px 0 #e1eaf8}.money-evidence-btn:hover,.money-size-btn:hover{transform:translateY(-3px);border-color:#6366f1}.money-evidence-btn.correct,.money-size-btn.correct{border-color:#22c55e;background:#ecfdf5}.money-evidence-btn.wrong,.money-size-btn.wrong{border-color:#ef4444;background:#fff1f2;animation:moneyCaseShake .32s}.money-evidence-btn.selected{border-color:#f59e0b;background:#fff7d6;box-shadow:0 0 0 4px rgba(245,158,11,.12),0 7px 0 #fde3a7}
.money-evidence{position:relative;display:grid;place-items:center;user-select:none}.money-evidence.coin{border-radius:50%;border:5px solid rgba(71,85,105,.38);box-shadow:inset 0 0 0 5px rgba(255,255,255,.28),0 9px 18px rgba(15,23,42,.12);width:82px;height:82px}.money-evidence.coin.kecil{width:62px;height:62px}.money-evidence.coin.sederhana-kecil{width:72px;height:72px}.money-evidence.coin.sederhana{width:82px;height:82px}.money-evidence.coin.besar{width:94px;height:94px}.money-evidence.coin.perak{background:radial-gradient(circle at 35% 28%,#fff,#d9dee5 38%,#a7b0bc 75%,#eef2f7)}.money-evidence.coin.emas{background:radial-gradient(circle at 35% 28%,#fff3b0,#f6c94c 38%,#d89c19 75%,#ffe79a)}.money-evidence.coin b{font-size:26px;color:#23314f;line-height:1}.money-evidence.coin small{font-size:9px;font-weight:950;color:#334155}.money-ring{position:absolute;inset:8px;border-radius:50%;border:2px dashed rgba(51,65,85,.28)}
.money-evidence.note{width:142px;height:76px;border-radius:12px;border:4px solid rgba(30,64,175,.25);box-shadow:0 9px 20px rgba(15,23,42,.12);grid-template-columns:38px 1fr;grid-template-rows:1fr auto;padding:5px 9px;overflow:hidden}.money-evidence.note.biru{background:linear-gradient(135deg,#dbeafe,#93c5fd 45%,#bfdbfe)}.money-evidence.note.hijau{background:linear-gradient(135deg,#dcfce7,#86efac 45%,#bbf7d0)}.money-evidence.note .note-mark{grid-row:1/3;font-size:13px;font-weight:950;color:#1e3a8a;align-self:center}.money-evidence.note b{font-size:32px;color:#0f2f6e}.money-evidence.note small{font-size:8px;font-weight:950;color:#334155;align-self:end}.money-evidence.note:after{content:"";position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;border:3px solid rgba(255,255,255,.7)}
.money-learn-card{margin:0;border-top:2px solid #dce8f8;padding:18px 22px;background:linear-gradient(135deg,#fff9dc,#ecfff5);display:grid;grid-template-columns:60px 1fr auto;gap:16px;align-items:center}.money-learn-icon{font-size:42px}.money-learn-copy>span{font-size:11px;letter-spacing:.08em;font-weight:950;color:#7c3aed}.money-learn-copy h3{margin:2px 0 4px;color:#153d8d;font-size:22px}.money-learn-copy p{margin:4px 0;color:#475569;line-height:1.45}
.money-match-intro,.money-sort-help,.money-case-question{text-align:center;font-size:19px;color:#334155;font-weight:850;margin:4px auto 16px}.money-memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:740px;margin:0 auto}.money-memory-card{height:145px;border:3px solid #d8e6f7;border-radius:20px;background:linear-gradient(135deg,#172554,#312e81);position:relative;cursor:pointer;perspective:700px}.money-memory-card .card-back,.money-memory-card .card-face{position:absolute;inset:0;display:grid;place-items:center;backface-visibility:hidden;transition:transform .36s}.money-memory-card .card-back{font-size:38px;color:#fff;font-weight:950}.money-memory-card .card-face{background:#fff;border-radius:16px;transform:rotateY(180deg)}.money-memory-card.open .card-back,.money-memory-card.matched .card-back{transform:rotateY(180deg)}.money-memory-card.open .card-face,.money-memory-card.matched .card-face{transform:rotateY(0)}.money-memory-card.matched{border-color:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.15)}
.money-sort-rack{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:720px;margin:0 auto 18px}.money-sort-item{min-height:140px;border:3px solid #dbe7f8;border-radius:20px;background:#fff;display:grid;place-items:center;cursor:pointer;transition:.18s}.money-sort-item.picked{border-color:#f59e0b;background:#fff7d6;transform:scale(1.04)}.money-sort-item.placed{opacity:.25;transform:scale(.88);pointer-events:none}.money-sort-zones{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:720px;margin:0 auto}.money-zone{min-height:150px;border:4px dashed #93c5fd;border-radius:26px;background:#eff6ff;color:#173d8b;cursor:pointer}.money-zone span{display:block;font-size:48px}.money-zone b{display:block;font-size:20px}.money-zone small{display:block;margin-top:6px;font-weight:850;color:#64748b}.money-zone.wrong{border-color:#ef4444;background:#fff1f2;animation:moneyCaseShake .35s}
.money-size-line{max-width:760px;margin:0 auto 8px;display:flex;align-items:center;gap:10px;color:#64748b;font-weight:850;font-size:12px}.money-size-line i{height:4px;background:#94a3b8;border-radius:999px;flex:1}.money-size-rack{display:flex;align-items:flex-end;justify-content:center;gap:28px;min-height:150px;max-width:760px;margin:0 auto 18px}.money-size-btn{min-width:150px}.money-check-multi{display:block;margin:10px auto 0}
.money-wallet-head{display:flex;justify-content:space-between;align-items:center;max-width:790px;margin:0 auto 10px}.money-wallet-head>div:first-child span{display:block;font-size:11px;font-weight:950;color:#7c3aed}.money-wallet-head>div:first-child b{font-size:30px;color:#153d8d}.wallet-timer{font-size:18px;font-weight:900;color:#b91c1c}.wallet-timer b{font-size:30px}.money-wallet{height:330px;max-width:790px;margin:0 auto;border:8px solid #6b3f23;border-radius:34px;background:linear-gradient(145deg,#7c4a2d,#9a5d38);position:relative;overflow:hidden;box-shadow:inset 0 0 0 5px rgba(255,255,255,.08),0 18px 30px rgba(77,43,24,.16)}.wallet-glow{position:absolute;inset:12px;border-radius:24px;background:radial-gradient(circle,#fff8 0,transparent 56%);animation:walletGlow 2s ease-in-out infinite}.wallet-money{position:absolute;border:0;background:transparent;cursor:pointer;transition:.18s}.wallet-money:hover{transform:scale(1.08) rotate(-2deg)}.wallet-money.wrong{animation:moneyCaseShake .3s}.wallet-money.found{filter:drop-shadow(0 0 14px #facc15);transform:scale(1.15)}.wm-0{left:6%;top:12%}.wm-1{left:35%;top:8%}.wm-2{right:7%;top:13%}.wm-3{left:13%;top:53%}.wm-4{left:43%;top:48%}.wm-5{right:11%;top:58%}.wm-6{left:62%;top:24%}.wm-7{left:27%;top:30%}.money-wallet.urgent{animation:walletUrgent .65s ease-in-out infinite}.money-wallet.final{height:280px}
.memory-scan-box{max-width:540px;margin:0 auto;text-align:center;border:3px solid #93c5fd;border-radius:26px;background:linear-gradient(180deg,#eff6ff,#fff);padding:18px}.memory-scan-box>span{display:block;font-size:12px;font-weight:950;letter-spacing:.08em;color:#475569}.memory-scan-box>b{display:block;font-size:42px;color:#b91c1c}.memory-scan-box #memoryMoney{min-height:130px;display:grid;place-items:center}.memory-covered{width:150px;height:90px;border-radius:20px;background:#111827;color:#fff;display:grid;place-items:center;font-size:50px}.money-memory-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:540px;margin:16px auto}.money-memory-choices.hidden{visibility:hidden}.money-memory-choices button{min-height:70px;border:3px solid #dbe7f8;border-radius:18px;background:#fff;font-size:24px;font-weight:950;color:#173d8b;cursor:pointer}.money-memory-choices button.correct{border-color:#22c55e;background:#ecfdf5}.money-memory-choices button.wrong{border-color:#ef4444;background:#fff1f2}
.final-vault{text-align:center;max-width:800px;margin:0 auto}.vault-door{font-size:90px;animation:vaultPulse 1.2s ease-in-out infinite}.final-vault>b{display:block;color:#7c3aed;font-size:13px;letter-spacing:.09em}.final-vault p{font-size:20px;color:#334155;font-weight:850}.unlock1,.unlock2{filter:drop-shadow(0 0 12px rgba(34,197,94,.35))}
@keyframes moneyScanBeam{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(95px);opacity:1}}@keyframes moneyClueReveal{from{transform:translateX(-10px);opacity:0}}@keyframes moneyCaseShake{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}@keyframes walletGlow{50%{opacity:.5;transform:scale(1.05)}}@keyframes walletUrgent{50%{box-shadow:0 0 0 6px rgba(239,68,68,.18),inset 0 0 0 5px rgba(255,255,255,.08)}}@keyframes vaultPulse{50%{transform:scale(1.06)}}
@media(max-width:760px){.money-lab-layout{grid-template-columns:1fr}.money-evidence-grid{grid-template-columns:repeat(2,1fr)}.money-memory-grid{grid-template-columns:repeat(2,1fr)}.money-sort-rack{grid-template-columns:repeat(2,1fr)}.money-sort-zones{grid-template-columns:1fr}.money-size-rack{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.money-size-btn{min-width:0}.money-learn-card{grid-template-columns:50px 1fr}.money-learn-card .btn{grid-column:1/-1}.money-wallet{height:380px}.money-wallet-head{padding:0 8px}}

/* EduJoy v3.0.5 — Mini Mart Live Checkout Challenge */
.mart-live{width:min(980px,100%);margin:0 auto;position:relative}.mart-live-head{background:linear-gradient(135deg,#fff7d8,#ecfeff);border:2px solid #dbeafe;border-radius:28px 28px 18px 18px;padding:14px 18px 16px;position:relative;overflow:hidden}.mart-live-head:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:#fde68a55;right:-65px;top:-85px}.mart-title{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;position:relative;z-index:2}.mart-title>span{font-size:12px;font-weight:950;letter-spacing:.08em;color:#0f766e}.mart-title>b{font-size:clamp(21px,3vw,32px);color:#153d8d}.mart-title>small{font-size:13px;font-weight:750;color:#64748b;max-width:760px}.mart-open-sign{position:absolute;right:18px;top:12px;z-index:3;background:#fff;border:2px solid #86efac;color:#15803d;border-radius:14px;padding:6px 10px;text-align:center;font-size:9px;font-weight:900;box-shadow:0 6px 14px #14532d12}.mart-open-sign b{font-size:13px}.mart-mission-map{display:flex;align-items:center;justify-content:center;gap:3px;margin-bottom:8px;padding-right:80px}.mart-mission-map span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #dbe7fb;color:#64748b;font-size:11px;font-weight:950;box-shadow:0 4px 8px #1e3a8a12}.mart-mission-map span.done{background:#dcfce7;border-color:#22c55e;color:#15803d}.mart-mission-map span.current{background:#fef3c7;border-color:#f59e0b;color:#92400e;transform:scale(1.1)}.mart-mission-map i{width:15px;height:3px;border-radius:99px;background:#dbe7fb}.mart-store-scene{position:relative;background:linear-gradient(180deg,#effaff 0%,#fff 42%,#f6fff0 100%);border:2px solid #dbeafe;border-radius:24px;overflow:hidden;margin-top:12px;padding:46px 22px 24px;min-height:390px;box-shadow:0 15px 35px #1e3a8a0f}.mart-awning{position:absolute;left:0;right:0;top:0;height:34px;display:grid;grid-template-columns:repeat(12,1fr)}.mart-awning i:nth-child(odd){background:#ef4444}.mart-awning i:nth-child(even){background:#fff}.mart-awning i{border-radius:0 0 12px 12px;box-shadow:0 5px 7px #0000000c}.mart-customer-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.mart-customer{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid #dbeafe;border-radius:22px;padding:10px 16px;font-size:44px}.mart-customer span span{display:block}.mart-customer span b,.mart-customer span small{display:block;font-size:14px}.mart-customer span b{color:#153d8d}.mart-customer span small{color:#64748b}.mart-register{background:#172554;color:#fff;border:4px solid #334155;border-radius:18px;padding:10px 18px;text-align:right;box-shadow:0 9px 0 #0f172a22}.mart-register small{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#bfdbfe}.mart-register b{font-size:30px}.mart-conveyor,.mart-rush-belt{position:relative;min-height:180px;background:linear-gradient(#cbd5e1 0 16px,#64748b 17px 30px,#94a3b8 31px 100%);border-radius:24px;padding:45px 135px 25px 24px;display:flex;align-items:center;gap:18px;overflow:hidden;border:3px solid #94a3b8}.mart-conveyor:after,.mart-rush-belt:after{content:"";position:absolute;left:0;right:0;bottom:12px;height:7px;background:repeating-linear-gradient(90deg,#334155 0 18px,#94a3b8 18px 34px);animation:martBelt 1.2s linear infinite}.mart-scanner{position:absolute;right:20px;top:38px;width:86px;height:100px;border:4px solid #1d4ed8;background:#eff6ff;border-radius:18px;display:grid;place-items:center;font-size:32px;color:#1d4ed8;box-shadow:inset 0 0 0 4px #bfdbfe,0 9px 18px #1d4ed833}.mart-scanner span{display:block;font-size:10px;position:absolute;bottom:8px;font-weight:950}.mart-product{border:2px solid #dbeafe;background:#fff;border-radius:18px;padding:10px;min-width:105px;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;box-shadow:0 8px 0 #dbeafe;transition:.2s;position:relative}.mart-product:hover{transform:translateY(-4px);border-color:#60a5fa}.mart-product.selected{border-color:#8b5cf6;background:#f5f3ff;box-shadow:0 8px 0 #ddd6fe}.mart-product.scanned{animation:martScan .55s ease forwards;border-color:#22c55e;background:#ecfdf5}.mart-product .emoji{font-size:40px}.mart-product b{font-size:13px;color:#1e3a8a}.mart-product small{font-size:15px;font-weight:950;color:#b45309}.mart-task{text-align:center;margin-top:16px;font-size:16px;font-weight:800;color:#475569}.mart-list-card{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;background:#fff;border:2px dashed #f59e0b;border-radius:18px;padding:12px 14px;margin-bottom:15px}.mart-list-card>span{font-size:11px;font-weight:950;color:#92400e;letter-spacing:.08em}.mart-list-card>b{background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:7px 11px;color:#9a3412}.mart-shelf{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:15px;background:linear-gradient(180deg,#fef3c7 0 14px,#92400e 15px 26px,#fff 27px 100%);border-radius:22px;padding:44px 18px 20px;border:3px solid #fcd34d}.mart-basket-zone{margin:18px auto 10px;max-width:760px;background:#fff;border:2px solid #c7d2fe;border-radius:20px;padding:13px 16px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.mart-basket-zone>span{font-weight:950;color:#4338ca}.mart-basket-zone>div{display:flex;flex-wrap:wrap;gap:8px;color:#475569}.mart-basket-zone>div span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:5px 9px}.mart-basket-zone>b{font-size:20px;color:#173b87}.mart-check{display:block;margin:12px auto 0}.mart-budget-banner{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:linear-gradient(90deg,#ecfdf5,#fefce8);border:2px solid #86efac;border-radius:20px;padding:12px 18px;margin-bottom:15px}.mart-budget-banner span{font-size:11px;font-weight:950;color:#166534}.mart-budget-banner b{font-size:30px;color:#15803d}.mart-budget-banner small{font-weight:800;color:#475569}.mart-receipt,.mart-mystery-receipt{width:min(390px,92%);margin:0 auto 20px;background:#fffef8;border:2px dashed #94a3b8;border-radius:12px;padding:18px 20px;box-shadow:0 12px 25px #0f172a12;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mart-receipt>span,.mart-mystery-receipt>span{display:block;text-align:center;font-size:11px;font-weight:950;letter-spacing:.1em;color:#475569}.mart-receipt>b{display:block;text-align:center;font-size:46px;color:#173b87;margin:8px}.mart-receipt>small{display:block;text-align:center;color:#64748b}.mart-wallet{background:#fff7ed;border:2px solid #fdba74;border-radius:22px;padding:14px;margin-bottom:12px}.mart-wallet>span{display:block;font-size:11px;font-weight:950;color:#9a3412;margin-bottom:10px}.mart-wallet>div{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.mart-money{width:78px;height:54px;border:2px solid #4ade80;border-radius:10px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;display:flex;align-items:center;justify-content:center;gap:3px;font-weight:950;box-shadow:0 5px 0 #86efac;cursor:pointer;transition:.16s}.mart-money span{font-size:11px}.mart-money b{font-size:21px}.mart-money.selected{transform:translateY(-5px);border-color:#7c3aed;background:#ede9fe;color:#5b21b6;box-shadow:0 7px 0 #c4b5fd}.mart-cash-tray{background:#eff6ff;border:2px dashed #60a5fa;border-radius:18px;padding:12px;text-align:center;margin:12px 0}.mart-cash-tray>span{display:block;font-size:11px;font-weight:950;color:#1d4ed8}.mart-cash-tray>div{min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;color:#475569}.mart-cash-tray i{font-style:normal;background:#fff;border:1px solid #bfdbfe;border-radius:8px;padding:5px 8px}.mart-cash-tray>b{font-size:20px;color:#173b87}.mart-payment-story{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;max-width:650px;margin:0 auto 18px}.mart-payment-story>div:not(.mart-pay-arrow){background:#fff;border:2px solid #dbeafe;border-radius:20px;padding:14px;text-align:center}.mart-payment-story span{display:block;font-size:11px;font-weight:950;color:#64748b}.mart-payment-story b{font-size:34px;color:#173b87}.mart-pay-arrow{font-size:13px;font-weight:900;color:#7c3aed;text-align:center}.mart-change-question{text-align:center;font-size:20px;font-weight:950;color:#173b87;margin:0 0 15px}.mart-compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mart-basket-card{border:3px solid #dbeafe;background:#fff;border-radius:24px;padding:16px;text-align:left;cursor:pointer;box-shadow:0 10px 0 #dbeafe;transition:.2s}.mart-basket-card:hover{transform:translateY(-4px)}.mart-basket-card.correct{border-color:#22c55e;background:#f0fdf4;box-shadow:0 10px 0 #bbf7d0}.mart-basket-card>span{display:block;text-align:center;font-size:12px;font-weight:950;color:#4338ca}.mart-basket-card>div{display:grid;gap:7px;margin:12px 0}.mart-basket-card>div span{display:flex;justify-content:space-between;background:#f8fafc;padding:7px 9px;border-radius:10px}.mart-basket-card>b{display:block;text-align:center;color:#64748b;font-size:12px}.mart-step-card{margin:18px auto 0;max-width:600px;background:#fff;border:2px solid #c7d2fe;border-radius:18px;padding:16px;text-align:center}.mart-small-answers,.mart-price-tags{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:10px}.mart-small-answers button,.mart-price-tags button{border:2px solid #bfdbfe;background:#fff;border-radius:14px;padding:10px 18px;font-size:18px;font-weight:950;color:#173b87;cursor:pointer}.mart-small-answers button:hover,.mart-price-tags button:hover{border-color:#8b5cf6}.mart-mystery-receipt p{display:flex;justify-content:space-between;gap:18px}.mart-mystery-receipt strong{font-size:24px}.mystery-price{background:#111827;color:#fff;border-radius:7px;padding:2px 10px}.mart-price-tags>span{width:100%;text-align:center;font-weight:900;color:#475569}.mart-rush-head{display:flex;justify-content:space-between;align-items:center;background:#111827;color:#fff;border-radius:16px;padding:9px 14px;margin-bottom:12px}.mart-rush-head span{font-size:12px;font-weight:950;color:#fbbf24}.mart-rush-head b{font-size:18px}.mart-rush-belt .rush-item{animation:martRush 7s linear infinite}.mart-rush-belt .rush-1{animation-delay:-2.2s}.mart-rush-belt .rush-2{animation-delay:-4.1s}.mart-register.rush{max-width:300px;margin:15px auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.mart-live.urgent .mart-store-scene{box-shadow:0 0 0 5px #ef444433,0 15px 35px #ef444422;animation:martUrgent .8s ease-in-out infinite}.mart-final-badge{display:block;width:max-content;max-width:100%;margin:0 auto 14px;background:linear-gradient(90deg,#f59e0b,#f97316);color:#fff;border-radius:999px;padding:8px 16px;font-size:12px;font-weight:950;letter-spacing:.05em}.mart-final-scan{max-width:650px;margin:auto;background:#fff;border:2px solid #dbeafe;border-radius:22px;padding:18px;text-align:center}.mart-final-scan>div:first-child{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:14px}.mart-learning{margin:16px 0 0;background:linear-gradient(135deg,#fff7d6,#ecfdf5);border:2px solid #fde68a;border-radius:24px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;box-shadow:0 12px 28px #92400e0f}.mart-learning-icon{font-size:42px}.mart-learning span{font-size:11px;font-weight:950;color:#b45309;letter-spacing:.08em}.mart-learning h3{margin:3px 0 6px;color:#173b87;font-size:22px}.mart-learning p{margin:4px 0;color:#475569;font-weight:700}.mart-retry{display:block;margin:15px auto}.mode-checkout_rush .mart-store-scene{background:linear-gradient(180deg,#fff1f2,#fff 45%,#eff6ff)}.mode-best_choice .mart-store-scene{background:linear-gradient(180deg,#ecfeff,#fff 45%,#f0fdf4)}.mode-final_shift .mart-store-scene{background:linear-gradient(180deg,#f5f3ff,#fff 45%,#fff7ed)}
@keyframes martBelt{to{background-position:34px 0}}@keyframes martScan{45%{transform:translateX(120px) scale(.92);filter:brightness(1.2)}100%{transform:translateX(155px) scale(.72);opacity:.18}}@keyframes martRush{0%{transform:translateX(-140px)}100%{transform:translateX(420px)}}@keyframes martUrgent{50%{transform:scale(1.003)}}
@media(max-width:760px){.mart-open-sign{display:none}.mart-mission-map{padding-right:0;overflow:auto;justify-content:flex-start}.mart-mission-map i{min-width:8px}.mart-shelf{grid-template-columns:repeat(2,minmax(115px,1fr))}.mart-compare{grid-template-columns:1fr}.mart-payment-story{grid-template-columns:1fr}.mart-pay-arrow{transform:rotate(90deg)}.mart-learning{grid-template-columns:1fr;text-align:center}.mart-basket-zone{grid-template-columns:1fr;text-align:center}.mart-basket-zone>div{justify-content:center}.mart-customer-row{align-items:stretch}.mart-conveyor,.mart-rush-belt{padding-right:110px}.mart-product{min-width:92px}.mart-title>small{padding:0 4px}}
.mart-rush-belt .rush-item.scanned{animation:martScan .55s ease forwards!important}

/* EduJoy v3.0.6 — Rutin Sehari Saya: Daily Journey Adventure */
.routine-world{width:min(980px,100%);margin:0 auto;padding:6px 8px 18px}
.routine-mission-head{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;margin-bottom:14px;padding:14px 18px;border-radius:24px;background:linear-gradient(135deg,#163b87,#4f46e5 58%,#7c3aed);color:#fff;box-shadow:0 14px 28px rgba(37,99,235,.18)}
.routine-mission-head>span{grid-row:1/3;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.16);font-size:13px;font-weight:950}
.routine-mission-head>b{font-size:22px;line-height:1.05}.routine-mission-head>small{font-size:14px;opacity:.92;font-weight:750}
.routine-instruction,.routine-question{max-width:820px;margin:12px auto;text-align:center;color:#173b87;font-weight:900;font-size:20px;line-height:1.3}
.routine-tip{margin:14px auto 0;max-width:840px;padding:10px 14px;border-radius:16px;background:#eff6ff;border:1px dashed #93c5fd;color:#475569;font-weight:800;text-align:center}
.routine-activity-rack,.routine-choice-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:16px auto;max-width:900px}
.routine-activity{min-width:160px;min-height:110px;padding:12px 14px;border:3px solid #dbe7ff;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 7px 0 #dbe7f7;cursor:pointer;transition:.18s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#102a56}
.routine-activity span{font-size:42px;filter:drop-shadow(0 6px 8px rgba(15,23,42,.12));animation:routineFloat 2.4s ease-in-out infinite}
.routine-activity b{font-size:16px}.routine-activity:hover,.routine-activity.picked{transform:translateY(-4px);border-color:#6366f1;box-shadow:0 11px 0 #c7d2fe}.routine-activity.placed{opacity:.55;box-shadow:none;transform:scale(.96)}
.routine-activity.correct{border-color:#22c55e;background:#dcfce7}.routine-activity.wrong{border-color:#ef4444;background:#fee2e2;animation:routineShake .34s}
.routine-zones{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px auto;max-width:920px}.routine-zones.compact{max-width:820px}
.routine-zone,.routine-slot{position:relative;overflow:hidden;min-height:145px;border:3px solid rgba(255,255,255,.85);border-radius:24px;cursor:pointer;padding:14px;color:#fff;box-shadow:0 12px 24px rgba(15,23,42,.12);transition:.18s;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}
.routine-zone span,.routine-slot span{font-size:44px}.routine-zone b,.routine-slot b{font-size:18px}.routine-zone small,.routine-slot small{font-size:12px;line-height:1.2;opacity:.9}
.routine-zone.morning,.routine-slot.morning{background:linear-gradient(160deg,#7dd3fc,#fbbf24)}.routine-zone.noon,.routine-slot.noon{background:linear-gradient(160deg,#38bdf8,#facc15)}.routine-zone.evening,.routine-slot.evening{background:linear-gradient(160deg,#fb7185,#f97316,#7c3aed)}.routine-zone.night,.routine-slot.night{background:linear-gradient(160deg,#172554,#312e81,#0f172a)}
.routine-zone:hover,.routine-slot:hover{transform:translateY(-3px) scale(1.01)}.routine-zone.correct,.routine-slot.filled{outline:5px solid rgba(34,197,94,.26)}.routine-zone.wrong{animation:routineShake .34s;outline:5px solid rgba(239,68,68,.3)}
.routine-sky{position:relative;height:220px;overflow:hidden;border-radius:30px;border:3px solid #dbeafe;margin:14px auto;max-width:900px;box-shadow:0 18px 35px rgba(30,64,175,.12)}
.routine-sky.morning{background:linear-gradient(#8fd3ff 0%,#ffe2a8 66%,#9bdd82 67%)}.routine-sky.noon{background:linear-gradient(#39bdf8 0%,#c8f0ff 66%,#8bd26c 67%)}.routine-sky.evening{background:linear-gradient(#fb7185 0%,#fbbf24 53%,#7c3aed 66%,#6fc060 67%)}.routine-sky.night{background:linear-gradient(#111827 0%,#312e81 66%,#174c3c 67%)}
.routine-sunmoon{position:absolute;right:13%;top:20px;font-size:78px;animation:routineSunFloat 3s ease-in-out infinite;filter:drop-shadow(0 10px 18px rgba(255,255,255,.22))}.routine-sky.night .routine-sunmoon{animation:routineMoonGlow 2.2s ease-in-out infinite}
.routine-cloud{position:absolute;font-size:42px;opacity:.75;animation:routineCloud 12s linear infinite}.routine-cloud.c1{top:34px;left:-55px}.routine-cloud.c2{top:82px;left:-130px;animation-duration:17s;opacity:.55}
.routine-ground{position:absolute;left:0;right:0;bottom:5px;display:flex;justify-content:space-around;align-items:flex-end;font-size:48px}.routine-sky-label{position:absolute;left:18px;top:16px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.86);color:#173b87;font-weight:950}
.routine-day-track,.routine-journey-map{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px auto;max-width:820px}.routine-day-track span{font-size:40px}.routine-day-track i,.routine-journey-map i{height:4px;width:65px;border-radius:999px;background:#cbd5e1}
.routine-sequence{min-height:94px;max-width:850px;margin:0 auto 18px;border:3px dashed #c7d2fe;border-radius:24px;background:#f8fbff;padding:16px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;color:#64748b;font-weight:850}.routine-sequence span{display:flex;align-items:center;gap:6px;padding:9px 12px;border-radius:16px;background:#fff;border:2px solid #dbeafe;color:#173b87}.routine-sequence em{font-style:normal;color:#6366f1;font-weight:950}
.routine-audio-scene{position:relative}.routine-audio-btn{display:block;margin:-52px auto 12px;position:relative;z-index:4;border:0;border-radius:999px;background:#173b87;color:#fff;padding:12px 20px;font-weight:950;cursor:pointer;box-shadow:0 9px 20px rgba(23,59,135,.22)}.routine-audio-wave{text-align:center;font-size:28px;letter-spacing:8px;color:#6366f1;animation:routineWave 1s ease-in-out infinite}
.routine-journey-map span{min-width:112px;padding:10px;border-radius:18px;background:#fff;border:3px solid #dbeafe;display:flex;flex-direction:column;align-items:center;gap:3px;color:#475569}.routine-journey-map span.current{border-color:#f59e0b;background:#fffbeb;transform:scale(1.08)}.routine-journey-map span.done{border-color:#22c55e;background:#ecfdf5}.routine-journey-map span b{font-size:12px}
.routine-schedule{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px auto;max-width:920px}.routine-schedule-head{grid-column:1/-1;text-align:center;font-size:21px;font-weight:950;color:#173b87}.routine-slot{min-height:130px}.routine-slot.filled{transform:scale(.98)}
.routine-story-clue{max-width:780px;margin:-18px auto 16px;position:relative;z-index:3;padding:18px 22px;border-radius:24px;background:rgba(255,255,255,.94);border:2px solid #dbeafe;display:flex;align-items:center;gap:16px;box-shadow:0 12px 24px rgba(15,23,42,.09)}.routine-story-clue span{font-size:56px}.routine-story-clue p{font-size:18px;font-weight:800;color:#334155;line-height:1.45}
.routine-memory-note{text-align:center;margin:14px auto;font-size:18px;font-weight:900;color:#7c3aed}.routine-memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:900px;margin:14px auto}.routine-memory-card{min-height:135px;border:3px solid #dbeafe;border-radius:22px;background:#fff;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#173b87}.routine-memory-card span{font-size:42px}.routine-memory-card.covered{background:linear-gradient(160deg,#312e81,#111827);color:#fff;animation:routineFlip .4s ease}
.routine-final-progress{display:flex;justify-content:center;gap:8px;margin:12px auto}.routine-final-progress span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid #dbeafe;font-size:22px}.routine-final-progress span.done{background:#dcfce7;border-color:#22c55e}.routine-final-progress span.current{background:#fff7d6;border-color:#f59e0b;transform:scale(1.1)}
.routine-final-card{max-width:520px;margin:10px auto 18px;padding:18px;border-radius:24px;background:#fff;border:3px solid #dbeafe;text-align:center;box-shadow:0 14px 28px rgba(15,23,42,.08)}.routine-final-card>span{font-size:68px}.routine-final-card h3{font-size:24px;color:#173b87;margin:4px 0}.routine-final-card p{color:#64748b;font-weight:750}
.routine-learn{max-width:760px;margin:18px auto 0;padding:22px;border-radius:28px;background:linear-gradient(135deg,#fff8d9,#ecfff1);border:2px solid #d7e4fb;text-align:center;animation:routinePop .38s ease}.routine-learn h3{margin:4px 0 8px;color:#14532d;font-size:25px}.routine-learn p{font-size:17px;color:#334155;line-height:1.5}.routine-success{font-size:48px;animation:routineStar 1s ease infinite alternate}
@keyframes routineFloat{50%{transform:translateY(-5px)}}@keyframes routineShake{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}@keyframes routineSunFloat{50%{transform:translateY(-8px) rotate(5deg)}}@keyframes routineMoonGlow{50%{filter:drop-shadow(0 0 16px #fff);transform:scale(1.06)}}@keyframes routineCloud{to{left:110%}}@keyframes routineWave{50%{transform:scaleY(1.35)}}@keyframes routineFlip{0%{transform:rotateY(90deg)}}@keyframes routinePop{0%{opacity:0;transform:scale(.88)}}@keyframes routineStar{to{transform:scale(1.12) rotate(4deg)}}
@media(max-width:760px){.routine-zones,.routine-schedule{grid-template-columns:repeat(2,1fr)}.routine-memory-grid{grid-template-columns:repeat(2,1fr)}.routine-journey-map{gap:4px}.routine-journey-map i{width:18px}.routine-journey-map span{min-width:72px}.routine-sky{height:190px}.routine-ground{font-size:38px}.routine-activity{min-width:138px}}

/* EduJoy v3.0.7 — Jam Bergerak Interactive Clock Lab */
.ej-clock-lab{width:min(980px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px}.ej-clock-mission-head{display:flex;gap:14px;align-items:center;padding:14px 18px;border:2px solid #d9e8ff;border-radius:24px;background:linear-gradient(135deg,#eef8ff,#f8f3ff)}.ej-clock-mission-head>span{font-size:52px;filter:drop-shadow(0 7px 10px #0002)}.ej-clock-mission-head small{font-weight:950;color:#5b6d94;letter-spacing:.08em}.ej-clock-mission-head h2{margin:2px 0 3px;color:#173b87;font-size:27px}.ej-clock-mission-head p{margin:0;color:#5b6d84;font-weight:750}.ej-clock-sky{height:120px;border-radius:28px;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sky1),var(--sky2));border:2px solid #d9e8ff}.ej-clock-sky .ej-clock-sun{position:absolute;right:50px;top:18px;font-size:55px;animation:ejClockSkyBob 2.5s ease-in-out infinite alternate}.ej-clock-sky>b{position:absolute;left:20px;bottom:14px;padding:6px 13px;background:#ffffffd9;border-radius:999px;color:#173b87}.ej-clock-cloud{position:absolute;font-size:40px;opacity:.78;animation:ejClockCloud 11s linear infinite}.ej-clock-cloud.c1{top:15px;left:-70px}.ej-clock-cloud.c2{top:55px;left:-120px;animation-duration:16s}.ej-clock-challenge-card{padding:8px 14px 14px;border-radius:24px;background:#fff;border:2px solid #edf2fb}.ej-clock-challenge-card .ej-question{margin:8px auto 6px;font-size:clamp(25px,4vw,40px)}.ej-clock-activity{display:inline-flex;align-self:center;margin:2px auto 0;padding:9px 15px;background:#fff7d6;border:2px solid #f6d66b;border-radius:999px;font-weight:950;color:#755700}.ej-clock-fraction-note{display:flex;gap:12px;align-items:center;justify-content:center;margin:8px auto 0}.ej-clock-fraction-note b{font-size:26px;background:#ede9fe;color:#6d28d9;padding:7px 13px;border-radius:16px}.ej-clock-fraction-note span{font-weight:850;color:#536584}.ej-clock-workbench{display:grid;grid-template-columns:180px minmax(320px,420px) 180px;align-items:center;justify-content:center;gap:18px;padding:18px;border-radius:30px;background:linear-gradient(135deg,#f9fbff,#fffaf1);border:2px solid #dce9fb;box-shadow:0 14px 30px rgba(30,64,175,.08)}.ej-clock-side-card{min-height:150px;padding:18px 12px;border-radius:24px;background:#fff;border:2px solid #dce7fb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 8px 18px #173b8710}.ej-clock-side-card b{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:#61718f}.ej-clock-side-card strong{font-size:36px;color:#173b87;margin:7px 0}.ej-clock-side-card span{font-size:14px;font-weight:850;color:#526789;line-height:1.3}.ej-clock-face{width:min(390px,78vw);aspect-ratio:1;border-radius:50%;position:relative;margin:auto;background:radial-gradient(circle,#fffdf5 0 61%,#eef5ff 62% 69%,#fff 70%);border:8px solid #173b87;box-shadow:0 18px 34px rgba(23,59,135,.18),inset 0 0 0 5px #fff;touch-action:none;user-select:none;transition:.2s}.ej-clock-face.shake{animation:ejClockShake .45s linear}.ej-clock-number{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#173b87;font-size:19px;font-weight:950;box-shadow:0 3px 8px #173b8720;z-index:2}.ej-clock-fraction-layer{position:absolute;inset:10%;border-radius:50%;opacity:.19;pointer-events:none}.ej-clock-face.fraction-1-4 .ej-clock-fraction-layer{background:conic-gradient(#7c3aed 0 25%,transparent 25% 100%)}.ej-clock-face.fraction-1-2 .ej-clock-fraction-layer{background:conic-gradient(#7c3aed 0 50%,transparent 50% 100%)}.ej-clock-face.fraction-3-4 .ej-clock-fraction-layer{background:conic-gradient(#7c3aed 0 75%,transparent 75% 100%)}.ej-clock-hand{position:absolute;left:50%;bottom:50%;border-radius:999px;transform-origin:50% 100%;z-index:6;cursor:grab;touch-action:none;box-shadow:0 3px 9px #0002}.ej-clock-hand.dragging{cursor:grabbing;filter:brightness(1.08);z-index:8}.ej-clock-hand.hour{width:16px;height:92px;background:linear-gradient(#315fc7,#173b87)}.ej-clock-hand.minute{width:10px;height:132px;background:linear-gradient(#ff6b6b,#ef4444)}.ej-clock-hand .grab{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;border:4px solid currentColor;font-size:0}.ej-clock-hand.hour .grab{color:#173b87}.ej-clock-hand.minute .grab{color:#ef4444}.ej-clock-hand.wrong-pulse{animation:ejClockWrong .55s ease}.ej-clock-pin{position:absolute;left:50%;top:50%;width:28px;height:28px;border-radius:50%;background:#fff;border:8px solid #173b87;transform:translate(-50%,-50%);z-index:10}.ej-clock-live-tip{padding:12px 16px;border-radius:18px;background:#eef7ff;border:2px dashed #b7d7ff;text-align:center;color:#4b6188;font-weight:800}.ej-clock-actions{display:flex;gap:12px;justify-content:center}.ej-clock-learning{min-height:44px}.ej-clock-learning>b,.ej-clock-learning>div{display:block}.ej-clock-learning>b{color:#173b87;font-size:18px}.ej-clock-learning>span{display:block;color:#576a89;margin-top:4px}.ej-clock-success{padding:13px 16px;border-radius:18px;background:#dcfce7;border:2px solid #86efac;color:#166534;font-size:20px;font-weight:950;text-align:center;animation:ejClockPop .35s ease}.ej-clock-proof{text-align:center;margin-top:8px;font-size:25px;color:#173b87;font-weight:1000}.ej-clock-side-card.progress strong{color:#6d28d9}@keyframes ejClockCloud{to{left:110%}}@keyframes ejClockSkyBob{to{transform:translateY(8px) scale(1.03)}}@keyframes ejClockShake{25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-4px)}}@keyframes ejClockWrong{50%{filter:drop-shadow(0 0 10px #ef4444);transform:translateX(-50%) scale(1.08)}}@keyframes ejClockPop{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:820px){.ej-clock-workbench{grid-template-columns:1fr}.ej-clock-side-card{min-height:auto;flex-direction:row;gap:10px}.ej-clock-side-card strong{font-size:28px}.ej-clock-face{width:min(360px,84vw)}}

/* EduJoy v3.0.8 — Set The Clock: Time Mission Control */
.cm-shell{width:min(1020px,100%);margin:0 auto;display:flex;flex-direction:column;gap:14px;position:relative}.cm-mission-top{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 18px;border-radius:26px;background:linear-gradient(135deg,#eef8ff,#f4f0ff);border:2px solid #d8e7ff}.cm-title{display:flex;gap:14px;align-items:center}.cm-title>span{font-size:52px;filter:drop-shadow(0 8px 10px #0002);animation:cmFloat 1.8s ease-in-out infinite alternate}.cm-title small{font-weight:950;letter-spacing:.08em;color:#6b79a0}.cm-title h2{margin:2px 0;color:#173b87;font-size:28px}.cm-title p{margin:0;color:#5b6d8e;font-weight:750}.cm-skill-badge{padding:10px 14px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-weight:950;white-space:nowrap}.cm-timer{width:84px;height:84px;border-radius:24px;background:#fff;border:3px solid #fed7aa;display:grid;grid-template-columns:auto auto;place-content:center;gap:0 5px;box-shadow:0 8px 18px #f9731620}.cm-timer span{font-size:22px}.cm-timer b{font-size:28px;color:#b45309}.cm-timer small{grid-column:1/3;text-align:center;color:#8a5d2a;font-weight:850}.cm-route{display:flex;align-items:center;justify-content:center;overflow:auto;padding:8px 4px}.cm-route span{min-width:42px;height:42px;border-radius:50%;display:grid;place-items:center;position:relative;background:#fff;border:3px solid #d7e5fb;font-size:21px;box-shadow:0 4px 10px #173b8712}.cm-route span b{position:absolute;bottom:-11px;right:-7px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#64748b;color:#fff;font-size:10px}.cm-route span.done{background:#dcfce7;border-color:#22c55e}.cm-route span.done b{background:#16a34a}.cm-route span.current{background:#fff4c2;border-color:#f59e0b;transform:scale(1.12);animation:cmCurrent 1s ease-in-out infinite alternate}.cm-route span.current b{background:#f59e0b}.cm-route i{width:28px;height:4px;background:#d7e5fb;border-radius:999px}.cm-route i.done{background:#22c55e}.cm-story-zone{transition:.35s}.cm-scene{height:185px;border-radius:30px;position:relative;overflow:hidden;border:2px solid #d9e7fb;background:linear-gradient(180deg,#dff6ff 0 62%,#8bd576 63% 100%);box-shadow:0 12px 28px #173b8710}.cm-scene>*{position:absolute}.cm-event-caption{left:50%;bottom:8px;transform:translateX(-50%);padding:7px 13px;border-radius:999px;background:#ffffffdf;color:#173b87;font-weight:900;white-space:nowrap;box-shadow:0 5px 12px #0001}.cm-bedroom{background:linear-gradient(180deg,#d8f1ff 0 60%,#ffe9c7 61% 100%)}.cm-window{right:28px;top:18px;font-size:60px}.cm-bed{left:18%;bottom:35px;font-size:78px}.cm-bed span{font-size:42px;margin-left:-25px;display:inline-block;animation:cmSleep 1.8s ease-in-out infinite}.cm-alarm{right:20%;bottom:48px;font-size:55px;animation:cmAlarmIdle .9s ease-in-out infinite alternate}.cm-bus-stop{background:linear-gradient(#cceeff 0 58%,#89d276 59% 73%,#667085 74% 100%)}.cm-road{inset:auto 0 0 0;height:42px;background:#586270}.cm-stop{left:15%;bottom:40px;font-size:62px}.cm-child{left:29%;bottom:44px;font-size:52px}.cm-bus{left:72%;bottom:32px;font-size:80px;animation:cmBusIdle 2s ease-in-out infinite alternate}.cm-school{background:linear-gradient(#dff5ff 0 63%,#99d977 64% 100%)}.cm-school-building{left:50%;bottom:35px;transform:translateX(-50%);font-size:96px}.cm-bell{left:21%;top:35px;font-size:46px;animation:cmBellIdle 1.3s ease-in-out infinite alternate}.cm-gate{right:20%;bottom:42px;font-size:52px}.cm-canteen{background:linear-gradient(#fff5dc 0 64%,#f3d49a 65% 100%)}.cm-counter{left:50%;bottom:43px;transform:translateX(-50%);font-size:52px}.cm-shutter{left:50%;top:22px;transform:translateX(-50%);color:#64748b;font-size:28px;letter-spacing:4px}.cm-tray{right:18%;bottom:42px;font-size:58px}.cm-field{background:linear-gradient(#cdefff 0 62%,#7fcf65 63% 100%)}.cm-goal{right:12%;bottom:33px;font-size:78px}.cm-player{left:23%;bottom:40px;font-size:55px;animation:cmRunner 1.3s ease-in-out infinite alternate}.cm-ball{left:40%;bottom:36px;font-size:48px}.cm-whistle{right:39%;top:28px;font-size:40px;animation:cmPulse 1.2s ease-in-out infinite}.cm-cinema{background:linear-gradient(#1e293b 0 78%,#111827 79% 100%)}.cm-screen{left:50%;top:38px;transform:translateX(-50%);font-size:75px;z-index:2}.cm-curtain{top:0;bottom:0;width:34%;background:linear-gradient(90deg,#7f1d1d,#dc2626);z-index:3;transition:1s}.cm-curtain.left{left:0}.cm-curtain.right{right:0;background:linear-gradient(90deg,#dc2626,#7f1d1d)}.cm-popcorn{right:14%;bottom:27px;font-size:52px;z-index:4}.cm-workshop{background:linear-gradient(#e8eef7 0 70%,#c9b28c 71% 100%)}.cm-gears{left:50%;top:38px;transform:translateX(-50%);font-size:68px;animation:cmGear 4s linear infinite}.cm-tools{left:18%;bottom:40px;font-size:48px}.cm-spark{right:19%;top:27px;font-size:42px;animation:cmPulse .7s ease-in-out infinite}.cm-planner{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:50px;background:linear-gradient(#eef6ff,#f8f5ff)}.cm-plan-card{position:static!important;padding:14px;border-radius:18px;background:#fff;border:2px solid #dbe7fb;font-size:20px;font-weight:900;color:#173b87}.cm-plan-arrow{position:static!important;font-size:28px;color:#7c3aed}.cm-memory{background:radial-gradient(circle at center,#f7f3ff,#dbeafe)}.cm-brain{left:33%;top:34px;font-size:78px;animation:cmFloat 1.2s ease-in-out infinite alternate}.cm-flash{left:51%;top:20px;font-size:48px;animation:cmPulse .6s infinite}.cm-card-back{right:30%;top:42px;width:70px;height:85px;border-radius:18px;background:#173b87;color:#fff;display:grid;place-items:center;font-size:48px;font-weight:950;box-shadow:0 10px 20px #173b8730}.cm-tower{background:linear-gradient(#f7cfa8 0 34%,#b7b8ef 35% 66%,#2f3f68 67% 100%)}.cm-city-lights{left:10%;right:10%;bottom:22px;color:#fde68a;font-size:26px;text-align:center;animation:cmLights 1.1s ease-in-out infinite alternate}.cm-tower-icon{left:50%;top:18px;transform:translateX(-50%);font-size:92px}.cm-tower-bells{right:15%;top:40px;font-size:36px}.cm-command{padding:14px 18px;border-radius:26px;background:#fff;border:2px solid #e3ebf7;text-align:center}.cm-command>span{display:inline-block;padding:5px 11px;border-radius:999px;background:#173b87;color:#fff;font-size:12px;font-weight:950;letter-spacing:.08em}.cm-command h1{margin:8px auto 5px;font-size:clamp(27px,4vw,42px);color:#173b87;line-height:1.1}.cm-command p{margin:0;color:#61708e;font-size:17px;font-weight:800}.cm-console{display:grid;grid-template-columns:190px minmax(330px,420px) 190px;align-items:center;justify-content:center;gap:18px;padding:18px;border-radius:30px;background:linear-gradient(135deg,#f8fbff,#fff9ef);border:2px solid #dce8f9}.cm-side-panel{min-height:160px;border-radius:24px;padding:17px 13px;background:#fff;border:2px solid #dce7fb;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.cm-side-panel>b{font-size:13px;color:#68769a;letter-spacing:.06em}.cm-side-panel>strong{font-size:36px;color:#173b87;margin:8px 0}.cm-side-panel>span{color:#546987;font-weight:850}.cm-side-panel.live strong{font-variant-numeric:tabular-nums}.cm-stars{margin-top:12px;color:#f59e0b;letter-spacing:4px}.cm-hand-legend{font-size:12px;margin-top:10px;color:#62718b}.cm-hand-legend i{display:inline-block;width:16px;height:5px;border-radius:99px;vertical-align:middle;margin:0 3px}.cm-hand-legend i.hour{background:#173b87}.cm-hand-legend i.minute{background:#ef4444}.cm-console .ej-clock-face{width:min(400px,80vw);box-shadow:0 20px 40px #173b8720,inset 0 0 0 5px #fff}.cm-tip{padding:12px 16px;border-radius:18px;background:#eff7ff;border:2px dashed #b8d8ff;color:#4f6388;font-weight:800;text-align:center}.cm-actions{display:flex;gap:12px;justify-content:center}.cm-check{min-width:185px}.cm-learning{min-height:20px}.cm-success-card{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:17px 20px;border-radius:24px;background:linear-gradient(135deg,#dcfce7,#f0fdf4);border:2px solid #86efac;box-shadow:0 10px 22px #16a34a15}.cm-success-icon{font-size:44px}.cm-success-card h3{margin:0 0 5px;color:#166534}.cm-success-card strong{font-size:25px;color:#173b87}.cm-success-card p{margin:5px 0 0;color:#49607c}.cm-mini-success{padding:12px 15px;border-radius:18px;background:#dcfce7;color:#166534;font-weight:900;text-align:center}.cm-fail-card{padding:15px 18px;border-radius:20px;background:#fee2e2;border:2px solid #fca5a5;color:#991b1b;font-weight:900;text-align:center}.cm-fail-card span{font-weight:700}.cm-memory-overlay{position:fixed;inset:0;background:#0f172ecc;z-index:9999;display:grid;place-items:center;backdrop-filter:blur(5px);transition:.45s}.cm-memory-overlay.hide{opacity:0;transform:scale(1.04)}.cm-memory-overlay>div{width:min(470px,90vw);padding:24px;border-radius:30px;background:#fff;text-align:center;box-shadow:0 25px 70px #0005}.cm-memory-overlay small{display:block;font-weight:950;color:#7c3aed;letter-spacing:.09em}.cm-memory-overlay .ej-clock-face{width:280px;margin:18px auto}.cm-memory-overlay>b{display:block;font-size:34px;color:#173b87}.cm-memory-overlay span{display:block;margin-top:8px;color:#5d6b86;font-weight:800}.cm-story-zone.success .cm-alarm{animation:cmAlarmRing .16s linear 7}.cm-story-zone.success .cm-bed span{animation:cmWake .7s ease forwards}.cm-story-zone.success .cm-bus{animation:cmBusArrive 1.1s ease forwards}.cm-story-zone.success .cm-bell{animation:cmBellRing .18s linear 7}.cm-story-zone.success .cm-shutter{animation:cmShutterOpen .9s ease forwards}.cm-story-zone.success .cm-ball{animation:cmGoal 1s ease forwards}.cm-story-zone.success .cm-curtain.left{transform:translateX(-85%)}.cm-story-zone.success .cm-curtain.right{transform:translateX(85%)}.cm-story-zone.success .cm-gears{animation-duration:.7s}.cm-story-zone.success .cm-plan-card{animation:cmPlanPop .45s ease}.cm-story-zone.success .cm-tower-bells{animation:cmBellRing .18s linear 8}.cm-story-zone.success .cm-city-lights{font-size:34px;color:#fff59d}.cm-story-zone.wrong{animation:cmWrongScene .48s linear}.cm-shell.urgent .cm-timer{border-color:#ef4444;background:#fff1f2;animation:cmUrgent .7s ease-in-out infinite}.cm-shell.urgent .cm-timer b{color:#dc2626}.cm-shell.urgent .cm-command{box-shadow:0 0 0 4px #ef444425}.cm-shell.timeout .cm-story-zone{filter:grayscale(.55)}.cm-shell.timeout .cm-bus{animation:cmBusMiss .9s ease forwards}.cm-clock-correct,.ej-clock-face.cm-correct{animation:cmClockSuccess .8s ease}.cm-story-zone.step-success{animation:cmStepFlash .65s ease}@keyframes cmFloat{to{transform:translateY(-6px)}}@keyframes cmCurrent{to{transform:scale(1.18) translateY(-3px)}}@keyframes cmSleep{to{transform:translateY(-5px) rotate(3deg)}}@keyframes cmAlarmIdle{to{transform:rotate(5deg) scale(1.05)}}@keyframes cmAlarmRing{25%{transform:rotate(-13deg)}75%{transform:rotate(13deg)}}@keyframes cmWake{to{transform:translateY(-22px) scale(1.12)}}@keyframes cmBusIdle{to{transform:translateX(-15px)}}@keyframes cmBusArrive{0%{transform:translateX(0)}55%{transform:translateX(-280px)}100%{transform:translateX(-240px)}}@keyframes cmBusMiss{to{transform:translateX(420px);opacity:.25}}@keyframes cmBellIdle{to{transform:rotate(-12deg)}}@keyframes cmBellRing{25%{transform:rotate(-18deg)}75%{transform:rotate(18deg)}}@keyframes cmRunner{to{transform:translateX(18px)}}@keyframes cmPulse{50%{transform:scale(1.15);opacity:.65}}@keyframes cmGear{to{transform:translateX(-50%) rotate(360deg)}}@keyframes cmLights{to{filter:brightness(1.8);transform:scale(1.03)}}@keyframes cmShutterOpen{to{transform:translate(-50%,-48px);opacity:.15}}@keyframes cmGoal{0%{transform:translate(0,0)}55%{transform:translate(330px,-35px) scale(.85)}100%{transform:translate(370px,5px) scale(.65)}}@keyframes cmPlanPop{50%{transform:translateY(-9px)}}@keyframes cmWrongScene{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}@keyframes cmUrgent{50%{transform:scale(1.06);box-shadow:0 0 0 7px #ef44441f}}@keyframes cmClockSuccess{50%{transform:scale(1.035);box-shadow:0 0 0 10px #22c55e24,0 22px 42px #16a34a20}}@keyframes cmStepFlash{50%{filter:brightness(1.12);transform:scale(1.01)}}@media(max-width:860px){.cm-console{grid-template-columns:1fr}.cm-side-panel{min-height:auto;flex-direction:row;gap:12px}.cm-side-panel>strong{font-size:28px}.cm-success-card{grid-template-columns:auto 1fr}.cm-success-card button{grid-column:1/3}.cm-mission-top{align-items:flex-start}.cm-route{justify-content:flex-start}.cm-scene{height:165px}}@media(max-width:580px){.cm-title>span{font-size:40px}.cm-title h2{font-size:23px}.cm-timer{width:68px;height:68px}.cm-timer b{font-size:22px}.cm-event-caption{font-size:12px;max-width:85%;white-space:normal;text-align:center}.cm-command h1{font-size:28px}.cm-console .ej-clock-face{width:min(340px,86vw)}}

/* EduJoy v3.0.9 — Celik Jam Digital: Time Code Lab */
.dc-shell{width:min(940px,100%);margin:0 auto;padding:18px;border-radius:30px;background:linear-gradient(180deg,#f8fbff,#eef6ff);border:2px solid #d9e7ff;box-shadow:0 18px 45px rgba(24,60,140,.12);position:relative;overflow:hidden}
.dc-shell:before{content:"";position:absolute;inset:-40% auto auto -20%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.10),transparent 66%);pointer-events:none}
.dc-hud{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 16px;border-radius:22px;background:linear-gradient(135deg,#10255a,#173f9b 55%,#5b4bf7);color:#fff;position:relative;z-index:2}
.dc-hud small{display:block;font-weight:900;letter-spacing:.08em;opacity:.75}.dc-hud h2{margin:3px 0 0;font-size:25px}.dc-chip{font-size:18px;font-weight:900;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25)}
.dc-route{display:flex;align-items:center;justify-content:center;gap:4px;margin:14px auto 12px;padding:8px 10px}.dc-route span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #dbe7fb;font-weight:950;color:#7585a5;box-shadow:0 5px 12px rgba(15,23,42,.06)}.dc-route span.done{background:#dcfce7;border-color:#86efac;color:#166534}.dc-route span.current{background:#fff7c2;border-color:#f59e0b;color:#92400e;transform:scale(1.12);box-shadow:0 0 0 5px rgba(245,158,11,.10)}.dc-route i{width:18px;height:3px;border-radius:999px;background:#dbe7fb}
.dc-story{display:flex;gap:12px;align-items:flex-start;margin:0 auto 14px;max-width:850px;padding:13px 16px;border-radius:20px;background:#fff;border:2px solid #dbe7fb}.dc-story>span{font-size:26px}.dc-story b{display:block;font-size:20px;color:#173b87}.dc-story small{display:block;margin-top:4px;color:#65779a;font-weight:700;line-height:1.4}
.dc-workbench{position:relative;min-height:350px;border-radius:26px;padding:20px;background:linear-gradient(180deg,#0f1737,#162457 60%,#0e1737);border:2px solid #203778;box-shadow:inset 0 0 45px rgba(34,211,238,.06);overflow:hidden;color:#fff}
.dc-workbench:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.02) 0,rgba(255,255,255,.02) 2px,transparent 2px,transparent 5px);pointer-events:none}
.dc-note{max-width:850px;margin:12px auto 0;padding:10px 14px;border-radius:16px;background:#edf6ff;border:1px dashed #9ec5ff;color:#3c527b;font-weight:800;text-align:center}
.dc-led{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:18px 24px;border-radius:20px;background:#050914;border:3px solid #263562;box-shadow:inset 0 0 22px rgba(0,229,255,.14),0 0 28px rgba(0,229,255,.10);font-family:"Courier New",monospace;font-weight:900;font-size:56px;letter-spacing:.04em;color:#67f7ff;text-shadow:0 0 8px #22d3ee,0 0 18px #0891b2}.dc-led b{color:#ff4b78;text-shadow:0 0 10px #fb7185}.dc-led.small{font-size:34px;padding:12px 15px}.dc-led.success{border-color:#34d399;box-shadow:inset 0 0 25px rgba(52,211,153,.18),0 0 35px rgba(52,211,153,.18)}.dc-led.clickable .dc-led-side{cursor:pointer;padding:7px 10px;border-radius:12px;transition:.2s}.dc-led.clickable .dc-led-side:hover,.dc-led.clickable .dc-led-side.active{background:rgba(103,247,255,.12);box-shadow:0 0 0 2px rgba(103,247,255,.35)}
.dc-console,.dc-factory,.dc-repair,.dc-memory,.dc-alarm-scene{height:100%;min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;position:relative;z-index:2}.dc-console .dc-scan-line{position:absolute;left:14%;right:14%;top:70px;height:3px;background:linear-gradient(90deg,transparent,#67f7ff,transparent);box-shadow:0 0 16px #22d3ee;animation:dcScan 2.4s linear infinite}.dc-panel-labels{display:flex;gap:110px;color:#a8c7ff;font-weight:950}.dc-panel-labels span{min-width:80px;text-align:center;padding:7px 10px;border-radius:999px;background:#15265b;border:1px solid #2c4382}.dc-console p{color:#dce8ff;font-weight:800}
.dc-device{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:16px;background:#16265a;border:1px solid #344b8c}.dc-device small{font-weight:900;color:#7dd3fc}.dc-device b{font-size:21px}
.dc-programmer{display:flex;flex-direction:column;align-items:center;gap:14px}.dc-program-title{font-weight:950;color:#c7dcff}.dc-code{display:flex;align-items:center;gap:7px;padding:14px 18px;border-radius:18px;background:#050914;border:2px solid #284584}.dc-code span{width:42px;height:58px;border-radius:9px;background:#111b3d;display:grid;place-items:center;font:900 39px/1 "Courier New";color:#67f7ff;text-shadow:0 0 10px #22d3ee}.dc-code b{font-size:36px;color:#fb7185}.dc-keypad{display:grid;grid-template-columns:repeat(5,58px);gap:9px;justify-content:center}.dc-keypad button{min-height:52px;border:1px solid #38538f;border-radius:13px;background:linear-gradient(180deg,#1e3470,#13244f);color:#fff;font-size:20px;font-weight:900;box-shadow:0 5px 0 #0a1430;cursor:pointer;transition:.12s}.dc-keypad button:active{transform:translateY(4px);box-shadow:0 1px 0 #0a1430}.dc-keypad .wide{grid-column:span 2;font-size:14px}.dc-keypad .primary{grid-column:span 3;background:linear-gradient(180deg,#0ea5e9,#2563eb)}
.dc-scanner{display:grid;grid-template-columns:1fr auto 1.3fr;gap:22px;align-items:center;min-height:310px;position:relative;z-index:2}.dc-analog-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px;border-radius:24px;background:#eaf4ff;color:#173b87;overflow:hidden}.dc-analog-card .ej-clock{width:190px;height:190px}.dc-analog-card span{font-weight:950}.dc-beam{position:absolute;left:0;right:0;height:4px;top:20px;background:linear-gradient(90deg,transparent,#22d3ee,transparent);box-shadow:0 0 18px #22d3ee;animation:dcBeam 2.2s ease-in-out infinite}.dc-arrow{font-size:42px;color:#67f7ff;animation:dcArrow 1s ease-in-out infinite alternate}
.dc-broken{display:flex;align-items:center;gap:9px;font:900 58px/1 "Courier New";color:#67f7ff;background:#050914;border:3px solid #324984;border-radius:20px;padding:18px 25px;position:relative}.dc-broken .broken{color:#fb7185;animation:dcFlicker .65s infinite}.dc-broken i{position:absolute;right:-28px;top:-23px;font-style:normal;font-size:34px}.dc-toolbox{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}.dc-toolbox>b{width:100%;text-align:center;color:#d8e8ff}.dc-toolbox button{padding:12px 18px;border-radius:14px;border:2px solid #39558e;background:#1a2c60;color:#fff;font-size:21px;font-weight:950}.dc-toolbox button.good{background:#065f46;border-color:#34d399}.dc-toolbox button.bad{animation:dcShake .4s;background:#7f1d1d}
.dc-schedule{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;min-height:310px;position:relative;z-index:2}.dc-activities,.dc-times{display:grid;gap:10px}.dc-activities button,.dc-times button{min-height:74px;border-radius:18px;border:2px solid #314b83;background:#18295a;color:#fff;font-weight:950;display:flex;align-items:center;justify-content:center;gap:10px;font-size:19px}.dc-activities button span{font-size:31px}.dc-activities button.selected{outline:4px solid rgba(103,247,255,.35);background:#20417e}.dc-activities button.done,.dc-times button.done{background:#064e3b;border-color:#34d399;opacity:.72}.dc-link-zone{font-size:13px;font-weight:950;color:#7dd3fc;text-align:center}
.dc-time-machine{min-height:310px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;position:relative;z-index:2}.dc-machine-light{font-weight:950;letter-spacing:.13em;color:#7dd3fc}.dc-track{width:min(620px,90%);height:70px;position:relative;border-bottom:5px solid #64748b}.dc-track span{position:absolute;left:0;bottom:5px;font-size:52px;transition:1s ease}.dc-track span.go{left:82%}.dc-track b{position:absolute;right:0;bottom:10px;color:#fff}.dc-track i{position:absolute;left:5%;right:8%;bottom:20px;border-top:2px dashed #6b8bd6}.dc-shift-controls{display:flex;gap:10px}.dc-shift-controls button{padding:11px 16px;border-radius:14px;border:2px solid #35518d;background:#17295a;color:#fff;font-weight:900}.dc-shift-controls [data-shift]{background:linear-gradient(180deg,#0ea5e9,#2563eb)}
.dc-memory .hide{display:none}.dc-memory .dc-led.flash{animation:dcFlash 1s ease-in-out infinite alternate}.dc-memory .dc-led+small{color:#bdd7ff;font-weight:900}.dc-memory .vanish{animation:dcVanish .45s forwards}
.dc-alarm{font-size:68px;display:flex;flex-direction:column;align-items:center}.dc-alarm span{font-size:13px;font-weight:950;color:#7dd3fc;letter-spacing:.1em}.dc-alarm.ring{animation:dcRing .18s linear 8}.dc-countdown{padding:8px 16px;border-radius:999px;background:#7f1d1d;color:#fff;font-weight:950}.dc-countdown b{font-size:24px}.dc-shell.urgent{animation:dcUrgent .8s ease-in-out infinite;box-shadow:0 0 0 5px rgba(239,68,68,.18),0 20px 50px rgba(239,68,68,.16)}
.dc-audit{min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;position:relative;z-index:2}.dc-audit-title{font-size:22px}.dc-audit-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:14px;width:min(760px,100%)}.dc-audit-grid button{min-height:180px;padding:14px;border-radius:22px;border:2px solid #314b83;background:#17295a;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.dc-audit-grid button .ej-clock{width:120px;height:120px}.dc-audit-grid button small{font-weight:900}.dc-audit-grid button.good{background:#064e3b;border-color:#34d399}.dc-audit-grid button.bad{animation:dcShake .4s;background:#7f1d1d}
.dc-control{min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;position:relative;z-index:2}.dc-system-steps{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.dc-system-steps span{padding:8px 12px;border-radius:999px;background:#1c2c5d;border:1px solid #36518e;color:#8fa8d9;font-weight:950}.dc-system-steps span.on{background:#0f4c81;color:#67f7ff;box-shadow:0 0 18px rgba(34,211,238,.2)}.dc-system-steps span.done{background:#065f46;color:#bbf7d0;border-color:#34d399}.dc-control-main{display:flex;flex-direction:column;align-items:center;gap:12px}.dc-control-main .ej-clock{width:190px;height:190px}.dc-final-activity{text-align:center}.dc-final-activity>span{font-size:58px}.dc-final-activity h3{font-size:24px}.dc-final-activity div{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.dc-final-activity button{padding:12px 18px;border:2px solid #375391;border-radius:14px;background:#1a2c60;color:#fff;font-size:20px;font-weight:950}.dc-final-activity button.good{background:#065f46;border-color:#34d399}
.dc-learn{max-width:780px;margin:14px auto 0;padding:18px;border-radius:22px;background:linear-gradient(135deg,#ecfeff,#eff6ff);border:2px solid #bae6fd;text-align:center;color:#1e3a5f;animation:dcPop .35s ease}.dc-win{font-size:22px;font-weight:950;color:#047857}.dc-learn-time{margin:12px}.dc-learn-time .dc-led{font-size:38px;padding:12px 18px}.dc-learn p{font-weight:800;line-height:1.5}.dc-learn .btn{margin-top:8px}
@keyframes dcScan{0%{transform:translateY(0);opacity:.2}50%{transform:translateY(170px);opacity:1}100%{transform:translateY(0);opacity:.2}}@keyframes dcBeam{0%,100%{transform:translateY(0)}50%{transform:translateY(150px)}}@keyframes dcArrow{to{transform:translateX(7px)}}@keyframes dcFlicker{0%,100%{opacity:1}45%{opacity:.2}55%{opacity:.7}}@keyframes dcShake{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}@keyframes dcFlash{to{box-shadow:inset 0 0 35px rgba(103,247,255,.25),0 0 45px rgba(34,211,238,.25)}}@keyframes dcVanish{to{transform:scale(.78);opacity:0}}@keyframes dcRing{25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@keyframes dcUrgent{50%{transform:scale(1.003)}}@keyframes dcPop{from{transform:translateY(8px) scale(.97);opacity:0}}
@media(max-width:760px){.dc-hud{align-items:flex-start}.dc-hud h2{font-size:20px}.dc-chip{font-size:14px}.dc-route{overflow:auto;justify-content:flex-start}.dc-workbench{padding:14px;min-height:360px}.dc-led{font-size:43px}.dc-scanner{grid-template-columns:1fr}.dc-arrow{transform:rotate(90deg)}.dc-schedule{grid-template-columns:1fr}.dc-link-zone{transform:none}.dc-audit-grid{grid-template-columns:1fr}.dc-keypad{grid-template-columns:repeat(5,50px)}.dc-keypad button{min-height:48px}.dc-story b{font-size:18px}}

/* EduJoy v3.0.10 — Calendar Quest Adventure */
.cq-world{position:relative;overflow:hidden;border-radius:32px;padding:18px;background:linear-gradient(180deg,#eef8ff 0%,#ffffff 48%,#f4fbff 100%);border:2px solid #d9e9ff;box-shadow:0 18px 48px rgba(30,64,175,.12)}
.cq-sky{position:absolute;inset:0;pointer-events:none;overflow:hidden}.cq-cloud{position:absolute;font-size:34px;opacity:.5;animation:cqCloud 14s linear infinite}.cq-cloud.c1{top:12px;left:-60px}.cq-cloud.c2{top:68px;left:-100px;animation-duration:20s}.cq-spark{position:absolute;animation:cqTwinkle 1.7s ease-in-out infinite alternate}.cq-spark.s1{right:42px;top:22px}.cq-spark.s2{right:110px;top:78px;animation-delay:.6s}
.cq-head{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px}.cq-head small{font-weight:900;color:#64748b}.cq-head h2{margin:2px 0 0;font-size:28px;color:#153d8d}.cq-badge{padding:9px 14px;border-radius:999px;background:linear-gradient(90deg,#5b5ce2,#6d28d9);color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(91,92,226,.2)}
.cq-map{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:4px;overflow:auto;padding:10px 4px}.cq-map-node{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid #d9e4fb;color:#64748b;font-weight:950;flex:0 0 auto}.cq-map-node.done{background:#dcfce7;border-color:#22c55e;color:#166534}.cq-map-node.current{background:#fff7d6;border-color:#f59e0b;color:#92400e;transform:scale(1.08);box-shadow:0 0 0 6px rgba(245,158,11,.13)}.cq-map i{width:20px;height:4px;background:#d7e3f7;border-radius:999px;flex:0 0 auto}
.cq-story{position:relative;z-index:2;display:flex;align-items:center;gap:10px;max-width:820px;margin:2px auto 14px;padding:12px 16px;background:rgba(255,255,255,.86);border:2px solid #deebff;border-radius:20px}.cq-story span{font-size:28px}.cq-story p{margin:0;font-weight:800;color:#4b5f81}
.cq-scene{position:relative;z-index:2;max-width:900px;margin:auto;padding:22px;border-radius:28px;background:linear-gradient(180deg,#ffffff,#f7fbff);border:2px solid #dbe7fb;min-height:360px;text-align:center;overflow:hidden}.cq-scene h3{font-size:clamp(25px,4vw,40px);line-height:1.15;color:#123b8a;margin:12px auto 18px;max-width:780px}.cq-note{position:relative;z-index:2;margin:14px auto 0;max-width:820px;padding:10px 14px;border-radius:16px;background:#f8fafc;border:1px dashed #cbd5e1;color:#475569;font-weight:800}
.cq-scene-art,.cq-portal-art{font-size:56px;margin:4px auto 14px}.cq-scene-art span,.cq-portal-art span{display:inline-block;margin-left:10px;animation:cqBounce 1.2s ease-in-out infinite alternate}.cq-scene.train .cq-scene-art{animation:cqTrain 2.4s ease-in-out infinite}.cq-scene.bridge.success{box-shadow:0 0 0 4px rgba(34,197,94,.15),0 18px 38px rgba(34,197,94,.14)}
.cq-slots{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:14px auto}.cq-slot{min-width:92px;min-height:58px;padding:10px 12px;border:3px dashed #cbd5e1;border-radius:16px;display:grid;place-items:center;background:#fff;color:#94a3b8;font-weight:900}.cq-slot.filled{border-style:solid;border-color:#22c55e;background:#ecfdf5;color:#166534;animation:cqPop .35s ease}
.cq-bank{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px auto}.cq-chip{border:2px solid #d8e5fb;background:linear-gradient(180deg,#fff,#f7fbff);border-radius:16px;padding:12px 18px;font-size:18px;font-weight:900;color:#173b87;box-shadow:0 6px 0 #e3ecfb;cursor:pointer;transition:.18s}.cq-chip:hover{transform:translateY(-3px);border-color:#6366f1}.cq-chip:disabled{opacity:.35;transform:none}.cq-chip.wrong{background:#fee2e2;border-color:#ef4444;animation:cqShake .35s}.cq-chip.correct{background:#dcfce7;border-color:#22c55e;color:#166534}.cq-actions{margin-top:12px}
.cq-sequence{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:20px auto}.cq-sequence>span,.cq-sequence>button{padding:14px 18px;border-radius:16px;border:2px solid #d8e5fb;background:#fff;color:#163d8e;font-weight:950;font-size:20px}.cq-sequence>i{font-style:normal;color:#64748b}.cq-sequence .missing{background:#fff7d6;border-color:#f59e0b;min-width:70px}.cq-sequence .repaired{background:#dcfce7;border-color:#22c55e;animation:cqPop .35s}
.cq-time-machine{display:inline-flex;align-items:center;gap:14px;padding:16px 22px;border-radius:999px;background:linear-gradient(90deg,#eef2ff,#f5f3ff);font-size:30px;border:2px solid #d9ddff}.cq-time-machine.run{animation:cqMachine .8s ease}.cq-dual-slot{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:620px;margin:18px auto}.cq-dual-slot button{min-height:92px;border:3px solid #d8e5fb;border-radius:20px;background:#fff;color:#173b87}.cq-dual-slot button.active{border-color:#7c3aed;box-shadow:0 0 0 5px rgba(124,58,237,.12)}.cq-dual-slot small{display:block;color:#64748b;font-weight:900}.cq-dual-slot b{font-size:28px}
.cq-journey-art{position:relative;height:90px;max-width:720px;margin:auto}.cq-road{position:absolute;left:5%;right:5%;bottom:23px;height:7px;background:linear-gradient(90deg,#60a5fa,#6366f1,#f59e0b);border-radius:999px}.cq-vehicle{position:absolute;left:8%;bottom:30px;font-size:46px;z-index:2}.cq-vehicle.hop{animation:cqHop .55s ease}.cq-track{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px auto}.cq-track span{padding:10px 12px;border-radius:14px;background:#fff;border:2px solid #d9e4fb;font-weight:900;color:#52627d}.cq-track span.active{background:#fff7d6;border-color:#f59e0b;color:#92400e;transform:scale(1.07)}.cq-counter{font-weight:900;color:#475569;margin:12px}
.cq-memory-light{display:inline-block;padding:8px 16px;border-radius:999px;background:#ede9fe;color:#6d28d9;font-weight:950;animation:cqTwinkle 1s ease-in-out infinite alternate}.cq-memory-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:24px auto}.cq-memory-row span{padding:16px 20px;border-radius:18px;background:#fff;border:2px solid #d8e5fb;font-weight:950;color:#173b87;font-size:22px}.cq-memory-row .missing{background:#0f172a;color:#fff;min-width:90px}.cq-memory-count{font-weight:900;color:#64748b}.cq-bank.hidden{display:none}
.cq-final-steps{display:flex;gap:8px;justify-content:center;margin-bottom:14px}.cq-final-steps span{padding:8px 12px;border-radius:999px;background:#e2e8f0;color:#64748b;font-weight:900}.cq-final-steps span.active{background:#fff7d6;color:#92400e;border:2px solid #f59e0b}.cq-final-steps span.done{background:#dcfce7;color:#166534}.cq-final-jump{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.cq-final-jump>b{font-size:26px;color:#173b87}.cq-final-jump span{font-size:26px;font-weight:950;color:#6d28d9}.cq-final-jump small{display:block;width:100%;font-weight:900;color:#64748b}
.cq-learning{position:relative;z-index:3;max-width:760px;margin:18px auto 0;padding:20px;border-radius:24px;background:linear-gradient(135deg,#fff8d9,#ecfff4);border:2px solid #d7e4fb;text-align:center;animation:cqPop .35s ease}.cq-win{font-size:54px}.cq-learning h3{margin:4px 0 10px;color:#166534;font-size:28px}.cq-explain{color:#334155;font-size:17px;line-height:1.5}.cq-explain p{margin:8px 0}.cq-world.celebrate{box-shadow:0 0 0 4px rgba(34,197,94,.12),0 22px 50px rgba(34,197,94,.16)}
@keyframes cqCloud{to{transform:translateX(1100px)}}@keyframes cqTwinkle{to{transform:scale(1.25) rotate(8deg);opacity:.55}}@keyframes cqBounce{to{transform:translateY(-7px)}}@keyframes cqTrain{50%{transform:translateX(16px)}}@keyframes cqPop{0%{transform:scale(.86);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes cqShake{25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-4px)}}@keyframes cqMachine{25%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}}@keyframes cqHop{50%{transform:translate(70px,-22px) rotate(5deg)}100%{transform:translate(120px,0)}}
@media(max-width:720px){.cq-world{padding:10px}.cq-head{align-items:flex-start}.cq-badge{font-size:12px}.cq-map i{width:8px}.cq-map-node{width:30px;height:30px;font-size:12px}.cq-scene{padding:15px;min-height:330px}.cq-dual-slot{grid-template-columns:1fr}.cq-chip{font-size:16px;padding:10px 13px}.cq-sequence>span,.cq-sequence>button{font-size:17px;padding:11px 13px}.cq-slot{min-width:78px;min-height:52px}}

/* EduJoy v3.0.12 — Masa Berharga Challenge Clock Visibility Fix */
.ej-time-value-shell{position:relative;overflow:hidden;width:min(940px,100%);margin:auto;padding:18px 22px 22px;border-radius:32px;border:3px solid #d7e6ff;background:linear-gradient(135deg,#eef8ff 0%,#fff7da 100%);box-shadow:0 18px 42px rgba(30,64,175,.12)}
.ej-time-value-stars{position:absolute;inset:0;pointer-events:none}.ej-time-value-stars span{position:absolute;font-size:24px;animation:ejTimeStar 2.8s ease-in-out infinite}.ej-time-value-stars span:nth-child(1){left:5%;top:18%}.ej-time-value-stars span:nth-child(2){right:5%;top:26%;animation-delay:.5s}.ej-time-value-stars span:nth-child(3){left:7%;bottom:18%;animation-delay:1s}.ej-time-value-stars span:nth-child(4){right:8%;bottom:14%;animation-delay:1.4s}
.ej-time-value-head{position:relative;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:22px;background:rgba(255,255,255,.86);border:2px solid #dbe7ff}.ej-time-value-head .mission-icon{font-size:42px}.ej-time-value-head small{display:block;font-weight:900;color:#6b7280;letter-spacing:.06em}.ej-time-value-head b{display:block;font-size:22px;color:#183d88}.ej-time-value-count{margin-left:auto;display:flex;align-items:center;gap:5px;padding:8px 12px;border-radius:16px;background:#fff3cd;color:#9a5b00}.ej-time-value-count strong{font-size:28px}.ej-time-value-count em{font-style:normal;font-weight:900}
.ej-time-value-arena{position:relative;z-index:2;display:grid;grid-template-columns:minmax(300px,1fr) minmax(280px,1fr);gap:24px;align-items:center;margin:18px 0}.ej-time-value-clock-wrap{text-align:center;background:#fff;border:2px solid #d9e6ff;border-radius:28px;padding:18px}.ej-time-challenge-clock{width:min(360px,90%);filter:drop-shadow(0 12px 18px rgba(30,64,175,.12))}.ej-time-challenge-clock .tc-face{fill:#fffdf3;stroke:#153d8d;stroke-width:4}.ej-time-challenge-clock .tc-num{font-size:8.5px;font-weight:900;fill:#0f2554}.ej-time-challenge-clock .tc-hour{stroke:#153d8d;stroke-width:7;stroke-linecap:round}.ej-time-challenge-clock .tc-minute{stroke:#ef4444;stroke-width:4.5;stroke-linecap:round}.ej-time-challenge-clock .tc-pin{fill:#153d8d}.ej-hand-legend{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:13px;font-weight:900;color:#4b5563}.ej-hand-legend i{display:inline-block;width:15px;height:5px;border-radius:999px;margin-right:5px;vertical-align:middle}.ej-hand-legend i.blue{background:#153d8d}.ej-hand-legend i.red{background:#ef4444}
.ej-time-value-side{padding:12px}.ej-time-value-side .eyebrow{display:inline-block;padding:6px 10px;border-radius:999px;background:#e8edff;color:#4936a8;font-weight:900}.ej-time-value-side h2{margin:12px 0;font-size:clamp(27px,3vw,40px);line-height:1.12;color:#173d8a}.ej-time-value-clue{padding:13px 15px;border-radius:18px;background:#fff;border:2px dashed #cbd8f2;color:#52617d;font-weight:800;line-height:1.45}
.ej-time-value-track{height:14px;border-radius:999px;overflow:hidden;background:#dce6f8;margin:8px 0 16px}.ej-time-value-track i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#facc15,#f97316,#ef4444);transition:width .35s linear}.ej-time-value-options{position:relative;z-index:2;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px;max-width:720px;margin:auto}.ej-time-value-options .ej-answer{min-height:74px;font-size:29px;border-radius:20px}.ej-time-value-feedback{position:relative;z-index:2;margin:14px auto 0;max-width:720px;padding:12px 16px;border-radius:18px;background:#fff;border:2px solid #e2e8f0;text-align:center;font-weight:900;color:#53627e}
.ej-time-value-shell.urgent{animation:ejTimeUrgent .75s ease-in-out infinite;box-shadow:0 0 0 5px rgba(239,68,68,.14),0 18px 42px rgba(239,68,68,.18)}.ej-time-value-shell.urgent .ej-time-value-count{background:#fee2e2;color:#b91c1c}.ej-time-value-shell.timeout .ej-time-challenge-clock{animation:ejTimeShake .35s linear 2}
@keyframes ejTimeStar{50%{transform:translateY(-8px) rotate(8deg);opacity:.6}}@keyframes ejTimeUrgent{50%{transform:scale(1.002)}}@keyframes ejTimeShake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@media(max-width:760px){.ej-time-value-arena{grid-template-columns:1fr}.ej-time-value-side{text-align:center}.ej-time-value-options{grid-template-columns:1fr}.ej-time-value-head b{font-size:18px}.ej-time-value-count strong{font-size:23px}}

/* EduJoy v3.0.13 — Panjang atau Pendek Visual Measurement Lab */
.length-lab-v3013{width:min(920px,100%);margin:0 auto;padding:6px 6px 20px}
.ll-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:24px;background:linear-gradient(135deg,#0f5bd8,#7457ff);color:#fff;box-shadow:0 14px 28px rgba(37,99,235,.16)}
.ll-head span{display:block;font-size:12px;font-weight:900;letter-spacing:.08em;opacity:.85}.ll-head b{display:block;font-size:22px;margin-top:3px}.ll-head strong{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);padding:10px 14px;border-radius:16px;white-space:nowrap}
.ll-route{display:flex;align-items:center;justify-content:center;gap:5px;margin:14px auto}.ll-route span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #d9e4fb;color:#64748b;font-weight:900;font-size:12px}.ll-route span.done{background:#dcfce7;border-color:#22c55e;color:#166534}.ll-route span.current{background:#fff1c7;border-color:#f59e0b;color:#92400e;transform:scale(1.12)}.ll-route i{width:20px;height:4px;border-radius:99px;background:#d9e4fb}.ll-route span.done+i{background:#22c55e}
.ll-story{max-width:790px;margin:0 auto 14px;padding:11px 15px;border-radius:16px;background:#eef8ff;color:#334155;font-weight:800;text-align:center;border:1px solid #cfe7ff}
.ll-board{position:relative;max-width:790px;margin:0 auto 18px;padding:28px 18px 12px 64px;border-radius:28px;background:linear-gradient(180deg,#fffaf0,#ffffff);border:2px solid #dbe7fb;overflow:hidden}.ll-board .ll-baseline{position:absolute;left:55px;top:22px;bottom:12px;width:5px;background:#ef4444;border-radius:99px;box-shadow:0 0 0 4px rgba(239,68,68,.08)}.ll-board .ll-baseline:before{content:'GARIS MULA';position:absolute;top:-20px;left:-23px;font-size:10px;font-weight:950;color:#b91c1c;white-space:nowrap}
.ll-object-card{display:block;width:100%;text-align:left;border:0;background:transparent;padding:6px 0 10px;margin:5px 0;cursor:pointer;transition:.2s;opacity:1}.ll-object-card:disabled{cursor:default}.ll-object-card:hover:not(:disabled){transform:translateY(-2px)}.ll-object-card>b{display:block;color:#173b87;font-size:16px;margin-left:10px}.ll-track{position:relative;height:72px;margin-top:4px;background:linear-gradient(180deg,#f8fbff,#edf4ff);border-radius:16px;border:1px solid #dbe7fb;overflow:hidden}.ll-start,.ll-end{position:absolute;top:5px;font-size:9px;font-weight:950;color:#94a3b8}.ll-start{left:8px}.ll-end{right:8px}.ll-object-line{position:absolute;left:calc(12px + var(--offset));top:28px;width:var(--len);height:20px;display:flex;align-items:center;transition:left .65s ease,width .35s ease}.ll-object-line em{font-style:normal;font-size:29px;line-height:1;position:relative;z-index:2;transform:translateX(-7px)}.ll-object-line i{display:block;height:14px;flex:1;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);box-shadow:inset 0 -3px 0 rgba(0,0,0,.1)}.ll-object-line:after{content:'';width:5px;height:34px;background:#f59e0b;border-radius:99px;margin-left:-2px}.ll-object-card small{display:block;color:#64748b;margin:4px 0 0 10px}.ll-object-card.correct .ll-track{box-shadow:0 0 0 3px #22c55e;background:#f0fdf4}.ll-object-card.wrong .ll-track{box-shadow:0 0 0 3px #ef4444;background:#fff1f2;animation:llShake .35s}.ll-object-card.picked .ll-track{box-shadow:0 0 0 3px #8b5cf6}
.ll-actions,.ll-choice,.ll-stepper{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:12px auto}.ll-choice button,.ll-stepper button{min-width:120px;min-height:52px;border:2px solid #d9e5fb;background:#fff;border-radius:16px;font-size:18px;font-weight:950;color:#173b87;box-shadow:0 5px 0 #dde7f8;cursor:pointer}.ll-choice button:hover,.ll-stepper button:hover{transform:translateY(-2px);border-color:#6d5dfc}.ll-stepper button:not(.btn){min-width:58px;font-size:28px}
.length-lab-v3013 h2{text-align:center;color:#173b87;font-size:clamp(24px,3.2vw,36px);margin:14px auto}.ll-note{max-width:760px;margin:14px auto 0;padding:13px 16px;border-radius:18px;background:#f8fafc;border:1px dashed #cbd5e1;color:#475569;text-align:center;font-weight:800}.ll-note.success{background:#ecfdf5;border:2px solid #86efac;color:#166534}.ll-note.wrong{background:#fff1f2;border:2px solid #fda4af;color:#991b1b}.ll-note.info{background:#eff6ff;border:2px solid #93c5fd;color:#1e40af}
.ll-race{max-width:800px;margin:16px auto;padding:18px;border-radius:28px;background:linear-gradient(180deg,#dff4ff 0 60%,#d8f1bd 61%);border:2px solid #cfe4fb}.ll-race .lane{position:relative;height:92px;margin:8px 0;background:rgba(255,255,255,.72);border-radius:18px;overflow:hidden;border:1px solid #d9e6fb}.ll-race .lane>b{position:absolute;left:10px;top:8px;color:#173b87}.ll-race .runner{position:absolute;left:22px;bottom:20px;font-size:34px}.ll-race .lane i{position:absolute;left:65px;bottom:32px;height:8px;border-radius:99px;background:linear-gradient(90deg,#22c55e,#0ea5e9)}.ll-race .lane em{position:absolute;left:calc(65px + min(360px,var(--lane)));bottom:18px;font-size:32px;font-style:normal}.ll-race .lane:nth-child(1) em{left:min(470px,calc(65px + 330px))}.ll-race .lane:nth-child(2) em{left:min(470px,calc(65px + 260px))}
.ll-build{max-width:790px;margin:auto;padding:18px;border-radius:26px;background:#fffdf4;border:2px solid #f5d98c}.ll-build .sample{margin:14px 0}.ll-build .sample>b{display:block;color:#173b87;margin-bottom:7px}.ll-build .rope{height:24px;border-radius:999px;background:repeating-linear-gradient(45deg,#f59e0b,#f59e0b 12px,#fcd34d 12px,#fcd34d 24px);box-shadow:0 5px 10px rgba(180,83,9,.12);transition:width .35s ease;max-width:95%}.ll-build .rope.build{background:repeating-linear-gradient(45deg,#3b82f6,#3b82f6 12px,#93c5fd 12px,#93c5fd 24px)}.ll-build small{font-weight:900;color:#64748b}
.ll-three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:920px;margin:0 auto}.ll-three .ll-object-card{padding:10px;border:2px solid #e0e9f8;border-radius:22px;background:#fff}.ll-three .ll-track{height:100px}.ll-three .ll-object-line{max-width:88%}.ll-order,.ll-reveal,.ll-final-badge{text-align:center;max-width:700px;margin:14px auto;padding:12px 16px;border-radius:16px;background:#f5f3ff;color:#5b21b6;font-weight:950}.ll-reveal{background:#ecfdf5;color:#166534;font-size:20px}.ll-final-badge{width:max-content;background:#fff7d6;color:#92400e;border:1px solid #f5ca62}
@keyframes llShake{25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}
@media(max-width:760px){.ll-head{align-items:flex-start}.ll-route{gap:2px}.ll-route span{width:27px;height:27px}.ll-route i{width:8px}.ll-board{padding-left:48px}.ll-board .ll-baseline{left:40px}.ll-three{grid-template-columns:1fr}.ll-object-line{max-width:80%}.ll-choice button{min-width:44%}}
