@import"https://fonts.googleapis.com/css2?family=Amiri+Quran&family=Amiri:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Amiri:wght@400;700&display=swap";.reg-page{min-height:100vh;background:linear-gradient(180deg,#eef4fc,#f7faff);color:#0a1a3a}.reg-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#fff;box-shadow:0 2px 16px #0000000f}.reg-back{background:#fff;border:2px solid #c5d9f0;color:#1e499e;font-weight:700;padding:8px 16px;border-radius:10px;cursor:pointer;font:inherit}.reg-logo{height:36px}.reg-main{max-width:680px;margin:0 auto;padding:24px 16px 48px}.reg-title{font-size:1.8rem;font-weight:900;margin:0 0 16px}.reg-card{background:#fff;border-radius:18px;padding:22px 22px 24px;box-shadow:0 6px 24px #1e499e14;display:flex;flex-direction:column;gap:14px}.reg-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reg-tab{font:inherit;font-weight:800;padding:12px;border-radius:12px;border:2px solid #c5d9f0;background:#fff;color:#1e499e;cursor:pointer}.reg-tab-on{background:#1e499e;border-color:#1e499e;color:#fff}.reg-intro{margin:0;color:#445472;line-height:1.5}.reg-label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.95rem}.reg-input{font:inherit;font-weight:400;padding:10px 12px;border:2px solid #d7e3f4;border-radius:10px;background:#fff;color:inherit;min-width:0}.reg-input:focus{outline:none;border-color:#1e499e}.reg-hint{font-weight:400;font-size:.85rem;color:#5a6a88}.reg-people{border:2px dashed #d7e3f4;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;margin:0}.reg-people legend{font-weight:800;padding:0 6px}.reg-person{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.reg-grow{flex:1 1 200px}.reg-small{width:80px}.reg-remove{font:inherit;background:none;border:none;color:#b03a2e;font-weight:700;cursor:pointer}.reg-add{font:inherit;align-self:flex-start;background:#eef4fc;border:2px solid #c5d9f0;color:#1e499e;font-weight:800;padding:8px 14px;border-radius:10px;cursor:pointer}.reg-consent{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;line-height:1.45}.reg-consent input{margin-top:3px;width:18px;height:18px;flex:none}.reg-privacy{margin:0;font-size:.82rem;color:#5a6a88;line-height:1.45}.reg-error{margin:0;color:#a5290f;font-weight:700;background:#ffece8;padding:10px 12px;border-radius:10px}.reg-submit{font:inherit;font-weight:900;font-size:1.05rem;padding:14px;border:none;border-radius:12px;background:#1c8a4c;color:#fff;cursor:pointer}.reg-submit:disabled{opacity:.55;cursor:default}.reg-h2{margin:0;font-size:1.3rem;font-weight:900}.reg-steps{margin:0;padding-left:22px;line-height:1.7}.reg-telegram{display:block;text-align:center;text-decoration:none;font-weight:900;font-size:1.1rem;padding:14px;border-radius:12px;background:#229ed9;color:#fff}.reg-code{font-size:1.6rem;letter-spacing:.3em;text-align:center;font-weight:800}.reg-done p{margin:0;line-height:1.6}.home-register-btn{margin-left:12px}@media (max-width: 600px){.reg-card{padding:18px 14px}.reg-title{font-size:1.5rem}}.reg-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.reg-admin{max-width:var(--sivu-leveys);margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:12px;color:#0a1a3a}.reg-admin-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.reg-admin-list{display:flex;flex-direction:column;gap:12px}.reg-admin-card{gap:10px}.reg-admin-grid{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;font-size:.95rem}.reg-admin-grid>span:nth-child(odd){color:#5a6a88}.reg-pre{white-space:pre-line}.reg-badge{font-size:.8rem;font-weight:800;padding:3px 10px;border-radius:12px;background:#e1f6e8;color:#1c8a4c}.reg-badge-parents{background:#f3e5f5;color:#8e3b8e}.reg-btn-sm{font-size:.95rem;padding:10px 14px}.pallo{--size: 110px;display:flex;flex-direction:column;align-items:center;gap:14px;width:calc(var(--size) + 40px);background:none;border:none;padding:0;color:inherit;font:inherit}.pallo-sm{--size: 72px;--emoji: 1.8rem;gap:10px}.pallo-md{--size: 110px;--emoji: 2.7rem}.pallo-lg{--size: 140px;--emoji: 3.4rem}.pallo-xl{--size: 190px;--emoji: 4.6rem}button.pallo{cursor:pointer}.pallo-ball{position:relative;width:var(--size);height:var(--size);flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 22%,#ffffff8c,#fff0 44%),linear-gradient(150deg,var(--c1, #60a5fa),var(--c2, #1e499e));box-shadow:0 18px 34px -14px var(--c2, #1e499e),inset 0 -10px 22px #0003,inset 0 8px 16px #ffffff4d;scale:1;transition:scale .45s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}.pallo-ball:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%;border:2px solid var(--c1, #60a5fa);opacity:0;scale:.9;transition:opacity .35s,scale .45s cubic-bezier(.34,1.56,.64,1)}.pallo-ball svg{filter:drop-shadow(0 3px 4px rgba(0,0,0,.22));transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.pallo-kuva{font-size:var(--emoji);line-height:1;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25));transition:transform .45s cubic-bezier(.34,1.56,.64,1)}button.pallo:hover .pallo-ball,button.pallo:focus-visible .pallo-ball{scale:1.18;box-shadow:0 28px 50px -14px var(--c2, #1e499e),inset 0 -10px 22px #0003,inset 0 8px 16px #ffffff4d}button.pallo:hover .pallo-ball:after,button.pallo:focus-visible .pallo-ball:after,.pallo-on .pallo-ball:after{opacity:.65;scale:1}button.pallo:hover .pallo-ball svg,button.pallo:hover .pallo-kuva{transform:rotate(-6deg)}button.pallo:focus-visible{outline:none}.pallo-label{font-weight:700;font-size:1rem;color:#0a1a3a;text-align:center;line-height:1.25;transition:color .3s,transform .3s}.pallo-sm .pallo-label{font-size:.88rem}button.pallo:hover .pallo-label{color:var(--c2, #1e499e);transform:translateY(6px)}.pallo-on .pallo-label{color:var(--c2, #1e499e)}.pallo-sub{margin-top:-6px;font-size:.8rem;line-height:1.4;color:#5a6a8a;text-align:center;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pallo-badge{position:absolute;top:2%;right:2%;min-width:26px;height:26px;padding:0 6px;box-sizing:border-box;border-radius:13px;background:#fff;color:var(--c2, #1e499e);font-size:.78rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #0003}.pallo-float .pallo-ball{animation:pallo-float 6s ease-in-out infinite;animation-delay:var(--f, 0s)}@keyframes pallo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.pallo-in{animation:pallo-in .7s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--d, 0s)}@keyframes pallo-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.pallo-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:36px 24px;margin:8px auto 28px;max-width:var(--sivu-leveys)}.pallo-row-wide{gap:40px 30px}.pallo-row-wide .pallo{width:200px}.osa-koti{padding-top:48px}.osa-koti-title{font-size:clamp(2.2rem,5vw,3.2rem);font-weight:800;letter-spacing:-.02em;color:var(--c2);margin:30px 0 6px}.osa-koti-soon{color:#5a6a8a;margin:0 0 36px}.osa-teema .home-aurora{background:radial-gradient(40% 46% at 22% 28%,color-mix(in srgb,var(--c1) 34%,transparent),transparent 70%),radial-gradient(42% 48% at 80% 72%,color-mix(in srgb,var(--c2) 22%,transparent),transparent 70%)}.osa-teema .lan-lang-btn.lan-lang-btn-on,.osa-teema .lan-tab.lan-tab-on{background:var(--c2)}.osa-teema .lan-lang-btn:hover,.osa-teema .lan-tab:hover{color:var(--c2);background:color-mix(in srgb,var(--c1) 14%,#ffffff)}.landing.osa-teema{background:radial-gradient(60% 40% at 15% 0%,color-mix(in srgb,var(--c1) 22%,transparent),transparent 70%),radial-gradient(50% 40% at 95% 30%,color-mix(in srgb,var(--c2) 12%,transparent),transparent 70%),#f7f9fd}.osa-teema .landing-header{border-bottom:3px solid var(--c1)}.osa-teema .sub-label{color:var(--c2);text-align:center;opacity:.8}.osa-teema .games-panel{border-top:4px solid var(--c1)}.osa-teema .game-card{border-color:color-mix(in srgb,var(--c1) 35%,#ffffff)}.osa-teema .game-card:hover{border-color:var(--c2);box-shadow:0 4px 16px color-mix(in srgb,var(--c2) 22%,transparent)}.osa-teema .game-play{color:var(--c2)}@media (max-width: 640px){.pallo-md{--size: 92px;--emoji: 2.2rem}.pallo-lg{--size: 104px;--emoji: 2.6rem}.pallo-xl{--size: 150px;--emoji: 3.6rem}.pallo{width:calc(var(--size) + 24px)}.pallo-row{gap:28px 10px}.pallo-row-wide .pallo{width:150px}}@media (prefers-reduced-motion: reduce){.pallo-float .pallo-ball,.pallo-in{animation:none}}.pallo-kuva>svg{display:block;width:calc(var(--size) * .72);height:auto}.pallo-kuva{color:#fff;font-weight:800}.osa-otsikko{display:flex;flex-direction:column;align-items:center;gap:14px;padding:36px 20px 20px;width:100%;box-sizing:border-box}.osa-otsikko-title{margin:0;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:900;letter-spacing:-.3px;color:var(--c2);text-align:center}.osa-trail{margin:-4px 0 0;font-size:.92rem;font-weight:700;color:var(--c2);opacity:.75;text-align:center}.osa-sivu{min-height:100vh;background:radial-gradient(60% 40% at 15% 0%,color-mix(in srgb,var(--c1) 22%,transparent),transparent 70%),radial-gradient(50% 40% at 95% 30%,color-mix(in srgb,var(--c2) 12%,transparent),transparent 70%),#f7f9fd}.osa-teema .teo-back-btn{display:none!important}.osa-teema .teo-back-btn{position:absolute;top:12px;left:20px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:none;padding:0;font-size:.88rem;font-weight:700;color:#0a1a3a;cursor:pointer}.osa-teema .teo-back-btn:before{content:"↩";width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:800;color:#fff;background:radial-gradient(circle at 30% 22%,#ffffff8c,#fff0 44%),linear-gradient(150deg,#cbd5e1,#64748b);box-shadow:0 18px 34px -14px #64748b,inset 0 -10px 22px #0003,inset 0 8px 16px #ffffff4d;transition:scale .45s cubic-bezier(.34,1.56,.64,1)}.osa-teema .teo-back-btn:hover{background:none}.osa-teema .teo-back-btn:hover:before{scale:1.18}.osa-teema .teo-header{padding-left:110px;min-height:104px;box-sizing:border-box}@media (max-width: 640px){.osa-teema .teo-back-btn{left:10px;top:8px}.osa-teema .teo-header{padding-left:96px}}.osa-teema .teo-wrapper{background:transparent}.osa-teema .lv-wrap{padding-top:128px}.landing-header.yla-palkki,.home-header.yla-palkki{position:sticky;top:0;z-index:1000;background:linear-gradient(120deg,color-mix(in srgb,var(--c1, #60a5fa) 80%,transparent),color-mix(in srgb,var(--c2, #1e499e) 86%,transparent));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:none;box-shadow:0 10px 30px -12px var(--c2, #1e499e)}.yla-palkki .logo-img,.yla-palkki .home-logo{filter:brightness(0) invert(1)}.yla-palkki .lan-tab{color:#ffffffe6;background:transparent}.yla-palkki .lan-tab:hover{background:#ffffff2e;color:#fff}.yla-palkki .lan-tab.lan-tab-on{background:#fff;color:var(--c2, #1e499e)}.yla-palkki .lan-welcome{color:#fff}.yla-palkki .lan-lang-switch{border-color:#ffffff8c}.yla-palkki .lan-lang-btn{background:transparent;color:#ffffffeb}.yla-palkki .lan-lang-btn+.lan-lang-btn{border-left-color:#fff6}.yla-palkki .lan-lang-btn:hover{background:#ffffff2e;color:#fff}.yla-palkki .lan-lang-btn.lan-lang-btn-on{background:#fff;color:var(--c2, #1e499e)}.yla-palkki .lan-exit{border-color:#fff9;color:#fff}.yla-palkki .lan-exit:hover{background:#fff;border-color:#fff;color:#c33}.yla-palkki .home-login-btn{background:transparent;border-color:#ffffffb3;color:#fff}.yla-palkki .home-login-btn:hover{background:#fff;color:var(--c2, #1e499e)}@media (hover: hover) and (min-width: 761px){.landing-header.yla-palkki,.home-header.yla-palkki{position:fixed;left:0;right:0;top:0;transform:translateY(calc(-100% + 8px));opacity:.6;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s}.landing-header.yla-palkki:hover,.landing-header.yla-palkki:focus-within,.home-header.yla-palkki:hover,.home-header.yla-palkki:focus-within{transform:none;opacity:1}}.site-logo{display:none!important}.aurinkokunta{--ks: max(600px, min(92vw, calc((100vh - 330px) / .7), 1200px));--r: calc(var(--ks) * .42);--kallistus: 50deg;--pk: clamp(72px, calc(var(--ks) * .1), 120px);--kierros: 160s;position:relative;width:var(--ks);height:calc(var(--ks) * .7);--keski: 40%;margin:0 auto 24px;perspective:2000px;transform-style:preserve-3d}.aurinko{position:absolute;left:50%;top:var(--keski);width:calc(var(--ks) * .2);height:calc(var(--ks) * .2);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 42% 38%,#fffbea,#fff1b8 30%,#fcd34d 62%,#f59e0b);box-shadow:0 0 60px 18px #fbbf2473,0 0 140px 50px #fb923c38,inset 0 -14px 30px #ea580c40;animation:aurinko-hehku 6s ease-in-out infinite;pointer-events:none;transition:opacity .35s}.avaruus:hover .aurinko{opacity:.35}.aurinko:before{content:"";position:absolute;top:-22%;right:-22%;bottom:-22%;left:-22%;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(251,191,36,.22) 0deg 6deg,transparent 6deg 18deg);-webkit-mask:radial-gradient(circle,transparent 54%,#000 56%,transparent 72%);mask:radial-gradient(circle,transparent 54%,#000 56%,transparent 72%);animation:sateet-kiertaa 90s linear infinite;z-index:-1}@keyframes sateet-kiertaa{to{rotate:360deg}}@keyframes aurinko-hehku{0%,to{box-shadow:0 0 60px 18px #fbbf2473,0 0 140px 50px #fb923c38,inset 0 -14px 30px #ea580c40}50%{box-shadow:0 0 80px 26px #fbbf248c,0 0 180px 70px #fb923c47,inset 0 -14px 30px #ea580c40}}.rata{position:absolute;left:50%;top:var(--keski);width:0;height:0;transform-style:preserve-3d;rotate:x var(--kallistus);animation:rata-kiertaa var(--kierros) linear infinite}@keyframes rata-kiertaa{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rata:before{content:"";position:absolute;left:0;top:0;width:calc(var(--r) * 2);height:calc(var(--r) * 2);transform:translate(-50%,-50%);border-radius:50%;border:2px dashed rgba(255,255,255,.25);pointer-events:none}.planeetta{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d;transform:rotate(var(--a)) translate(var(--r)) rotate(calc(-1 * var(--a)))}.planeetta-pysty{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d;animation:planeetta-kaantyy var(--kierros) linear infinite}@keyframes planeetta-kaantyy{0%{transform:rotate(0) rotateX(calc(-1 * var(--kallistus)))}to{transform:rotate(-360deg) rotateX(calc(-1 * var(--kallistus)))}}.planeetta-sisus{position:absolute;left:0;top:0;translate:-50% calc(var(--pk) / -2)}.planeetta-sisus .pallo{--size: var(--pk)}.avaruus:hover .rata,.avaruus:hover .planeetta-pysty,.avaruus:focus-within .rata,.avaruus:focus-within .planeetta-pysty{animation-play-state:paused}.aurinkokunta,.rata,.planeetta,.planeetta-pysty,.planeetta-sisus{pointer-events:none}.planeetta-sisus .pallo{pointer-events:auto}@media (max-width: 700px){.aurinkokunta{width:100%;height:auto;perspective:none;transform-style:flat;display:flex;flex-direction:column;align-items:center;gap:36px;padding-top:16px}.aurinko{position:relative;left:auto;top:auto;transform:none;width:170px;height:170px}.rata{position:static;width:auto;height:auto;rotate:none;transform:none;animation:none;transform-style:flat;display:flex;flex-wrap:wrap;justify-content:center;gap:28px 10px}.rata:before{display:none}.planeetta{position:static;width:auto;height:auto;transform:none;transform-style:flat}.planeetta-pysty{position:static;width:auto;height:auto;transform:none;animation:none}.planeetta-sisus{position:static;translate:none}}@media (prefers-reduced-motion: reduce){.rata,.planeetta-pysty,.aurinko,.aurinko:before{animation:none}}.avaruus,.home.home-avaruus{background:radial-gradient(1.5px 1.5px at 12% 18%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 28% 72%,rgba(255,255,255,.6),transparent),radial-gradient(1.5px 1.5px at 46% 9%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 63% 84%,rgba(255,255,255,.55),transparent),radial-gradient(1.5px 1.5px at 79% 27%,rgba(255,255,255,.75),transparent),radial-gradient(1px 1px at 90% 61%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 6% 52%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 37% 40%,rgba(255,255,255,.45),transparent),radial-gradient(1px 1px at 71% 50%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 55% 63%,rgba(255,255,255,.4),transparent),var(--taivas)}.avaruus{width:100%;box-sizing:border-box;padding:28px 12px;border-radius:32px;box-shadow:inset 0 0 80px #00000059}.home-avaruus .avaruus{background:none;box-shadow:none;padding:0;border-radius:0}.home-avaruus .home-aurora{display:none}.home-avaruus{position:relative}.home-avaruus .home-main{padding:28px 12px 24px}.home-avaruus .home-title{margin-bottom:8px;background:linear-gradient(100deg,#c7d2fe,#f0abfc 45%,#5eead4);-webkit-background-clip:text;background-clip:text}.home-avaruus .aurinkokunta{--ks: max(600px, min(94vw, calc((100vh - 150px) / .7), 1300px));margin-bottom:0}.home-avaruus .home-footer{position:absolute;left:0;right:0;bottom:0;padding:8px;background:transparent;border:none;color:#ffffff73;font-size:.75rem;pointer-events:none}.avaruus .pallo-label{color:#0a1a3a;background:#ffffffbd;padding:3px 12px;border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px #00000040}.avaruus button.pallo:hover .pallo-label{color:var(--c2)}.osa-ylaosa-lisat{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;flex:1;min-width:0}.osa-ylaosa{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:12px 14px 6px;box-sizing:border-box;width:100%}.osa-teema .q-page,.osa-teema .qd-page:not(.hj-page),.osa-teema .ce-page,.osa-teema .ai01-page{background:transparent}@media (max-width: 640px){.pallo{width:calc(var(--size) + 12px)}.pallo-row{gap:22px 6px}.pallo-row-wide{gap:26px 8px}.pallo-row-wide .pallo{width:46vw;max-width:170px}.osa-otsikko{padding:16px 12px 8px;gap:10px}.osa-otsikko-title{font-size:1.6rem}.yla-palkki .yla-sana{display:none}.q-main select,.q-card select{max-width:100%;min-width:0}.q-main .q-inline:has(select){display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;min-width:0}.q-main .q-inline select{width:100%}.yla-palkki .music-player{top:6px}}@media (max-width: 700px){.aurinko{width:120px;height:120px}.planeetta-sisus .pallo{--size: 80px;width:28vw;max-width:130px}.planeetta-sisus .pallo-label{font-size:.8rem;padding:3px 8px;white-space:nowrap}.home-avaruus .home-title{margin-bottom:0}}.osa-logo{width:clamp(150px,22vw,210px);height:auto;display:block}.taso-row{display:grid;grid-template-columns:repeat(3,minmax(0,230px));justify-content:center;gap:22px;margin:8px auto 32px;padding:0 16px}.taso-kortti{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;min-height:330px;padding:22px 18px 20px;border:0;border-radius:22px;cursor:pointer;font:inherit;color:#fff;background:linear-gradient(170deg,var(--taso-a),var(--taso-b));box-shadow:0 12px 28px color-mix(in srgb,var(--c2) 28%,transparent);transition:transform .18s,box-shadow .18s}.taso-kortti:hover,.taso-kortti:focus-visible{transform:translateY(-4px);box-shadow:0 18px 36px color-mix(in srgb,var(--c2) 38%,transparent)}.taso-1{--taso-a: color-mix(in srgb, var(--c1) 70%, #ffffff);--taso-b: var(--c1)}.taso-2{--taso-a: var(--c1);--taso-b: color-mix(in srgb, var(--c1) 45%, var(--c2))}.taso-3{--taso-a: color-mix(in srgb, var(--c1) 40%, var(--c2));--taso-b: var(--c2)}.taso-palkit{display:flex;align-items:flex-end;gap:4px;height:22px;align-self:flex-start}.taso-palkit i{width:7px;border-radius:3px;background:#ffffff59}.taso-palkit i:nth-child(1){height:9px}.taso-palkit i:nth-child(2){height:15px}.taso-palkit i:nth-child(3){height:22px}.taso-palkit i.on{background:var(--accent)}.taso-ikoni{font-size:3.2rem;line-height:1;margin-top:8px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}.taso-nimi{font-size:1.6rem;font-weight:900;letter-spacing:-.2px}.taso-kuvaus{font-size:.95rem;line-height:1.5;opacity:.95;flex:1}.taso-maara{font-size:.85rem;font-weight:800;background:#fff3;border-radius:999px;padding:4px 12px}@media (max-width: 640px){.taso-row{grid-template-columns:minmax(0,360px);gap:14px;padding:0 16px}.taso-kortti{min-height:0;padding:16px 16px 18px;gap:8px;border-radius:18px}.taso-ikoni{font-size:2.4rem;margin-top:0}.taso-nimi{font-size:1.35rem}.taso-kuvaus{font-size:.92rem}}.kortit .pallo-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,230px));justify-content:center;gap:18px;padding:0 16px;align-items:stretch}.kortit .pallo-row .pallo-in{display:flex}.kortit .pallo-row .pallo{width:100%;min-height:220px;box-sizing:border-box;justify-content:flex-start;gap:10px;text-align:center;padding:22px 16px 18px;border-radius:20px;color:#fff;position:relative;background:linear-gradient(165deg,var(--c1),color-mix(in srgb,var(--c1) 40%,var(--c2)));box-shadow:0 12px 26px color-mix(in srgb,var(--c2) 26%,transparent);transition:transform .18s,box-shadow .18s}.kortit .pallo-row button.pallo:hover,.kortit .pallo-row button.pallo:focus-visible{transform:translateY(-4px);box-shadow:0 18px 34px color-mix(in srgb,var(--c2) 36%,transparent)}.kortit .pallo-row .pallo-ball{position:static;width:auto;height:64px;background:none;box-shadow:none;border-radius:0;scale:none!important}.kortit .pallo-row .pallo-ball:after{display:none}.kortit .pallo-row .pallo-ball svg{width:56px;height:56px}.kortit .pallo-row .pallo-kuva{font-size:2.8rem}.kortit .pallo-row .pallo-badge{position:absolute;top:12px;right:12px}.kortit .pallo-row .pallo-label,.kortit .pallo-row button.pallo:hover .pallo-label{color:#fff;font-size:1.15rem;font-weight:900;transform:none}.kortit .pallo-row .pallo-sub{margin-top:0;color:#ffffffeb;font-size:.88rem;line-height:1.45;-webkit-line-clamp:5}@media (max-width: 640px){.kortit .pallo-row{grid-template-columns:minmax(0,360px);gap:12px}.kortit .pallo-row .pallo{min-height:0;padding:16px 14px}}.home{width:100%;min-height:100vh;background:#f5f8fd;color:#0a1a3a;display:flex;flex-direction:column}.home-header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:#fff;border-bottom:1px solid #e3ecf8}.home-logo{height:34px;width:auto}.home-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--taivas);pointer-events:none;animation:home-intro-bg 1.6s ease forwards}.home-intro-logo{height:46vh;max-height:420px;max-width:86vw;width:auto;filter:brightness(0) invert(1);animation:home-intro-logo 1.6s cubic-bezier(.65,0,.35,1) forwards}@keyframes home-intro-bg{0%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes home-intro-logo{0%{transform:translate(0) scale(1)}65%{transform:translate(0) scale(1)}to{transform:translate(0) scale(.9);opacity:0}}.home-login-btn{background:#fff;border:1px solid #1e499e;color:#1e499e;padding:8px 18px;border-radius:8px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.home-login-btn:hover{background:#1e499e;color:#fff}.home-header-right{display:flex;align-items:center;gap:14px}.home-cta-btn{background:#1e499e;color:#fff;border:none;padding:14px 34px;border-radius:10px;font-size:1.05rem;font-weight:800;cursor:pointer;transition:transform .12s,box-shadow .12s;box-shadow:0 4px 18px #1e499e40}.home-cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 22px #1e499e59}.home-cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}@media (max-width: 640px){.home-header{flex-direction:column;align-items:center;padding:14px 10px 12px;gap:20px}.home-logo{height:34px}.home-header-right{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:nowrap;width:100%}.home-header-right .lan-lang-btn{padding:6px 9px}.home-login-btn{padding:7px 11px;font-size:.85rem;white-space:nowrap}.home-intro-logo{height:auto;width:82vw;max-width:400px}@keyframes home-intro-logo{0%{transform:translate(0) scale(1)}65%{transform:translate(0) scale(1)}to{transform:translateY(calc(-50vh + 36px)) scale(.48)}}.home-cta-row{flex-direction:column;align-items:center}.home-cta-btn{width:100%;max-width:320px;padding:14px 20px}}.home-footer{text-align:center;padding:24px;color:#7a8aae;font-size:.85rem;border-top:1px solid #e3ecf8}.home-main{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;padding:64px 20px 88px;overflow:hidden;isolation:isolate}.home-aurora{position:absolute;top:-20%;right:-10%;bottom:-20%;left:-10%;z-index:-1;background:radial-gradient(38% 42% at 18% 22%,rgba(167,139,250,.28),transparent 70%),radial-gradient(34% 40% at 82% 18%,rgba(45,212,191,.24),transparent 70%),radial-gradient(40% 44% at 75% 82%,rgba(249,168,212,.26),transparent 70%),radial-gradient(36% 40% at 22% 85%,rgba(56,189,248,.22),transparent 70%);filter:blur(20px);animation:home-aurora 22s ease-in-out infinite alternate}@keyframes home-aurora{0%{transform:translate(0) rotate(0)}to{transform:translate(-3%,2%) rotate(6deg)}}.home-title{margin:0 0 12px;font-size:clamp(2.1rem,4.5vw,3.2rem);font-weight:800;letter-spacing:-.02em;background:linear-gradient(100deg,#1e3a8a,#7c3aed 45%,#0d9488);-webkit-background-clip:text;background-clip:text;color:transparent}@media (max-width: 640px){.home-main{padding:40px 12px 64px}.home-title{margin-bottom:36px}}@media (prefers-reduced-motion: reduce){.home-aurora{animation:none}}.landing{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;position:relative;background:#f5f8fd}.landing-header{position:fixed;top:0;left:0;right:0;height:96px;background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #e3ecf8;display:flex;align-items:center;padding:0 28px;z-index:1000;box-shadow:0 2px 24px #0000004d}.logo{display:flex;align-items:center}.landing-admin-nav{display:flex;align-items:center;gap:4px;margin-left:auto;margin-right:16px}.lan-tab{background:none;border:none;color:#5a6a8a;font-size:.88rem;font-weight:600;padding:7px 18px;border-radius:8px;cursor:pointer;transition:background .12s,color .12s}.lan-tab:hover{background:#e8f2fb;color:#1e499e}.lan-tab.lan-tab-on{background:#1e499e;color:#fff}.lan-lang-switch{display:flex;border:1px solid #c5d9f0;border-radius:8px;overflow:hidden}.lan-lang-btn{background:#fff;border:none;color:#5a6a8a;font-size:.8rem;font-weight:700;padding:6px 12px;cursor:pointer;transition:background .12s,color .12s}.lan-lang-btn+.lan-lang-btn{border-left:1px solid #c5d9f0}.lan-lang-btn:hover{background:#e8f2fb;color:#1e499e}.lan-lang-btn.lan-lang-btn-on{background:#1e499e;color:#fff}.lan-exit{background:none;border:1px solid #c5d9f0;color:#5a6a8a;font-size:.85rem;font-weight:600;padding:6px 16px;border-radius:8px;cursor:pointer;margin-left:8px;transition:border-color .12s,color .12s}.lan-exit:hover{border-color:#c33;color:#c33}.lan-welcome{font-size:1.05rem;font-weight:700;color:#1e499e;white-space:nowrap}@media (max-width: 640px){.lan-welcome{font-size:.9rem}}.logo-img{height:40px;width:auto;object-fit:contain;display:block}.landing-main{width:100%;max-width:var(--sivu-leveys);margin:0 auto;box-sizing:border-box;padding:40px 24px 48px}.landing-detail{width:100%;padding-top:0}.detail-content{width:100%;box-sizing:border-box;padding:0 20px}.section-title{color:#5a6a8a;font-size:.85rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:20px}.quote-card{position:relative;background:#fff;border:1px solid #e3ecf8;border-radius:24px;padding:52px 36px 36px;text-align:center;margin-top:40px;box-shadow:0 8px 30px #0a1a3a14;overflow:visible}.quote-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;background:url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='160' cy='40' r='80' fill='none' stroke='rgba(30,73,158,0.05)' stroke-width='1'/%3E%3Ccircle cx='160' cy='40' r='120' fill='none' stroke='rgba(30,73,158,0.04)' stroke-width='1'/%3E%3C/svg%3E") right -20px top -20px no-repeat;pointer-events:none}.quote-mark{position:absolute;top:-26px;left:50%;transform:translate(-50%);width:52px;height:52px;background:#1e499e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff;font-weight:900;line-height:1;box-shadow:0 4px 20px #1e499e80;padding-top:6px}.quote-text{color:#0a1a3a;font-size:1.45rem;font-weight:800;line-height:1.5;margin:8px 0 28px;letter-spacing:-.2px}.quote-footer{display:flex;flex-direction:column;align-items:center;gap:4px}.quote-author{color:#1e499e;font-size:1rem;font-weight:700;letter-spacing:.3px}.quote-tagline{color:#8a8aae;font-size:.82rem;letter-spacing:.5px}.sub-panel{background:#fffffff7;border:none;border-radius:16px;padding:24px 28px;animation:slide-in .2s ease;box-shadow:0 8px 32px #00000024;width:100%;box-sizing:border-box;overflow-x:hidden}.sub-heading{color:#1a1a2e;font-size:1rem;font-weight:700;letter-spacing:1px;margin-bottom:16px}.sub-label{color:#8a8aae;font-size:.78rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}.diff-row{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.diff-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0;width:68px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .15s,box-shadow .15s;background:#111130}.diff-badge{position:absolute;top:-7px;right:-7px;background:#1e499e;color:#fff;font-size:.6rem;font-weight:800;min-width:17px;height:17px;padding:0 3px;border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 6px #1e499e66;pointer-events:none}.diff-btn:hover{transform:translateY(-2px)}.diff-btn.diff-active{border-color:#fff;box-shadow:0 0 0 2px #fff6}.diff-1{background:#0a2a0a;color:#6f8}.diff-2{background:#122210;color:#8e6}.diff-3{background:#1a2610;color:#ad4}.diff-4{background:#222a08;color:#cc2}.diff-5{background:#2a2a08;color:#ec0}.diff-6{background:#2e2008;color:#fa0}.diff-7{background:#2e1608;color:#f82}.diff-8{background:#2e0e08;color:#f64}.diff-9{background:#2a0808;color:#f44}.diff-10{background:#220606;color:#f22}.diff-num{font-size:1.1rem;font-weight:800}.diff-tag{font-size:.58rem;letter-spacing:.5px;opacity:.8;text-transform:uppercase}.games-panel{background:#fffffff7;border:none;border-radius:14px;padding:18px 20px;margin-top:4px;box-shadow:0 4px 20px #0000001a;width:100%;max-width:var(--sivu-leveys);margin-left:auto;margin-right:auto;box-sizing:border-box}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.no-games{color:#8a8aae;font-size:.9rem;font-style:italic}.games-list{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.game-card{display:flex;align-items:center;gap:16px;padding:14px 20px;background:#fff;border:1.5px solid #c5d9f0;border-radius:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s;text-align:left;color:inherit;box-shadow:0 2px 8px #0000000f}.game-card:hover{border-color:#1e499e;box-shadow:0 4px 16px #1e499e26}.game-name{color:#1a1a2e;font-weight:700;font-size:1rem;min-width:120px}.game-desc{color:#8a8aae;font-size:.85rem;flex:1}.game-play{color:#1e499e;font-size:.85rem;font-weight:700;white-space:nowrap}.opiskelu-card{display:flex;align-items:center;gap:20px;width:100%;background:#fff;border:2px solid #c5d9f0;border-radius:16px;padding:20px 24px;cursor:pointer;text-align:left;transition:border-color .15s,transform .15s,box-shadow .15s;box-shadow:0 2px 8px #1e499e14}.opiskelu-card:hover{border-color:#1e499e;transform:translateY(-2px);box-shadow:0 6px 20px #1e499e2e}.opiskelu-card.opiskelu-card-active{border-color:#1e499e;background:#eef4ff}.opiskelu-card-icon{font-size:2.2rem;flex-shrink:0}.opiskelu-card-title{font-size:1.15rem;font-weight:900;color:#1e499e;margin-bottom:4px}.opiskelu-card-desc{font-size:.82rem;color:#567;line-height:1.4}.landing-footer{width:100%;text-align:center;padding:20px 16px;color:#8a8aae;font-size:.78rem;letter-spacing:.4px;border-top:1px solid #e3ecf8;margin-top:auto}@media (max-width: 760px){.landing-header{position:relative;height:auto;flex-wrap:wrap;gap:6px 8px;padding:8px 12px;box-shadow:0 2px 12px #0000001f}.logo-img{height:36px}.landing-header .logo{flex:1 0 100%;justify-content:center}.landing-header .music-player{position:absolute;top:18px;right:12px}.landing-admin-nav{order:3;width:100%;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.lan-tab{padding:8px 2px;font-size:.76rem;background:#f1f6fd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.landing-admin-nav .lan-lang-switch{grid-column:span 1}.landing-admin-nav .lan-lang-btn{flex:1;padding:8px 0;font-size:.74rem}.lan-exit{margin-left:0}.landing-admin-nav .lan-exit{padding:8px 4px;grid-column:span 3}.lan-welcome{white-space:normal;flex-wrap:wrap;justify-content:flex-end}.landing-main{padding:20px 14px 40px}.landing-detail{padding-top:0}.landing .admin-wrap.embedded{padding:16px 12px}.detail-content{padding:0 14px}}.auth-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:transparent}.auth-card{background:#fff;border:none;border-radius:20px;padding:48px 40px;width:100%;max-width:420px;box-shadow:0 8px 48px #00000038;display:flex;flex-direction:column;align-items:center}.auth-back-link{display:inline-block;background:none;border:none;color:#6a7aae;font-size:.85rem;cursor:pointer;margin-bottom:10px;padding:0}.auth-back-link:hover{color:#1e499e}.auth-logo{font-size:3rem;margin-bottom:12px}.auth-title{font-size:2rem;font-weight:900;color:#1e499e;margin:0 0 4px;letter-spacing:-.5px}.auth-sub{color:#8a8aae;font-size:.9rem;margin:0 0 28px}.auth-form{width:100%;display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#5a5a9e}.auth-input{background:#eef5fc;border:1.5px solid #c5d9f0;border-radius:10px;padding:12px 16px;color:#1a1a2e;font-size:1rem;font-family:Courier New,Courier,monospace;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box}.auth-input:focus{border-color:#1e499e;box-shadow:0 0 0 3px #1e499e26}.auth-select{cursor:pointer}.auth-btn{background:linear-gradient(135deg,#1e499e,#2f5fc4);border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:800;padding:14px 0;cursor:pointer;transition:opacity .2s,transform .1s;letter-spacing:.5px;width:100%}.auth-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{opacity:.45;cursor:not-allowed}.auth-btn-sec{background:#eef5fc;border:1.5px solid #c5d9f0;color:#6a6a8e}.auth-btn-sec:hover:not(:disabled){border-color:#1e499e;color:#1e499e;opacity:1}.auth-btn-row{display:flex;gap:10px}.auth-error{color:#c23;font-size:.88rem;font-weight:700;padding:8px 12px;background:#ff445514;border:1px solid rgba(255,68,85,.25);border-radius:8px}.auth-msg{font-size:.88rem;font-weight:700;padding:10px 14px;border-radius:8px;cursor:pointer;margin-bottom:8px}.auth-msg-ok{color:#174;background:#22aa661a;border:1px solid rgba(34,170,102,.3)}.auth-msg-error{color:#c23;background:#ff445514;border:1px solid rgba(255,68,85,.25)}.app-topbar{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e3ecf8;padding:7px 20px;position:sticky;top:0;z-index:999;flex-shrink:0}.app-topbar-user{font-size:.82rem;color:#5a6a8a;font-weight:700;font-family:Courier New,monospace}.app-topbar-btns{display:flex;gap:8px}.app-topbar-btn{background:#fff;border:1px solid #c5d9f0;border-radius:6px;color:#5a6a8a;font-size:.8rem;font-weight:700;padding:5px 14px;cursor:pointer;transition:all .2s}.app-topbar-btn:hover{background:#e8f2fb;border-color:#1e499e;color:#1e499e}.app-topbar-logout{color:#c33!important;border-color:#cc333359!important}.app-topbar-logout:hover{background:#cc333314!important;border-color:#c33!important}.teo-back-btn{background:none;border:2px solid #1a1a35;color:#667;border-radius:10px;padding:7px 18px;font-size:.9rem;font-weight:700;cursor:pointer;transition:border-color .15s,color .15s}.teo-back-btn:hover{border-color:#348;color:#9ac}.admin-wrap{min-height:100vh;background:transparent;color:#1a1a2e;padding:24px 32px;max-width:var(--sivu-leveys);margin:0 auto}.admin-wrap.embedded{padding-top:116px}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-landing-header{display:flex;align-items:center;padding:0 32px;height:72px;background:#0e1130;border-bottom:1px solid #1e2140;gap:24px;flex-shrink:0}.admin-landing-logo{flex-shrink:0}.admin-logo-img{height:34px;width:auto;display:block}.admin-landing-tabs{display:flex;gap:4px;flex:1;justify-content:center}.admin-landing-tab{background:none;border:none;color:#89b;font-size:.92rem;font-weight:600;padding:8px 22px;border-radius:8px;cursor:pointer;transition:background .12s,color .12s}.admin-landing-tab:hover{background:#1a1e38;color:#ccd}.admin-landing-tab.alt-active{background:#1e2a50;color:#fff}.admin-exit-btn{background:none;border:1px solid #2a2d44;color:#89a;padding:7px 18px;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;flex-shrink:0;transition:border-color .12s,color .12s}.admin-exit-btn:hover{border-color:#c44;color:#f66}.admin-user-badge{font-size:.8rem;color:#ffffffbf;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:4px 14px;font-weight:700;font-family:Courier New,monospace}.admin-tabs{display:flex;gap:8px;margin-bottom:24px}.admin-tab{background:#fff;border:1.5px solid #c5d9f0;border-radius:8px;color:#5a6a8a;font-size:.9rem;font-weight:700;padding:8px 24px;cursor:pointer;transition:all .2s}.admin-tab:hover{border-color:#1e499e;color:#1e499e}.admin-tab-active{background:#1e499e!important;border-color:#1e499e!important;color:#fff!important}.admin-sec-title{font-size:.82rem;font-weight:800;color:#5a6a8a;text-transform:uppercase;letter-spacing:1.2px;margin:0 0 12px}.admin-add-form{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.admin-fs{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;border:1px solid #c5d9f0;border-radius:12px;padding:10px 14px 14px;margin:0;min-width:0}.admin-fs legend{font-size:.75rem;font-weight:800;color:#3a4a7a;text-transform:uppercase;letter-spacing:1px;padding:0 6px}.admin-field{display:flex;flex-direction:column;gap:4px;flex:1 1 170px;min-width:0}.admin-field>span{font-size:.78rem;font-weight:700;color:#5a6a8a}.admin-field-sm{flex:0 1 100px}.admin-field-wide{flex:1 1 100%}.admin-add-form .auth-input{width:100%;box-sizing:border-box;padding:10px 14px}.admin-add-form textarea.auth-input{resize:vertical;font-family:inherit}.admin-add-form .auth-btn{padding:10px 28px;width:auto;align-self:flex-end}.admin-user-list{display:flex;flex-direction:column;gap:6px}.admin-user-row{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #c5d9f0;border-radius:10px;padding:11px 16px;box-shadow:0 2px 8px #00000012}.admin-username{font-family:Courier New,monospace;font-weight:900;color:#1e499e;min-width:130px}.admin-role{font-size:.72rem;font-weight:800;text-transform:uppercase;padding:3px 10px;border-radius:6px;letter-spacing:.5px}.admin-role-admin{background:#1e499e1a;color:#1e499e}.admin-role-user{background:#22aa661a;color:#2a6}.admin-role-teacher{background:#f0a8321f;color:#c98a1a}.admin-created{font-size:.8rem;color:#8a8aae;flex:1}.admin-del-btn{background:#ff445512;border:1px solid rgba(255,68,85,.22);color:#c23;border-radius:6px;padding:5px 14px;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .2s}.admin-del-btn:hover{background:#ff445526}.admin-score-search{max-width:320px;margin-bottom:16px}.admin-score-block{margin-bottom:16px;background:#fff;border:1px solid #c5d9f0;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0a1a3a0f}.admin-score-username{background:#f5f8fd;border-bottom:1px solid #e3ecf8;padding:10px 16px;font-family:Courier New,monospace;font-weight:900;color:#1e499e}.admin-score-list{display:flex;flex-direction:column}.admin-score-row{display:flex;gap:14px;align-items:center;padding:8px 16px;border-bottom:1px solid #eef5fc}.admin-score-row:last-child{border-bottom:none}.admin-score-game{flex:1;color:#1a1a2e;font-size:.9rem}.admin-score-val{font-family:Courier New,monospace;font-weight:900;color:#2a6;min-width:64px;text-align:right}.admin-score-ts{font-size:.76rem;color:#8a8aae;min-width:150px;text-align:right}.admin-empty{color:#8a8aae;font-size:.9rem;padding:16px 0}.admin-passed-count{color:#8a8aae;font-weight:400;font-size:.85rem;margin-left:6px}.admin-passed-list{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px}.admin-passed-tag{background:#22aa661a;border:1px solid rgba(34,170,102,.3);color:#2a6;font-size:.76rem;font-weight:700;padding:3px 9px;border-radius:8px}.lp-user-list{display:flex;flex-direction:column;gap:8px}.lp-user-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e3ecf8;border-radius:12px;padding:16px 20px;cursor:pointer;text-align:left;width:100%;transition:background .15s,border-color .15s;box-shadow:0 2px 8px #0a1a3a0d}.lp-user-row:hover{background:#f5f8fd;border-color:#c5d9f0}.lp-user-name{font-weight:700;font-size:1rem;color:#0a1a3a;min-width:130px}.lp-user-stats{display:flex;gap:8px;flex:1;flex-wrap:wrap}.lp-stat{font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:20px}.lp-stat.lp-done{background:#22aa661f;color:#2a6}.lp-stat.lp-ongoing{background:#f0a83224;color:#b8720c}.lp-stat.lp-none{background:#f0f3f8;color:#8a8aae}.lp-arrow{color:#c5d9f0;font-size:1.1rem;margin-left:auto}.lp-section{margin:10px 0}.lp-section-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:10px 0 4px}.lp-done{color:#2a6}.lp-ongoing{color:#b8720c}.lp-none{color:#8a8aae}.lp-tag-done{background:#22aa661a;border-color:#22aa664d;color:#2a6}.lp-tag-ongoing{background:#f0a8321f;border-color:#f0a83259;color:#b8720c}.lp-tag-none{background:#f0f3f8;border-color:#dde5f0;color:#8a8aae}.admin-wa-display{font-size:.8rem;color:#2a6;font-family:Courier New,monospace;cursor:pointer;padding:3px 8px;border-radius:6px;border:1px solid transparent;transition:all .15s;white-space:nowrap}.admin-wa-display:hover{border-color:#aaddc8;background:#22aa660f}.admin-wa-empty{color:#8a8aae;font-style:italic;font-size:.75rem}.admin-wa-edit{display:inline-flex;align-items:center;gap:5px}.admin-wa-input{padding:5px 10px!important;font-size:.82rem!important;width:170px!important}.admin-game-count{font-size:.78rem;color:#8a8aae;font-family:Courier New,monospace;flex:1;text-align:right;white-space:nowrap;padding-right:8px}.admin-perm-btn{background:#1e499e14;border:1px solid rgba(30,73,158,.25);color:#1e499e;border-radius:6px;padding:5px 14px;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .2s}.admin-perm-btn:hover{background:#1e499e29}.admin-perm-btn-active{background:#1e499e33!important;border-color:#1e499e!important}.gperm-wrap{background:#eef5fc;border:1px solid #c5d9f0;border-top:none;border-radius:0 0 12px 12px;padding:16px 20px 14px;margin-bottom:6px}.gperm-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.gperm-title{font-size:.85rem;font-weight:800;color:#1e499e;text-transform:uppercase;letter-spacing:.8px}.gperm-groups{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto;padding-right:4px}.gperm-group-header{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border-radius:8px 8px 0 0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.gperm-group-header:hover{background:#e8f2fb}.gperm-group-check{font-size:1rem;color:#c5d9f0;transition:color .15s}.gperm-check-on{color:#1e499e}.gperm-check-part{color:#5a8abd}.gperm-group-label{font-size:.78rem;font-weight:800;color:#6a6a8e;text-transform:uppercase;letter-spacing:.6px;flex:1}.gperm-count{font-size:.72rem;color:#8a8aae;font-family:Courier New,monospace}.gperm-chips{display:flex;flex-wrap:wrap;gap:6px;background:#faf9ff;border:1px solid #e8f2fb;border-top:none;border-radius:0 0 8px 8px;padding:8px 10px}.gperm-chip{background:#fff;border:1px solid #c5d9f0;border-radius:6px;color:#8a8aae;font-size:.75rem;font-weight:700;padding:4px 10px;cursor:pointer;transition:all .15s}.gperm-chip:hover{border-color:#1e499e;color:#1e499e}.gperm-chip-on{background:#e8f2fb;border-color:#1e499e;color:#1e499e}.gperm-chip-part{background:#f4f8fc;border-color:#5a8abd;color:#5a8abd}.gperm-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid #c5d9f0}.gperm-summary{font-size:.8rem;color:#8a8aae;font-family:Courier New,monospace}.gperm-btn{background:linear-gradient(135deg,#1e499e,#2f5fc4);border:none;border-radius:8px;color:#fff;font-size:.82rem;font-weight:800;padding:8px 18px;cursor:pointer;transition:opacity .2s}.gperm-btn:hover:not(:disabled){opacity:.85}.gperm-btn:disabled{opacity:.45;cursor:not-allowed}.gperm-btn-sec{background:#eef5fc;border:1.5px solid #c5d9f0;color:#6a6a8e}.gperm-btn-sm{padding:5px 12px;font-size:.75rem}.gperm-btn-clear{background:#ff445514;border:1px solid rgba(255,68,85,.25);color:#c23}.wa-panel{background:#25d3660a;border:1px solid rgba(37,211,102,.18);border-radius:14px;padding:20px 22px 18px;margin-top:8px}.wa-status-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.wa-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.wa-dot-on{background:#25d166;box-shadow:0 0 6px #25d166}.wa-dot-off{background:#c5d9f0}.wa-dot-wait{background:#fc4;box-shadow:0 0 6px #fc4}.wa-status-label{font-size:.88rem;color:#5a6a8a;flex:1}.wa-btn{background:#25d36626;border:1px solid rgba(37,211,102,.35);color:#25d166;border-radius:8px;padding:7px 16px;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .2s}.wa-btn:hover:not(:disabled){background:#25d36640}.wa-btn:disabled{opacity:.4;cursor:not-allowed}.wa-btn-connect{background:#25d36633}.wa-btn-send{padding:9px 22px;font-size:.88rem}.wa-btn-sec{background:#f5f8fd;border-color:#c5d9f0;color:#8a8aae}.wa-btn-sec:hover{background:#eef3ff}.wa-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;margin-bottom:14px;background:#f5f8fd;border:1px solid #e3ecf8;border-radius:10px}.wa-qr-hint{font-size:.8rem;color:#8a8aae;margin:0;text-align:center}.wa-qr-img{width:200px;height:200px;border-radius:8px;background:#fff;padding:6px}.wa-schedule-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.wa-schedule-label{font-size:.82rem;color:#5a6a8a}.wa-time-input{background:#fff;border:1px solid #c5d9f0;color:#0a1a3a;border-radius:7px;padding:6px 10px;font-size:.85rem;width:110px}.wa-time-input:focus{outline:none;border-color:#25d36666}.wa-actions-row{display:flex;align-items:center;gap:12px}.wa-result{margin-top:12px;padding:10px 14px;border-radius:8px;font-size:.82rem;font-weight:600}.wa-result-ok{background:#25d3661a;border:1px solid rgba(37,211,102,.25);color:#25d166}.wa-result-err{background:#ff44551a;border:1px solid rgba(255,68,85,.25);color:#f56}.log-list{display:flex;flex-direction:column;gap:2px}.log-row{display:grid;grid-template-columns:28px 160px 120px 1fr auto;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:#fff;border:1px solid #e3ecf8;font-size:.82rem;transition:background .15s}.log-row:hover{background:#f5f8fd}.log-icon{font-size:1rem;text-align:center}.log-time{color:#8a8aae;font-family:Courier New,monospace;font-size:.75rem}.log-user{color:#0a1a3a;font-weight:700}.log-label{font-weight:600}.log-detail{color:#8a8aae;font-size:.78rem;text-align:right}.admin-contact{font-size:.85rem;color:#1e499e;text-decoration:none;white-space:nowrap}.admin-user-main{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.admin-user-details{display:flex;flex-wrap:wrap;gap:6px 16px;padding-top:8px;border-top:1px dashed #dbe6f5}.admin-user-details .admin-contact{white-space:normal;overflow-wrap:anywhere}.admin-user-main .admin-lang-select{width:auto;flex:0 0 auto;padding:6px 30px 6px 10px}.admin-child-check{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#1e2a5a;padding:10px 4px;white-space:nowrap;cursor:pointer}.admin-user-editor{margin:8px 0 12px;padding:14px;background:#f7faff;border:1px solid #c5d9f0;border-radius:12px}.osa-valinta{display:flex;flex-direction:column;gap:10px;margin-top:10px}.osa-valinta-btn{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);font-size:1.05rem}.admin-osat{display:flex;flex-wrap:wrap;gap:6px;padding:6px 6px 10px 14px;align-items:center}.admin-osa-chip{border:1.5px solid #c5d9f0;background:#fff;color:#3a4a7a;border-radius:999px;padding:4px 11px;font-size:.8rem;cursor:pointer}.admin-osa-chip.on{background:#1e499e;border-color:#1e499e;color:#fff}.log-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.log-filters .auth-select{width:auto;min-width:150px;padding:6px 10px;font-size:.82rem}.log-count{color:#8a8aae;font-size:.78rem}.log-users{display:flex;flex-direction:column;gap:2px}.log-urow{display:grid;grid-template-columns:1.3fr 160px 90px 70px 1.6fr;gap:10px;align-items:center;padding:8px 12px;border-radius:8px;background:#fff;border:1px solid #e3ecf8;font-size:.82rem;text-align:left;font-family:inherit;cursor:pointer;color:#2b3550}.log-urow:hover{background:#f5f8fd}.log-uhead{background:#eef5fc;font-weight:700;color:#3a4a7a;cursor:default}.log-user small{color:#8a8aae;font-weight:500}@media (max-width: 640px){.log-row{grid-template-columns:24px 1fr;row-gap:2px}.log-row .log-time,.log-row .log-label,.log-row .log-detail{grid-column:2;text-align:left}.log-urow{grid-template-columns:1fr 1fr}.log-uhead{display:none}}.opp-wrap{min-height:100vh;background:#f5f8fd;color:#0a1a3a;font-family:-apple-system,Segoe UI,system-ui,sans-serif;padding-bottom:80px}.opp-header{display:flex;align-items:center;padding:14px 24px;border-bottom:1px solid #e3ecf8;background:#fff;position:sticky;top:0;z-index:10}.opp-legend{display:flex;gap:16px;font-size:.78rem;font-weight:600}.opp-legend-item{display:flex;align-items:center;gap:4px;opacity:.85}.opp-intro{max-width:var(--sivu-leveys);margin:24px auto 8px;padding:0 24px;font-size:.92rem;color:#5a6a8a;line-height:1.6}.opp-intro strong{color:#0a1a3a}.opp-list{max-width:var(--sivu-leveys);margin:0 auto;padding:24px 24px 0}.opp-item{display:flex;gap:16px}.opp-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:44px}.opp-num{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;flex-shrink:0;z-index:1}.opp-line{flex:1;width:2px;background:linear-gradient(to bottom,var(--lc, #c5d9f0) 0%,#e3ecf8 100%);margin:4px 0;min-height:24px}.opp-card{flex:1;margin-bottom:28px;background:#fff;border:1.5px solid #e3ecf8;border-radius:14px;padding:18px 20px;min-width:0;box-shadow:0 2px 10px #0a1a3a0d}.opp-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.opp-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 9px;border-radius:99px;margin-bottom:6px}.opp-card-title{font-size:1.05rem;font-weight:700;margin:0;letter-spacing:-.01em;color:#0a1a3a}.opp-time{font-size:.85rem;font-weight:700;white-space:nowrap;margin-top:2px;flex-shrink:0}.opp-steps{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.opp-step{border-radius:0 8px 8px 0;padding:10px 14px}.opp-step-head{display:flex;align-items:center;gap:6px;margin-bottom:3px}.opp-step-icon{font-size:.85rem}.opp-step-label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.opp-step-detail{font-size:.83rem;color:#5a6a8a;line-height:1.4}.opp-miksi{background:#f5f8fd;border-radius:8px;padding:10px 14px;font-size:.83rem;color:#5a6a8a;line-height:1.5}.opp-miksi-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8a8aae;margin-bottom:4px}.opp-summary{max-width:var(--sivu-leveys);margin:12px auto 0;padding:0 24px;background:none}.opp-sum-title{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a8aae;margin-bottom:12px;text-align:center}.opp-sum-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.opp-sum-item{background:#fff;border:1.5px solid #e3ecf8;border-radius:12px;padding:16px 10px;text-align:center;font-size:.78rem;color:#5a6a8a;box-shadow:0 2px 8px #0a1a3a0d}.opp-sum-item span{display:block;font-size:1.5rem;font-weight:800;color:var(--c2, #1e499e);margin-bottom:4px}.opp-total-progress{max-width:var(--sivu-leveys);margin:16px auto 0;padding:0 24px}.opp-total-label{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:6px;color:var(--muted, #5a6a8a)}.opp-progress-track{height:6px;background:#e3ecf8;border-radius:99px;overflow:hidden}.opp-progress-fill{height:100%;border-radius:99px;transition:width .4s ease}.opp-card-toggle{width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:inherit}.opp-aihe-prog-wrap{display:flex;align-items:center;gap:8px;margin-top:10px}.opp-aihe-prog-wrap .opp-progress-track{flex:1}.opp-kk-prog{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.opp-kk-pct{font-size:.78rem;font-weight:700}.opp-steps-expanded{margin-top:12px;display:flex;flex-direction:column;gap:8px}.opp-step-row{border-radius:0 8px 8px 0;padding:10px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;transition:opacity .2s}.opp-step-row.opp-step-done{opacity:.6}.opp-step-left{display:flex;align-items:flex-start;gap:8px;flex:1;min-width:0}.opp-step-btns{display:flex;flex-direction:column;gap:5px;flex-shrink:0}.opp-btn-open{padding:5px 10px;font-size:.78rem;font-weight:700;background:#eef3ff;border:1.5px solid #c5d9f0;border-radius:7px;color:#2a5aa0;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.opp-btn-open:hover{border-color:#4f8eff;color:var(--c2, #1e499e)}.opp-btn-script{background:#2b2140;border-color:#5b4a86;color:#e7defe}.opp-btn-script:hover{border-color:#8a6fd8;color:#fff}.opp-btn-done{padding:5px 10px;font-size:.75rem;font-weight:700;background:#f5f8fd;border:1.5px solid #dde5f0;border-radius:7px;color:#8a8aae;cursor:pointer;white-space:nowrap;transition:all .15s}.opp-btn-done.is-done{background:#eafbf1;border-color:#3ec47a;color:#1f8a4d}.opp-month-block{margin-bottom:8px}.opp-month-header{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid #e3ecf8;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px #0a1a3a0d}.opp-month-num{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:8px;flex-shrink:0}.opp-month-name{font-size:1rem;font-weight:700;letter-spacing:-.01em;color:#0a1a3a}.opp-month-count{font-size:.78rem;margin-top:2px}.opp-month-sep{height:2px;border-radius:2px;margin:24px 0 32px;opacity:.5}@media (max-width: 500px){.opp-sum-grid{grid-template-columns:repeat(2,1fr)}.opp-legend{gap:10px;font-size:.72rem}.opp-card{padding:14px}}.lk-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;width:100%;margin-bottom:24px}.lk-card{min-width:0;border:2px solid color-mix(in srgb,var(--lk-c) 55%,transparent);border-radius:20px;padding:18px 12px 14px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:border-color .15s,transform .15s}.lk-card:hover{border-color:var(--lk-c);transform:scale(1.03)}.lk-title{font-weight:900;font-size:1.05rem;letter-spacing:.5px;line-height:1.25;max-width:100%;overflow-wrap:anywhere;-webkit-hyphens:manual;hyphens:manual}.lk-desc{font-size:.68rem;color:#3a4a66;line-height:1.4}.lk-card .lk-title{text-shadow:none}.lk-badge{margin-top:auto;border:1px solid;border-radius:20px;padding:2px 10px;font-size:.72rem;font-weight:700}@media (max-width: 1000px){.lk-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 800px){.lk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 600px){.lk-grid{grid-template-columns:minmax(0,1fr);gap:10px}.lk-card{padding:14px 8px 12px}.lk-title{font-size:.95rem}}button.lk-card{font:inherit;cursor:pointer}.lk-card:not(.lk-has){cursor:default}.lk-card:not(.lk-has):hover{transform:none;border-color:color-mix(in srgb,var(--lk-c) 55%,transparent)}.lk-path{width:100%;max-width:860px;margin:0 auto 24px}.lk-path-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;background:#fff;border:1px solid #e3ecf8;border-radius:12px;box-shadow:0 2px 8px #0a1a3a0d}.lk-path-icon{border-radius:12px;padding:4px 8px;display:flex}.lk-path-total{margin:14px 2px 18px}.lk-note{color:#678;font-size:.82rem;margin:8px 0 0}.lk-path-book{margin-bottom:22px}.lk-path-book .opp-month-header{margin-bottom:10px}.lk-row{align-items:center;flex-wrap:wrap;margin:0 0 6px 8px}.lk-row .opp-step-label{letter-spacing:.04em}.lk-row-btns{display:flex;gap:6px;flex-wrap:wrap}.lk-credit{color:#89a;font-size:.72rem;margin:10px 4px 0}@media (max-width: 600px){.lk-row{margin-left:0}.lk-row-btns{width:100%;padding-left:24px}.lk-path-head .lk-path-icon{display:none}}.gsh-bg{min-height:100vh;background:transparent;display:flex;align-items:center;justify-content:center;padding:20px}.gsh-card{background:#fff;border:none;border-radius:20px;padding:36px 40px 28px;width:100%;max-width:520px;box-shadow:0 12px 60px #00000038;display:flex;flex-direction:column;gap:20px}.gsh-header{display:flex;align-items:center;gap:12px}.gsh-close{background:none;border:1.5px solid #c5d9f0;border-radius:8px;color:#8a8aae;font-size:1rem;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.gsh-close:hover{border-color:#f45;color:#f56}.gsh-game-title{font-size:1.25rem;font-weight:900;color:#1e499e;flex:1;letter-spacing:-.3px}.gsh-passed-badge{background:#44dd881f;border:1px solid rgba(68,221,136,.4);color:#2a6;font-size:.78rem;font-weight:800;padding:3px 10px;border-radius:20px;white-space:nowrap}.gsh-step-indicator{display:flex;gap:8px;justify-content:center}.gsh-dot{width:8px;height:8px;border-radius:50%;background:#c5d9f0;transition:all .2s}.gsh-dot-done{background:#7ab3de}.gsh-dot-active{background:#1e499e;transform:scale(1.3)}.gsh-step{background:#eef5fc;border:1px solid #c5d9f0;border-radius:14px;padding:22px 24px;min-height:110px}.gsh-step-title{font-size:1.1rem;font-weight:900;color:#1e499e;margin:0 0 10px;letter-spacing:-.2px}.gsh-step-body{font-size:.96rem;color:#3a3a5e;line-height:1.65;margin:0}.gsh-nav{display:flex;gap:10px;justify-content:flex-end}.gsh-btn{background:linear-gradient(135deg,#1e499e,#2f5fc4);border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:800;padding:11px 22px;cursor:pointer;transition:opacity .2s,transform .1s;letter-spacing:.3px}.gsh-btn:hover{opacity:.88;transform:translateY(-1px)}.gsh-btn:active{transform:translateY(0)}.gsh-btn-sec{background:#fff;border:1.5px solid #c5d9f0;color:#8a8aae}.gsh-btn-sec:hover{border-color:#1e499e;color:#1e499e;opacity:1}.gsh-btn-start{background:linear-gradient(135deg,#2c6,#194);padding:11px 28px}.gsh-btn-live{background:none;border:1.5px solid #c5d9f0;color:#2a72b8;font-size:.88rem;font-weight:700;padding:8px 16px;width:100%;text-align:center;letter-spacing:.2px}.gsh-btn-live:hover{border-color:#1e499e;color:#1e499e;opacity:1}.gsh-threshold{text-align:center;font-size:.8rem;color:#8a8aae}.gsh-threshold strong{color:#f84}.gsh-game-wrap{position:relative;min-height:100vh}.gsh-result-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3833c9d9;display:flex;align-items:center;justify-content:center;z-index:9000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gsh-result-card{background:#fff;border:none;border-radius:20px;padding:40px 48px;text-align:center;max-width:440px;width:90%;box-shadow:0 16px 80px #0000004d}.gsh-result-icon{font-size:3.5rem;font-weight:900;margin-bottom:12px;line-height:1}.gsh-result-pass{color:#2a6}.gsh-result-fail{color:#f45}.gsh-result-title{font-size:1.8rem;font-weight:900;margin:0 0 8px;letter-spacing:-.5px}.gsh-pass-title{color:#2a6}.gsh-fail-title{color:#f56}.gsh-result-score{font-size:1rem;color:#8a8aae;margin:0 0 28px}.gsh-result-score strong{color:#1e499e}.gsh-result-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.game-card-passed{position:absolute;top:8px;right:10px;background:#22aa661f;border:1px solid rgba(34,170,102,.4);color:#2a6;font-size:.7rem;font-weight:800;padding:2px 8px;border-radius:10px}.fop-wrap{min-height:100vh;background:#f5f8fd;color:#0a1a3a;font-family:-apple-system,Segoe UI,system-ui,sans-serif;padding-bottom:80px}.fop-content{max-width:var(--sivu-leveys);margin:0 auto;padding:0 24px}.fop-empty{color:#8a8aae;font-size:.95rem;font-style:italic;padding:40px 0;text-align:center}.fop-otsikko-list{display:flex;flex-direction:column;gap:14px}.fop-otsikko-card{background:#fff;border:1.5px solid #e3ecf8;border-radius:14px;padding:18px 22px;box-shadow:0 2px 10px #0a1a3a0d}.fop-otsikko-title{font-size:1.05rem;font-weight:800;color:var(--c2, #1e499e);margin:0 0 8px}.fop-aliotsikko-list{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:2px}.fop-aliotsikko-item{font-size:.9rem;color:#3a3a5e;line-height:1.5;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px 6px 14px;border-radius:8px;position:relative}.fop-aliotsikko-item:before{content:"•";position:absolute;left:0;color:#c5d9f0}.fop-aliotsikko-item:hover{background:#f5f8fd}.fop-aliotsikko-text{flex:1;min-width:0}.fop-aliotsikko-btns{display:flex;gap:4px;flex-shrink:0}.fop-content-btn{background:#fff;border:1px solid #e3ecf8;border-radius:6px;width:30px;height:30px;font-size:.95rem;cursor:pointer;transition:border-color .15s,background .15s;display:flex;align-items:center;justify-content:center}.fop-content-btn:hover{border-color:var(--c2, #1e499e);background:#eef3ff}.fop-script-btn{background:#2b2140;border-color:#5b4a86;color:#e7defe}.fop-script-btn:hover{border-color:#8a6fd8;background:#3a2c58}.opp-script-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a1999;display:flex;align-items:center;justify-content:center;padding:24px;z-index:300}.opp-script-card{background:#fff;border-radius:16px;max-width:640px;width:100%;max-height:82vh;overflow-y:auto;padding:20px 24px 24px;box-shadow:0 12px 48px #0000004d}.opp-script-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #e3ecf8;padding-bottom:10px;margin-bottom:8px}.opp-script-title{margin:0;color:#2b2140;font-size:1.05rem}.opp-script-close{flex-shrink:0;background:#f4f8ff;border:none;color:#33415c;font-size:.9rem;width:28px;height:28px;border-radius:50%;cursor:pointer}.opp-script-close:hover{background:#e3ecf8}.opp-script-note{font-size:.78rem;font-style:italic;color:#8393b3;margin:0 0 12px}.opp-script-lang-row{display:flex;gap:8px;margin-bottom:14px}.opp-script-lang-btn{background:#f4f8ff;border:1.5px solid #c5d9f0;color:#33415c;font-weight:700;font-size:.8rem;padding:6px 14px;border-radius:8px;cursor:pointer}.opp-script-lang-btn:hover{border-color:#8a6fd8}.opp-script-lang-btn-on{background:#5b4a86;border-color:#5b4a86;color:#fff}.opp-script-voice-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.opp-script-voice-hint{font-size:.72rem;color:#8393b3;margin:0 0 14px;line-height:1.5}.opp-script-voice-row select{flex:1 1 200px;min-width:160px;border:1.5px solid #c5d9f0;border-radius:8px;padding:6px 9px;font-size:.8rem}.opp-script-read-btn{background:#5b4a86;color:#fff;border:none;font-weight:700;font-size:.78rem;padding:7px 14px;border-radius:8px;cursor:pointer;white-space:nowrap}.opp-script-read-btn:hover{background:#47386b}.opp-script-stop-btn{background:#f4f8ff;border:1.5px solid #c5d9f0;color:#33415c;font-size:.8rem;width:28px;height:28px;border-radius:50%;cursor:pointer}.opp-script-stop-btn:hover{background:#e3ecf8}.opp-script-text{white-space:pre-wrap;font-family:Consolas,Menlo,monospace;font-size:.85rem;line-height:1.6;color:#23283a;background:#f7f8fc;border:1px solid #e3e6f0;border-radius:10px;padding:14px 16px;margin:0}.opp-narrator{margin-top:16px;width:100%;text-align:left;background:#faf8ff;border:1px solid #e3d9fa;border-radius:12px;padding:14px 16px}.opp-narrator-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.opp-narrator-label{font-weight:800;font-size:.85rem;color:#5b4a86}.opp-narrator-stop{border-color:#c62828;color:#c62828}.opp-narrator-steps{margin:10px 0 0;padding-left:20px;line-height:1.6;color:#3a3550;font-size:.88rem}.opp-narrator-steps li{margin-bottom:8px;transition:background .2s,color .2s;border-radius:6px}.opp-narrator-step-active{background:#efe6ff;color:#2b2140;font-weight:700;padding:3px 6px;margin-left:-6px}.fop-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1a3a73;display:flex;align-items:center;justify-content:center;z-index:9000;padding:16px}.fop-modal-card{background:#fff;border-radius:20px;padding:36px 40px;text-align:center;max-width:380px;width:100%;box-shadow:0 16px 60px #0000004d;max-height:88vh;overflow-y:auto}.fop-modal-card-wide{max-width:1100px;width:96vw;max-height:94vh;padding:32px 40px 40px}.fop-modal-body{max-width:780px;margin:0 auto}@media (max-width: 640px){.fop-modal-overlay{padding:6px}.fop-modal-card-wide{width:100vw;max-width:100vw;max-height:96vh;border-radius:14px;padding:22px 16px 30px}}.fop-modal-icon{font-size:2.6rem;margin-bottom:10px}.fop-modal-title{font-size:1.1rem;font-weight:900;color:var(--c2, #1e499e);margin:0 0 6px}.fop-modal-subject{font-size:.95rem;color:#0a1a3a;font-weight:700;margin:0 0 16px}.fop-modal-text{font-size:.88rem;color:#8a8aae;margin:0 0 22px}.fop-modal-close{background:var(--c2, #1e499e);color:#fff;border:none;border-radius:10px;padding:10px 26px;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .15s}.fop-modal-close:hover{opacity:.88}.fll-yes{color:#2a6}.fll-no{color:#c33}.fll-btn{border:none;border-radius:10px;padding:10px 22px;font-size:.92rem;font-weight:800;cursor:pointer;transition:opacity .15s,transform .1s}.fll-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.fll-btn:disabled{opacity:.5;cursor:not-allowed}.fll-btn-yes{background:#eafbf1;color:#1f8a4d;border:1.5px solid #22aa66}.fll-btn-no{background:#fdeeee;color:#a52c2c;border:1.5px solid #cc3333}.fll-btn-gen{background:var(--c2, #1e499e);color:#fff;margin-top:14px}.fll-sim{text-align:left}.fll-sim-line{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin-bottom:14px}.fll-sim-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;border:2px solid #e3ecf8;color:#8a8aae;transition:all .3s}.fll-sim-dot-nat{border-color:#b8e8cc;color:#1f8a4d}.fll-sim-dot-not{border-color:#f0d0d0;color:#a52c2c}.fll-sim-dot-active{transform:scale(1.25);box-shadow:0 0 0 4px #1e499e26}.fll-sim-dot-active.fll-sim-dot-nat{background:#2a6;color:#fff;border-color:#2a6}.fll-sim-dot-active.fll-sim-dot-not{background:#c33;color:#fff;border-color:#c33}.fll-sim-caption{text-align:center;font-size:.95rem;color:#0a1a3a;margin-bottom:8px;min-height:44px}.fll-sim-hint{text-align:center;font-size:.8rem;color:#8a8aae}.fll-ex{text-align:center}.fll-ex-q{font-size:1.05rem;margin-bottom:16px}.fll-ex-btns{display:flex;gap:10px;justify-content:center}.fll-ex-result{margin-top:14px;padding:12px 16px;border-radius:10px;font-size:.9rem}.fll-ex-ok{background:#eafbf1;color:#1f8a4d}.fll-ex-fail{background:#fdeeee;color:#a52c2c}.fll-ex-reason{font-size:.82rem;opacity:.85;margin-top:4px}.fll-task{text-align:center}.fll-task-progress{font-size:.8rem;color:#8a8aae;margin-bottom:10px}.fll-task-result{padding:16px;border-radius:12px;margin-bottom:14px}.fll-task-result-title{font-size:1.15rem;font-weight:900;margin-bottom:4px}.frn-sim{text-align:center}.frn-sim-arabic{font-size:2.4rem;font-weight:900;color:#0a1a3a;margin-bottom:6px}.frn-sim-stage{position:relative;height:260px;margin-bottom:10px}.frn-sim-assembly{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;align-content:flex-start;min-height:48px;padding-top:6px}.frn-sim-chip{background:#eef3ff;border:1.5px solid var(--c2, #1e499e);color:var(--c2, #1e499e);font-weight:900;font-size:1.3rem;padding:5px 12px;border-radius:9px;animation:frn-chip-in .35s ease-out both}.frn-sim-chip-temp{background:#f5f8fd;border:1.5px dashed #c5d9f0;color:#8a8aae}.frn-sim-chip-rule{background:#fff3e0;border-color:#e8973a;color:#b8720c}.frn-sim-chip-vibrate{animation:frn-chip-in .35s ease-out both,frn-vibrate .5s ease-in-out .1s 2}@keyframes frn-chip-in{0%{opacity:0;transform:scale(.6) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes frn-vibrate{0%,to{transform:translate(0) scale(1)}20%{transform:translate(-3px) scale(1.06)}40%{transform:translate(3px) scale(1.06)}60%{transform:translate(-2px) scale(1.06)}80%{transform:translate(2px) scale(1.06)}}@keyframes frn-vibrate-centered{0%,to{transform:translate(-50%,-50%) translate(0) scale(1)}20%{transform:translate(-50%,-50%) translate(-3px) scale(1.06)}40%{transform:translate(-50%,-50%) translate(3px) scale(1.06)}60%{transform:translate(-50%,-50%) translate(-2px) scale(1.06)}80%{transform:translate(-50%,-50%) translate(2px) scale(1.06)}}.frn-fly-letter{position:absolute;transform:translate(-50%);width:34px;height:34px;border-radius:9px;background:var(--c2, #1e499e);color:#fff;font-weight:900;font-size:1.1rem;display:flex;align-items:center;justify-content:center;animation:frn-fly .85s cubic-bezier(.3,.6,.35,1) forwards}@keyframes frn-fly{0%{bottom:56px;opacity:.3;transform:translate(-50%) scale(.8)}70%{bottom:190px;opacity:1;transform:translate(-50%) scale(1.08)}to{bottom:190px;opacity:0;transform:translate(-50%) scale(.9)}}.frn-sim-legend{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:0 2px}.frn-legend-item{display:flex;flex-direction:column;align-items:center;gap:2px}.frn-legend-sym{width:34px;height:34px;border-radius:9px;background:#f5f8fd;border:1.5px solid #c5d9f0;color:var(--c2, #1e499e);font-weight:900;font-size:1.05rem;display:flex;align-items:center;justify-content:center}.frn-legend-val{font-size:.68rem;color:#8a8aae}.frn-sim-pause{margin:0 0 14px}.frn-sim-rule{text-align:left;background:#f5f8fd;border:1px solid #e3ecf8;border-radius:12px;padding:14px 18px;font-size:.85rem;color:#3a3a5e;line-height:1.55}.frn-sim-rule p{margin:0 0 6px}.frn-sim-rule p:last-child{margin-bottom:0}.frn-sim-rule-title{font-weight:900;color:var(--c2, #1e499e);font-size:.92rem;margin-bottom:8px}.frn-sim-rule-examples{display:flex;align-items:center;flex-wrap:wrap;gap:4px 2px;font-size:.85rem}.frn-sim-rule-examples .frn-sim-chip{font-size:.95rem;padding:2px 8px;animation:none}.frn-ex{text-align:center}.frn-ex-q{font-size:1.02rem;margin-bottom:10px}.frn-ex-result-box{font-size:2rem;font-weight:900;color:var(--c2, #1e499e);background:#eef3ff;border-radius:12px;padding:12px;margin-bottom:10px;letter-spacing:2px}.frn-ex-reason{font-size:.85rem;color:#5a6a8a;margin-bottom:16px}.frn-task-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:4px}.frn-task-opt{background:#fff;border:1.5px solid #c5d9f0;border-radius:10px;padding:10px;font-size:1.05rem;font-weight:800;color:var(--c2, #1e499e);cursor:pointer;transition:all .15s;letter-spacing:1px}.frn-task-opt:hover:not(:disabled){border-color:var(--c2, #1e499e);background:#eef3ff}.frn-task-opt:disabled{opacity:.6;cursor:not-allowed}.fja-check-row{display:flex;justify-content:center;gap:8px;margin:10px 0 14px;flex-wrap:wrap}.fja-check-item{display:flex;flex-direction:column;align-items:center;gap:3px;width:50px;padding:8px 0;border-radius:10px;border:1.5px solid #e3ecf8;background:#fff;transition:all .25s}.fja-check-div{font-size:.8rem;font-weight:700;color:#5a6a8a}.fja-check-mark{font-size:1.1rem;font-weight:900;color:#c5d9f0}.fja-check-active{border-color:var(--c2, #1e499e);box-shadow:0 0 0 3px #1e499e26;transform:scale(1.08)}.fja-check-ok{border-color:#2a6;background:#eafbf1}.fja-check-ok .fja-check-mark{color:#2a6}.fja-check-fail{border-color:#c33;background:#fdeeee}.fja-check-fail .fja-check-mark{color:#c33}.fja-rule-live{font-size:.9rem;color:#0a1a3a;min-height:42px;margin-bottom:10px}.fja-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-bottom:16px}.fja-result-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:10px;border:1.5px solid #e3ecf8;font-size:.85rem;font-weight:700}.fja-result-div{font-size:.78rem;color:#8a8aae}.fja-result-ok{border-color:#2a6;background:#eafbf1;color:#1f8a4d}.fja-result-fail{border-color:#c33;background:#fdeeee;color:#a52c2c}.fja-verdict{font-size:.95rem;margin-bottom:10px}.fja-verdict-prime{color:#1f8a4d}.fja-verdict-composite{color:#a52c2c}.fja-prime-question{font-size:1.05rem;font-weight:800;color:#5a6a8a;margin-bottom:6px}.fja-factor-stage{min-height:130px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.fja-factor-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.fja-factor-wrap{display:flex;align-items:center;gap:8px}.fja-factor-op{font-size:1.3rem;font-weight:900;color:#8a8aae}.fja-factor-chip{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 10px;border-radius:10px;background:#eef3ff;border:1.5px solid var(--c2, #1e499e);color:var(--c2, #1e499e);font-weight:900;font-size:1.3rem;animation:fja-factor-in .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes fja-factor-in{0%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.4)}to{opacity:1;transform:translate(0) scale(1)}}.fnl-sim{text-align:center}.fnl-sim-compare{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px;font-size:1.6rem;font-weight:900}.fnl-num-a{color:var(--c2, #1e499e)}.fnl-num-b{color:#b8720c}.fnl-vs{font-size:.95rem;font-weight:700;color:#8a8aae}.fnl-line-wrap{padding:70px 10px 40px;margin-bottom:8px}.fnl-line{position:relative;height:2px;background:#c5d9f0;margin:0 10px}.fnl-tick{position:absolute;top:-3px;width:2px;height:8px;background:#c5d9f0;transform:translate(-50%)}.fnl-tick-num{position:absolute;top:12px;left:50%;transform:translate(-50%);font-size:.68rem;color:#8a8aae;white-space:nowrap}.fnl-marker{position:absolute;top:-34px;transform:translate(-50%);min-width:30px;padding:4px 6px;border-radius:8px;font-weight:900;font-size:.9rem;text-align:center;color:#fff;transition:left .6s cubic-bezier(.4,0,.2,1)}.fnl-marker:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);border:5px solid transparent}.fnl-marker-a{background:var(--c2, #1e499e)}.fnl-marker-a:after{border-top-color:var(--c2, #1e499e)}.fnl-marker-b{background:#e8973a;top:-60px}.fnl-marker-b:after{border-top-color:#e8973a}.fnl-result{font-size:.95rem;color:#0a1a3a;margin-bottom:14px}.fia-line-wrap{padding-top:46px}.fia-span{position:absolute;top:-6px;height:14px;background:#1e499e40;border:1.5px solid var(--c2, #1e499e);border-radius:7px;display:flex;align-items:center;justify-content:center}.fia-span-label{position:absolute;top:-28px;left:50%;transform:translate(-50%);background:var(--c2, #1e499e);color:#fff;font-weight:900;font-size:.95rem;padding:2px 10px;border-radius:8px;white-space:nowrap}.fia-dot{position:absolute;top:-5px;width:12px;height:12px;border-radius:50%;background:#c5d9f0;transform:translate(-50%)}.fia-dot-active{width:16px;height:16px;top:-7px;background:var(--c2, #1e499e);box-shadow:0 0 0 4px #1e499e2e}.fia-dot-label{position:absolute;top:20px;left:50%;transform:translate(-50%);font-weight:900;font-size:.95rem;color:var(--c2, #1e499e);white-space:nowrap}.fko-sim{text-align:center}.fko-point-label{font-size:1.6rem;margin-bottom:6px}.fko-svg{width:100%;max-width:260px;height:auto;margin:6px auto 14px;display:block}.fko-grid-line{stroke:#eef3ff;stroke-width:1}.fko-axis{stroke:#c5d9f0;stroke-width:1.5}.fko-axis-label{fill:#8a8aae;font-size:9px;font-weight:700}.fko-point{fill:var(--c2, #1e499e);stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:frn-chip-in .4s ease-out both}.fko-tick-label{fill:#8a8aae;font-size:7px}.fko-guide{stroke:var(--c2, #1e499e);stroke-width:1.2;stroke-dasharray:4 3;opacity:.6}.fyht-sum{color:#c33}.fyht-svg{max-width:340px;margin:14px auto}.fyht-arc{fill:none;stroke:var(--c2, #1e499e);stroke-width:1.8;stroke-dasharray:5 4}.fyht-dot-a{fill:var(--c2, #1e499e)}.fyht-dot-sum{fill:#c33}.fyht-dot-label{font-size:12px;font-weight:900}.fyht-dot-label-a{fill:var(--c2, #1e499e)}.fyht-dot-label-sum{fill:#c33}.flt-dot-mid{fill:#e8973a}.flt-dot-label-mid{font-size:11px;font-weight:800;fill:#b8720c}.fkl-steps{display:flex;flex-direction:column;gap:14px;min-height:170px;justify-content:center;margin-bottom:10px;text-align:center}.fkl-step{opacity:.35;transition:opacity .3s}.fkl-step-on{opacity:1}.fkl-step-label{display:block;font-size:.8rem;font-weight:700;color:#8a8aae;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.fkl-step-row{display:flex;align-items:center;justify-content:center;gap:8px;animation:frn-chip-in .35s ease-out both}.fkl-op{font-size:1.1rem;font-weight:900;color:#8a8aae}.fkl-sign-chip{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-weight:900;font-size:1.2rem;background:#f5f8fd;border:1.5px solid #c5d9f0;color:#5a6a8a}.fkl-sign-chip-result{background:#eef3ff;border-color:var(--c2, #1e499e);color:var(--c2, #1e499e)}.fkl-num-chip{min-width:38px;height:38px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-weight:900;font-size:1.2rem;background:#f5f8fd;border:1.5px solid #c5d9f0;color:#5a6a8a}.fkl-num-chip-result{background:#eef3ff;border-color:var(--c2, #1e499e);color:var(--c2, #1e499e)}.fpo-chip-row{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;min-height:60px;margin-bottom:8px}.fpo-chip-wrap{display:inline-flex;align-items:center;gap:6px}.fpo-chip{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border-radius:10px;background:#eef3ff;border:1.5px solid var(--c2, #1e499e);color:var(--c2, #1e499e);font-weight:900;font-size:1.1rem;animation:frn-chip-in .35s ease-out both}.fpo-op{color:#8a8aae;font-weight:900}.fpo-minus{font-size:1.4rem;font-weight:900;color:#c33;margin-right:2px}.fyh-hl{background:#eef3ff;color:var(--c2, #1e499e);padding:1px 4px;border-radius:5px}.fyh-step{margin-top:12px}.fyh-step-label{display:block;font-size:.78rem;font-weight:700;color:#8a8aae;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.fyh-step-row{font-size:1.05rem;color:#0a1a3a;animation:frn-chip-in .3s ease-out both}.fms-bars{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:100px;justify-content:center;margin-bottom:8px}.fms-bar{display:flex;gap:2px;animation:frn-chip-in .3s ease-out both}.fms-cell{width:22px;height:22px;border-radius:4px;border:1.5px solid #c5d9f0;background:#fff}.fms-cell-on{background:var(--c2, #1e499e);border-color:var(--c2, #1e499e)}.fms-cell-hl{background:#e8973a;border-color:#e8973a}.fsp-flow{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;min-height:70px;margin-bottom:8px}.fsp-frac{font-weight:900;font-size:1.4rem;color:#0a1a3a}.fsp-slash{margin:0 2px;color:#8a8aae}.fsp-frac-result{color:var(--c2, #1e499e)}.fsp-arrow{font-size:.95rem;font-weight:800;color:#8a8aae;animation:frn-chip-in .35s ease-out both}.fsp2-row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center}.fsp2-frac{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15;vertical-align:middle}.fsp2-num{border-bottom:2px solid currentColor;padding:0 4px 1px}.fsp2-den{padding:1px 4px 0}.fsp2-mixed{display:inline-flex;align-items:center;gap:4px}.fsp2-small{font-size:.78rem;color:#8a8aae}.fsp2-stack{display:flex;flex-direction:column;align-items:center;gap:6px}.fkv-figures{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:160px;justify-content:center;margin-bottom:8px}.fkv-figure{display:flex;align-items:center;gap:10px;animation:frn-chip-in .3s ease-out both}.fkv-dots{display:flex;flex-wrap:wrap;gap:3px;max-width:220px}.fkv-dot{width:12px;height:12px;border-radius:50%;background:var(--c2, #1e499e)}.fkv-figure-label{font-size:.82rem;color:#5a6a8a;font-weight:700;white-space:nowrap}.fyp-svg{max-width:280px;margin:8px auto}.fyp-stand{stroke:#8a8aae;stroke-width:4}.fyp-base{fill:#8a8aae}.fyp-beam-group{transition:transform .8s cubic-bezier(.34,1.2,.4,1)}.fyp-beam{stroke:var(--c2, #1e499e);stroke-width:4;stroke-linecap:round}.fyp-chain{stroke:#8a8aae;stroke-width:2}.fyp-pan{fill:#eef3ff;stroke:var(--c2, #1e499e);stroke-width:2}.fyp-pan-text{font-size:15px;font-weight:900;fill:var(--c2, #1e499e)}.fyp-pivot{fill:#5a6a8a}.fyp-verdict-true,.fyp-verdict-false{font-size:1.5rem;font-weight:900;text-align:center;margin:8px 0}.fyp-verdict-true{color:#2a6}.fyp-verdict-false{color:#c33}.fkv-seq{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;min-height:140px;align-content:center;margin-bottom:8px}.fkv-shape{font-size:1.6rem;animation:frn-chip-in .3s ease-out both}.fkl-final-chip{min-width:46px;height:42px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-weight:900;font-size:1.4rem;background:var(--c2, #1e499e);color:#fff}.fnma-box{position:relative;width:100%;max-width:420px;height:140px;margin:14px auto}.fnma-sym{position:absolute;transform:translate(-50%,-50%);transition:left 2.4s cubic-bezier(.34,1,.4,1),top 2.4s cubic-bezier(.34,1,.4,1),opacity 1s ease;font-size:2.2rem;font-weight:900;color:var(--c2, #1e499e)}.fnma-eq{transition:none;color:#5a6a8a}.fnma-bar{position:absolute;height:3px;background:var(--c2, #1e499e);transform:translate(-50%,-50%);transition:left 2.4s cubic-bezier(.34,1,.4,1),top 2.4s cubic-bezier(.34,1,.4,1),opacity 1s ease,width 1.4s ease}.fnma-chip{font-size:1.3rem;background:#eef3ff;border:2px solid var(--c2, #1e499e);border-radius:8px;padding:2px 8px}.fnma-step-label{text-align:center;font-weight:700;color:var(--c2, #1e499e);min-height:1.4em}.fnma-announce{color:#d1461a;animation:frn-vibrate .5s ease-in-out .05s 3}.fnma-announce-green{color:#1e8e3e;animation:frn-vibrate .5s ease-in-out .05s 3}.fnma-box.fnma-finish{animation:frn-vibrate .5s ease-in-out 4}.fnma-box.fnma-finish .fnma-sym{color:#c62828}.fnma-box.fnma-finish .fnma-bar{background:#c62828}.frn2{text-align:center}.frn2-tile{--t: clamp(44px, 11vw, 68px);width:var(--t);height:var(--t);display:flex;align-items:center;justify-content:center;border-radius:16px;font:900 calc(var(--t) * .52) / 1 Georgia,"Times New Roman",serif;color:var(--c2, #4338ca);background:#fff;border:3px solid var(--c1, #a78bfa);box-shadow:0 8px 18px -8px var(--c2, #4338ca)}.frn2-tile.frn2-sm{--t: clamp(34px, 8.5vw, 48px);border-radius:12px}.frn2-tile.frn2-add{color:#15803d;border-color:#22c55e;background:#ecfdf3}.frn2-tile.frn2-sub{color:#dc2626;border-color:#f87171;background:#fef2f2;animation:frn2-wobble .45s ease 3}@keyframes frn2-wobble{0%,to{rotate:0deg}25%{rotate:-7deg}75%{rotate:7deg}}.frn2-tile.frn2-res{color:#92400e;border-color:#f59e0b;background:#fef3c7}.frn2-caption{min-height:2.8em;margin:6px auto 8px;max-width:760px;font-size:clamp(1rem,2.6vw,1.2rem);font-weight:800;line-height:1.4;color:var(--c2, #4338ca)}.frn2-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:6px}.frn2-controls{margin:4px auto 8px;gap:10px 18px}@media (prefers-reduced-motion: reduce){.frn2-tile.frn2-sub{animation:none}}.frn3{text-align:center}.frn3-taulu{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin:4px auto 12px}.frn3-taulu-pari{display:flex;flex-direction:column;align-items:center;gap:4px;transition:scale .4s ease,opacity .4s ease;opacity:.55}.frn3-taulu-pari.on{opacity:1;scale:1.15}.frn3-taulu-pari.on .frn2-tile{box-shadow:0 0 0 4px color-mix(in srgb,var(--c1, #a78bfa) 45%,transparent),0 8px 18px -8px var(--c2, #4338ca)}.frn3-arvo{font-weight:800;font-size:.95rem;color:#5a6a8a}.frn3-mini{display:flex;justify-content:center;align-items:flex-end;gap:2px;height:62px}.frn3-mini .frn3-kasi{width:44px}.frn3-mini .frn3-v{stroke-width:7}.frn3-lava{max-width:900px;margin:0 auto 6px;padding:10px 10px 16px;border-radius:20px;background:color-mix(in srgb,var(--c1, #a78bfa) 9%,#ffffff);border:1px solid color-mix(in srgb,var(--c1, #a78bfa) 28%,#ffffff)}.frn3-iso{min-height:1.3em;font-size:clamp(2rem,7vw,3rem);font-weight:900;color:var(--c2, #4338ca);animation:frn3-esiin .5s ease}.frn3-kadet{display:flex;justify-content:center;align-items:flex-end;gap:clamp(4px,2vw,18px);min-height:clamp(120px,26vw,180px)}.frn3-kasi-paikka{width:clamp(84px,22vw,140px);transition:width .6s ease,opacity .5s ease;overflow:hidden}.frn3-kasi-paikka.piilo{width:0;opacity:0}.frn3-kasi{width:100%;height:auto;display:block;overflow:visible}.frn3-kammen{fill:#f6c79c;stroke:#c98b5e;stroke-width:2.5}.frn3-sormi{fill:#f6c79c;stroke:#c98b5e;stroke-width:2.5;transform-box:fill-box;transform-origin:50% 100%;transition:scale .7s cubic-bezier(.22,1,.36,1),fill .5s,stroke .5s}.frn3-sormi.alas{scale:1 .22}.frn3-sormi.pois{fill:#fca5a5;stroke:#dc2626}.frn3-v{fill:none;stroke:var(--c2, #4338ca);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .6s}.frn3-v.on{opacity:.85}.frn3-luku{font-weight:900;font-size:15px;text-anchor:middle;fill:#15803d;opacity:0;transition:opacity .5s}.frn3-luku.on{opacity:1}.frn3-luku.pois{fill:#dc2626;text-decoration:line-through}.frn3-kirjaimet{display:flex;justify-content:center;gap:10px;margin-top:10px;min-height:70px;animation:frn3-esiin .5s ease}.frn3-kirjain-pari{display:flex;flex-direction:column;align-items:center;gap:4px}@keyframes frn3-esiin{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media (prefers-reduced-motion: reduce){.frn3-sormi,.frn3-kasi-paikka,.frn3-taulu-pari{transition:none}.frn3-iso,.frn3-kirjaimet{animation:none}}.frn3-tilat{margin:0 auto 10px}.frn3-iso-r{color:#92400e}.frn3-paikat{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.frn3-paikka{flex:0 1 auto;min-width:170px;padding:8px 10px 10px;border-radius:16px;background:#fff;border:1px solid color-mix(in srgb,var(--c1, #a78bfa) 30%,#ffffff);animation:frn3-esiin .6s ease both}.frn3-paikka-otsikko{font-weight:800;font-size:.85rem;color:var(--c2, #4338ca);text-transform:uppercase;letter-spacing:.06em}.frn3-paikka-otsikko span{text-transform:none;letter-spacing:0;color:#5a6a8a;font-weight:700}.frn3-paikka .frn3-kadet{min-height:0}.frn3-paikka .frn3-kasi-paikka{width:clamp(70px,16vw,112px);overflow:visible}.frn3-paikka .frn3-kirjaimet{min-height:0;margin-top:6px;gap:6px;animation:none}.frn3-paikka-arvo{margin-top:6px;font-weight:900;color:#0a1a3a}.frn3-kasi.pieni .frn3-luku{font-size:10px}.frn3-valinta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:4px auto 6px;font-weight:800;color:var(--c2, #4338ca)}.frn3-valinta input[type=number]{width:90px;padding:6px 10px;font-size:1.1rem;font-weight:800;border-radius:10px;border:2px solid color-mix(in srgb,var(--c1, #a78bfa) 55%,#ffffff);color:var(--c2, #4338ca);text-align:center}.frn3-valinta input[type=range]{width:min(420px,80vw);accent-color:var(--c2, #4338ca)}.frn3-isot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:6px auto}.frn3-iso-nappi{border:2px solid color-mix(in srgb,var(--c1, #a78bfa) 45%,#ffffff);background:#fff;color:var(--c2, #4338ca);border-radius:999px;padding:6px 14px;font-weight:800;cursor:pointer}.frn3-iso-nappi.on{background:var(--c2, #4338ca);border-color:var(--c2, #4338ca);color:#fff}.frn3-ryhmat{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:10px 14px;margin-top:4px}.frn3-ryhma{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;border-radius:12px}.frn3-ryhma-kadet{display:grid;grid-template-columns:repeat(2,26px);gap:2px 1px;justify-content:center}.frn3-ryhma-kadet:has(>:nth-child(3)){grid-template-columns:repeat(10,26px)}.frn3-ryhma .frn3-kasi{width:26px}.frn3-ryhma-kadet:not(:has(>:nth-child(3))){grid-template-columns:repeat(2,44px)}.frn3-ryhma-kadet:not(:has(>:nth-child(3))) .frn3-kasi{width:44px}.frn3-ryhma.sub{background:#fef2f2}.frn3-ryhma.sub .frn3-sormi,.frn3-ryhma.sub .frn3-kammen{fill:#fca5a5;stroke:#dc2626}@media (max-width: 640px){.frn3-ryhma-kadet:has(>:nth-child(3)){grid-template-columns:repeat(6,22px)}.frn3-ryhma .frn3-kasi{width:22px}.frn3-ryhma-kadet{grid-template-columns:repeat(2,22px)}}.frn3-niput{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:420px}.frn3-nippu{display:grid;grid-template-columns:repeat(10,9px);padding:3px;font-size:8px;line-height:1.15;text-align:center;border-radius:6px;background:color-mix(in srgb,var(--c1, #a78bfa) 14%,#ffffff);border:1px solid color-mix(in srgb,var(--c1, #a78bfa) 40%,#ffffff)}.frn3-ryhma.sub .frn3-nippu{background:#fee2e2;border-color:#f87171;filter:hue-rotate(-30deg) saturate(1.6)}.fin{max-width:var(--sivu-leveys);margin:0 auto;display:flex;flex-direction:column;gap:18px;color:#0a1a3a}.fin-h2{margin:0;font-size:1.5rem;color:#1e499e}.fin-h3{margin:0 0 12px;font-size:1.1rem;color:#1e499e}.fin-hint{margin:0;color:#5a6a8a;font-size:.9rem}.fin-card{background:#fff;border:1px solid #e3ecf8;border-radius:14px;padding:18px;box-shadow:0 2px 10px #0a1a3a0d}.fin-totals{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.fin-total{flex:1 1 180px;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:10px;background:#f1f6fd}.fin-total span{font-size:.8rem;color:#5a6a8a;font-weight:600}.fin-total strong{font-size:1.35rem;color:#0a1a3a}.fin-total-warn{background:#fff6e5}.fin-total-warn strong{font-size:1rem;color:#8a5a00}.fin-table{display:flex;flex-direction:column;gap:6px}.fin-row{display:grid;grid-template-columns:2fr 1.1fr .8fr .8fr 2.6fr 36px;gap:6px;align-items:start}.fin-head span{font-size:.78rem;font-weight:700;color:#5a6a8a;padding:0 4px}.fin-row input,.fin-row textarea{width:100%;box-sizing:border-box;font:inherit;font-size:.88rem;color:#0a1a3a;border:1px solid #c5d9f0;border-radius:8px;padding:7px 8px;background:#fff}.fin-row textarea{resize:vertical;min-height:36px}.fin-row-empty input:nth-child(3),.fin-row-empty input:nth-child(4){border-color:#e8b04a;background:#fffaf0}.fin-del{border:1px solid #e3ecf8;background:#fff;color:#9aa6c0;border-radius:8px;height:36px;cursor:pointer}.fin-del:hover{color:#c33;border-color:#c33}.fin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.fin-btn{font:inherit;font-weight:700;font-size:.88rem;padding:8px 14px;border-radius:8px;border:1px solid #1e499e;background:#fff;color:#1e499e;cursor:pointer}.fin-btn-ghost{border-color:#c5d9f0;color:#5a6a8a}.fin-btn-primary{background:#1e499e;color:#fff}.fin-btn:disabled{opacity:.6;cursor:default}.fin-ok{color:#1f8a4d;font-weight:700}.fin-error{margin-top:10px;color:#a12020;font-size:.88rem}.fin-error pre{background:#fdf1f1;border-radius:8px;padding:10px;overflow-x:auto;color:#0a1a3a}.fin-tech{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.fin-tech-item{background:#f7faff;border:1px solid #e3ecf8;border-radius:10px;padding:12px 14px}.fin-tech-item h4{margin:0 0 6px;font-size:.98rem;color:#0a1a3a}.fin-tech-item p{margin:0;font-size:.86rem;line-height:1.5;color:#33415e}@media (max-width: 760px){.fin-head{display:none}.fin-row{grid-template-columns:1fr 1fr 1fr 36px;padding:10px;border:1px solid #e3ecf8;border-radius:10px}.fin-row input:nth-child(1){grid-column:1 / 4;font-weight:700}.fin-del{grid-column:4;grid-row:1}.fin-row input:nth-child(2){grid-column:1}.fin-row input:nth-child(3){grid-column:2}.fin-row input:nth-child(4){grid-column:3 / 5}.fin-row textarea{grid-column:1 / 5}}.pm-text{margin:0 0 8px;font-size:.92rem;color:#33415e}.pm-list{margin:0 0 8px;padding-left:22px;font-size:.92rem;line-height:1.6;color:#33415e}.pm-list li+li{margin-top:4px}.pm-code{margin:6px 0 10px;padding:10px 12px;background:#0f1b33;color:#e3ecf8;border-radius:8px;font-size:.85rem;overflow-x:auto;white-space:pre}.pm-warn{border-color:#f0d08a;background:#fffbf0}.pm-star{border-color:#a9c4f5;background:#f3f7ff}.music-player{position:relative;margin-left:auto;flex-shrink:0}.music-btn{background:none;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#ffffffb3;font-size:1.1rem;width:42px;height:42px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}.music-btn:hover{background:#ffffff1a;border-color:#fff6;color:#fff}.music-btn.music-btn-on{border-color:#64b4ff80;color:#8cf}.music-dropdown{position:absolute;top:calc(100% + 10px);right:0;background:#08082a;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:8px 6px;min-width:250px;box-shadow:0 12px 40px #0009;z-index:2000;animation:mp-in .15s ease}@keyframes mp-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.music-dropdown-title{color:#ffffff59;font-size:.68rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;padding:4px 12px 10px}.music-track{display:block;width:100%;text-align:left;background:none;border:none;border-radius:8px;color:#ffffffa6;font-size:.82rem;padding:9px 12px;cursor:pointer;transition:background .1s,color .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-track:hover{background:#ffffff12;color:#fff}.music-track-active{background:#1e499e59;color:#8cf;font-weight:700}.music-track-active:hover{background:#1e499e73}.music-volume{display:flex;align-items:center;gap:8px;padding:12px 12px 6px;border-top:1px solid rgba(255,255,255,.07);margin-top:6px}.music-vol-icon{font-size:.9rem;flex-shrink:0}.music-vol-pct{color:#ffffff73;font-size:.72rem;font-weight:700;min-width:32px;text-align:right;flex-shrink:0}.music-vol-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:5px;border-radius:3px;background:#ffffff26;outline:none;cursor:pointer}.music-vol-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#59f;cursor:pointer;box-shadow:0 0 6px #5599ff80}.music-vol-slider::-webkit-slider-thumb:hover{background:#7af}.sd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:linear-gradient(160deg,#02307a,#0446a4 55%,#0557a8);overflow-y:auto;display:flex;flex-direction:column}.sd-topbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:14px;padding:14px 20px;color:#fff;background:linear-gradient(160deg,#02307a,#0446a4)}.sd-close{background:#ffffff24;border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:700;font-size:.85rem;padding:7px 15px;border-radius:9px;cursor:pointer}.sd-close:hover{background:#ffffff3d}.sd-deck-title{font-weight:800;font-size:1rem;opacity:.92}.sd-counter{margin-left:auto;font-size:.82rem;font-weight:700;opacity:.75}.sd-progress{height:4px;background:#ffffff26;flex-shrink:0}.sd-progress-fill{height:100%;background:#ffd166;transition:width .3s ease}.sd-stage{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:24px 28px;animation:sd-slide-in .35s ease}@keyframes sd-slide-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.sd-navbar{position:sticky;bottom:0;z-index:1;flex-shrink:0;display:flex;align-items:center;gap:16px;padding:14px 22px 20px;background:linear-gradient(0deg,#0557a8,#0557a800)}.sd-nav-btn{background:#fff;color:#0446a4;border:none;font-weight:800;font-size:.9rem;padding:9px 20px;border-radius:10px;cursor:pointer}.sd-nav-btn:hover:not(:disabled){background:#dbe8ff}.sd-nav-btn:disabled{opacity:.35;cursor:not-allowed}.sd-dots{display:flex;gap:7px;flex:1 1 auto;justify-content:center;flex-wrap:wrap}.sd-dot{width:9px;height:9px;border-radius:50%;background:#ffffff4d;border:none;cursor:pointer;padding:0}.sd-dot-on{background:#ffd166;transform:scale(1.3)}.sd-card{--accent: #0557a8;position:relative;overflow:hidden;width:100%;max-width:860px;margin:0 0 24px;background:#fff;border-radius:20px;border-top:6px solid var(--accent);padding:40px 42px 36px;box-shadow:0 20px 60px #00000059}.sd-watermark{position:absolute;top:-6px;right:4px;font-size:7rem;line-height:1;opacity:.06;pointer-events:none;-webkit-user-select:none;user-select:none}.sd-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin:0 0 8px;display:block}.sd-h{font-size:1.7rem;font-weight:900;color:#0a1a3a;margin:0 0 18px;letter-spacing:-.4px}.sd-title-icon{font-size:3.4rem;display:block;margin-bottom:10px;animation:sd-pop .5s ease}@keyframes sd-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.sd-title-intro{font-size:1.12rem;line-height:1.65;color:#2b3550;margin:0 0 18px}.sd-title-preview{display:flex;flex-direction:column;gap:7px}.sd-title-preview-item{background:#f4f8ff;border:1px solid #e2ecff;border-radius:9px;padding:8px 14px;font-size:.88rem;color:#1e499e;font-weight:700;opacity:0;animation:sd-item-in .4s ease forwards}@keyframes sd-item-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.sd-flow-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.sd-play-btn{background:#0557a8;color:#fff;border:none;font-weight:700;font-size:.8rem;padding:6px 16px;border-radius:8px;cursor:pointer}.sd-play-btn:hover{background:#044488}.sd-flow{position:relative;padding-left:28px}.sd-flow:before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:2px;background:#dbe6fa}.sd-flow-node{position:relative;padding:10px 0 10px 20px;cursor:pointer}.sd-flow-dot{position:absolute;left:-28px;top:15px;width:15px;height:15px;border-radius:50%;background:#c7d7f5;border:3px solid #fff;box-shadow:0 0 0 1px #c7d7f5;transition:background .25s,box-shadow .25s,transform .25s}.sd-flow-node.active .sd-flow-dot{background:#0557a8;box-shadow:0 0 0 1px #0557a8,0 0 0 5px #0557a82e;transform:scale(1.15)}.sd-flow-label{font-weight:800;font-size:1.04rem;color:#1c2b4a;transition:color .2s}.sd-flow-node.active .sd-flow-label{color:#0557a8}.sd-flow-def{margin-top:8px;background:#f4f8ff;border-left:3px solid #0557a8;padding:10px 14px;border-radius:0 8px 8px 0;color:#2b3550;font-size:.94rem;line-height:1.55;animation:sd-item-in .3s ease}.sd-flow-hint{margin:18px 0 0;font-size:.78rem;color:#8393b3}.sd-compare{display:flex;align-items:stretch;gap:16px}.sd-compare-col{flex:1 1 0;display:flex;flex-direction:column;gap:8px}.sd-compare-h{text-align:center;font-weight:900;color:#fff;background:#0557a8;border-radius:9px;padding:8px;font-size:.94rem}.sd-compare-row{background:#f4f8ff;border:2px solid transparent;border-radius:9px;padding:11px 12px;cursor:pointer;text-align:center;font-weight:700;color:#33415c;transition:border-color .2s,background .2s,transform .2s}.sd-compare-row:hover{background:#e9f1ff}.sd-compare-row.active{border-color:#0557a8;background:#e1ecff;color:#0446a4;transform:scale(1.04)}.sd-compare-mid{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:26px}.sd-compare-arrow{font-size:1.3rem;color:#cbd8f2;height:45px;display:flex;align-items:center}.sd-compare-arrow.active{color:#ffb020;animation:sd-pulse .6s ease}@keyframes sd-pulse{0%{transform:scale(.7)}60%{transform:scale(1.3)}to{transform:scale(1)}}.sd-statement{text-align:center;font-size:1.7rem;font-weight:800;color:#0a1a3a;line-height:1.5;padding:20px 10px;animation:sd-item-in .5s ease}.sd-ex-list{margin:0;padding-left:24px;line-height:1.9;font-size:1.05rem;color:#2b3550}.sd-ex-list li{opacity:0;animation:sd-item-in .4s ease forwards}.sd-theory{font-size:.98rem;line-height:1.65;color:#384462;background:#f7faff;border-left:3px solid var(--accent, #0557a8);border-radius:0 10px 10px 0;padding:12px 16px;margin:0 0 12px}.sd-theory:last-child{margin-bottom:18px}.sd-diagram{margin:0 0 18px}.mp-pipeline{display:flex;flex-wrap:wrap;align-items:center;gap:4px 2px}.mp-pipeline-step-wrap{display:flex;align-items:center}.mp-pipeline-step{background:#eaf2ff;border:1px solid #c9dcfa;color:#0446a4;font-weight:800;font-size:.86rem;padding:9px 14px;border-radius:9px;opacity:0;animation:sd-item-in .4s ease forwards}.mp-pipeline-arrow{color:#0557a8;font-size:1.1rem;margin:0 4px;opacity:0;animation:sd-item-in .4s ease forwards}.mp-pyramid{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 0}.mp-pyramid-level{background:linear-gradient(135deg,#0557a8,#0446a4);color:#fff;font-weight:800;font-size:.86rem;text-align:center;padding:10px 8px;border-radius:8px;opacity:0;animation:sd-pop .4s ease forwards}.mp-pyramid-level:nth-child(2){background:linear-gradient(135deg,#6a4fd6,#5238b0)}.mp-pyramid-level:nth-child(3){background:linear-gradient(135deg,#d64f8a,#b03864)}.mp-bars{display:flex;flex-direction:column;gap:9px}.mp-bar-row{display:grid;grid-template-columns:120px 1fr 56px;align-items:center;gap:10px;opacity:0;animation:sd-item-in .4s ease forwards}.mp-bar-label{font-size:.82rem;font-weight:700;color:#33415c;text-align:right}.mp-bar-track{background:#eef2fb;border-radius:20px;height:14px;overflow:hidden}.mp-bar-fill{height:100%;border-radius:20px;transition:width .6s ease}.mp-bar-value{font-size:.8rem;font-weight:700;color:#0446a4}.mp-matrix-wrap{overflow-x:auto}.mp-matrix{border-collapse:collapse;margin:0 auto}.mp-matrix th,.mp-matrix td{border:1px solid #d4e0f5;padding:8px 14px;text-align:center;font-size:.86rem}.mp-matrix th{background:#0557a8;color:#fff;font-weight:700}.mp-matrix .mp-matrix-corner{background:#fff}.mp-matrix td{font-weight:700;color:#33415c}.mp-matrix .mp-matrix-hl{background:#fff3d6;color:#a5730a}.mp-formula{font-family:Consolas,Menlo,monospace;background:#0f1420;color:#ffd166;border-radius:9px;padding:10px 16px;font-size:.95rem;display:inline-block}.mp-scatter-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}.mp-scatter{width:100%;max-width:260px}.mp-scatter-axis{stroke:#cdd8ee;stroke-width:1.5}.mp-scatter-trend{stroke:#ffd166;stroke-width:1.5;stroke-dasharray:4 3}.mp-scatter-dot{fill:#0557a8;opacity:0;animation:sd-pop .35s ease forwards}.mp-scatter-labels{display:flex;justify-content:space-between;width:100%;max-width:260px;font-size:.72rem;color:#8393b3;font-weight:700}.mp-wave-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.mp-wave{width:100%;max-width:320px}.mp-wave-axis{stroke:#e2ecff;stroke-width:1}.mp-wave-path{fill:none;stroke:#0557a8;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:700;stroke-dashoffset:700;animation:mp-wave-draw 1.1s ease forwards}@keyframes mp-wave-draw{to{stroke-dashoffset:0}}.mp-wave-label{font-size:.78rem;font-weight:700;color:#5a6a8a}.mp-grid{display:grid;gap:2px;width:100%;max-width:220px;margin:0 auto;aspect-ratio:1 / 1}.mp-grid-cell{background:#e5ecfa;border-radius:2px;opacity:0;animation:sd-item-in .3s ease forwards}.mp-grid-hl{background:#ffd166}.mp-cards{display:flex;flex-wrap:wrap;gap:10px}.mp-card{flex:1 1 140px;background:#f4f8ff;border:1px solid #e2ecff;border-radius:10px;padding:12px 14px;opacity:0;animation:sd-item-in .35s ease forwards}.mp-card-title{font-weight:800;color:#0446a4;font-size:.88rem;margin-bottom:3px}.mp-card-sub{font-size:.78rem;color:#5a6a8a;line-height:1.4}@media (max-width: 700px){.sd-card{padding:26px 22px}.sd-h{font-size:1.35rem}.sd-compare{flex-direction:column}.sd-compare-mid{flex-direction:row;width:auto}}.av-logo{width:200px;height:auto;max-width:70%;object-fit:contain;margin:0 auto 14px;display:block}.av-title{font-size:2.4rem;font-weight:900;color:#0a1a3a;text-align:center;margin:0 0 8px;letter-spacing:-.5px}.av-tagline{text-align:center;font-size:1.15rem;font-weight:700;color:#0557a8;margin:0 0 6px}.av-sub{text-align:center;font-size:.95rem;color:#5a6a8a;margin:0}.av-note{margin:18px 0 0;font-size:.85rem;color:#5a6a8a;line-height:1.6}.av-pitch-list{margin:4px 0 0;padding-left:22px;line-height:1.75;color:#2b3550;font-size:1rem}.av-pitch-list li{margin-bottom:10px}.av-pitch-list strong{color:#0557a8}.av-taso-row{display:flex;gap:16px;flex-wrap:wrap}.av-taso-tile{flex:1 1 140px;background:color-mix(in srgb,var(--tcolor) 8%,#fff);border:2px solid var(--tcolor);border-radius:14px;padding:18px 14px;text-align:center}.av-taso-num{width:40px;height:40px;margin:0 auto 8px;border-radius:50%;background:var(--tcolor);color:#fff;font-weight:900;font-size:1.2rem;display:flex;align-items:center;justify-content:center}.av-taso-name{font-weight:800;color:#0a1a3a;margin-bottom:6px}.av-taso-stat{font-size:.82rem;color:#5a6a8a;font-weight:700}.av-chapter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:6px}.av-chapter-card{background:#f7f9fd;border-left:4px solid var(--tcolor);border-radius:8px;padding:12px 14px}.av-chapter-title{font-weight:800;font-size:.92rem;color:#1c2b4a;margin-bottom:4px}.av-chapter-count{font-size:.78rem;color:#5a6a8a;font-weight:700}.av-flow{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 6px}.av-flow-step{flex:1 1 160px;background:#f7f9fd;border:2px solid #e3ecf8;border-radius:12px;padding:16px;cursor:pointer;text-align:center;transition:border-color .2s,background .2s}.av-flow-step:hover{border-color:#c5d9f0}.av-flow-step-on{border-color:#0557a8;background:#eef4ff}.av-flow-icon{font-size:2rem;display:block;margin-bottom:6px}.av-flow-term{font-weight:800;color:#0a1a3a}.av-flow-def{margin:10px 0 0;font-size:.85rem;line-height:1.5;color:#33415c;text-align:left}.av-feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:8px}.av-feature-card{background:#f7f9fd;border-radius:12px;padding:16px}.av-feature-icon{font-size:1.7rem;display:block;margin-bottom:8px}.av-feature-title{font-weight:800;color:#0a1a3a;margin-bottom:4px}.av-feature-text{font-size:.82rem;line-height:1.5;color:#5a6a8a;margin:0}.av-stat-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:10px}.av-stat-tile{flex:1 1 110px;text-align:center}.av-stat-num{font-size:2.2rem;font-weight:900;color:#0557a8}.av-stat-label{font-size:.78rem;color:#5a6a8a;font-weight:700;margin-top:2px}@media (max-width: 700px){.av-title{font-size:1.7rem}.av-taso-row,.av-flow{flex-direction:column}}.game-wrapper{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:24px}.game-header{display:flex;align-items:center;justify-content:space-between;width:720px;padding:0 4px}.game-title{color:#fff;font-size:1.6rem;font-weight:800;letter-spacing:6px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.score-display{color:#ffffffbf;font-size:1rem;min-width:120px}.timer-display{color:#ffffffe6;font-size:1.1rem;font-weight:700;min-width:50px;text-align:right;transition:color .3s}.timer-display.urgent{color:#f54;animation:pulse .8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.btn-back{background:none;border:1px solid rgba(255,255,255,.35);border-radius:6px;color:#ffffffb3;font-size:.85rem;padding:6px 12px;cursor:pointer;transition:color .15s,border-color .15s}.btn-back:hover{color:#fff;border-color:#fffc}.arena{position:relative;width:720px;height:560px;background:linear-gradient(180deg,#04040e,#080820 55%,#0d0d30);border:2px solid #1a1a44;border-radius:10px;overflow:hidden;box-shadow:0 0 50px #0022aa18;transition:border-color .15s,box-shadow .15s}.arena-correct{border-color:#4f8!important;box-shadow:0 0 40px #4f85!important}.arena-wrong{border-color:#f43!important;box-shadow:0 0 40px #f435!important}.floor{position:absolute;bottom:0;left:0;width:100%;height:6px;background:linear-gradient(90deg,#223,#556,#223);box-shadow:0 -3px 12px #46a6}.ball{position:absolute;top:490px;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;transform:translate(-50%);-webkit-user-select:none;user-select:none;will-change:top}.ball-blue{background:radial-gradient(circle at 36% 32%,#9cf,#04c);box-shadow:0 0 22px #05f8,inset 0 0 10px #fff2}.ball-red{background:radial-gradient(circle at 36% 32%,#fa9,#c20);box-shadow:0 0 22px #f308,inset 0 0 10px #fff2}.phase-dropping{animation:drop 3s cubic-bezier(.4,0,.8,1) forwards}.phase-bouncing{animation:bounce 2.2s ease-in-out infinite}@keyframes drop{0%{top:-70px}to{top:490px}}@keyframes bounce{0%{top:490px}50%{top:245px}to{top:490px}}.game-controls{display:flex;flex-direction:column;align-items:center;gap:10px}.legend{color:#778;font-size:.82rem;display:flex;align-items:center;gap:4px}.dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:4px}.dot-blue{background:#05f}.dot-red{background:#c20}.hint{color:#667;font-size:.85rem}.input-area{display:flex;gap:10px;align-items:center}.num-input{width:260px;padding:10px 16px;background:#111128;border:2px solid #334;border-radius:8px;color:#e0e8ff;font-size:1.1rem;outline:none;text-align:center;transition:border-color .15s}.num-input:focus{border-color:#46c}.num-input:disabled{opacity:.5}.num-input.input-correct{border-color:#4f8}.num-input.input-wrong{border-color:#f43}.num-input::-webkit-inner-spin-button,.num-input::-webkit-outer-spin-button{-webkit-appearance:none}.num-input[type=number]{-moz-appearance:textfield}.btn-ok{padding:10px 24px;background:#24a;border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s}.btn-ok:hover:not(:disabled){background:#35c}.btn-ok:disabled{opacity:.4;cursor:default}.btn-start{padding:12px 36px;background:#35c;border:none;border-radius:10px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;letter-spacing:1px;transition:background .2s,transform .1s}.btn-start:hover{background:#46e;transform:scale(1.03)}.btn-start:active{transform:scale(.98)}.result{display:flex;flex-direction:column;align-items:center;gap:12px}.result-label{color:#fffc;font-size:1.1rem;letter-spacing:2px}.final-score{color:#fff;font-size:2.6rem;font-weight:900;text-shadow:0 0 20px rgba(255,255,255,.4)}.result-buttons{display:flex;gap:14px}.btn-back-large{padding:12px 28px;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:10px;color:#ffffffd9;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}.btn-back-large:hover{background:#fff3;border-color:#fffc}.bm-wrapper{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:24px}.bm-header{display:flex;align-items:center;justify-content:space-between;width:760px;padding:0 4px}.bm-title{color:#fff;font-size:1.6rem;font-weight:800;letter-spacing:6px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.bm-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:120px}.bm-time{color:#ffffffe6;font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}.bm-pen{color:#ffffff8c;font-size:.78rem}.bm-back{background:none;border:1px solid rgba(255,255,255,.35);border-radius:6px;color:#ffffffb3;font-size:.85rem;padding:6px 12px;cursor:pointer;transition:color .15s,border-color .15s}.bm-back:hover{color:#fff;border-color:#fffc}.bm-arena{position:relative;width:760px;height:500px;background:linear-gradient(180deg,#04040e,#080820 55%,#0d0d30);border:2px solid #1a1a44;border-radius:10px;overflow:hidden;box-shadow:0 0 50px #0022aa18}.bm-ball{position:absolute;width:64px;height:64px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;transform:translate(-50%,-50%);cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .35s;-webkit-user-select:none;user-select:none}.bm-ball:hover:not(.bm-sel):not(.bm-remove){transform:translate(-50%,-50%) scale(1.1)}.bm-blue{background:radial-gradient(circle at 36% 32%,#9cf,#04c);box-shadow:0 0 16px #05f5,inset 0 0 8px #fff2}.bm-red{background:radial-gradient(circle at 36% 32%,#fa9,#c20);box-shadow:0 0 16px #f305,inset 0 0 8px #fff2}.bm-sel{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 0 0 3px #fff,0 0 22px #abfc!important}.bm-wrong{animation:wrong-flash .45s ease forwards}@keyframes wrong-flash{0%{box-shadow:0 0 0 3px #f33,0 0 20px #f33a;filter:brightness(1)}40%{filter:brightness(1.8)}to{box-shadow:none;filter:brightness(1)}}.bm-remove{opacity:0;transform:translate(-50%,-50%) scale(0)!important;pointer-events:none}.bm-controls{display:flex;flex-direction:column;align-items:center;gap:12px}.bm-hint{color:#667;font-size:.88rem;text-align:center;max-width:460px;line-height:1.6}.bm-btn-start{padding:12px 36px;background:#35c;border:none;border-radius:10px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;letter-spacing:1px;transition:background .2s,transform .1s}.bm-btn-start:hover{background:#46e;transform:scale(1.03)}.bm-btn-start:active{transform:scale(.98)}.bm-result{display:flex;flex-direction:column;align-items:center;gap:10px}.bm-result-label{color:#fffc;font-size:1.1rem;letter-spacing:2px}.bm-final-time{color:#fff;font-size:3rem;font-weight:900;text-shadow:0 0 20px rgba(255,255,255,.4);font-variant-numeric:tabular-nums}.bm-pen-result{color:#ffffff8c;font-size:.9rem}.bm-result-btns{display:flex;gap:14px;margin-top:4px}.bm-back-lg{padding:12px 28px;background:#ffffff1a;border:2px solid rgba(255,255,255,.3)!important;border-radius:10px;color:#ffffffd9!important;font-size:1rem;font-weight:600}.bm-back-lg:hover{background:#fff3}.zs-confirm-btn{padding:7px 20px;background:#248;border:none;border-radius:6px;color:#ccd;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s;margin-left:16px}.zs-confirm-btn:hover:not(:disabled){background:#35a}.zs-confirm-btn:disabled{opacity:.35;cursor:default}.ms-wrapper{display:flex;flex-direction:column;align-items:center;gap:22px;padding:24px 16px;min-height:100vh}.ms-header{display:flex;align-items:center;justify-content:space-between;width:min(760px,100%)}.ms-title{color:#fff;font-size:1.4rem;font-weight:800;letter-spacing:4px;text-transform:uppercase;text-shadow:0 0 20px rgba(255,255,255,.3)}.ms-problem-box{width:min(560px,100%);padding:28px 32px;background:#0a0a22;border:2px solid #1e1e44;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:24px;transition:border-color .2s}.ms-fb-correct{border-color:#3d6}.ms-fb-wrong{border-color:#f43}.ms-expanded-box{width:min(480px,100%);padding:20px 28px;background:#0d0d28;border:1px solid #2a2a55;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:20px}.ms-steps{display:flex;align-items:center;gap:8px}.ms-step-item{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.35;transition:opacity .2s}.ms-step-active{opacity:1}.ms-step-done{opacity:.7}.ms-step-num{width:28px;height:28px;border-radius:50%;background:#24a;color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}.ms-step-active .ms-step-num{background:#46f;box-shadow:0 0 10px #46f8}.ms-step-done .ms-step-num{background:#3a5}.ms-step-txt{color:#889;font-size:.72rem;letter-spacing:1px;text-transform:uppercase}.ms-step-active .ms-step-txt{color:#abf}.ms-step-conn{width:48px;height:2px;background:#223;border-radius:1px;margin-bottom:18px}.ms-input-section{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(560px,100%)}.ms-step-label{color:#89c;font-size:.9rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.ms-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1}.ms-frac-lg .ms-fnum,.ms-frac-lg .ms-fden{font-size:2rem;padding:0 12px}.ms-frac-lg .ms-fnum{padding-bottom:5px}.ms-frac-lg .ms-fden{padding-top:5px}.ms-frac-md .ms-fnum,.ms-frac-md .ms-fden{font-size:1.55rem;padding:0 9px}.ms-frac-md .ms-fnum{padding-bottom:4px}.ms-frac-md .ms-fden{padding-top:4px}.ms-fnum{font-weight:700;color:#e0e8ff;border-bottom:3px solid #4466bb;min-width:20px;text-align:center}.ms-fden{font-weight:700;color:#e0e8ff;min-width:20px;text-align:center}.ms-int{font-weight:700;color:#e0e8ff;line-height:1}.ms-int-lg{font-size:2rem}.ms-int-md{font-size:1.55rem}.ms-op{font-size:1.8rem;font-weight:300;color:#45a;line-height:1;align-self:center}.ms-op-lg{font-size:2.2rem}.ms-q{font-size:2.4rem;font-weight:800;color:#68f;text-shadow:0 0 14px #5566ff44;animation:ms-blink 1.6s ease-in-out infinite;align-self:center}@keyframes ms-blink{0%,to{opacity:1}50%{opacity:.35}}.ms-step3-hint{display:flex;align-items:center;justify-content:center;gap:20px;padding:18px 32px;background:#0d0d2a;border:1px dashed #3344aa;border-radius:12px;width:min(400px,100%)}.ms-mixed-demo{display:inline-flex;align-items:center;gap:8px}.ms-mixed-whole{font-size:1.7rem;font-weight:700;color:#e0e8ff;align-self:center;line-height:1}.ms-demo-row{display:flex;align-items:center;gap:16px;padding:10px 0}.ms-demo-row+.ms-demo-row{border-top:1px solid #1a1a33}.ms-demo-step{font-size:1.1rem;color:#57c;font-weight:700;min-width:24px}.ms-expr{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.muun-wrapper{display:flex;flex-direction:column;align-items:center;gap:22px;padding:24px 16px;min-height:100vh}.muun-header{display:flex;align-items:center;justify-content:space-between;width:min(760px,100%)}.muun-title{color:#fff;font-size:1.4rem;font-weight:800;letter-spacing:4px;text-transform:uppercase;text-shadow:0 0 20px rgba(255,255,255,.3)}@keyframes ms-slide{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.ms-slide-in{animation:ms-slide .28s ease-out}.muun-box{width:min(580px,100%);padding:28px 32px;background:#0a0a22;border:2px solid #1e1e44;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:14px;transition:border-color .2s}.muun-fb-correct{border-color:#3d6}.muun-fb-wrong{border-color:#f43}.muun-cat{font-size:.78rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#56a}.muun-expr{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}.muun-val{font-size:2.8rem;font-weight:800;color:#e0e8ff;line-height:1}.muun-unit{font-size:1.9rem;font-weight:600;color:#89c;line-height:1}.muun-target{color:#48f}.muun-arrow{font-size:2.2rem;color:#348;line-height:1}.muun-q{font-size:2.8rem;font-weight:800;color:#68f;text-shadow:0 0 14px #5566ff44;animation:muun-blink 1.6s ease-in-out infinite;line-height:1}@keyframes muun-blink{0%,to{opacity:1}50%{opacity:.35}}.muun-demo{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 0;flex-wrap:wrap}.muun-demo-val{font-size:2rem;font-weight:800;color:#e0e8ff}.muun-demo-unit{font-size:1.5rem;font-weight:600;color:#89c}.muun-demo-arrow{font-size:1.8rem;color:#348}.muun-demo-ans{font-size:2rem;font-weight:800;color:#4d8}@keyframes muun-chart-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.muun-chart{width:min(640px,100%);padding:16px 20px;background:#07071a;border:2px solid #aa3322;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:10px;animation:muun-chart-in .25s ease-out}.muun-chart-title{font-size:.78rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#c65}.muun-chart-chain{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:0}.muun-chart-item{display:flex;align-items:center}.muun-chart-unit{font-size:1.1rem;font-weight:700;color:#d0d8ff;background:#1a1a44;border:1px solid #2a2a66;border-radius:6px;padding:4px 10px;white-space:nowrap}.muun-chart-step{display:flex;flex-direction:column;align-items:center;padding:0 4px;gap:2px}.muun-chart-div{font-size:.72rem;font-weight:700;color:#5af;letter-spacing:.5px}.muun-chart-mul{font-size:.72rem;font-weight:700;color:#fa3;letter-spacing:.5px}.muun-chart-arrows{font-size:.85rem;color:#445;letter-spacing:-2px}.muun-chart-legend{display:flex;align-items:center;gap:10px;font-size:.72rem;color:#568;letter-spacing:.5px}.muun-chart-legend span:first-child{color:#5af}.muun-chart-legend span:last-child{color:#fa3}.muun-chart-sep{color:#334!important}.sy-wrapper{display:flex;flex-direction:column;align-items:center;gap:22px;padding:24px 16px;min-height:100vh}.sy-header{display:flex;align-items:center;justify-content:space-between;width:min(760px,100%)}.sy-title{color:#fff;font-size:1.4rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 20px rgba(255,255,255,.3)}.sy-equation{display:flex;align-items:center;justify-content:center;gap:28px;padding:26px 32px;background:#0a0a22;border:2px solid #1e1e44;border-radius:18px;width:min(580px,100%);transition:border-color .3s,background .3s}.sy-eq-won{border-color:#3d6;background:#050f08}.sy-fraction{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;min-width:0}.sy-bar{width:100%;min-width:80px;height:3px;background:#34a;border-radius:2px}.sy-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;min-height:58px}.sy-one{font-size:1.6rem;font-weight:700;color:#2a2a44;padding:6px 10px}.sy-sym{font-size:2rem;background:#12123a;border:2px solid #2a2a55;border-radius:10px;padding:6px 8px;cursor:pointer;transition:border-color .12s,transform .1s,background .12s,box-shadow .12s;line-height:1;-webkit-user-select:none;user-select:none}.sy-sym-armed{border-color:#48f!important;background:#101035!important;cursor:pointer}.sy-sym-armed:hover{border-color:#6af!important;background:#1a1a55!important;transform:scale(1.15);box-shadow:0 0 12px #48f5}.sy-sym:not(.sy-sym-armed):not(.sy-smiley):hover:not(:disabled){border-color:#35a;background:#151540}.sy-sym:active:not(:disabled){transform:scale(.9)}.sy-smiley{border-color:#fc0!important;box-shadow:0 0 14px #fc05}.sy-sym-disabled{cursor:default;opacity:.9}.sy-eq-sign{font-size:2.6rem;font-weight:300;color:#348;flex-shrink:0;line-height:1}.sy-ops-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.sy-op-group{display:flex;gap:10px}.sy-op{width:56px;height:56px;font-size:1.8rem;font-weight:700;border-radius:12px;border:2px solid transparent;cursor:pointer;transition:border-color .12s,background .12s,transform .1s,box-shadow .12s;line-height:1;display:flex;align-items:center;justify-content:center}.sy-op-trap{background:#1a0a0a;border-color:#411;color:#c44}.sy-op-trap:hover{border-color:#f44;background:#280808}.sy-op-valid{background:#0a1022;border-color:#124;color:#48f}.sy-op-valid:hover{border-color:#36c;background:#121833}.sy-op-on{border-color:#5af!important;background:#101a3a!important;box-shadow:0 0 14px #48f6;transform:scale(1.1)}.sy-op-struct{padding:10px 16px;border-radius:10px;border:2px solid #2a3355;background:#0e0e28;color:#89c;font-size:.9rem;font-weight:700;cursor:pointer;transition:border-color .12s,background .12s;letter-spacing:.5px;white-space:nowrap}.sy-op-struct:hover{border-color:#45a;background:#141430;color:#abf}.sy-op-hint{font-size:.9rem;color:#48f;font-weight:600;letter-spacing:.5px}.sy-moves{color:#abd;font-size:.9rem;font-weight:600;letter-spacing:1px}@keyframes sy-flash-in{0%{opacity:0;transform:scale(.8) translateY(-6px)}30%{opacity:1;transform:scale(1.05) translateY(0)}to{opacity:1;transform:scale(1)}}.sy-flash{font-size:1.05rem;font-weight:700;padding:8px 20px;border-radius:8px;letter-spacing:.5px;animation:sy-flash-in .2s ease-out}.sy-flash-wrong{color:#f54;background:#1f0808;border:1px solid #551111}.sy-flash-hint{color:#48f;background:#080818;border:1px solid #112244}@keyframes sy-win{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.sy-win-msg{color:#3d6;font-size:1.25rem;font-weight:800;text-align:center;letter-spacing:1px;animation:sy-win .3s ease-out}.sy-idle-box{width:min(520px,100%)}.sy-idle-eq{display:flex;align-items:center;justify-content:center;gap:20px;padding:10px 0;flex-wrap:wrap}.sy-frac-demo{display:flex;flex-direction:column;align-items:center;gap:6px}.sy-demo-row{font-size:1.55rem;color:#aab;white-space:nowrap}.sy-bar-demo{width:100%;min-width:72px;height:2px;background:#34a;border-radius:2px}.sy-eq-sym{font-size:2rem;color:#348;font-weight:300}.sy-idle-rules{display:flex;flex-direction:column;gap:10px;width:min(440px,100%);margin:2px 0}.sy-rule{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;color:#778;line-height:1.4}.sy-rule-op{font-size:1.1rem;font-weight:800;min-width:56px;flex-shrink:0}.sy-rule-valid .sy-rule-op{color:#48f}.sy-rule-trap .sy-rule-op{color:#c44}.sy-rule-struct .sy-rule-op{color:#89c}.lv-wrapper{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px 16px;min-height:100vh;background:transparent;background-attachment:fixed}.lv-header{display:flex;align-items:center;justify-content:space-between;width:min(600px,100%)}.lv-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.lv-deco-row{display:flex;gap:18px;justify-content:center}.lv-deco{font-size:1.9rem;display:inline-block;animation:lv-bob 2.8s ease-in-out infinite}@keyframes lv-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.lv-problem-box{display:flex;align-items:center;justify-content:center;gap:18px;padding:32px 44px;background:#08082a;border:3px solid #2a2a66;border-radius:22px;width:min(480px,100%);transition:border-color .2s,background .2s}.lv-ok{border-color:#3e6!important;background:#04120a!important}.lv-err{border-color:#f43!important;background:#150505!important}.lv-big-num{font-size:4.2rem;font-weight:900;color:#ffe066;min-width:72px;text-align:center;text-shadow:0 0 18px #ffcc0033;line-height:1}.lv-big-op{font-size:3.2rem;font-weight:300;color:#79f;line-height:1}.lv-big-q{font-size:4.2rem;font-weight:900;color:#f94;min-width:72px;text-align:center;line-height:1}.lv-frames-row{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.lv-tenframe{display:flex;flex-direction:column;gap:5px;background:#0c0c2a;border:2px solid #222255;border-radius:10px;padding:10px 12px}.lv-tenframe-row{display:flex;gap:5px}.lv-dot{width:20px;height:20px;border-radius:50%;flex-shrink:0;transition:transform .1s}.lv-dot-empty{background:#1a1a3a!important;border:1px solid #2a2a55}.lv-dot-cross{opacity:.55;position:relative}.lv-dot-cross:after{content:"✕";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#f64;line-height:1}.lv-input-row{display:flex;flex-direction:column;gap:12px;align-items:center}.lv-input{width:110px;padding:14px 10px;font-size:2.6rem;font-weight:800;text-align:center;background:#0e0e2c;border:3px solid #3344bb;border-radius:14px;color:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.lv-input:focus{border-color:#68f;box-shadow:0 0 18px #46f3}.lv-input::-webkit-inner-spin-button,.lv-input::-webkit-outer-spin-button{-webkit-appearance:none}.lv-input[type=number]{-moz-appearance:textfield}.lv-ok-btn{padding:14px 28px;font-size:1.35rem;font-weight:800;background:#0e2a14;border:3px solid #33bb55;border-radius:14px;color:#4e6;cursor:pointer;transition:background .15s,transform .1s;letter-spacing:.5px}.lv-ok-btn:hover:not(:disabled){background:#1a3a22;transform:scale(1.06)}.lv-ok-btn:active:not(:disabled){transform:scale(.94)}.lv-ok-btn:disabled{opacity:.5;cursor:default}.lv-ok-msg{font-size:1.5rem;font-weight:800;color:#4e6;letter-spacing:1px;animation:lv-pop .25s ease-out}.lv-wrong-msg{font-size:1.2rem;font-weight:700;color:#f64;letter-spacing:.5px;animation:lv-pop .25s ease-out}@keyframes lv-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.lv-play{display:flex;flex-direction:column;align-items:center;gap:22px;width:100%}.lv-idle-box{width:min(480px,100%)}.lv-ex-problem{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px 0 10px}.lv-ex-num{font-size:2.8rem;font-weight:900;color:#ffe066}.lv-ex-op{font-size:2.4rem;font-weight:300;color:#79f}.lv-ex-ans{font-size:2.8rem;font-weight:900;color:#4e6}.lv-ex-frames{display:flex;gap:20px;justify-content:center;margin:4px 0 10px}.lv-ex-hint{color:#456;font-size:.85rem;text-align:center;letter-spacing:1px}.lk-wrapper{display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px 16px;min-height:100vh;background:transparent;background-attachment:fixed}.lk-header{display:flex;align-items:center;justify-content:space-between;width:min(620px,100%)}.lk-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.lk-picture{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;padding:24px 28px;background:#070f22;border:3px solid #1a3a6a;border-radius:20px;width:min(520px,100%);min-height:160px;transition:border-color .25s,background .25s;background:linear-gradient(160deg,#0a1428,#0d1f3a)}.lk-picture-demo{border-color:#1a3a6a}.lk-flash-ok{border-color:#3e6!important;background:linear-gradient(160deg,#041008,#072010)!important}.lk-flash-wrong{border-color:#f43!important;background:linear-gradient(160deg,#150404,#1a0808)!important}.lk-item{font-size:2.4rem;display:inline-block;line-height:1;transition:transform .1s;cursor:default;-webkit-user-select:none;user-select:none}.lk-question{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;font-size:1.25rem;color:#c0d8f0;font-weight:600}.lk-q-text{color:#89b}.lk-q-name{color:#8df;font-weight:700}.lk-target-badge{font-size:2rem;background:#0e1e38;border:2px solid #2255aa;border-radius:10px;padding:4px 8px;line-height:1}.lk-input-row{display:flex;flex-direction:column;gap:12px;align-items:center}.lk-input{width:110px;padding:14px 10px;font-size:2.6rem;font-weight:800;text-align:center;background:#0c1428;border:3px solid #2244aa;border-radius:14px;color:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.lk-input:focus{border-color:#4af;box-shadow:0 0 18px #28f3}.lk-input::-webkit-inner-spin-button,.lk-input::-webkit-outer-spin-button{-webkit-appearance:none}.lk-input[type=number]{-moz-appearance:textfield}.lk-ok-btn{padding:14px 28px;font-size:1.35rem;font-weight:800;background:#0e2a14;border:3px solid #33bb55;border-radius:14px;color:#4e6;cursor:pointer;transition:background .15s,transform .1s;letter-spacing:.5px}.lk-ok-btn:hover:not(:disabled){background:#1a3a22;transform:scale(1.06)}.lk-ok-btn:active:not(:disabled){transform:scale(.94)}.lk-ok-btn:disabled{opacity:.45;cursor:default}.lk-msg{font-size:1.3rem;font-weight:800;letter-spacing:.5px;animation:lk-pop .25s ease-out}.lk-msg-ok{color:#4e6}.lk-msg-wrong{color:#f74}@keyframes lk-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.lk-play{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.lk-idle-box{width:min(480px,100%)}.lk-q-demo{margin-top:14px;font-size:1.1rem;color:#8ac;text-align:center}.lk-ans-demo{margin-top:6px;font-size:1.1rem;color:#4e6;text-align:center}.lk-ans-demo strong{font-size:1.4rem}.sp-wrapper{display:flex;flex-direction:column;align-items:center;gap:22px;padding:24px 16px;min-height:100vh;background:transparent;background-attachment:fixed}.sp-header{display:flex;align-items:center;justify-content:space-between;width:min(580px,100%)}.sp-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.sp-tree{display:flex;flex-direction:column;align-items:center;padding:28px 40px 32px;background:#08082a;border:3px solid #1a1a55;border-radius:22px;width:min(400px,100%);transition:border-color .25s,background .25s}.sp-ok{border-color:#3e6!important;background:#040f08!important}.sp-err{border-color:#f43!important;background:#150404!important}.sp-top-row{display:flex;justify-content:center}.sp-square{width:90px;height:90px;background:#0f102e;border:3px solid #ffaa44;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:900;color:#fc6;text-shadow:0 0 16px #ff880033;-webkit-user-select:none;user-select:none}.sp-svg{width:240px;height:60px;display:block;overflow:visible}.sp-bottom-row{display:flex;gap:60px;justify-content:center}.sp-circle{width:90px;height:90px;background:#0e1030;border:3px solid #4488ff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:900;color:#8bf;-webkit-user-select:none;user-select:none;transition:border-color .2s,box-shadow .2s}.sp-unknown{border-color:#f84!important;color:#f95!important;animation:sp-pulse 1.6s ease-in-out infinite}@keyframes sp-pulse{0%,to{box-shadow:0 0 #f844}50%{box-shadow:0 0 0 10px #f840}}.sp-question{font-size:1.15rem;color:#89b;font-weight:600;display:flex;align-items:center;gap:8px;letter-spacing:.3px}.sp-q-circle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid #ff8844;border-radius:50%;color:#f95;font-size:1.1rem;font-weight:900}.sp-input-row{display:flex;flex-direction:column;gap:12px;align-items:center}.sp-input{width:110px;padding:14px 10px;font-size:2.6rem;font-weight:800;text-align:center;background:#0e0e2c;border:3px solid #3355bb;border-radius:14px;color:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.sp-input:focus{border-color:#68f;box-shadow:0 0 18px #46f3}.sp-input::-webkit-inner-spin-button,.sp-input::-webkit-outer-spin-button{-webkit-appearance:none}.sp-input[type=number]{-moz-appearance:textfield}.sp-ok-btn{padding:14px 28px;font-size:1.35rem;font-weight:800;background:#0e2a14;border:3px solid #33bb55;border-radius:14px;color:#4e6;cursor:pointer;transition:background .15s,transform .1s;letter-spacing:.5px}.sp-ok-btn:hover:not(:disabled){background:#1a3a22;transform:scale(1.06)}.sp-ok-btn:active:not(:disabled){transform:scale(.94)}.sp-ok-btn:disabled{opacity:.45;cursor:default}.sp-msg{font-size:1.3rem;font-weight:800;letter-spacing:.5px;animation:sp-pop .25s ease-out}.sp-ok-msg{color:#4e6}.sp-wrong{color:#f74}@keyframes sp-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.sp-play{display:flex;flex-direction:column;align-items:center;gap:22px;width:100%}.sp-idle-box{width:min(380px,100%)}.sp-idle-hint{margin-top:16px;font-size:.9rem;color:#456;text-align:center;letter-spacing:.5px}.sp-idle-ans{margin-top:6px;font-size:1.05rem;color:#4e6;text-align:center}.sp-idle-ans strong{font-size:1.4rem}.yl-wrapper{display:flex;flex-direction:column;align-items:center;gap:22px;padding:24px 16px;min-height:100vh;background:transparent;background-attachment:fixed}.yl-header{display:flex;align-items:center;justify-content:space-between;width:min(700px,100%)}.yl-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.yl-play{display:flex;flex-direction:column;align-items:center;gap:18px;width:100%}.yl-board{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;width:min(720px,100%);box-sizing:border-box;background:#07071e;border:2px solid #18184a;border-radius:20px;padding:24px 20px;min-height:280px;gap:0}.yl-svg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}.yl-col{display:flex;flex-direction:column;gap:12px;z-index:3;width:100%}.yl-left-col{grid-column:1}.yl-right-col{grid-column:3}.yl-expr{width:100%;padding:0 16px;border:2px solid #2a2a66;border-radius:12px;background:#0e0e2e;color:#c0ccee;font-size:1.2rem;font-weight:700;cursor:pointer;text-align:center;transition:border-color .15s,background .15s,transform .1s,box-shadow .15s;letter-spacing:1px;white-space:nowrap;height:60px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.yl-expr:hover:not(:disabled):not(.yl-matched){border-color:#56c;background:#141440}.yl-selected{border-color:#6af!important;background:#0e1840!important;color:#9cf!important;box-shadow:0 0 16px #48f5;transform:scale(1.04)}.yl-ans{width:100%;padding:0 10px;border:2px solid #2a2a66;border-radius:12px;background:#0e0e2e;color:#c0ccee;font-size:1.6rem;font-weight:900;cursor:pointer;text-align:center;transition:border-color .15s,background .15s,transform .1s,box-shadow .15s;height:60px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.yl-ans-ready{border-color:#438}.yl-ans-ready:hover:not(:disabled):not(.yl-matched){border-color:#a5f;background:#180a28;transform:scale(1.06);box-shadow:0 0 14px #83f3}.yl-matched{cursor:default}.yl-check{font-size:.85rem;opacity:.85}.yl-wrong{border-color:#f32!important;background:#1e0505!important;color:#f64!important;animation:yl-shake .4s ease}@keyframes yl-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.yl-hint{font-size:.9rem;color:#456;letter-spacing:.5px}.yl-hint strong{color:#8cf}.yl-all-done{font-size:1.4rem;font-weight:800;color:#4e6;letter-spacing:1px;animation:yl-pop .3s ease-out}@keyframes yl-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.yl-idle-box{width:min(500px,100%)}.yl-demo{display:flex;align-items:center;gap:0;padding:14px 0 10px}.yl-demo-col{display:flex;flex-direction:column;gap:8px;flex:1}.yl-demo-svg{width:80px;height:160px;flex-shrink:0;overflow:visible}.yl-demo-expr,.yl-demo-ans{padding:8px 12px;border:2px solid #2a2a55;border-radius:8px;background:#0e0e28;color:#89b;font-size:.95rem;font-weight:700;text-align:center}.yl-demo-ans{font-size:1.15rem}.yl-demo-sel{border-color:#69f;background:#101840;color:#8cf}.yl-idle-hint{margin-top:8px;font-size:.82rem;color:#456;text-align:center;letter-spacing:.3px}.yk-wrapper{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 16px;min-height:100vh;background:transparent;background-attachment:fixed}.yk-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.yk-play{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}.yk-task-box{display:flex;align-items:center;gap:10px;padding:14px 28px;background:#0d0d2a;border:2px solid #2a2a66;border-radius:16px;font-weight:800;transition:border-color .15s,background .15s}.yk-task-wrong{border-color:#f32;background:#1a0505;animation:yk-shake .4s ease}.yk-task-ok{border-color:#3d6;background:#061a0e}.yk-task-label{font-size:1.1rem;color:#67a;letter-spacing:1px}.yk-task-num{font-size:2.2rem;color:#fff;line-height:1;min-width:1.4ch;text-align:center}.yk-task-icon{flex-shrink:0}.yk-task-color{font-size:1.2rem;letter-spacing:.5px}.yk-task-shape{font-size:1.2rem;color:#c0ccee}.yk-ok-btn{width:min(640px,100%);padding:16px;font-size:1.3rem;font-weight:900;letter-spacing:3px;background:#1a1a44;border:2px solid #4444aa;border-radius:14px;color:#abf;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s}.yk-ok-btn:hover:not(:disabled){background:#226;border-color:#66c;color:#cce0ff;transform:scale(1.05)}.yk-ok-btn:disabled{opacity:.45;cursor:default}.yk-ok-btn.yk-ok-success{background:#063318;border-color:#3d6;color:#4f8}.yk-ok-btn.yk-ok-fail{background:#1e0505;border-color:#f32;color:#f65}.yk-canvas-wrap{width:min(640px,100%);background:#07071e;border:2px solid #18184a;border-radius:20px;overflow:hidden;touch-action:manipulation}.yk-canvas{width:100%;height:auto;display:block}.yk-shape{cursor:pointer}.yk-shape:hover>*:first-child{opacity:.75}.yk-ring{animation:yk-ring-in .12s ease-out}@keyframes yk-ring-in{0%{opacity:0}to{opacity:1}}@keyframes yk-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes yk-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.yk-idle-hint{margin-top:10px;font-size:.9rem;color:#567;text-align:center;line-height:1.7}.lj-wrapper{display:flex;flex-direction:column;align-items:center;gap:22px;padding:24px 16px;min-height:100vh;background:transparent;background-attachment:fixed}.lj-header{display:flex;align-items:center;justify-content:space-between;width:min(700px,100%)}.lj-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.lj-play{display:flex;flex-direction:column;align-items:center;gap:28px;width:100%}.lj-jana-scroll{width:100%;overflow-x:auto;padding:16px 0}.lj-jana{display:flex;align-items:center;justify-content:center;min-width:max-content;padding:0 12px;gap:0}.lj-cell-wrap{display:flex;align-items:center}.lj-line{width:28px;height:4px;background:#2a3a5a;flex-shrink:0}.lj-arrow{font-size:1rem;color:#2a3a5a;padding:0 4px;-webkit-user-select:none;user-select:none}.lj-cell{width:60px;height:60px;border-radius:12px;border:2px solid transparent;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900;transition:border-color .15s,background .15s,transform .1s;-webkit-user-select:none;user-select:none;flex-shrink:0}.lj-fixed{background:#0e1830;border-color:#1e3060;color:#9be}.lj-blank{background:#07071e;border:2px dashed #2a4070;color:transparent;cursor:pointer}.lj-blank:hover:not(.lj-filled){border-color:#48c;background:#0a1228}.lj-active{border-color:#49f!important;background:#0d1e44!important;color:#49f!important;box-shadow:0 0 18px #26f5;transform:scale(1.1);animation:lj-pulse 1s ease-in-out infinite}.lj-filled{background:#062218!important;border-color:#3c6!important;border-style:solid!important;color:#4f8!important;cursor:default}.lj-flash-ok{animation:lj-ok .4s ease-out}.lj-flash-wrong{animation:lj-wrong .5s ease-out;border-color:#f32!important;background:#1e0505!important;color:#f64!important}@keyframes lj-pulse{0%,to{box-shadow:0 0 12px #26f4}50%{box-shadow:0 0 24px #49f8}}@keyframes lj-ok{0%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes lj-wrong{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.lj-numpad{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:500px}.lj-num-btn{width:56px;height:56px;font-size:1.3rem;font-weight:900;background:#0e1830;border:2px solid #1e3060;border-radius:12px;color:#8ad;cursor:pointer;transition:background .12s,border-color .12s,transform .1s}.lj-num-btn:hover:not(:disabled){background:#142248;border-color:#48c;color:#bdf;transform:scale(1.08)}.lj-num-btn.lj-num-dim{opacity:.35;cursor:default}.lj-done-msg{font-size:1.5rem;font-weight:800;color:#4e6;letter-spacing:1px;animation:lj-pop .3s ease-out}@keyframes lj-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.lj-hint{font-size:.88rem;color:#345;letter-spacing:.5px;min-height:1.2em}.lj-demo{display:flex;align-items:center;justify-content:center;padding:16px 0 10px}.lj-demo-wrap{display:flex;align-items:center}.lj-demo-line{width:20px;height:3px;background:#2a3a5a}.lj-demo-cell{width:44px;height:44px;border-radius:10px;border:2px solid #1e3060;background:#0e1830;color:#9be;font-size:1.2rem;font-weight:800;display:flex;align-items:center;justify-content:center}.lj-demo-blank{border-style:dashed;border-color:#2a4070;background:#07071e;color:transparent}.lj-idle-hint{margin-top:10px;font-size:.88rem;color:#567;text-align:center}.lp-wrapper{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px 16px;min-height:100vh;background:transparent;background-attachment:fixed}.lp-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.lp-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.lp-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.lp-bag-area{display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px 40px;background:#0d0d2a;border:2px solid #2a2a55;border-radius:24px;transition:border-color .2s,background .2s;width:min(400px,100%)}.lp-bag-area.lp-bag-ok{border-color:#3d6;background:#061a0e}.lp-bag-area.lp-bag-wrong{border-color:#f32;background:#1a0505;animation:lp-shake .4s ease}.lp-bag-img{width:180px;height:auto;object-fit:contain;filter:drop-shadow(0 8px 24px #00000088)}.lp-amount{display:flex;flex-direction:column;align-items:center;gap:4px}.lp-amount-label{font-size:.95rem;font-weight:600;color:#67a;letter-spacing:2px;text-transform:uppercase}.lp-amount-value{font-size:2.8rem;font-weight:900;color:#fff;letter-spacing:2px;text-shadow:0 0 20px #ffffff44}.lp-question{display:flex;align-items:center;gap:14px;padding:14px 24px;background:#0a0a22;border:2px solid #1e1e4a;border-radius:16px}.lp-coin-img{width:52px;height:52px;object-fit:contain}.lp-coin-label{font-size:1.4rem;font-weight:900;color:#fc4}.lp-q-text{font-size:1rem;color:#67a;font-weight:600}.lp-answers{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:420px}.lp-ans-btn{width:62px;height:62px;font-size:1.5rem;font-weight:900;background:#0e1030;border:2px solid #1e2060;border-radius:14px;color:#89c;cursor:pointer;transition:background .12s,border-color .12s,transform .1s,color .12s}.lp-ans-btn:hover:not(:disabled){background:#182050;border-color:#46c;color:#bdf;transform:scale(1.1)}.lp-ans-btn.lp-ans-correct{background:#063318;border-color:#3d6;color:#4f8;transform:scale(1.15)}.lp-ans-btn:disabled{opacity:.4;cursor:default}@keyframes lp-shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.lp-idle-hint{margin-top:10px;font-size:.9rem;color:#567;text-align:center;line-height:1.7}.sh-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px;min-height:100vh;background:transparent;background-attachment:fixed}.sh-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.sh-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.sh-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.sh-heart-wrap{transition:filter .2s}.sh-heart-wrap.sh-ok{filter:drop-shadow(0 0 24px #44ff88);animation:sh-pop .3s ease-out}.sh-heart-wrap.sh-wrong{filter:drop-shadow(0 0 24px #ff3322);animation:sh-shake .4s ease}.sh-svg{width:min(320px,90vw);height:auto;overflow:visible}.sh-missing-text{animation:sh-pulse 1.2s ease-in-out infinite}@keyframes sh-pulse{0%,to{opacity:1}50%{opacity:.45}}.sh-total{display:flex;flex-direction:column;align-items:center;gap:2px}.sh-total-label{font-size:.9rem;font-weight:600;color:#567;letter-spacing:2px;text-transform:uppercase}.sh-total-num{font-size:3.2rem;font-weight:900;color:#fff;line-height:1;text-shadow:0 0 20px #ffffff33}.sh-answers{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:440px}.sh-ans-btn{width:58px;height:58px;font-size:1.4rem;font-weight:900;background:#1a0818;border:2px solid #441030;border-radius:14px;color:#c79;cursor:pointer;transition:background .12s,border-color .12s,transform .1s,color .12s}.sh-ans-btn:hover:not(:disabled){background:#2a1025;border-color:#a25;color:#fac;transform:scale(1.1)}.sh-ans-btn.sh-ans-correct{background:#0a2a14;border-color:#3d6;color:#4f8;transform:scale(1.15)}.sh-ans-btn:disabled{opacity:.4;cursor:default}@keyframes sh-pop{0%{transform:scale(.9)}to{transform:scale(1)}}@keyframes sh-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.sh-idle-hint{margin-top:10px;font-size:.9rem;color:#567;text-align:center;line-height:1.7}.ki-wrapper{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px 16px;min-height:100vh;background:transparent;background-attachment:fixed}.ki-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.ki-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.ki-play{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.ki-bag-wrap{transition:filter .2s}.ki-bag-ok{filter:drop-shadow(0 0 20px #44ff88)}.ki-bag-wrong{filter:drop-shadow(0 0 20px #ff3322);animation:ki-shake .4s ease}.ki-bag-img{width:160px;height:auto;object-fit:contain}.ki-coins-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:18px 28px;background:#0a0a22;border:2px solid #1a1a44;border-radius:20px;width:min(500px,100%)}.ki-coin-slot{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.ki-plus{font-size:1.6rem;font-weight:900;color:#456;margin:0 4px;align-self:center;padding-bottom:20px}.ki-coin{width:72px;height:72px}.ki-coin-img{width:100%;height:100%;object-fit:contain}.ki-coin-svg{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#000a;box-shadow:0 4px 12px #0005,inset 0 2px 4px #fff3}.ki-coin-val{font-size:.82rem;font-weight:700;color:#fc4;letter-spacing:.5px}.ki-question{font-size:1.15rem;font-weight:700;color:#89b;letter-spacing:1px}.ki-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(380px,100%)}.ki-opt-btn{padding:18px 10px;font-size:1.4rem;font-weight:900;background:#0e1030;border:2px solid #1e2060;border-radius:16px;color:#89c;cursor:pointer;transition:background .12s,border-color .12s,transform .1s;letter-spacing:1px}.ki-opt-btn:hover:not(:disabled){background:#182050;border-color:#46c;color:#bdf;transform:scale(1.04)}.ki-opt-btn.ki-opt-ok{background:#063318;border-color:#3d6;color:#4f8;transform:scale(1.06)}.ki-opt-btn.ki-opt-wrong{background:#1e0505;border-color:#f32;color:#f65;animation:ki-shake .4s ease}.ki-opt-btn:disabled{opacity:.4;cursor:default}@keyframes ki-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.ki-idle-hint{margin-top:10px;font-size:.9rem;color:#567;text-align:center;line-height:1.7}.mp-wrapper{display:flex;flex-direction:column;align-items:center;gap:28px;padding:24px 16px;min-height:100vh;background:transparent;background-attachment:fixed}.mp-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.mp-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.mp-play{display:flex;flex-direction:column;align-items:center;gap:36px;margin-top:12px}.mp-box{display:flex;align-items:center;gap:24px;padding:36px 48px;background:#080820;border:3px solid #1a1a55;border-radius:28px;transition:border-color .15s,box-shadow .15s}.mp-box.mp-box-ok{border-color:#3d6;box-shadow:0 0 32px #3d64}.mp-box.mp-box-wrong{border-color:#f32;box-shadow:0 0 32px #f324;animation:mp-shake .4s ease}.mp-expr{font-size:2.8rem;font-weight:900;color:#8cf;letter-spacing:3px;white-space:nowrap}.mp-slot{font-size:3.2rem;font-weight:900;color:#457;min-width:56px;text-align:center;border-bottom:3px dashed #334466;padding:2px 10px;transition:color .2s,border-color .2s}.mp-slot.mp-slot-ok{color:#4f8;border-bottom-color:#4f8}.mp-right{font-size:2.8rem;font-weight:900;color:#fd8;letter-spacing:2px}.mp-btns{display:flex;gap:20px}.mp-btn{width:110px;height:110px;font-size:3.2rem;font-weight:900;background:#0e1030;border:3px solid #1e2060;border-radius:22px;color:#67b;cursor:pointer;transition:background .12s,border-color .12s,transform .1s,color .1s;line-height:1}.mp-btn:hover:not(:disabled){background:#182050;border-color:#46c;color:#acf;transform:scale(1.1)}.mp-btn.mp-btn-ok{background:#063318;border-color:#3d6;color:#4f8;transform:scale(1.12)}.mp-btn.mp-btn-wrong{background:#200808;border-color:#f32;color:#f65;animation:mp-shake .4s ease}.mp-btn:disabled{opacity:.35;cursor:default}.mp-demo{display:flex;align-items:center;justify-content:center;gap:16px;margin:12px 0 4px}.mp-expr-demo{font-size:2rem;font-weight:900;color:#8cf}.mp-sign-demo{font-size:2.2rem;font-weight:900;color:#4f8}.mp-right-demo{font-size:2rem;font-weight:900;color:#fd8}.mp-idle-hint{margin-top:8px;font-size:.92rem;color:#567;text-align:center;line-height:1.7}@keyframes mp-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.dp-wrapper{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px 16px 40px;min-height:100vh;background:transparent;background-attachment:fixed}.dp-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.dp-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.dp-play{display:flex;flex-direction:column;align-items:center;gap:20px}.dp-chart-box{background:#07081e;border:2px solid #1a1a44;border-radius:20px;padding:20px 24px 14px;transition:border-color .15s,box-shadow .15s}.dp-chart-box.dp-box-ok{border-color:#3d6;box-shadow:0 0 32px #3d65}.dp-chart-box.dp-box-wrong{border-color:#f32;box-shadow:0 0 32px #f325;animation:dp-shake .4s ease}.dp-question{font-size:1.15rem;font-weight:700;color:#9ab;text-align:center;line-height:1.55;max-width:340px}.dp-question strong{color:#7df}.dp-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(320px,100%)}.dp-opt-btn{padding:18px 10px;font-size:1.6rem;font-weight:900;background:#0e1030;border:2px solid #1e2060;border-radius:16px;color:#67a;cursor:pointer;transition:background .12s,border-color .12s,transform .1s;font-family:inherit}.dp-opt-btn:hover:not(:disabled){background:#182050;border-color:#35b;color:#acf;transform:scale(1.06)}.dp-opt-btn.dp-opt-ok{background:#062818;border-color:#3d6;color:#4f8;transform:scale(1.08)}.dp-opt-btn.dp-opt-wrong{background:#1e0808;border-color:#f32;color:#f65;animation:dp-shake .4s ease}.dp-opt-btn:disabled{opacity:.3;cursor:default}.dp-idle-hint{margin-top:8px;font-size:.92rem;color:#567;text-align:center;line-height:1.7}@keyframes dp-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.jp-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 48px;min-height:100vh;background:transparent;background-attachment:fixed}.jp-header{display:flex;align-items:center;justify-content:space-between;width:min(700px,100%)}.jp-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.jp-seq{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:10px 4px}.jp-seq-play{background:#07081e;border:2px solid #1a1a44;border-radius:20px;padding:22px 28px;transition:border-color .15s,box-shadow .15s}.jp-seq-play.jp-row-ok{border-color:#3d6;box-shadow:0 0 32px #3d64}.jp-seq-play.jp-row-wrong{border-color:#f32;box-shadow:0 0 32px #f324;animation:jp-shake .4s ease}.jp-card{display:flex;align-items:center;justify-content:center;min-width:60px;height:60px;padding:0 10px;background:#101840;border:2px solid #2233aa;border-radius:14px;color:#acf;font-size:1.5rem;font-weight:900;font-family:inherit}.jp-arrow{color:#346;font-size:1.4rem;font-weight:700;-webkit-user-select:none;user-select:none}.jp-hidden{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:90px;height:72px;background:#06060e;border:2px dashed #2a2a66;border-radius:14px;padding:8px 12px}.jp-hidden-icon{font-size:1.3rem;line-height:1}.jp-hidden-count{font-size:.7rem;font-weight:800;color:#458;letter-spacing:.03em;text-align:center;text-transform:uppercase}.jp-qmark{color:#fc4;border-color:#a80;background:#1a1400;font-size:1.9rem;animation:jp-pulse 1.5s ease-in-out infinite alternate}.jp-qmark.jp-qmark-ok{color:#4f8;border-color:#3d6;background:#062818;animation:none}@keyframes jp-pulse{0%{box-shadow:0 0 #fc40}to{box-shadow:0 0 20px #fc46}}.jp-play{display:flex;flex-direction:column;align-items:center;gap:22px}.jp-question{font-size:1.1rem;font-weight:700;color:#9ab;text-align:center}.jp-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(320px,100%)}.jp-opt-btn{padding:20px 10px;font-size:1.6rem;font-weight:900;background:#0e1030;border:2px solid #1e2060;border-radius:16px;color:#67a;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s,transform .1s}.jp-opt-btn:hover:not(:disabled){background:#182050;border-color:#35b;color:#acf;transform:scale(1.06)}.jp-opt-btn.jp-opt-ok{background:#062818;border-color:#3d6;color:#4f8;transform:scale(1.08)}.jp-opt-btn.jp-opt-wrong{background:#1e0808;border-color:#f32;color:#f65;animation:jp-shake .4s ease}.jp-opt-btn:disabled{opacity:.3;cursor:default}.jp-idle-hint{margin-top:10px;font-size:.9rem;color:#456;text-align:center;line-height:1.7}@keyframes jp-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.jp2-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 48px;min-height:100vh;background:transparent;background-attachment:fixed}.jp2-header{display:flex;align-items:center;justify-content:space-between;width:min(700px,100%)}.jp2-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.jp2-seq{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:10px 4px}.jp2-seq-play{background:#07081e;border:2px solid #1a1a44;border-radius:20px;padding:22px 28px;transition:border-color .15s,box-shadow .15s}.jp2-seq-play.jp2-row-ok{border-color:#3d6;box-shadow:0 0 32px #3d64}.jp2-seq-play.jp2-row-wrong{border-color:#f32;box-shadow:0 0 32px #f324;animation:jp2-shake .4s ease}.jp2-card{display:flex;align-items:center;justify-content:center;min-width:60px;height:60px;padding:0 10px;background:#081a14;border:2px solid #117755;border-radius:14px;color:#6fc;font-size:1.5rem;font-weight:900;font-family:inherit}.jp2-arrow{color:#1a4433;font-size:1.4rem;font-weight:700;-webkit-user-select:none;user-select:none}.jp2-hidden{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:90px;height:72px;background:#060e0a;border:2px dashed #1a4433;border-radius:14px;padding:8px 12px}.jp2-hidden-icon{font-size:1.3rem;line-height:1}.jp2-hidden-count{font-size:.7rem;font-weight:800;color:#264;letter-spacing:.03em;text-align:center;text-transform:uppercase}.jp2-qmark{color:#4fc;border-color:#1a7;background:#041410;font-size:1.9rem;animation:jp2-pulse 1.5s ease-in-out infinite alternate}.jp2-qmark.jp2-qmark-ok{color:#4f8;border-color:#3d6;background:#062818;animation:none}@keyframes jp2-pulse{0%{box-shadow:0 0 #4fc0}to{box-shadow:0 0 20px #4fc5}}.jp2-play{display:flex;flex-direction:column;align-items:center;gap:22px}.jp2-question{font-size:1.1rem;font-weight:700;color:#9ab;text-align:center}.jp2-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(320px,100%)}.jp2-opt-btn{padding:20px 10px;font-size:1.6rem;font-weight:900;background:#071410;border:2px solid #0e3322;border-radius:16px;color:#365;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s,transform .1s}.jp2-opt-btn:hover:not(:disabled){background:#0d2820;border-color:#2a7;color:#6fc;transform:scale(1.06)}.jp2-opt-btn.jp2-opt-ok{background:#062818;border-color:#3d6;color:#4f8;transform:scale(1.08)}.jp2-opt-btn.jp2-opt-wrong{background:#1e0808;border-color:#f32;color:#f65;animation:jp2-shake .4s ease}.jp2-opt-btn:disabled{opacity:.3;cursor:default}.jp2-idle-hint{margin-top:10px;font-size:.9rem;color:#456;text-align:center;line-height:1.7}@keyframes jp2-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes eka-nebula-glow{0%{opacity:.75;filter:brightness(.9) saturate(.85)}50%{opacity:1;filter:brightness(1.18) saturate(1.3)}to{opacity:.82;filter:brightness(1.02) saturate(1)}}.lv-wrapper,.lk-wrapper,.sp-wrapper,.yl-wrapper,.yk-wrapper,.lj-wrapper,.lp-wrapper,.sh-wrapper,.ki-wrapper,.mp-wrapper,.dp-wrapper,.jp-wrapper,.jp2-wrapper,.ek-wrapper{position:relative;isolation:isolate}.lv-wrapper:before,.lk-wrapper:before,.sp-wrapper:before,.yl-wrapper:before,.yk-wrapper:before,.lj-wrapper:before,.lp-wrapper:before,.sh-wrapper:before,.ki-wrapper:before,.mp-wrapper:before,.dp-wrapper:before,.jp-wrapper:before,.jp2-wrapper:before,.ek-wrapper:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;animation:eka-nebula-glow 7s ease-in-out infinite alternate;background:linear-gradient(160deg,#023a8c,#0446a8 40%,#1e499e)}.ek-wrapper{display:flex;flex-direction:column;align-items:center;gap:28px;padding:24px 16px 48px;min-height:100vh;background:transparent;background-attachment:fixed}.ek-header{display:flex;align-items:center;justify-content:space-between;width:min(700px,100%)}.ek-title{color:#fff;font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.ek-play{display:flex;flex-direction:column;align-items:center;gap:20px}.ek-direction-label{font-size:.85rem;font-weight:700;color:#456;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:6px}.ek-arrow-lbl{font-size:1.1rem;color:#346}.ek-seq{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.ek-demo-seq{margin:12px 0}.ek-card{width:82px;height:82px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:900;font-family:inherit;background:#0e1838;border:2px solid #1e2a66;border-radius:18px;color:#79c;cursor:pointer;transition:transform .12s,border-color .12s,background .12s,color .12s;-webkit-user-select:none;user-select:none}.ek-card:hover:not(:disabled){transform:scale(1.1);border-color:#46c;color:#acf;background:#152044}.ek-card.ek-card-ok{background:#062818;border-color:#3d6;color:#4f8;transform:scale(1.14);box-shadow:0 0 28px #3d66;animation:ek-pop .3s ease}.ek-card.ek-card-wrong{background:#200808;border-color:#f32;color:#f65;animation:ek-shake .4s ease}.ek-card.ek-card-reveal{background:#1a0e00;border-color:#fa2;color:#fc4;box-shadow:0 0 22px #fa24;animation:ek-pulse-reveal .5s ease}.ek-card.ek-card-dim{opacity:.5;cursor:default}.ek-card:disabled:not(.ek-card-ok):not(.ek-card-wrong):not(.ek-card-reveal){opacity:.55;cursor:default}.ek-hint{font-size:.92rem;color:#456;text-align:center;letter-spacing:.02em}.ek-idle-hint{margin-top:10px;font-size:.9rem;color:#456;text-align:center;line-height:1.75}@keyframes ek-pop{0%{transform:scale(1)}50%{transform:scale(1.22)}to{transform:scale(1.14)}}@keyframes ek-shake{0%,to{transform:translate(0)}20%{transform:translate(-9px)}40%{transform:translate(9px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes ek-pulse-reveal{0%{box-shadow:0 0 #fa20}60%{box-shadow:0 0 32px #fa28}to{box-shadow:0 0 22px #fa24}}.yx-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.yx-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.yx-title{font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.yx-idle-box{max-width:500px}.yx-idle-eq{display:flex;align-items:center;justify-content:center;gap:24px;margin:20px 0 18px}.yx-idle-frac{display:inline-flex;flex-direction:column;align-items:center;gap:4px}.yx-demo-num{font-size:1.6rem;font-weight:900;color:#adf}.yx-demo-den{font-size:1.2rem;font-weight:700;color:#568}.yx-bar{width:100%;min-width:36px;height:3px;background:#adf;border-radius:2px}.yx-bar-demo{background:#346}.yx-eq-sign{font-size:2rem;font-weight:900;color:#457}.yx-op-list{display:flex;flex-direction:column;gap:10px;width:100%}.yx-op-row{display:flex;align-items:center;gap:14px;font-size:.92rem;color:#89b;line-height:1.4}.yx-op-keys{display:flex;align-items:center;gap:4px;flex-shrink:0;min-width:80px}.yx-op-key{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;font-size:1rem;font-weight:900}.yx-op-key-valid{background:#0c1e40;color:#59f;border:1.5px solid #2244aa}.yx-op-key-trap{background:#200a08;color:#f42;border:1.5px solid #551100}.yx-op-key-neutral{background:#0e1830;color:#78c;border:1.5px solid #2a3a66}.yx-op-key-sep{font-size:.75rem;color:#456;margin:0 1px}.yx-op-desc{color:#789}.yx-flash{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:10px 28px;border-radius:20px;font-size:1rem;font-weight:700;pointer-events:none;z-index:99;animation:yx-fadeup .85s ease forwards}.yx-flash-wrong{background:#3a0a08;border:2px solid #ff4422;color:#f75}.yx-flash-hint{background:#0a1a3a;border:2px solid #4488ff;color:#7bf}@keyframes yx-fadeup{0%{opacity:1;transform:translate(-50%) translateY(0)}70%{opacity:1;transform:translate(-50%) translateY(-8px)}to{opacity:0;transform:translate(-50%) translateY(-18px)}}.yx-equation{display:flex;align-items:center;justify-content:center;gap:24px;padding:28px 40px;background:#09091e;border:2px solid #1a1a44;border-radius:24px;min-width:280px;transition:border-color .2s,box-shadow .2s}.yx-eq-won{border-color:#3d6;box-shadow:0 0 40px #33dd6630}.yx-frac{display:flex;flex-direction:column;align-items:center;gap:0;min-width:48px}.yx-row{display:flex;align-items:center;justify-content:center;min-height:44px;padding:4px 6px}.yx-q-items{display:flex;align-items:center;gap:4px}.yx-one{font-size:1.3rem;font-weight:900;color:#346;padding:6px 10px}.yx-token{font-size:1.6rem;font-weight:900;font-family:inherit;padding:10px 18px;border-radius:14px;border:2px solid transparent;cursor:default;transition:background .1s,border-color .1s,transform .1s,color .1s}.yx-tok-num{background:#0d1830;border-color:#1e2e55;color:#79c}.yx-tok-x{background:#15092a;border-color:#3a1a66;color:#b8f;letter-spacing:1px}.yx-tok-armed{cursor:pointer;animation:yx-pulse 1.1s ease-in-out infinite}.yx-tok-num.yx-tok-armed{border-color:#59f;color:#acf;background:#0e1e3e}.yx-tok-x.yx-tok-armed{border-color:#95f;color:#daf;background:#1e0a3e}.yx-token.yx-tok-armed:hover{transform:scale(1.1);filter:brightness(1.3)}.yx-token:disabled{opacity:.4;cursor:default;animation:none}@keyframes yx-pulse{0%,to{transform:scale(1);box-shadow:none}50%{transform:scale(1.04);box-shadow:0 0 14px #48f6}}.yx-tok-depart{opacity:.25;pointer-events:none;transition:opacity .15s}.yx-q-target{position:relative;border-radius:12px;animation:yx-target-pulse .55s ease-in-out infinite}@keyframes yx-target-pulse{0%,to{box-shadow:0 0 0 2px #fc46,0 0 12px #fa03}50%{box-shadow:0 0 0 3px #fc4a,0 0 28px #fa06}}.yx-cross-flyer{position:fixed;transform:translate(-50%,-50%);z-index:200;pointer-events:none;font-size:1.7rem;font-weight:900;font-family:inherit;padding:10px 18px;border-radius:14px;animation:yx-cross-fly .65s cubic-bezier(.4,0,.2,1) forwards}.yx-flyer-num{background:#1a2a50;border:2px solid #5599ff;color:#acf}.yx-flyer-x{background:#2a1040;border:2px solid #9955ff;color:#daf}@keyframes yx-cross-fly{0%{transform:translate(-50%,-50%) scale(0);opacity:0}14%{transform:translate(-50%,-50%) scale(1.4);opacity:1;filter:brightness(2.4)}20%{transform:translate(-50%,-50%) scale(1.05);opacity:1;filter:brightness(1.5)}70%{transform:translate(calc(-50% + var(--dx) * .88),calc(-50% + var(--dy) * .88)) scale(1.5);opacity:1;filter:brightness(2.2)}88%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.25);opacity:1;filter:brightness(2)}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.05);opacity:1;filter:brightness(1.4)}}.yx-land{animation:yx-glow-in .3s ease forwards}@keyframes yx-glow-in{0%{filter:brightness(3)}to{filter:brightness(1)}}.yx-win{font-size:1.5rem;font-weight:900;color:#4f8;letter-spacing:2px;animation:yx-popin .3s cubic-bezier(.175,.885,.32,1.4) forwards}@keyframes yx-popin{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.yx-ops-row{display:flex;flex-direction:column;align-items:center;gap:12px}.yx-op-group{display:flex;gap:10px}.yx-op{width:58px;height:58px;font-size:1.7rem;font-weight:900;font-family:inherit;border-radius:14px;border:2px solid transparent;cursor:pointer;transition:background .1s,border-color .1s,transform .1s,color .1s}.yx-op-trap{background:#1e0808;border-color:#441a1a;color:#744}.yx-op-trap:hover:not(:disabled){background:#2e0e0e;border-color:#a32;color:#d65}.yx-op-valid{background:#080d22;border-color:#1a2866;color:#46a}.yx-op-valid:hover:not(:disabled){background:#0d1430;border-color:#35c;color:#8ae;transform:scale(1.08)}.yx-op-instant{background:#0d1628;border-color:#2a3a5a;color:#57a;font-size:1.4rem}.yx-op-instant:hover:not(:disabled){background:#131e38;border-color:#458;color:#8ac;transform:scale(1.08)}.yx-op-on{background:#0d1e44!important;border-color:#58f!important;color:#acf!important;transform:scale(1.1);box-shadow:0 0 20px #48f4}.yx-op-hint{font-size:.88rem;color:#46a;letter-spacing:.5px}.yx-moves{font-size:.85rem;color:#346;letter-spacing:1px}.ya-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.ya-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.ya-title{font-size:1.45rem;font-weight:900;letter-spacing:3px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.ya-idle-box{max-width:460px}.ya-demo{display:flex;flex-direction:column;gap:2px;margin:18px 0 14px}.ya-demo-row{display:flex;align-items:center;gap:12px;padding:4px 0}.ya-demo-eq{font-size:1.25rem;font-weight:800;color:#abd;font-family:Courier New,monospace;min-width:50px}.ya-demo-sep{font-size:1.3rem;font-weight:900;color:#456}.ya-demo-op{font-size:1.1rem;font-weight:700;color:#58b;margin-left:6px;font-family:Courier New,monospace}.ya-demo-solved .ya-demo-eq{color:#4f8}.ya-check-icon{font-size:1.2rem;color:#4f8;margin-left:4px}.ya-demo-cancel-hint{display:flex;align-items:center;gap:8px;padding:2px 8px 6px;font-size:.85rem}.ya-hint-a{color:#fc4;font-weight:800;font-family:Courier New,monospace}.ya-hint-b{color:#f84;font-weight:800;font-family:Courier New,monospace}.ya-hint-arrow{color:#4678;font-size:.78rem}.ya-play{display:flex;flex-direction:column;align-items:center;gap:20px;width:min(600px,100%)}.ya-history{display:flex;flex-direction:column;gap:2px;align-self:flex-start;padding:0 4px;width:100%}.ya-hist-row{display:flex;align-items:center;gap:16px;opacity:.38}.ya-hist-eq{font-size:1.05rem;font-weight:700;color:#78a;font-family:Courier New,monospace;min-width:160px}.ya-hist-op{font-size:.95rem;font-weight:700;color:#3a5066;font-family:Courier New,monospace}.ya-eq-box{display:flex;align-items:center;gap:14px;background:#09091e;border:2px solid #1a1a44;border-radius:20px;padding:24px 40px;min-width:300px;min-height:90px;transition:border-color .25s,box-shadow .25s;position:relative}.ya-eq-won{border-color:#3d6;box-shadow:0 0 40px #33dd6630;animation:ya-won-pop .35s cubic-bezier(.175,.885,.32,1.4)}@keyframes ya-won-pop{0%{transform:scale(.92)}to{transform:scale(1)}}.ya-win-check{font-size:1.8rem;color:#4f8;margin-left:10px;animation:ya-pop .4s cubic-bezier(.175,.885,.32,1.4)}@keyframes ya-pop{0%{transform:scale(0) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.ya-eq-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ya-lhs,.ya-rhs{font-size:2.1rem;font-weight:900;color:#adf;font-family:Courier New,monospace;white-space:nowrap}.ya-rhs{color:#dbf}.ya-eq-sep{font-size:2rem;font-weight:900;color:#457}.ya-eq-anim{display:flex;align-items:center;gap:14px}.ya-side{display:flex;align-items:center;gap:6px}.ya-side-right{min-width:60px;justify-content:flex-start}.ya-term{font-size:2.1rem;font-weight:900;font-family:Courier New,monospace;white-space:nowrap}.ya-term-stay{color:#adf}.ya-ca-appear{color:#fc4;animation:ya-term-in .35s cubic-bezier(.175,.885,.32,1.4) both}.ya-ca-highlight{color:#fc4;animation:ya-pulse-a .55s ease-in-out infinite}.ya-ca-cancel{color:#fc4;animation:ya-fly-right .42s ease-in forwards}.ya-cb-appear{color:#f84;animation:ya-term-in .35s cubic-bezier(.175,.885,.32,1.4) both;animation-delay:.06s}.ya-cb-highlight{color:#f84;animation:ya-pulse-b .55s ease-in-out infinite}.ya-cb-cancel{color:#f84;animation:ya-fly-left .42s ease-in forwards}.ya-rhs-op{color:#79c}.ya-rhs-op-appear{color:#79c;animation:ya-term-in .35s cubic-bezier(.175,.885,.32,1.4) both;animation-delay:.04s}.ya-rhs-op-highlight{color:#79c;animation:ya-pulse-rhs .55s ease-in-out infinite}.ya-rhs-op-cancel{display:none}.ya-result-in{color:#dbf;animation:ya-result-appear .38s cubic-bezier(.175,.885,.32,1.4) both}@keyframes ya-term-in{0%{transform:scale(0) translateY(-12px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes ya-pulse-a{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.18);filter:brightness(1.6)}}@keyframes ya-pulse-b{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.18);filter:brightness(1.6)}}@keyframes ya-pulse-rhs{0%,to{opacity:.8}50%{opacity:1}}@keyframes ya-fly-right{0%{transform:translate(0) scale(1.1);opacity:1}60%{transform:translate(18px) scale(.7);opacity:.7}to{transform:translate(24px) scale(0);opacity:0}}@keyframes ya-fly-left{0%{transform:translate(0) scale(1.1);opacity:1}60%{transform:translate(-18px) scale(.7);opacity:.7}to{transform:translate(-24px) scale(0);opacity:0}}@keyframes ya-result-appear{0%{transform:scale(0);opacity:0;filter:brightness(2.5)}60%{transform:scale(1.2);opacity:1;filter:brightness(1.8)}to{transform:scale(1);opacity:1;filter:brightness(1)}}.ya-anim-label{font-size:.92rem;color:#568;letter-spacing:.5px;min-height:1.2em;font-style:italic}.ya-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.ya-opt-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 12px;background:#0a0a22;border:2px solid #1a1a44;border-radius:14px;cursor:pointer;font-family:inherit;transition:background .1s,border-color .1s,transform .1s}.ya-opt-btn:hover:not(:disabled){background:#111130;border-color:#34a;transform:scale(1.03)}.ya-btn-bar{font-size:1.1rem;font-weight:900;color:#346;letter-spacing:-2px}.ya-btn-op{font-size:1.4rem;font-weight:900;color:#79c;font-family:Courier New,monospace;letter-spacing:1px}.ya-opt-btn:hover:not(:disabled) .ya-btn-op{color:#acf}.ya-opt-btn:hover:not(:disabled) .ya-btn-bar{color:#45a}.ya-opt-ok{background:#051e10!important;border-color:#3d6!important;transform:scale(1.06)!important}.ya-opt-ok .ya-btn-op{color:#4f8!important}.ya-opt-ok .ya-btn-bar{color:#2a4!important}.ya-opt-wrong{background:#1e0808!important;border-color:#f32!important;animation:ya-shake .4s ease}.ya-opt-wrong .ya-btn-op{color:#f54!important}.ya-opt-dim{opacity:.3}.ya-opt-btn:disabled{cursor:default}@keyframes ya-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.yk-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.yk-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.yk-title{font-size:1.35rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.yk-idle-box{max-width:480px}.yk-demo{display:flex;flex-direction:column;gap:6px;margin:18px 0 14px}.yk-demo-eq{font-size:1.2rem;font-weight:900;color:#adf;font-family:Courier New,monospace;margin-bottom:6px}.yk-demo-row{display:flex;align-items:center;gap:14px;padding:2px 0}.yk-demo-op{font-size:1rem;font-weight:800;color:#58b;font-family:Courier New,monospace;min-width:72px}.yk-demo-arr{color:#345;font-size:.85rem}.yk-demo-res{font-size:1rem;font-weight:700;color:#79b;font-family:Courier New,monospace}.yk-demo-solved{color:#4f8!important}.yk-play{display:flex;flex-direction:column;align-items:center;gap:20px;width:min(560px,100%)}.yk-eq-box{background:#09091e;border:2px solid #1a1a44;border-radius:20px;padding:28px 40px;min-width:300px;position:relative;transition:border-color .25s,box-shadow .25s}.yk-eq-won{border-color:#3d6;box-shadow:0 0 40px #33dd6630;animation:yk-won-pop .35s cubic-bezier(.175,.885,.32,1.4)}@keyframes yk-won-pop{0%{transform:scale(.93)}to{transform:scale(1)}}.yk-eq-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.yk-side{display:flex;align-items:center;gap:8px}.yk-lhs,.yk-rhs{font-size:2rem;font-weight:900;color:#adf;font-family:Courier New,monospace;white-space:nowrap}.yk-rhs{color:#dbf}.yk-sep{font-size:2rem;font-weight:900;color:#457}.yk-badge{font-size:1.1rem;font-weight:800;color:#fc4;font-family:Courier New,monospace;padding:4px 10px;background:#1a1400;border:1.5px solid #886600;border-radius:8px;animation:yk-badge-in .25s cubic-bezier(.175,.885,.32,1.4) both}@keyframes yk-badge-in{0%{transform:scale(0) translateY(-8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.yk-check{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.8rem;color:#4f8;animation:yk-pop .4s cubic-bezier(.175,.885,.32,1.4)}@keyframes yk-pop{0%{transform:translateY(-50%) scale(0) rotate(-30deg);opacity:0}to{transform:translateY(-50%) scale(1) rotate(0);opacity:1}}.yk-dots{display:flex;gap:8px;align-items:center}.yk-dot{width:10px;height:10px;border-radius:50%;background:#1a1a3a;border:1.5px solid #2a2a5a;transition:background .2s,border-color .2s}.yk-dot.active{background:#58f;border-color:#79f;box-shadow:0 0 8px #46f8}.yk-dot.done{background:#3a5;border-color:#4c6}.yk-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.yk-opt{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 12px;background:#0a0a22;border:2px solid #1a1a44;border-radius:14px;cursor:pointer;font-family:inherit;transition:background .1s,border-color .1s,transform .1s}.yk-opt:hover:not(:disabled){background:#111130;border-color:#34a;transform:scale(1.03)}.yk-opt-bar{font-size:1.1rem;font-weight:900;color:#346;letter-spacing:-2px}.yk-opt-op{font-size:1.4rem;font-weight:900;color:#79c;font-family:Courier New,monospace;letter-spacing:1px}.yk-opt:hover:not(:disabled) .yk-opt-op{color:#acf}.yk-opt:hover:not(:disabled) .yk-opt-bar{color:#45a}.yk-ok{background:#051e10!important;border-color:#3d6!important;transform:scale(1.06)!important}.yk-ok .yk-opt-op{color:#4f8!important}.yk-ok .yk-opt-bar{color:#2a4!important}.yk-wrong{background:#1e0808!important;border-color:#f32!important;animation:yk-shake .4s ease}.yk-wrong .yk-opt-op{color:#f54!important}.yk-dim{opacity:.3}.yk-opt:disabled{cursor:default}@keyframes yk-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.py-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.py-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.py-title{font-size:1.4rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.py-idle-box{max-width:420px}.py-examples{display:flex;flex-direction:column;gap:10px;margin:16px 0 8px}.py-ex-row{display:flex;align-items:center;gap:10px}.py-ex-n{font-size:1.05rem;font-weight:800;color:#adf;font-family:monospace;min-width:60px}.py-ex-p{font-size:.82rem;color:#456;flex:1}.py-ex-a{font-size:1.05rem;font-weight:800;color:#4f8;font-family:monospace}.py-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(480px,100%)}.py-card{background:#09091e;border:2px solid #1a1a44;border-radius:20px;padding:32px 48px;text-align:center;min-width:240px}.py-number{font-size:2.8rem;font-weight:900;color:#adf;font-family:monospace}.py-instr{font-size:.9rem;font-weight:700;color:#457;margin-top:12px}.py-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.py-opt{padding:22px 12px;background:#0a0a22;border:2px solid #1a1a44;border-radius:14px;font-size:1.5rem;font-weight:900;color:#79c;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.py-opt:hover:not(:disabled){background:#111130;border-color:#34a;color:#acf;transform:scale(1.04)}.py-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.py-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:py-shake .4s ease}.py-dim{opacity:.3}.py-opt:disabled{cursor:default}@keyframes py-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.lo-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.lo-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.lo-title{font-size:1.35rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.lo-idle-box{max-width:440px}.lo-table{display:flex;flex-direction:column;gap:6px;margin:16px 0 8px;font-family:monospace}.lo-tr{display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr;gap:8px;align-items:center;font-size:.9rem}.lo-head{font-size:.75rem;font-weight:800;letter-spacing:.5px;color:#456;margin-bottom:4px}.lo-num{color:#adf;font-weight:800}.lo-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(440px,100%)}.lo-card{background:#09091e;border:2px solid #1a1a44;border-radius:20px;padding:32px 48px;text-align:center;min-width:220px;transition:border-color .3s}.lo-number{font-size:3rem;font-weight:900;color:#adf;font-family:monospace}.lo-question{font-size:1.1rem;font-weight:800;margin-top:10px}.lo-hint{font-size:.8rem;color:#345;margin-top:6px;font-family:monospace}.lo-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.lo-opt{padding:22px 12px;background:#0a0a22;border:2px solid #1a1a44;border-radius:14px;font-size:1.45rem;font-weight:900;color:#79c;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.lo-opt:hover:not(:disabled){background:#111130;border-color:#34a;color:#acf;transform:scale(1.04)}.lo-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.lo-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:lo-shake .4s ease}.lo-dim{opacity:.3}.lo-opt:disabled{cursor:default}@keyframes lo-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.aj-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.aj-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.aj-title{font-size:1.35rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.aj-idle-box{max-width:440px}.aj-demo{display:flex;flex-direction:column;gap:6px;margin:14px 0 8px}.aj-demo-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.aj-demo-label{font-size:.95rem;color:#79b}.aj-demo-ans{font-weight:800;font-family:monospace}.aj-demo-ans.green{color:#4f8}.aj-demo-ans.red{color:#f64}.aj-demo-divider{height:1px;background:#1a2233;margin:8px 0}.aj-demo-step{font-size:.95rem;color:#57a;font-family:monospace;padding:2px 0}.aj-demo-step.done{color:#4f8;font-weight:800}.aj-play{display:flex;flex-direction:column;align-items:center;gap:20px;width:min(500px,100%)}.aj-card{background:#09091e;border:2px solid #1a1a44;border-radius:20px;padding:28px 40px;text-align:center;min-width:280px;position:relative;transition:border-color .3s,box-shadow .3s}.aj-done{border-color:#3d6!important;box-shadow:0 0 40px #33dd6628}.aj-q-label{font-size:.85rem;font-weight:700;color:#345;letter-spacing:1px;margin-bottom:14px}.aj-big-number{font-size:3.5rem;font-weight:900;color:#adf;font-family:monospace}.aj-factoring{font-size:1.6rem;font-weight:900;color:#adf;font-family:monospace;white-space:nowrap;letter-spacing:1px}.aj-check{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:2rem;color:#4f8;animation:aj-pop .4s cubic-bezier(.175,.885,.32,1.4)}@keyframes aj-pop{0%{transform:translateY(-50%) scale(0)}to{transform:translateY(-50%) scale(1)}}.aj-step-hint{font-size:.85rem;color:#457}.aj-step-hint strong{color:#79c}.aj-bool-opts{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}.aj-bool-btn{padding:32px 12px;font-size:1.6rem;font-weight:900;background:#0a0a22;border:2px solid #1a1a44;border-radius:16px;color:#79c;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.aj-bool-btn:hover:not(:disabled){background:#111130;border-color:#34a;transform:scale(1.04)}.aj-prime-opts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%}.aj-prime-btn{padding:18px 8px;font-size:1.5rem;font-weight:900;color:#79c;font-family:monospace;background:#0a0a22;border:2px solid #1a1a44;border-radius:14px;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.aj-prime-btn:hover:not(:disabled){background:#111130;border-color:#34a;transform:scale(1.05)}.aj-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.aj-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:aj-shake .4s ease}.aj-dim{opacity:.3}.aj-bool-btn:disabled,.aj-prime-btn:disabled{cursor:default}@keyframes aj-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.til-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.til-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.til-title{font-size:1.4rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.til-idle-box{max-width:400px}.til-defs{display:flex;flex-direction:column;gap:8px;margin:12px 0}.til-def-row{display:flex;gap:8px;align-items:flex-start}.til-def-name{font-size:.85rem;font-weight:800;color:#4dc;min-width:100px}.til-def-text{font-size:.85rem;color:#557}.til-example{border-top:1px solid #0a2030;padding-top:10px;margin-top:4px}.til-ex-data{font-size:1.1rem;font-weight:800;color:#8dc;font-family:monospace}.til-ex-results{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;font-size:.8rem;color:#4aa}.til-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(500px,100%)}.til-card{background:#091a1a;border:2px solid #003333;border-radius:20px;padding:28px 36px;text-align:center;width:100%}.til-type-badge{display:inline-block;background:#033;color:#4dc;font-size:.8rem;font-weight:800;letter-spacing:1px;padding:4px 14px;border-radius:20px;margin-bottom:12px}.til-data{font-size:1.8rem;font-weight:900;color:#8ed;font-family:monospace;margin-bottom:12px;line-height:1.4}.til-question{font-size:1rem;font-weight:600;color:#365}.til-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.til-opt{padding:22px 12px;background:#091a1a;border:2px solid #003333;border-radius:14px;font-size:1.6rem;font-weight:900;color:#365;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.til-opt:hover:not(:disabled){background:#0d2020;border-color:#098;color:#4fd;transform:scale(1.04)}.til-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.til-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:til-shake .4s ease}.til-dim{opacity:.3}.til-opt:disabled{cursor:default}@keyframes til-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.rl-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.rl-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.rl-title{font-size:1.4rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.rl-idle-box{max-width:400px}.rl-examples{display:flex;flex-direction:column;gap:7px;margin:14px 0 8px}.rl-ex-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.rl-ex-expr{font-size:1rem;font-weight:700;color:#79b;font-family:monospace}.rl-ex-ans{font-size:1rem;font-weight:800;color:#4f8;font-family:monospace}.rl-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(480px,100%)}.rl-card{background:#09091e;border:2px solid #1a1a44;border-radius:20px;padding:28px 48px;text-align:center;min-width:260px}.rl-expr{font-size:2.4rem;font-weight:900;color:#adf;font-family:monospace;letter-spacing:1px}.rl-eq{font-size:1.2rem;font-weight:700;color:#345;margin-top:8px;font-family:monospace}.rl-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.rl-opt{padding:22px 12px;background:#0a0a22;border:2px solid #1a1a44;border-radius:14px;font-size:1.5rem;font-weight:900;color:#79c;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.rl-opt:hover:not(:disabled){background:#111130;border-color:#34a;color:#acf;transform:scale(1.04)}.rl-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.rl-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:rl-shake .4s ease}.rl-dim{opacity:.3}.rl-opt:disabled{cursor:default}@keyframes rl-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.kk-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.kk-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.kk-title{font-size:1.3rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.kk-idle-box{max-width:420px}.kk-idle-facts{display:flex;flex-direction:column;gap:8px;margin:14px 0}.kk-fact{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:4px 0;border-bottom:1px solid #12123a}.kk-fact-lbl{font-size:.88rem;font-weight:800;color:#65a}.kk-fact-val{font-size:.9rem;font-weight:600;color:#abc;font-family:monospace}.kk-play{display:flex;flex-direction:column;align-items:center;gap:20px;width:min(480px,100%)}.kk-wrap{display:flex;flex-direction:column;align-items:center;gap:20px;padding:16px 16px 56px;min-height:100vh;max-width:480px;margin:0 auto}.kk-topbar{display:flex;align-items:center;gap:12px;width:100%;padding:8px 0;border-bottom:1px solid #1a1a44;margin-bottom:4px}.kk-stat{font-size:.82rem;font-weight:800;color:#568;font-family:monospace;letter-spacing:.5px}.kk-card{background:#07071e;border:2px solid #1a1a44;border-radius:20px;padding:20px 24px;display:flex;flex-direction:column;align-items:center;width:100%;gap:10px}.kk-question{font-size:1.05rem;font-weight:800;color:#78b;text-align:center}.kk-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.kk-opt{padding:20px 12px;background:#07071e;border:2px solid #1a1a44;border-radius:14px;font-size:1.5rem;font-weight:900;color:#346;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.kk-opt:hover:not(:disabled){background:#0d0d2a;border-color:#54a;color:#a8f;transform:scale(1.04)}.kk-opt-ok{background:#050e10!important;border-color:#3c6!important;color:#4e8!important;transform:scale(1.06)!important}.kk-opt-err{background:#1a0810!important;border-color:#f33!important;color:#f55!important;animation:kk-shake .4s ease}.kk-ok{background:#050e10!important;border-color:#3c6!important;color:#4e8!important;transform:scale(1.06)!important}.kk-wrong{background:#1a0810!important;border-color:#f33!important;color:#f55!important;animation:kk-shake .4s ease}.kk-dim{opacity:.3}.kk-opt:disabled{cursor:default}@keyframes kk-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.pot-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.pot-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.pot-title{font-size:1.4rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.pot-idle-box{max-width:380px}.pot-examples{display:flex;flex-direction:column;gap:8px;margin:12px 0}.pot-ex-row{display:flex;justify-content:space-between;gap:24px;align-items:center}.pot-ex-expr{font-size:1.1rem;font-weight:700;color:#96c;font-family:monospace}.pot-ex-ans{font-size:1rem;font-weight:800;color:#d8f;font-family:monospace}.pot-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(480px,100%)}.pot-card{background:#0a0a1e;border:2px solid #221133;border-radius:20px;padding:32px 48px;text-align:center;width:100%}.pot-expr{font-size:2.8rem;font-weight:900;color:#c9f;font-family:monospace;letter-spacing:2px}.pot-instr{font-size:1rem;font-weight:600;color:#435;margin-top:10px}.pot-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.pot-opt{padding:22px 12px;background:#0a0a22;border:2px solid #221133;border-radius:14px;font-size:1.5rem;font-weight:900;color:#86a;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.pot-opt:hover:not(:disabled){background:#12092a;border-color:#83c;color:#c9f;transform:scale(1.04)}.pot-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.pot-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:pot-shake .4s ease}.pot-dim{opacity:.3}.pot-opt:disabled{cursor:default}@keyframes pot-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.nj-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.nj-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.nj-title{font-size:1.4rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.nj-idle-box{max-width:400px}.nj-examples{display:flex;flex-direction:column;gap:8px;margin:12px 0}.nj-ex-row{display:flex;align-items:center;gap:12px}.nj-ex-n{font-size:1.1rem;font-weight:800;color:#4af;font-family:monospace;min-width:60px}.nj-ex-a{font-size:1rem;font-weight:700;color:#4fd;font-family:monospace;flex:1}.nj-ex-tag{font-size:.75rem;color:#345;background:#0a1020;padding:2px 7px;border-radius:8px}.nj-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(480px,100%)}.nj-card{background:#09091e;border:2px solid #001133;border-radius:20px;padding:36px 48px;text-align:center;width:100%}.nj-expr{font-size:3rem;font-weight:900;color:#5cf;font-family:monospace}.nj-instr{font-size:.95rem;font-weight:600;color:#345;margin-top:10px}.nj-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.nj-opts-wide{grid-template-columns:1fr}.nj-opt{padding:20px 12px;background:#0a0a22;border:2px solid #001133;border-radius:14px;font-size:1.4rem;font-weight:900;color:#368;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.nj-opt:hover:not(:disabled){background:#091520;border-color:#05a;color:#5cf;transform:scale(1.04)}.nj-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.nj-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:nj-shake .4s ease}.nj-dim{opacity:.3}.nj-opt:disabled{cursor:default}@keyframes nj-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.pyth-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.pyth-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.pyth-title{font-size:1.3rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.pyth-idle-box{max-width:400px}.pyth-formula{text-align:center;margin:14px 0 10px}.pyth-f-box{font-size:1.6rem;font-weight:900;color:#4fc;font-family:monospace}.pyth-demo{display:flex;flex-direction:column;gap:7px}.pyth-demo-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.pyth-demo-sides{font-size:.9rem;font-weight:600;color:#68a;font-family:monospace}.pyth-demo-ans{font-size:.95rem;font-weight:800;color:#4fc;font-family:monospace}.pyth-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(480px,100%)}.pyth-card{background:#091a1a;border:2px solid #003333;border-radius:20px;padding:28px 40px;text-align:center;width:100%}.pyth-triangle{font-size:3rem;color:#264;margin-bottom:8px}.pyth-sides{font-size:1.5rem;font-weight:800;color:#8dc;font-family:monospace;margin-bottom:10px}.pyth-question{font-size:1rem;font-weight:600;color:#365}.pyth-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.pyth-opt{padding:22px 12px;background:#091a1a;border:2px solid #003333;border-radius:14px;font-size:1.6rem;font-weight:900;color:#365;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.pyth-opt:hover:not(:disabled){background:#0d2020;border-color:#086;color:#4fc;transform:scale(1.04)}.pyth-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.pyth-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:pyth-shake .4s ease}.pyth-dim{opacity:.3}.pyth-opt:disabled{cursor:default}@keyframes pyth-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.ym-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.ym-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.ym-title{font-size:1.4rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.ym-idle-box{max-width:380px}.ym-formulas{display:flex;flex-direction:column;gap:8px;margin:12px 0 6px}.ym-formula-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.ym-formula-name{font-size:.85rem;color:#667;font-weight:600}.ym-formula-expr{font-size:1.1rem;font-weight:800;color:#f8c;font-family:monospace}.ym-examples{display:flex;flex-direction:column;gap:6px;margin-top:8px;border-top:1px solid #1a0a20;padding-top:8px}.ym-ex-row{display:flex;justify-content:space-between;gap:16px}.ym-ex-q{font-size:.9rem;font-weight:600;color:#869}.ym-ex-a{font-size:.9rem;font-weight:800;color:#fad}.ym-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(480px,100%)}.ym-card{background:#0e0818;border:2px solid #330044;border-radius:20px;padding:28px 40px;text-align:center;width:100%}.ym-circle{font-size:3.5rem;color:#304;margin-bottom:4px}.ym-radius{font-size:1.8rem;font-weight:900;color:#c8f;font-family:monospace}.ym-question{font-size:1rem;font-weight:600;color:#536;margin-top:8px}.ym-unit{font-size:.8rem;color:#425;margin-top:4px}.ym-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.ym-opt{padding:20px 10px;background:#0e0818;border:2px solid #220033;border-radius:14px;font-size:1.3rem;font-weight:900;color:#647;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.ym-opt:hover:not(:disabled){background:#160a22;border-color:#83c;color:#c8f;transform:scale(1.04)}.ym-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.ym-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:ym-shake .4s ease}.ym-dim{opacity:.3}.ym-opt:disabled{cursor:default}@keyframes ym-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.ep-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.ep-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.ep-title{font-size:1.4rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.ep-idle-box{max-width:380px}.ep-examples{display:flex;flex-direction:column;gap:10px;margin:12px 0}.ep-ex-row{display:flex;align-items:center;gap:10px}.ep-ex-q{font-size:1rem;font-weight:700;color:#864;font-family:monospace;flex:1}.ep-ex-arrow{color:#444}.ep-ex-a{font-size:1rem;font-weight:800;color:#f84;font-family:monospace}.ep-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(500px,100%)}.ep-card{background:#1a0a00;border:2px solid #442200;border-radius:20px;padding:32px 48px;text-align:center;width:100%}.ep-expr{font-size:2.2rem;font-weight:900;color:#fb6;font-family:monospace;letter-spacing:1px}.ep-label{font-size:.95rem;font-weight:600;color:#432;margin-top:10px}.ep-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.ep-opt{padding:20px 12px;background:#1a0a00;border:2px solid #331100;border-radius:14px;font-size:1.3rem;font-weight:900;color:#864;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.ep-opt:hover:not(:disabled){background:#241200;border-color:#c50;color:#fb6;transform:scale(1.04)}.ep-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.ep-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:ep-shake .4s ease}.ep-dim{opacity:.3}.ep-opt:disabled{cursor:default}@keyframes ep-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.tg-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.tg-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.tg-title{font-size:1.4rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.tg-idle-box{max-width:400px}.tg-table{width:100%;border-collapse:collapse;margin:14px 0 6px;font-family:monospace;font-size:.95rem}.tg-table th,.tg-table td{padding:6px 10px;text-align:center;border:1px solid #1a1a30}.tg-table th{color:#556;font-weight:800;font-size:.8rem;text-transform:uppercase;background:#080818}.tg-table td{color:#89a;font-weight:600}.tg-table td:first-child{color:#ab0;font-weight:800}.tg-sin{color:#f74!important}.tg-cos{color:#4af!important}.tg-tan{color:#4f8!important}.tg-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(480px,100%)}.tg-card{background:#0a0a00;border:2px solid #333300;border-radius:20px;padding:36px 48px;text-align:center;width:100%}.tg-expr{font-size:2.8rem;font-weight:900;color:#fe6;font-family:monospace;letter-spacing:2px}.tg-label{font-size:1.2rem;font-weight:700;color:#330;margin-top:8px}.tg-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.tg-opt{padding:22px 10px;background:#0a0a00;border:2px solid #222200;border-radius:14px;font-size:1.3rem;font-weight:900;color:#884;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.tg-opt:hover:not(:disabled){background:#141400;border-color:#880;color:#fe6;transform:scale(1.04)}.tg-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.tg-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:tg-shake .4s ease}.tg-dim{opacity:.3}.tg-opt:disabled{cursor:default}@keyframes tg-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.teo-op-tabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;width:100%}@media (max-width: 600px){.teo-op-tabs{grid-template-columns:repeat(2,1fr)}}.teo-op-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;background:#fff;border:2px solid #e3ecf8;border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s;text-align:center;box-shadow:0 2px 8px #0a1a3a0d}.teo-op-card:hover{border-color:#48f;background:#eef3ff}.teo-op-active{border-color:var(--c2, #1e499e)!important;background:#eef3ff!important}.teo-op-symbol{font-size:1.8rem;font-weight:900;color:var(--c2, #1e499e);font-family:Courier New,monospace;line-height:1}.teo-op-name{font-size:.85rem;font-weight:700;color:#0a1a3a;letter-spacing:.5px}.teo-op-ex{font-size:.72rem;color:#8a8aae;font-family:Courier New,monospace}.teo-op-rule{width:100%;background:#eef3ff;border:1px solid #c5d9f0;border-radius:10px;padding:14px 20px;color:#2a5aa0;font-size:.95rem;display:flex;align-items:center;gap:10px}.teo-op-rule-icon{font-size:1.2rem;flex-shrink:0}.teo-wrapper{display:flex;flex-direction:column;align-items:center;gap:32px;padding:24px 16px 80px;min-height:100vh;max-width:var(--sivu-leveys);margin:0 auto;background:#f5f8fd}.teo-header{display:flex;align-items:center;justify-content:space-between;width:100%}.teo-back-btn{background:#fff;border:2px solid #c5d9f0;color:#5a6a8a;border-radius:10px;padding:8px 18px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}.teo-back-btn:hover{background:#e8f2fb;border-color:var(--c2, #1e499e);color:var(--c2, #1e499e)}.teo-title{font-size:1.5rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--c2, #1e499e)}.teo-intro{font-size:.95rem;color:#5a6a8a;text-align:center;max-width:600px;line-height:1.6}.teo-intro strong{color:#0a1a3a}.teo-topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;width:100%}.teo-card{background:#fff;border:2px solid transparent;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s,transform .15s,box-shadow .15s;box-shadow:0 4px 20px #0000001f}.teo-card:not(.teo-soon):hover{border-color:var(--c2, #1e499e);transform:translateY(-3px);box-shadow:0 8px 28px #3833c92e}.teo-card.teo-soon{opacity:.5}.teo-card-head{display:flex;flex-direction:column;gap:6px}.teo-card-title{font-size:1.1rem;font-weight:900;color:var(--c2, #1e499e);margin:0}.teo-tags{display:flex;flex-wrap:wrap;gap:6px}.teo-tag{font-size:.7rem;font-weight:800;letter-spacing:.5px;padding:3px 10px;border-radius:20px;background:#e8f2fb;color:var(--c2, #1e499e);border:1px solid #c5d9f0}.teo-card-desc{font-size:.85rem;color:#6a6a8e;line-height:1.5;flex:1}.teo-soon-label{font-size:.72rem;font-weight:800;color:#8a8aae;text-transform:uppercase;letter-spacing:1px}.teo-open-btn{background:linear-gradient(135deg,var(--c2, #1e499e),var(--c1, #2f5fc4));color:#fff;border:none;border-radius:12px;padding:12px 20px;font-size:.95rem;font-weight:800;cursor:pointer;transition:opacity .15s,transform .15s}.teo-open-btn:hover{opacity:.88;transform:scale(1.03)}.teo-video-wrap{width:100%;background:#000;border-radius:16px;overflow:hidden;border:2px solid #c5d9f0;aspect-ratio:16/9;position:relative}.teo-video{width:100%;height:100%;object-fit:contain;display:block}.teo-video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center}.teo-video-placeholder p{font-size:.9rem;color:#6a6a8e}.teo-video-placeholder code{font-size:.78rem;color:var(--c2, #1e499e);background:#e8f2fb;padding:10px 16px;border-radius:10px;border:1px solid #c5d9f0;font-family:monospace;word-break:break-all;max-width:100%}.teo-video-hint{font-size:.72rem!important;color:#8a8aae!important}.teo-steps{width:100%}.teo-steps-title{font-size:.85rem;font-weight:900;color:#8a8aae;text-transform:uppercase;letter-spacing:2px;margin-bottom:14px}.teo-steps-list{display:flex;flex-direction:column;gap:10px}.teo-step{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid #c5d9f0;border-radius:14px;padding:16px 20px;box-shadow:0 2px 8px #0000000f}.teo-step-num{width:30px;height:30px;border-radius:50%;background:#e8f2fb;color:var(--c2, #1e499e);font-weight:900;font-size:.82rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.teo-step-body{flex:1}.teo-step-desc{font-size:.82rem;color:#6a6a8e;margin-bottom:8px}.teo-step-eq{font-size:1.25rem;font-weight:900;font-family:monospace;letter-spacing:1px}.teo-practice{text-align:center;background:#eafbf1;border:2px solid #b8e8cc;border-radius:18px;padding:24px;width:100%}.teo-practice p{color:#1f8a4d;font-size:.9rem;margin-bottom:14px}.teo-practice-btn{background:linear-gradient(135deg,#2c6,#194);color:#fff;border:none;border-radius:14px;padding:14px 30px;font-size:1rem;font-weight:900;cursor:pointer;transition:opacity .15s,transform .15s}.teo-practice-btn:hover{opacity:.85;transform:scale(1.04)}.teo-practice-btns{display:flex;flex-direction:column;gap:12px;align-items:center}@media (min-width: 520px){.teo-practice-btns{flex-direction:row;justify-content:center}}.ta-tabs{display:flex;flex-direction:column;gap:8px;width:100%}@media (min-width: 600px){.ta-tabs{flex-direction:row;flex-wrap:wrap}}.ta-tab{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid #c5d9f0;border-radius:12px;padding:10px 16px;cursor:pointer;flex:1;min-width:200px;text-align:left;transition:border-color .15s,background .15s;box-shadow:0 2px 8px #0000000f}.ta-tab:hover{border-color:var(--c2, #1e499e)}.ta-tab-active{border-color:var(--c2, #1e499e)!important;background:#e8f2fb!important}.ta-tab-num{width:26px;height:26px;border-radius:50%;background:#e8f2fb;color:var(--c2, #1e499e);font-weight:900;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ta-tab-active .ta-tab-num{background:var(--c2, #1e499e);color:#fff}.ta-tab-label{font-size:.8rem;font-weight:700;color:#6a6a8e;font-family:monospace}.ta-tab-active .ta-tab-label{color:var(--c2, #1e499e)}.teo-open-btn.teo-open-btn-2{margin-top:8px;background:color-mix(in srgb,var(--c1, #2f5fc4) 14%,#ffffff);color:var(--c2, #1e499e);border:1.5px solid color-mix(in srgb,var(--c1, #2f5fc4) 45%,#ffffff)}.lv-wrap{display:flex;flex-direction:column;align-items:center;gap:28px;padding:24px 16px 80px;min-height:100vh;max-width:var(--sivu-leveys);margin:0 auto}.lv-form{width:100%;background:#07071a;border:2px solid #1a1a40;border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;gap:20px}.lv-form-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:center}.lv-field{display:flex;flex-direction:column;align-items:center;gap:6px}.lv-label{font-size:.7rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#45b}.lv-num{width:72px;height:56px;text-align:center;font-size:1.55rem;font-weight:900;background:#0a0a22;color:#abf;border:2px solid #1a1a44;border-radius:12px;outline:none;transition:border-color .15s,box-shadow .15s}.lv-num:focus{border-color:#45f;box-shadow:0 0 0 3px #5064ff2e}.lv-num::-webkit-inner-spin-button,.lv-num::-webkit-outer-spin-button{opacity:.35}.lv-op{font-size:1.7rem;font-weight:900;color:#445;font-family:monospace;padding-bottom:8px}.lv-err{font-size:.82rem;color:#f56}.lv-btn{background:linear-gradient(135deg,#1a3488,#51b);color:#ccd8ff;border:none;border-radius:14px;padding:14px 44px;font-size:1.1rem;font-weight:900;cursor:pointer;transition:opacity .15s,transform .15s}.lv-btn:hover:not(:disabled){opacity:.85;transform:scale(1.03)}.lv-btn:disabled{opacity:.35;cursor:default}.lv-steps{width:100%;display:flex;flex-direction:column;gap:14px}@keyframes stepSlideIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.lv-step{background:#07071a;border:2px solid #1a1a35;border-radius:16px;padding:20px 24px}.lv-step-in{animation:stepSlideIn .32s ease-out both}.lv-step-cancel{border-color:#2a1a35}.lv-step-result{border-color:#1a3a20;background:#060e09}.lv-step-verify{border-color:#1a2a3a;background:#060a0e}.lv-step-label{font-size:.72rem;font-weight:800;color:#78b;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px}.lv-eq-row{display:flex;align-items:center;flex-wrap:wrap;gap:2px;font-size:2rem;font-family:Courier New,Courier,monospace;font-weight:700}.lv-side{display:flex;align-items:center}.lv-eq-sign{color:#ccd8ee;font-size:2rem;padding:0 10px}.lv-trm{display:inline-block}@keyframes termFlyUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.lv-trm.lv-fly{opacity:0;animation:termFlyUp .55s cubic-bezier(.22,.61,.36,1) .2s forwards}@keyframes strikeFade{0%{opacity:1}to{opacity:.2}}.lv-trm.lv-strike{text-decoration:line-through;text-decoration-color:#f45;text-decoration-thickness:2px;animation:strikeFade .5s ease-out .08s forwards}@keyframes wiggle{0%,to{transform:translate(0)}15%,55%{transform:translate(-6px)}35%,75%{transform:translate(6px)}}.lv-step-cancel .lv-eq-row{animation:wiggle .5s ease-in-out .08s}.lv-generated{display:flex;align-items:center;gap:14px;background:#06061a;border:2px solid #2233aa;border-radius:12px;padding:10px 20px;font-family:Courier New,Courier,monospace;font-size:1.3rem;font-weight:900;color:#abf;width:100%;animation:stepSlideIn .3s ease-out both}.lv-generated-lbl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:#45b;white-space:nowrap}.lv-btn-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.lv-btn-gen{background:linear-gradient(135deg,#1a4410,#2a6618);color:#afc;border:none;border-radius:10px;padding:8px 18px;font-size:.9rem;font-weight:700;cursor:pointer;transition:opacity .15s,transform .15s}.lv-btn-gen:hover{opacity:.85;transform:scale(1.03)}.lv-result-box{font-size:2.5rem;font-family:Courier New,Courier,monospace;font-weight:900;color:#4f8}.lv-result-box strong{color:#4f8}.lv-verify{font-size:1.25rem;font-family:Courier New,Courier,monospace;font-weight:700;color:#67a;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lv-check{font-size:1.6rem;color:#4d8}.lv-frac-bar{width:100%;min-width:120px;height:3px;background:#ccd8ee;border-radius:2px;margin:3px 0}.lv-frac-fly{opacity:0;animation:termFlyUp .55s cubic-bezier(.22,.61,.36,1) .1s forwards}.num-ball.lv-fly{opacity:0;animation:termFlyUp .55s cubic-bezier(.22,.61,.36,1) .15s forwards}@keyframes ballVibrate{0%,to{transform:rotate(0) scale(1)}18%{transform:rotate(-12deg) scale(1.13)}36%{transform:rotate(12deg) scale(1.13)}54%{transform:rotate(-12deg) scale(1.13)}72%{transform:rotate(12deg) scale(1.13)}88%{transform:rotate(-4deg) scale(1.05)}}.lv-shake-coeff .num-ball:first-child,.lv-shake .num-ball{animation:ballVibrate .7s ease-in-out 3!important}.lv-frac-shake{background:#f96!important;transform-origin:center;animation:ballVibrate .7s ease-in-out 3!important}.ml-frac{display:inline-flex;flex-direction:column;align-items:center;margin:0 6px;vertical-align:middle;font-size:1.6rem;font-weight:700;font-family:Courier New,Courier,monospace;line-height:1.2}.ml-frac-line{width:100%;min-width:22px;height:2px;background:#ccd8ee;margin:4px 0;border-radius:1px}.ml-int{font-size:1.8rem;font-weight:700;font-family:Courier New,Courier,monospace;margin:0 4px;vertical-align:middle}.ml-op{color:#ccd8ee;font-size:1.8rem;font-weight:700;margin:0 10px;vertical-align:middle;font-family:Courier New,Courier,monospace}.ml-txt{font-size:1.4rem;font-weight:700;font-family:Courier New,Courier,monospace;margin:0 4px;vertical-align:middle}.ml-eq-row{display:flex;align-items:center;flex-wrap:wrap;gap:2px;min-height:3.5rem;padding:6px 0}.ml-frac-input{display:inline-flex;flex-direction:column;align-items:center;gap:6px}.ml-frac-input input{width:64px;height:52px;text-align:center;font-size:1.45rem;font-weight:900;background:#0a0a22;color:#abf;border:2px solid #1a1a44;border-radius:12px;outline:none;transition:border-color .15s,box-shadow .15s}.ml-frac-input input:focus{border-color:#45f;box-shadow:0 0 0 3px #5064ff2e}.ml-frac-input input::-webkit-inner-spin-button,.ml-frac-input input::-webkit-outer-spin-button{opacity:.35}.ml-frac-div-line{width:64px;height:3px;background:#ccd8ee;border-radius:2px}.ta-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%}.ta-tab{background:#07071a;border:2px solid #1a1a40;border-radius:12px;padding:10px 22px;cursor:pointer;color:#56a;font-weight:800;font-size:.9rem;transition:all .15s}.ta-tab:hover{border-color:#23a;color:#abf}.ta-tab.ta-tab-active{border-color:#45f;color:#000;background:#ccd8ff}.ta-tab-label{pointer-events:none}.t1-summary{display:flex;flex-direction:column;gap:10px;margin-top:4px}.t1-summary-row{display:flex;align-items:center;justify-content:space-between;background:#0a0a1e;border:1px solid #1a1a35;border-radius:12px;padding:10px 20px}.t1-summary-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#334}.t1-summary-val{font-size:1.8rem;font-family:Courier New,Courier,monospace;font-weight:900}.t1-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.t1-chip{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:52px;background:#0a0a22;border:2px solid #1a1a44;border-radius:14px;font-size:1.4rem;font-family:Courier New,Courier,monospace;font-weight:900;color:#59f;animation:stepSlideIn .3s ease-out both}.t1-pair-match{border-color:#1a4a20!important;background:#060e09!important}.t1-pair-miss{border-color:#2a1515!important;background:#0a0606!important}.t1-found-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.t1-found-row{display:flex;align-items:center;gap:8px;font-size:1.6rem;font-family:Courier New,Courier,monospace;font-weight:900}.t1-found-pair{color:#59f}.t1-found-eq{color:#4f8}.t1-no-match{font-size:1rem;color:#f56;font-weight:700;padding:8px 0}.t1-num-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.t1-num-chip{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:52px;background:#0a0a22;border:2px solid #1a1a44;border-radius:14px;font-size:1.4rem;font-family:Courier New,Courier,monospace;font-weight:900;color:#59f;transition:background .25s,border-color .25s,color .25s}.t1-num-chip.t1-hl{background:#1a1a00;border-color:#fc0;color:#fc0}.t1-num-chip.t1-sorted{background:#051a0a;border-color:#1a5a30;color:#4d8}.num-ball{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-family:Courier New,Courier,monospace;font-weight:900;flex-shrink:0;box-shadow:0 4px 16px #00000080;animation:stepSlideIn .35s ease-out both}.num-ball-pos{background:radial-gradient(circle at 38% 30%,#f45,#c13);color:#fff}.num-ball-neg{background:radial-gradient(circle at 38% 30%,#48f,#13c);color:#fff}.num-ball-zero{background:radial-gradient(circle at 38% 30%,#fff,#dde5f0);color:#1a2233}.num-ball-x{background:radial-gradient(circle at 38% 30%,#89a,#456);color:#fff}.num-ball-y{background:radial-gradient(circle at 38% 30%,#567,#1e2d3a);color:#fff}.num-ball-z{background:radial-gradient(circle at 38% 30%,#89a,#456);color:#fff}.num-ball-pair{display:inline-flex;align-items:center}.num-ball-pair .num-ball+.num-ball{margin-left:-4px;z-index:1}.num-ball-row{display:flex;gap:18px;align-items:center;margin-top:16px;flex-wrap:wrap}.num-ball-arrow{font-size:1.6rem;color:#67a;font-weight:700}.t1-note{margin-top:10px;font-size:.85rem;font-weight:700;color:#fc0;font-family:monospace}.t1-legend{display:flex;gap:20px;font-size:.78rem;color:#334;font-weight:700;align-items:center;padding:8px 16px}.t1-legend-item{display:flex;align-items:center;gap:8px}.sv-wrap{display:flex;flex-direction:column;align-items:center;gap:28px;padding:24px 16px 80px;min-height:100vh;max-width:var(--sivu-leveys);margin:0 auto}.sv-form{width:100%;background:#07071a;border:2px solid #1a1a40;border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;gap:20px}.sv-form-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;justify-content:center}.sv-field{display:flex;flex-direction:column;align-items:center;gap:6px}.sv-label{font-size:.7rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#45b}.sv-num{width:72px;height:56px;text-align:center;font-size:1.55rem;font-weight:900;background:#0a0a22;color:#abf;border:2px solid #1a1a44;border-radius:12px;outline:none;transition:border-color .15s,box-shadow .15s}.sv-num:focus{border-color:#45f;box-shadow:0 0 0 3px #5064ff2e}.sv-num::-webkit-inner-spin-button,.sv-num::-webkit-outer-spin-button{opacity:.35}.sv-op-group{display:flex;flex-direction:column;gap:4px;padding-bottom:6px}.sv-op-btn{width:40px;height:24px;background:#0a0a22;border:1px solid #1a1a35;border-radius:8px;color:#445;font-size:.95rem;font-weight:900;cursor:pointer;transition:border-color .12s,color .12s,background .12s;font-family:monospace}.sv-op-btn:hover{border-color:#34a;color:#78c}.sv-op-active{background:#101040!important;border-color:#45f!important;color:#abf!important}.sv-expr{display:flex;align-items:center;flex-wrap:wrap;gap:2px;font-size:2.1rem;font-family:Courier New,Courier,monospace;font-weight:700}.sv-trm{display:inline-block}@keyframes svFlyUp{0%{opacity:0;transform:translateY(55px)}to{opacity:1;transform:translateY(0)}}.sv-trm.sv-fly{opacity:0;animation:svFlyUp .55s cubic-bezier(.22,.61,.36,1) .2s forwards}.sv-trm.sv-hl{color:inherit}.sv-hl-box{background:#ffc83c1a;border:1.5px solid rgba(255,200,60,.35);border-radius:10px;padding:2px 8px;margin:0 3px;display:inline-flex;align-items:center}.sv-step-note{border-color:#2a2a10!important;background:#09090a!important}.sv-note-msg{font-size:1rem;font-weight:800;color:#a80;font-family:monospace;letter-spacing:.5px}.sv-step-error{border-color:#3a0a0a!important}.sv-error-msg{font-size:1rem;color:#f56;font-weight:700}.sv-orig-expr{color:#445;font-size:1.4rem}.svt-term-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;width:100%}.svt-term-row{display:flex;align-items:center;gap:8px;background:#0a0a1e;border:1px solid #1a1a35;border-radius:14px;padding:10px 14px}.svt-coeff{width:64px!important;height:48px!important;font-size:1.35rem!important}.svt-var-btn{width:40px;height:40px;border-radius:10px;border:2px solid #1a1a44;background:#0a0a22;color:#334;font-size:1rem;font-weight:900;cursor:pointer;font-family:Courier New,Courier,monospace;transition:border-color .12s,color .12s,background .12s;flex-shrink:0}.svt-var-on{border-color:#45f!important;background:#0d0d2e!important;color:#abf!important}.svt-var-btn:hover:not(.svt-var-on){border-color:#348;color:#67a}.svt-preview{font-size:1.3rem;font-family:Courier New,Courier,monospace;font-weight:900;min-width:48px;text-align:center}.svt-grouped-row{flex-wrap:wrap;align-items:baseline;gap:0}.svt-group-block{display:inline-flex;align-items:baseline}.svt-paren{font-size:1.55rem;font-weight:900;font-family:Courier New,Courier,monospace;line-height:1}.svt-expand-block{display:flex;flex-direction:column;gap:8px}.svt-expand-arrow{font-size:1.3rem;font-weight:700;color:#78a;padding-left:2px}.svt-grouped-balls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:6px}.svt-gball-group{display:flex;align-items:center;gap:4px}.svt-gball-op{font-size:1.8rem;font-weight:900;padding:0 4px;color:#ccd8ee}.svt-gball-paren{font-size:3.6rem;font-weight:200;line-height:1;color:#ccd8ee}.sva-legend{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.sva-legend-item{font-size:1rem;font-weight:900;font-family:Courier New,Courier,monospace;letter-spacing:1px}.pot-theory{background:#0a0a1e;border:1px solid #1a1a3a;border-radius:18px;padding:22px 28px;margin-bottom:28px}.pot-theory-row{display:flex;gap:32px;flex-wrap:wrap;align-items:flex-start}.pot-diagram{display:flex;flex-direction:column;gap:6px}.pot-diagram-expr{font-family:Courier New,monospace;line-height:1}.pot-diagram-labels{display:flex;gap:24px;font-size:.9rem;font-weight:700}.pot-diagram-eq{font-size:1.2rem;font-family:Courier New,monospace;margin-top:4px}.pot-sign-box{background:#0d0d28;border:1px solid #2a2a55;border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:6px;font-size:1rem}.pot-sign-title{font-weight:900;font-size:.95rem;letter-spacing:.5px;margin-bottom:4px}.pot-sign-row{font-size:1rem}.pot-sign-examples{display:flex;gap:20px;margin-top:8px;font-family:Courier New,monospace;font-size:1.05rem}.pot-step-notation{display:flex;flex-direction:column;gap:10px}.pot-step-expr{display:flex;align-items:flex-start;gap:6px;font-family:Courier New,monospace}.pot-step-annot{display:flex;gap:28px;font-size:1rem;font-weight:700}.pot-step-expand{display:flex;flex-direction:column;gap:10px}.pot-step-sign{display:flex;flex-direction:column;gap:8px;font-size:1.15rem;padding:10px 0}.pot-sign-result{font-size:1.2rem;margin-top:4px}.pot-tulo-rule-box{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.pot-tulo-rule-formula{font-family:Courier New,monospace;line-height:1}.pot-tulo-note{font-size:1rem;font-weight:700;letter-spacing:.3px}.pot-tulo-examples{display:flex;flex-direction:column;gap:6px;font-family:Courier New,monospace;font-size:1.05rem;margin-top:4px}.pj-frac{display:inline-flex;flex-direction:column;align-items:center;gap:3px;vertical-align:middle}.pj-frac-top,.pj-frac-bot{display:flex;align-items:flex-start;gap:2px}.pj-frac-bar{height:2px;width:100%;min-width:32px;border-radius:1px}.pj-rule-formula{display:flex;align-items:center;font-family:Courier New,monospace;gap:0}.pj-ball-frac{display:flex;flex-direction:column;align-items:flex-end;gap:0;margin-top:10px}.pj-ball-frac-top,.pj-ball-frac-bot{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.pj-ball-frac-bar{height:3px;width:100%;min-width:60px;border-radius:2px}.pj-step-orig{display:flex;flex-direction:column;gap:10px;align-items:center}.ta1-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.ta1-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.ta1-title{font-size:1.3rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.ta1-example{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:monospace;font-size:1.1rem;color:#887;padding:6px 0}.ta1-arrow{color:#444;font-size:1.2rem}.ta1-ans{color:#4f8;font-weight:900;font-size:1.3rem}.ta1-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(480px,100%)}.ta1-card{background:#1a0a00;border:2px solid #442200;border-radius:20px;padding:28px 40px;text-align:center;width:100%}.ta1-main-eq{font-size:1.7rem;font-weight:700;color:#c83;font-family:monospace;letter-spacing:1px}.ta1-divider{border:none;border-top:1px solid #331500;margin:14px 0}.ta1-step-prog{font-size:.75rem;font-weight:800;color:#642;text-transform:uppercase;letter-spacing:2px;margin-bottom:6px}.ta1-step-hint{font-size:.95rem;color:#a63;margin-bottom:12px}.ta1-step-q{font-size:2.2rem;font-weight:900;color:#fc8;font-family:monospace;letter-spacing:2px}.ta1-main-card{background:#1a0a00;border:2px solid #442200;border-radius:16px;padding:20px 32px;text-align:center;width:min(520px,100%)}.ta1-steps-list{display:flex;flex-direction:column;gap:12px;width:min(520px,100%)}.ta1-step-block{background:#120800;border:2px solid #2a1000;border-radius:14px;padding:16px 22px;transition:border-color .25s,opacity .25s,box-shadow .25s}.ta1-step-block.done{border-color:#283}.ta1-step-block.active{border-color:#840;box-shadow:0 0 14px #f603}.ta1-step-block.locked{opacity:.28;pointer-events:none}.ta1-step-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.ta1-step-num{font-size:.68rem;font-weight:800;color:#531;text-transform:uppercase;letter-spacing:2px}.ta1-step-lbl{font-size:.88rem;color:#964;flex:1}.ta1-step-check{color:#4f8;font-size:1.1rem}.ta1-step-eq-row{text-align:center;margin:4px 0}.ta1-step-solved{font-size:1.9rem;font-weight:900;color:#4f8;font-family:monospace}.ta1-step-q{font-size:1.9rem;font-weight:900;color:#fc8;font-family:monospace}.ta1-step-opts{margin-top:12px}.ta1-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.ta1-opt{padding:22px 10px;background:#120800;border:2px solid #331800;border-radius:14px;font-size:1.2rem;font-weight:900;color:#753;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.ta1-opt:hover:not(:disabled){background:#1e1000;border-color:#840;color:#fa4;transform:scale(1.04)}.ta1-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.ta1-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:ta1-shake .4s ease}.ta1-dim{opacity:.3}.ta1-opt:disabled{cursor:default}@keyframes ta1-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.ta2-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.ta2-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.ta2-title{font-size:1.3rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.ta2-example{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:monospace;font-size:1.05rem;color:#887;padding:6px 0}.ta2-arrow{color:#444;font-size:1.1rem}.ta2-ans{color:#4f8;font-weight:900;font-size:1.3rem}.ta2-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(480px,100%)}.ta2-card{background:#08001a;border:2px solid #220066;border-radius:20px;padding:28px 40px;text-align:center;width:100%}.ta2-main-eq{font-size:1.7rem;font-weight:700;color:#86c;font-family:monospace;letter-spacing:1px}.ta2-divider{border:none;border-top:1px solid #1a0044;margin:14px 0}.ta2-step-prog{font-size:.75rem;font-weight:800;color:#426;text-transform:uppercase;letter-spacing:2px;margin-bottom:6px}.ta2-step-hint{font-size:.95rem;color:#75a;margin-bottom:12px}.ta2-step-q{font-size:2rem;font-weight:900;color:#c9f;font-family:monospace;letter-spacing:2px}.ta2-main-card{background:#08001a;border:2px solid #220066;border-radius:16px;padding:20px 32px;text-align:center;width:min(520px,100%)}.ta2-steps-list{display:flex;flex-direction:column;gap:12px;width:min(520px,100%)}.ta2-step-block{background:#060014;border:2px solid #150040;border-radius:14px;padding:16px 22px;transition:border-color .25s,opacity .25s,box-shadow .25s}.ta2-step-block.done{border-color:#283}.ta2-step-block.active{border-color:#53b;box-shadow:0 0 14px #74f3}.ta2-step-block.locked{opacity:.28;pointer-events:none}.ta2-step-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.ta2-step-num{font-size:.68rem;font-weight:800;color:#326;text-transform:uppercase;letter-spacing:2px}.ta2-step-lbl{font-size:.88rem;color:#75a;flex:1}.ta2-step-check{color:#4f8;font-size:1.1rem}.ta2-step-eq-row{text-align:center;margin:4px 0}.ta2-step-solved{font-size:1.9rem;font-weight:900;color:#4f8;font-family:monospace}.ta2-step-q{font-size:1.9rem;font-weight:900;color:#c9f;font-family:monospace}.ta2-step-opts{margin-top:12px}.ta2-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.ta2-opt{padding:22px 10px;background:#08001a;border:2px solid #220055;border-radius:14px;font-size:1.2rem;font-weight:900;color:#548;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.ta2-opt:hover:not(:disabled){background:#103;border-color:#63c;color:#a8f;transform:scale(1.04)}.ta2-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.ta2-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:ta2-shake .4s ease}.ta2-dim{opacity:.3}.ta2-opt:disabled{cursor:default}@keyframes ta2-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.ta3-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.ta3-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.ta3-title{font-size:1.3rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.ta3-example{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:monospace;font-size:1.05rem;color:#887;padding:6px 0}.ta3-arrow{color:#444;font-size:1.1rem}.ta3-ans{color:#4fc;font-weight:900;font-size:1.3rem}.ta3-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(480px,100%)}.ta3-card{background:#001a12;border:2px solid #003322;border-radius:20px;padding:28px 40px;text-align:center;width:100%}.ta3-main-eq{font-size:1.7rem;font-weight:700;color:#285;font-family:monospace;letter-spacing:1px}.ta3-divider{border:none;border-top:1px solid #002211;margin:14px 0}.ta3-step-prog{font-size:.75rem;font-weight:800;color:#253;text-transform:uppercase;letter-spacing:2px;margin-bottom:6px}.ta3-step-hint{font-size:.95rem;color:#4a7;margin-bottom:12px}.ta3-step-q{font-size:2rem;font-weight:900;color:#8fc;font-family:monospace;letter-spacing:2px}.ta3-main-card{background:#001a12;border:2px solid #003322;border-radius:16px;padding:20px 32px;text-align:center;width:min(520px,100%)}.ta3-steps-list{display:flex;flex-direction:column;gap:12px;width:min(520px,100%)}.ta3-step-block{background:#000f0a;border:2px solid #002211;border-radius:14px;padding:16px 22px;transition:border-color .25s,opacity .25s,box-shadow .25s}.ta3-step-block.done{border-color:#283}.ta3-step-block.active{border-color:#096;box-shadow:0 0 14px #0f83}.ta3-step-block.locked{opacity:.28;pointer-events:none}.ta3-step-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.ta3-step-num{font-size:.68rem;font-weight:800;color:#243;text-transform:uppercase;letter-spacing:2px}.ta3-step-lbl{font-size:.88rem;color:#4a7;flex:1}.ta3-step-check{color:#4f8;font-size:1.1rem}.ta3-step-eq-row{text-align:center;margin:4px 0}.ta3-step-solved{font-size:1.9rem;font-weight:900;color:#4f8;font-family:monospace}.ta3-step-q{font-size:1.9rem;font-weight:900;color:#8fc;font-family:monospace}.ta3-step-opts{margin-top:12px}.ta3-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.ta3-opt{padding:22px 10px;background:#001a12;border:2px solid #003322;border-radius:14px;font-size:1.2rem;font-weight:900;color:#365;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.ta3-opt:hover:not(:disabled){background:#002a1e;border-color:#096;color:#4da;transform:scale(1.04)}.ta3-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.ta3-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:ta3-shake .4s ease}.ta3-dim{opacity:.3}.ta3-opt:disabled{cursor:default}@keyframes ta3-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.ga-wrapper{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:24px}.ga-header{display:flex;align-items:center;justify-content:space-between;width:760px;padding:0 4px}.ga-title{color:#fff;font-size:1.6rem;font-weight:800;letter-spacing:6px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3)}.ga-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:110px}.ga-timer{color:#ffffffe6;font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums;text-align:right}.ga-timer.urgent{color:#f54;animation:ga-pulse .8s ease-in-out infinite}@keyframes ga-pulse{0%,to{opacity:1}50%{opacity:.4}}.ga-score{color:#ffffff8c;font-size:.78rem}.ga-back-btn{background:none;border:1px solid rgba(255,255,255,.35);border-radius:6px;color:#ffffffb3;font-size:.85rem;padding:6px 12px;cursor:pointer;transition:color .15s,border-color .15s}.ga-back-btn:hover{color:#fff;border-color:#fffc}.ga-arena{position:relative;width:760px;height:500px;background:linear-gradient(180deg,#04040e,#080820 55%,#0d0d30);border:2px solid #1a1a44;border-radius:10px;overflow:hidden;box-shadow:0 0 50px #0022aa18;transition:border-color .15s,box-shadow .15s}.ga-arena.flash-correct{border-color:#4f8!important;box-shadow:0 0 40px #4f85!important}.ga-arena.flash-wrong{border-color:#f43!important;box-shadow:0 0 40px #f435!important}.gb{position:absolute;width:64px;height:64px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;transform:translate(-50%,-50%);cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .35s;-webkit-user-select:none;user-select:none}.gb:hover:not(.gb-sel):not(.gb-remove){transform:translate(-50%,-50%) scale(1.1)}.gb-blue{background:radial-gradient(circle at 36% 32%,#9cf,#04c);box-shadow:0 0 16px #05f5,inset 0 0 8px #fff2}.gb-red{background:radial-gradient(circle at 36% 32%,#fa9,#c20);box-shadow:0 0 16px #f305,inset 0 0 8px #fff2}.gb-sel{transform:translate(-50%,-50%) scale(1.12)!important;box-shadow:0 0 0 3px #fff,0 0 22px #abfc!important}.gb-wrong{animation:gb-wrong .45s ease forwards}@keyframes gb-wrong{0%{filter:brightness(1);box-shadow:0 0 0 3px #f33,0 0 20px #f33a}40%{filter:brightness(1.9)}to{filter:brightness(1)}}.gb-remove{opacity:0!important;transform:translate(-50%,-50%) scale(0)!important;pointer-events:none}.gb-correct{box-shadow:0 0 0 3px #4f8,0 0 22px #4f8a!important;animation:gb-correct .3s ease forwards}@keyframes gb-correct{to{opacity:0;transform:translate(-50%,-50%) scale(0)}}.ga-info-bar{display:flex;align-items:center;justify-content:center;gap:10px;width:760px;padding:10px 20px;background:#00000040;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffffd9;font-size:.95rem}.ga-highlight{font-size:1.5rem;font-weight:900;font-variant-numeric:tabular-nums}.ga-pos{color:#f75}.ga-neg{color:#69f}.ga-zero{color:#4f8}.ns-dir-label{color:#ffffffd9;font-weight:700;font-size:1rem}.ns-sep{color:#ffffff4d;margin:0 6px}.var-ball{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#999aaa,#55566a);box-shadow:0 0 12px #4456,inset 0 0 6px #fff2;color:#eef;font-weight:900;font-size:1rem;flex-shrink:0}.gb-sm{font-size:13px}.ga-controls{display:flex;flex-direction:column;align-items:center;gap:12px}.ga-hint{color:#fff9;font-size:.88rem;text-align:center;max-width:500px;line-height:1.7}.ga-start-btn{padding:12px 36px;background:#fff;border:none;border-radius:10px;color:#1e499e;font-size:1.1rem;font-weight:700;cursor:pointer;letter-spacing:1px;transition:background .2s,transform .1s}.ga-start-btn:hover{background:#e8f2fb;transform:scale(1.03)}.ga-start-btn:active{transform:scale(.98)}.ga-result{display:flex;flex-direction:column;align-items:center;gap:10px}.ga-result-label{color:#fffc;font-size:1.1rem;letter-spacing:2px}.ga-final-score{color:#fff;font-size:2.6rem;font-weight:900;text-shadow:0 0 20px rgba(255,255,255,.4)}.ga-pen-text{color:#ffffff8c;font-size:.9rem}.ga-result-btns{display:flex;gap:14px;margin-top:4px}.ga-back-lg{padding:12px 28px;background:#ffffff1a;border:2px solid rgba(255,255,255,.3)!important;border-radius:10px;color:#ffffffd9!important;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.ga-back-lg:hover{background:#fff3}.siev-wrapper{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px 16px;min-height:100vh}.siev-header{display:flex;align-items:center;justify-content:space-between;width:min(760px,100%)}.siev-title{color:#fff;font-size:1.5rem;font-weight:800;letter-spacing:6px;text-transform:uppercase;text-shadow:0 0 20px rgba(255,255,255,.3)}.siev-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:100px}.siev-timer{color:#ffffffe6;font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums}.siev-timer.urgent{color:#f54;animation:ga-pulse .8s ease-in-out infinite}.siev-score{color:#ffffff8c;font-size:.78rem}.siev-back-btn{padding:7px 16px;background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:6px;color:#ffffffb3;font-size:.85rem;cursor:pointer;transition:color .15s,border-color .15s}.siev-back-btn:hover{color:#fff;border-color:#fffc}.siev-back-lg{padding:10px 22px;font-size:.95rem}.siev-expr-box{width:min(760px,100%);padding:28px 24px;background:#0a0a22;border:2px solid #1e1e44;border-radius:14px;color:#e8eeff;font-size:clamp(1.1rem,2.5vw,1.65rem);font-weight:600;font-family:Courier New,monospace;text-align:center;line-height:1.6;word-break:break-word;transition:border-color .2s}.siev-box-correct{border-color:#3d6!important}.siev-box-wrong{border-color:#f43!important}.siev-form{display:flex;gap:10px;align-items:stretch;width:min(760px,100%)}.siev-input{flex:1;padding:13px 18px;background:#111128;border:2px solid #2a2a55;border-radius:8px;color:#e0e8ff;font-size:1.05rem;font-family:Courier New,monospace;outline:none;transition:border-color .15s}.siev-input:focus{border-color:#46c}.siev-input:disabled{opacity:.45}.siev-input-correct{border-color:#3d6}.siev-input-wrong{border-color:#f43}.siev-ok{padding:13px 28px;background:#24a;border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s;white-space:nowrap}.siev-ok:hover:not(:disabled){background:#35c}.siev-ok:disabled{opacity:.35;cursor:default}.siev-reveal{color:#89b;font-size:.95rem;font-family:Courier New,monospace}.siev-reveal-ans{color:#4f8;font-weight:700;font-size:1.05rem}.siev-idle{display:flex;flex-direction:column;align-items:center;gap:18px;width:min(560px,100%)}.siev-example-box{width:100%;background:#0a0a22;border:1px solid #1e1e44;border-radius:14px;padding:24px 32px;text-align:center}.siev-ex-label{color:#445;font-size:.75rem;letter-spacing:3px;text-transform:uppercase;margin:0 0 14px}.siev-ex-expr{color:#abd;font-size:1.25rem;font-family:Courier New,monospace;margin:0 0 10px}.siev-ex-arrow{color:#45a;font-size:.9rem;margin:0 0 10px}.siev-ex-ans{color:#4f8;font-size:1.25rem;font-family:Courier New,monospace;margin:0}.siev-hint{color:#556;font-size:.85rem;text-align:center}.siev-start-btn{padding:13px 48px;background:#24a;border:none;border-radius:10px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;letter-spacing:2px}.siev-start-btn:hover{background:#35c;transform:scale(1.04)}.siev-result{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:40px}.siev-result-label{color:#667;font-size:.8rem;letter-spacing:3px;text-transform:uppercase}.siev-final{color:#d0d8ff;font-size:2.8rem;font-weight:800}.siev-pen{color:#778;font-size:.95rem}.siev-result-btns{display:flex;gap:14px;margin-top:8px}.siev-pad{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;width:min(510px,100%)}.siev-pad-btn{padding:11px 4px;background:#111128;border:1px solid #2a2a55;border-radius:8px;color:#c8d4ff;font-size:1rem;font-family:Courier New,monospace;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s,border-color .1s,transform .08s}.siev-pad-btn:hover:not(:disabled){background:#1a1a40;border-color:#46c}.siev-pad-btn:active:not(:disabled){transform:scale(.95);background:#226}.siev-pad-btn:disabled{opacity:.3;cursor:default}.siev-pad-del{color:#f87!important;border-color:#523!important;background:#1a0d0d!important}.siev-pad-op{color:#8cf;border-color:#1e3a55;background:#0d1a2a}.siev-pad-var{color:#afc;border-color:#1a4433;background:#0d1f18}.siev-rule-hint{font-size:.78rem;color:#a0b4ff99;letter-spacing:.04em;padding:4px 14px;border:1px solid rgba(160,180,255,.15);border-radius:20px;background:#a0b4ff0d}.ta4-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 16px 56px;min-height:100vh}.ta4-header{display:flex;align-items:center;justify-content:space-between;width:min(680px,100%)}.ta4-title{font-size:1.3rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.3)}.ta4-formula{font-family:monospace;font-size:1.05rem;color:#a8c;text-align:center;margin:4px 0 8px}.ta4-example{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:monospace;font-size:1rem;color:#887;padding:6px 0}.ta4-arrow{color:#444;font-size:1.1rem}.ta4-ans{color:#f8f;font-weight:900;font-size:1.3rem}.ta4-play{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(480px,100%)}.ta4-card{background:#1a001a;border:2px solid #440033;border-radius:20px;padding:28px 40px;text-align:center;width:100%}.ta4-main-eq{font-size:1.7rem;font-weight:700;color:#a48;font-family:monospace;letter-spacing:1px}.ta4-divider{border:none;border-top:1px solid #330022;margin:14px 0}.ta4-step-prog{font-size:.75rem;font-weight:800;color:#634;text-transform:uppercase;letter-spacing:2px;margin-bottom:6px}.ta4-step-hint{font-size:.95rem;color:#c6a;margin-bottom:12px}.ta4-step-q{font-size:2rem;font-weight:900;color:#fae;font-family:monospace;letter-spacing:2px}.ta4-main-card{background:#1a001a;border:2px solid #440033;border-radius:16px;padding:20px 32px;text-align:center;width:min(520px,100%)}.ta4-steps-list{display:flex;flex-direction:column;gap:12px;width:min(520px,100%)}.ta4-step-block{background:#100010;border:2px solid #330022;border-radius:14px;padding:16px 22px;transition:border-color .25s,opacity .25s,box-shadow .25s}.ta4-step-block.done{border-color:#283}.ta4-step-block.active{border-color:#c08;box-shadow:0 0 14px #f0a3}.ta4-step-block.locked{opacity:.28;pointer-events:none}.ta4-step-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.ta4-step-num{font-size:.68rem;font-weight:800;color:#534;text-transform:uppercase;letter-spacing:2px}.ta4-step-lbl{font-size:.88rem;color:#c6a;flex:1}.ta4-step-check{color:#4f8;font-size:1.1rem}.ta4-step-eq-row{text-align:center;margin:4px 0}.ta4-step-solved{font-size:1.9rem;font-weight:900;color:#4f8;font-family:monospace}.ta4-step-q{font-size:1.9rem;font-weight:900;color:#fae;font-family:monospace}.ta4-step-opts{margin-top:12px}.ta4-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.ta4-opt{padding:22px 10px;background:#1a001a;border:2px solid #440033;border-radius:14px;font-size:1.2rem;font-weight:900;color:#746;font-family:monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .1s}.ta4-opt:hover:not(:disabled){background:#2a0028;border-color:#c08;color:#f8e;transform:scale(1.04)}.ta4-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.ta4-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:ta4-shake .4s ease}.ta4-dim{opacity:.3}.ta4-opt:disabled{cursor:default}@keyframes ta4-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.pt-wrap{display:flex;flex-direction:column;align-items:center;min-height:100vh;background:transparent;font-family:Segoe UI,sans-serif}.pt-header{display:flex;align-items:center;justify-content:space-between;width:760px;padding:18px 4px 10px}.pt-title{color:#fff;font-size:1.5rem;font-weight:800;letter-spacing:5px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3);margin:0}.pt-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pt-timer{color:#ffffffe6;font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums}.pt-timer.urgent{color:#f54;animation:pt-pulse .8s ease-in-out infinite}@keyframes pt-pulse{0%,to{opacity:1}50%{opacity:.3}}.pt-score{color:#ffffff8c;font-size:.8rem}.pt-back-btn{background:none;border:1px solid rgba(255,255,255,.35);border-radius:6px;color:#ffffffb3;font-size:.85rem;padding:6px 12px;cursor:pointer;transition:color .15s,border-color .15s}.pt-back-btn:hover{color:#fff;border-color:#fffc}.pt-arena{position:relative;width:760px;min-height:500px;background:linear-gradient(180deg,#04040e,#080820 55%,#0d0d30);border:2px solid #1a1a44;border-radius:10px;overflow:hidden;box-shadow:0 0 50px #0022aa18;display:flex;align-items:center;justify-content:center;contain:layout paint;isolation:isolate}.pt-idle-inner{display:flex;flex-direction:column;align-items:center;gap:24px;padding:28px 20px;width:100%}.pt-ref{display:flex;gap:16px;width:100%;max-width:700px}.pt-ref-col{flex:1;background:#ffffff08;border:1px solid #1a1a44;border-radius:12px;overflow:hidden}.pt-ref-head{background:#ffffff0d;border-bottom:1px solid #1a1a44;padding:8px 14px;font-size:.78rem;font-weight:900;color:#56a;text-transform:uppercase;letter-spacing:.8px}.pt-ref-row{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.03)}.pt-ref-row:last-child{border-bottom:none}.pt-ref-row b{color:#abf;min-width:105px;font-size:.85rem}.pt-ref-row span{color:#456;font-size:.75rem;flex:1}.pt-ref-row code{font-family:Courier New,monospace;font-size:.82rem;color:#fc4;background:#ffcc4412;padding:1px 6px;border-radius:4px}.pt-start-btn{background:linear-gradient(135deg,#2c6,#194);border:none;border-radius:12px;color:#fff;font-size:1.05rem;font-weight:900;padding:13px 40px;cursor:pointer;transition:opacity .2s,transform .1s;letter-spacing:.5px}.pt-start-btn:hover{opacity:.88;transform:translateY(-2px)}.pt-game-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 20px;width:100%}.pt-section-label{font-size:.62rem;font-weight:900;color:#334;text-transform:uppercase;letter-spacing:1.8px;align-self:flex-start;padding-left:4px}.pt-colored-expr{font-family:Courier New,monospace;font-size:2.1rem;font-weight:900;letter-spacing:1px;line-height:1.2;display:inline-block;border-radius:8px;padding:2px 8px;transition:box-shadow .2s}.pt-expr-ok{box-shadow:0 0 20px #4f86}.pt-expr-err{box-shadow:0 0 20px #f436}.pt-term-balls{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;align-items:center}.pt-term-group{display:flex;align-items:center;position:relative}.pt-term-ball{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Courier New,monospace;font-size:1rem;font-weight:900;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.5);flex-shrink:0;position:relative}.pt-sep{color:#445}.pt-divider{width:80%;height:1px;background:linear-gradient(90deg,transparent,#1a2255,transparent);margin:2px 0}.pt-question{font-size:1rem;font-weight:800;color:#67a;margin:0;letter-spacing:.3px}.pt-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:480px}.pt-opt{padding:20px 12px;background:#0a0a22;border:2px solid #1a1a44;border-radius:14px;font-size:1.2rem;font-weight:900;color:#67a;cursor:pointer;transition:background .1s,border-color .1s,transform .1s,color .1s;font-family:Segoe UI,sans-serif}.pt-opt:hover:not(:disabled){background:#10102a;border-color:#45c;color:#abf;transform:scale(1.04)}.pt-opt:disabled{cursor:default}.pt-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.pt-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:pt-shake .4s ease}.pt-dim{opacity:.3}@keyframes pt-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.pt-hint{font-size:.9rem;color:#456;margin:0}.pt-hint strong{color:#4d8}.pt-result-inner{display:flex;flex-direction:column;align-items:center;gap:14px}.pt-result-label{color:#ffffff8c;font-size:1rem;margin:0}.pt-final{font-size:3.5rem;font-weight:900;color:#fff;margin:0;text-shadow:0 0 30px rgba(255,255,255,.4)}.pt-result-btns{display:flex;gap:12px;margin-top:8px}.pt-back-btn2{background:#ffffff1a;border:1.5px solid rgba(255,255,255,.3);border-radius:12px;color:#ffffffd9;font-size:.95rem;font-weight:800;padding:13px 24px;cursor:pointer;transition:all .15s}.pt-back-btn2:hover{border-color:#fffc;color:#fff}.po-wrap{display:flex;flex-direction:column;align-items:center;min-height:100vh;background:transparent;font-family:Segoe UI,sans-serif}.po-header{display:flex;align-items:center;justify-content:space-between;width:760px;padding:18px 4px 10px}.po-title{color:#fff;font-size:1.4rem;font-weight:800;letter-spacing:4px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3);margin:0}.po-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.po-timer{color:#ffffffe6;font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums}.po-timer.urgent{color:#f54;animation:po-pulse .8s ease-in-out infinite}.po-score{color:#ffffff8c;font-size:.8rem}.po-back-btn{background:none;border:1px solid rgba(255,255,255,.35);border-radius:6px;color:#ffffffb3;font-size:.85rem;padding:6px 12px;cursor:pointer;transition:color .15s,border-color .15s}.po-back-btn:hover{color:#fff;border-color:#fffc}.po-arena{position:relative;width:760px;min-height:500px;background:linear-gradient(180deg,#04040e,#080820 55%,#0d0d30);border:2px solid #1a1a44;border-radius:10px;overflow:hidden;box-shadow:0 0 50px #0022aa18;display:flex;align-items:center;justify-content:center;contain:layout paint;isolation:isolate}.po-idle-inner{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px 20px;width:100%}.po-ref-table{width:100%;max-width:640px;background:#ffffff08;border:1px solid #1a1a44;border-radius:12px;overflow:hidden}.po-ref-head{background:#ffffff0d;border-bottom:1px solid #1a1a44;padding:8px 14px;font-size:.72rem;font-weight:900;color:#56a;text-transform:uppercase;letter-spacing:.8px}.po-ref-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.03)}.po-ref-row:last-child{border-bottom:none}.po-ref-row b{color:#abf;min-width:110px;font-size:.85rem}.po-ref-row span{color:#456;font-size:.75rem;flex:1}.po-ref-row code{font-family:Courier New,monospace;font-size:.8rem;color:#fc4;background:#ffcc4412;padding:1px 6px;border-radius:4px}.po-ex-row{display:flex;align-items:center;gap:10px}.po-ex-sep{color:#445;font-size:1.3rem;font-family:Courier New,monospace}.po-start-btn{background:linear-gradient(135deg,#2c6,#194);border:none;border-radius:12px;color:#fff;font-size:1.05rem;font-weight:900;padding:13px 40px;cursor:pointer;transition:opacity .2s,transform .1s}.po-start-btn:hover{opacity:.88;transform:translateY(-2px)}.po-game-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:20px;width:100%}.po-section-label{font-size:.62rem;font-weight:900;color:#334;text-transform:uppercase;letter-spacing:1.8px;align-self:flex-start;padding-left:4px}.po-colored-expr{font-family:Courier New,monospace;font-size:1.9rem;font-weight:900;letter-spacing:1px;display:inline-block;border-radius:8px;padding:2px 8px;transition:box-shadow .2s}.po-expr-ok{box-shadow:0 0 20px #4f86}.po-expr-err{box-shadow:0 0 20px #f436}.po-sep{color:#334}.po-term-balls{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;align-items:center}.po-term-group{display:flex;align-items:center;position:relative}.po-term-ball{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Courier New,monospace;font-size:1rem;font-weight:900;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.5);flex-shrink:0;position:relative;transition:opacity .2s,filter .2s}.po-card{background:#ffffff0a;border:2px solid #1a2a66;border-radius:18px;padding:14px 44px;display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .2s,box-shadow .2s}.po-card-ok{border-color:#4f8!important;box-shadow:0 0 20px #4f84!important}.po-card-err{border-color:#f43!important;box-shadow:0 0 20px #f434!important}.po-card-expr{font-family:Courier New,monospace;font-size:2.5rem;font-weight:900;display:flex;align-items:baseline;gap:1px;line-height:1}.po-ask{color:#fc4;text-shadow:0 0 18px #ffcc4499;animation:po-blink 1.1s ease-in-out infinite}.po-cnum{color:#f87}.po-cneg{color:#69f}.po-cvar{color:#aac}.po-cexp{font-size:.5em;color:#aac}.po-card-label{font-size:.7rem;font-weight:900;color:#56a;text-transform:uppercase;letter-spacing:1.5px}.po-question{font-size:1rem;font-weight:800;color:#67a;margin:0}.po-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:380px}.po-opt{padding:18px 12px;background:#0a0a22;border:2px solid #1a1a44;border-radius:14px;font-size:1.25rem;font-weight:900;color:#67a;cursor:pointer;font-family:Courier New,monospace;transition:background .1s,border-color .1s,transform .1s,color .1s}.po-opts-sign{max-width:260px}.po-opts-sign .po-opt{font-size:1.8rem;padding:22px 16px;letter-spacing:2px}.po-opt:hover:not(:disabled){background:#10102a;border-color:#45c;color:#abf;transform:scale(1.04)}.po-opt:disabled{cursor:default}.po-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.po-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:po-shake .4s ease}.po-dim{opacity:.3}.po-hint{font-size:.9rem;color:#456;margin:0}.po-hint strong{color:#4d8}.po-result-inner{display:flex;flex-direction:column;align-items:center;gap:14px}.po-result-label{color:#ffffff8c;font-size:1rem;margin:0}.po-final{font-size:3.5rem;font-weight:900;color:#fff;margin:0;text-shadow:0 0 30px rgba(255,255,255,.4)}.po-result-btns{display:flex;gap:12px;margin-top:8px}.po-back-btn2{background:#ffffff1a;border:1.5px solid rgba(255,255,255,.3);border-radius:12px;color:#ffffffd9;font-size:.95rem;font-weight:800;padding:13px 24px;cursor:pointer;transition:all .15s}.po-back-btn2:hover{border-color:#fffc;color:#fff}@keyframes po-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes po-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes po-pulse{0%,to{opacity:1}50%{opacity:.3}}.pv-wrap{display:flex;flex-direction:column;align-items:center;min-height:100vh;background:transparent;font-family:Segoe UI,sans-serif}.pv-header{display:flex;align-items:center;justify-content:space-between;width:760px;padding:18px 4px 10px}.pv-title{color:#fff;font-size:1.4rem;font-weight:800;letter-spacing:4px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,255,255,.3);margin:0}.pv-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pv-timer{color:#ffffffe6;font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums}.pv-timer.urgent{color:#f54;animation:pv-pulse .8s ease-in-out infinite}.pv-score{color:#ffffff8c;font-size:.8rem}.pv-back-btn{background:none;border:1px solid rgba(255,255,255,.35);border-radius:6px;color:#ffffffb3;font-size:.85rem;padding:6px 12px;cursor:pointer;transition:color .15s,border-color .15s}.pv-back-btn:hover{color:#fff;border-color:#fffc}.pv-arena{position:relative;width:760px;min-height:500px;background:linear-gradient(180deg,#04040e,#080820 55%,#0d0d30);border:2px solid #1a1a44;border-radius:10px;overflow:hidden;box-shadow:0 0 50px #0022aa18;display:flex;align-items:center;justify-content:center;contain:layout paint;isolation:isolate}.pv-idle-inner{display:flex;flex-direction:column;align-items:center;gap:16px;padding:22px 20px;width:100%}.pv-ref-section{width:100%;max-width:700px}.pv-ref-label{font-size:.68rem;font-weight:900;color:#45a;text-transform:uppercase;letter-spacing:1.8px;margin-bottom:8px}.pv-ref-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pv-ref-card{background:#ffffff08;border:1px solid #1a1a44;border-radius:10px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:4px}.pv-ref-name{font-size:.82rem;font-weight:900;color:#abf}.pv-ref-desc{font-size:.7rem;color:#56a}.pv-start-btn{background:linear-gradient(135deg,#2c6,#194);border:none;border-radius:12px;color:#fff;font-size:1.05rem;font-weight:900;padding:13px 40px;cursor:pointer;transition:opacity .2s,transform .1s}.pv-start-btn:hover{opacity:.88;transform:translateY(-2px)}.pv-game-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:28px 20px;width:100%}.pv-target{display:flex;flex-direction:column;align-items:center;gap:4px;background:#503cb41f;border:2px solid #4433aa;border-radius:18px;padding:16px 56px;box-shadow:0 0 28px #43a4;transition:border-color .2s,box-shadow .2s}.pv-target-ok{border-color:#4f8!important;box-shadow:0 0 28px #4f84!important}.pv-target-err{border-color:#f43!important;box-shadow:0 0 28px #f434!important}.pv-target-name{font-size:2rem;font-weight:900;color:#c8f;letter-spacing:2px;text-shadow:0 0 20px #aa44ff66}.pv-target-desc{font-size:.82rem;color:#76a;font-weight:700;letter-spacing:1px}.pv-question{font-size:.95rem;font-weight:800;color:#67a;margin:0}.pv-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:580px}.pv-opt{padding:22px 16px;background:#0a0a22;border:2px solid #1a1a44;border-radius:14px;font-family:Courier New,monospace;font-size:1.15rem;font-weight:900;color:#abf;cursor:pointer;text-align:center;transition:background .1s,border-color .1s,transform .1s,color .1s}.pv-opt:hover:not(:disabled){background:#10102a;border-color:#45c;color:#def;transform:scale(1.04)}.pv-opt:disabled{cursor:default}.pv-ok{background:#051e10!important;border-color:#3d6!important;color:#4f8!important;transform:scale(1.06)!important}.pv-wrong{background:#1e0808!important;border-color:#f32!important;color:#f54!important;animation:pv-shake .4s ease}.pv-dim{opacity:.3}.pv-result-inner{display:flex;flex-direction:column;align-items:center;gap:14px}.pv-result-label{color:#ffffff8c;font-size:1rem;margin:0}.pv-final{font-size:3.5rem;font-weight:900;color:#fff;margin:0;text-shadow:0 0 30px rgba(255,255,255,.4)}.pv-result-btns{display:flex;gap:12px;margin-top:8px}.pv-back-btn2{background:#ffffff1a;border:1.5px solid rgba(255,255,255,.3);border-radius:12px;color:#ffffffd9;font-size:.95rem;font-weight:800;padding:13px 24px;cursor:pointer;transition:all .15s}.pv-back-btn2:hover{border-color:#fffc;color:#fff}@keyframes pv-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes pv-pulse{0%,to{opacity:1}50%{opacity:.3}}.pb-wrap{display:flex;flex-direction:column;align-items:center;gap:18px;padding:20px 16px 60px;min-height:100vh;max-width:520px;margin:0 auto}.pb-progress{display:flex;align-items:center;gap:10px;width:100%}.pb-dots{display:flex;gap:5px;flex:1}.pb-dot{flex:1;height:7px;border-radius:4px;background:#1a1a35;transition:background .25s}.pb-dot-ok{background:#4f8}.pb-dot-active{background:#48f}.pb-dot-err{background:#f45}.pb-score-lbl{font-size:1rem;font-weight:900;font-family:Courier New,monospace;color:#4f8;white-space:nowrap}.pb-question{width:100%;background:#07071a;border:2px solid #1a1a40;border-radius:20px;padding:24px 20px 20px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.pb-q-num{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:#45b}.pb-expr{font-family:Courier New,monospace;font-size:1.7rem;font-weight:900;color:#ccd8ee;letter-spacing:1px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;line-height:1.4}.pb-blank-row{display:flex;align-items:center;gap:6px;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700}.pb-blank{min-width:64px;padding:4px 12px;border-bottom:3px solid #4488ff;color:#abf;font-size:1.5rem;font-weight:900;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.pb-blank-active{border-color:#48f}.pb-blank-done{border-color:#4f8;color:#4f8}.pb-blank-err{border-color:#f45;color:#f45}.pb-suffix{color:#4da;font-weight:900}.pb-feedback{font-size:1rem;font-weight:900;padding:8px 22px;border-radius:12px}.pb-ok{background:#051a0a;color:#4f8;border:2px solid #1a4a25}.pb-err{background:#1a0505;color:#f45;border:2px solid #4a1515}.np-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.np-display{font-family:Courier New,monospace;font-size:2.4rem;font-weight:900;color:#abf;background:#050514;border:2px solid #1a1a44;border-radius:14px;padding:8px 24px;min-width:180px;text-align:center;min-height:60px;display:flex;align-items:center;justify-content:center;letter-spacing:2px}.np-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:270px}.np-key{padding:15px 0;border:2px solid #1a2044;border-radius:12px;background:#0a0a22;color:#abf;font-size:1.25rem;font-weight:900;font-family:Courier New,monospace;cursor:pointer;transition:background .1s,border-color .1s,transform .08s;-webkit-user-select:none;user-select:none}.np-key:hover{background:#12123a;border-color:#45c}.np-key:active{transform:scale(.91);background:#1a1a44}.np-neg{color:#f95;border-color:#3a2010}.np-del{color:#f67;border-color:#3a1020}.np-var{color:#4da;border-color:#0a2a1a;font-weight:900;font-size:1.1rem}.np-enter{width:100%;max-width:270px;padding:15px;border-radius:14px;border:none;background:linear-gradient(135deg,#0d5530,#2a8855);color:#afc;font-size:1.05rem;font-weight:900;cursor:pointer;transition:opacity .15s,transform .12s;letter-spacing:1px}.np-enter:hover:not(:disabled){opacity:.88;transform:scale(1.03)}.np-enter:disabled{opacity:.35;cursor:default}.pb-done{width:100%;background:#07071a;border:2px solid #1a1a40;border-radius:24px;padding:36px 24px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;margin-top:16px}.pb-done-score{font-size:5rem;font-weight:900;font-family:Courier New,monospace;line-height:1}.pb-done-pass{color:#4f8}.pb-done-fail{color:#f45}.pb-done-sub{font-size:.9rem;color:#67a;font-weight:700}.pb-done-verdict{font-size:1.15rem;font-weight:900;padding:10px 28px;border-radius:14px}.pb-verdict-pass{background:#051a0a;color:#4f8;border:2px solid #1a4a25}.pb-verdict-fail{background:#1a0505;color:#f56;border:2px solid #4a1515}.pb-done-btn{background:linear-gradient(135deg,#1a3488,#51b);color:#ccd8ff;border:none;border-radius:14px;padding:13px 40px;font-size:1rem;font-weight:900;cursor:pointer;transition:opacity .15s;margin-top:4px}.pb-done-btn:hover{opacity:.85}.ce-page{min-height:100vh;background:#f5f8fd;padding-bottom:40px}.ce-status{margin-left:auto;font-size:.82rem;font-weight:700;padding:5px 12px;border-radius:20px}.ce-status-loading{background:#fff3d6;color:#a5730a}.ce-status-ready{background:#e1f6e8;color:#1c8a4c}.ce-status-error{background:#ffe1e1;color:#a5290f}.ce-layout{display:flex;gap:22px;max-width:var(--sivu-leveys);margin:0 auto;padding:0 22px;align-items:flex-start}.ce-examples{flex:0 0 220px;background:#fff;border:1px solid #e3ecf8;border-radius:14px;padding:16px 14px;box-shadow:0 4px 18px #14285a14}.ce-examples-h{font-weight:800;color:#0446a4;margin:2px 4px 10px;font-size:.92rem}.ce-example-btn{display:block;width:100%;text-align:left;background:#f4f8ff;border:1px solid #e2ecff;border-radius:8px;padding:8px 10px;margin-bottom:8px;font-size:.82rem;color:var(--c2, #1e499e);font-weight:600;cursor:pointer}.ce-example-btn:hover{background:#eaf2ff}.ce-hint{font-size:.72rem;color:#6a7a9a;margin-top:12px;line-height:1.5}.ce-hint kbd{background:#eef2fb;border:1px solid #d4dcee;border-radius:4px;padding:1px 5px;font-size:.7rem}.ce-main{flex:1 1 auto;min-width:0;background:#fff;border:1px solid #e3ecf8;border-radius:14px;padding:18px 20px 20px;box-shadow:0 4px 18px #14285a14;display:flex;flex-direction:column}.ce-error-box{background:#fff0f0;border:1px solid #ffc9c9;color:#a5290f;border-radius:10px;padding:10px 14px;font-size:.85rem;margin-bottom:12px}.ce-editor{width:100%;min-height:260px;resize:vertical;background:#1e2333;color:#eaf1ff;font-family:Consolas,Menlo,monospace;font-size:.92rem;line-height:1.55;border:none;border-radius:10px;padding:14px 16px;-moz-tab-size:4;tab-size:4}.ce-editor:disabled{opacity:.6}.ce-toolbar{display:flex;justify-content:flex-end;margin-top:10px}.ce-run{background:#0557a8;color:#fff;border:none;font-weight:700;font-size:.92rem;padding:9px 22px;border-radius:9px;cursor:pointer}.ce-run:hover:not(:disabled){background:#044488}.ce-run:disabled{opacity:.5;cursor:not-allowed}.ce-output-label{margin-top:16px;font-weight:700;color:#33415c;font-size:.85rem}.ce-output{margin-top:6px;background:#0f1420;color:#b8ffc2;font-family:Consolas,Menlo,monospace;font-size:.88rem;line-height:1.5;border-radius:10px;padding:14px 16px;min-height:90px;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word}@media (max-width: 780px){.ce-layout{flex-direction:column}.ce-examples{width:100%;flex:1 1 auto}}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(./KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(./KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(./KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(./KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(./KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(./KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(./KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(./KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(./KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(./KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(./KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(./KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(./KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(./KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(./KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(./KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(./KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(./KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(./KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(./KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(./KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(./KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(./KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(./KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(./KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(./KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(./KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(./KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(./KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(./KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(./KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(./KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(./KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(./KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(./KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(./KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(./KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(./KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(./KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(./KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(./KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(./KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(./KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(./KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(./KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(./KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(./KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(./KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(./KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(./KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(./KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(./KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(./KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(./KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(./KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(./KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(./KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(./KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(./KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.11"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.mm-page{min-height:100vh;padding:0 16px 48px}.mm-layout{display:grid;grid-template-columns:290px 1fr;gap:22px;max-width:1200px;margin:0 auto;align-items:start}.mm-toc{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto;background:#fff;border-radius:16px;padding:12px;box-shadow:0 4px 18px #0f172a14}.mm-toc-mod{width:100%;text-align:left;font:inherit;font-weight:800;font-size:.9rem;border:0;background:none;padding:8px 6px;cursor:pointer;color:var(--c2, #0f172a);border-radius:8px}.mm-toc-mod:hover{background:#f1f5f9}.mm-toc-lec{width:100%;text-align:left;font:inherit;font-size:.82rem;border:0;background:none;padding:5px 6px 5px 26px;cursor:pointer;color:#334155;border-radius:8px}.mm-toc-lec:hover{background:#f1f5f9}.mm-toc-lec.on{background:color-mix(in srgb,var(--c1, #64748b) 18%,#fff);font-weight:800;color:var(--c2, #0f172a)}.mm-toc-toggle{display:none}.mm-main{min-width:0}.mm-lecture{background:#fff;border-radius:20px;padding:26px 30px;box-shadow:0 6px 24px #0f172a14;border-top:6px solid var(--c1, #64748b)}.mm-kicker{margin:0;font-size:.82rem;font-weight:800;letter-spacing:.02em;color:var(--c1, #64748b);text-transform:uppercase}.mm-title{margin:4px 0 14px;font-size:1.6rem;font-weight:900;color:#0f172a;line-height:1.25}.mm-lecture p,.mm-lecture li{line-height:1.7;color:#1f2937;font-size:1.02rem}.mm-lecture h3{margin:22px 0 8px;font-size:1.12rem;font-weight:900;color:var(--c2, #0f172a)}.mm-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.mm-nav button{font:inherit;font-weight:800;padding:10px 16px;border-radius:12px;border:2px solid #cbd5e1;background:#fff;cursor:pointer;color:var(--c2, #0f172a);max-width:48%;text-align:left}.mm-nav button:disabled{opacity:.4;cursor:default}.mm-nav .mm-next{margin-left:auto;text-align:right}.mm-eq{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:6px 14px;margin:14px 0;overflow-x:auto}.mm-eq-body{flex:1;min-width:0}.mm-eq-no{font-weight:800;color:var(--c1, #64748b);white-space:nowrap}.mm-m .katex{font-size:1.02em}.mm-sym,.mm-steps{background:#fbfdff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;margin:12px 0}.mm-sym-title{font-weight:900;color:var(--c2, #0f172a);margin-bottom:6px}.mm-sym table{width:100%;border-collapse:collapse;font-size:.95rem}.mm-sym td{padding:5px 6px;border-top:1px solid #eef2f7;vertical-align:top}.mm-sym-tex{white-space:nowrap;width:1%}.mm-sym-unit{color:#64748b;white-space:nowrap;width:1%}.mm-steps ol{margin:0;padding-left:22px}.mm-wwh{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:14px 0}.mm-wwh-item{border-radius:12px;padding:10px 12px;font-size:.97rem;line-height:1.6}.mm-wwh-item b{display:block;margin-bottom:4px}.mm-what{background:#eff6ff;border-left:4px solid #3b82f6}.mm-why{background:#fef9c3;border-left:4px solid #eab308}.mm-how{background:#ecfdf5;border-left:4px solid #10b981}.mm-note{display:flex;gap:10px;border-radius:12px;padding:10px 14px;margin:12px 0;line-height:1.6}.mm-note-info{background:#f0f9ff}.mm-note-warn{background:#fff7ed}.mm-note-ok{background:#f0fdf4}.mm-note-icon{font-size:1.2rem}.mm-box{border-radius:14px;padding:12px 16px;margin:14px 0;border:2px solid #e2e8f0}.mm-box-title{font-weight:900;margin-bottom:6px;color:var(--c2, #0f172a)}.mm-box-accent{border-color:color-mix(in srgb,var(--accent, #22d3ee) 60%,#fff);background:color-mix(in srgb,var(--accent, #22d3ee) 8%,#fff)}.mm-code{margin:12px 0}.mm-code figcaption{font-size:.85rem;color:#64748b;margin-bottom:4px}.mm-code pre{background:#0f172a;color:#e2e8f0;padding:12px 14px;border-radius:12px;overflow-x:auto;font-size:.86rem;line-height:1.5}.mm-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.94rem}.mm-table th,.mm-table td{border-bottom:1px solid #e2e8f0;padding:7px 8px;text-align:left;vertical-align:top}.mm-table th{background:#f8fafc;color:var(--c2, #0f172a)}.mm-widget{border:2px dashed color-mix(in srgb,var(--c1, #64748b) 45%,#fff);border-radius:16px;padding:14px 16px;margin:16px 0;background:#fcfdff}.mm-widget-title{font-weight:900;color:var(--c2, #0f172a);margin-bottom:8px}.mm-widget label{display:flex;align-items:center;gap:10px;font-weight:700;color:#334155;margin:6px 0;flex-wrap:wrap}.mm-widget input[type=range]{flex:1;min-width:160px}.mm-widget svg{width:100%;height:auto;display:block}.mm-readout{font-weight:800;color:var(--c2, #0f172a)}.mm-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.mm-chip{font:inherit;font-weight:800;padding:6px 12px;border-radius:999px;border:2px solid #cbd5e1;background:#fff;cursor:pointer}.mm-chip.on{background:var(--c2, #0f172a);border-color:var(--c2, #0f172a);color:#fff}@media (max-width: 860px){.mm-layout{grid-template-columns:1fr}.mm-toc{position:static;max-height:none}.mm-toc-toggle{display:block;width:100%;font:inherit;font-weight:800;padding:10px;border-radius:12px;border:2px solid #cbd5e1;background:#fff;margin-bottom:8px}.mm-toc.closed .mm-toc-list{display:none}.mm-lecture{padding:18px 16px}.mm-title{font-size:1.3rem}}.mm-muted{color:#64748b;font-size:.92rem}.mm-lecture a{color:var(--c2, #0f172a);font-weight:700}.ep-page{min-height:100vh;padding:0 16px 48px}.ep-main{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.ep-lead{font-size:1.08rem;font-weight:600;color:#2c3a58;line-height:1.55;margin:6px 0 0;text-align:center}.ep-total{text-align:center;font-weight:800;font-size:1.15rem;color:var(--c2, #1e499e);margin:0}.ep-card{background:#fff;border-radius:22px;padding:24px 26px;box-shadow:0 6px 24px #0f172a17;border-top:6px solid var(--c1, #64748b)}.ep-card p{line-height:1.55}.ep-h{margin:18px 0 8px;font-size:1.1rem;font-weight:900;color:var(--c2, #0f172a)}.ep-card>.ep-h:first-child{margin-top:0}.ep-muted{color:#5b6478;font-size:.95rem}.ep-error{color:#b42318;font-weight:700}.ep-progress{margin:0;font-weight:800;color:var(--c1, #64748b);font-size:.9rem}.ep-ask{margin:8px 0 4px;font-weight:700;color:#2c3a58}.ep-prompt{font-size:1.3rem;font-weight:800;color:#111827;margin:6px 0 14px}.ep-video{position:relative;aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;background:#0f172a}.ep-video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.ep-words{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.ep-word{border:2px solid #e2e8f0;border-radius:14px;padding:10px 12px}.ep-word-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:1.08rem}.ep-fi{color:#5b6478;font-weight:600;font-size:.92rem}.ep-meaning{margin-top:4px;color:#1f2937}.ep-example{margin-top:4px;color:#5b6478;font-style:italic;font-size:.92rem}.ep-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:14px}.ep-actions-left{justify-content:flex-start;margin-top:4px}.ep-btn{font:inherit;font-weight:800;font-size:1rem;padding:10px 18px;border-radius:14px;cursor:pointer;background:#fff;border:3px solid #cbd5e1;color:var(--c2, #0f172a)}.ep-btn:disabled{opacity:.5;cursor:default}.ep-btn-primary{background:var(--c2, #0f172a);border-color:var(--c2, #0f172a);color:#fff}.ep-btn-rec{background:#b42318;border-color:#b42318;color:#fff}.ep-btn-danger{color:#b42318;border-color:#f3c3bd}.ep-icon{font:inherit;background:none;border:0;cursor:pointer;padding:2px 4px;font-size:1.05rem}.ep-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.ep-option{font:inherit;font-weight:800;font-size:1.05rem;padding:14px;border-radius:14px;border:3px solid #cbd5e1;background:#f8fafc;cursor:pointer;color:#111827}.ep-option:hover{border-color:var(--c1, #64748b)}.ep-ok{background:#dcfce7;border-color:#16a34a}.ep-bad{background:#fee2e2;border-color:#dc2626}.ep-right{color:#15803d;font-weight:800}.ep-wrong{color:#b42318;font-weight:800}.ep-label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:#2c3a58;margin-top:12px}.ep-input{font:inherit;font-size:1.05rem;width:100%;box-sizing:border-box;padding:10px 12px;border:2px solid #cbd5e1;border-radius:12px;background:#fff;color:#111827;resize:vertical}.ep-input:focus{outline:none;border-color:var(--c1, #64748b)}.ep-diff{font-size:1.15rem;font-weight:700;margin:12px 0 4px}.ep-w-ok{color:#15803d}.ep-w-bad{color:#b42318;text-decoration:underline wavy}.ep-answer{background:#f1f5f9;border-radius:12px;padding:10px 14px;font-size:1.05rem}.ep-feedback{margin-top:14px;border-top:2px dashed #e2e8f0;padding-top:10px}.ep-score{font-size:1.6rem;font-weight:900;color:var(--c2, #0f172a);margin:0}.ep-better{background:#ecfeff;border-left:4px solid var(--accent, #22d3ee);border-radius:8px;padding:10px 14px}.ep-table{width:100%;border-collapse:collapse;font-size:1.05rem}.ep-table th,.ep-table td{text-align:left;padding:8px 6px;border-bottom:1px solid #e2e8f0}.ep-sum td{font-weight:900;color:var(--c2, #0f172a);border-bottom:0}.ep-draft{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.ep-draft li{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px}.ep-voice{font-weight:700;color:#2c3a58}.ep-voice select{font:inherit;padding:4px 8px;border-radius:10px;border:2px solid #cbd5e1}@media (max-width: 600px){.ep-card{padding:18px 16px}.ep-prompt{font-size:1.15rem}}.ep-past{border-top:1px solid #e2e8f0;padding-top:8px;margin-top:8px}.ep-title{font-size:1.45rem;margin-top:2px}.ep-text p{font-size:1.08rem;line-height:1.7;color:#1f2937}.ep-sources{margin:0;padding-left:20px;line-height:1.6}.ep-sources a{color:var(--c2, #0f172a)}.ep-gap{display:inline-block;min-width:80px;border-bottom:3px solid var(--c1, #64748b);color:var(--c2, #0f172a);text-align:center}.ep-dialogue{display:flex;flex-direction:column;gap:8px;margin:10px 0 4px}.ep-line{font:inherit;text-align:left;display:flex;flex-direction:column;gap:2px;max-width:82%;padding:10px 14px;border-radius:16px;border:2px solid transparent;cursor:pointer;line-height:1.45;font-size:1.05rem;color:#111827}.ep-line-A{align-self:flex-start;background:#fdf2f8;border-bottom-left-radius:4px}.ep-line-B{align-self:flex-end;background:#eff6ff;border-bottom-right-radius:4px}.ep-line-on{border-color:var(--c1, #64748b);box-shadow:0 0 0 3px color-mix(in srgb,var(--c1, #64748b) 25%,transparent)}.ep-who{font-size:.8rem;font-weight:800;color:var(--c2, #0f172a)}@media (max-width: 600px){.ep-line{max-width:94%}}.ai01-page{min-height:100vh;background:#f5f8fd;padding-bottom:60px}.ai01-voice-picker{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:#33415c}.ai01-voice-picker select{border:2px solid #c5d9f0;border-radius:9px;padding:6px 10px;font-size:.82rem;color:#0a1a3a;background:#fff;max-width:220px}.ai01-layout{display:flex;gap:26px;max-width:var(--sivu-leveys);margin:0 auto;padding:0 22px;align-items:flex-start}.ai01-toc{flex:0 0 288px;position:sticky;top:18px;background:#fff;border:1px solid #e3ecf8;border-radius:14px;padding:16px 14px;max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 4px 18px #14285a14}.ai01-toc-h{font-weight:800;color:#0446a4;margin:4px 6px 10px;font-size:.95rem}.ai01-toc-link{display:block;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:7px 9px;font-size:.82rem;color:#33415c;cursor:pointer;line-height:1.35}.ai01-toc-link:hover{background:#eef4ff;color:#0446a4}.ai01-content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:18px}.ai01-preface{background:#fff;border:1px solid #e3ecf8;border-radius:14px;padding:22px 26px;box-shadow:0 4px 18px #14285a14}.ai01-preface-h{margin:0 0 12px;color:#0446a4;font-size:1.3rem}.ai01-preface p{margin:0 0 10px;line-height:1.6;color:#2b3550}.ai01-preface-path{font-weight:700;color:#0557a8!important;background:#eef4ff;padding:10px 14px;border-radius:10px}.ai01-preface-figure{margin:16px 0 0}.ai01-preface-figure img{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 4px 14px #14285a2e}.ai01-preface-figure figcaption{margin-top:8px;font-size:.9rem;color:#56607a;line-height:1.5}.ai01-module{background:#fff;border:1px solid #e3ecf8;border-radius:14px;box-shadow:0 4px 18px #14285a14;overflow:hidden}.ai01-module-head{display:flex;align-items:center;gap:10px;width:100%;background:#f4f8ff;border-bottom:1px solid #e2ecff;padding:10px 14px 10px 22px}.ai01-module-head-btn{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;background:none;border:none;padding:5px 0;cursor:pointer;text-align:left}.ai01-module-head:hover{background:#eaf2ff}.ai01-slides-btn{flex-shrink:0;background:#0557a8;color:#fff;border:none;font-weight:700;font-size:.8rem;padding:8px 16px;border-radius:9px;cursor:pointer}.ai01-slides-btn:hover{background:#044488}.ai01-summary-btn{flex-shrink:0;background:#fff;color:#0557a8;border:2px solid #c5d9f0;font-weight:700;font-size:.8rem;padding:6px 14px;border-radius:9px;cursor:pointer}.ai01-summary-btn:hover{background:#eef4ff;border-color:#0557a8}.ai01-summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a142d8c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:200}.ai01-summary-card{background:#fff;border-radius:16px;max-width:640px;width:100%;max-height:82vh;overflow-y:auto;padding:22px 26px 26px;box-shadow:0 12px 48px #00000047}.ai01-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #e3ecf8;padding-bottom:12px;margin-bottom:12px}.ai01-summary-title{margin:0;color:#0446a4;font-size:1.15rem}.ai01-summary-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ai01-summary-read-btn{background:#0557a8;color:#fff;border:none;font-weight:700;font-size:.78rem;padding:7px 14px;border-radius:9px;cursor:pointer;white-space:nowrap}.ai01-summary-read-btn:hover{background:#044488}.ai01-summary-stop-btn{background:#f4f8ff;border:2px solid #c5d9f0;color:#33415c;font-size:.82rem;width:30px;height:30px;border-radius:50%;cursor:pointer}.ai01-summary-stop-btn:hover{background:#e3ecf8}.ai01-summary-close{flex-shrink:0;background:#f4f8ff;border:none;color:#33415c;font-size:.95rem;width:30px;height:30px;border-radius:50%;cursor:pointer}.ai01-summary-close:hover{background:#e3ecf8}.ai01-summary-intro{font-style:italic;color:#445;line-height:1.6;margin:0 0 16px}.ai01-summary-point{margin-bottom:14px}.ai01-summary-point-h{margin:0 0 5px;color:#1c2b4a;font-size:.95rem;font-weight:800}.ai01-summary-point-list{margin:0;padding-left:20px;line-height:1.6;color:#2b3550;font-size:.9rem}.ai01-module-icon{font-size:1.5rem;flex-shrink:0}.ai01-module-title{font-weight:800;color:#0446a4;font-size:1.08rem;flex:1 1 auto}.ai01-module-toggle{color:#0446a4;font-size:1rem}.ai01-stub-badge{flex-shrink:0;font-size:.72rem;font-weight:700;color:#a5730a;background:#fff3d6;border:1px solid #f0d9a3;border-radius:20px;padding:2px 10px}.ai01-stub-text{font-style:italic;color:#8393b3!important}.ai01-module-body{padding:18px 24px 22px}.ai01-module-intro{font-style:italic;color:#445;line-height:1.6;margin:0 0 16px;border-left:3px solid #0557a8;padding-left:12px}.ai01-section{margin-bottom:16px}.ai01-section-h{margin:0 0 7px;color:#1c2b4a;font-size:1rem;font-weight:800}.ai01-section-text{margin:0;line-height:1.6;color:#2b3550}.ai01-list,.ai01-ol{margin:4px 0 0;padding-left:22px;line-height:1.7;color:#2b3550}.ai01-table-wrap{overflow-x:auto}.ai01-table{border-collapse:collapse;min-width:320px;margin-top:4px}.ai01-table th,.ai01-table td{border:1px solid #d4e0f5;padding:8px 16px;text-align:left;font-size:.9rem}.ai01-table th{background:#0557a8;color:#fff;font-weight:700}.ai01-table tbody tr:nth-child(2n){background:#f4f8ff}.ai01-code-wrap{margin-top:6px}.ai01-code-caption{font-size:.78rem;font-weight:700;color:#5a6a8a;margin-bottom:4px}.ai01-code{background:#1e2333;color:#eaf1ff;font-family:Consolas,Menlo,monospace;font-size:.82rem;line-height:1.55;border-radius:9px;padding:14px 16px;overflow-x:auto;margin:0}.ai01-code code{background:none;border:none;padding:0;color:inherit}.ai01-exercises{margin-top:18px;background:#fff7ec;border:1px solid #ffe2bd;border-radius:10px;padding:14px 18px}.ai01-lecture{margin-top:14px;background:#f2fbf5;border:1px solid #cdeed9;border-radius:10px;padding:14px 18px}.ai01-lecture-h{margin:0 0 10px;color:#1c8a4c;font-size:.96rem;font-weight:800}.ai01-lecture-goal{margin:0 0 10px;line-height:1.6;color:#23402d}.ai01-lecture-steps{margin:0 0 12px;padding-left:22px;line-height:1.7;color:#2b3550}.ai01-lecture-steps li{margin-bottom:6px}.ai01-lecture-steps code,.ai01-lecture-goal code,.ai01-lecture-takeaway code{background:#e4f5ea;border-radius:4px;padding:1px 5px;font-family:Consolas,Menlo,monospace;font-size:.88em}.ai01-lecture-takeaway{margin:0;line-height:1.6;color:#23402d;border-top:1px dashed #cdeed9;padding-top:10px}@media (max-width: 860px){.ai01-layout{flex-direction:column}.ai01-toc{position:static;flex:1 1 auto;width:100%;max-height:none}}.ai01-summary-card .ai01-reading{background:#fff3c4;border-radius:6px;box-shadow:0 0 0 4px #fff3c4;transition:background .2s,box-shadow .2s}.ai01-summary-card li.ai01-reading::marker{color:#c48a12}.ai01-word{background:#ffd54a;color:inherit;border-radius:3px;padding:0 1px}.ai01-list-label{margin:10px 0 4px;font-size:.85rem;font-weight:700;color:#5a6a8a}.ai01-section-sub{margin-left:14px;padding-left:14px;border-left:3px solid #dbe6f5}.ai01-section-sub>.ai01-section-h{font-size:.95em}.ai01-toc-ex{margin-top:8px;font-weight:700;color:#7048e8}.ai01-toc-ex.on{background:#f3f0ff}.ai01-ex-page{background:#fff;border:1px solid #dbe6f5;border-radius:14px;padding:18px 20px}.ai01-ex-back{border:none;background:#edf2ff;color:#3b5bdb;font-weight:700;border-radius:10px;padding:6px 12px;cursor:pointer;font-family:inherit;margin-bottom:10px}.ai01-ex-item{border:1px solid #e3e9f3;border-left:4px solid #7048e8;border-radius:10px;padding:10px 14px;margin:12px 0}.ai01-ex-h{font-size:1rem;margin:0 0 6px;color:#1e2a5a}.ai01-ex-text{margin:0 0 8px;line-height:1.6;white-space:pre-wrap}.ai01-ex-btn{border:1.5px solid #d0bfff;background:#fff;color:#7048e8;border-radius:999px;padding:4px 12px;cursor:pointer;font-family:inherit;font-size:.85rem}.ai01-ex-answer{margin-top:8px;background:#f8f9fa;border-radius:8px;padding:8px 12px;white-space:pre-wrap;line-height:1.6}.ai01-ex-list{margin:0 0 10px;padding-left:22px;columns:2 220px;line-height:1.6;list-style:lower-alpha}.pycb{margin-top:14px;background:#f4f8ff;border:1px solid #e2ecff;border-radius:12px;padding:14px 16px 16px}.pycb-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.pycb-title{font-weight:800;color:#0446a4;font-size:.92rem}.pycb-pkgs{font-size:.7rem;font-weight:700;color:#1e499e;background:#e1ebff;border-radius:20px;padding:2px 10px}.pycb-editor{width:100%;min-height:130px;resize:vertical;background:#1e2333;color:#eaf1ff;font-family:Consolas,Menlo,monospace;font-size:.86rem;line-height:1.5;border:none;border-radius:9px;padding:12px 14px;-moz-tab-size:4;tab-size:4;box-sizing:border-box}.pycb-toolbar{display:flex;align-items:center;gap:10px;margin-top:8px}.pycb-run{background:#0557a8;color:#fff;border:none;font-weight:700;font-size:.84rem;padding:7px 16px;border-radius:8px;cursor:pointer}.pycb-run:hover:not(:disabled){background:#044488}.pycb-run:disabled{opacity:.6;cursor:not-allowed}.pycb-hint{font-size:.72rem;color:#6a7a9a}.pycb-output{margin-top:10px;background:#0f1420;color:#b8ffc2;font-family:Consolas,Menlo,monospace;font-size:.83rem;line-height:1.5;border-radius:9px;padding:12px 14px;max-height:240px;overflow:auto;white-space:pre-wrap;word-break:break-word}.pycb-note{margin:10px 0 0;font-size:.78rem;color:#5a6a8a;line-height:1.5}.cen-theory{--ce-ext: #d9480f;--ce-ext-bg: #fff4ec;--ce-ext-line: #f5b88f;--ce-int: #1971c2;--ce-int-bg: #eef6ff;--ce-int-line: #9cc7f0;--ce-ink: #2b3550;--ce-muted: #5a6a8a;--ce-card: #ffffff;--ce-line: #dbe6f5;color:var(--ce-ink);line-height:1.6;margin:6px 0 12px}.cen-lead{font-size:1.02rem;margin:0 0 14px}.cen-p{margin:0 0 12px}.cen-h{font-size:1rem;margin:22px 0 10px;color:#1e2a5a}.cen-small{font-size:.88rem;color:var(--ce-muted);margin:0 0 10px}.cen-hint{font-size:.78rem;color:var(--ce-muted);font-weight:400}.cen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.cen-key{border-radius:14px;padding:12px 14px;border:1px solid transparent}.cen-key span{font-size:1.6rem;display:block}.cen-key b{display:block;margin:4px 0 2px}.cen-key p{margin:0;font-size:.88rem}.cen-k1{background:#fff8e6;border-color:#f3d58a}.cen-k2{background:#f3f0ff;border-color:#c9bdf5}.cen-k3{background:#eafaf1;border-color:#a6e3c0}.cen-k4{background:#fff0f0;border-color:#f2b5b5}.cen-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:14px}.cen-box{border-radius:14px;padding:12px 14px;border:2px solid}.cen-box p{margin:6px 0 0;font-size:.9rem}.cen-box.cen-ext{background:var(--ce-ext-bg);border-color:var(--ce-ext-line)}.cen-box.cen-int{background:var(--ce-int-bg);border-color:var(--ce-int-line);border-style:dashed}.cen-eg{color:var(--ce-muted);font-size:.82rem!important}.cen-ext-t{color:var(--ce-ext)}.cen-int-t{color:var(--ce-int)}.cen-card{background:var(--ce-card);border:1px solid var(--ce-line);border-radius:16px;padding:14px 16px;margin:14px 0;box-shadow:0 2px 10px #1e3c780f}.cen-card-title{font-weight:800;margin-bottom:8px;color:#1e2a5a}.cen-map{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.cen-map-svg{flex:1 1 260px;max-width:340px;width:100%}.cen-hex-outer{fill:#fff8f3;stroke:var(--ce-ext);stroke-width:2.5}.cen-hex-inner{fill:#f4f9ff;stroke:var(--ce-int);stroke-width:2;stroke-dasharray:7 5}.cen-core{fill:#e9fbf1;stroke:#2f9e44;stroke-width:2}.cen-core-t{text-anchor:middle;font-size:12px;font-weight:700;fill:#2b8a3e}.cen-ring-t{text-anchor:middle;font-size:10px;font-style:italic;fill:var(--ce-muted)}.cen-lbl{cursor:pointer}.cen-lbl text{text-anchor:middle;font-size:14px}.cen-lbl circle{stroke-width:2;transition:transform .15s}.cen-lbl-ext circle{fill:#fff;stroke:var(--ce-ext-line)}.cen-lbl-int circle{fill:#fff;stroke:var(--ce-int-line)}.cen-lbl.on circle,.cen-lbl:hover circle{stroke-width:3.5}.cen-lbl-ext.on circle{fill:var(--ce-ext-bg);stroke:var(--ce-ext)}.cen-lbl-int.on circle{fill:var(--ce-int-bg);stroke:var(--ce-int)}.cen-map-info{flex:1 1 220px;border-radius:14px;padding:12px 14px}.cen-map-info.cen-ext{background:var(--ce-ext-bg)}.cen-map-info.cen-int{background:var(--ce-int-bg)}.cen-map-info p{margin:6px 0 10px;font-size:.92rem}.cen-tag{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.cen-map-info.cen-ext .cen-tag{color:var(--ce-ext)}.cen-map-info.cen-int .cen-tag{color:var(--ce-int)}.cen-map-name{font-size:1.1rem;font-weight:800}.cen-legend{display:flex;flex-direction:column;gap:2px;font-size:.78rem;color:var(--ce-muted)}.cen-sw{display:inline-block;width:22px;height:0;vertical-align:middle;margin-right:4px;border-top:2.5px solid}.cen-sw-ext{border-color:var(--ce-ext)}.cen-sw-int{border-color:var(--ce-int);border-top-style:dashed}.cen-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}.cen-chips-h{font-size:.75rem;font-weight:800;text-transform:uppercase;min-width:64px}.cen-chip{border:1.5px solid;border-radius:999px;padding:4px 10px;font-size:.82rem;background:#fff;cursor:pointer;font-family:inherit;color:var(--ce-ink)}.cen-chip-ext{border-color:var(--ce-ext-line)}.cen-chip-int{border-color:var(--ce-int-line);border-style:dashed}.cen-chip-ext.on{background:var(--ce-ext);border-color:var(--ce-ext);color:#fff}.cen-chip-int.on{background:var(--ce-int);border-color:var(--ce-int);color:#fff;border-style:solid}.cen-slider{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:.86rem;margin:8px 0}.cen-slider input{flex:1 1 140px;max-width:220px;accent-color:var(--ce-int)}.cen-pool{display:grid;grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:4px;padding:10px;background:#f6f9fd;border-radius:12px;margin:8px 0}.cen-flask{display:flex;align-items:center;justify-content:center;height:30px;border-radius:8px;background:#e9fbf1;font-size:1rem;transition:all .25s}.cen-flask.out{opacity:.35;filter:grayscale(.6);transform:scale(.85)}.cen-out-ext{background:var(--ce-ext-bg)}.cen-out-int{background:var(--ce-int-bg)}.cen-flask.best{background:#fff3bf;box-shadow:0 0 0 2px #f59f00;transform:scale(1.08)}.cen-stats{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:.88rem}.cen-stat b{font-size:1.1rem}.cen-msg{margin:8px 0 0;font-size:.9rem;background:#f3f7ff;border-left:4px solid #4c6ef5;padding:8px 10px;border-radius:0 10px 10px 0}.cen-btn{border:none;background:#3b5bdb;color:#fff;font-weight:700;border-radius:10px;padding:7px 14px;cursor:pointer;font-family:inherit;font-size:.86rem}.cen-btn:disabled{opacity:.45;cursor:default}.cen-btn-ghost{background:#edf2ff;color:#3b5bdb}.cen-row{display:flex;gap:8px;margin-top:8px}.cen-loop{display:flex;flex-wrap:wrap;gap:16px}.cen-steps{flex:1 1 230px;display:flex;flex-direction:column;align-items:stretch}.cen-step-wrap{display:flex;flex-direction:column;align-items:center}.cen-step{width:100%;display:flex;gap:10px;align-items:center;border:2px solid #ced4da;border-radius:12px;padding:7px 12px;background:#fff;transition:all .25s}.cen-step small{display:block;font-size:.75rem;color:var(--ce-muted)}.cen-step-i{font-size:1.3rem}.cen-step.done{border-color:#8ce99a;background:#f4fdf6}.cen-step.on{border-color:#3b5bdb;background:#edf2ff;box-shadow:0 0 0 4px #3b5bdb26;transform:scale(1.02)}.cen-step.final{border-style:double;border-width:4px}.cen-step.final.on{border-color:#2f9e44;background:#ebfbee;box-shadow:0 0 0 4px #2f9e4426}.cen-arrow{color:#adb5bd;line-height:1.2}.cen-log{flex:1 1 230px;background:#fbfcfe;border:1px dashed var(--ce-line);border-radius:12px;padding:10px 12px}.cen-log-h{font-weight:800;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cen-pill{font-size:.72rem;background:#fff0f6;color:#c2255c;border-radius:999px;padding:2px 8px}.cen-log ol{margin:8px 0 0;padding-left:20px;font-size:.86rem;max-height:210px;overflow-y:auto}.cen-callout{display:flex;gap:12px;align-items:flex-start;background:#fff9db;border:1px solid #ffe066;border-radius:14px;padding:10px 14px;margin:14px 0}.cen-callout span{font-size:1.6rem}.cen-callout p{margin:0;font-size:.92rem}.cen-takeaway{background:#ebfbee;border:1px solid #b2f2bb;border-radius:14px;padding:10px 14px;margin-top:14px}.cen-takeaway ul{margin:6px 0 0;padding-left:20px;font-size:.92rem}.cen-quote{background:#f8f0fc;border-left:5px solid #ae3ec9;border-radius:0 12px 12px 0;padding:10px 14px;font-style:italic;margin:6px 0 10px}.cen-quote span{display:block;font-style:normal;font-size:.8rem;color:var(--ce-muted);margin-top:4px}.cen-quote.big{font-size:1.08rem}.cen-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin:4px 0 12px}.cen-flow-b{flex:1 1 150px;border-radius:14px;padding:10px 12px;font-size:1.4rem;text-align:center}.cen-flow-b b{display:block;font-size:.92rem}.cen-flow-b small{display:block;font-size:.76rem;color:var(--ce-muted)}.cen-flow-b.c1{background:#fff4e6}.cen-flow-b.c2{background:#e7f5ff}.cen-flow-b.c3{background:#ebfbee}.cen-flow-a{align-self:center;color:#adb5bd;font-size:1.3rem}.cen-clar{display:flex;flex-wrap:wrap;gap:12px}.cen-qs{flex:1 1 220px;display:flex;flex-direction:column;gap:6px}.cen-q{text-align:left;border:1.5px solid #c5d9f0;background:#fff;border-radius:10px;padding:7px 10px;cursor:pointer;font-family:inherit;font-size:.86rem;color:var(--ce-ink)}.cen-q:hover:not(:disabled){border-color:#3b5bdb;background:#f3f6ff}.cen-q.on{opacity:.45;cursor:default;text-decoration:line-through}.cen-sheet{flex:1 1 260px;background:#fffef5;border:1px solid #f1e3a0;border-radius:12px;padding:10px 12px}.cen-sheet-h{font-weight:800;margin-bottom:6px}.cen-sheet-row{display:flex;gap:8px;font-size:.84rem;padding:3px 0;border-bottom:1px dotted #eadfa8}.cen-sheet-row span{flex:0 0 105px;color:var(--ce-muted)}.cen-sheet-row b{color:#c92a2a}.cen-sheet-row.filled b{color:#2b8a3e;font-weight:600}.cen-meter{height:10px;background:#f1f3f5;border-radius:99px;overflow:hidden;margin:10px 0 4px}.cen-meter div{height:100%;background:linear-gradient(90deg,#fa5252,#fab005,#40c057);transition:width .3s}.cen-meter-t{font-size:.84rem;margin-bottom:6px}.cen-need-t{color:#c2255c}.cen-want-t{color:#7048e8}.cen-box.cen-need{background:#fff0f6;border-color:#fcc2d7}.cen-box.cen-want{background:#f3f0ff;border-color:#d0bfff;border-style:dashed}.cen-nw{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.cen-nw-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;border:1px solid var(--ce-line);border-radius:10px;padding:7px 10px}.cen-nw-row.ok{border-color:#8ce99a;background:#f4fdf6}.cen-nw-row.bad{border-color:#ffa8a8;background:#fff5f5}.cen-nw-t{flex:1 1 220px;font-size:.9rem}.cen-nw-b{display:flex;gap:6px}.cen-nw-btn{border:1.5px solid;border-radius:999px;padding:3px 10px;background:#fff;cursor:pointer;font-family:inherit;font-size:.8rem}.cen-nw-btn.need{border-color:#fcc2d7;color:#c2255c}.cen-nw-btn.need.on{background:#c2255c;color:#fff}.cen-nw-btn.want{border-color:#d0bfff;color:#7048e8}.cen-nw-btn.want.on{background:#7048e8;color:#fff}.cen-nw-why{flex:1 1 100%;font-size:.82rem;color:var(--ce-muted)}.cen-pc{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.cen-pc-svg{flex:1 1 260px;max-width:360px;width:100%}.cen-pc-side{flex:1 1 200px}.cen-pc-nosale{fill:#fff5f5}.cen-pc-lbl{font-size:9px;fill:#c92a2a;text-anchor:middle}.cen-pc-lbl.end{text-anchor:end;fill:#2b8a3e}.cen-pc-price{stroke:#40c057;stroke-width:1.5;stroke-dasharray:5 4}.cen-pc-curve{fill:none;stroke:#3b5bdb;stroke-width:2.5}.cen-pc-axis{stroke:#868e96;stroke-width:1}.cen-pc-tick{font-size:9px;fill:var(--ce-muted);text-anchor:middle}.cen-pc-tick.end{text-anchor:end}.cen-pc-dot{fill:#3b5bdb;stroke:#fff;stroke-width:2;transition:cx .15s,cy .15s}.cen-pc-dot.bad{fill:#fa5252}.cen-pc-num{font-size:.95rem;margin:4px 0}.cen-pc-num.good{color:#2b8a3e}.cen-pc-num.warn{color:#e8590c}.cen-pc-num.bad{color:#c92a2a}.cen-handoff{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 10px}.cen-ho-b{border-radius:12px;padding:8px 12px;text-align:center;font-size:1.3rem}.cen-ho-b b{display:block;font-size:.86rem}.cen-ho-b small{display:block;font-size:.74rem;color:var(--ce-muted)}.cen-ho-b.me{background:#e7f5ff;border:2px solid #74c0fc}.cen-ho-b.other{background:var(--ce-ext-bg);border:2px solid var(--ce-ext-line)}.cen-ho-spec{background:#fffef5;border:1px solid #f1e3a0;border-radius:10px;padding:6px 12px;font-weight:700;font-size:.88rem;position:relative}.cen-ho-spec small{display:block;font-weight:400;font-size:.74rem;color:var(--ce-muted)}.cen-ho-spec:before,.cen-ho-spec:after{content:"→";position:absolute;top:50%;transform:translateY(-50%);color:#adb5bd}.cen-ho-spec:before{left:-14px}.cen-ho-spec:after{right:-14px}.cen-ho-col{display:flex;flex-direction:column;gap:6px}.spp-anim{margin:10px 0;color:#2b3550}.spp-anim-h{font-weight:800;margin-bottom:8px;color:#1e2a5a}.spp-svg-wrap{position:relative;overflow-x:auto;background:#f8fbff;border:1px solid #dbe6f5;border-radius:14px;padding:6px}.spp-svg{width:100%;min-width:560px;display:block}.spp-pipe{fill:none;stroke:#d0d7e2;stroke-width:3;stroke-linejoin:round;transition:stroke .3s}.spp-stream.on .spp-pipe{stroke:#8fa3c0}.spp-stream.cur .spp-pipe{stroke:#3b5bdb;stroke-width:3.5}.spp-stream-t{font-size:10px;font-weight:700;fill:#3b4a6b}.spp-dot{stroke:#fff;stroke-width:.8}.spp-unit rect{fill:#fff;stroke:#adb5bd;stroke-width:2;transition:all .3s}.spp-unit.done rect{stroke:#8ce99a;fill:#f4fdf6}.spp-unit.on rect{stroke:#3b5bdb;stroke-width:3;fill:#edf2ff}.spp-reactor rect{fill:#fff4e6}.spp-reactor.on rect{fill:#ffe8cc;stroke:#e8590c}.spp-tray{stroke:#ced4da;stroke-width:1.2}.spp-unit rect.spp-packing,.spp-unit.on rect.spp-packing,.spp-unit.done rect.spp-packing{fill:#e9ecef;stroke:none}.spp-unit-t{text-anchor:middle;font-size:11px;font-weight:800;fill:#1e2a5a}.spp-unit-s{text-anchor:middle;font-size:8.5px;fill:#5a6a8a}.spp-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.8rem;margin:8px 2px}.spp-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:-1px}.spp-step{background:#fff;border:1px solid #dbe6f5;border-left:5px solid #3b5bdb;border-radius:12px;padding:10px 14px}.spp-step-h{font-weight:800}.spp-step-n{display:inline-block;background:#3b5bdb;color:#fff;border-radius:999px;font-size:.75rem;padding:1px 8px;margin-right:6px}.spp-step p{margin:6px 0;line-height:1.6}.spp-eqs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.spp-eqs code{background:#fff4e6;border:1px solid #ffd8a8;border-radius:8px;padding:3px 8px;font-size:.88rem}.spp-ctrl{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.spp-btn{border:none;background:#3b5bdb;color:#fff;font-weight:700;border-radius:10px;padding:6px 12px;cursor:pointer;font-family:inherit;font-size:.85rem}.spp-btn.ghost{background:#edf2ff;color:#3b5bdb}.spp-btn:disabled{opacity:.45;cursor:default}.spp-bp{margin-top:12px;background:#fff;border:1px solid #dbe6f5;border-radius:12px;padding:10px 14px}.spp-bp-h{font-weight:800;font-size:.92rem}.spp-bp-scale{position:relative;height:92px;margin:8px 24px 0;border-bottom:3px solid;border-image:linear-gradient(90deg,#4dabf7,#ff922b) 1}.spp-bp-item{position:absolute;bottom:-7px;transform:translate(-50%);display:flex;flex-direction:column-reverse;align-items:center;font-size:.74rem;white-space:nowrap}.spp-bp-dot{width:11px;height:11px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #adb5bd}.spp-bp-item.alt .spp-bp-dot{margin-top:34px}.spp-bp-name{font-weight:700}.spp-bp-t{color:#5a6a8a}.spp-small{font-size:.85rem;color:#5a6a8a;margin:10px 0 0;line-height:1.55}.spp-solution h4{margin:12px 0 4px;font-size:.95rem;color:#1e2a5a}.spp-solution p{margin:4px 0 8px;line-height:1.6}.spp-kgf{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:.9rem}.spp-kgf b{color:#7048e8}.spp-zoom{position:absolute;top:6px;right:6px;z-index:2;border:none;background:#edf2ff;color:#3b5bdb;border-radius:8px;width:32px;height:32px;font-size:1.05rem;cursor:pointer}.spp-svg-wrap.big{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;border-radius:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#f8fbff}.spp-svg-wrap.big .spp-svg{max-height:100%}.spp-svg-wrap.big .spp-zoom{position:fixed;top:14px;right:14px}.spp-legend-note{color:#5a6a8a}.spp-legend i.spp-trace{width:6px;height:6px;background:#868e96;vertical-align:1px}.spp-bal{margin-top:10px;background:#fff;border:1px solid #dbe6f5;border-radius:12px;padding:10px 14px}.spp-bal-h{font-weight:800;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.spp-bal-ok{font-size:.78rem;font-weight:700;color:#2b8a3e;background:#ebfbee;border-radius:999px;padding:2px 10px}.spp-bal-ok.bad{color:#c92a2a;background:#fff5f5}.spp-bal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:8px}.spp-bal-col{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#5a6a8a;margin-bottom:4px}.spp-bal-row{margin-bottom:6px}.spp-bal-row small{display:block;color:#5a6a8a;font-size:.76rem}.spp-chip{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;background:#f1f3f5;border-radius:999px;padding:1px 8px;margin:2px 4px 2px 0}.spp-chip i{width:8px;height:8px;border-radius:50%;display:inline-block}.spp-chip.trace{opacity:.75;font-style:italic}.spp-bal-x{display:flex;flex-direction:column;gap:4px;font-size:.84rem;margin-top:4px}.spp-unit{cursor:pointer}.spp-unit:hover rect:not(.spp-packing){stroke:#f59f00;stroke-width:3}.spp-unit:focus{outline:none}.spp-unit:focus-visible rect:not(.spp-packing){stroke:#f59f00;stroke-width:3.5}.spp-tap{margin:6px 2px 0;font-size:.84rem;color:#5a6a8a}.spp-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#141e3c73;display:flex;align-items:center;justify-content:center;padding:16px}.spp-modal-box{background:#fff;border-radius:16px;width:min(720px,100%);max-height:92vh;overflow-y:auto;padding:14px 18px 18px;box-shadow:0 20px 60px #00000040;color:#2b3550}.spp-modal-h{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:1.05rem;color:#1e2a5a;margin-bottom:8px}.spp-modal-x{border:none;background:#f1f3f5;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:1rem}.spp-inside-cv{background:#f8fbff;border:1px solid #dbe6f5;border-radius:12px;padding:6px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.spp-inside-cv canvas{display:block}.spp-inside-text{margin:10px 0 0;padding-left:20px;line-height:1.6;font-size:.92rem}.spp-inside-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;width:100%}.spp-inside-bar .spp-legend{margin:2px}.spp-why{background:#f8f9ff;border-left:4px solid #4c6ef5;border-radius:0 10px 10px 0;padding:6px 12px;margin:8px 0 4px}.spp-why p{margin:4px 0;font-size:.9rem;line-height:1.55}.spp-none{color:#868e96;font-size:.84rem}.spp-pick-hint{margin:0 0 6px;font-size:.85rem;color:#5a6a8a}.spp-pick-list{list-style:none;margin:0 0 10px;padding:0;columns:2 240px;column-gap:16px}.spp-pick-list li{break-inside:avoid;margin:0 0 4px}.spp-pick-btn{width:100%;text-align:left;border:1px solid transparent;background:none;border-radius:8px;padding:4px 8px;cursor:pointer;font-family:inherit;font-size:.95rem;color:#2b3550}.spp-pick-btn:hover{background:#f3f0ff;border-color:#d0bfff}.spp-pick-btn.on{background:#7048e8;color:#fff;border-color:#7048e8}.spp-pick-btn.on .spp-pick-p{color:#e5dbff}.spp-pick-l{font-weight:700}.spp-pick-p{color:#5a6a8a;font-size:.86rem}.spp-sol-h{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:1.02rem;color:#1e2a5a;margin-bottom:8px}.spp-solution{border-top:2px solid #e5dbff;padding-top:10px;margin-top:6px}.spp-src{font-size:.82rem;color:#5a6a8a;background:#f8f9fa;border-radius:8px;padding:6px 10px}.spp-boxu rect:not(.spp-packing){fill:#f8fbff}.spp-unit-v{font-size:8.5px;font-weight:600;fill:#3b4a6b}.spp-svg-wrap .spp-svg{margin:0 auto}.spp-meters{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 16px;margin:8px 0 4px}.spp-meter{display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:.84rem;align-items:center}.spp-meter span{grid-column:1 / -1;color:#5a6a8a}.spp-bar{height:10px;background:#e9ecef;border-radius:99px;overflow:hidden}.spp-bar i{display:block;height:100%;transition:width .2s}.spp-red{color:#c92a2a}.spp-pc{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.spp-pc-side{flex:1 1 220px}.spp-gsvg{flex:1 1 280px;max-width:420px;width:100%}.spp-g-axis{stroke:#868e96;stroke-width:1}.spp-g-curve{fill:none;stroke:#2f9e44;stroke-width:2.5}.spp-g-drop{stroke:#e8590c;stroke-width:2;stroke-dasharray:4 3}.spp-g-dot{fill:#e8590c;stroke:#fff;stroke-width:2}.spp-g-t{font-size:10px;fill:#5a6a8a;text-anchor:middle}.spp-g-t.end{text-anchor:end}.spp-g-t.start{text-anchor:start}.spp-slider{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.88rem;margin:4px 0}.spp-slider input{flex:1 1 140px;accent-color:#3b5bdb}.spp-gnum{font-size:.92rem;margin:6px 0}.spp-tag{font-size:.72rem;font-weight:700;border-radius:999px;padding:1px 8px;margin-left:4px;white-space:nowrap}.spp-tag.neg{background:#ebfbee;color:#2b8a3e}.spp-tag.pos{background:#fff4e6;color:#d9480f}.spp-cmp{width:100%;border-collapse:collapse;margin:10px 0 6px;font-size:.88rem}.spp-cmp th,.spp-cmp td{border:1px solid #dbe6f5;padding:6px 10px;text-align:left;vertical-align:top}.spp-cmp th{background:#edf2ff;color:#1e2a5a}.spp-cmp td:first-child{font-weight:600;color:#3b4a6b;background:#f8f9fa}.spp-theory{background:#fbfcff;border:1px solid #dbe6f5;border-radius:14px;padding:12px 16px;margin:8px 0 12px;color:#2b3550;line-height:1.6}.spp-th-h{font-weight:800;font-size:1.05rem;color:#1e2a5a;margin-bottom:6px}.spp-th-core{background:#fff4e6;border:1px solid #ffd8a8;border-radius:12px;padding:10px 14px}.spp-th-core p{margin:4px 0}.spp-eq{text-align:center;font-size:1.25rem;font-weight:700;color:#1e2a5a;background:#fff;border-radius:10px;padding:8px;margin-top:6px;font-family:"Cambria Math",Georgia,serif}.spp-th-sub{font-size:.98rem;margin:16px 0 8px;color:#1e2a5a}.spp-th-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.spp-th-grid.two{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.spp-th-card{border-radius:12px;padding:10px 12px;border:1px solid;font-size:.9rem}.spp-th-card b{display:block;font-size:1rem}.spp-th-card i{display:block;color:#5a6a8a;font-size:.82rem;margin-bottom:4px}.spp-th-card p{margin:3px 0}.spp-th-card.c1{background:#edf2ff;border-color:#bac8ff}.spp-th-card.c2{background:#fff5f5;border-color:#ffc9c9}.spp-th-card.c3{background:#ebfbee;border-color:#b2f2bb}.spp-th-quote{background:#f3f0ff;border-left:4px solid #7048e8;border-radius:0 10px 10px 0;padding:8px 12px;margin:0 0 6px;font-weight:600}.spp-th-list{margin:0;padding-left:20px}.spp-th-chips{display:flex;flex-wrap:wrap;gap:6px}.spp-th-chips span{background:#e7f5ff;color:#1971c2;border-radius:999px;padding:3px 12px;font-size:.86rem;font-weight:600}.spp-bal2{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.spp-beam{flex:1 1 240px;max-width:340px;width:100%}.spp-beam g{transition:transform .3s}.spp-verdict{margin-top:8px;font-weight:700;border-radius:10px;padding:6px 10px;font-size:.9rem}.spp-verdict.yes{background:#ebfbee;color:#2b8a3e}.spp-verdict.no{background:#fff5f5;color:#c92a2a}.spp-split{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 10px;font-size:.86rem}.spp-split-feed,.spp-split-prods>div{background:#edf2ff;border:1px solid #bac8ff;border-radius:10px;padding:6px 10px;text-align:center}.spp-split-box{background:#fff4e6;border:2px dashed #ffa94d;border-radius:12px;padding:10px 14px;text-align:center;font-weight:700;color:#d9480f}.spp-split-box small{font-weight:400;color:#5a6a8a}.spp-split-prods{display:flex;flex-direction:column;gap:6px}.spp-split-feed:after{content:" →"}.spp-eq.big{font-size:1.02rem;line-height:2;margin:8px 0}.spp-bar-mid{position:relative}.spp-bar-mid:after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;background:#495057}.mz-block{border:1px solid #e6dcc6;border-radius:14px;margin:6px 0 10px;background:#fff}.mz-block>.mz-ar{border-radius:13px 13px 0 0}.mz-block>.mz-tr{border-radius:0 0 13px 13px}.mz-ar{background:linear-gradient(180deg,#fffaf0,#fdf3df);padding:14px 18px 8px;text-align:center;border-bottom:1px solid #efe3c8}.mz-ar p{margin:0 0 6px;font-family:Amiri,Traditional Arabic,Scheherazade New,serif;font-size:1.55rem;line-height:1.9;color:#3b2f1e}.mz-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;background:#fcf8ef;border-bottom:1px solid #efe3c8}.mz-play{border:none;background:#8a6d3b;color:#fff;font-weight:700;border-radius:999px;padding:6px 14px;cursor:pointer;font-family:inherit;font-size:.85rem}.mz-play.on{background:#c2410c}.mz-play:disabled{opacity:.5;cursor:default}.mz-novoice{font-size:.8rem;color:#8a6d3b}.mz-tr{padding:10px 16px 12px}.mz-tr-h{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#8a6d3b;margin-bottom:4px}.mz-tr p{margin:0;line-height:1.65;color:#2b3550}.mz-tr .mz-note{margin-top:6px;font-size:.85rem;color:#6b5d4a;font-style:italic}.mz-voice{font:inherit;font-size:.85rem;padding:5px 8px;border:1px solid #e0cfa8;border-radius:8px;background:#fff;color:#5a4520}.mz-w{position:relative;cursor:help;border-radius:4px;padding:0 1px;transition:background .12s;outline:none}.mz-w:hover,.mz-w:focus{background:#8a6d3b29}.mz-tip{display:none;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:30;width:max-content;max-width:240px;padding:6px 10px;border-radius:8px;background:#3b2f1e;color:#fffaf0;box-shadow:0 6px 18px #00000038;direction:ltr;text-align:center;white-space:normal;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:.82rem;line-height:1.35;font-weight:500;pointer-events:none}.mz-tip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#3b2f1e}.mz-w:hover .mz-tip,.mz-w:focus .mz-tip{display:block}.mz-hint{margin:2px 0 0;font-size:.75rem;color:#8a6d3b}.mz-terms{width:100%;border-collapse:collapse;margin:6px 0 10px;background:#fff;border:1px solid #e6dcc6;border-radius:12px;overflow:hidden}.mz-terms td{padding:8px 12px;border-top:1px solid #f0e6d0;vertical-align:top;line-height:1.5;color:#2b3550;font-size:.95rem}.mz-terms tr:first-child td{border-top:0}.mz-terms-ar{width:1%;white-space:nowrap;background:#fdf6e6;font-family:Amiri,Traditional Arabic,serif;font-size:1.35rem;color:#3b2f1e;text-align:right}.mz-terms i{color:#8a6d3b}.mz-explain{background:#fff;border-left:4px solid #c9a55a;border-radius:10px;padding:10px 14px;margin:6px 0 10px}.mz-explain p{margin:0;line-height:1.7;color:#2b3550}.mz-list{margin:4px 0 10px;padding-left:22px}.mz-list li{line-height:1.6;margin:4px 0;color:#2b3550}@media (max-width: 600px){.mz-terms-ar{white-space:normal;font-size:1.2rem}}.mz-kerronta{border:1px solid #e6dcc6;border-radius:14px;background:#fff;overflow:hidden;margin:6px 0 12px}.mz-kerronta-bar{position:sticky;top:0;z-index:2}.mz-kpar{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-top:1px solid #f3ead6;transition:background .2s}.mz-kpar.on{background:#fdf3df;box-shadow:inset 4px 0 #c9a55a}.mz-kpar h4{margin:2px 0 4px;font-size:1rem;color:#5a4520}.mz-kpar p{margin:0;line-height:1.7;color:#2b3550}.mz-kplay{flex:none;width:34px;height:34px;border-radius:50%;border:none;background:#8a6d3b;color:#fff;cursor:pointer;font-size:.9rem}.mz-kpar.on .mz-kplay{background:#c2410c}.pk,.kk{position:relative;margin:8px 0 14px;padding:18px 16px 14px;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#fdf3d8,#e6f0f7 38%,#d9ead9);border:1px solid #e6dcc6;font-family:inherit}.pk-sky{position:absolute;inset:auto 0 0 0;height:46%;pointer-events:none}.pk-hills{width:100%;height:100%;display:block}.pk-sun{display:block;width:46px;height:46px;border-radius:50%;margin:0 auto 4px;background:radial-gradient(circle,#fff7d1,#fcd34d 55%,#fcd34d00 72%);box-shadow:0 0 40px 18px #fcd34d73}.pk-goal,.kk-top{position:relative;text-align:center;margin-bottom:10px;color:#7a5a14}.pk-goal b,.kk-top b{display:block;font-family:Amiri,Traditional Arabic,serif;font-size:1.8rem;line-height:1.2;color:#8a5a00}.pk-goal span:last-child,.kk-top span:last-child{font-size:.82rem;font-weight:700}.pk-steps{position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column-reverse;gap:22px}.pk-steps:before{content:"";position:absolute;left:50%;top:10px;bottom:10px;width:14px;margin-left:-7px;border-radius:7px;background:repeating-linear-gradient(180deg,#d6c4a0 0,#d6c4a0 18px,#bfa77a 18px,#bfa77a 22px);opacity:.85}.pk-step{position:relative;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;width:calc(50% - 14px);background:color-mix(in srgb,var(--v) 12%,#ffffff);border:2px solid color-mix(in srgb,var(--v) 45%,#ffffff);border-radius:14px;padding:10px 12px;box-shadow:0 6px 16px #3c280a1f}.pk-l{align-self:flex-start}.pk-r{align-self:flex-end}.pk-num{width:30px;height:30px;border-radius:50%;background:var(--v);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 2px 6px #0003}.pk-word{display:flex;flex-direction:column;align-items:center;min-width:76px;padding:6px 8px;border-radius:10px;background:var(--v);color:#fff}.pk-word b{font-family:Amiri,Traditional Arabic,serif;font-size:1.45rem;line-height:1.25;font-weight:700}.pk-word small{font-size:.68rem;font-weight:800;letter-spacing:.4px;opacity:.95}.pk-text{font-size:.86rem;line-height:1.45;color:#2b3550}.pk-text b{display:block;color:color-mix(in srgb,var(--v) 80%,#000000);font-size:.95rem;margin-bottom:2px}.pk-start{position:relative;margin-top:14px;text-align:center;font-weight:800;font-size:.85rem;color:#5a4520}.pk-quote{position:relative;margin:10px auto 0;max-width:560px;text-align:center;font-style:italic;color:#3b4a3a;font-size:.9rem;line-height:1.5;background:#ffffffb8;border-radius:10px;padding:8px 12px}.pk-quote span{display:block;font-style:normal;font-family:Amiri,Traditional Arabic,serif;font-size:1.25rem;color:#3b2f1e}.kk-osat{position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.kk-osa{background:#ffffffdb;border-left:6px solid var(--v);border-radius:12px;padding:8px 10px 10px;box-shadow:0 4px 12px #3c280a1a}.kk-osa-h{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin-bottom:8px;color:#2b3550;font-size:.9rem;font-weight:700}.kk-osa-h b{font-family:Amiri,Traditional Arabic,serif;font-size:1.35rem;color:var(--v)}.kk-nro{width:26px;height:26px;border-radius:50%;background:var(--v);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:.8rem}.kk-vali{margin-left:auto;font-size:.75rem;font-weight:600;color:#6b7280}.kk-asemat{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.kk-asema{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1px;padding:6px 4px 5px;border-radius:9px;background:color-mix(in srgb,var(--v) 9%,#ffffff);border:1px solid color-mix(in srgb,var(--v) 30%,#ffffff)}.kk-asema small{position:absolute;top:3px;left:5px;font-size:.62rem;font-weight:800;color:color-mix(in srgb,var(--v) 70%,#000000)}.kk-asema b{font-family:Amiri,Traditional Arabic,serif;font-size:1.12rem;line-height:1.3;color:#3b2f1e}.kk-asema i{font-size:.66rem;color:#8a6d3b}.kk-asema span{font-size:.7rem;line-height:1.25;color:#2b3550}.kk-asema em{margin-top:2px;font-style:normal;font-size:.64rem;font-weight:800;color:#fff;background:var(--v);border-radius:999px;padding:1px 6px}.kk-on{border:2px solid var(--v);box-shadow:0 0 0 3px color-mix(in srgb,var(--v) 22%,transparent)}.mz-kuva{display:block;width:100%;max-width:520px;height:auto;margin:6px auto 4px;border-radius:14px;box-shadow:0 6px 18px #00000026}.mz-kuva-cap{text-align:center;font-size:.82rem;color:#6b5d4a;margin:0 0 12px}@media (max-width: 640px){.pk-steps:before{left:22px}.pk-step{width:auto;align-self:stretch;margin-left:40px;grid-template-columns:auto 1fr}.pk-num{position:absolute;left:-38px;top:50%;margin-top:-15px}.kk-asemat{grid-template-columns:repeat(2,minmax(0,1fr))}.kk-vali{margin-left:0;width:100%}}.q-page{min-height:100vh;background:#f5f8fd;padding-bottom:48px;color:#0a1a3a}.q-main{max-width:var(--sivu-leveys);margin:0 auto;padding:24px 16px;display:flex;flex-direction:column;gap:16px}.q-card{background:#fff;border:1px solid #e3ecf8;border-radius:16px;padding:18px 20px;box-shadow:0 4px 18px #1e499e0f}.q-h2{font-size:1.15rem;font-weight:900;margin:0 0 8px}.q-h3{font-size:1rem;font-weight:800;margin:22px 0 8px}.q-label{font-weight:700;margin:14px 0 6px;display:block}.q-muted{color:#5a6a88;font-size:.88rem;margin:4px 0}.q-error{color:#a5290f;font-weight:600}.q-ok{color:#1c8a4c;font-weight:700}.q-range{font-weight:700;color:var(--c2, #1e499e);margin:6px 0 10px}.q-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}.q-spacer{flex:1}.q-inline{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600}.q-btn{background:#fff;border:2px solid #c5d9f0;color:var(--c2, #1e499e);font-weight:700;font-size:.88rem;padding:7px 14px;border-radius:10px;cursor:pointer}.q-btn:hover:not(:disabled){background:#e8f2fb;border-color:var(--c2, #1e499e)}.q-btn:disabled{opacity:.5;cursor:default}.q-btn-primary{background:var(--c2, #1e499e);border-color:var(--c2, #1e499e);color:#fff}.q-btn-primary:hover:not(:disabled){background:#163a80;border-color:#163a80}.q-btn-rec{background:#c62828;border-color:#c62828;color:#fff}.q-btn-rec:hover:not(:disabled){background:#a31f1f;border-color:#a31f1f}.q-rec-live{animation:q-pulse 1.2s infinite}@keyframes q-pulse{50%{box-shadow:0 0 0 6px #c6282833}}.q-btn-ok{background:#1c8a4c;border-color:#1c8a4c;color:#fff}.q-btn-warn{background:#fff3d6;border-color:#e0b24a;color:#8a5c05}.q-more{align-self:center}.q-select,.q-num,.q-textarea{border:2px solid #c5d9f0;border-radius:8px;padding:6px 8px;font-size:.9rem;background:#fff;color:inherit}.q-select-wide{max-width:100%;min-width:0}.q-num{width:80px}.q-textarea{width:100%;box-sizing:border-box;font-family:inherit;resize:vertical}.q-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.q-chip{border:2px solid #c5d9f0;background:#fff;color:var(--c2, #1e499e);font-weight:800;border-radius:20px;padding:6px 14px;cursor:pointer;font-size:.9rem}.q-chip-on{background:var(--c2, #1e499e);border-color:var(--c2, #1e499e);color:#fff}.q-radios{display:flex;flex-direction:column;gap:6px}.q-arabic{font-family:Amiri Quran,Amiri,Scheherazade New,Traditional Arabic,serif}.q-surah-block{margin-top:14px}.q-surah-head{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#eef4fc;border-radius:10px;padding:8px 14px;margin:0 0 6px;font-size:1rem}.q-surah-ar{font-size:1.5rem;font-weight:400}.q-ayah{display:flex;gap:12px;align-items:flex-start;padding:12px 8px;border-bottom:1px solid #eef2f8;border-radius:10px;transition:background .2s}.q-ayah-active{background:#fff8e1}.q-ayah-play{flex:none;width:34px;height:34px;border-radius:50%;border:2px solid #c5d9f0;background:#fff;color:var(--c2, #1e499e);cursor:pointer;font-size:.8rem}.q-ayah-active .q-ayah-play{background:var(--c2, #1e499e);color:#fff;border-color:var(--c2, #1e499e)}.q-ayah-body{flex:1;min-width:0}.q-ayah-text{font-size:1.85rem;line-height:2.4;margin:0;text-align:right;overflow-wrap:anywhere}.q-ayah-num{color:var(--c2, #1e499e);font-size:1.3rem}.q-ayah-en{color:#445472;font-size:.92rem;margin:4px 0 0}.q-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.q-month{padding:14px}.q-month-title{margin:0 0 10px;font-size:1rem;font-weight:900}.q-weeks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.q-week{display:flex;flex-direction:column;gap:4px;text-align:left;border:2px solid #e3ecf8;background:#fafcff;border-radius:12px;padding:10px;cursor:pointer;color:inherit}.q-week:hover{border-color:var(--c2, #1e499e)}.q-week-name{font-weight:800;font-size:.85rem}.q-week-name em{color:#c62828;font-style:normal}.q-week-range{font-size:.78rem;color:#5a6a88}.q-week-now{border-color:#e0b24a}.q-week-open{border-color:var(--c2, #1e499e);background:#eef4fc}.q-week-approved{background:#eefaf2}.q-status{font-size:.75rem;font-weight:800;border-radius:12px;padding:2px 8px;align-self:flex-start}.q-status-approved{background:#e1f6e8;color:#1c8a4c}.q-status-pending{background:#fff3d6;color:#a5730a}.q-status-retry{background:#ffe8e1;color:#a5290f}.q-recorder{background:#fafcff;border:1px dashed #c5d9f0;border-radius:12px;padding:12px}.q-timer{font-variant-numeric:tabular-nums;font-weight:700}.q-audio{max-width:100%;height:40px}.q-rec-list,.q-review-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.q-rec-item{border:1px solid #e3ecf8;border-radius:12px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.q-fb{width:100%;margin:2px 0 0;font-size:.9rem;white-space:pre-line}.q-stars{color:#e0a800;letter-spacing:1px}.q-review-user{font-size:1.05rem}.q-review-form{border-top:1px solid #eef2f8;margin-top:10px;padding-top:10px}.q-star-pick{display:inline-flex}.q-star{background:none;border:none;font-size:1.5rem;color:#d3dbe8;cursor:pointer;padding:0 2px}.q-star-on{color:#e0a800}@media (max-width: 600px){.q-card{padding:14px}.q-ayah-text{font-size:1.5rem}.q-weeks{grid-template-columns:1fr}}.q-sources{margin-top:12px}.q-credit{font-size:.78rem;color:#5a6a88;text-align:center;margin:0 0 10px}.q-credit a,.q-admin-src a{color:var(--c2, #1e499e)}.q-admin-src summary{cursor:pointer;font-weight:800}.q-admin-src dl{margin:12px 0 0;display:flex;flex-direction:column;gap:10px}.q-src-row dt{font-weight:800;font-size:.88rem}.q-src-row dd{margin:2px 0 0;font-size:.86rem;color:#2c3a58;line-height:1.5}.q-duration{border-left:5px solid var(--c2, #1e499e)}.q-dur-main{font-weight:800;font-size:1.05rem;margin:4px 0}.q-dur-finish{font-weight:700;color:#1c8a4c;margin:4px 0 10px}.q-progress{height:10px;background:#e3ecf8;border-radius:6px;overflow:hidden}.q-progress>div{height:100%;background:var(--c2, #1e499e);border-radius:6px}.q-plan-editor{display:flex;flex-direction:column;gap:6px;margin-top:6px}.q-tabs{margin-bottom:4px}.q-bismillah{text-align:center;font-size:1.9rem;line-height:2.2;margin:4px 0 8px;color:var(--c2, #1e499e);padding:6px 0;border-bottom:1px solid #eef2f8}@media (max-width: 600px){.q-bismillah{font-size:1.5rem}}.q-hadith-text{font-family:Amiri,Scheherazade New,Traditional Arabic,serif;font-size:1.6rem;line-height:2.2;text-align:right;margin:12px 0 0;overflow-wrap:anywhere}@media (max-width: 600px){.q-hadith-text{font-size:1.3rem}}.q-hadith-audio{margin-top:10px}.q-staff-rec{margin-top:8px}.q-staff-rec summary{cursor:pointer;font-weight:700;color:var(--c2, #1e499e);margin-bottom:6px}.h-timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:3px solid #d7e3f4;display:flex;flex-direction:column;gap:12px}.h-timeline li{position:relative}.h-timeline li:before{content:"";position:absolute;left:-27px;top:18px;width:14px;height:14px;border-radius:50%;background:var(--c);border:3px solid #f5f8fd}.h-tl-card{width:100%;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer;color:inherit;background:#fff;border:1px solid #e3ecf8;border-left:5px solid var(--c);border-radius:14px;padding:14px 16px;box-shadow:0 4px 18px #1e499e0f;font:inherit}.h-tl-card:hover{border-color:var(--c)}.h-tl-years{font-size:.8rem;font-weight:800;color:var(--c, var(--c2, #1e499e));letter-spacing:.3px;margin:0}.h-tl-title{font-size:1.08rem;font-weight:900}.h-tl-intro{font-size:.9rem;color:#445472}.h-tl-meta{font-size:.82rem;font-weight:700;color:var(--c)}.h-lesson{border-top:5px solid var(--c)}.h-lesson-title{font-size:1.4rem;font-weight:900;margin:4px 0 8px}.h-lesson-intro{font-size:1.02rem;font-weight:600;color:#2c3a58;margin:0 0 4px}.h-p{line-height:1.65;margin:4px 0;color:#22304d}.h-facts{margin-top:18px;background:#f3f7fd;border-radius:12px;padding:12px 16px}.h-facts ul{margin:6px 0 0;padding-left:20px;line-height:1.7}.h-quiz{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:14px}.h-q{font-weight:700;margin:0 0 6px}.h-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}.h-opt{text-align:left;border:2px solid #d7e3f4;background:#fff;border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit;font-size:.9rem;color:inherit}.h-opt:hover:not(:disabled){border-color:var(--c2, #1e499e)}.h-opt:disabled{cursor:default}.h-opt-on{border-color:var(--c2, #1e499e);background:#eef4fc;font-weight:700}.h-opt-right{border-color:#1c8a4c;background:#e1f6e8;font-weight:700}.h-opt-wrong{border-color:#c62828;background:#ffe8e1;text-decoration:line-through}.hk-toc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.hk-toc-card{width:100%;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer;font:inherit;color:inherit;background:#fafcff;border:1px solid #e3ecf8;border-left:4px solid var(--c);border-radius:12px;padding:12px 14px}.hk-toc-card:hover{border-color:var(--c);background:#fff}.hk-toc-num{font-size:.78rem;font-weight:800;color:var(--c);letter-spacing:.3px}.hk-toc-title{font-size:1.05rem;font-weight:900}.hk-toc-teaser{font-size:.9rem;color:#445472;line-height:1.5}.hk-page{background:#fffdf8;border:1px solid #eadfc8;border-radius:6px 16px 16px 6px;box-shadow:0 10px 30px #3c280a14,inset 6px 0 0 var(--c);padding:36px 44px 28px;max-width:760px;width:100%;margin:0 auto;box-sizing:border-box}.hk-kicker{margin:0 0 6px;font-size:.8rem;font-weight:800;color:var(--c);letter-spacing:.3px}.hk-title{font-family:Georgia,Times New Roman,Amiri,serif;font-size:2rem;line-height:1.2;margin:0 0 18px;color:#1d2638;font-weight:700}.hk-p{font-family:Georgia,Times New Roman,Amiri,serif;font-size:1.1rem;line-height:1.8;color:#2a2f3a;margin:0 0 1em;hyphens:auto;-webkit-hyphens:auto}.hk-saw{font-family:Amiri,Traditional Arabic,serif;font-size:1.35em;line-height:1;font-style:normal}.hk-first:first-letter{float:left;font-size:3.4em;line-height:.9;padding:4px 8px 0 0;color:var(--c);font-weight:700}.hk-progress{text-align:center;font-size:.82rem;color:#8a7a5a;margin:18px 0 0;letter-spacing:.5px}.hk-nav{justify-content:center;max-width:760px;margin:0 auto;width:100%}.hk-fig{margin:4px 0 22px}.hk-svg{width:100%;height:auto;display:block;border-radius:10px;border:1px solid #e6dcc6}.hk-fig figcaption{font-size:.85rem;color:#6b5f48;margin-top:6px;font-style:italic;font-family:Georgia,Amiri,serif}.hk-fig-note{font-style:normal;color:#9a8d72}@media (max-width: 600px){.hk-page{padding:22px 18px}.hk-title{font-size:1.5rem}.hk-p{font-size:1.02rem}}.hr-box{margin-top:26px;padding:18px 20px;background:#f4f8fd;border:1px solid #dbe6f5;border-radius:12px}.hr-title{margin:0 0 4px;font-size:1.1rem;font-weight:900;color:#1d2638}.hr-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.hr-item{background:#fff;border:1px solid #e3ecf8;border-left:4px solid var(--c2, #1e499e);border-radius:10px;padding:10px 14px}.hr-hadith{border-left-color:#a5730a}.hr-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.hr-badge{font-weight:800;font-size:.88rem;color:var(--c2, #1e499e)}.hr-hadith .hr-badge{color:#8a5c05}.hr-sub{font-size:.82rem;color:#5a6a88}.hr-note{margin:4px 0 6px;font-size:.95rem;line-height:1.55;color:#2a2f3a}.hr-toggle{background:none;border:none;padding:0;color:var(--c2, #1e499e);font-weight:700;font-size:.85rem;cursor:pointer}.hr-toggle:hover{text-decoration:underline}.hr-text{margin-top:8px;border-top:1px dashed #dbe6f5;padding-top:8px}.hr-ar{font-size:1.5rem;line-height:2.2;text-align:right;margin:0;overflow-wrap:anywhere}.hr-ar-hadith{font-family:Amiri,Scheherazade New,Traditional Arabic,serif;font-size:1.25rem;line-height:2;max-height:320px;overflow-y:auto}.hr-en-label{margin:8px 0 2px;font-size:.78rem;font-weight:700;color:#5a6a88}.hr-en{margin:0;font-size:.92rem;line-height:1.55;color:#445472;font-style:italic}.tb-page{background:#f7fbf6}.tb-lead{font-size:1.1rem;font-weight:600;color:#2c3a58;margin:0}.tb-card{background:#fff;border-radius:22px;padding:24px 26px;box-shadow:0 6px 24px #1e499e14}.tb-lesson{border-top:8px solid var(--c)}.tb-lesson-head{display:flex;align-items:center;gap:14px}.tb-lesson-icon{font-size:3.2rem;line-height:1}.tb-kicker{margin:0;font-size:.85rem;font-weight:800;color:var(--c)}.tb-lesson-title{margin:2px 0 0;font-size:1.7rem;font-weight:900;color:#1d2638}.tb-intro{font-size:1.15rem;font-weight:700;color:#2c3a58;line-height:1.55;margin:14px 0}.tb-p{font-size:1.12rem;line-height:1.75;color:#22304d;margin:0 0 .9em}.tb-fig{margin:8px 0 20px}.tb-svg{width:100%;height:auto;display:block;border-radius:16px}.tb-fig figcaption{font-size:.9rem;color:#5a6a88;margin-top:6px;text-align:center;font-weight:600}.tb-remember{background:#eef6ff;border-radius:16px;padding:14px 18px;margin-top:16px}.tb-remember ul{margin:6px 0 0;padding-left:22px;line-height:1.7;font-size:1.05rem}.tb-challenge{background:#fff6dc;border:2px dashed #e0b24a;border-radius:16px;padding:14px 18px;margin-top:14px}.tb-challenge p{margin:6px 0 0;font-size:1.05rem;line-height:1.55}.tb-h3{margin:0 0 10px;font-size:1.3rem;font-weight:900}.tb-quiz-list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:16px}.tb-q{font-weight:800;font-size:1.08rem;margin:0 0 8px}.tb-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.tb-opt{text-align:left;font:inherit;font-size:1rem;font-weight:700;padding:12px 14px;border-radius:14px;cursor:pointer;background:#fff;border:3px solid #d7e3f4;color:#22304d}.tb-opt:hover:not(:disabled){border-color:var(--c2, #1e499e)}.tb-opt:disabled{cursor:default}.tb-opt-on{border-color:var(--c2, #1e499e);background:#eaf2ff}.tb-opt-right{border-color:#1c8a4c;background:#dff5e7}.tb-opt-wrong{border-color:#c62828;background:#ffe6e1;text-decoration:line-through}.tb-btn{font:inherit;font-weight:800;font-size:1rem;padding:10px 18px;border-radius:14px;cursor:pointer;background:#fff;border:3px solid #c5d9f0;color:var(--c2, #1e499e)}.tb-btn:disabled{opacity:.45;cursor:default}.tb-btn-primary{background:#1c8a4c;border-color:#1c8a4c;color:#fff}.tb-result{font-size:1.1rem;font-weight:800;color:#8a5c05;margin:10px 0 0}.tb-result-ok{color:#1c8a4c;font-size:1.25rem}.tb-nav{justify-content:center}@media (max-width: 600px){.tb-card{padding:18px 16px}.tb-lesson-title{font-size:1.35rem}.tb-p{font-size:1.04rem}}.qd-h2{font-size:1.05rem;color:var(--c2, #1e499e);margin:0 0 10px}.qd-result{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 8px}.qd-result>div{flex:1 1 140px;display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:10px;background:#f1f6fd}.qd-result span{font-size:.8rem;color:#5a6a88;font-weight:600}.qd-result strong{font-size:1.2rem;color:#0a1a3a}.qd-steps{background:#0f1b33;color:#e3ecf8;border-radius:8px;padding:10px 12px;font-size:.85rem;overflow-x:auto;margin:6px 0}.qd-dates{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.qd-year{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:12px}.qd-month h3{margin:0 0 4px;font-size:.9rem;color:var(--c2, #1e499e)}.qd-row{display:grid;grid-template-columns:2.2em 3em 1fr;font-size:.8rem;color:#33415e;padding:1px 4px;border-radius:4px}.qd-row-on{background:var(--c2, #1e499e);color:#fff}.qd-note{margin:8px 0 0;padding:10px 12px;background:#fff6e5;border-radius:8px;font-size:.88rem;color:#6a4500}.qd-surah-dates{margin-top:10px;font-size:.88rem;color:#33415e}.qd-juz-list{display:flex;flex-direction:column;gap:8px;margin:8px 0}.qd-juz-row{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:10px;align-items:start;padding:10px;border:1px solid #e3ecf8;border-radius:10px;background:#fff}.qd-juz-row-on{border-color:var(--c2, #1e499e);background:#f1f6fd;box-shadow:0 0 0 2px #1e499e26}.qd-juz-row-empty{opacity:.7}.qd-juz-name{font:inherit;font-weight:700;color:var(--c2, #1e499e);background:none;border:none;text-align:left;cursor:pointer;padding:4px 0}.qd-juz-row .qd-dates{margin:0}@media (max-width: 640px){.qd-juz-row{grid-template-columns:1fr}}.qd-range{margin:4px 0 8px;font-size:.9rem;color:#33415e}.qd-ayahs{max-height:70vh;overflow-y:auto;border:1px solid #e3ecf8;border-radius:10px;padding:8px 10px;background:#fff}.qd-year-input{width:6.5em}.qd-h3{margin:12px 0 6px;font-size:.95rem;color:var(--c2, #1e499e)}.qd-examples{margin:0 0 8px;padding-left:20px;font-size:.9rem;line-height:1.7;color:#33415e}.hz-intro{line-height:1.55}.hz-h{font-size:1.05rem;margin:0 0 10px}.hz-ready{color:#1c8a4c;font-weight:600;margin:0}.hz-bar{height:10px;border-radius:6px;background:#e3e9f2;overflow:hidden}.hz-bar>div{height:100%;background:var(--c2, #1e499e);transition:width .3s}.hz-num{width:70px}.hz-text,.hz-result{font-family:Amiri,Scheherazade New,Traditional Arabic,serif;font-size:1.6rem;line-height:2.3;background:#fbf8f1;border-radius:10px;padding:10px 16px;margin:10px 0}.hz-result p{margin:0 0 4px}.hz-bism{text-align:center;margin:0}.hz-num-ar{color:#8a6d3b;font-size:.9em;margin:0 4px}.hz-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.hz-file{display:inline-flex;align-items:center;cursor:pointer}.hz-file.disabled{opacity:.5;pointer-events:none}.hz-status{font-weight:600;margin:10px 0 0}.hz-score{color:var(--c2, #1e499e)}.hz-took{font-size:.85rem;font-weight:400}.hz-legend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.hz-legend .hz-w{font-size:.85rem}.hz-w{display:inline-block;position:relative;border-radius:6px;padding:0 5px;margin:0 2px;line-height:1.7}.hz-w.hz-ok{background:#e3f4ea;color:#145f35}.hz-w.hz-close{background:#fff3cd;color:#7a5a00}.hz-w.hz-wrong{background:#fde2df;color:#a5290f}.hz-w.hz-missing{background:#eceff3;color:#6b7280;text-decoration:line-through}.hz-w.hz-extra{background:#e0ebfb;color:var(--c2, #1e499e);font-style:italic}.hz-heard{display:block;font-size:.55em;line-height:1.2;text-align:center;opacity:.85}.hz-heard-all{font-family:Amiri,Scheherazade New,serif;font-size:1.2rem;line-height:2;margin:0}.hz-limits{font-size:.85rem}.hz-auto-btn{border-color:#7c5cc4;color:#4b2f97}.hz-auto{border-top:1px solid #eef2f8;margin-top:10px;padding-top:10px}.hz-auto .hz-h{font-size:1rem}.hz-model{margin:6px 0}.hz-ayah-score{font-family:system-ui,sans-serif;font-size:.75rem;font-weight:700;color:#7a5a00;background:#fff3cd;border-radius:10px;padding:1px 7px;vertical-align:middle}.hz-ayah-score.full{color:#145f35;background:#e3f4ea}.hz-ayah-score.low{color:#a5290f;background:#fde2df}.hz-w.hz-opt{opacity:.6}.hz-details{margin:4px 0}.hz-details summary{cursor:pointer}.hz-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#f3effb;border-radius:10px;padding:10px 12px;margin-top:8px;font-weight:600}.qz-editor{border-top:1px dashed #d8e1ee;margin-top:12px;padding-top:10px}.qz-h{margin:0 0 4px;font-size:1rem}.qz-card .q-h2{margin-top:0}.qz-run{background:#fafcff;border:1px dashed #c5d9f0;border-radius:12px;padding:14px;margin-bottom:10px}.qz-q{font-weight:700;color:var(--c2, #1e499e);margin:0 0 6px}.qz-ayah{font-family:Amiri,Scheherazade New,Traditional Arabic,serif;font-size:1.9rem;line-height:2.2;background:#fbf8f1;border-radius:10px;padding:10px 16px;margin:0 0 10px}.qz-rec{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.qz-rec .hz-status{margin:0}.q-weekly{border:2px solid #2f9e44}.q-due{color:#495057;font-size:.92rem}.q-task{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;border-top:1px solid #e9ecef}.q-task .qz-run{flex-basis:100%}.q-task-st{font-weight:700;border-radius:999px;padding:1px 10px;font-size:.85rem;background:#f1f3f5;color:#495057}.q-task-ok{background:#d3f9d8;color:#2b8a3e}.q-task-waiting{background:#fff3bf;color:#8a6d00}.q-task-missed{background:#ffe3e3;color:#c92a2a}.q-pos{color:#2b8a3e}.q-neg{color:#c92a2a}.q-hist{list-style:none;padding:0;margin:8px 0 0}.q-hist li{display:flex;gap:14px;flex-wrap:wrap;padding:4px 0;border-bottom:1px solid #f1f3f5}.q-level{display:inline-block;width:90px;height:8px;border-radius:4px;background:#e3e6ee;overflow:hidden;vertical-align:middle}.q-level i{display:block;height:100%;background:#2fa84f;transition:width .2s}.tb-lead{text-align:center}.wr-text{font-size:2rem;line-height:2.4;background:#fbf8f1;border-radius:12px;padding:14px 18px;margin:12px 0;text-align:right}.wr-word{border-radius:8px;padding:0 4px;transition:background .15s,color .15s;color:#9a9384}.wr-learned{color:#3d3a33}.wr-step{color:#1e2a3a;background:#fff1c2}.wr-now{color:#fff;background:#2f9e44;box-shadow:0 0 0 3px #2f9e4440}.wr-num{color:#b08d3c;font-size:.75em;margin:0 4px}.wr-controls{position:sticky;bottom:8px;background:#fff;border-radius:14px;padding:8px;box-shadow:0 4px 18px #00000014}.wr-ok{font-size:1.15rem;padding:12px 22px}@media (max-width: 600px){.wr-text{font-size:1.6rem;padding:10px 12px}}.tb-sura{margin:14px 0 20px;padding:16px 18px;background:#fbf7ec;border:1px solid #ead9b0;border-radius:14px}.tb-sura-bism{text-align:center;font-size:1.6rem;margin:4px 0 10px;color:#5a4520}.tb-sura-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.tb-sura-list li{background:#fff;border-radius:10px;padding:8px 14px;border:1px solid #f0e4c6}.tb-sura-ar{font-size:1.8rem;line-height:2.1;text-align:right;margin:0}.tb-sura-tr{margin:2px 0 0;color:#2b3550;font-size:1.02rem}.aa-abtirsi{display:flex;flex-wrap:wrap;gap:6px 4px;padding:14px;background:#fbf7ec;border:1px solid #ead9b0;border-radius:14px}.aa-nimi{display:inline-flex;flex-direction:column;align-items:center;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid #e6d6ae;font-weight:700;color:#3a2e18;font-size:.92rem}.aa-nimi:not(:last-child):after{content:""}.aa-nimi small{font-size:.66rem;font-weight:700;opacity:.85}.aa-k1{background:#9b1d20;border-color:#9b1d20;color:#fff}.aa-k2{background:#c9a227;border-color:#c9a227;color:#fff}.aa-k3{background:#0a5a7a;border-color:#0a5a7a;color:#fff}.aa-k4{background:#1c8a4c;border-color:#1c8a4c;color:#fff}.aa-k6{background:#c2410c;border-color:#c2410c;color:#fff}.aa-k7{background:#0a5a7a;border-color:#0a5a7a;color:#fff}.aa-k5{background:#22304d;border-color:#22304d;color:#fff}.aa-gap{background:transparent;border-style:dashed;color:#a08a5a}.tb-kuva{text-align:center}.tb-kuva img{width:100%;height:auto;border-radius:8px;border:1px solid #e3d7bb;box-shadow:0 2px 10px #00000014;background:#fff}.aa-puu{padding:16px;background:#fbf7ec;border:1px solid #ead9b0;border-radius:14px}.aa-puu-ylos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}.aa-nuoli{font-size:1.3rem;color:#9b1d20;font-weight:900}.aa-puu-pojat{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;position:relative}.aa-puu-pojat:before{content:"";position:absolute;top:-10px;left:25%;right:25%;border-top:3px solid #9b1d20}.aa-poika{display:flex;flex-direction:column;align-items:center;gap:8px}.aa-skanni{background:#fff;border:2px solid #c9a227;border-radius:10px;padding:8px;width:100%;box-sizing:border-box}.aa-skanni img{width:100%;height:auto;display:block;border-radius:4px}.aa-skanni p{margin:6px 0 0;font-size:.8rem;color:#3a2e18}.aa-alas{display:flex;flex-direction:column;align-items:center;gap:4px}@media (max-width: 600px){.aa-puu-pojat{grid-template-columns:1fr}.aa-puu-pojat:before{display:none}}.jp-tarina,.jp-peli{margin:14px 0 18px;padding:16px 18px;border-radius:16px}.jp-tarina{background:linear-gradient(135deg,#0d3b66,#1f6f8b);color:#fff}.jp-peli{background:#fff8e6;border:2px solid #c9a227}.jp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.jp-head h3{margin:0;font-size:1.1rem}.jp-scene{display:flex;gap:16px;align-items:center;min-height:120px;margin:12px 0;animation:jp-in .35s ease}.jp-emoji{font-size:3.6rem;flex:none;width:84px;text-align:center}.jp-scene p{margin:0;font-size:1.15rem;line-height:1.6}@keyframes jp-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.jp-nav{display:flex;align-items:center;gap:8px}.jp-dots{flex:1;display:flex;justify-content:center;gap:6px}.jp-dots button{width:11px;height:11px;border-radius:50%;border:none;background:#fff6;cursor:pointer;padding:0}.jp-dots button.on{background:#f6d77a}.jp-btn{border:none;border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer;background:#fff;color:#0d3b66;font-family:inherit}.jp-btn:disabled{opacity:.4;cursor:default}.jp-btn.on{background:#c2410c;color:#fff}.jp-peli .jp-btn{background:#0d3b66;color:#fff}.jp-peli .jp-btn.on{background:#c2410c}.jp-score{font-weight:900;color:#9b1d20}.jp-prompt{margin:8px 0 12px;font-weight:700;color:#3a2e18}.jp-grid{display:flex;flex-wrap:wrap;gap:8px}.jp-chip{border:2px solid #c9a227;background:#fff;color:#22304d;border-radius:14px;padding:10px 14px;font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit;text-align:left}.jp-chip.ok{background:#1c8a4c;border-color:#1c8a4c;color:#fff}.jp-chip.no{background:#f3d4d4;border-color:#b03a2e;color:#7a1010}.jp-chip.sel{background:#0d3b66;border-color:#0d3b66;color:#fff}.jp-chip.shake{animation:jp-shake .4s;border-color:#b03a2e}@keyframes jp-shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.jp-done{margin:0 0 10px;padding-left:22px;color:#1c8a4c;font-weight:800}.jp-sort{text-align:center}.jp-card{display:inline-block;min-width:220px;padding:22px 26px;font-size:1.4rem;font-weight:900;background:#fff;border:3px solid #0d3b66;border-radius:18px;color:#22304d}.jp-card.ok{border-color:#1c8a4c;background:#e5f6ec}.jp-card.no{border-color:#b03a2e;background:#fbe9e9}.jp-fb{margin:8px 0;font-weight:700;color:#5a4520;min-height:1.4em}.jp-bins{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jp-bin{border:none;border-radius:14px;padding:16px 10px;font-size:1.05rem;font-weight:900;cursor:pointer;background:#0d3b66;color:#fff;font-family:inherit}.jp-bin+.jp-bin{background:#9b1d20}.jp-bin.hint{outline:4px solid #f6d77a}.jp-match{display:grid;grid-template-columns:1fr 1.6fr;gap:10px}.jp-match>div{display:flex;flex-direction:column;gap:8px}.jp-findimg{position:relative;display:inline-block;max-width:100%;cursor:crosshair}.jp-findimg img{max-width:100%;display:block;border-radius:8px;border:1px solid #e3d7bb;-webkit-user-select:none;user-select:none}.jp-ring{position:absolute;border:4px solid #1c8a4c;border-radius:10px;box-shadow:0 0 0 4px #1c8a4c40}.jp-miss{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:3px solid #b03a2e}.jp-end{text-align:center;font-size:1.2rem;font-weight:900;color:#1c8a4c}@media (max-width: 600px){.jp-scene{flex-direction:column;text-align:center}.jp-match{grid-template-columns:1fr}}.qd-page{min-height:100vh;background:#f3f7f2;color:#1e2a3a;font-family:system-ui,Segoe UI,sans-serif}.qd-voice{border:1px solid #ced4da;border-radius:8px;padding:5px 8px;background:#fff}.qd-main{max-width:var(--sivu-leveys);margin:0 auto;padding:18px 16px 40px}.qd-ar{font-family:Amiri,Scheherazade New,Traditional Arabic,serif}.qd-card{background:#fff;border-radius:16px;padding:18px 20px;box-shadow:0 2px 10px #0000000f;margin-bottom:16px}.qd-card h2{margin:0 0 8px;color:#1c6e3d;font-size:1.3rem}.qd-card h2 small{font-family:Amiri,serif;color:#868e96;font-weight:400;margin-inline-start:6px}.qd-card h3{color:var(--c2, #1e499e);font-size:1.05rem;margin:16px 0 8px}.qd-center{text-align:center}.qd-intro p{margin:0;line-height:1.55}.qd-note{font-size:.88rem;color:#6c757d;line-height:1.5}.qd-lessons{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:14px}.qd-lesson{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;cursor:pointer;border:0;border-radius:16px;padding:16px 18px;color:#fff;background:linear-gradient(135deg,#2f9e44,#1c6e3d);box-shadow:0 4px 12px #1c6e3d40;font:inherit;transition:transform .15s}.qd-lesson:nth-child(2){background:linear-gradient(135deg,#1c7ed6,var(--c2, #1e499e));box-shadow:0 4px 12px #1e499e40}.qd-lesson:hover{transform:translateY(-2px)}.qd-lesson-ar{font-family:Amiri,serif;font-size:2.1rem;line-height:1.3;align-self:flex-end}.qd-lesson b{font-size:1.1rem}.qd-lesson small{font-family:Amiri,serif;font-size:1rem;opacity:.9}.qd-meta{margin-top:6px;font-size:.85rem;background:#fff3;border-radius:999px;padding:2px 10px}.qd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:10px;margin:12px 0}.qd-tile{position:relative;display:flex;flex-direction:column;align-items:center;border:2px solid #e9ecef;background:#fff;border-radius:14px;padding:6px 4px 8px;cursor:pointer;transition:transform .12s,border-color .12s}.qd-tile:hover{transform:scale(1.05);border-color:#2f9e44}.qd-tile .qd-ar{font-size:2.4rem;line-height:1.5;color:#1e2a3a}.qd-tile small{color:#868e96;font-size:.78rem}.qd-tile.done{border-color:#ffd43b;background:#fff9db}.qd-tile em{position:absolute;top:2px;left:4px;font-style:normal;font-size:.8rem}.qd-letter-top{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.qd-letter-big{font-size:7rem;line-height:1.3;color:#1c6e3d;min-width:140px;text-align:center;background:#ebfbee;border-radius:18px}.qd-letter-name{font-size:1.3rem;margin-bottom:8px}.qd-letter-name .qd-ar{font-size:1.8rem}.qd-listen{border:0;background:#1c7ed6;color:#fff;border-radius:999px;padding:8px 18px;font-size:1rem;font-weight:700;cursor:pointer}.qd-forms-mini{display:flex;gap:14px;margin-top:12px;flex-wrap:wrap}.qd-forms-mini span{display:flex;flex-direction:column;align-items:center}.qd-forms-mini b{font-size:2rem;font-weight:400;line-height:1.4}.qd-forms-mini small{color:#868e96;font-size:.75rem}.qd-trace{display:flex;flex-direction:column;align-items:center}.qd-board{position:relative;aspect-ratio:1;border:2px dashed #adb5bd;border-radius:16px;background:#fff;overflow:hidden}.qd-board canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.qd-draw{touch-action:none;cursor:crosshair}.qd-trace-bar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}.qd-btn{border:0;background:#2f9e44;color:#fff;border-radius:10px;padding:8px 16px;font-weight:700;cursor:pointer;font-size:.95rem}.qd-btn.ghost{background:#fff;color:var(--c2, #1e499e);border:2px solid #d0ebff}.qd-verdict{margin-top:10px;padding:8px 14px;border-radius:10px;font-weight:700}.qd-verdict.ok{background:#ebfbee;color:#2b8a3e}.qd-verdict.no{background:#fff4e6;color:#d9480f}.qd-nav{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:8px}.qd-nav .qd-ar{font-size:1.4rem}.qd-table-wrap{overflow-x:auto}.qd-table{width:100%;border-collapse:collapse;direction:rtl}.qd-table th{font-size:.82rem;color:#495057;background:#f1f3f5;padding:6px}.qd-table td{text-align:center;padding:2px 6px;border-bottom:1px solid #f1f3f5}.qd-table td.qd-ar{font-size:2rem;line-height:1.6}.qd-table td small{color:#868e96}.qd-table tr.nj td.qd-ar{color:#c2255c}.qd-dash{color:#ced4da;font-size:1rem}.qd-mini{border:0;background:#e7f5ff;border-radius:8px;cursor:pointer;padding:3px 7px}.qd-progress{height:8px;background:#e9ecef;border-radius:999px;overflow:hidden;margin:6px 0 14px}.qd-progress i{display:block;height:100%;background:#2f9e44;transition:width .3s}.qd-prompt{margin:10px 0 14px}.qd-prompt p{font-weight:700;color:#495057}.qd-prompt-ar{font-size:5rem;line-height:1.4;color:var(--c2, #1e499e)}.qd-options{display:grid;grid-template-columns:repeat(4,minmax(70px,110px));gap:12px;justify-content:center}.qd-opt{border:2px solid #dee2e6;background:#fff;border-radius:16px;cursor:pointer;padding:4px;transition:transform .1s}.qd-opt:hover{transform:scale(1.05)}.qd-opt .qd-ar{font-size:3rem;line-height:1.5}.qd-opt.right{border-color:#2f9e44;background:#ebfbee}.qd-opt.wrong{border-color:#e03131;background:#fff5f5}.qd-big-score{font-size:3rem;font-weight:800;color:#1c6e3d;margin:10px 0}@media (max-width: 520px){.qd-options{grid-template-columns:repeat(2,minmax(80px,1fr))}.qd-letter-big{font-size:5rem;min-width:110px}}.qd-map{width:100%;display:block;border-radius:18px;box-shadow:0 4px 16px #1971c240;margin-bottom:14px}.qd-island.open:hover path{filter:brightness(1.05)}.qd-world-meta{margin-top:8px;display:inline-block;background:#fff9db;border-radius:999px;padding:3px 12px;font-size:.9rem;font-weight:700;color:#8a6d00}.qd-land-head{display:flex;align-items:center;gap:14px;color:#fff;border-radius:14px;padding:14px 18px;margin-bottom:14px}.qd-land-head div{display:flex;flex-direction:column;flex:1}.qd-land-head b{font-size:1.25rem}.qd-land-head .qd-ar{font-size:1.1rem}.qd-land-icon{font-size:2.6rem}.qd-land-flag{font-size:2rem}.qd-stages{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.qd-stage{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid #d3f9d8;background:#fff;border-radius:16px;padding:12px 8px;cursor:pointer;font:inherit;transition:transform .12s}.qd-stage:hover:not(:disabled){transform:translateY(-2px)}.qd-stage.done{border-color:#ffd43b;background:#fff9db}.qd-stage.locked{opacity:.5;cursor:not-allowed;background:#f8f9fa;border-color:#e9ecef}.qd-stage.boss{border-color:#fab005;background:linear-gradient(135deg,#fff3bf,#ffe8cc)}.qd-stage.boss.locked{background:#f8f9fa;border-color:#e9ecef}.qd-stage-n{width:34px;height:34px;border-radius:50%;background:#2f9e44;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.qd-stage.done .qd-stage-n,.qd-stage.locked .qd-stage-n,.qd-stage.boss .qd-stage-n{background:transparent;font-size:1.4rem}.qd-stage-ar{font-size:1.6rem;line-height:1.6;color:#1e2a3a}.qd-stage small{color:#868e96}.qd-listen-row{display:flex;gap:8px;flex-wrap:wrap}.qd-listen.alt{background:#7048e8}.qd-listen .qd-ar{font-size:1.2rem;margin-inline-start:4px}.qd-stage-q{font-size:1.8rem}.qd-words{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.qd-word{border:2px solid #d3f9d8;background:#fff;border-radius:12px;padding:2px 14px;font-size:1.9rem;line-height:1.8;cursor:pointer}.qd-word:hover{border-color:#2f9e44;background:#ebfbee}.qd-ayahs{display:flex;flex-direction:column;gap:8px;margin:10px 0}.qd-ayah{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:right;border:2px solid #e9ecef;background:#fff;border-radius:12px;padding:6px 14px;cursor:pointer}.qd-ayah:hover{border-color:#2f9e44;background:#f4fce3}.qd-ayah .qd-ar{font-size:1.7rem;line-height:2;flex:1}.qd-ayah-n{color:#2b8a3e;font-size:1.1rem}.qd-ayah-play{font-size:1.2rem}.qd-options.wide{grid-template-columns:1fr;max-width:640px;margin:0 auto}.qd-options.wide .qd-opt{padding:6px 14px}.qd-options.wide .qd-opt .qd-ar{font-size:1.6rem;line-height:1.9}.qd-admin{margin-top:8px;display:inline-block;background:#f3f0ff;color:#5f3dc4;border-radius:999px;padding:3px 12px;font-size:.85rem;font-weight:700;margin-inline-end:8px}.qd-recmode{border:2px solid #e5dbff;background:#fff;color:#5f3dc4;border-radius:10px;padding:6px 12px;font-weight:700;cursor:pointer}.qd-recmode.on{background:#7048e8;color:#fff;border-color:#7048e8}.qd-recbar{background:#7048e8;color:#fff;text-align:center;padding:6px 14px;font-size:.9rem;font-weight:600}.qd-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.qd-rec{position:relative;width:min(520px,100%);max-height:90vh;overflow:auto}.qd-close{position:absolute;top:8px;right:12px;border:0;background:none;font-size:1.6rem;cursor:pointer;color:#868e96}.qd-rec-item{font-size:4rem;text-align:center;line-height:1.5;color:var(--c2, #1e499e)}.qd-lines{display:flex;flex-direction:column;gap:8px;margin:10px 0}.qd-line{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;padding:6px;background:#f8f9fa;border-radius:12px}.qd-line .qd-word{font-size:1.8rem;padding:0 12px}.qd-tile.long .qd-ar{font-size:1.8rem}.hj-page{background:#f4efe6}.hj-main{max-width:820px}.hj-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:6px 0 12px;flex-wrap:wrap}.hj-bar .qd-btn:disabled{opacity:.4;cursor:default}.hj-toc-btn{flex:1;min-width:0}.hj-toc h2 small{font-size:1.1rem}.hj-toc-row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:8px 0;border-bottom:1px solid #f1f3f5;align-items:center}.hj-toc-row .qd-ar{font-size:1.15rem;text-align:right;grid-column:1 / -1}.hj-toc-row small{color:#868e96}.hj-toc-row.soon{opacity:.5}.hj-toc-pages{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.hj-toc-pages em{font-size:.85rem;color:#868e96}.hj-pg{border:1px solid #ced4da;background:#fff;border-radius:8px;padding:2px 9px;cursor:pointer;font-weight:700}.hj-pg.on{background:#1c6e3d;color:#fff;border-color:#1c6e3d}.hj-modes{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.hj-mode{border:2px solid #c3e0cc;background:#fff;color:#1c6e3d;border-radius:999px;padding:8px 16px;font-weight:800;cursor:pointer;font-size:.95rem}.hj-mode.on{background:#1c6e3d;color:#fff;border-color:#1c6e3d}.hj-best{margin-inline-start:auto;font-weight:700;color:#5c4400}.hj-hint{margin:0 0 10px}.hj-gamebar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:10px 14px;margin-bottom:10px;box-shadow:0 3px 12px #0000001f}.hj-gamebar>span{font-weight:700}.hj-gamebar .qd-progress{flex-basis:100%;margin:0}.hj-count{margin-inline-start:auto;color:#1c6e3d}.hj-result .hj-stars{font-size:2rem}.hj-sheet{position:relative;padding:14px;border-radius:6px;background:repeating-linear-gradient(90deg,#e8792b 0,#e8792b 6px,#2b3f8f 6px,#2b3f8f 12px,#f3b35c 12px,#f3b35c 18px,#2b3f8f 18px,#2b3f8f 24px);box-shadow:0 4px 16px #0000001f}.hj-inner{background:#fff;padding:14px 12px 12px;border-radius:2px}.hj-pageno{text-align:center;color:#fff;font-weight:800;margin-top:6px;font-size:.9rem}.hj-head{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.hj-lesson{background:linear-gradient(#fdf3d7,#f0dca8);border:2px solid #b8862b;border-radius:6px;padding:2px 16px;font-size:1.35rem;font-weight:700;color:#4a2c00}.hj-title{border:3px double #c9a14a;border-radius:50%;padding:4px 26px;font-size:1.4rem;font-weight:700;background:#fffdf5}.hj-marks{font-size:1.2rem;color:#7048e8}.hj-goal{border:1px solid #c9b77a;border-radius:6px;background:#fffef8;padding:6px 12px;font-size:1.1rem;line-height:1.8;margin:8px 0;text-align:right}.hj-ribbon{margin:10px auto;width:fit-content;max-width:100%;text-align:center;background:#f9c9a3;border:2px solid #6b4a2f;border-radius:8px;padding:3px 18px;font-size:1.2rem;font-weight:700}.hj-caption{text-align:center;color:#1c7ed6;font-weight:700;margin:8px 0 0;font-size:1.05rem}.hj-legend{display:flex;justify-content:center;gap:6px 18px;flex-wrap:wrap;margin-top:10px;font-size:1rem}.hj-legend span{display:inline-flex;align-items:center;gap:6px}.hj-legend i{width:11px;height:11px;border-radius:50%;display:inline-block}.hj-grid{container-type:inline-size;display:grid;border-top:1.5px solid #3b3f9a;border-right:1.5px solid #3b3f9a;margin:8px 0}.hj-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:56px;border:0;border-left:1.5px solid #3b3f9a;border-bottom:1.5px solid #3b3f9a;background:#fff;color:#1e2a3a;cursor:pointer;padding:2px;font:inherit;transition:background .15s}.hj-cell:hover{background:#f1f8ff}.hj-cell .qd-ar{font-size:clamp(1rem,calc(34cqi / var(--cols, 5)),2.3rem);line-height:1.7;white-space:nowrap}.hj-cell.lg .qd-ar{font-size:clamp(1.2rem,calc(40cqi / var(--cols, 4)),2.4rem)}.hj-cell.xl .qd-ar{font-size:clamp(1.8rem,calc(60cqi / var(--cols, 5)),3.4rem);line-height:1.4}.hj-cell .qd-ar.hj-name{align-self:flex-start;font-size:clamp(.8rem,2.6cqi,1.05rem);line-height:1.3;color:#1c7ed6;white-space:nowrap}.hj-cell.deco{cursor:default;font-size:1.6rem;opacity:.7}.hj-cell.found{background:#d3f9d8}.hj-cell.hint{background:#fff3bf;animation:hjPulse 1s infinite}.hj-cell.wrong{background:#ffc9c9;animation:hjShake .35s}@keyframes hjShake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes hjPulse{50%{background:#ffe066}}@media (max-width: 520px){.hj-sheet{padding:8px}.hj-inner{padding:10px 6px}.hj-cell{min-height:46px}.hj-goal,.hj-ribbon{font-size:1rem}}.hj-oasis{width:100%;display:block;border-radius:16px;box-shadow:0 3px 12px #0000001a;margin-bottom:14px}.hj-piece.fresh{animation:hjBuild 1.2s ease-out;transform-box:fill-box}@keyframes hjBuild{0%{opacity:0}60%{opacity:1;filter:drop-shadow(0 0 12px #ffd43b)}to{filter:none}}.hj-glow{animation:hjGlow 2s infinite}@keyframes hjGlow{50%{fill:#fff3bf}}.hj-chapter{background:#fff;border-radius:16px;padding:12px 14px;margin-bottom:12px;box-shadow:0 2px 10px #0000000f}.hj-chapter.soon{color:#868e96;text-align:center;font-weight:700}.hj-chapter-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border:0;background:none;cursor:pointer;padding:0;font:inherit;color:#1e2a3a;width:100%;text-align:start}.hj-chapter-head b{background:#1e2a3a;color:#ffd43b;border-radius:6px;padding:2px 10px;letter-spacing:.08em}.hj-chapter-head .qd-ar{font-size:1.3rem}.hj-chapter-head small{color:#868e96}.hj-nodes{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.hj-node{position:relative;width:74px;height:74px;border-radius:50%;border:3px solid #c3e0cc;background:radial-gradient(#fff,#ebfbee);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font:inherit}.hj-node-ic{font-size:1.3rem;font-weight:800;color:#1c6e3d}.hj-node small{font-size:.7rem;color:#495057}.hj-node-stars{position:absolute;bottom:-9px;font-size:.7rem}.hj-node.done{border-color:#2f9e44;background:radial-gradient(#fff,#d3f9d8)}.hj-node.boss{border-color:#e03131;background:radial-gradient(#fff,#ffe3e3)}.hj-node.locked{opacity:.45;cursor:default;filter:grayscale(1)}.hj-node.current{border-color:#fcc419;box-shadow:0 0 0 4px #fcc41959;animation:hjPulseRing 1.6s infinite}@keyframes hjPulseRing{50%{box-shadow:0 0 0 8px #fcc41926}}.hj-node-me{position:absolute;top:-18px;font-size:1.3rem;animation:hjBob 1.2s infinite}@keyframes hjBob{50%{transform:translateY(-5px)}}.hj-bookbtn{display:block;margin:6px auto 10px}.hj-hud{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#1e2a3a;color:#fff;border-radius:14px;padding:8px 12px;margin-bottom:10px}.hj-hud .qd-btn.ghost{padding:4px 10px}.hj-hud-title{flex:1}.hj-hearts span{font-size:1.3rem;transition:opacity .3s,filter .3s}.hj-hearts span.gone{opacity:.25;filter:grayscale(1)}.hj-xp{color:#ffd43b;font-weight:800}.hj-streak{color:#ff922b;font-weight:800;animation:hjBob .8s infinite}.hj-count small{color:#868e96;font-weight:400}.hj-clock{flex-basis:100%;height:8px;background:#e9ecef;border-radius:999px;overflow:hidden}.hj-clock i{display:block;height:100%;background:#2f9e44;transition:width .1s linear}.hj-clock.low i{background:#e03131}.hj-result.won{border:3px solid #ffd43b}.hj-stars-off{filter:grayscale(1);opacity:.3}.hj-built{font-weight:700;color:#8b5a2b}.hj-intro{position:relative;overflow:hidden;min-height:380px;border-radius:18px;display:flex;align-items:flex-end;background:radial-gradient(ellipse at 70% 30%,#f08c00,#7a3e00 45%,#1a0f05);box-shadow:0 6px 24px #0000004d;animation:hjFade .8s}.hj-intro-ar{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:clamp(3rem,12vw,7rem);color:#ffffff1f;line-height:1.4;text-align:center;padding:10px;word-spacing:.3em}.hj-intro-txt{position:relative;padding:22px 26px;display:flex;flex-direction:column;gap:6px;color:#fff;width:100%;background:linear-gradient(transparent,#0009)}.hj-intro-part{font-size:clamp(2.6rem,10vw,4.6rem);font-weight:900;letter-spacing:.06em;line-height:1;text-shadow:0 4px 14px rgba(0,0,0,.5);animation:hjSlide .9s}.hj-intro-name{font-size:1.6rem}.hj-intro-sub{opacity:.85}.hj-intro .qd-trace-bar{justify-content:flex-start}@keyframes hjFade{0%{opacity:0}}@keyframes hjSlide{0%{opacity:0;transform:translate(-40px)}}.hj-stagecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:10px}.hj-stagecard{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:start;border:3px solid #c3e0cc;background:#fff;border-radius:16px;padding:14px 16px;cursor:pointer;font:inherit;color:#1e2a3a}.hj-stagecard-ic{font-size:2rem}.hj-stagecard small{color:#6c757d;line-height:1.4}.hj-stagecard-st{position:absolute;top:10px;right:12px}.hj-stagecard.done{border-color:#2f9e44;background:#ebfbee}.hj-stagecard.locked{opacity:.45;cursor:default;filter:grayscale(1)}.hj-cell.target{background:#fff3bf;box-shadow:inset 0 0 0 3px #fcc419;animation:hjPulse 1.4s infinite}.hj-choices{display:flex;gap:8px;flex-wrap:wrap;flex-basis:100%}.hj-choice{border:2px solid #d0ebff;background:#fff;color:var(--c2, #1e499e);border-radius:12px;padding:8px 18px;font-weight:800;font-size:1.05rem;cursor:pointer}.hj-choice.on{background:#1c7ed6;color:#fff;border-color:#1c7ed6}.hj-choice.wrong{background:#ffe3e3;color:#c92a2a;border-color:#ffc9c9;cursor:default}.hj-write-ar{font-size:1.8rem;color:#1c6e3d}.hj-mic{position:relative;overflow:hidden;border:0;background:#e03131;color:#fff;border-radius:999px;padding:10px 22px;font-weight:800;font-size:1.05rem;cursor:pointer}.hj-mic:disabled{background:#868e96;cursor:default}.hj-mic.on{background:#c92a2a}.hj-mic i{position:absolute;left:0;bottom:0;height:4px;width:100%;background:#ffd43b;transform-origin:left;transition:transform .06s}.hj-tries{align-self:center;color:#6c757d;font-weight:700}.hj-model{flex-basis:100%}:root{--sivu-leveys: 100%}:root{--taivas: radial-gradient(ellipse at 50% 50%, #262a55 0%, #12142e 60%, #07081a 100%)}*{margin:0;padding:0;box-sizing:border-box}.site-logo{height:28px;width:auto;cursor:pointer;opacity:.9;transition:opacity .15s;display:block;flex-shrink:0}.site-logo:hover{opacity:1}#root{width:100%}body{background:#f5f8fd;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;font-family:Segoe UI,Tahoma,sans-serif;overflow-y:scroll;scrollbar-gutter:stable}
