.auth{--au-ink: #0f172a;--au-ink-2: #334155;--au-ink-3: #64748b;--au-ink-4: #94a3b8;--au-line: #e2e8f0;--au-edge: #cbd5e1;--au-ground: #f8fafc;--au-violet: #6d28d9;--au-violet-2: #7c3aed;--au-indigo: #4f46e5;--au-night: #0b1020;--au-night-2: #10183a;--au-text: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--au-display: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--au-ground);color:var(--au-ink);font-family:var(--au-text);font-size:16px}.auth :focus-visible{outline:3px solid #a78bfa;outline-offset:2px}.auth .auth-top{position:relative;isolation:isolate;color:#e2e8f0;padding-bottom:104px;background:radial-gradient(900px 520px at 88% -8%,rgba(124,58,237,.42),transparent 62%),radial-gradient(760px 480px at -6% 104%,rgba(13,148,136,.3),transparent 60%),radial-gradient(600px 400px at 45% 120%,rgba(79,70,229,.28),transparent 60%),linear-gradient(180deg,var(--au-night) 0%,var(--au-night-2) 100%)}.auth.is-child .auth-top{background:radial-gradient(760px 460px at 92% -12%,rgba(251,191,36,.34),transparent 60%),radial-gradient(700px 440px at -8% 110%,rgba(52,211,153,.3),transparent 60%),linear-gradient(180deg,#312e81,#4c1d95)}.auth .auth-bar{max-width:1200px;margin-inline:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.auth .auth-brand{display:flex;align-items:center;gap:10px}.auth .auth-brand-mark{font-size:1.5rem;line-height:1}.auth .auth-brand-lockup{display:grid;line-height:1.05}.auth .auth-brand-lockup b{font:800 1.12rem/1.05 var(--au-display);letter-spacing:.02em;color:#fff}.auth .auth-brand-lockup span{font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--au-ink-4)}.auth .auth-back{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid rgba(226,232,240,.3);border-radius:10px;background:transparent;color:#e2e8f0;font:600 .88rem/1.2 var(--au-display);cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease}.auth .auth-back:hover{border-color:#e2e8f0;color:#fff;background:#ffffff0f}.auth .auth-back svg{transition:transform .16s ease}.auth .auth-back:hover svg{transform:translate(-2px)}.auth .auth-head{max-width:608px;margin-inline:auto;padding:44px 24px 0;display:flex;align-items:center;gap:18px}.auth .auth-head-text{min-width:0}.auth .auth-art{flex:none;line-height:0}.auth .auth-kicker{display:inline-flex;align-items:center;gap:10px;font:700 .74rem/1.2 var(--au-text);letter-spacing:.14em;text-transform:uppercase;color:#c4b5fd}.auth .auth-kicker:before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor;flex:none}.auth.is-child .auth-kicker{color:#fde68a}.auth .auth-title{margin:12px 0 0;font:800 clamp(1.85rem,4.6vw,2.6rem)/1.08 var(--au-display);letter-spacing:-.03em;color:#fff;text-wrap:balance}.auth .auth-sub{margin:12px 0 0;max-width:46ch;font-size:1.04rem;line-height:1.6;color:#cbd5e1}.auth .auth-notice{width:calc(100% - 48px);max-width:560px;margin:22px auto 0;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid rgba(167,139,250,.35);border-radius:12px;background:#7c3aed29;color:#ede9fe}.auth .auth-notice svg{flex:none;margin-top:1px;color:#c4b5fd}.auth .auth-notice p{margin:0;font-size:.92rem;line-height:1.55}.auth .auth-main{position:relative;z-index:1;flex:1;width:100%;max-width:608px;margin:-76px auto 0;padding:0 24px 56px}.auth .auth-card{display:flex;flex-direction:column;gap:18px;padding:30px 28px;border:1px solid var(--au-line);border-radius:16px;background:#fff;box-shadow:0 30px 70px -36px #0f172a80,0 2px 6px #0f172a0a;animation:auth-rise .5s cubic-bezier(.2,.7,.2,1) both}@keyframes auth-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.auth .auth-card-head{display:grid;gap:6px}.auth .auth-card-title{margin:0;font:600 1.2rem/1.3 var(--au-display);letter-spacing:-.01em;color:var(--au-ink)}.auth .tiny{font-size:.84rem;line-height:1.5}.auth .muted{color:var(--au-ink-3)}.auth .faint{color:var(--au-ink-4);font-weight:400}.auth p{margin:0}.auth b{font-weight:600}.auth .link-btn{padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--au-violet);text-decoration:underline;text-decoration-color:#6d28d94d;text-underline-offset:3px;cursor:pointer}.auth .link-btn:hover{color:#5b21b6;text-decoration-color:currentColor}.auth .auth-card>.link-btn{align-self:center;font-size:.94rem}.auth .field{display:flex;flex-direction:column;gap:7px}.auth .field>span:first-child{font:600 .92rem/1.35 var(--au-text);color:var(--au-ink)}.auth .input{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--au-edge);border-radius:12px;background:#fff;color:var(--au-ink);font:400 1rem/1.4 var(--au-text);transition:border-color .15s ease,box-shadow .15s ease}.auth .input::placeholder{color:var(--au-ink-4)}.auth .input:hover{border-color:var(--au-ink-4)}.auth .input:focus,.auth .input:focus-visible{outline:none;border-color:var(--au-violet-2);border-radius:12px;box-shadow:0 0 0 4px #7c3aed24;background:#fff}.auth .invite-input{align-self:flex-start;width:100%;max-width:220px;font:600 1.05rem/1.4 var(--au-text);letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:tabular-nums}.auth .pw-wrap{position:relative}.auth .pw-wrap .input{padding-right:56px}.auth .pw-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:40px;height:40px;padding:0;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--au-ink-3);cursor:pointer}.auth .pw-eye:hover{background:#f1f5f9;color:var(--au-ink)}.auth .pw-eye.is-text{width:auto;padding:0 12px;font:600 .86rem/1 var(--au-display);color:var(--au-violet)}.auth .pw-wrap .input.has-text-eye{padding-right:76px}.auth .class-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.auth .class-pick{padding:11px 4px;border:1px solid var(--au-edge);border-radius:10px;background:#fff;color:var(--au-ink-2);font:600 .92rem/1.2 var(--au-display);cursor:pointer;transition:border-color .15s ease,color .15s ease,box-shadow .15s ease,background .15s ease}.auth .class-pick:hover{border-color:var(--au-violet-2);color:var(--au-violet)}.auth .class-pick.on{border-color:transparent;background:linear-gradient(135deg,var(--au-violet-2),var(--au-indigo));color:#fff;box-shadow:0 8px 18px -10px #4f46e5e6}.auth .class-pick:focus-visible{outline:3px solid #a78bfa;outline-offset:2px;border-radius:10px}.auth .class-row.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.auth .study-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:2px}@media (max-width: 460px){.auth .study-row{grid-template-columns:repeat(3,minmax(0,1fr))}}.auth .study-pick{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border:1px solid var(--au-edge);border-radius:10px;background:#fff;color:var(--au-ink-2);font-family:var(--au-display);cursor:pointer;transition:border-color .15s ease,color .15s ease,box-shadow .15s ease,background .15s ease}.auth .study-pick b{font-weight:700;font-size:.98rem}.auth .study-pick span{font-size:.72rem;opacity:.85}.auth .study-pick:hover{border-color:var(--au-violet-2);color:var(--au-violet)}.auth .study-pick.on{border-color:transparent;background:linear-gradient(135deg,var(--au-violet-2),var(--au-indigo));color:#fff;box-shadow:0 8px 18px -10px #4f46e5e6}.auth .study-pick:focus-visible{outline:3px solid #a78bfa;outline-offset:2px;border-radius:10px}.auth .study-row+.class-row{margin-top:10px}.auth .age-other{display:flex;align-items:center;gap:8px;margin-top:8px}.auth .age-other .input{width:96px;text-align:center}.auth .pin-input{align-self:flex-start;width:100%;max-width:220px;padding-left:.5em;font:600 1.7rem/1.2 var(--au-text);letter-spacing:.5em;text-align:center}.auth .auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 22px;border:1px solid transparent;border-radius:12px;font:600 1rem/1.2 var(--au-display);text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,color .16s ease,background .16s ease,opacity .16s ease}.auth .auth-btn.is-wide{width:100%}.auth .terms-note{margin:2px 0 0;text-align:center;line-height:1.5}.auth .terms-note a{color:var(--brand);font-weight:600}.auth .auth-btn.is-sm{min-height:42px;padding:9px 16px;border-radius:10px;font-size:.92rem}.auth .auth-btn:focus-visible{outline:3px solid #a78bfa;outline-offset:2px;border-radius:12px}.auth .auth-btn.is-sm:focus-visible{border-radius:10px}.auth .auth-btn.is-primary{background:linear-gradient(135deg,var(--au-violet-2),var(--au-indigo));color:#fff;box-shadow:0 12px 28px -14px #4f46e5e6}.auth .auth-btn.is-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 32px -14px #4f46e5}.auth .auth-btn.is-outline{background:#fff;color:var(--au-ink);border-color:var(--au-edge)}.auth .auth-btn.is-outline:hover:not(:disabled){border-color:var(--au-violet-2);color:var(--au-violet)}.auth .auth-btn.is-ghost{background:transparent;color:var(--au-ink-2)}.auth .auth-btn.is-ghost:hover:not(:disabled){background:#f1f5f9;color:var(--au-ink)}.auth .auth-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.auth .auth-btn svg{flex:none;transition:transform .16s ease}.auth .auth-btn:hover:not(:disabled) .auth-go{transform:translate(3px)}.auth .auth-alert{display:block;margin:0;padding:11px 14px;border:1px solid #fecdd3;border-radius:12px;background:#fff1f2;color:#9f1239;font-size:.9rem;line-height:1.5}.auth .auth-alert.is-warn{border-color:#fde68a;background:#fffbeb;color:#92400e}.auth .already-have{margin:0;padding:16px;display:grid;gap:8px;justify-items:start;border:1px solid #bbf7d0;border-radius:12px;background:#f0fdf4}.auth .already-have>b{font:600 1rem/1.35 var(--au-display);color:#14532d}.auth .already-have p{margin:0}.auth .already-have .auth-btn{margin-top:4px}.auth .signin-switch{margin:0;padding:0;border:0;display:grid;gap:10px;justify-items:stretch;text-align:center}.auth .signin-or{display:flex;align-items:center;gap:12px;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--au-ink-4)}.auth .signin-or:before,.auth .signin-or:after{content:"";flex:1;height:1px;background:var(--au-line)}.auth .forgot-row{margin:0;text-align:center}.auth .forgot-row>.link-btn{font-size:.9rem}.auth .forgot-box{margin:0;padding:14px;display:grid;gap:10px;justify-items:center;border:1px solid var(--au-line);border-radius:12px;background:var(--au-ground);text-align:center}.auth .forgot-box .row{justify-content:center;gap:8px}.auth .forgot-box.is-sent{border-color:#bbf7d0;background:#f0fdf4}.auth .forgot-box p{margin:0}.auth .signin-note{margin:0;padding:14px 16px;border:1px solid var(--au-line);border-radius:12px;background:var(--au-ground)}.auth .signin-note p{margin:0;line-height:1.55}.auth .signin-note p+p{margin-top:8px}.auth .signin-note b{color:var(--au-ink)}.auth .age-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px;margin-top:2px}.auth .avatar-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.auth .age-pick{min-width:0;padding:10px 0;border:1px solid var(--au-edge);border-radius:10px;background:#fff;color:var(--au-ink-2);font:600 .98rem/1.2 var(--au-display);cursor:pointer;transition:border-color .15s ease,color .15s ease,box-shadow .15s ease,background .15s ease}.auth .age-pick:hover{border-color:var(--au-violet-2);color:var(--au-violet)}.auth .age-pick.on{border-color:transparent;background:linear-gradient(135deg,var(--au-violet-2),var(--au-indigo));color:#fff;box-shadow:0 8px 18px -10px #4f46e5e6}.auth .avatar-pick{width:46px;height:46px;padding:0;border:1px solid var(--au-edge);border-radius:50%;background:#fff;font-size:22px;line-height:1;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.auth .avatar-pick:hover{border-color:var(--au-violet-2)}.auth .avatar-pick.on{transform:none;border-color:var(--au-violet-2);background:#f5f3ff;box-shadow:0 0 0 3px #7c3aed33}.auth .auth-skip{margin:0;padding-top:16px;border-top:1px solid var(--au-line);text-align:center}.auth .auth-skip .link-btn{text-align:center;font-size:.94rem}.auth .auth-done-mark{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#dcfce7;color:#15803d}.auth.is-child .auth-art svg{width:92px;height:92px}.auth.is-child .input{font-size:1.1rem;min-height:52px}.auth.is-child .pin-input{font-size:1.8rem}.auth.is-child .auth-btn.is-wide{min-height:56px;font-size:1.08rem}@media (max-width: 620px){.auth .auth-bar{padding:12px 16px}.auth .auth-head{padding:30px 16px 0;gap:14px}.auth .auth-sub{font-size:.98rem}.auth .auth-notice{width:calc(100% - 32px);margin-top:18px}.auth .auth-top{padding-bottom:92px}.auth .auth-main{margin-top:-68px;padding:0 16px 40px}.auth .auth-card{padding:22px 18px;border-radius:14px;gap:16px}.auth .class-row{grid-template-columns:repeat(3,minmax(0,1fr))}.auth.is-child .auth-art svg{width:68px;height:68px}}@media (max-width: 420px){.auth .age-pick{padding-block:9px}.auth .avatar-pick{width:42px;height:42px;font-size:20px}}@media (prefers-reduced-motion: reduce){.auth .auth-card{animation:none}.auth .auth-btn,.auth .auth-back svg,.auth .auth-btn svg{transition:none}}.landing .lp-how{max-width:none;padding-inline:0;background:linear-gradient(180deg,var(--paper-2) 0%,var(--paper) 70%);border-block:1px solid var(--lp-edge-soft)}.how-head{max-width:760px}.how-kicker{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--lp-edge);font-family:var(--lp-display);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}.landing .how-head .lp-h2{margin-top:14px}.how-sub{margin:0;display:flex;align-items:center;gap:10px;font-family:var(--lp-display);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}.how-sub:before{content:"";width:18px;height:2px;border-radius:2px;background:currentColor}.how-setup{margin-top:46px}.how-setup-list{--gap: 18px;position:relative;list-style:none;margin:18px 0 0;padding:0;display:grid;gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr))}.how-setup-list:before{content:"";position:absolute;z-index:0;top:38px;height:2px;left:37px;right:calc((100% - 2 * var(--gap)) / 3 - 37px);background:linear-gradient(90deg,var(--brand-2),var(--brand-3));transform-origin:left;transition:transform 1.1s cubic-bezier(.6,0,.2,1) .15s}.how-setup-list li{position:relative;z-index:1;display:grid;gap:6px;align-content:start;padding:20px;background:var(--paper);border:1px solid var(--lp-edge);border-radius:16px;transition:opacity .5s ease,transform .5s ease;transition-delay:calc(var(--i) * .35s + .1s)}.how-node{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--lp-display);font-weight:800;font-size:.95rem;box-shadow:0 0 0 5px var(--paper),0 0 0 6px var(--brand-3);transition:background .4s ease,color .4s ease;transition-delay:calc(var(--i) * .35s + .3s)}.how-setup-emoji{font-size:1.7rem;line-height:1;margin-top:10px}.how-setup-list b{font-family:var(--lp-display);font-size:1.04rem}.how-setup-list p{margin:0;line-height:1.6;color:var(--ink-soft);font-size:.93rem}.how-setup:not(.is-seen) .how-setup-list:before{transform:scaleX(0)}.how-setup:not(.is-seen) .how-setup-list li{opacity:0;transform:translateY(14px)}.how-setup:not(.is-seen) .how-node{background:var(--paper-3);color:var(--ink-faint)}.how-note{margin:14px 0 0;font-size:.9rem;color:var(--ink-soft)}.how-day{margin-top:64px}.how-day-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.how-day-lead{margin:8px 0 0;color:var(--ink-soft);line-height:1.6}.how-play{flex:none;display:inline-flex;align-items:center;gap:9px;padding:8px 15px;border:1px solid var(--lp-edge);border-radius:999px;background:var(--paper);font-family:var(--lp-display);font-size:.82rem;font-weight:600;color:var(--ink);cursor:pointer}.how-play:hover{border-color:var(--brand-2);color:var(--brand)}.how-play-icon{width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent}.how-play-icon.is-pause{width:9px;height:11px;border:0;background:linear-gradient(90deg,currentColor 0 35%,transparent 35% 65%,currentColor 65%)}.how-day-grid{margin-top:24px;display:grid;gap:44px;align-items:center;grid-template-columns:minmax(0,1fr) minmax(0,430px)}.how-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px}.how-step.is-warmup{--c: #d97706;--cs: #fef3c7}.how-step.is-learn{--c: #2563eb;--cs: #dbeafe}.how-step.is-practice{--c: #7c3aed;--cs: #ede9fe}.how-step.is-reward{--c: #ca8a04;--cs: #fef9c3}.how-step.is-games{--c: #db2777;--cs: #fce7f3}.how-step.is-review{--c: #16a34a;--cs: #dcfce7}.how-step{position:relative;border:1px solid transparent;border-radius:14px;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.how-step.is-active{background:var(--paper);border-color:var(--lp-edge);box-shadow:var(--lp-shadow)}.how-step button{width:100%;display:flex;align-items:center;gap:14px;padding:11px 14px;border:0;border-radius:14px;background:none;font:inherit;text-align:left;color:var(--ink);cursor:pointer}.how-step:not(.is-active) button:hover{background:#ffffffb3}.how-step button:focus-visible,.how-play:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.how-step-icon{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--cs);font-size:1.3rem;transition:transform .25s ease}.how-step.is-active .how-step-icon{transform:scale(1.06);box-shadow:inset 0 0 0 1.5px var(--c)}.how-step-text{display:grid;gap:1px;min-width:0}.how-step-text b{font-family:var(--lp-display);font-size:.98rem;font-weight:600}.how-step-text span{font-size:.85rem;color:var(--ink-faint)}.how-step.is-active .how-step-text span{color:var(--c);font-weight:600}.how-step-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.how-step-more>p{min-height:0;overflow:hidden;margin:0;padding:0 18px 0 70px;line-height:1.6;font-size:.92rem;color:var(--ink-soft);transition:padding .35s ease}.how-step.is-active .how-step-more{grid-template-rows:1fr}.how-step.is-active .how-step-more>p{padding-bottom:16px}.how-step-bar{position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:3px;background:var(--cs);overflow:hidden}.how-step-bar>span{display:block;height:100%;background:var(--c);transform-origin:left;animation-name:how-clock;animation-timing-function:linear;animation-fill-mode:both;animation-play-state:paused}.how-day.is-running .how-step-bar>span{animation-play-state:running}@keyframes how-clock{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.how-stage{position:relative;display:grid;justify-items:center;gap:16px}.how-stage:before{content:"";position:absolute;top:6%;right:-4%;bottom:14%;left:-4%;z-index:0;border-radius:50%;background:radial-gradient(closest-side,rgba(139,92,246,.28),transparent);filter:blur(18px)}.how-device{position:relative;z-index:1;width:100%;max-width:400px;aspect-ratio:4 / 4.7;padding:12px;border-radius:30px;background:linear-gradient(150deg,#2c2752,#15122b);box-shadow:inset 0 0 0 1px #ffffff14,0 34px 60px -32px #1e1b3aa6}.how-device:before{content:"";position:absolute;top:5px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#ffffff2e}.how-screen{height:100%;display:flex;flex-direction:column;border-radius:20px;background:var(--paper);overflow:hidden}.how-dots{position:relative;z-index:1;display:flex;gap:6px}.how-dots span{width:6px;height:6px;border-radius:6px;background:var(--paper-3);transition:width .3s ease,background .3s ease}.how-dots span.is-on{width:20px;background:var(--brand)}.how-day:not(.is-live) .how-screen *,.how-day:not(.is-live) .how-screen *:before,.how-day:not(.is-live) .how-screen *:after{animation-play-state:paused!important}.how-secondary{margin:30px 0 0;display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border:1px solid var(--lp-edge);border-radius:14px;background:var(--paper);line-height:1.6;color:var(--ink-soft)}.how-secondary>span:first-child{font-size:1.3rem;line-height:1.3}.how-secondary a{color:var(--brand);font-weight:700;text-decoration:none;white-space:nowrap}.how-secondary a:hover{text-decoration:underline}.sc-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--lp-edge-soft);background:var(--paper-2);font-size:.85rem}.sc-face{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#ffedd5;font-size:.9rem}.sc-purse{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid var(--lp-edge);border-radius:999px;background:var(--paper);font-weight:700;font-variant-numeric:tabular-nums}.sc-purse-n{display:inline-grid}.sc-purse-n>span{grid-area:1 / 1}.sc-purse.has-to .sc-purse-from{opacity:0;animation:sc-purse-out .3s ease var(--at) both}.sc-purse-to{animation:sc-purse-in .35s ease var(--at) both;color:#a16207}@keyframes sc-purse-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-7px)}}@keyframes sc-purse-in{0%{opacity:0;transform:translateY(7px)}}.sc{position:relative;flex:1;display:flex;flex-direction:column;gap:12px;padding:16px;min-height:0}.sc-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sc-pill{padding:4px 11px;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}.sc-pill.is-amber{background:#fef3c7;color:#92400e}.sc-pill.is-blue{background:#dbeafe;color:#1e40af}.sc-pill.is-purple{background:#ede9fe;color:#5b21b6}.sc-pill.is-pink{background:#fce7f3;color:#9d174d}.sc-pill.is-green{background:#dcfce7;color:#166534}.sc-count{font-size:.75rem;font-weight:600;color:var(--ink-faint);text-align:right}.sc-foot{margin:0;font-size:.76rem;color:var(--ink-faint);text-align:center}.sc-q{margin:4px 0 0;text-align:center;font-family:var(--lp-display);font-size:1.55rem;font-weight:800;color:var(--ink);animation:sc-up .4s ease .15s both}.sc-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sc-options>span{position:relative;display:grid;place-items:center;padding:12px 8px;border:2px solid var(--paper-3);border-radius:12px;background:var(--paper);font-weight:700;font-size:1.02rem;color:var(--ink)}.sc-options .is-right{border-color:var(--good);background:var(--good-soft);color:#11663a;animation:sc-right .35s ease 1.5s both}.sc-options .is-right:after{content:"✓";position:absolute;right:9px;top:50%;margin-top:-.6em;font-weight:800;color:var(--good);animation:sc-pop .3s ease 1.65s both}@keyframes sc-right{0%{border-color:var(--paper-3);background:var(--paper);color:var(--ink)}}.sc-tap{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#6d28d947;opacity:0;pointer-events:none;animation:sc-tap .65s ease-out 1.15s both}@keyframes sc-tap{0%{opacity:0;transform:scale(.3)}30%{opacity:1}to{opacity:0;transform:scale(1.5)}}@keyframes sc-up{0%{opacity:0;transform:translateY(10px)}}@keyframes sc-pop{0%{opacity:0;transform:scale(.3)}}.sc-progress{height:6px;border-radius:6px;background:var(--paper-3);overflow:hidden}.sc-progress>span{display:block;width:30%;height:100%;border-radius:6px;background:#f59e0b;animation:sc-warm .6s ease 1.9s both}@keyframes sc-warm{0%{width:20%}}.sc-note{display:grid;gap:8px;padding:14px;border-radius:12px;background:var(--paper-2)}.sc-line{display:block;width:var(--w);height:9px;border-radius:5px;background:#c7d2fe;animation:sc-type .5s ease var(--d) both}@keyframes sc-type{0%{width:0}}.sc-example{display:grid;gap:2px;padding:10px 14px;border:1.5px dashed #93c5fd;border-radius:12px;background:#eff6ff;animation:sc-up .4s ease 2.1s both}.sc-example small{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8}.sc-example b{font-family:var(--lp-display);font-size:1.35rem;color:var(--ink)}.sc-example .is-sum{display:inline-block;color:#2563eb;animation:sc-pop .35s ease 2.6s both}.sc-ava{margin-top:auto;display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border-radius:16px;background:#f5f3ff}.sc-ava small{font-size:.78rem;font-weight:600;color:var(--ink-soft)}.sc-wave{display:flex;align-items:center;gap:3px;height:22px}.sc-wave i{width:3px;height:100%;border-radius:2px;background:var(--brand-2);animation:sc-wave .9s ease-in-out infinite}.sc-wave i:nth-child(2){animation-delay:.15s}.sc-wave i:nth-child(3){animation-delay:.3s}.sc-wave i:nth-child(4){animation-delay:.45s}.sc-wave i:nth-child(5){animation-delay:.6s}@keyframes sc-wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.sc-practice .is-wrong .sc-tap{animation-delay:.75s}.sc-practice .is-right .sc-tap{animation-delay:2.35s}.sc-practice .is-right{animation-delay:2.6s}.sc-practice .is-right:after{animation-delay:2.75s}.sc-options .is-wrong{opacity:.5;animation:sc-wrong 1.1s ease .95s both}@keyframes sc-wrong{0%{opacity:1;border-color:var(--paper-3);background:var(--paper);transform:none}12%{border-color:#f87171;background:#fef2f2;transform:translate(-5px)}24%{transform:translate(5px)}36%{transform:translate(-3px)}48%{opacity:1;border-color:#f87171;background:#fef2f2;transform:none}to{opacity:.5;border-color:var(--paper-3);background:var(--paper)}}.sc-retry{margin:0;padding:8px 10px;border-radius:10px;background:var(--warn-soft);color:#92400e;font-size:.84rem;font-weight:600;text-align:center;animation:sc-up .35s ease 1.35s both}.sc-next{align-self:center;margin-top:auto;padding:6px 13px;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:.8rem;font-weight:700;animation:sc-up .35s ease 3.4s both}.sc-reward{align-items:center;justify-content:center;gap:14px;text-align:center}.sc-done{margin:0;font-family:var(--lp-display);font-size:1.35rem;font-weight:800;color:var(--ink);animation:sc-up .4s ease .1s both}.sc-stars{display:flex;gap:10px;font-size:2.6rem;line-height:1}.sc-stars span{display:inline-block;animation:sc-star .55s cubic-bezier(.2,1.6,.4,1) both}.sc-stars span:nth-child(1){animation-delay:.45s}.sc-stars span:nth-child(2){animation-delay:.8s}.sc-stars span:nth-child(3){animation-delay:1.15s}@keyframes sc-star{0%{opacity:0;transform:scale(.2) rotate(-35deg)}}.sc-reward .sc-foot{animation:sc-up .4s ease 1.5s both}.sc-coins{position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;background:#fef9c3;color:#854d0e;font-weight:800;animation:sc-up .4s ease 1.85s both}.sc-coins:after{content:"🪙";position:absolute;left:18px;top:8px;opacity:0;animation:sc-fly .75s ease-in 2.15s both}@keyframes sc-fly{0%{opacity:1;transform:none}to{opacity:0;transform:translate(110px,-210px) scale(.6)}}.sc-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sc-tile{position:relative;display:grid;justify-items:center;gap:3px;padding:12px 6px;border:1px solid var(--lp-edge);border-radius:12px;background:var(--paper)}.sc-tile em{font-style:normal;font-size:1.6rem;line-height:1.1}.sc-tile b{font-size:.8rem}.sc-tile.is-pick{border-color:#db2777;box-shadow:0 0 0 3px #fce7f3;animation:sc-pick .3s ease 1.25s both}.sc-tile .sc-tap{animation-delay:.95s}@keyframes sc-pick{0%{border-color:var(--lp-edge);box-shadow:none}}.sc-timer{margin-top:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:.74rem;font-weight:600;color:var(--ink-soft);animation:sc-up .35s ease 1.4s both}.sc-timer-track{height:8px;border-radius:8px;background:var(--paper-3);overflow:hidden}.sc-timer-track>span{display:block;width:70%;height:100%;border-radius:8px;background:linear-gradient(90deg,#db2777,#f472b6);animation:sc-fill 2.6s linear 1.6s both}@keyframes sc-fill{0%{width:0}}.sc-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.sc-days span{display:grid;place-items:center;aspect-ratio:1;border-radius:8px;background:#dcfce7;color:#166534;font-size:.72rem;font-weight:700;animation:sc-day .25s ease both;animation-delay:calc(var(--i) * .11s + .3s)}.sc-days span.is-due{background:var(--good);color:#fff;box-shadow:0 0 0 3px #bbf7d0}@keyframes sc-day{0%{background:var(--paper-2);color:var(--ink-faint);box-shadow:none}}.sc-card{margin-top:auto;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #bbf7d0;border-radius:14px;background:#f0fdf4;text-align:left;animation:sc-up .45s ease 2.2s both}.sc-card-emoji{font-size:1.5rem}.sc-card b{display:block;font-size:.92rem}.sc-card small{color:#166534;font-weight:600}.how-parent{margin-top:72px;display:grid;gap:44px;align-items:center;grid-template-columns:minmax(0,1fr) minmax(0,470px)}.how-parent-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}.how-parent-list li{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;line-height:1.55;color:var(--ink-soft)}.how-parent-list li>span:first-child{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--lp-edge);border-radius:11px;background:var(--paper);font-size:1.1rem}.how-parent-list b{color:var(--ink)}.how-dash{display:grid;gap:14px;padding:18px;border:1px solid var(--lp-edge);border-radius:18px;background:var(--paper);box-shadow:0 28px 54px -30px #1e1b3a80}.how-dash-top{display:flex;align-items:center;justify-content:space-between;font-size:.86rem;font-weight:700}.how-dash-child{padding:3px 10px;border-radius:999px;background:var(--paper-2)}.how-dash-verdict{margin:0;padding:10px 12px;border-radius:12px;background:var(--paper-2);font-size:.87rem;line-height:1.5;color:var(--ink-soft)}.how-dash-block{display:grid;gap:8px}.how-dash-block>small{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}.how-dash-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 46px;gap:10px;align-items:center;font-size:.84rem}.how-dash-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.how-dash-track{height:8px;border-radius:8px;background:var(--paper-3);overflow:hidden}.how-dash-track>span{display:block;width:var(--pct);height:100%;border-radius:8px;background:var(--brand-2);transform-origin:left;transition:transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * .13s + .2s)}.how-dash-track>span.is-low{background:#f59e0b}.how-dash-stars{font-size:.8rem;letter-spacing:1px;color:#eab308}.how-dash-stars i{font-style:normal;color:var(--paper-3)}.how-dash-log{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:var(--paper-2);font-size:.82rem;transition:opacity .4s ease,transform .4s ease;transition-delay:calc((2 - var(--i)) * .3s + .9s)}.how-dash-log time{color:var(--ink-faint);white-space:nowrap}.how-parent:not(.is-seen) .how-dash-track>span{transform:scaleX(0)}.how-parent:not(.is-seen) .how-dash-log{opacity:0;transform:translateY(-8px)}.how-caption{display:none;justify-self:center;max-width:46ch;min-height:6.6em;margin:0;text-align:center;line-height:1.6;color:var(--ink-soft);animation:sc-up .35s ease both}.how-caption b{display:block;margin-bottom:2px;font-family:var(--lp-display);color:var(--ink)}@media (max-width: 960px){.how-day-grid,.how-parent{grid-template-columns:minmax(0,1fr);gap:22px}.how-device{max-width:360px}.how-steps{display:flex;gap:8px;overflow-x:auto;margin-inline:-20px;padding:2px 20px 8px;scroll-snap-type:x proximity;scrollbar-width:none}.how-steps::-webkit-scrollbar{display:none}.how-step{flex:none;scroll-snap-align:center;background:var(--paper);border-color:var(--lp-edge)}.how-step.is-active{border-color:var(--c);box-shadow:none}.how-step button{gap:10px;padding:7px 14px 10px 7px}.how-step-icon{width:34px;height:34px;border-radius:10px;font-size:1.05rem}.how-step.is-active .how-step-icon{transform:none}.how-step-text b{font-size:.9rem;white-space:nowrap}.how-step-text span,.how-step-more{display:none}.how-step-bar{left:10px;right:10px;bottom:4px}.how-caption{display:block}.how-setup-list{grid-template-columns:minmax(0,1fr)}.how-setup-list li{grid-template-columns:34px minmax(0,1fr);column-gap:16px}.how-node{grid-row:1 / span 3}.how-setup-emoji{margin-top:0}.how-setup-list:before{top:38px;bottom:38px;left:37px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--brand-2),var(--brand-3));transform-origin:top}.how-setup:not(.is-seen) .how-setup-list:before{transform:scaleY(0)}}@media (max-width: 560px){.how-day-head{flex-direction:column;align-items:flex-start}.how-dash-row{grid-template-columns:minmax(0,1fr) 72px 42px}.how-secondary{padding:12px 14px}}@media (prefers-reduced-motion: reduce){.lp-how *,.lp-how *:before,.lp-how *:after{animation:none!important;transition:none!important}}.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.pc-card{display:flex;flex-direction:column;gap:12px;padding:20px 20px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 1px 2px #0f172a0a,0 8px 24px #0f172a0d;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;min-width:0}.pc-card:hover{transform:translateY(-2px);border-color:#ddd6fe;box-shadow:0 2px 4px #0f172a0d,0 14px 32px #4c1d951f}.pc-card.is-soon{border-color:#fcd34d}.pc-card.is-wait{min-height:290px;background:linear-gradient(100deg,#f8fafc 30%,#eef2f7,#f8fafc 70%) 0 0 / 200% 100%;animation:pc-wait 1.4s linear infinite;box-shadow:none}@keyframes pc-wait{to{background-position:-200% 0}}.pc-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.pc-kind,.pc-subject,.pc-soon{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.2}.pc-kind.is-quiz{background:#ede9fe;color:#5b21b6}.pc-kind.is-race{background:#dcfce7;color:#166534}.pc-subject{background:#f1f5f9;color:#334155}.pc-soon{background:#fef3c7;color:#92400e;margin-left:auto}.pc-title{margin:2px 0 0;font-size:1.22rem;line-height:1.25;color:#0f172a;font-weight:800}.pc-scope{margin:-4px 0 0;font-size:.85rem;font-weight:700;color:#6d28d9}.pc-school{margin:-4px 0 0;font-size:.85rem;color:#0f766e}.pc-how{margin:0;font-size:.93rem;line-height:1.5;color:#475569}.pc-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 0}.pc-facts div{padding:9px 10px;border-radius:12px;background:#f8fafc;border:1px solid #eef2f7;min-width:0}.pc-facts dt{font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#64748b}.pc-facts dd{margin:2px 0 0;font-size:.98rem;font-weight:800;color:#0f172a}.pc-timeline{margin-top:4px}.pc-track{position:relative;height:6px;margin:10px 7px 0;border-radius:999px;background:#e2e8f0}.pc-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,#a78bfa,#7c3aed)}.pc-stop{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;border:3px solid #cbd5e1}.pc-stop.is-start{left:0;border-color:#7c3aed}.pc-stop.is-mid{left:50%;border-color:#f59e0b;width:16px;height:16px;margin:-8px 0 0 -8px}.pc-stop.is-end{left:100%}.pc-now{position:absolute;top:50%;width:4px;height:18px;margin:-9px 0 0 -2px;border-radius:2px;background:#0f172a;box-shadow:0 0 0 2px #fff;z-index:1}.pc-stops{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pc-stops li{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.8rem;line-height:1.3}.pc-stops li:nth-child(2){text-align:center}.pc-stops li:nth-child(3){text-align:right}.pc-stops b{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:#64748b}.pc-stops span{color:#0f172a;font-weight:600}.pc-stops .is-key b{color:#b45309}.pc-stops .is-key span{color:#92400e;font-weight:800}.pc-join{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:0;border-radius:12px;background:#6d28d9;color:#fff;font:inherit;font-weight:800;cursor:pointer;transition:background .15s,transform .15s}.pc-join:hover{background:#5b21b6;transform:translateY(-1px)}.pc-join:focus-visible,.pc-cta:focus-visible{outline:3px solid #c4b5fd;outline-offset:2px}.pc-empty{display:grid;justify-items:center;gap:8px;text-align:center;padding:36px 20px;border-radius:20px;background:#faf5ff;border:1.5px dashed #c4b5fd}.pc-empty-icon{font-size:2.2rem}.pc-empty h2,.pc-empty h3{margin:0;font-size:1.2rem;color:#1e1b4b}.pc-empty p{margin:0;max-width:34em;color:#475569;line-height:1.55}.pc-cta{margin-top:8px;padding:11px 20px;border:0;border-radius:999px;background:#6d28d9;color:#fff;font:inherit;font-weight:800;cursor:pointer}.pc-cta:hover{background:#5b21b6}.pc-live{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #22c55e2e;vertical-align:1px;animation:pc-pulse 2.2s ease-in-out infinite}@keyframes pc-pulse{50%{box-shadow:0 0 0 7px #22c55e0d}}.pc-homeband{padding-block:72px;background:linear-gradient(180deg,#f5f3ff,#fff);border-bottom:1px solid #ede9fe}.pc-home-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-bottom:28px}.pc-home-stats{display:flex;flex-wrap:wrap;gap:10px}.pc-stat{display:inline-flex;align-items:center;gap:4px;padding:9px 14px;border-radius:999px;background:#fff;border:1px solid #ddd6fe;font-size:.92rem;color:#334155}.pc-stat b{color:#1e1b4b;font-size:1.05rem}.pc-home-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin-top:22px;font-size:.93rem;color:#475569}.pc-home-foot a{color:#6d28d9;font-weight:800;text-decoration:none}.pc-home-foot a:hover{text-decoration:underline}.pc-meta{display:flex;flex-wrap:wrap;gap:6px 16px}.pc-meta span{display:inline-flex;align-items:center}.pc-band{padding-top:8px}.pc-privacy{margin:18px 0 0;font-size:.9rem;color:#64748b}.pc-steps{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.pc-steps li{position:relative;padding:20px 18px 18px;border-radius:16px;background:#fff;border:1px solid #e2e8f0}.pc-step-no{position:absolute;top:14px;right:16px;font-weight:800;color:#cbd5e1;font-size:1.4rem}.pc-step-icon{font-size:1.6rem}.pc-steps b{display:block;margin-top:8px;font-size:1.02rem;color:#0f172a}.pc-steps p{margin:6px 0 0;color:#475569;line-height:1.5;font-size:.94rem}.pc-rules-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:22px;color:#334155}.pc-rules-foot p{margin:0}@media (max-width: 520px){.pc-grid{grid-template-columns:1fr}.pc-card{padding:16px}.pc-homeband{padding-block:52px}.pc-stops li{font-size:.76rem}}@media (prefers-reduced-motion: reduce){.pc-card,.pc-join{transition:none}.pc-card:hover{transform:none}.pc-card.is-wait,.pc-live{animation:none}}.landing{--hm-ink: #0f172a;--hm-ink-2: #334155;--hm-ink-3: #64748b;--hm-line: #e2e8f0;--hm-ground: #f8fafc;--hm-violet: #6d28d9;--hm-violet-2: #7c3aed;--hm-indigo: #4f46e5;--hm-night: #0b1020;--hm-night-2: #10183a;--hm-text: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--hm-display: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;--hm-max: 1200px;font-family:var(--hm-text)}.hm{color:var(--hm-ink)}.hm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hm-wrap{max-width:var(--hm-max);margin-inline:auto;padding-inline:24px}.hm-section{padding-block:104px}.hm-kicker{display:inline-flex;align-items:center;gap:10px;font:700 .74rem/1 var(--hm-text);letter-spacing:.14em;text-transform:uppercase;color:var(--hm-violet)}.hm-kicker:before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor}.hm-h2{margin:14px 0 0;font-family:var(--hm-display);font-weight:800;font-size:clamp(1.85rem,3.4vw,2.75rem);line-height:1.1;letter-spacing:-.028em;color:var(--hm-ink);text-wrap:balance}.hm-lead{margin:16px 0 0;max-width:60ch;font-size:1.07rem;line-height:1.68;color:var(--hm-ink-2)}.hm-head.is-center{text-align:center}.hm-head.is-center .hm-lead{margin-inline:auto}.hm-head.is-center .hm-kicker{justify-content:center}.is-dark .hm-kicker{color:#c4b5fd}.is-dark .hm-h2{color:#fff}.is-dark .hm-lead{color:#cbd5e1}.hm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border:1px solid transparent;border-radius:12px;font:600 .98rem/1.2 var(--hm-display);text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.hm-btn:hover{transform:translateY(-1px)}.hm-btn:focus-visible{outline:3px solid #a78bfa;outline-offset:2px}.hm-btn.is-primary{background:linear-gradient(135deg,var(--hm-violet-2),var(--hm-indigo));color:#fff;box-shadow:0 12px 28px -14px #4f46e5e6}.hm-btn.is-light{background:#fff;color:var(--hm-ink)}.hm-btn.is-outline{background:transparent;color:#e2e8f0;border-color:#e2e8f059}.hm-btn.is-outline:hover{border-color:#e2e8f0}.hm-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hm-textlink{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font:600 .98rem var(--hm-display);color:var(--hm-violet);text-decoration:none}.hm-textlink svg{transition:transform .18s ease}.hm-textlink:hover svg{transform:translate(3px)}.hm-points{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px}.hm-points li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:1rem;line-height:1.55;color:var(--hm-ink-2)}.hm-points svg{margin-top:3px;color:#059669;flex:none}.hm-points b{font-family:var(--hm-display);color:var(--hm-ink)}.hm-points.is-dark li{color:#cbd5e1}.hm-points.is-dark svg{color:#6ee7b7}[data-reveal=on] .hm-reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d, 0ms)}[data-reveal=on] .hm-reveal.is-in{opacity:1;transform:none}.hm-hero{position:relative;isolation:isolate;overflow:hidden;color:#e2e8f0;background:radial-gradient(900px 520px at 88% -8%,rgba(124,58,237,.42),transparent 62%),radial-gradient(760px 480px at -6% 104%,rgba(13,148,136,.3),transparent 60%),radial-gradient(600px 400px at 45% 120%,rgba(79,70,229,.28),transparent 60%),linear-gradient(180deg,var(--hm-night) 0%,var(--hm-night-2) 100%)}.hm-hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1}.hm-hero-inner{max-width:var(--hm-max);margin-inline:auto;padding:84px 24px 28px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}.hm-hero-copy{min-width:0;animation:hm-rise .9s cubic-bezier(.2,.7,.2,1) both}.hm-hero-art{min-width:0;animation:hm-rise .9s .15s cubic-bezier(.2,.7,.2,1) both}@keyframes hm-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hm-eyebrow{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 11px;border:1px solid rgba(167,139,250,.35);border-radius:999px;background:#7c3aed29;font-size:.8rem;font-weight:600;letter-spacing:.01em;color:#ddd6fe}.hm-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px #34d3992e;animation:hm-pulse 2.4s ease-in-out infinite}@keyframes hm-pulse{50%{box-shadow:0 0 0 7px #34d3990d}}.hm-h1{margin:22px 0 0;font-family:var(--hm-display);font-weight:800;font-size:clamp(2.35rem,5vw,4rem);line-height:1.04;letter-spacing:-.035em;color:#fff;text-wrap:balance}.hm-h1-accent{display:block;font-weight:600;background:linear-gradient(92deg,#c4b5fd,#93c5fd 48%,#6ee7b7);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}.hm-mantra-stack{display:grid}.hm-mantra-line{grid-area:1 / 1;align-self:center;opacity:0;visibility:hidden;pointer-events:none}.hm-mantra-line.is-on{opacity:1;visibility:visible;pointer-events:auto;animation:hm-mantra-in .85s cubic-bezier(.2,.7,.2,1) .15s both}.hm-mantra-line.is-on.is-first{animation:none}.hm-mantra-line.is-out{visibility:visible;animation:hm-mantra-out .55s cubic-bezier(.4,0,1,1) both}@keyframes hm-mantra-in{0%{opacity:0;transform:translateY(.32em)}to{opacity:1;transform:none}}@keyframes hm-mantra-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-.24em);visibility:hidden}}.hm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hm-hero-sub{margin:22px 0 0;max-width:36em;font-size:1.1rem;line-height:1.65;color:#cbd5e1}.hm-doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px;max-width:580px}.hm-doors.is-one{grid-template-columns:minmax(0,340px)}.hm-door{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px;border:1px solid transparent;border-radius:16px;font:inherit;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.hm-door:hover{transform:translateY(-2px)}.hm-door.is-plain{grid-template-columns:minmax(0,1fr) auto;padding-inline:20px}.hm-door:focus-visible{outline:3px solid #c4b5fd;outline-offset:3px}.hm-door-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center}.hm-door-text{display:grid;gap:3px;min-width:0}.hm-door-text b{font:600 1.04rem/1.2 var(--hm-display)}.hm-door-text small{font-size:.82rem;line-height:1.35;opacity:.82}.hm-door-go{transition:transform .2s ease}.hm-door:hover .hm-door-go{transform:translate(3px)}.hm-door.is-student{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;box-shadow:0 16px 36px -16px #7c3aedf2,inset 0 1px #fff3}.hm-door.is-student .hm-door-ic{background:#ffffff29}.hm-door.is-student:hover{box-shadow:0 22px 44px -16px #7c3aed,inset 0 1px #fff3}.hm-door.is-parent{background:#fff;color:var(--hm-ink);box-shadow:0 16px 36px -20px #000000b3}.hm-door.is-parent .hm-door-ic{background:#ecfdf5;color:#047857}.hm-door.is-parent small{color:var(--hm-ink-3);opacity:1}.hm-free{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:22px 0 0;padding:0;font-size:.9rem;color:#cbd5e1}.hm-free li{display:inline-flex;align-items:center;gap:7px}.hm-free svg{color:#6ee7b7}.hm-signin-line{margin:14px 0 0;font-size:.92rem;color:#94a3b8}.hm-inline{padding:0;border:0;background:none;font:inherit;font-weight:600;color:#c4b5fd;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#c4b5fd66;cursor:pointer}.hm-inline:hover{color:#fff;text-decoration-color:#fff}.hm-give{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 14px;border:1px solid rgba(251,191,36,.32);border-radius:999px;background:#fbbf2414;font:inherit;font-size:.86rem;color:#fde68a;cursor:pointer;transition:background .18s ease,border-color .18s ease}.hm-give:hover{background:#fbbf2429;border-color:#fbbf2499}.hm-give b{color:#fef3c7}.hm-window{position:relative;margin:0;border-radius:20px;background:#0c122cc7;border:1px solid rgba(148,163,184,.22);box-shadow:0 40px 90px -36px #000000d9,inset 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden}.hm-window:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--hm-angle, 0deg),transparent 0 70%,rgba(167,139,250,.7) 80%,transparent 90%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:hm-glint 8s linear infinite;pointer-events:none}@property --hm-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes hm-glint{to{--hm-angle: 360deg}}.hm-window-bar{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid rgba(148,163,184,.14);font-size:.8rem;color:#cbd5e1}.hm-window-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.hm-dots{display:inline-flex;gap:6px;flex:none}.hm-dots i{width:10px;height:10px;border-radius:50%;background:#475569}.hm-dots i:nth-child(1){background:#f87171}.hm-dots i:nth-child(2){background:#fbbf24}.hm-dots i:nth-child(3){background:#34d399}.hm-live{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6ee7b7}.hm-live span{width:7px;height:7px;border-radius:50%;background:#34d399;animation:hm-blink 1.6s ease-in-out infinite}@keyframes hm-blink{50%{opacity:.3}}.hm-window-tabs{display:flex;gap:2px;padding:8px 10px 0;overflow-x:auto;scrollbar-width:none}.hm-window-tabs::-webkit-scrollbar{display:none}.hm-tab{position:relative;flex:none;padding:8px 13px 11px;border:0;border-radius:9px 9px 0 0;background:none;font:600 .82rem var(--hm-text);color:#94a3b8;cursor:pointer}.hm-tab:hover{color:#e2e8f0}.hm-tab.is-on{color:#fff;background:#94a3b81f}.hm-tab:focus-visible{outline:2px solid #a78bfa;outline-offset:-2px}.hm-tab-timer{position:absolute;left:10px;right:10px;bottom:3px;height:2px;border-radius:2px;background:linear-gradient(90deg,#a78bfa,#60a5fa);transform-origin:left;transform:scaleX(0)}.hm-window-canvas{display:block;width:100%;aspect-ratio:16 / 10;background:#060a1c8c}.hm-window-read{margin:0;padding:11px 14px 13px;min-height:3.1em;border-top:1px solid rgba(148,163,184,.14);font-size:.82rem;line-height:1.45;color:#cbd5e1;font-variant-numeric:tabular-nums}.hm-figures{max-width:var(--hm-max);margin:0 auto;padding:18px 24px 52px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.hm-fig{padding:14px 22px;border-left:1px solid rgba(148,163,184,.2)}.hm-fig:first-child{border-left:0;padding-left:0}.hm-fig dt{font-family:var(--hm-display);font-weight:800;font-size:clamp(1.7rem,3.2vw,2.4rem);letter-spacing:-.025em;color:#fff;font-variant-numeric:tabular-nums}.hm-fig dd{margin:4px 0 0;font-size:.86rem;color:#94a3b8}.hm-motion{position:absolute;right:18px;bottom:16px;padding:6px 12px;border:1px solid rgba(148,163,184,.28);border-radius:999px;background:#0b102099;font:600 .72rem var(--hm-text);letter-spacing:.04em;color:#94a3b8;cursor:pointer}.hm-motion:hover{color:#e2e8f0;border-color:#e2e8f080}.hm-ticker{position:relative;overflow:hidden;padding:15px 0;background:#0d1430;border-top:1px solid rgba(148,163,184,.12);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.hm-ticker-track{display:flex;width:max-content;animation:hm-marquee 70s linear infinite}.hm-ticker:hover .hm-ticker-track{animation-play-state:paused}.hm-ticker-set{display:flex}.hm-ticker-set span{display:inline-flex;align-items:center;gap:26px;padding-right:26px;font:600 .92rem var(--hm-display);color:#94a3b8;white-space:nowrap}.hm-ticker-set span:after{content:"";width:5px;height:5px;border-radius:50%;background:#7c3aed;opacity:.8}@keyframes hm-marquee{to{transform:translate(-50%)}}.hm-levels{background:#fff}.hm-journey{position:relative;list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.hm-journey:before{content:"";position:absolute;left:6%;right:6%;top:47px;height:2px;background:linear-gradient(90deg,#16a34a,#2563eb,#d97706,#7c3aed);opacity:.45;transform-origin:left;transition:transform 1.6s cubic-bezier(.3,.7,.2,1) .2s}[data-reveal=on] .hm-journey:not(.is-in):before{transform:scaleX(0)}.hm-journey.hm-reveal{opacity:1;transform:none}.hm-stage{position:relative}.hm-stage a{position:relative;z-index:1;display:grid;align-content:start;gap:10px;height:100%;padding:24px 22px 22px;background:#fff;border:1px solid var(--hm-line);border-radius:20px;color:inherit;text-decoration:none;box-shadow:0 1px 2px #0f172a0a;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;overflow:hidden}[data-reveal=on] .hm-journey .hm-stage{opacity:0;transform:translateY(24px);transition:opacity .7s ease var(--d),transform .7s cubic-bezier(.2,.7,.2,1) var(--d)}[data-reveal=on] .hm-journey.is-in .hm-stage{opacity:1;transform:none}.hm-stage a:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--lc)}.hm-stage a:after{content:"";position:absolute;inset:auto -40% -60% auto;width:80%;aspect-ratio:1;border-radius:50%;background:var(--lc);opacity:0;filter:blur(40px);transition:opacity .35s ease;pointer-events:none}.hm-stage a:hover{transform:translateY(-5px);box-shadow:0 28px 54px -28px #0f172a73;border-color:var(--lc)}.hm-stage a:hover:after{opacity:.1}.hm-stage a:focus-visible{outline:3px solid var(--lc);outline-offset:3px}.hm-stage-top{display:flex;align-items:center;justify-content:space-between}.hm-stage-ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;color:var(--lc);background:#f1f5f9;background:color-mix(in srgb,var(--lc) 11%,white);box-shadow:0 0 0 6px #fff}.hm-stage-no{font:800 .86rem var(--hm-display);color:#cbd5e1;letter-spacing:.04em}.hm-stage-name{margin-top:6px;font:700 1.2rem/1.2 var(--hm-display);font-weight:600;letter-spacing:-.01em}.hm-stage-classes{font-size:.86rem;font-weight:600;color:var(--lc)}.hm-stage-body{margin:2px 0 0;font-size:.94rem;line-height:1.55;color:var(--hm-ink-2)}.hm-stage-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:8px}.hm-stage-count{font-size:.82rem;font-weight:600;color:var(--hm-ink-3)}.hm-stage-go{display:inline-flex;align-items:center;gap:6px;font:600 .9rem var(--hm-display);color:var(--hm-ink)}.hm-stage-go svg{transition:transform .2s ease}.hm-stage a:hover .hm-stage-go{color:var(--lc)}.hm-stage a:hover .hm-stage-go svg{transform:translate(4px)}.hm-labband{background:linear-gradient(rgba(148,163,184,.1) 1px,transparent 1px) 0 0 / 32px 32px,linear-gradient(90deg,rgba(148,163,184,.1) 1px,transparent 1px) 0 0 / 32px 32px,var(--hm-ground);border-block:1px solid var(--hm-line)}.hm-lab-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:56px;align-items:start}.hm-lab-copy{position:sticky;top:110px}.hm-lab{border-radius:22px;background:#fff;border:1px solid var(--hm-line);box-shadow:0 30px 70px -40px #0f172a73;overflow:hidden}.hm-lab-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--hm-line);background:#fbfcfe}.hm-lab-tab{display:grid;gap:2px;text-align:left;padding:14px 16px 13px;border:0;border-right:1px solid var(--hm-line);background:none;font:inherit;cursor:pointer;box-shadow:inset 0 -2px 0 transparent;transition:background .18s ease,box-shadow .18s ease}.hm-lab-tab:last-child{border-right:0}.hm-lab-tab b{font:600 .95rem var(--hm-display);color:var(--hm-ink-2)}.hm-lab-tab-subject{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hm-ink-3)}.hm-lab-tab:hover{background:#fff}.hm-lab-tab.is-on{background:#fff;box-shadow:inset 0 -2px 0 var(--hm-violet-2)}.hm-lab-tab.is-on b{color:var(--hm-ink)}.hm-lab-tab.is-on .hm-lab-tab-subject{color:var(--hm-violet)}.hm-lab-tab:focus-visible{outline:2px solid var(--hm-violet-2);outline-offset:-2px}.hm-lab-stage{padding:20px 22px 18px}.hm-lab-head{margin-bottom:4px}.hm-lab-where{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hm-violet)}.hm-lab-head p{margin:6px 0 0;font-size:.95rem;line-height:1.6;color:var(--hm-ink-2)}.hm-simhost{--ex-ink: #0f172a;--ex-ink-soft: #475569;--ex-ink-faint: #8a97ab;--ex-paper: #ffffff;--ex-ground: #f4f6fb;--ex-line: #e5e9f2;--ex-line-firm: #cdd5e3;--ex-brand: #4f46e5;--ex-brand-deep: #3730a3;--ex-brand-soft: #eef0ff;--ex-teal: #0d9488;--ex-teal-soft: #ccfbf1;--ex-gold: #d97706;--ex-gold-soft: #fef3c7;--ex-good: #059669;--ex-good-soft: #d1fae5;--ex-bad: #dc2626;--ex-bad-soft: #fee2e2;--ex-warn: #b45309;--ex-warn-soft: #fef3c7;--ex-r: 14px;--ex-display: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;color:var(--ex-ink)}.hm-simhost .jsim{margin:12px 0 0}.hm-simhost .jsim>h3{font-family:var(--ex-display)}.hm-lab-wait .hm-lab-tabs span{height:58px;border-right:1px solid var(--hm-line)}.hm-lab-shimmer{height:420px;border-radius:14px;background:linear-gradient(100deg,#f1f5f9 30%,#f8fafc,#f1f5f9 70%) 0 0 / 300% 100%;animation:hm-shimmer 1.4s linear infinite}@keyframes hm-shimmer{to{background-position:-150% 0}}.hm-examband{position:relative;overflow:hidden;background:radial-gradient(700px 420px at 100% 0%,rgba(79,70,229,.35),transparent 60%),radial-gradient(600px 400px at 0% 100%,rgba(124,58,237,.25),transparent 60%),var(--hm-night);color:#e2e8f0}.hm-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}.hm-split.is-flip{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.hm-examcard{margin-top:28px;padding:18px 20px;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:#ffffff0a}.hm-examcard-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.hm-examcard-top b{font:600 1.08rem var(--hm-display);color:#fff}.hm-examcard-meta{display:block;margin-top:6px;font-size:.88rem;color:#a5b4fc;font-variant-numeric:tabular-nums}.hm-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.hm-chip{padding:5px 11px;border-radius:999px;background:#94a3b81f;border:1px solid rgba(148,163,184,.2);font-size:.8rem;font-weight:600;color:#e2e8f0}.hm-next{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:30px;padding-top:20px;border-top:1px solid rgba(148,163,184,.16);font-size:.86rem;color:#94a3b8}.hm-next>span:first-child{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.hm-next-item{display:inline-flex;align-items:center;gap:8px;color:#cbd5e1}.hm-next .lp-tag.is-planned{background:#94a3b824;color:#cbd5e1;border-color:#94a3b84d}.hm-cbt{border-radius:20px;overflow:hidden;background:#fff;color:var(--hm-ink);box-shadow:0 40px 90px -40px #000000e6,0 0 0 1px #ffffff0f;transform:perspective(1400px) rotateY(-6deg) rotateX(2deg);transition:transform .6s ease}.hm-cbt:hover{transform:none}.hm-cbt-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;background:#1e1b4b;color:#e0e7ff;font-size:.86rem}.hm-cbt-paper b{color:#fff}.hm-cbt-clock{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:8px;background:#ffffff1a;font:600 .88rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}.hm-cbt-clock-dot{width:7px;height:7px;border-radius:50%;background:#f87171;animation:hm-blink 1s steps(2) infinite}.hm-cbt-body{padding:20px 20px 16px}.hm-cbt-no{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hm-indigo)}.hm-cbt-ask{margin:8px 0 14px;font-size:1.02rem;line-height:1.55;font-weight:500;min-height:3.1em}.hm-cbt-opts{list-style:none;margin:0;padding:0;display:grid;gap:8px}.hm-cbt-opt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 12px;border:1.5px solid var(--hm-line);border-radius:12px;font-size:.95rem;transition:border-color .25s ease,background .25s ease,transform .25s ease}.hm-cbt-letter{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f1f5f9;font:700 .82rem var(--hm-display);color:var(--hm-ink-2);transition:background .25s ease,color .25s ease}.hm-cbt-opt.is-hover{border-color:#c7d2fe;background:#f8faff}.hm-cbt-opt.is-picked{border-color:var(--hm-indigo);background:#eef2ff;transform:translate(3px)}.hm-cbt-opt.is-picked .hm-cbt-letter{background:var(--hm-indigo);color:#fff}.hm-cbt-opt.is-right{border-color:#10b981;background:#ecfdf5}.hm-cbt-opt.is-right .hm-cbt-letter{background:#10b981;color:#fff}.hm-cbt-tick{color:#059669;font-weight:800;animation:hm-pop .35s cubic-bezier(.2,1.6,.4,1)}@keyframes hm-pop{0%{transform:scale(.3);opacity:0}}.hm-cbt-working{display:grid;gap:3px;margin-top:12px;padding:10px 12px;border-left:3px solid #10b981;border-radius:0 10px 10px 0;background:#f0fdf4;font-size:.88rem;color:#065f46;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease}.hm-cbt-working.is-on{opacity:1;transform:none}.hm-cbt-working b{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.hm-cbt-foot{display:flex;align-items:center;gap:12px;padding:12px 20px 16px;border-top:1px solid var(--hm-line);font-size:.8rem;color:var(--hm-ink-3)}.hm-cbt-progress{flex:1;height:6px;border-radius:6px;background:#eef2f7;overflow:hidden}.hm-cbt-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--hm-violet-2),var(--hm-indigo));transition:width .6s ease}.hm-codeband{background:#fff}.hm-code{border-radius:20px;overflow:hidden;background:#0f172a;box-shadow:0 40px 80px -44px #0f172acc;font-family:ui-monospace,SFMono-Regular,Cascadia Code,Consolas,Liberation Mono,monospace}.hm-code-bar{display:flex;align-items:center;gap:14px;padding:10px 14px;background:#0b1222;border-bottom:1px solid rgba(148,163,184,.14)}.hm-code-tabs{display:flex;gap:4px;min-width:0;overflow:hidden}.hm-code-tab{padding:5px 11px;border-radius:7px;font-size:.78rem;color:#64748b;white-space:nowrap;transition:background .2s ease,color .2s ease}.hm-code-tab.is-on{background:#94a3b824;color:#e2e8f0}.hm-code-run{margin-left:auto;flex:none;padding:5px 12px;border-radius:7px;background:#16a34a;color:#fff;font:700 .76rem var(--hm-text);letter-spacing:.02em}.hm-code-run.is-running{animation:hm-press .7s ease}@keyframes hm-press{30%{transform:scale(.92);background:#15803d}}.hm-code-src{margin:0;padding:16px 0 14px;min-height:15.5em;font:inherit;font-size:.9rem;line-height:1.7;color:#e2e8f0;overflow-x:auto}.hm-code-line{display:grid;grid-template-columns:3.2em 1fr;white-space:pre}.hm-code-no{padding-right:14px;text-align:right;color:#475569;-webkit-user-select:none;user-select:none}.hm-code-kw{color:#c084fc}.hm-code-fn{color:#60a5fa}.hm-code-str{color:#86efac}.hm-code-num{color:#fbbf24}.hm-code-com{color:#64748b;font-style:italic}.hm-code-pun{color:#94a3b8}.hm-code-caret{display:inline-block;width:8px;height:1.15em;margin-left:1px;vertical-align:text-bottom;background:#a78bfa;animation:hm-blink 1s steps(2) infinite}.hm-code-out{display:grid;gap:4px;padding:12px 18px 16px;border-top:1px solid rgba(148,163,184,.14);background:#0b1222;font-size:.86rem}.hm-code-prompt{font-family:var(--hm-text);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#64748b}.hm-code-result{color:#e2e8f0;min-height:1.4em;white-space:pre}.hm-code-pass{font-family:var(--hm-text);font-weight:600;color:#4ade80;animation:hm-rise .4s ease both}.hm-code-pass i{font-style:normal;color:#fbbf24;letter-spacing:.08em}.hm-tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.hm-track{display:grid;gap:4px;padding:16px 18px;border:1px solid var(--hm-line);border-radius:16px;background:#fff}.hm-track b{font:600 1.06rem var(--hm-display);color:var(--hm-ink)}.hm-track span{font-size:.86rem;color:var(--hm-ink-3)}.hm-track-bar{display:block;height:6px;margin-top:8px;border-radius:6px;background:#f1f5f9;overflow:hidden}.hm-track-bar i{display:block;height:100%;border-radius:inherit;background:var(--tc)}.hm-tiers{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:18px 0 0;padding:0;counter-reset:tier}.hm-tiers li{counter-increment:tier;display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 0;font-size:.88rem;font-weight:600;color:var(--hm-ink-2)}.hm-tiers li:before{content:counter(tier);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--tc);color:#fff;font:700 .72rem var(--hm-display)}.hm-tiers li:not(:last-child):after{content:"→";margin-left:6px;color:#cbd5e1}.hm-pitch{background:var(--hm-ground);border-top:1px solid var(--hm-line)}.hm-compare{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;max-width:920px;margin:48px auto 0}.hm-compare-card{padding:26px 26px 24px;border-radius:20px;border:1px solid var(--hm-line);background:#fff}.hm-compare-card.is-before{background:#f1f5f9}.hm-compare-card.is-after{border-color:#c4b5fd;box-shadow:0 30px 60px -36px #6d28d98c}.hm-compare-label{font:600 1.08rem var(--hm-display)}.hm-compare-card.is-before .hm-compare-label{color:var(--hm-ink-3)}.hm-compare-card.is-after .hm-compare-label{color:var(--hm-violet)}.hm-compare-card ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}.hm-compare-card li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-size:.97rem;line-height:1.5}.hm-compare-card svg{margin-top:3px}.hm-compare-card.is-before li{color:var(--hm-ink-3)}.hm-compare-card.is-before svg{color:#94a3b8}.hm-compare-card.is-after li{color:var(--hm-ink)}.hm-compare-card.is-after svg{color:#059669}.hm-compare-arrow{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--hm-line);color:var(--hm-violet)}.hm-freeband{background:#fff;padding-block:88px}.hm-freecard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;padding:34px 36px;border-radius:24px;background:linear-gradient(135deg,#faf5ff,#eef2ff);border:1px solid #e9d5ff}.hm-freecard-ic{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:#fff;color:#b45309;box-shadow:0 10px 24px -14px #b4530999}.hm-freecard .hm-h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:0}.hm-freecard .hm-lead{margin-top:8px;font-size:1rem}.hm-closing{position:relative;overflow:hidden;padding-block:110px;text-align:center;background:radial-gradient(700px 360px at 50% 0%,rgba(124,58,237,.45),transparent 65%),radial-gradient(600px 300px at 50% 110%,rgba(13,148,136,.3),transparent 60%),var(--hm-night)}.hm-closing-inner{display:grid;justify-items:center}.hm-closing .hm-h2{margin-top:18px}.hm-closing .hm-lead{margin-inline:auto}.hm-closing .hm-doors{margin-inline:auto;text-align:left}.hm .lp-family,.hm .lp-said{background:#fff}.landing .hm .lp-how{max-width:none;padding-inline:0}.hm.is-still .hm-ticker-track,.hm.is-still .hm-window:before,.hm.is-still .hm-eyebrow-dot,.hm.is-still .hm-live span,.hm.is-still .hm-cbt-clock-dot,.hm.is-still .hm-code-caret{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.hm *,.hm *:before,.hm *:after{animation:none!important;transition:none!important}[data-reveal=on] .hm-reveal,[data-reveal=on] .hm-journey .hm-stage{opacity:1;transform:none}.hm-journey:before{transform:scaleX(1)}.hm-ticker{-webkit-mask-image:none;mask-image:none}.hm-ticker-track{width:auto;flex-wrap:wrap;justify-content:center;padding-inline:16px}.hm-ticker-set{flex-wrap:wrap;justify-content:center;row-gap:6px}.hm-ticker-set+.hm-ticker-set{display:none}.hm-cbt{transform:none}}@media (max-width: 1080px){.hm-journey{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-journey:before{display:none}.hm-lab-grid{grid-template-columns:minmax(0,1fr);gap:36px}.hm-lab-copy{position:static}}@media (max-width: 960px){.hm-hero-inner{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:56px}.hm-hero-art{max-width:640px}.hm-split,.hm-split.is-flip{grid-template-columns:minmax(0,1fr);gap:44px}.hm-split.is-flip .hm-split-art{order:2}.hm-cbt{transform:none}.hm-figures{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:8px}.hm-fig:nth-child(3){border-left:0;padding-left:0}.hm-freecard{grid-template-columns:minmax(0,1fr);justify-items:start;gap:18px}}@media (max-width: 680px){.hm-section{padding-block:72px}.hm-wrap{padding-inline:16px}.hm-hero-inner{padding:40px 16px 20px}.hm-figures{padding:10px 16px 56px}.hm-fig{padding:12px 14px}.hm-doors,.hm-doors.is-one{grid-template-columns:minmax(0,1fr)}.hm-journey{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:36px}.hm-lab-tab{padding:12px 10px}.hm-lab-tab b{font-size:.84rem}.hm-lab-stage{padding:16px 14px 14px}.hm-compare{grid-template-columns:minmax(0,1fr);gap:12px}.hm-compare-arrow{justify-self:center;transform:rotate(90deg)}.hm-tracks{grid-template-columns:minmax(0,1fr)}.hm-code-src{font-size:.8rem}.hm-freecard{padding:26px 22px}.hm-closing{padding-block:80px}.hm-motion{right:12px;bottom:12px}.hm-cbt-body{padding:16px 14px 12px}}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/baloo-2-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/baloo-2-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/baloo-2-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/great-vibes-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/pacifico-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/pacifico-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/pacifico-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/poppins-800.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #1e1b3a;--ink-soft: #4b4576;--ink-faint: #8b86ad;--paper: #ffffff;--paper-2: #f6f4ff;--paper-3: #ece8ff;--brand: #6d28d9;--brand-2: #8b5cf6;--brand-3: #c4b5fd;--good: #16a34a;--good-soft: #dcfce7;--warn: #f59e0b;--warn-soft: #fef3c7;--bad: #e11d48;--bad-soft: #ffe4e6;--info: #0284c7;--info-soft: #e0f2fe;--maths: #f97316;--english: #0ea5e9;--science: #22c55e;--geography: #14b8a6;--typing: #a855f7;--coding: #ef4444;--finance: #047857;--health: #e05a72;--social: #0d9488;--civic: #4f46e5;--technology: #b45309;--quantitative: #7c3aed;--verbal: #0f766e;--management: #7c3aed;--leadership: #4d7c0f;--enterprise: #a21caf;--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--r-xl: 34px;--r-full: 999px;--shadow-sm: 0 2px 0 rgba(30, 27, 58, .12);--shadow-md: 0 6px 0 rgba(30, 27, 58, .14), 0 10px 24px -12px rgba(30, 27, 58, .5);--shadow-lg: 0 12px 0 rgba(30, 27, 58, .12), 0 26px 50px -20px rgba(30, 27, 58, .55);--font: "Baloo 2", "Comic Sans MS", "Trebuchet MS", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;--font-num: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;--tap: 56px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper-2);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body{-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}button{font-family:inherit}h1,h2,h3,h4{margin:0;line-height:1.15;font-weight:800}p{margin:0;line-height:1.5}:focus-visible{outline:4px solid var(--brand-2);outline-offset:3px;border-radius:8px}.app{min-height:100%;display:flex;flex-direction:column;background:var(--paper-2)}.shell{width:min(1180px,100%);margin:0 auto;padding:0 20px 64px;flex:1}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.wrap{flex-wrap:wrap}.center{justify-content:center}.between{justify-content:space-between}.gap-1{gap:6px}.gap-2{gap:12px}.gap-3{gap:18px}.gap-4{gap:28px}.grow{flex:1}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.tiny{font-size:13px}.small{font-size:15px}.big{font-size:22px}.tabnum{font-variant-numeric:tabular-nums;font-family:var(--font-num)}.hidden{display:none!important}.topbar{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border-bottom:3px solid rgba(109,40,217,.1)}.topbar-inner{width:min(1180px,100%);margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:14px}@media (max-width: 620px){.topbar-inner{flex-wrap:wrap;justify-content:space-between;padding:6px 10px;column-gap:8px;row-gap:0}.topbar-inner .brand{order:1;flex:none;padding:4px 6px}.topbar-inner .who{order:2;min-width:0;padding:3px 10px 3px 3px}.topbar-inner .grow{order:3;flex-basis:100%;height:5px}.topbar-inner .icon-btn{order:4;width:42px;height:42px;font-size:1.05rem}.topbar-inner .icon-btn.is-wordy{width:auto;padding:0 12px}}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px;color:var(--brand);background:none;border:0;cursor:pointer;padding:6px 8px;border-radius:var(--r-md)}.brand:hover{background:var(--paper-3)}.brand .logo{font-size:28px}.btn{--btn-bg: var(--brand);--btn-ink: #fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font-weight:800;font-size:18px;padding:14px 26px;min-height:var(--tap);border-radius:var(--r-full);background:var(--btn-bg);color:var(--btn-ink);box-shadow:0 5px #00000038;transition:transform 90ms ease,box-shadow 90ms ease,filter .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #00000038}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:0 5px #0000001f}.btn.lg{font-size:22px;padding:18px 36px;min-height:66px}.btn.sm{font-size:15px;padding:9px 16px;min-height:42px;box-shadow:0 3px #0003}.btn.wide{width:100%}.btn.ghost{--btn-bg: transparent;--btn-ink: var(--brand);box-shadow:none;border:3px solid var(--brand-3)}.btn.ghost:active:not(:disabled){transform:translateY(2px);box-shadow:none}.btn.soft{--btn-bg: var(--paper-3);--btn-ink: var(--brand);box-shadow:0 4px #d5ccf7}.btn.good{--btn-bg: var(--good)}.btn.warn{--btn-bg: var(--warn);--btn-ink: #422006}.btn.bad{--btn-bg: var(--bad)}.btn.dark{--btn-bg: var(--ink)}.icon-btn{width:48px;height:48px;border-radius:var(--r-full);border:0;background:var(--paper-3);color:var(--brand);font-size:21px;cursor:pointer;display:grid;place-items:center;box-shadow:0 3px #d5ccf7;transition:transform 90ms ease,background .12s;flex:none}.icon-btn:hover{background:var(--brand-3)}.icon-btn:active{transform:translateY(3px);box-shadow:none}.icon-btn.on{background:var(--brand);color:#fff;box-shadow:0 3px #4c1d95}.icon-btn.is-wordy{width:auto;padding:0 14px;gap:7px;grid-auto-flow:column;border-radius:var(--r-full)}.icon-btn-word{font-size:.82rem;font-weight:700;white-space:nowrap}.card{background:var(--paper);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-md);border:3px solid rgba(109,40,217,.08)}.panel{background:var(--paper);border-radius:var(--r-lg);border:3px solid var(--paper-3);padding:18px}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--r-full);background:var(--paper-3);color:var(--brand);font-weight:800;font-size:14px;white-space:nowrap}.pill.good{background:var(--good-soft);color:#14532d}.pill.warn{background:var(--warn-soft);color:#78350f}.pill.bad{background:var(--bad-soft);color:#9f1239}.pill.info{background:var(--info-soft);color:#075985}.bar{height:16px;border-radius:var(--r-full);background:var(--paper-3);overflow:hidden;box-shadow:inset 0 2px 4px #1e1b3a1f}.bar>i{display:block;height:100%;border-radius:var(--r-full);background:var(--brand);transition:width .4s cubic-bezier(.2,.9,.3,1)}.bar.thin{height:10px}@keyframes pop-in{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.06);opacity:1}to{transform:scale(1)}}@keyframes rise-in{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-9px)}40%{transform:translate(9px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes pulse-ring{0%{box-shadow:0 0 #6d28d973}to{box-shadow:0 0 0 22px #6d28d900}}@keyframes spin{to{transform:rotate(360deg)}}.pop-in{animation:pop-in .32s cubic-bezier(.2,1.2,.3,1) both}.rise-in{animation:rise-in .32s ease both}.shake{animation:shake .42s ease}.bob{animation:bob 2.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--brand-3);border-radius:99px;border:3px solid var(--paper-2)}::-webkit-scrollbar-thumb:hover{background:var(--brand-2)}.quota-wrap{display:grid;gap:3px;justify-items:end}.quota-bar{display:block;width:74px;height:5px;border-radius:999px;overflow:hidden;background:var(--paper-3, #e4e4f2)}.quota-fill{display:block;height:100%;border-radius:999px;transition:width .35s ease}.quota-done{font-size:.72rem;font-weight:800;color:var(--good, #16a34a);white-space:nowrap}.class-row{display:flex;flex-wrap:wrap;gap:8px}.class-pick{padding:9px 16px;border:2px solid var(--paper-3, #ece8ff);border-radius:10px;background:var(--paper, #fff);font:inherit;font-weight:800;font-size:.92rem;color:var(--ink-soft, #4b4576);cursor:pointer}.class-pick:hover{border-color:var(--brand, #6d28d9)}.class-pick.on{border-color:var(--brand, #6d28d9);background:var(--brand, #6d28d9);color:#fff}.class-pick:focus-visible{outline:2px solid var(--brand, #6d28d9);outline-offset:2px}.study-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:4px}@media (max-width: 460px){.study-row{grid-template-columns:repeat(3,minmax(0,1fr))}}.study-pick{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:2px solid var(--paper-3, #ece8ff);border-radius:12px;background:var(--paper, #fff);font:inherit;color:var(--ink-soft, #4b4576);cursor:pointer}.study-pick b{font-weight:800;font-size:.98rem;color:var(--ink, #1f1b3a)}.study-pick span{font-size:.74rem}.study-pick:hover{border-color:var(--brand, #6d28d9)}.study-pick.on{border-color:var(--brand, #6d28d9);background:var(--brand, #6d28d9);color:#fff}.study-pick.on b{color:#fff}.study-pick:focus-visible{outline:2px solid var(--brand, #6d28d9);outline-offset:2px}.study-row+.class-row{margin-top:10px}.age-field{display:flex;align-items:center;gap:8px;margin-top:4px}.age-field .age-input{width:84px;text-align:center;font-weight:800}.age-field .age-unit{font-size:.86rem;color:var(--ink-soft, #4b4576)}.age-step{width:40px;height:40px;flex:none;border:2px solid var(--paper-3, #ece8ff);border-radius:10px;background:var(--paper, #fff);color:var(--ink, #1f1b3a);font:inherit;font-size:1.2rem;font-weight:800;cursor:pointer}.age-step:hover:not(:disabled){border-color:var(--brand, #6d28d9)}.age-step:disabled{opacity:.4;cursor:default}.earlier-toggle{opacity:.82}.earlier-toggle:hover{opacity:1}.coin-row .is-over{color:var(--bad, #e11d48);font-weight:800}.mascot{overflow:visible}.mascot .wing{transform-origin:center;transition:transform .3s ease}.mascot-cheer .wing-l{transform:rotate(-32deg) translateY(-8px)}.mascot-cheer .wing-r{transform:rotate(32deg) translateY(-8px)}.mascot-cheer .sparkles{animation:pop-in .5s ease both}.mascot-think .pupil{transform:translate(-3px,-2px)}.mascot.is-speaking .beak{animation:beak-talk .26s ease-in-out infinite alternate;transform-origin:60px 58px}.mascot-happy,.mascot-cheer{animation:bob 2.6s ease-in-out infinite}@keyframes beak-talk{0%{transform:scaleY(1)}to{transform:scaleY(1.5)}}.brand-text{display:none}@media (min-width: 620px){.brand-text{display:inline}}.who{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:var(--r-full);border:3px solid var(--pc, var(--brand-3));background:#fff;cursor:pointer;box-shadow:0 3px #1e1b3a1a}.who:hover{background:var(--paper-2)}.who{min-width:0}.who-avatar{width:38px;height:38px;border-radius:var(--r-full);background:color-mix(in srgb,var(--pc, var(--brand)) 20%,white);display:grid;place-items:center;font-size:22px}.who-meta{display:none;flex-direction:column;align-items:flex-start;line-height:1.15;min-width:0}.who-meta b{font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who-meta .tiny{color:var(--ink-faint);white-space:nowrap}@media (min-width: 720px){.who-meta{display:flex}}@media (max-width: 620px){.who-meta{display:flex}}.voice-note{width:min(1180px,100%);margin:12px auto 0;padding:10px 16px;display:flex;align-items:center;gap:10px;background:var(--warn-soft);color:#78350f;border-radius:var(--r-md);font-size:14px;font-weight:600}.voice-note .grow,.voice-note span:first-child{flex:1}.hero-title{font-size:clamp(30px,5vw,46px);color:var(--brand)}.hero-sub{font-size:19px;color:var(--ink-soft);margin-top:4px}.wave{display:inline-block;animation:wave 2.2s ease-in-out infinite;transform-origin:70% 70%}@keyframes wave{0%,60%,to{transform:rotate(0)}20%{transform:rotate(18deg)}40%{transform:rotate(-10deg)}}.section-title{font-size:22px;margin:30px 0 14px;color:var(--ink-soft)}.profiles{display:flex;flex-direction:column;align-items:center;padding-top:44px}.profiles-hero{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:center;text-align:center;margin-bottom:34px}@media (min-width: 640px){.profiles-hero{text-align:left}}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px;width:100%;max-width:780px}.profile-card{position:relative;background:#fff;border-radius:var(--r-lg);border:4px solid var(--pc, var(--brand-3));box-shadow:var(--shadow-md);overflow:hidden}.profile-card.add{border-style:dashed;border-color:var(--brand-3);background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 16px;min-height:178px;color:var(--brand)}.profile-card.add:hover{background:#fff}.profile-main{width:100%;border:0;background:none;cursor:pointer;padding:24px 16px 20px;display:flex;flex-direction:column;align-items:center;gap:4px}.profile-main:hover{background:var(--paper-2)}.profile-avatar{font-size:46px;width:82px;height:82px;border-radius:var(--r-full);background:color-mix(in srgb,var(--pc, var(--brand)) 18%,white);display:grid;place-items:center;margin-bottom:6px}.profile-name{font-size:19px}.profile-del{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:0;background:var(--paper-3);color:var(--ink-faint);cursor:pointer;font-size:13px;opacity:0;transition:opacity .15s}.profile-card:hover .profile-del{opacity:1}.profile-del:hover{background:var(--bad-soft);color:var(--bad)}.hub-hero{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;border-radius:var(--r-xl);padding:22px 26px;margin-top:22px;box-shadow:var(--shadow-md);border:3px solid rgba(109,40,217,.08)}.hub-hero-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.hub-xp{display:flex;align-items:center;gap:12px;margin-top:12px;max-width:460px}.continue-card{width:100%;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border:0;cursor:pointer;border-radius:var(--r-lg);background:var(--brand);color:#fff;box-shadow:0 8px #4c1d95,0 20px 36px -18px #4c1d95e6;text-align:left;transition:transform .1s ease,box-shadow .1s ease}.continue-card:active{transform:translateY(5px);box-shadow:0 3px #4c1d95}.continue-left{display:flex;align-items:center;gap:16px}.continue-left>div{display:flex;flex-direction:column;gap:2px}.continue-left .tiny:first-child{opacity:.75;letter-spacing:.09em;font-weight:800}.continue-left b{font-size:22px}.continue-left .muted{color:#fffc!important}.continue-emoji{font-size:44px}.continue-go{width:52px;height:52px;flex:none;border-radius:50%;background:#fff3;display:grid;place-items:center;font-size:20px;animation:pulse-ring 2.4s ease-out infinite}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}.subject-card{text-align:left;border:0;cursor:pointer;background:#fff;border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:6px;border-bottom:7px solid var(--sc);box-shadow:var(--shadow-md);transition:transform .12s ease}.subject-card:hover{transform:translateY(-4px)}.subject-card.planned{background:var(--paper-2)}.subject-top{display:flex;align-items:center;justify-content:space-between}.subject-emoji{font-size:42px}.subject-title{font-size:21px}.subject-foot{margin-top:8px;color:var(--ink-faint)}.hub-note{margin-top:24px;text-align:center}.path-head{display:flex;align-items:center;gap:16px;padding:24px 0 18px;border-bottom:4px solid color-mix(in srgb,var(--sc) 25%,white);margin-bottom:22px}.path-emoji{font-size:46px}.path-title{font-size:clamp(25px,4vw,34px)}.climb-card{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;margin-bottom:22px;border-radius:var(--r-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--sc) 14%,white),#fff);border:3px solid color-mix(in srgb,var(--sc) 30%,white);box-shadow:var(--shadow-sm)}.climb-card-emoji{font-size:40px;line-height:1}.climb-card-text{flex:1 1 220px}.climb-card-text b{display:block;font-size:1.1rem}.climb-card-text span{display:block;margin-top:2px}.level{background:#fff;border-radius:var(--r-lg);border:3px solid color-mix(in srgb,var(--lc) 22%,white);margin-bottom:18px;overflow:hidden;box-shadow:var(--shadow-sm)}.level-head{width:100%;border:0;cursor:pointer;background:color-mix(in srgb,var(--lc) 9%,white);display:flex;align-items:center;gap:16px;padding:18px 20px;text-align:left}.level-head:hover{background:color-mix(in srgb,var(--lc) 15%,white)}.level-emoji{font-size:34px}.level-title{font-size:20px;color:var(--lc)}.level-progress{display:flex;align-items:center;gap:10px;margin-top:8px;max-width:420px}.level-progress .bar{flex:1}.level-chev{font-size:22px;color:var(--lc);transition:transform .2s}.level-chev.up{transform:rotate(180deg)}.trail{list-style:none;margin:0;padding:12px 18px 26px;position:relative}.trail-node{position:relative;padding:10px 0 10px 38px}.trail-line{position:absolute;left:15px;top:0;bottom:0;width:5px;border-radius:3px;background:repeating-linear-gradient(to bottom,var(--lc) 0 10px,transparent 10px 18px);opacity:.35}.trail-node.done .trail-line{opacity:.9;background:var(--lc)}.trail-node.is-next .topic-card{border-color:var(--brand, #8b5cf6);box-shadow:0 6px 20px #8b5cf62e}.trail-node.is-ahead .topic-card{opacity:.62}.trail-node.is-ahead:hover .topic-card{opacity:.85}.next-flag{font-size:.7rem;font-weight:800;letter-spacing:.04em;color:var(--brand, #8b5cf6);white-space:nowrap}.ahead-flag{font-size:.65rem;color:var(--muted, #7a6f96);max-width:110px;text-align:right;line-height:1.25}.level-count{color:var(--brand, #8b5cf6);font-weight:700}.trail-node:before{content:"";position:absolute;left:8px;top:30px;width:19px;height:19px;border-radius:50%;background:#fff;border:4px solid var(--lc);opacity:.5;z-index:1}.trail-node.done:before{background:var(--lc);opacity:1}.trail-node.started:before{opacity:.85}.topic-card{width:100%;border-radius:var(--r-md);border:3px solid var(--paper-3);background:#fff;overflow:hidden;transition:border-color .14s}.topic-card:hover{border-color:var(--lc)}.topic-main{width:100%;text-align:left;cursor:pointer;display:flex;align-items:center;gap:14px;padding:14px 16px;border:0;background:none}.topic-main:hover{background:color-mix(in srgb,var(--lc) 6%,white)}.topic-modes{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:0 12px 11px}.mode-btn{border:2px solid var(--paper-3);background:var(--paper-2);border-radius:var(--r-full);padding:5px 11px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--ink-soft);cursor:pointer;transition:all .12s}.mode-btn:hover{transform:translateY(-1px)}.mode-btn.learn{background:var(--brand);border-color:var(--brand);color:#fff;font-size:14px;font-weight:800;padding:8px 18px;box-shadow:0 2px 8px color-mix(in srgb,var(--brand) 35%,transparent)}.mode-btn.learn:hover{filter:brightness(1.06)}.trail-node.done .mode-btn.learn{background:var(--paper-2);border-color:var(--paper-3);color:var(--ink-soft);font-size:12.5px;font-weight:700;padding:5px 11px;box-shadow:none}.trail-node.done .mode-btn.learn:hover{background:var(--brand);color:#fff;border-color:var(--brand);filter:none}.mode-btn.practice:hover{background:var(--info);color:#fff;border-color:var(--info)}.mode-btn.challenge:hover{background:var(--warn);color:#422006;border-color:var(--warn)}.mode-btn.say{margin-left:auto;padding:5px 10px}.mode-note{flex-basis:100%;margin:2px 0 0;font-size:11.5px;color:var(--ink-soft);opacity:.85}.trail-node.done .topic-card{background:color-mix(in srgb,var(--lc) 7%,white);border-color:color-mix(in srgb,var(--lc) 35%,white)}.topic-emoji{font-size:32px;flex:none}.topic-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.topic-info b{font-size:17px}.topic-skills{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.skill-chip{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:var(--r-full);background:var(--paper-3);color:var(--ink-soft)}.topic-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.stars{display:inline-flex;gap:2px}.star{filter:grayscale(1);opacity:.35;transition:all .2s}.star.on{filter:none;opacity:1;animation:pop-in .38s cubic-bezier(.2,1.4,.3,1) both}.ring{position:relative;display:grid;place-items:center}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.ring-label{position:relative;font-weight:800}.modal-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#1e1b3a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;overflow-y:auto}.modal{position:relative;background:#fff;border-radius:var(--r-lg);padding:30px;width:min(480px,100%);box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.modal.wide{width:min(760px,100%)}.modal-x{position:absolute;top:14px;right:14px}.field{display:flex;flex-direction:column;gap:7px}.field>span:first-child{font-weight:800;font-size:15px}.input{font-family:inherit;font-size:17px;padding:13px 16px;border-radius:var(--r-md);border:3px solid var(--paper-3);background:var(--paper-2);color:var(--ink);width:100%}.input:focus{outline:none;border-color:var(--brand-2);background:#fff}.range{width:100%;height:34px;accent-color:var(--brand);cursor:pointer}.pick-row{display:flex;gap:8px;flex-wrap:wrap}.pick{width:50px;height:50px;border-radius:var(--r-md);border:3px solid var(--paper-3);background:#fff;font-size:25px;cursor:pointer;display:grid;place-items:center}.pick.on{border-color:var(--brand);background:var(--paper-3);transform:scale(1.06)}.pick.swatch{border-radius:50%}.toggle-row{display:flex;flex-direction:column;gap:12px;margin-top:16px}.toggle{display:flex;align-items:center;gap:12px;border:0;background:none;cursor:pointer;padding:4px}.toggle-track{width:52px;height:30px;border-radius:99px;background:var(--paper-3);position:relative;transition:background .18s;flex:none}.toggle.on .toggle-track{background:var(--good)}.toggle-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #00000040;transition:transform .18s cubic-bezier(.2,1,.3,1)}.toggle.on .toggle-knob{transform:translate(22px)}.parent-head{display:flex;align-items:center;gap:16px;padding:24px 0 16px;flex-wrap:wrap}.tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tab{border:0;cursor:pointer;padding:11px 20px;border-radius:var(--r-full);background:#fff;color:var(--ink-soft);font-weight:800;font-size:15px;box-shadow:var(--shadow-sm)}.tab.on{background:var(--brand);color:#fff}.panel-title{font-size:18px;margin-bottom:8px}.panel.danger{border-color:var(--bad-soft)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.stat-card{background:#fff;border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:var(--shadow-sm);border:3px solid var(--paper-3)}.stat-emoji{font-size:26px}.stat-value{font-size:27px}.spark{display:flex;align-items:flex-end;gap:5px;height:130px;margin:14px 0 6px}.spark-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;height:100%}.spark-stack{flex:1;width:100%;display:flex;flex-direction:column-reverse;justify-content:flex-start;border-radius:6px;overflow:hidden;background:var(--paper-2)}.spark-right{background:var(--good);width:100%;border-radius:6px 6px 0 0;min-height:0}.spark-wrong{background:var(--bad);width:100%;min-height:0}.weak-row{width:100%;text-align:left;cursor:pointer;display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r-md);border:3px solid var(--paper-3);background:var(--paper-2)}.weak-row:hover{border-color:var(--brand-3);background:#fff}.level-row{display:flex;align-items:center;gap:12px;padding:9px 0}.level-row-emoji{font-size:22px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin-top:12px}.badge-card{background:var(--paper-2);border-radius:var(--r-md);padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;border:3px solid var(--paper-3);opacity:.6}.badge-card.earned{opacity:1;background:#fff;border-color:var(--warn);box-shadow:var(--shadow-sm)}.badge-big{font-size:38px}.badge-chip{display:flex;align-items:center;gap:10px;background:var(--warn-soft);color:#78350f;padding:10px 16px;border-radius:var(--r-full);border:3px solid var(--warn)}.badge-emoji{font-size:26px}.voice-status{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:var(--r-md);margin-bottom:16px}.voice-status.ok{background:var(--good-soft)}.voice-status.warn{background:var(--warn-soft)}.empty-note{text-align:center;padding:60px 20px}.empty-note h3{margin:12px 0 6px;font-size:24px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:12px;background:#fff;padding:14px 22px;border-radius:var(--r-full);box-shadow:var(--shadow-lg);border:3px solid var(--brand-3)}.toast-emoji{font-size:26px}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:80}.gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 500px at 50% 0%,#ede9fe,var(--paper-2))}.gate-card{background:#fff;border-radius:var(--r-xl);padding:38px 34px;width:min(620px,100%);text-align:center;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;gap:14px}.gate-title{font-size:clamp(24px,4.4vw,34px);color:var(--brand)}.gate-lead{color:var(--ink-soft);font-size:16.5px;max-width:46ch}.gate-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:6px}.gate-steps{text-align:left;background:var(--paper-2);border-radius:var(--r-md);padding:16px 20px;width:100%}.gate-steps ol{margin:8px 0 0;padding-left:22px;font-size:14.5px;color:var(--ink-soft);line-height:1.7}.gate-url{background:var(--paper-3);color:var(--brand);padding:8px 14px;border-radius:var(--r-full);word-break:break-all;font-family:var(--font-num)}.gate-foot{max-width:48ch}.parent-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:28px;flex:none}.tab-lock{font-size:11px;margin-left:5px;opacity:.7}.gate-panel{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:34px 24px}.gate-q{font-size:30px;font-weight:900;color:var(--brand);display:flex;align-items:center;gap:12px}.gate-input{width:116px;font-size:26px;text-align:center;font-weight:900}.verdict{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(120deg,#f5f3ff,#fff);border-color:var(--brand-3)}.verdict-emoji{font-size:30px;flex:none}.verdict p{font-size:16.5px;line-height:1.6}.rec{width:100%;text-align:left;cursor:pointer;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r-md);border:3px solid var(--paper-3);background:var(--paper-2);font-family:inherit}.rec:hover{background:#fff;transform:translate(3px)}.rec-high{border-color:color-mix(in srgb,var(--bad) 35%,white);background:#fff5f6}.rec-medium{border-color:color-mix(in srgb,var(--warn) 40%,white);background:#fffbeb}.rec-emoji{font-size:27px;flex:none}.rec-go{width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:13px;flex:none}.spark.tall{height:150px;gap:3px}.key-dot{width:11px;height:11px;border-radius:3px;display:inline-block;vertical-align:-1px;margin-right:5px}.key-dot.good{background:var(--good)}.key-dot.bad{background:var(--bad)}.two-col{display:grid;grid-template-columns:1fr;gap:18px}@media (min-width: 860px){.two-col{grid-template-columns:1fr 1fr}}.strong-panel{border-color:color-mix(in srgb,var(--good) 30%,white)}.weak-panel{border-color:color-mix(in srgb,var(--bad) 30%,white)}.skill-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:var(--r-md);background:var(--paper-2);border-left:6px solid var(--paper-3)}.skill-good{border-left-color:var(--good)}.skill-bad{border-left-color:var(--bad)}.skill-warn{border-left-color:var(--warn)}.skill-emoji{font-size:25px;flex:none}.bars{display:flex;flex-direction:column;gap:9px}.bar-row{display:grid;grid-template-columns:minmax(110px,1.1fr) 3fr auto auto;align-items:center;gap:10px}.bar-label{font-size:14px;font-weight:700}.bar-track{height:20px;border-radius:var(--r-full);background:var(--paper-3);overflow:hidden}.bar-track>i{display:block;height:100%;border-radius:var(--r-full);background:var(--sc, var(--brand));min-width:2px;transition:width .5s cubic-bezier(.2,.9,.3,1)}.bar-track>i.good{background:var(--good)}.bar-track>i.warn{background:var(--warn)}.bar-track>i.bad{background:var(--bad)}.bar-value{font-size:14px;font-weight:800;min-width:42px;text-align:right}.bar-n{min-width:34px;text-align:right}.topic-table-wrap{overflow-x:auto;margin-top:12px}.topic-table{border-collapse:collapse;width:100%;font-size:14px;min-width:720px}.topic-table th{text-align:left;padding:9px 11px;background:var(--paper-3);color:var(--brand);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.topic-table th:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}.topic-table th:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}.topic-table td{padding:9px 11px;border-bottom:2px solid var(--paper-2);white-space:nowrap}.topic-table tr.row-good td:first-child{box-shadow:inset 4px 0 0 var(--good)}.topic-table tr.row-warn td:first-child{box-shadow:inset 4px 0 0 var(--warn)}.topic-table tr.row-bad td:first-child{box-shadow:inset 4px 0 0 var(--bad)}.link-btn{border:0;background:none;font-family:inherit;font-size:inherit;font-weight:700;color:var(--brand);cursor:pointer;padding:0;text-align:left}.link-btn:hover:not(:disabled){text-decoration:underline}.link-btn:disabled{color:var(--ink-faint);cursor:default}.session-row{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--r-md);background:var(--paper-2);flex-wrap:wrap}.session-when{min-width:88px}.family-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.family-card{background:var(--paper-2);border-radius:var(--r-lg);padding:16px;border:3px solid var(--paper-3);display:flex;flex-direction:column;gap:12px}.family-card.current{border-color:var(--pc);background:#fff}.family-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:24px;background:color-mix(in srgb,var(--pc) 20%,white);flex:none}.family-stats{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;font-size:13px;color:var(--ink-soft)}.family-stats b{color:var(--ink)}.family-lists{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-list{margin:4px 0 0;padding-left:15px;font-size:12.5px;color:var(--ink-soft);line-height:1.55}.family-spark{display:flex;gap:3px}.family-spark span{flex:1;height:18px;border-radius:3px;background:var(--paper-3)}.family-spark span.on{background:var(--good)}.welcome{max-width:720px}.welcome-hero{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:center;text-align:center;padding:40px 0 26px}@media (min-width: 640px){.welcome-hero{text-align:left}}.welcome-card{display:flex;flex-direction:column;gap:14px}.pw-wrap{position:relative}.pw-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:none;font-size:19px;cursor:pointer;padding:6px}.gate-pw{max-width:300px;text-align:center}.profile-card.kid{cursor:pointer;padding:24px 16px 20px;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff}.profile-card.kid:hover{transform:translateY(-4px)}.profile-card.kid:active{transform:translateY(2px)}.parent-door{margin:32px auto 0;display:block;border:3px dashed var(--brand-3);background:transparent;color:var(--ink-soft);border-radius:var(--r-full);padding:12px 24px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}.parent-door:hover{background:#fff;color:var(--brand);border-color:var(--brand)}.picker-out{display:block;margin:14px auto 0;padding:8px 12px;background:none;border:0;font-family:inherit;font-size:12px;color:var(--ink-faint);text-decoration:underline;cursor:pointer}.picker-out:hover{color:var(--ink-soft)}.no-kids{text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:10px}.secret-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.secret-pick{width:74px;height:74px;font-size:38px;cursor:pointer;border-radius:var(--r-lg);border:4px solid var(--paper-3);background:#fff;display:grid;place-items:center;box-shadow:0 4px #e6e1fb}.secret-pick:hover{border-color:var(--brand-2);transform:translateY(-2px)}.secret-pick:active{transform:translateY(3px);box-shadow:none}.child-admin-grid{display:flex;flex-direction:column;gap:10px;margin-top:14px}.child-admin{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--r-md);background:var(--paper-2);border-left:6px solid var(--pc, var(--brand-3));flex-wrap:wrap}.seg{display:flex;gap:6px;background:var(--paper-2);padding:5px;border-radius:var(--r-full);width:fit-content}.seg-btn{border:0;background:transparent;font-family:inherit;font-size:14px;font-weight:800;color:var(--ink-soft);padding:9px 18px;border-radius:var(--r-full);cursor:pointer}.seg-btn.on{background:var(--brand);color:#fff;box-shadow:0 2px #4c1d95}.err-details{width:100%;text-align:left;margin-top:6px}.err-details summary{cursor:pointer}.err-pre{max-height:220px;overflow:auto;background:var(--paper-2);padding:12px;border-radius:var(--r-sm);font-size:11.5px;white-space:pre-wrap;color:var(--ink-soft);margin-top:8px}.face{display:inline-grid;place-items:center;flex:none;overflow:hidden;border-radius:50%;background:color-mix(in srgb,var(--pc, var(--brand)) 18%,white);line-height:1}.face img{width:100%;height:100%;object-fit:cover;display:block}.face.big-face{border:4px solid var(--pc, var(--brand-3));margin-bottom:6px}.photo-picker{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--paper-2);border-radius:var(--r-md);padding:12px}.photo-preview{width:76px;height:76px;border-radius:50%;overflow:hidden;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--pc, var(--brand)) 18%,white);border:4px solid var(--pc, var(--brand-3))}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-emoji{font-size:38px}.voice-status.info{background:var(--info-soft)}.admin{max-width:1320px}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:24px 0 14px}.admin-brand{display:flex;align-items:center;gap:14px}.admin-logo{font-size:42px}.scope-note{display:flex;gap:12px;align-items:flex-start;background:var(--info-soft);color:#075985;border-radius:var(--r-md);padding:12px 16px;margin-bottom:18px}.scope-note p{line-height:1.55}.admin-drill-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 0 0}.finding{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:var(--r-md);background:var(--paper-2);font-size:14.5px;line-height:1.5;border-left:6px solid var(--paper-3)}.finding-bad{border-left-color:var(--bad);background:#fff5f6}.finding-warn{border-left-color:var(--warn);background:#fffbeb}.finding-good{border-left-color:var(--good);background:var(--good-soft)}.finding-info{border-left-color:var(--info);background:var(--info-soft)}.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px;font-size:13.5px;color:var(--ink-soft)}.mini-stats b{color:var(--ink);font-size:16px}.dist-row{display:grid;grid-template-columns:minmax(120px,1.2fr) 3fr auto auto;align-items:center;gap:10px}.dist-label{font-size:14px;font-weight:700}.dist-meta{min-width:92px;text-align:right}.bar-track>i.brand{background:linear-gradient(90deg,var(--brand-2),var(--brand))}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.admin-child-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;padding:10px 13px;border-radius:var(--r-md);border:3px solid var(--paper-3);background:var(--paper-2);font-family:inherit}.admin-child-row:hover{background:#fff;border-color:var(--brand-3)}.admin-child-face{font-size:26px}.hours{display:flex;align-items:flex-end;gap:3px;height:120px}.hour-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;position:relative}.hour-col>span{width:100%;background:var(--brand-2);border-radius:4px 4px 0 0;min-height:2px}.hour-col>i{position:absolute;bottom:-16px;font-style:normal}.import-result{background:var(--paper-2);border-radius:var(--r-sm);padding:12px;font-size:12.5px;white-space:pre-wrap;margin-top:12px}.audit-row{display:flex;gap:10px;align-items:baseline;padding:6px 10px;border-radius:var(--r-sm);background:var(--paper-2)}.audit-row b{font-family:var(--font-num)}.accent-tag{margin-left:8px;font-size:12px;font-weight:700;background:var(--paper-3);color:var(--brand);padding:2px 9px;border-radius:var(--r-full)}.accent-row{display:flex;gap:8px;flex-wrap:wrap}.accent-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;min-width:92px;border-radius:var(--r-md);border:3px solid var(--paper-3);background:#fff;cursor:pointer;font-family:inherit;position:relative}.accent-chip:hover{border-color:var(--brand-3)}.accent-chip.on{border-color:var(--brand);background:var(--paper-3)}.accent-chip.missing{opacity:.55}.accent-flag{font-size:24px}.accent-none{font-size:9.5px;font-weight:800;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em}.voice-groups{display:flex;flex-direction:column;gap:14px;max-height:340px;overflow-y:auto;padding-right:4px}.voice-group{border:3px solid var(--paper-3);border-radius:var(--r-md);overflow:hidden}.voice-group-head{display:flex;justify-content:space-between;align-items:center;padding:8px 13px;background:var(--paper-2);font-weight:800;font-size:14px;color:var(--ink-soft)}.voice-row{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 13px;border-top:2px solid var(--paper-2)}.voice-row.on{background:var(--good-soft)}.voice-pick{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:none;cursor:pointer;font-family:inherit;text-align:left;padding:6px 0}.voice-name{font-size:13.5px;font-weight:700}.voice-tier{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:var(--r-full);background:var(--paper-3);color:var(--ink-soft);white-space:nowrap}.voice-tier.tier-neural{background:var(--good-soft);color:#14532d}.voice-tier.tier-network{background:var(--info-soft);color:#075985}.voice-tier.tier-basic{background:var(--bad-soft);color:#9f1239}.review-strip{margin-top:18px}.review-title{margin:0 0 10px;font-size:1rem;color:var(--ink, #241a3d)}.review-row{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.review-card{display:grid;gap:3px;justify-items:center;text-align:center;padding:14px 12px;border-radius:16px;cursor:pointer;font-family:inherit;background:var(--paper-2, #f6f4ff);border:2px dashed var(--line, #e4ddf7);transition:transform .12s,border-color .12s}.review-card:hover{transform:translateY(-2px);border-color:var(--brand, #8b5cf6);border-style:solid}.review-card b{font-size:.95rem;color:var(--brand, #8b5cf6)}.review-emoji{font-size:30px}.plan-row{padding:12px 14px;border-radius:14px;border:1px solid var(--line, #e4ddf7);background:var(--paper-2, #f6f4ff)}.plan-row.is-retired{opacity:.6}.plan-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.plan-chip{font-size:.72rem;padding:3px 9px;border-radius:999px;border:1px solid var(--line, #e4ddf7);color:var(--muted, #7a6f96);background:#fff;white-space:nowrap}.plan-chip.on{color:var(--brand, #8b5cf6);border-color:var(--brand, #8b5cf6);font-weight:700}.plan-chip.is-btn{cursor:pointer;font-family:inherit}.plan-chip.is-btn:hover{border-color:var(--brand, #8b5cf6)}.sub-child{padding:12px 14px;border-radius:14px;border:1px solid var(--line, #e4ddf7);background:var(--paper-2, #f6f4ff)}.plan-grid.is-compact{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.plan-grid.is-compact .plan-card{padding:14px}.plan-grid.is-compact .plan-list{font-size:.74rem}.app-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:.9rem;line-height:1.35;border-bottom:1px solid rgba(30,27,58,.1);background:var(--brand-soft, #efe8ff);color:var(--ink, #241a3d)}.app-banner.is-warn{background:#fff4d6}.app-banner.is-good{background:#e3f8ea}.app-banner-icon{font-size:1.05rem;flex:none}.app-banner-text{margin:0;flex:1}.app-banner-close{flex:none;border:0;background:transparent;cursor:pointer;font-size:1rem;line-height:1;padding:4px 6px;border-radius:8px;color:inherit;opacity:.6;font-family:inherit}.app-banner-close:hover{opacity:1;background:#1e1b3a14}@media (max-width: 480px){.app-banner{font-size:.82rem;padding:8px 10px}}.idle-warning{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-size:.85rem;background:var(--ink, #241a3d);color:#fff;box-shadow:0 6px 20px #1e1b3a47;pointer-events:none}.idle-warning p{margin:0}.ticket{display:grid;gap:6px;padding:14px 16px;margin-top:12px;border:2px solid var(--paper-3);border-radius:var(--r-lg);background:#fff}.ticket.is-done{border-color:#d8ecd8;background:#fbfefb}.ticket-body{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.ticket-state{font-size:12px;font-weight:800;white-space:nowrap}.ticket-state.is-open{color:#b06a00}.ticket-state.is-resolved{color:#2f7a3f}.ticket-reply{margin-top:8px;padding:10px 12px;border-left:4px solid var(--brand-2, #8b5cf6);background:var(--paper-2, #f6f3ff);border-radius:0 10px 10px 0}.ticket-reply p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.ticket-who{font-size:12px;color:var(--ink-faint)}.ticket-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.coin-warn{display:grid;gap:4px;margin-top:12px;padding:12px 14px;border-left:4px solid #d97706;border-radius:0 10px 10px 0;background:#fff8ed;color:#7c4a03}.coin-table{display:grid;gap:2px;overflow-x:auto}.coin-row{display:grid;align-items:center;gap:10px;padding:10px 12px;grid-template-columns:minmax(180px,2fr) 60px 80px 80px 90px 80px 90px;border-radius:10px;background:#fff;min-width:700px}.coin-row>span{display:grid}.coin-row.is-head{background:none;font-size:12px;font-weight:800;color:var(--ink-faint)}.coin-row.is-poor{background:#fff8ed}.coin-row.is-poor b{color:#b45309}.age-row,.avatar-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.age-pick{min-width:46px;padding:10px 0;border:2px solid var(--paper-3, #e4e4f2);background:var(--paper, #fff);border-radius:var(--r-md, 12px);font:inherit;font-weight:800;font-size:1rem;color:var(--ink, #1f2340);cursor:pointer;flex:1 1 46px}.age-pick:hover{border-color:var(--brand-3, #c4b5fd)}.age-pick.on{border-color:var(--brand, #6d28d9);background:var(--brand, #6d28d9);color:#fff}.avatar-pick{width:46px;height:46px;border:2px solid var(--paper-3, #e4e4f2);background:var(--paper, #fff);border-radius:50%;font-size:22px;line-height:1;cursor:pointer;padding:0}.avatar-pick:hover{border-color:var(--brand-3, #c4b5fd)}.avatar-pick.on{border-color:var(--brand, #6d28d9);background:var(--brand-soft, #f3efff);transform:scale(1.06)}@media (max-width: 420px){.age-pick{min-width:40px;flex-basis:40px;padding:9px 0}.avatar-pick{width:42px;height:42px;font-size:20px}}.route-wait{min-height:50vh;display:grid;place-items:center}.route-wait-dot{width:38px;height:38px;border-radius:50%;border:4px solid var(--paper-3);border-top-color:var(--brand);opacity:0;animation:route-wait-in .2s ease .35s forwards,route-wait-spin .8s linear infinite}@keyframes route-wait-in{to{opacity:1}}@keyframes route-wait-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.route-wait-dot{animation:route-wait-in .2s ease .35s forwards}}.lesson{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:radial-gradient(900px 500px at 15% -10%,#ede9fe 0%,transparent 60%),radial-gradient(700px 400px at 100% 10%,#fce7f3 0%,transparent 55%),var(--paper-2)}.lesson-bar{display:flex;align-items:center;gap:14px;padding:12px 18px;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:3px solid rgba(109,40,217,.1);flex:none}.lesson-bar-progress{flex:1;display:flex;align-items:center;gap:12px}.lesson-resume{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;padding:9px 18px;background:#ecfdf5;border-bottom:1px solid #a7f3d0;color:#065f46;font-weight:700;font-size:.92rem;flex:none}.lesson-resume .link-btn{color:#047857;font-weight:800}.lesson-bar-progress .bar{flex:1}.test-clock{font-variant-numeric:tabular-nums;font-weight:800;background:#ede9fe;color:#5b21b6}.test-clock.is-low{background:#fef3c7;color:#92400e}.test-clock.is-urgent{background:#ffe4e6;color:#be123c}.lesson-body{flex:1;overflow-y:auto;padding:20px 18px 24px;display:flex;flex-direction:column;align-items:center;gap:18px}.lesson-guide{display:flex;align-items:center;gap:14px;width:min(820px,100%)}.guide-bubble{flex:1;position:relative;background:#fff;border:3px solid var(--brand-3);border-radius:var(--r-lg);padding:16px 62px 16px 20px;box-shadow:var(--shadow-sm);min-height:60px;display:flex;align-items:center}.guide-bubble:before{content:"";position:absolute;left:-13px;top:30px;width:20px;height:20px;background:#fff;border-left:3px solid var(--brand-3);border-bottom:3px solid var(--brand-3);transform:rotate(45deg)}.guide-bubble p{font-size:clamp(17px,2.4vw,21px);font-weight:700}.guide-bubble .speak-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.lesson-stage{width:min(820px,100%);background:#fff;border-radius:var(--r-xl);padding:clamp(18px,3vw,32px);box-shadow:var(--shadow-md);border:3px solid rgba(109,40,217,.08);animation:rise-in .28s ease both}.lesson-foot{flex:none;display:flex;align-items:center;gap:14px;padding:14px 18px;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:3px solid rgba(109,40,217,.1)}.lesson-foot.has-right{background:var(--good-soft);border-top-color:var(--good)}.lesson-foot.has-wrong{background:var(--warn-soft);border-top-color:var(--warn)}.feedback{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px}.feedback-right{color:#14532d}.feedback-wrong{color:#78350f}.feedback-emoji{font-size:26px;flex:none}.feedback-why{display:block;font-size:14.5px;font-weight:600;font-style:normal;opacity:.85;margin-top:2px}.mode-pill{background:var(--paper-3);color:var(--brand)}.mode-pill.mode-practice{background:var(--info-soft);color:#075985}.mode-pill.mode-challenge{background:var(--warn-soft);color:#78350f}.mode-pill.mode-climb{background:var(--good-soft, #dcfce7);color:#166534}.pill.climb-streak{background:#fff7ed;letter-spacing:1px}.topic-pill{display:none}@media (min-width: 720px){.topic-pill{display:inline-flex}}.done-score{font-size:56px;font-weight:900;color:var(--brand)}.lesson-done{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:20px;overflow-y:auto;background:radial-gradient(800px 500px at 50% 0%,#ede9fe,var(--paper-2))}.done-card{background:#fff;border-radius:var(--r-xl);padding:34px 30px;text-align:center;width:min(560px,100%);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;gap:12px}.done-title{font-size:34px;color:var(--brand)}.done-stars{margin:6px 0}.done-stats{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;margin:8px 0 4px}.done-stat{display:flex;flex-direction:column}.done-stat b{font-size:26px;color:var(--brand)}.done-stat span{font-size:12.5px;color:var(--ink-faint)}.done-note{margin:6px auto 0;max-width:34rem;padding:9px 16px;border-radius:var(--r-lg, 16px);line-height:1.45}.done-note.warn{background:#fff8e8;border:2px solid #f0cd86;color:#7a5410;font-weight:700}.done-note.good{background:#f2fbf3;border:2px solid #9fd8a8;color:#226b33;font-weight:800;font-size:1.02rem}.bonus-stars{display:inline-flex;gap:3px;margin-top:2px}.bonus-star{font-size:13px;line-height:1;padding:3px;border-radius:999px;filter:grayscale(1);opacity:.35;transition:opacity .2s ease,filter .2s ease}.bonus-star.on{filter:none;opacity:1;background:#fff5d6}.mode-prize{font-size:11px;vertical-align:super;animation:prize-pulse 2.4s ease-in-out infinite}@keyframes prize-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.mode-prize{animation:none;opacity:1}}.done-levelup{background:var(--warn-soft);color:#78350f;padding:10px 22px;border-radius:var(--r-full);font-weight:800;border:3px solid var(--warn)}.done-badges{display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:6px}.done-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:12px}.visual-stack{display:flex;flex-direction:column;gap:18px;align-items:center;margin-bottom:14px}.v-counters{display:flex;flex-direction:column;align-items:center;gap:8px}.v-counter-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:560px}.v-counter{animation:pop-in .34s cubic-bezier(.2,1.3,.3,1) both;line-height:1}.v-counter.hi{filter:drop-shadow(0 0 8px var(--warn))}.v-label{font-size:20px;font-weight:800;color:var(--brand)}.v-groups{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}.v-group{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px;border-radius:var(--r-lg);background:var(--paper-2);border:3px dashed var(--brand-3);min-width:90px}.v-group-items{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;max-width:220px}.v-group-num{font-size:24px;color:var(--brand)}.v-symbol{font-size:34px;font-weight:900;color:var(--ink-soft)}.v-result{font-size:40px;font-weight:900;color:var(--good);min-width:66px;text-align:center}.v-bignum{display:flex;flex-direction:column;align-items:center}.v-bignum-emoji{font-size:46px}.v-bignum-value{font-size:clamp(48px,12vw,96px);font-weight:900;color:var(--brand);line-height:1}.v-bignum-word{font-size:22px;color:var(--ink-soft);text-transform:capitalize}.v-numline,.numline-track{width:100%}.v-numline-track,.numline-track{position:relative;height:92px;margin:20px 0 8px;padding:0 4px}.v-numline-rule,.numline-rule{position:absolute;left:0;right:0;top:46px;height:6px;background:var(--brand-3);border-radius:3px}.v-tick,.numline-tick{position:absolute;top:34px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px}.v-tick-mark,.numline-mark{width:5px;height:22px;border-radius:3px;background:var(--brand-2)}.v-tick.hi .v-tick-mark,.numline-tick.hi .numline-mark{background:var(--warn);height:30px}.numline-tick.active .numline-mark{background:var(--good);height:30px}.v-tick-num,.numline-num{font-size:13px;font-weight:800;color:var(--ink-soft)}.v-jump,.numline-hop{position:absolute;top:8px;height:40px}.v-frames,.tf-frames{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.v-tenframe,.tf-frame{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px;background:var(--paper-2);border:4px solid var(--brand);border-radius:var(--r-md)}.v-cell{width:34px;height:34px;border-radius:8px;background:#fff;border:2px solid var(--brand-3)}.v-cell.on{background:var(--warn);border-color:var(--warn)}.v-blocks{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;align-items:flex-end}.v-blockcol{display:flex;flex-direction:column;align-items:center;gap:6px}.v-blockrow{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:220px;align-items:flex-end}.v-blockrow.ones{max-width:100px}.blk-hundred{width:44px;height:44px;background:#6d28d9;border-radius:4px;display:block;background-image:linear-gradient(#ffffff33 1px,transparent 1px),linear-gradient(90deg,#ffffff33 1px,transparent 1px);background-size:4.4px 4.4px}.blk-ten{width:11px;height:44px;background:#0ea5e9;border-radius:3px;display:block;background-image:linear-gradient(#ffffff44 1px,transparent 1px);background-size:100% 4.4px}.blk-one{width:11px;height:11px;background:#f97316;border-radius:2px;display:block}.blk-thousand{font-size:34px}.v-array,.arr-grid{display:flex;flex-direction:column;align-items:center;gap:10px}.v-array-grid{display:grid;gap:6px;justify-content:center}.v-array-grid .v-counter{font-size:27px}.v-array-label{font-size:19px;font-weight:700;color:var(--ink-soft)}.v-fraccircle,.frac-circle{width:min(230px,70vw);height:auto}.v-fracbar,.frac-bar{display:flex;gap:3px;width:min(420px,90%);height:66px;border:4px solid #4c1d95;border-radius:var(--r-sm);padding:3px;background:#fff}.v-fracseg,.frac-seg{flex:1;border-radius:4px;background:#f1eefe}.v-fracseg.on{background:var(--maths)}.v-clock,.clock-face{width:min(250px,70vw);height:auto}.v-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;width:min(560px,100%)}.v-steps li{display:flex;align-items:flex-start;gap:12px;background:var(--paper-2);border-radius:var(--r-md);padding:13px 16px;font-size:17px;border-left:6px solid var(--brand-2)}.v-step-n{width:27px;height:27px;flex:none;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}.v-expr{font-weight:900;color:var(--brand);background:var(--paper-2);padding:16px 30px;border-radius:var(--r-lg);letter-spacing:.04em;text-align:center}.v-column,.col-paper{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;display:inline-flex;flex-direction:column;align-items:flex-end;background:var(--paper-2);padding:16px 22px;border-radius:var(--r-md);min-width:190px}.v-col-row{display:flex;gap:4px}.v-col-row span{width:34px;text-align:center}.v-col-row.carries{font-size:17px;color:var(--bad);height:22px}.v-col-row.ans{color:var(--good)}.v-col-op{color:var(--ink-soft)}.v-col-rule{height:4px;background:var(--ink);width:100%;margin:5px 0;border-radius:2px}.v-shapes{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.v-shape{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 18px;background:var(--paper-2);border-radius:var(--r-md);min-width:96px}.v-shape-glyph{font-size:42px}.v-table-wrap{width:100%;overflow-x:auto}.v-table{border-collapse:collapse;margin:0 auto;font-size:16px}.v-table th,.v-table td{padding:9px 15px;border:2px solid var(--paper-3);text-align:center}.v-table th{background:var(--brand);color:#fff}.v-table tr:nth-child(2n) td{background:var(--paper-2)}.act-note{width:100%;max-width:680px;margin:0 auto;text-align:left;display:flex;flex-direction:column;gap:14px}.note-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.note-badge{background:var(--brand);color:#fff;font-weight:800;font-size:13px;padding:5px 12px;border-radius:var(--r-full);white-space:nowrap}.note-title{font-weight:800;color:var(--ink-soft);font-size:16px}.note-idea{font-size:clamp(19px,3vw,24px);font-weight:800;color:var(--ink);line-height:1.4;margin:0;background:var(--paper-2);border-left:6px solid var(--brand);padding:14px 18px;border-radius:var(--r-md)}.note-block{background:#fff;border:3px solid var(--paper-3);border-radius:var(--r-md);padding:14px 16px}.note-h{font-size:15px;font-weight:800;color:var(--brand);margin:0 0 10px}.note-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.note-points li{display:flex;gap:11px;align-items:flex-start;font-size:clamp(15px,2.2vw,18px);line-height:1.5;color:var(--ink)}.note-num{flex:0 0 auto;width:26px;height:26px;border-radius:var(--r-full);background:var(--brand-3);color:var(--brand);font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;margin-top:1px}.note-example{background:var(--info-soft);border-color:#bae6fd}.note-example .note-h{color:#0369a1}.note-q{font-weight:800;font-size:clamp(16px,2.3vw,19px);color:var(--ink);margin:0 0 10px}.note-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:7px}.note-steps li{font-size:clamp(15px,2.2vw,17px);line-height:1.5;color:var(--ink-soft)}.note-answer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 0;padding-top:11px;border-top:2px dashed #7dd3fc}.note-answer span{font-size:13px;font-weight:800;color:#0369a1;text-transform:uppercase;letter-spacing:.04em}.note-answer b{font-size:clamp(18px,2.8vw,22px);color:var(--ink)}.note-watch{display:flex;gap:11px;align-items:flex-start;background:var(--warn-soft);color:#78350f;padding:13px 16px;border-radius:var(--r-md);border-left:6px solid var(--warn);font-size:clamp(15px,2.2vw,17px);line-height:1.5}.note-watch-emoji{font-size:20px;line-height:1.3}.note-words{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.note-words li{font-size:clamp(15px,2.2vw,17px);line-height:1.45;color:var(--ink-soft)}.note-words b{color:var(--ink)}.note-words b:after{content:" — ";color:var(--ink-faint);font-weight:600}.note-nursery .note-idea{font-size:clamp(20px,3.2vw,26px)}.note-nursery .note-points li,.note-nursery .note-steps li{font-size:clamp(16px,2.4vw,19px)}.note-aloud{display:flex;gap:10px;align-items:flex-start;margin:0;background:var(--info-soft);color:#0c4a6e;border-radius:var(--r-md);padding:11px 15px;font-size:14px;line-height:1.45}.note-aloud-emoji{font-size:18px;line-height:1.3}.note-grownup{display:flex;gap:11px;align-items:flex-start;background:var(--good-soft);color:#14532d;padding:13px 16px;border-radius:var(--r-md);border-left:6px solid var(--good);font-size:clamp(15px,2.2vw,17px);line-height:1.5}.note-grownup-emoji{font-size:20px;line-height:1.3}.note-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#1e1b3a8c;display:flex;align-items:flex-end;justify-content:center}.note-sheet-inner{background:var(--paper);width:min(720px,100%);max-height:88vh;overflow-y:auto;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:18px 18px 24px;animation:rise-in .22s ease}.note-sheet-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.note-sheet-bar b{font-size:16px;color:var(--ink)}@media (min-width: 640px){.note-sheet{align-items:center}.note-sheet-inner{border-radius:var(--r-xl)}}.act-heading{font-size:clamp(21px,3.4vw,28px);color:var(--brand);text-align:center;margin-bottom:10px}.act-body{font-size:clamp(16px,2.3vw,19px);text-align:center;color:var(--ink-soft);margin-bottom:16px;max-width:640px;margin-left:auto;margin-right:auto}.act-aside{display:flex;gap:10px;align-items:center;background:var(--warn-soft);color:#78350f;padding:13px 18px;border-radius:var(--r-md);font-weight:700;margin-top:16px;border-left:6px solid var(--warn)}.act-aside-emoji{font-size:22px}.act-subprompt{display:flex;align-items:center;justify-content:center;gap:10px;font-size:19px;font-weight:800;margin:16px 0 12px}.tile{border:4px solid var(--paper-3);background:#fff;border-radius:var(--r-lg);padding:16px 14px;min-height:78px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:0 5px #e6e1fb;transition:transform 90ms,border-color .14s,background .14s}.tile:hover:not(:disabled){border-color:var(--brand-2);transform:translateY(-2px)}.tile:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #e6e1fb}.tile.big{min-height:104px}.tile-emoji{font-size:clamp(26px,5vw,38px);line-height:1.1}.tile-label{font-size:clamp(20px,3.6vw,30px);font-weight:900;color:var(--ink)}.tile-sub{font-size:13px;color:var(--ink-faint)}.tile-right{border-color:var(--good);background:var(--good-soft);box-shadow:0 5px #86efac;animation:pop-in .3s ease}.tile-wrong{border-color:var(--bad);background:var(--bad-soft);box-shadow:0 5px #fda4af;opacity:.75}.tile:disabled{cursor:not-allowed}.choice-grid{display:grid;gap:12px;width:100%}.tap-field{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:22px;background:var(--paper-2);border-radius:var(--r-lg);border:4px dashed var(--brand-3);min-height:150px;align-items:center}.tap-field.done{border-style:solid;border-color:var(--good);background:var(--good-soft)}.tap-object{position:relative;border:0;background:none;cursor:pointer;padding:6px;border-radius:var(--r-md);transition:transform .13s}.tap-object:hover{transform:scale(1.12)!important}.tap-emoji{font-size:clamp(36px,7vw,52px);display:block;line-height:1}.tap-object.counted .tap-emoji{filter:saturate(.35) brightness(1.15)}.tap-badge{position:absolute;top:-4px;right:-4px;width:27px;height:27px;border-radius:50%;background:var(--good);color:#fff;font-size:14px;font-weight:900;display:grid;place-items:center;border:3px solid #fff}.tap-counter{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0}.tap-counter b{font-size:34px;color:var(--brand)}.act-keypad{display:flex;flex-direction:column;align-items:center;gap:16px}.keypad-equation,.keypad-display{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:clamp(30px,6vw,46px);font-weight:900;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;background:var(--paper-2);padding:14px 26px;border-radius:var(--r-lg)}.keypad-slot,.keypad-display{min-width:96px;text-align:center;border-bottom:5px solid var(--brand-2);color:var(--brand)}.keypad-slot.ok,.keypad-display.ok{color:var(--good);border-color:var(--good)}.keypad-unit{font-size:20px;color:var(--ink-soft)}.keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(300px,100%)}.key,.col-keys .key{font-family:var(--font-num);font-size:26px;font-weight:800;padding:16px 0;min-height:60px;border-radius:var(--r-md);border:3px solid var(--paper-3);background:#fff;color:var(--ink);cursor:pointer;box-shadow:0 4px #e6e1fb;transition:transform 80ms}.key:hover:not(:disabled){background:var(--paper-2)}.key:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #e6e1fb}.key.alt{background:var(--paper-3);color:var(--brand)}.key:disabled{opacity:.4;cursor:not-allowed}.keypad-check{width:min(300px,100%)}.pattern-strip{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:20px;background:var(--paper-2);border-radius:var(--r-lg)}.pattern-cell{width:66px;height:66px;border-radius:var(--r-md);background:#fff;border:3px solid var(--paper-3);display:grid;place-items:center;font-size:34px;font-weight:900;color:var(--brand)}.pattern-blank{color:var(--brand-2);animation:pulse-ring 1.8s ease-out infinite;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.act-speed{display:flex;flex-direction:column;align-items:center;gap:18px;transition:background .2s;border-radius:var(--r-lg)}.act-speed.ready{text-align:center;gap:12px}.speed-badge{font-size:60px;animation:bob 1.6s ease-in-out infinite}.speed-hud{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.speed-q{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:clamp(38px,9vw,68px);font-weight:900;color:var(--brand);padding:16px 0}.act-speed.flash-ok{background:var(--good-soft)}.act-speed.flash-no{background:var(--bad-soft)}.speed-final{text-align:center}.draggable{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.draggable.is-dragging{opacity:.28;cursor:grabbing}.draggable.is-locked{cursor:default;opacity:.6}.drag-ghost{position:fixed;z-index:999;pointer-events:none;transform:scale(1.1) rotate(-3deg);filter:drop-shadow(0 12px 18px rgba(30,27,58,.4))}.dropzone{transition:background .14s,border-color .14s,transform .14s}.dropzone.is-over{border-color:var(--good)!important;background:var(--good-soft)!important;transform:scale(1.03)}.chip{display:inline-flex;align-items:center;gap:7px;padding:11px 17px;border-radius:var(--r-full);background:#fff;border:3px solid var(--brand-3);font-weight:800;font-size:19px;box-shadow:0 3px #1e1b3a1a;cursor:pointer}.chip.small{font-size:16px;padding:7px 13px}.chip.ok{border-color:var(--good);background:var(--good-soft)}.chip.no{border-color:var(--bad);background:var(--bad-soft)}.chip-emoji{font-size:22px}.bucket-tray,.order-tray,.coin-tray,.pv-tray{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;min-height:66px;align-items:center;padding:12px;background:var(--paper-2);border-radius:var(--r-lg);border:3px dashed var(--brand-3);margin-bottom:16px}.tray-empty{color:var(--ink-faint);font-weight:700}.bucket-row{display:grid;gap:12px;margin-bottom:18px}.bucket{border:4px dashed var(--brand-3);border-radius:var(--r-lg);padding:12px;background:#fff;display:flex;flex-direction:column;gap:8px;min-height:150px}.bucket-head{display:flex;align-items:center;gap:8px;justify-content:center;font-size:15px;text-align:center}.bucket-emoji{font-size:24px}.bucket-body{flex:1;display:flex;flex-wrap:wrap;gap:7px;align-content:flex-start;justify-content:center}.bucket-hint{color:var(--ink-faint);font-size:13px;align-self:center}.act-buckets,.act-order,.act-match,.act-placevalue,.act-money,.act-numline,.act-tenframe,.act-fraction,.act-array,.act-clock,.act-coords,.act-barchart,.act-column,.act-swipe{display:flex;flex-direction:column;align-items:center;gap:14px}.order-axis{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--ink-soft)}.order-arrow{font-size:22px;color:var(--brand)}.order-slots{display:grid;gap:10px;width:100%}.order-slot{position:relative;border:4px dashed var(--brand-3);border-radius:var(--r-md);min-height:86px;padding:20px 6px 6px;display:grid;place-items:center;background:#fff}.order-slot.ok{border-color:var(--good);background:var(--good-soft);border-style:solid}.order-slot.no{border-color:var(--bad);background:var(--bad-soft);border-style:solid}.slot-index{position:absolute;top:4px;left:8px;font-size:12px;font-weight:800;color:var(--ink-faint)}.slot-empty{width:34px;height:34px;border-radius:50%;background:var(--paper-3)}.match-wrap{position:relative;display:flex;gap:clamp(30px,12vw,110px);width:100%;justify-content:center}.match-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:100%;height:100%}.match-col{display:flex;flex-direction:column;gap:12px;flex:1;max-width:240px}.match-drop{border-radius:var(--r-md)}.match-card{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;min-height:60px;background:#fff;border:3px solid var(--brand-3);border-radius:var(--r-md);font-weight:800;font-size:19px;box-shadow:0 3px #1e1b3a14}.match-card.linked{border-color:var(--brand);background:var(--paper-3)}.match-emoji{font-size:24px}.match-dot{position:absolute;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:var(--brand-2);border:3px solid #fff}.match-dot.right{right:-9px}.match-dot.left{left:-9px}.pv-target{font-size:22px;font-weight:800}.pv-target b{color:var(--brand);font-size:30px}.pv-source{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;background:#fff;border:3px solid var(--brand-3);border-radius:var(--r-md);min-width:72px}.pv-board{display:grid;gap:10px;width:100%}.pv-col{border:4px dashed var(--brand-3);border-radius:var(--r-md);background:#fff;display:flex;flex-direction:column;min-height:190px;overflow:hidden}.pv-col-head{background:var(--paper-3);padding:7px;text-align:center;font-weight:800;font-size:13.5px;color:var(--brand)}.pv-col-body{flex:1;display:flex;flex-wrap:wrap;gap:4px;padding:8px;align-content:flex-start;justify-content:center}.pv-col-foot{display:flex;align-items:center;justify-content:center;gap:10px;padding:7px;border-top:2px solid var(--paper-3)}.icon-btn.sm{width:34px;height:34px;font-size:17px}.pv-total{font-size:21px;padding:10px 22px;border-radius:var(--r-full);background:var(--paper-2)}.pv-total.ok{background:var(--good-soft);color:#14532d}.pv-total.no{background:var(--bad-soft);color:#9f1239}.money-target{font-size:21px;font-weight:800}.money-target b{color:var(--brand);font-size:28px}.coin{min-width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fde68a,#f59e0b);border:4px solid #b45309;color:#451a03;font-weight:900;font-size:15px;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px #92400e}.coin.note{border-radius:var(--r-sm);width:92px;height:54px;background:linear-gradient(120deg,#86efac,#22c55e);border-color:#15803d;color:#052e16;box-shadow:0 4px #166534}.purse{width:100%;min-height:170px;border:4px dashed var(--brand-3);border-radius:var(--r-lg);background:#fff;padding:14px;display:flex;flex-direction:column;gap:10px}.purse-label{font-weight:800;color:var(--ink-soft)}.purse-body{flex:1;display:flex;flex-wrap:wrap;gap:9px;justify-content:center;align-items:center;align-content:center}.purse-total{text-align:center;font-size:19px;font-weight:800;padding:9px;border-radius:var(--r-md);background:var(--paper-2)}.purse-total.ok{background:var(--good-soft);color:#14532d}.purse-total.no{background:var(--bad-soft);color:#9f1239}.numline-value,.tf-count{display:flex;flex-direction:column;align-items:center}.numline-value b,.tf-count b{font-size:38px;color:var(--brand)}.numline-value b.ok,.tf-count b.ok{color:var(--good)}.numline-value b.no,.tf-count b.no{color:var(--bad)}.numline-track{touch-action:none;cursor:pointer;padding-bottom:20px}.numline-marker{position:absolute;top:0;transform:translate(-50%);transition:left .19s cubic-bezier(.2,1,.3,1);pointer-events:none}.numline-marker-emoji{font-size:40px;display:block;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.numline-marker.ok .numline-marker-emoji{animation:bob .6s ease-in-out 2}.numline-marker.no .numline-marker-emoji{animation:shake .4s ease}.numline-hops{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.tf-cell{width:52px;height:52px;border-radius:var(--r-sm);background:#fff;border:3px solid var(--brand-3);cursor:pointer;display:grid;place-items:center;padding:0}.tf-cell:hover{background:var(--paper-2)}.tf-cell.on{background:var(--paper-3);border-color:var(--brand)}.tf-dot{font-size:27px;line-height:1}.tf-controls{display:flex;gap:14px}.frac-goal{font-size:21px;font-weight:800;display:flex;align-items:center;gap:10px}.frac-inline{display:inline-flex;flex-direction:column;align-items:center;line-height:1;font-size:19px;color:var(--brand)}.frac-inline i{display:block;width:100%;height:3px;background:var(--brand);margin:2px 0}.frac-slice{cursor:pointer;fill:#f1eefe;stroke:#4c1d95;stroke-width:3;transition:fill .15s}.frac-slice:hover{fill:#e0d9fb}.frac-slice.on{fill:var(--maths)}.frac-seg{cursor:pointer;transition:background .15s}.frac-seg:hover{background:#e0d9fb}.frac-seg.on{background:var(--maths)}.frac-readout{font-size:19px;padding:9px 20px;border-radius:var(--r-full);background:var(--paper-2)}.frac-readout.ok{background:var(--good-soft);color:#14532d}.frac-readout.no{background:var(--bad-soft);color:#9f1239}.arr-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}.arr-stepper{display:flex;flex-direction:column;align-items:center;gap:5px}.arr-num{font-size:27px;min-width:42px;text-align:center;color:var(--brand)}.arr-times{font-size:27px;font-weight:900;color:var(--ink-soft)}.arr-grid{display:grid;gap:6px;justify-content:center;padding:16px;background:var(--paper-2);border-radius:var(--r-lg);min-height:90px}.arr-dot{font-size:24px;line-height:1;animation:pop-in .26s ease both}.arr-readout{font-size:23px;font-weight:800;padding:9px 22px;border-radius:var(--r-full);background:var(--paper-2)}.arr-readout.ok{background:var(--good-soft);color:#14532d}.arr-readout.no{background:var(--bad-soft);color:#9f1239}.clock-readout{font-size:38px;font-weight:900;color:var(--brand)}.clock-face{touch-action:none}.clock-face.ok circle:first-child{stroke:var(--good)}.clock-face.no circle:first-child{stroke:var(--bad)}.clock-face .hand{cursor:grab}.clock-face .hand:active{cursor:grabbing}.clock-nudges{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.act-balance{display:flex;flex-direction:column;align-items:center;gap:20px}.bal-scene{position:relative;width:min(520px,100%);padding-top:20px}.bal-beam{display:flex;justify-content:space-between;gap:16px;transform:rotate(var(--tilt, 0deg));transform-origin:center bottom;transition:transform .5s cubic-bezier(.2,1,.3,1);border-bottom:8px solid var(--brand);border-radius:4px;padding-bottom:8px}.bal-pan{flex:1;background:var(--paper-2);border:4px solid var(--brand-3);border-radius:var(--r-lg);padding:12px;min-height:118px;display:flex;flex-direction:column;align-items:center;gap:6px}.bal-value{font-size:30px;font-weight:900;color:var(--brand)}.bal-items{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;font-size:17px}.bal-post{width:22px;height:40px;background:var(--brand);margin:0 auto;border-radius:0 0 8px 8px}.bal-question{display:flex;align-items:center;gap:16px;font-size:30px;font-weight:900}.bal-slot{min-width:62px;height:62px;border-radius:var(--r-md);border:4px dashed var(--brand-2);color:var(--brand-2);display:grid;place-items:center}.bal-slot.filled{border-style:solid;background:var(--paper-3);color:var(--brand)}.bal-options{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.bal-opt{border:4px solid var(--paper-3);background:#fff;cursor:pointer;border-radius:var(--r-lg);padding:12px 22px;min-width:118px;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:0 5px #e6e1fb;font-family:inherit}.bal-opt:hover:not(:disabled){border-color:var(--brand-2)}.bal-sym{font-size:34px;font-weight:900;color:var(--brand)}.bal-opt.ok{border-color:var(--good);background:var(--good-soft)}.bal-opt.no{border-color:var(--bad);background:var(--bad-soft);opacity:.7}.coord-goal{font-size:20px;font-weight:800}.coord-wrap{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:6px;width:min(420px,100%)}.coord-ylabels{display:flex;flex-direction:column;justify-content:space-between;font-size:12px;font-weight:800;color:var(--ink-soft);padding:0 4px}.coord-xlabels{grid-column:2;display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:var(--ink-soft)}.coord-grid{position:relative;aspect-ratio:1;background:#fff;border-radius:var(--r-sm)}.coord-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.coord-node{position:absolute;width:26px;height:26px;transform:translate(-50%,50%);border-radius:50%;border:0;background:transparent;cursor:pointer;padding:0}.coord-node:hover{background:#8b5cf647}.coord-node.on{background:var(--brand);border:4px solid #fff;box-shadow:0 0 0 3px var(--brand)}.coord-node.ok{background:var(--good);box-shadow:0 0 0 3px var(--good)}.coord-node.no{background:var(--bad);box-shadow:0 0 0 3px var(--bad)}.coord-readout{font-weight:800;color:var(--ink-soft)}.bc-data{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.bc-plot{display:flex;gap:8px;width:100%;height:250px}.bc-yaxis{display:flex;flex-direction:column;justify-content:space-between;font-size:12px;font-weight:800;color:var(--ink-soft)}.bc-area{flex:1;display:flex;gap:10px;align-items:flex-end;background:repeating-linear-gradient(to top,var(--paper-2) 0 1px,transparent 1px 10%);border-left:4px solid var(--ink);border-bottom:4px solid var(--ink);padding:0 10px;touch-action:none}.bc-col{flex:1;height:100%;position:relative;display:flex;align-items:flex-end}.bc-hit{position:absolute;top:0;right:0;bottom:0;left:0;cursor:ns-resize}.bc-bar{width:100%;border-radius:8px 8px 0 0;cursor:ns-resize;position:relative;min-height:3px;transition:height 90ms linear}.bc-bar.ok{outline:4px solid var(--good)}.bc-bar.no{outline:4px solid var(--bad)}.bc-val{position:absolute;top:-24px;left:50%;transform:translate(-50%);font-weight:900;font-size:15px;color:var(--ink)}.bc-xaxis{display:flex;gap:10px;width:100%;padding-left:34px}.bc-xaxis span{flex:1;text-align:center;font-size:13px;font-weight:700}.swipe-hud{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.swipe-stage{display:flex;align-items:center;gap:12px;width:100%;justify-content:center}.swipe-side{flex:none;width:clamp(78px,18vw,130px);display:flex;flex-direction:column;align-items:center;gap:5px;padding:16px 8px;border-radius:var(--r-lg);background:var(--paper-2);border:4px dashed var(--brand-3);text-align:center;font-size:14px;transition:all .16s}.swipe-side.lit{border-color:var(--good);background:var(--good-soft);transform:scale(1.06)}.swipe-side-emoji{font-size:30px}.swipe-deck{position:relative;flex:1;max-width:300px;height:210px}.swipe-card{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;border:4px solid var(--brand-3);border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-md);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.swipe-card:active{cursor:grabbing}.swipe-card.behind{transform:scale(.94) translateY(10px);opacity:.55;z-index:-1}.swipe-card-emoji{font-size:46px}.swipe-card-text{font-size:clamp(28px,6vw,44px);font-weight:900;color:var(--brand)}.swipe-card-sub{font-size:14px;color:var(--ink-faint)}.swipe-done{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.swipe-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.act-swipe.flash-ok .swipe-deck{filter:drop-shadow(0 0 16px var(--good))}.act-swipe.flash-no .swipe-deck{filter:drop-shadow(0 0 16px var(--bad))}.col-paper{align-items:flex-end}.col-line{display:flex;gap:4px}.col-cell{width:38px;text-align:center;display:inline-grid;place-items:center}.col-line.marks{height:26px;font-size:16px}.col-mark.carry{color:var(--bad);font-size:17px}.col-mark.borrow{color:var(--info);font-size:15px}.col-op{color:var(--ink-soft)}.col-rule{height:4px;background:var(--ink);width:100%;margin:6px 0;border-radius:2px}.col-line.answer .col-digit{color:var(--good)}.col-digit.active{color:var(--brand);background:var(--paper-3);border-radius:8px;width:100%;animation:pulse-ring 1.8s ease-out infinite}.col-digit.waiting{color:var(--ink-faint)}.col-cell.struck{text-decoration:line-through;color:var(--ink-faint)}.col-prompt{font-size:18px;font-weight:700;text-align:center;max-width:480px}.col-keys{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;width:min(340px,100%)}.col-done{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:21px}@media (max-width: 560px){.lesson-guide{flex-direction:row;align-items:flex-start}.lesson-guide .mascot{width:64px;height:64px}.guide-bubble{padding:12px 54px 12px 14px}.bucket-row{grid-template-columns:1fr 1fr!important}.order-slots{grid-template-columns:repeat(auto-fit,minmax(76px,1fr))!important}.match-wrap{gap:22px}.match-card{font-size:16px;padding:11px;min-height:52px}.tf-cell{width:40px;height:40px}.done-actions{flex-direction:column;width:100%}.done-actions .btn{width:100%}}.worked{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}.worked-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;width:100%}.worked-badge{background:var(--warn-soft);color:#78350f;font-weight:800;font-size:13px;padding:5px 13px;border-radius:var(--r-full);white-space:nowrap}.worked-title{font-size:clamp(17px,3vw,22px);font-weight:800;color:var(--brand)}.worked-rail{list-style:none;display:flex;gap:8px;margin:0;padding:0;flex-wrap:wrap;justify-content:center}.worked-dot{width:34px;height:34px;border-radius:50%;border:3px solid var(--paper-3);background:#fff;color:var(--ink-faint);font-family:inherit;font-weight:800;font-size:14px;cursor:pointer;transition:all .16s}.worked-dot:hover{border-color:var(--brand-3)}.worked-dot.done{background:var(--good-soft);border-color:var(--good);color:#14532d}.worked-dot.on{background:var(--brand);border-color:var(--brand);color:#fff;transform:scale(1.12)}.worked-stage{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--paper-2);border-radius:var(--r-lg);padding:20px 18px;min-height:190px;justify-content:center;animation:rise-in .3s ease both}.worked-caption{font-size:clamp(16px,2.6vw,20px);font-weight:700;text-align:center;max-width:44ch;line-height:1.5}.worked-note{display:flex;gap:10px;align-items:flex-start;background:#fff;border-left:5px solid var(--warn);border-radius:var(--r-md);padding:10px 14px;font-size:14px;color:var(--ink-soft);max-width:46ch}.worked-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center}.worked-done{display:flex;align-items:center;gap:12px;background:var(--good-soft);color:#14532d;border-radius:var(--r-lg);padding:12px 20px;width:100%}.tile{position:relative}.hear-btn{display:inline-grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;border:2px solid #ddd6fe;background:#f5f3ff;font-size:16px;line-height:1;cursor:pointer;box-shadow:0 2px #e6e1fb;-webkit-tap-highlight-color:transparent}.hear-btn:hover{background:#ede9fe;border-color:var(--brand-2)}.hear-btn:active{transform:translateY(1px)}.hear-btn:focus-visible{outline:3px solid #c4b5fd;outline-offset:2px}.hear-btn.on-tile{position:absolute;top:6px;right:6px;width:32px;height:32px;font-size:15px}.hear-btn.on-chip{width:28px;height:28px;font-size:13px;margin-left:4px}.hear-btn.on-card{margin-top:6px}.bucket-head .hear-btn,.swipe-side .hear-btn{width:28px;height:28px;font-size:13px}.match-card{position:relative}.demo-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#1e143c0f;cursor:progress}.demo-hand{position:fixed;z-index:82;pointer-events:none;font-size:46px;line-height:1;transform:translate(-30%,-8%);transition:left .48s cubic-bezier(.3,.8,.3,1),top .48s cubic-bezier(.3,.8,.3,1),transform .14s ease;filter:drop-shadow(0 6px 8px rgba(0,0,0,.28))}.demo-hand.tap{transform:translate(-30%,-8%) scale(.82)}.demo-hand.tap:after{content:"";position:absolute;left:12px;top:-2px;width:26px;height:26px;border-radius:50%;border:4px solid #8b5cf6;animation:demo-ripple .52s ease-out infinite}@keyframes demo-ripple{0%{transform:scale(.4);opacity:1}to{transform:scale(1.8);opacity:0}}.demo-ghost{position:fixed;z-index:81;pointer-events:none;opacity:.92;transition:left .82s cubic-bezier(.3,.8,.3,1),top .82s cubic-bezier(.3,.8,.3,1);transform:rotate(-3deg);filter:drop-shadow(0 10px 14px rgba(0,0,0,.22))}.demo-ghost>*{width:100%;height:100%;margin:0}.demo-bar{position:fixed;left:50%;bottom:18px;z-index:83;transform:translate(-50%);display:flex;align-items:center;gap:12px;max-width:min(94vw,620px);padding:10px 12px 10px 18px;border-radius:18px;background:#fff;border:3px solid #c4b5fd;box-shadow:0 14px 34px -14px #4c1d958c;cursor:default}.demo-bar-text{flex:1;font-weight:800;font-size:17px;color:var(--ink);min-width:0}.lesson.is-early .guide-bubble p{font-size:1.08em}@media (prefers-reduced-motion: reduce){.demo-hand,.demo-ghost{transition:none}.demo-hand.tap:after{animation:none}}.v-picture{display:grid;justify-items:center;gap:6px;margin:4px auto 8px}.v-picture-emoji{line-height:1.05}.v-picture-photo{width:min(260px,70vw);height:auto;aspect-ratio:1 / 1;object-fit:cover;border-radius:22px;border:4px solid #fff;box-shadow:0 10px 24px -14px #1f163799;background:var(--paper-2, #f4f1fb)}.v-picture-label{font-weight:900;font-size:22px;color:var(--ink)}.v-photo{margin:6px auto 10px;max-width:min(520px,100%)}.v-photo img{width:100%;height:auto;border-radius:18px;display:block;box-shadow:0 10px 24px -16px #1f163799}.v-photo figcaption{margin-top:6px;font-size:14px;color:var(--ink-soft, #4b4363);text-align:center}.tile-photo{width:100%;max-width:132px;aspect-ratio:1 / 1;height:auto;object-fit:cover;border-radius:14px;background:#f4f1fb}.chip-photo{width:46px;height:46px;object-fit:cover;border-radius:10px;flex:none}.swipe-card-photo{width:150px;height:150px;object-fit:cover;border-radius:16px;margin-bottom:6px;pointer-events:none}.match-photo{width:52px;height:52px;object-fit:cover;border-radius:10px;flex:none}.photo-credits{margin:14px 0 0;font-size:11px;line-height:1.4;color:var(--ink-faint, #8c84a6);text-align:center}.photo-credits a{color:inherit}.v-scene{margin:4px auto 10px;width:min(440px,100%)}.v-scene-box{position:relative;width:100%;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#eef6ff,#f8fbff 62%,#f2ead8 62%,#efe3c8);border:3px solid #e0e7ff}.v-scene-item{position:absolute;transform:translate(-50%,-50%);line-height:1}.v-scene-bar{position:absolute;height:24px;border-radius:12px;transform:translateY(-50%);box-shadow:0 3px #0000001f;display:flex;align-items:center;padding-left:10px}.v-scene-bar b{font-size:14px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);white-space:nowrap}.v-scene figcaption{margin-top:6px;text-align:center;font-weight:800;color:var(--ink)}.v-counter.gone{position:relative;opacity:.32;filter:grayscale(.6)}.v-counter.gone:after{content:"✕";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#e11d48;font-weight:900;font-size:.8em;opacity:1}.v-alpha{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:3px;width:100%;max-width:560px;margin:0 auto}.v-alpha-cell{display:flex;flex-direction:column;align-items:center;padding:4px 0;border-radius:8px;background:var(--paper-2);border:2px solid var(--paper-3);min-width:0}.v-alpha-cell b{font-size:17px;line-height:1.1}.v-alpha-cell small{font-size:10px;color:var(--ink-soft, #64748b)}.v-alpha-cell em{font-style:normal;font-size:11px;font-weight:800;color:var(--brand)}.v-alpha-cell.on{background:var(--brand);border-color:var(--brand);color:#fff}.v-alpha-cell.on small,.v-alpha-cell.on em{color:#fff}.v-alpha-cell.marked{border-color:var(--warn, #f59e0b)}.v-numshapes{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.v-numshape{width:clamp(84px,24vw,132px);height:auto;aspect-ratio:120 / 112}.v-numshape-edge{fill:var(--paper-2);stroke:var(--brand);stroke-width:3;stroke-linejoin:round}.v-numshape-dot{fill:#fff;stroke:var(--brand);stroke-width:2.5}.v-numshape-n{font-size:16px;font-weight:800;fill:var(--ink, #1e1b4b)}.v-numshape-mid{font-size:25px;font-weight:800;fill:var(--brand)}.v-numshape-mid.ask{fill:var(--warn, #d97706)}.act-machine{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.mc-stage{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.mc-feed{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:220px}.mc-ball{width:48px;height:48px;border-radius:50%;border:3px solid var(--brand);background:#fff;font-size:18px;font-weight:800;color:var(--brand);cursor:pointer;transition:transform .15s}.mc-ball:hover:not(:disabled){transform:translateY(-2px)}.mc-ball.is-used{background:var(--paper-2);border-style:dashed}.mc-box{position:relative;min-width:150px;padding:18px 16px;border-radius:18px;background:linear-gradient(160deg,#6d28d9,#4c1d95);color:#fff;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 6px #0000002e;overflow:hidden}.mc-gear{font-size:30px;display:inline-block}.mc-box.is-working .mc-gear{animation:mc-spin .9s linear}.mc-rule{font-size:22px;letter-spacing:.02em}.mc-drop{position:absolute;top:-4px;left:50%;width:38px;height:38px;margin-left:-19px;border-radius:50%;background:#fde047;color:#1e1b4b;font-weight:800;display:grid;place-items:center;animation:mc-drop .9s ease-in forwards}.mc-tip{margin:0;font-size:14px;color:var(--ink-soft, #64748b);text-align:center}.mc-log td,.mc-log th{padding:6px 18px}@keyframes mc-spin{to{transform:rotate(360deg)}}@keyframes mc-drop{0%{transform:translateY(-30px);opacity:0}30%{opacity:1}to{transform:translateY(70px);opacity:0}}@media (prefers-reduced-motion: reduce){.mc-box.is-working .mc-gear,.mc-drop{animation:none}}.sim{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}.sim-head{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;flex-wrap:wrap}.sim-title{font-size:17px;font-weight:800;color:var(--ink-soft)}.sim-progress{font-weight:800;color:var(--brand)}.sim-badge{padding:6px 14px;border-radius:var(--r-full);background:var(--paper-3);color:var(--brand);font-weight:800;font-size:14px;white-space:nowrap}.sim-badge.on{background:var(--good-soft);color:#14532d}.sim-badge.warn{background:var(--warn-soft);color:#78350f}.sim-badge.phase-solid{background:#dbeafe;color:#1e40af}.sim-badge.phase-liquid{background:#cffafe;color:#155e75}.sim-badge.phase-gas{background:#f3e8ff;color:#6b21a8}.sim-goal{font-size:clamp(16px,2.6vw,20px);font-weight:800;text-align:center;background:var(--paper-2);padding:11px 20px;border-radius:var(--r-md);width:100%;border-left:6px solid var(--brand-2)}.sim-note{font-size:14.5px;line-height:1.6;color:var(--ink-soft);background:var(--paper-2);padding:12px 16px;border-radius:var(--r-md);width:100%}.sim-control{width:100%;display:grid;gap:16px}.sim-control.two{grid-template-columns:1fr}@media (min-width: 620px){.sim-control.two{grid-template-columns:1fr 1fr}}.sim-slider{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:15px}.sim-slider .range{accent-color:#22c55e}.range.thermo{accent-color:#e05252}.sim-choices{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.sim-tray{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;padding:12px;background:var(--paper-2);border-radius:var(--r-lg);border:3px dashed var(--brand-3);width:100%}.sim-done{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--good-soft);color:#14532d;border-radius:var(--r-full);font-weight:800}.sim-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;width:100%}.sim-facts li{background:var(--paper-2);border-radius:var(--r-md);padding:10px 14px;font-size:14.5px;border-left:5px solid #22c55e}.diagram-wrap{position:relative;width:min(560px,100%);margin:0 auto;padding:0 clamp(72px,22%,118px)}.diagram-svg{width:100%;height:auto;display:block;max-height:60vh;background:#fbfdff;border-radius:var(--r-lg);border:3px solid var(--paper-3)}.diagram-figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px}.diagram-figure figcaption{font-size:13.5px;font-weight:700;color:var(--ink-faint)}.hotspot-hit{fill:#6d28d900;cursor:pointer}.hotspot-hit:hover{fill:#22c55e38}.hotspot-dot{fill:#fff;stroke:#243b53;stroke-width:3}.hotspot-dot.on{fill:#22c55e}.hotspot.done .hotspot-dot{fill:#16a34a}.hotspot-tick{fill:#16a34a;stroke:#fff;stroke-width:3}.hotspot.wrong circle{fill:#e11d48}.diagram-labels{position:absolute;inset:0 clamp(72px,22%,118px);pointer-events:none}.label-group{position:absolute;left:0;right:0;height:0}.label-leader{position:absolute;top:0;height:2.5px;background:repeating-linear-gradient(90deg,#22c55e 0 6px,transparent 6px 10px)}.diagram-label{position:absolute;top:0;transform:translateY(-50%);background:#fff;border:2.5px solid #22c55e;color:#14532d;padding:3px 10px;border-radius:var(--r-full);font-size:12.5px;font-weight:800;white-space:nowrap;box-shadow:0 2px 6px #0000001f}.diagram-label.left{right:calc(100% + 8px)}.diagram-label.right{left:calc(100% + 8px)}@media (max-width: 520px){.diagram-label{font-size:11px;padding:2px 7px}}.label-spot{position:absolute;width:46px;height:46px;transform:translate(-50%,-50%);border-radius:50%;border:3px dashed var(--brand-2);background:#ffffffb3}.label-spot.is-over{border-color:#16a34a!important;background:var(--good-soft)!important}.label-spot.no{border-color:#e11d48;background:var(--bad-soft)}.particle-box{width:100%}.particle-canvas{width:100%;height:240px;display:block;background:linear-gradient(#f7fbff,#eaf4fb);border-radius:var(--r-lg);border:3px solid var(--paper-3)}.particle-scale{display:flex;justify-content:space-between;margin-top:8px;font-size:12.5px;font-weight:700;color:var(--ink-faint)}.particle-scale .on{color:var(--brand)}.circuit-svg{width:min(440px,100%);height:auto;background:#fbfdff;border-radius:var(--r-lg);border:3px solid var(--paper-3)}.wire.live{filter:drop-shadow(0 0 4px #f0a500)}.bulb-glow{animation:pulse-ring 2s ease-out infinite}.material-chip{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 12px;border-radius:var(--r-md);border:3px solid var(--paper-3);background:#fff;cursor:pointer;font-family:inherit;font-size:22px;min-width:84px}.material-chip:hover{border-color:var(--brand-2)}.material-chip.tested{opacity:.85}.material-chip .tag{font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:var(--r-full)}.material-chip .tag.ok{background:var(--good-soft);color:#14532d}.material-chip .tag.no{background:var(--bad-soft);color:#9f1239}.tank{position:relative;width:min(400px,100%);height:220px;border:4px solid #5b6b7d;border-top:none;border-radius:0 0 16px 16px;overflow:hidden;background:#f7fbff}.tank-water{position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(#7cc4e8,#4a9fd0)}.tank-surface{height:5px;background:#bfe3f7}.tank-item{position:absolute;left:50%;top:6%;transform:translate(-50%);font-size:46px;transition:top 1.4s cubic-bezier(.4,.1,.5,1)}.tank-item.floating{top:30%}.tank-item.sinking{top:76%}.tank-done{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:800;color:#14532d;background:#ffffffd9}.shadow-svg,.magnet-svg,.wave-svg,.cycle-svg,.orbit-svg,.plant-svg{width:min(460px,100%);height:auto;border-radius:var(--r-lg);display:block}.shadow-svg,.magnet-svg,.wave-svg{border:3px solid var(--paper-3);background:#fbfdff}.mag-mover{transition:transform .5s cubic-bezier(.3,1.4,.4,1)}.mag-attract .mag-mover{transform:translate(-28px)}.mag-repel .mag-mover{transform:translate(30px)}.track{width:100%}.track-surface{position:relative;height:92px;border-radius:var(--r-md);border:3px solid var(--paper-3);overflow:hidden}.track-surface[data-surface=ice]{background:linear-gradient(#eaf6fd,#cfe8f7)}.track-surface[data-surface=wood]{background:linear-gradient(#e8d3b5,tan)}.track-surface[data-surface=carpet]{background:linear-gradient(#e2d1e8,#c9a7d8)}.track-surface[data-surface=sand]{background:linear-gradient(#f5e6c8,#e6cf9b)}.track-zone{position:absolute;top:0;bottom:0;background:#22c55e47;border-left:3px dashed #16a34a;border-right:3px dashed #16a34a;display:grid;place-items:center;font-size:22px}.track-box{position:absolute;bottom:8px;font-size:34px;transform:translate(-50%)}.track-ruler{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--ink-faint);padding:4px 2px}.surface-row{display:flex;gap:7px;flex-wrap:wrap}.surface-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 11px;border-radius:var(--r-md);border:3px solid var(--paper-3);background:#fff;cursor:pointer;font-family:inherit;font-size:20px}.surface-chip.on{border-color:#22c55e;background:var(--good-soft)}.cycle-wrap{position:relative;width:min(460px,100%)}.cycle-spot{position:absolute;transform:translate(-50%,-50%);min-width:40px;padding:5px 11px;border-radius:var(--r-full);border:3px solid var(--brand-2);background:#fffffff0;font-weight:800;font-size:12.5px;cursor:pointer;color:var(--brand)}.cycle-spot:hover{background:#fff}.cycle-spot.done{border-color:#16a34a;background:var(--good-soft);color:#14532d}.cycle-spot.no{border-color:#e11d48;background:var(--bad-soft);animation:shake .4s}.plant-stage{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.plant-svg{border:3px solid var(--paper-3)}.plant-health{display:flex;align-items:center;gap:12px;width:min(400px,100%)}.plant-health .bar{flex:1}.exchange-board{display:grid;gap:10px;width:100%}.exchange-col{border:4px dashed var(--brand-3);border-radius:var(--r-md);background:#fff;display:flex;flex-direction:column;min-height:210px;overflow:hidden;transition:background .25s,border-color .25s}.exchange-col.receiving{border-color:var(--good);background:var(--good-soft);animation:pop-in .42s ease}.exchange-col.sending{border-color:var(--warn);background:var(--warn-soft)}.exchange-head{background:var(--paper-3);color:var(--brand);padding:7px;text-align:center;font-weight:800;font-size:13.5px}.exchange-body{flex:1;display:flex;flex-wrap:wrap;gap:4px;padding:9px;align-content:flex-start;justify-content:center}.exchange-empty{color:var(--ink-faint);font-size:12px;align-self:center}.exchange-count{text-align:center;font-size:24px;font-weight:900;color:var(--brand);padding:2px}.exchange-actions{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px;border-top:2px solid var(--paper-3);flex-wrap:wrap}.break-btn{font-size:11.5px;padding:4px 9px;min-height:30px}.eq-equation{font-family:var(--font-num);font-size:clamp(28px,6vw,42px);font-weight:900;color:var(--brand);display:flex;align-items:center;gap:16px;background:var(--paper-2);padding:12px 28px;border-radius:var(--r-lg)}.eq-equals{color:var(--ink-soft)}.eq-scene{width:min(520px,100%);padding-top:14px}.eq-beam{display:flex;justify-content:space-between;gap:18px;border-bottom:8px solid var(--brand);border-radius:4px;padding-bottom:8px;transform:rotate(0);transform-origin:center bottom;transition:transform .4s cubic-bezier(.2,1,.3,1)}.eq-scene.tipped .eq-beam{transform:rotate(-7deg)}.eq-pan{flex:1;background:var(--paper-2);border:4px solid var(--brand-3);border-radius:var(--r-lg);padding:12px;min-height:104px;display:flex;align-items:center;justify-content:center}.eq-blocks{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;align-items:center}.eq-x{width:40px;height:40px;border-radius:var(--r-sm);background:var(--brand);color:#fff;font-weight:900;font-size:20px;display:grid;place-items:center}.eq-unit{width:20px;height:20px;border-radius:5px;background:var(--maths);border:2px solid #b45309;display:block}.eq-post{width:24px;height:40px;background:var(--brand);margin:0 auto;border-radius:0 0 8px 8px}.eq-steps{margin:0;padding-left:22px;font-size:14px;color:var(--ink-soft);line-height:1.8;width:100%}.wall{position:relative;width:100%;display:flex;flex-direction:column;gap:5px}.wall-guide{position:absolute;top:-4px;bottom:-4px;width:3px;background:repeating-linear-gradient(180deg,var(--bad) 0 7px,transparent 7px 12px);z-index:2;pointer-events:none}.wall-row{display:flex;gap:2px;height:38px;position:relative}.wall-row.target{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}.wall-seg{flex:1;border:2px solid var(--brand-3);border-radius:4px;background:#fff;cursor:pointer;font-family:inherit;padding:0;display:grid;place-items:center;transition:background .14s;min-width:0}.wall-seg:hover:not(:disabled){background:var(--paper-3)}.wall-seg.on{background:var(--maths);border-color:#b45309}.wall-seg.on .wall-label{color:#fff}.wall-seg:disabled{cursor:default}.wall-label{font-size:10.5px;font-weight:800;color:var(--ink-faint);overflow:hidden;white-space:nowrap}.wall-row.matched .wall-seg.on{background:var(--good);border-color:#14532d}.wall-tick{position:absolute;right:-4px;top:50%;transform:translate(100%,-50%);font-size:12px;font-weight:800;color:var(--good);white-space:nowrap}.prob-face{font-size:44px;font-weight:900;color:var(--brand);min-height:56px;display:grid;place-items:center}.prob-chart{display:flex;align-items:flex-end;gap:8px;height:150px;width:100%;padding:0 6px;border-bottom:4px solid var(--ink)}.prob-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}.prob-bar{width:100%;background:linear-gradient(var(--brand-2),var(--brand));border-radius:6px 6px 0 0;min-height:3px;position:relative;transition:height .26s cubic-bezier(.2,.9,.3,1)}.prob-bar i{position:absolute;top:-19px;left:50%;transform:translate(-50%);font-size:11.5px;font-weight:800;font-style:normal;color:var(--ink-soft)}.prob-col b{font-size:14px}.prob-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;text-align:center}.prob-readout>div{background:var(--paper-2);border-radius:var(--r-md);padding:10px 6px;display:flex;flex-direction:column;gap:2px}.prob-readout b{font-size:20px;color:var(--brand)}.angle-svg{width:min(420px,100%);height:auto;touch-action:none;background:#fbfdff;border-radius:var(--r-lg);border:3px solid var(--paper-3);cursor:crosshair}.angle-handle{cursor:grab}.angle-handle:active{cursor:grabbing}.sim-badge.angle-acute{background:var(--info-soft);color:#075985}.sim-badge.angle-right{background:var(--good-soft);color:#14532d}.sim-badge.angle-obtuse{background:var(--warn-soft);color:#78350f}.sim-badge.angle-straight{background:var(--paper-3);color:var(--brand)}.sim-badge.angle-reflex{background:var(--bad-soft);color:#9f1239}.rect-grid{display:grid;gap:3px;justify-content:center;padding:14px;background:var(--paper-2);border-radius:var(--r-lg);min-height:90px;align-content:center}.rect-cell{width:26px;height:26px;border-radius:4px;background:var(--maths);border:2px solid #b45309;display:block}.rect-readout{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.rect-stat{background:var(--paper-2);border-radius:var(--r-md);padding:11px;display:flex;flex-direction:column;align-items:center;gap:2px}.rect-stat b{font-size:26px;color:var(--brand)}.rect-stat.ok{background:var(--good-soft)}.rect-stat.ok b{color:#14532d}.rect-stat.no{background:var(--bad-soft)}.rect-stat.no b{color:#9f1239}.rect-controls{display:flex;gap:22px;justify-content:center;flex-wrap:wrap}.rect-stepper{display:flex;flex-direction:column;align-items:center;gap:4px}.rect-num{font-size:24px;min-width:36px;text-align:center;color:var(--brand)}.rect-found{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.machine{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;width:100%}.machine-in{display:flex;align-items:center;gap:8px}.machine-input{width:88px;text-align:center;font-size:22px;font-weight:900;font-family:var(--font-num)}.machine-box{width:128px;height:104px;border-radius:var(--r-lg);background:linear-gradient(160deg,var(--brand-2),var(--brand));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:19px;font-weight:900;box-shadow:0 6px #4c1d95}.machine-cogs{font-size:28px;display:block}.machine-box.working .machine-cogs{animation:spin .9s linear infinite}.machine-out{display:flex;flex-direction:column;align-items:center;background:var(--paper-2);border-radius:var(--r-md);padding:12px 20px;min-width:92px}.machine-out b{font-size:28px;color:var(--brand)}.machine-table{border-collapse:collapse;font-family:var(--font-num)}.machine-table th,.machine-table td{padding:5px 22px;border:2px solid var(--paper-3);text-align:center;font-size:16px}.machine-table th{background:var(--brand);color:#fff;font-size:13px}.zoom-line{width:100%}.zoom-track{position:relative;height:84px;cursor:pointer;touch-action:none;padding:0 4px}.zoom-rule{position:absolute;left:0;right:0;top:40px;height:6px;background:var(--brand-3);border-radius:3px}.zoom-tick{position:absolute;top:28px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:3px}.zoom-mark{width:4px;height:20px;border-radius:2px;background:var(--brand-2)}.zoom-num{font-size:11px;font-weight:800;color:var(--ink-soft)}.zoom-marker{position:absolute;top:0;transform:translate(-50%);font-size:26px;transition:left .2s cubic-bezier(.2,1,.3,1)}.zoom-marker.ok{filter:drop-shadow(0 0 6px var(--good))}.zoom-marker.no{animation:shake .4s ease}.zoom-segments{display:flex;gap:3px;margin-top:4px}.zoom-seg{flex:1;border:2px dashed var(--brand-3);border-radius:6px;background:var(--paper-2);cursor:pointer;padding:5px 0;font-size:13px}.zoom-seg:hover{background:var(--paper-3);border-color:var(--brand-2)}.zoom-seg.holds{border-style:solid;border-color:var(--good);background:var(--good-soft)}.zoom-readout{font-weight:700;color:var(--ink-soft);text-align:center}@media (max-width: 560px){.rect-cell{width:18px;height:18px}.eq-x{width:32px;height:32px;font-size:16px}.machine-box{width:104px;height:88px}.machine-table th,.machine-table td{padding:4px 14px}}.act-code{display:grid;gap:14px}.code-brief{display:grid;gap:6px}.code-prompt{font-size:1.15rem;font-weight:800;color:var(--ink);margin:0}.code-goal{margin:0;font-weight:700;color:#7c2d12;background:var(--warn-soft);border-radius:var(--r-md);padding:8px 14px;display:inline-block;justify-self:start}.code-layout{display:grid;gap:14px;grid-template-columns:1fr;align-items:start}@media (min-width: 900px){.code-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.code-layout:not(.has-stage){grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}.code-side{display:grid;gap:10px;align-content:start;min-width:0}.code-editor{display:flex;overflow:hidden;background:#1a1a2e;color:#e7e5f5;border-radius:var(--r-md);border:3px solid #2d2b55;font-family:ui-monospace,Cascadia Code,Fira Code,Consolas,monospace;font-size:clamp(.85rem,2.5vw,1rem);line-height:1.65}.code-editor.is-readonly{border-color:#3f3d70}.code-gutter{display:flex;flex-direction:column;padding:12px 0;background:#15152b;border-right:2px solid #2d2b55;-webkit-user-select:none;user-select:none}.code-lineno{padding:0 10px;text-align:right;color:#5f5c93;min-width:2.6em;font-variant-numeric:tabular-nums}.code-lineno[role=button]{cursor:pointer}.code-lineno[role=button]:hover{background:#2d2b55;color:#c4b5fd}.code-lineno.is-active{background:var(--brand);color:#fff;font-weight:800}.code-lineno.is-bad{background:var(--bad);color:#fff;font-weight:800}.code-surface{position:relative;flex:1;min-width:0;padding:12px 0}.code-paint{margin:0;white-space:pre;overflow-x:auto}.code-row{padding:0 14px;min-height:1.65em;border-left:4px solid transparent}.code-row.is-active{background:#8b5cf638;border-left-color:var(--brand-2)}.code-row.is-bad{background:#e11d4838;border-left-color:var(--bad)}.code-input{position:absolute;top:12px;right:0;bottom:12px;left:0;width:100%;height:calc(100% - 24px);padding:0 14px 0 18px;margin:0;border:0;resize:none;background:transparent;color:transparent;caret-color:#fff;font:inherit;line-height:inherit;white-space:pre;overflow:auto;outline:none;-webkit-text-fill-color:transparent}.code-input::selection{background:#8b5cf673}.tok-kw{color:#c4b5fd;font-weight:700}.tok-str{color:#86efac}.tok-num{color:#fdba74}.tok-com{color:#6b6a9a;font-style:italic}.code-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.code-tip{margin:0;font-size:.9rem;color:var(--ink-soft)}.code-ref summary{cursor:pointer;font-weight:700;color:var(--brand)}.code-ref pre{background:var(--paper-3);border-radius:var(--r-sm);padding:10px 12px;overflow-x:auto;font-size:.9rem;margin:8px 0 0}.code-out,.code-vars{background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);overflow:hidden}.code-out-head{background:var(--paper-3);padding:6px 12px;font-weight:800;font-size:.9rem;color:var(--brand)}.code-out-body{padding:10px 12px;min-height:74px;max-height:220px;overflow:auto;font-family:ui-monospace,Consolas,monospace;font-size:.95rem}.code-out-line{padding:1px 0;color:var(--ink);word-break:break-word}.code-out-empty{color:var(--ink-faint);font-style:italic}.code-error{margin-top:8px;padding:10px 12px;border-radius:var(--r-sm);background:var(--bad-soft);color:#881337;font-family:inherit}.code-hint{margin-top:6px;font-size:.9rem;color:#9f1239}.code-vars-grid{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px}.code-vars-empty{padding:10px 12px;color:var(--ink-faint);font-style:italic}.var-box{display:grid;gap:2px;min-width:74px;border:3px solid var(--brand-3);border-radius:var(--r-sm);padding:6px 10px;background:var(--paper-2);transition:transform .2s ease,background .3s ease,border-color .3s ease}.var-name{font-size:.78rem;font-weight:800;color:var(--brand)}.var-value{font-family:ui-monospace,Consolas,monospace;font-size:1.05rem;font-weight:800;color:var(--ink)}.var-box.is-changed{background:var(--warn-soft);border-color:var(--warn);transform:scale(1.08)}.code-verdict{border-radius:var(--r-md);padding:10px 14px;font-weight:800}.code-verdict.is-good{background:var(--good-soft);color:#14532d}.code-verdict.is-bad{background:var(--warn-soft);color:#78350f}.code-hintbox,.code-moral{background:var(--info-soft);color:#075985;border-radius:var(--r-md);padding:10px 14px;font-weight:700}.code-solution{background:#1a1a2e;color:#e7e5f5;border-radius:var(--r-md);padding:12px 14px;overflow-x:auto;font-size:.9rem}.code-caption{display:flex;gap:10px;align-items:center;background:var(--brand);color:#fff;border-radius:var(--r-lg);padding:12px 18px;font-weight:700;font-size:1.02rem;min-height:58px}.cap-mascot{font-size:1.6rem;flex:none}.code-question{display:grid;gap:10px}.code-ask{margin:0;font-weight:800;font-size:1.05rem}.code-because{margin:0;background:var(--good-soft);color:#14532d;padding:10px 14px;border-radius:var(--r-md);font-weight:700}.mono{font-family:ui-monospace,Consolas,monospace}.predict-banner{background:var(--warn-soft);color:#78350f;font-weight:800;border-radius:var(--r-md);padding:8px 14px}.predict-grid{display:grid;gap:10px;grid-template-columns:1fr}@media (min-width: 620px){.predict-grid{grid-template-columns:1fr 1fr}}.predict-curtain{display:grid;place-items:center;gap:6px;text-align:center;border:3px dashed var(--brand-3);border-radius:var(--r-md);padding:28px 16px;color:var(--ink-soft)}.predict-curtain span{font-size:2.4rem}.predict-curtain p{margin:0;font-weight:700}.fix-report{background:var(--bad-soft);color:#881337;font-weight:700;border-radius:var(--r-md);padding:10px 14px}.block-editor{display:grid;gap:12px}.block-palette{display:grid;gap:10px;background:var(--paper-2);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:10px 12px}.palette-group{display:grid;gap:6px}.palette-label{font-size:.8rem;font-weight:800;color:var(--ink-soft)}.palette-items{display:flex;flex-wrap:wrap;gap:8px}.blk{--blk-bg: var(--brand);--blk-edge: #4c1d95;background:var(--blk-bg);color:#fff;border:0;border-radius:12px;box-shadow:0 4px 0 var(--blk-edge);font-family:inherit;font-weight:800;touch-action:none}.blk-blue{--blk-bg: #2563eb;--blk-edge: #1e3a8a}.blk-green{--blk-bg: #16a34a;--blk-edge: #14532d}.blk-amber{--blk-bg: #d97706;--blk-edge: #78350f}.blk-violet{--blk-bg: #7c3aed;--blk-edge: #4c1d95}.blk-orange{--blk-bg: #ea580c;--blk-edge: #7c2d12}.blk-rose{--blk-bg: #e11d48;--blk-edge: #881337}.blk-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;font-size:.92rem;transition:transform .12s ease}.blk-chip:hover{transform:translateY(-2px)}.blk-chip:active{transform:translateY(2px);box-shadow:0 1px 0 var(--blk-edge)}.block-stack{background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:10px 12px 14px;min-height:160px}.stack-head,.stack-foot{display:flex;justify-content:space-between;align-items:center;font-weight:800;color:var(--ink-faint);font-size:.9rem;padding:2px 0}.stack-empty{color:var(--ink-faint);font-style:italic;padding:18px 4px}.blk-list{display:grid;gap:6px;padding:2px 0;border-radius:var(--r-sm)}.blk-list.is-target{background:#8b5cf614}.blk-container{padding-bottom:6px}.blk-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 12px;cursor:grab}.blk-emoji{font-size:1.15rem}.blk-label{font-size:.95rem}.blk.is-dragging{opacity:.4}.blk.is-running{outline:4px solid var(--warn);animation:blk-pulse .6s ease-in-out infinite alternate}@keyframes blk-pulse{to{transform:scale(1.02)}}.blk-body{margin:0 10px 0 22px;padding:6px 8px;background:#ffffff38;border-left:5px solid rgba(255,255,255,.5);border-radius:10px;min-height:34px}.blk-else{padding:2px 14px;font-size:.85rem;opacity:.9}.blk-arg{display:inline-flex;align-items:center;gap:4px}.blk-word{font-weight:700;font-size:.85rem;opacity:.92}.blk-num{min-width:1.6em;text-align:center;background:#fffffff2;color:var(--ink);border-radius:8px;padding:1px 7px;font-variant-numeric:tabular-nums}.blk-step{width:26px;height:26px;border:0;border-radius:8px;background:#ffffff47;color:#fff;font-size:1.1rem;font-weight:800;cursor:pointer;line-height:1}.blk-step:hover{background:#ffffff73}.blk-text,.blk-select{border:0;border-radius:8px;padding:3px 8px;font-family:inherit;font-weight:700;color:var(--ink);background:#fffffff2;max-width:140px}.blk-x{margin-left:auto;width:26px;height:26px;border:0;border-radius:8px;cursor:pointer;background:#0003;color:#fff;font-weight:800;line-height:1}.blk-x:hover{background:#00000061}.blk-tail{min-height:10px;position:relative}.blk-tail.is-open{min-height:30px}.blk-here{font-size:.78rem;color:var(--ink-faint);font-style:italic}.blk-drop-line{height:6px;border-radius:99px;background:var(--brand-2);margin:2px 0;animation:blk-drop .5s ease-in-out infinite alternate}@keyframes blk-drop{0%{opacity:.5}to{opacity:1}}.code-bridge{display:grid;gap:8px}.bridge-panel{background:#1a1a2e;border-radius:var(--r-md);overflow:hidden;border:3px solid #2d2b55}.bridge-tabs{display:flex;gap:0;background:#15152b}.bridge-tab{flex:1;border:0;background:transparent;color:#8f8cc4;padding:8px 12px;font-family:inherit;font-weight:800;cursor:pointer}.bridge-tab.is-on{background:#2d2b55;color:#fff}.bridge-code{margin:0;padding:12px 14px;overflow-x:auto;color:#e7e5f5;font-family:ui-monospace,Consolas,monospace;font-size:.92rem;line-height:1.6}.bridge-note{margin:0;padding:8px 14px 10px;color:#a5a1d4;font-size:.85rem;background:#15152b}.code-stage{display:grid;gap:8px;justify-items:center;background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:12px}.robot-grid{position:relative;display:grid;border-radius:var(--r-sm);overflow:hidden;background:#e0f2fe;max-width:100%}.robot-cell{border:1px solid rgba(148,163,184,.45);display:grid;place-items:center;font-size:1.4rem;position:relative}.robot-cell.is-wall{background:#64748b;border-color:#475569}.robot-cell.is-painted{background:#fde68a}.robot-cell.is-goal{background:#bbf7d0}.robot-brick{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:4px;background:repeating-linear-gradient(0deg,#94a3b8 0,#94a3b8 6px,#64748b 6px,#64748b 8px)}.robot-star{filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));animation:star-bob 1.4s ease-in-out infinite alternate}@keyframes star-bob{to{transform:translateY(-3px) scale(1.08)}}.robot-bot{position:absolute;top:0;left:0;display:grid;place-items:center;transition:transform .32s cubic-bezier(.4,.1,.3,1.2);pointer-events:none}.robot-face{display:grid;place-items:center;transition:transform .28s ease}.robot-body{font-size:1.7rem}.robot-nose{position:absolute;bottom:-2px;font-size:.72rem;color:var(--brand)}.robot-bot.is-bumped .robot-body{animation:bump .3s ease 3}@keyframes bump{25%{transform:translate(-4px) rotate(-10deg)}75%{transform:translate(4px) rotate(10deg)}}.turtle-canvas{width:100%;max-width:320px;height:auto;background:var(--paper-2);border-radius:var(--r-sm)}.turtle-marker{transition:transform .25s ease}.stage-readout{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;font-size:.88rem;color:var(--ink-soft)}.stage-readout b{color:var(--ink)}.stage-line{color:var(--brand);font-weight:800}.stage-says{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.stage-bubble{background:var(--paper-3);color:var(--brand);border-radius:var(--r-full);padding:4px 12px;font-weight:700;font-size:.9rem}@media (prefers-reduced-motion: reduce){.robot-bot,.robot-face,.turtle-marker,.var-box{transition:none}.robot-star,.blk-drop-line,.blk.is-running,.robot-bot.is-bumped{animation:none}}.blk-teal{--blk-bg: #0d9488;--blk-edge: #134e4a}.blk-indigo{--blk-bg: #4f46e5;--blk-edge: #312e81}.act-geo{display:grid;gap:14px}.geo-prompt{margin:0;font-size:1.15rem;font-weight:800;color:var(--ink)}.geo-goal{margin:0;justify-self:start;background:var(--warn-soft);color:#7c2d12;border-radius:var(--r-md);padding:8px 14px;font-weight:700}.geo-note{margin:0;color:var(--ink-soft);font-weight:700;text-align:center}.geo-moral{background:var(--info-soft);color:#075985;border-radius:var(--r-md);padding:10px 14px;font-weight:700}.geo-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.geo-readout{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;font-size:.92rem;color:var(--ink-soft)}.geo-readout b{color:var(--ink);font-size:1.05rem}.geo-caption-bar{display:flex;gap:10px;align-items:center;background:var(--geography);color:#fff;border-radius:var(--r-lg);padding:12px 18px;font-weight:700;font-size:1.02rem;min-height:58px}.geo-caption-bar .cap-mascot{font-size:1.6rem;flex:none}.geo-verdict{border-radius:var(--r-md);padding:10px 14px;font-weight:800}.geo-verdict.is-good{background:var(--good-soft);color:#14532d}.geo-verdict.is-bad{background:var(--warn-soft);color:#78350f}.geo-map,.geo-globe{margin:0;display:grid;gap:6px;justify-items:center;width:100%}.geo-map svg,.geo-globe svg{width:100%;height:auto;max-width:720px;display:block}.geo-map.is-compact svg{max-width:460px}.geo-caption{font-size:.88rem;color:var(--ink-soft);font-weight:700;text-align:center}.geo-land{fill:var(--lc);stroke:#fff;stroke-width:1.2;stroke-linejoin:round;transition:fill .2s ease,filter .2s ease,transform .2s ease;transform-origin:center}.geo-land.is-clickable{cursor:pointer}.geo-land.is-clickable:hover{filter:brightness(1.12)}.geo-land.is-target{filter:drop-shadow(0 0 6px rgba(255,255,255,.95));stroke:#fff;stroke-width:2.4}.geo-land.is-found{fill:var(--good)}.geo-land.is-wrong{fill:var(--bad);animation:geo-shake .4s ease}@keyframes geo-shake{25%{transform:translate(-2px)}75%{transform:translate(2px)}}.geo-line{stroke:#0c4a6e;stroke-width:.7;opacity:.55;fill:none}.geo-line--solid{stroke-width:1.2;opacity:.85}.geo-line--dash{stroke-dasharray:3 3}.geo-line-label{font-size:4px;font-weight:800;fill:#0c4a6e;opacity:.8;font-family:inherit}.geo-land-label{font-size:6.5px;font-weight:800;fill:#1f2937;text-anchor:middle;font-family:inherit;paint-order:stroke;stroke:#ffffffd9;stroke-width:1.6}.geo-ocean-label{font-size:5px;font-weight:700;fill:#075985;font-style:italic;text-anchor:middle;font-family:inherit;opacity:.85}.geo-pin-dot{fill:var(--bad);stroke:#fff;stroke-width:1.6}.geo-pin-label{font-size:5px;font-weight:800;fill:var(--ink);text-anchor:middle;font-family:inherit;paint-order:stroke;stroke:#fff;stroke-width:1.8}.pin-wrap{cursor:crosshair}.geo-axis{stroke:#0c4a6e;stroke-width:1.5;stroke-dasharray:4 3;opacity:.7}.geo-globe-marker{fill:var(--bad);stroke:#fff;stroke-width:2}.geo-ray{stroke:#fbbf24;stroke-width:2;stroke-linecap:round;opacity:.8}.find-banner{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;background:var(--brand);color:#fff;border-radius:var(--r-lg);padding:10px 18px;font-weight:800;font-size:1.1rem}.find-emoji{font-size:1.6rem}.find-count{margin-left:auto;font-size:.85rem;opacity:.9}.compass-dial{width:min(280px,78vw);margin:0 auto;touch-action:none;cursor:grab}.compass-dial svg{width:100%;height:auto}.dial-face{fill:#fff;stroke:var(--ink-faint);stroke-width:3}.dial-inner{fill:var(--paper-2);stroke:var(--paper-3);stroke-width:2}.dial-point{font-size:13px;font-weight:800;fill:var(--ink-soft);text-anchor:middle;font-family:inherit}.dial-point.is-major{font-size:17px;fill:var(--ink)}.dial-point.is-target{fill:var(--good)}.dial-needle{transition:transform .25s cubic-bezier(.3,.9,.4,1.2)}.needle-n{fill:#e11d48}.needle-s{fill:#cbd5e1}.dial-hub{fill:var(--ink)}.climate-stage{display:grid;gap:12px;align-items:center}@media (min-width: 720px){.climate-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}}.climate-panel{display:grid;gap:10px}.climate-badge{display:flex;gap:10px;align-items:center;border-radius:var(--r-md);padding:10px 16px;font-size:1.15rem;color:#1f2937}.climate-emoji{font-size:1.6rem}.climate-desc{margin:0;font-weight:700;color:var(--ink-soft)}.climate-bars{display:grid;gap:8px}.climate-bars label{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;align-items:center;font-size:.85rem;font-weight:700;color:var(--ink-soft)}.climate-bars .bar{height:12px;background:var(--paper-3);border-radius:var(--r-full);overflow:hidden}.climate-bars .bar i{display:block;height:100%;background:#fbbf24;transition:width .2s ease}.climate-bars .bar--warm i{background:linear-gradient(90deg,#38bdf8,#fbbf24,#ef4444)}.climate-slider{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-weight:800;color:var(--ink-soft);font-size:.85rem}.climate-slider input{width:100%;accent-color:var(--geography)}.plates-stage{background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:8px}.plates-stage svg{width:100%;height:auto}.plate-mantle{fill:#7f1d1d;opacity:.85}.plate{stroke:#78350f;stroke-width:2;transition:transform .5s ease}.plate--a{fill:#a16207}.plate--b{fill:#b45309}.plate-mountain{fill:#57534e;stroke:#44403c;stroke-width:2}.plate-magma{fill:#f97316}.plate-emoji{font-size:20px;text-anchor:middle}.river-stage{background:#bae6fd;border-radius:var(--r-md);overflow:hidden}.river-stage svg{width:100%;height:auto;display:block}.river-land{fill:#86efac}.river-water{fill:#38bdf8}.river-sea{fill:#0284c7}.river-stop circle{fill:#fff;stroke:var(--ink-faint);stroke-width:2;transition:r .2s ease}.river-stop.is-passed circle{fill:var(--good);stroke:#fff}.river-stop.is-now circle{fill:var(--bad);stroke:#fff;stroke-width:3}.river-emoji{font-size:16px;text-anchor:middle}.river-panel{background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:10px 14px}.river-panel b{font-size:1.05rem}.river-panel p{margin:4px 0 0;color:var(--ink-soft);font-weight:700}@media (prefers-reduced-motion: reduce){.dial-needle,.plate,.geo-land,.climate-bars .bar i{transition:none}.geo-land.is-wrong{animation:none}}.act-fin{display:grid;gap:14px}.fin-prompt{margin:0;font-size:1.15rem;font-weight:800;color:var(--ink)}.fin-goal{margin:0;justify-self:start;background:var(--warn-soft);color:#7c2d12;border-radius:var(--r-md);padding:8px 14px;font-weight:700}.fin-note{margin:0;color:var(--ink-soft);font-size:.88rem;font-weight:600}.fin-moral{background:var(--info-soft);color:#075985;border-radius:var(--r-md);padding:10px 14px;font-weight:700}.fin-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.fin-caption-bar{display:flex;gap:10px;align-items:center;background:#047857;color:#fff;border-radius:var(--r-lg);padding:12px 18px;font-weight:700;font-size:1.02rem;min-height:58px}.fin-caption-bar .cap-mascot{font-size:1.6rem;flex:none}.fin-verdict{border-radius:var(--r-md);padding:12px 16px;font-weight:800}.fin-verdict.is-good{background:var(--good-soft);color:#14532d}.fin-verdict.is-bad{background:var(--warn-soft);color:#78350f}.fin-smallprint{margin-top:8px;font-size:.78rem;font-weight:600;opacity:.8}.fin-readout{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;font-size:.88rem;color:var(--ink-soft)}.fin-readout b{color:var(--ink);font-size:1.02rem}.fin-readout .is-good b{color:var(--good)}.fin-readout .is-bad b{color:var(--bad)}.fin-sliders{display:grid;gap:10px}.fin-sliders label{display:grid;grid-template-columns:8em 1fr 3.5em;gap:10px;align-items:center;font-weight:700;color:var(--ink-soft);font-size:.88rem}.fin-sliders input{width:100%;accent-color:var(--good)}.fin-sliders b{text-align:right;color:var(--ink)}.fin-chart{margin:0;display:grid;gap:6px}.fin-chart svg{width:100%;height:auto;max-width:560px;margin:0 auto;display:block;background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md)}.fin-grid{stroke:var(--paper-3);stroke-width:1}.fin-axis-line{stroke:var(--ink-faint);stroke-width:1}.fin-axis{font-size:7px;font-weight:700;fill:var(--ink-faint);text-anchor:end;font-family:inherit}.fin-axis--x{text-anchor:middle}.fin-line{fill:none;stroke:var(--c);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.fin-legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.fin-key{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--ink-soft)}.fin-key i{width:14px;height:4px;border-radius:2px;background:var(--c)}.fin-key b{color:var(--ink)}.fin-caption{font-size:.85rem;color:var(--ink-soft);text-align:center;font-weight:700}.fin-figure{display:grid;place-items:center;font-size:2.4rem;gap:8px}.budget-income{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;justify-content:center;background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:10px 16px;font-weight:700;color:var(--ink-soft)}.budget-income b{color:var(--ink);font-size:1.25rem}.budget-income .is-good b{color:var(--good)}.budget-jars{display:grid;gap:12px;grid-template-columns:1fr}@media (min-width: 640px){.budget-jars{grid-template-columns:repeat(3,1fr)}}.jar{display:grid;gap:8px;align-content:start;background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:12px}.jar.is-short{border-color:var(--bad)}.jar-head{display:flex;gap:8px;align-items:center;font-size:1rem}.jar-emoji{font-size:1.4rem}.jar-pct{margin-left:auto;font-weight:800;color:var(--jc)}.jar-glass{position:relative;height:90px;border-radius:var(--r-sm);background:var(--paper-2);border:2px solid var(--paper-3);overflow:hidden;display:grid;place-items:center}.jar-fill{position:absolute;left:0;right:0;bottom:0;background:var(--jc);opacity:.28;transition:height .25s ease}.jar-amount{position:relative;font-weight:800;color:var(--ink)}.jar-desc{margin:0;font-size:.78rem;color:var(--ink-soft);font-weight:600}.jar-warn{margin:0;font-size:.78rem;color:var(--bad);font-weight:800}.jar-buttons{display:flex;gap:8px;justify-content:center}.jar-buttons .btn{min-width:56px}.infl-stage{display:grid;gap:10px;grid-template-columns:1fr}@media (min-width: 640px){.infl-stage{grid-template-columns:repeat(3,1fr)}}.infl-panel{display:grid;gap:4px;text-align:center;background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:10px}.infl-label{font-size:.78rem;font-weight:700;color:var(--ink-soft)}.infl-amount{font-size:1.3rem;color:var(--ink)}.infl-amount.is-bad{color:var(--bad)}.infl-amount small{font-size:.7rem;color:var(--ink-faint);font-weight:700}.infl-loaves{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;font-size:1.3rem;min-height:2rem}.infl-more{font-size:.9rem;font-weight:800;color:var(--ink-soft);align-self:center}.invest-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:baseline;justify-content:center;background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:10px 16px;font-weight:700;color:var(--ink-soft)}.invest-bar b{color:var(--ink);font-size:1.3rem}.invest-bar .is-good{color:var(--good)}.invest-bar .is-bad{color:var(--bad)}.invest-progress{position:relative;height:14px;border-radius:var(--r-full);background:var(--paper-3);overflow:visible}.invest-progress-fill{height:100%;border-radius:var(--r-full);background:linear-gradient(90deg,#4ade80,#16a34a);transition:width .4s cubic-bezier(.3,.9,.4,1.2)}.invest-goal-flag{position:absolute;right:-12px;top:-6px;font-size:1.1rem}.asset-grid{display:grid;gap:10px;grid-template-columns:1fr}@media (min-width: 560px){.asset-grid{grid-template-columns:1fr 1fr}}@media (min-width: 900px){.asset-grid{grid-template-columns:repeat(3,1fr)}}.asset{display:grid;gap:6px;align-content:start;background:var(--paper);border:3px solid var(--paper-3);border-left:8px solid var(--ac);border-radius:var(--r-md);padding:10px 12px}.asset-head{display:flex;gap:8px;align-items:center}.asset-emoji{font-size:1.4rem}.asset-desc{margin:0;font-size:.8rem;color:var(--ink-soft);font-weight:600}.asset-stats{display:flex;gap:12px;font-size:.78rem;color:var(--ink-soft);font-weight:700}.asset-stats b{color:var(--ac)}.asset-amount{font-size:1.15rem;font-weight:800;color:var(--ink);text-align:center}.asset-buttons{display:flex;gap:8px;justify-content:center}.asset-buttons .btn{min-width:56px}.holdings{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.holding{font-size:.82rem;font-weight:700;color:var(--ink-soft);background:var(--paper);border:2px solid var(--ac);border-radius:var(--r-full);padding:4px 12px}.holding b{color:var(--ink)}.year-log{display:grid;gap:6px;max-height:220px;overflow:auto}.year-row{display:grid;grid-template-columns:4.5em 8.5em 1fr auto;gap:8px;align-items:center;background:var(--paper);border-radius:var(--r-sm);padding:6px 10px;font-size:.82rem;font-weight:700;color:var(--ink-soft);border-left:5px solid var(--paper-3)}.year-row.is-crash{border-left-color:var(--bad);background:var(--bad-soft)}.year-row.is-boom{border-left-color:var(--good);background:var(--good-soft)}.year-row.is-inflation{border-left-color:var(--warn);background:var(--warn-soft)}.year-note{color:var(--ink-faint);font-weight:600}.year-row b{color:var(--ink)}@media (max-width: 560px){.year-row{grid-template-columns:3.5em 1fr auto}.year-note{display:none}}@media (prefers-reduced-motion: reduce){.jar-fill,.invest-progress-fill{transition:none}}.act-eng{display:grid;gap:14px}.eng-prompt{margin:0;font-size:1.15rem;font-weight:800;color:var(--ink)}.eng-goal{margin:0;justify-self:start;background:var(--warn-soft);color:#7c2d12;border-radius:var(--r-md);padding:8px 14px;font-weight:700}.eng-note{margin:0;color:var(--ink-soft);font-size:.88rem;text-align:center;font-weight:600}.eng-moral{background:var(--info-soft);color:#075985;border-radius:var(--r-md);padding:10px 14px;font-weight:700}.eng-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.eng-readout{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;font-size:.9rem;color:var(--ink-soft)}.eng-readout b{color:var(--ink)}.eng-readout .is-bad b{color:var(--bad)}.eng-caption-bar{display:flex;gap:10px;align-items:center;background:var(--english);color:#fff;border-radius:var(--r-lg);padding:12px 18px;font-weight:700;font-size:1.02rem;min-height:58px}.eng-caption-bar .cap-mascot{font-size:1.6rem;flex:none}.eng-verdict{border-radius:var(--r-md);padding:12px 16px;font-weight:800}.eng-verdict.is-good{background:var(--good-soft);color:#14532d}.eng-verdict.is-bad{background:var(--warn-soft);color:#78350f}.eng-stage{display:grid;gap:12px;place-items:center;min-height:120px;background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:18px 14px}.eng-figure{font-size:2.6rem}.eng-big{font-size:4.5rem;font-weight:800;line-height:1;letter-spacing:.08em;color:var(--english, #0ea5e9)}.eng-text{margin:0;font-size:1.15rem;line-height:1.8;color:var(--ink);text-align:center;max-width:40ch}.eng-sliders{display:grid;gap:8px}.eng-sliders label{display:grid;gap:6px;font-weight:700;color:var(--ink-soft);font-size:.88rem}.eng-sliders input{width:100%;accent-color:var(--english)}.blend-row,.blend-track{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.blend-track{gap:var(--gap, 20px);transition:gap .15s linear}.blend-part{display:grid;place-content:center;min-width:62px;padding:12px 16px;border:3px solid var(--english);border-radius:var(--r-md);background:var(--paper);color:var(--english);font-size:clamp(1.6rem,6vw,2.4rem);font-weight:800;font-family:ui-rounded,Segoe UI,system-ui,sans-serif;opacity:.25;transform:scale(.94);transition:opacity .25s ease,transform .25s ease,background .25s ease;cursor:pointer}.blend-part.is-on{opacity:1;transform:scale(1)}.blend-part.is-joined{background:var(--english);color:#fff;border-radius:6px}.blend-arrow{font-size:1.6rem;color:var(--ink-faint)}.blend-word,.blend-result{font-size:clamp(2rem,9vw,3.2rem);font-weight:800;color:var(--good);letter-spacing:.04em;font-family:ui-rounded,Segoe UI,system-ui,sans-serif;animation:eng-pop .35s ease}@keyframes eng-pop{0%{transform:scale(.7);opacity:0}}.sentence-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.sentence-word{font-size:clamp(1.1rem,4vw,1.6rem);font-weight:700;color:var(--ink);background:var(--paper-2);border-radius:var(--r-sm);padding:6px 12px;opacity:.2;transition:opacity .3s ease}.sentence-word.is-on{opacity:1}.build-picture{font-size:3.4rem;text-align:center}.build-slots{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.build-slot{display:grid;place-content:center;width:clamp(46px,12vw,62px);height:clamp(56px,14vw,72px);border:3px dashed var(--brand-3);border-radius:var(--r-md);background:var(--paper);font-size:clamp(1.6rem,6vw,2.2rem);font-weight:800;color:var(--ink);font-family:ui-rounded,Segoe UI,system-ui,sans-serif}.build-slot.is-filled{border-style:solid;border-color:var(--good);background:var(--good-soft)}.build-slot.is-now{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-3)}.build-tiles{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.build-tile{width:clamp(46px,12vw,60px);height:clamp(46px,12vw,60px);border:0;border-radius:var(--r-md);background:var(--brand);color:#fff;box-shadow:0 4px #4c1d95;font-family:ui-rounded,Segoe UI,system-ui,sans-serif;font-size:clamp(1.3rem,5vw,1.8rem);font-weight:800;cursor:pointer;transition:transform .1s ease}.build-tile:hover{transform:translateY(-2px)}.build-tile:active{transform:translateY(3px);box-shadow:0 1px #4c1d95}.build-tile.is-wrong{background:var(--bad);box-shadow:0 4px #881337;animation:eng-shake .3s ease}@keyframes eng-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.punct-sentence{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px;background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:16px;font-size:clamp(1.1rem,4vw,1.5rem);line-height:2.2}.punct-group{display:inline-flex;align-items:baseline}.punct-word{font-weight:700;color:var(--ink)}.punct-slot{min-width:26px;height:30px;margin:0 1px;border:2px dashed var(--paper-3);border-radius:6px;background:transparent;color:var(--ink-faint);font-family:inherit;font-size:1.1rem;font-weight:800;cursor:pointer;line-height:1}.punct-slot:hover{border-color:var(--brand-3);background:var(--paper-2)}.punct-slot.is-set{border-style:solid;border-color:var(--brand);background:var(--brand);color:#fff}.punct-slot.is-wrong{border-color:var(--bad);background:var(--bad);color:#fff}.punct-slot.is-missed{border-color:var(--warn);background:var(--warn-soft);color:#78350f}.tag-sentence{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:16px}.tag-word{border:3px solid var(--paper-3);border-radius:var(--r-md);background:var(--paper);color:var(--ink);font-family:inherit;font-size:clamp(1rem,3.6vw,1.3rem);font-weight:700;padding:8px 14px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.tag-word:hover:not(:disabled){transform:translateY(-2px);border-color:var(--wc)}.tag-word.is-right{background:var(--wc);border-color:var(--wc);color:#fff}.tag-word.is-wrong{background:var(--bad-soft);border-color:var(--bad);color:#881337}.read-passage{background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:16px 20px;display:grid;gap:10px;justify-items:start}.read-passage h3{margin:0;color:var(--english);font-size:1.1rem}.read-passage p{margin:0;font-size:clamp(1rem,3.4vw,1.15rem);line-height:1.9;color:var(--ink);max-width:62ch}.read-question{display:grid;gap:12px}.read-kind{justify-self:start;font-size:.8rem;font-weight:800;border-radius:var(--r-full);padding:4px 12px}.read-kind.is-retrieval{background:var(--info-soft);color:#075985}.read-kind.is-inference{background:var(--warn-soft);color:#78350f}.read-ask{margin:0;font-size:1.08rem;font-weight:800;color:var(--ink)}.read-options{display:grid;gap:10px;grid-template-columns:1fr}@media (min-width: 620px){.read-options{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion: reduce){.blend-part,.blend-track,.sentence-word,.build-tile,.tag-word{transition:none}.blend-word,.blend-result,.build-tile.is-wrong{animation:none}}.ai-sim{display:grid;gap:14px;justify-items:center;text-align:center;width:100%}.ai-prompt{font-size:1.15rem;font-weight:800;margin:0;color:var(--ink)}.ai-teach-card{display:grid;gap:10px;justify-items:center;padding:20px 24px;border-radius:var(--r-lg);background:#fff;border:3px solid var(--paper-3);min-width:min(320px,100%)}.ai-big-emoji{font-size:84px;line-height:1}.ai-taught{display:grid;gap:6px;justify-items:center;width:100%}.ai-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.ai-chip{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--paper-2, #f4f1ff);color:var(--ink-soft)}.ai-score{display:grid;gap:2px;padding:12px 22px;border-radius:var(--r-lg);background:#fff5f5;border:3px solid #f3b0b0;color:#8a2b2b}.ai-score.is-good{background:#f2fbf3;border-color:#9fd8a8;color:#256b34}.ai-score b{font-size:1.3rem}.ai-results{display:grid;gap:8px;width:100%;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.ai-result{display:grid;gap:2px;justify-items:center;padding:10px 6px;border-radius:14px;background:#fff;border:2px solid var(--paper-3)}.ai-result.is-right{border-color:#9fd8a8;background:#f7fdf8}.ai-result.is-wrong{border-color:#f3b0b0;background:snow}.ai-result-emoji{font-size:34px;line-height:1.1}.ai-candidates{display:grid;gap:8px;width:100%;grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.ai-candidate{display:grid;gap:2px;justify-items:center;padding:12px 6px;border-radius:14px;cursor:pointer;background:#fff;border:3px solid var(--paper-3);font-family:inherit;font-size:30px;line-height:1.1}.ai-candidate:hover:not(:disabled){border-color:var(--brand)}.ai-candidate.is-out{opacity:.28;filter:grayscale(1);cursor:default}.ai-questions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ai-trace{display:grid;gap:4px;width:100%;text-align:left;padding:10px 14px;border-radius:12px;background:var(--paper-2, #f6f3ff)}.ai-weak{color:#b45309;font-weight:700}.hl-sim{display:grid;gap:14px;justify-items:center;text-align:center;width:100%}.hl-prompt{font-size:1.15rem;font-weight:800;margin:0;color:var(--ink)}.hl-verdict{display:grid;gap:4px;padding:12px 22px;border-radius:var(--r-lg);background:#fff5f5;border:3px solid #f3b0b0;color:#8a2b2b;max-width:460px}.hl-verdict.is-good{background:#f2fbf3;border-color:#9fd8a8;color:#256b34}.hl-verdict b{font-size:1.05rem}.hl-hands{display:grid;gap:8px;width:100%;grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.hl-patch{display:grid;gap:6px;justify-items:stretch;padding:10px 12px;border-radius:var(--r-lg);border:3px solid var(--paper-3);background:#fff;cursor:pointer;text-align:left;transition:transform .08s ease,border-color .2s ease,background .3s ease}.hl-patch:active{transform:scale(.97)}.hl-patch:disabled{cursor:default;opacity:.9}.hl-patch.is-dirty{background:#fff6f4;border-color:#f0b4a6}.hl-patch.is-part{background:#fffaf0;border-color:#f0d59a}.hl-patch.is-clean{background:#f3fbf4;border-color:#9fd8a8}.hl-patch-name{font-size:13px;font-weight:800;color:var(--ink)}.hl-germ-bar{display:block;height:10px;border-radius:999px;background:#e8edf3;overflow:hidden}.hl-germ-bar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#e8795f,#c9422c);transition:width .25s ease}.hl-timer{display:flex;align-items:baseline;gap:10px;padding:8px 18px;border-radius:999px;background:var(--paper-2, #f4f6fa)}.hl-timer b{font-size:1.4rem;font-variant-numeric:tabular-nums}.hl-plate{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;min-height:116px;width:min(460px,100%);padding:14px;border-radius:50%/26%;background:radial-gradient(circle at 34% 26%,#fff,#e9eef5 70%,#d3dbe6);border:4px solid #cdd6e2;box-shadow:0 8px 18px #1e293b24}.hl-served{display:grid;gap:2px;justify-items:center;border:none;background:transparent;cursor:pointer;padding:2px 6px}.hl-served:disabled{cursor:default}.hl-served-emoji{font-size:34px;line-height:1}.hl-bars{display:grid;gap:8px;width:min(480px,100%)}.hl-bar-row{display:grid;gap:3px;grid-template-columns:1fr;text-align:left}.hl-bar-label{font-weight:800;color:var(--ink)}.hl-bar{display:block;height:12px;border-radius:999px;background:#e8edf3;overflow:hidden}.hl-bar>i{display:block;height:100%;border-radius:999px;transition:width .25s ease}.hl-shelf{display:grid;gap:8px;width:100%;grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}.hl-food{display:grid;gap:2px;justify-items:center;padding:8px 4px;border-radius:var(--r-md, 12px);border:3px solid var(--paper-3);background:#fff;cursor:pointer;transition:transform .08s ease}.hl-food:active{transform:scale(.95)}.hl-food:disabled{opacity:.35;cursor:default}.hl-food-emoji{font-size:30px;line-height:1}.hl-breath{position:relative;display:grid;place-items:center;width:240px;height:240px}.hl-breath-ring{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle at 36% 30%,#bfe3f5,#5cb8e6 70%,#3a95c4);box-shadow:0 6px 20px #3a95c459;transition-property:width,height;transition-timing-function:ease-in-out}.hl-breath.is-in .hl-breath-ring{width:220px;height:220px}.hl-breath.is-out .hl-breath-ring{width:90px;height:90px}.hl-breath-word{position:relative;font-size:1.1rem;font-weight:800;color:#10394f}@media (prefers-reduced-motion: reduce){.hl-breath-ring{transition-duration:.01s!important}}.warmup-card{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:none;border-radius:var(--r-lg, 18px);cursor:pointer;text-align:left;color:#4a2c06;background:#fff5e0;border:1px solid #f0cf8a;box-shadow:none;transition:transform .1s ease,border-color .2s ease}.warmup-card:hover{transform:translateY(-1px);border-color:#e0ab3f}.warmup-card:active{transform:scale(.99)}.warmup-sun{font-size:44px;line-height:1;flex:none}.warmup-body{display:grid;gap:4px;flex:1 1 auto;min-width:0}.warmup-kicker{font-weight:800;letter-spacing:.06em;color:#8a5a10}.warmup-title{font-size:1.15rem;line-height:1.2}.warmup-topics{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.warmup-chip{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:#fff;border:1px solid #f0dcb0;color:#6b4108;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.warmup-meta{color:#8a5a10}.warmup-go{font-size:22px;flex:none;opacity:.75}.warmup-done{margin:0;padding:8px 14px;border-radius:999px;background:#f2fbf3;border:2px solid #9fd8a8;color:#256b34;font-weight:700;align-self:flex-start}.continue-card.is-waiting,.subject-card.is-waiting{opacity:.55;filter:saturate(.7)}.continue-card.is-waiting:hover,.subject-card.is-waiting:hover{opacity:.75}@media (max-width: 480px){.warmup-card{padding:14px;gap:10px}.warmup-sun{font-size:36px}.warmup-title{font-size:1.05rem}}.race{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:18px 16px 14px;border:3px solid var(--paper-3)}.race--night{background:linear-gradient(180deg,#1e1b4b,#4c1d95);color:#fff}.race--day{background:linear-gradient(180deg,#bae6fd,#dcfce7)}.race--sea{background:linear-gradient(180deg,#7dd3fc,#0ea5e9)}.race-scene{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.race-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:.8;animation:twinkle 2.5s ease-in-out infinite alternate}@keyframes twinkle{to{opacity:.2}}.race-hills{position:absolute;left:0;right:0;bottom:0;height:46%;background:radial-gradient(60px 40px at 15% 100%,#86efac 60%,transparent 61%),radial-gradient(90px 55px at 48% 100%,#4ade80 60%,transparent 61%),radial-gradient(70px 45px at 82% 100%,#86efac 60%,transparent 61%)}.race-waves{position:absolute;left:0;right:0;bottom:0;height:30%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 14px,transparent 14px 30px);opacity:.5}.race-track{position:relative;height:54px;margin:22px 34px 8px 6px;background:#ffffff59;border-radius:var(--r-full);box-shadow:inset 0 2px 6px #0f172a2e}.race-fill{position:absolute;inset:0 auto 0 0;border-radius:var(--r-full);background:linear-gradient(90deg,#ffffff8c,#ffffffd9);transition:width .32s cubic-bezier(.3,.9,.4,1.2)}.race-mile{position:absolute;top:8px;bottom:8px;width:3px;background:#0f172a38;border-radius:3px}.race-mile.is-passed{background:var(--good)}.race-racer{position:absolute;top:50%;font-size:2.1rem;line-height:1;transform:translate(-50%,-50%);transition:left .32s cubic-bezier(.3,.9,.4,1.2);filter:drop-shadow(0 3px 4px rgba(15,23,42,.35))}.race-boost{position:absolute;left:100%;top:4px;font-size:.9rem}.race-goal{position:absolute;right:-30px;top:50%;transform:translateY(-50%);font-size:2rem}.race-meta{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:.9rem;padding:0 6px}.race-streak{color:var(--warn)}.race--night .race-streak{color:#fde047}.race-word{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;font-family:ui-monospace,Consolas,monospace;font-size:clamp(1.8rem,8vw,3rem);font-weight:800}.race-word .ch{padding:2px 6px;border-radius:8px;color:var(--ink-faint)}.race-word .ch.is-done{color:var(--good)}.race-word .ch.is-now{background:var(--brand);color:#fff}.act-quest{display:grid;gap:14px}.quest-question{display:grid;gap:12px}.quest-ask{margin:0;font-size:clamp(1.05rem,3vw,1.3rem);font-weight:800;color:var(--ink);text-align:center}.act-type{display:grid;gap:14px}.type-brief{display:grid;gap:6px}.type-prompt{margin:0;font-size:1.15rem;font-weight:800;color:var(--ink)}.type-goal{margin:0;justify-self:start;display:inline-block;background:var(--warn-soft);color:#7c2d12;border-radius:var(--r-md);padding:8px 14px;font-weight:700}.type-caption{display:flex;gap:10px;align-items:center;background:var(--typing);color:#fff;border-radius:var(--r-lg);padding:12px 18px;font-weight:700;font-size:1.02rem;min-height:58px}.type-caption .cap-mascot{font-size:1.6rem;flex:none}.type-tip{margin:0;color:var(--ink-soft);font-size:.92rem;text-align:center}.type-moral{background:var(--info-soft);color:#075985;border-radius:var(--r-md);padding:10px 14px;font-weight:700}.type-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}.typing-stage{display:grid;gap:10px;justify-items:center;grid-template-columns:minmax(0,1fr);width:100%}.kbd{display:grid;gap:6px;width:100%;max-width:min(780px,100%);grid-template-columns:minmax(0,1fr);background:linear-gradient(180deg,#e2e8f0,#cbd5e1);border-radius:18px;padding:12px;box-shadow:inset 0 2px 6px #ffffffb3,0 8px #94a3b8,0 18px 30px -18px #0f172ab3;-webkit-user-select:none;user-select:none}.kbd.is-compact{max-width:620px;padding:8px;gap:4px}.kbd-row{display:flex;gap:6px;min-width:0}.kbd.is-compact .kbd-row{gap:4px}.kbd-key{position:relative;flex:1 1 0;min-width:0;aspect-ratio:1 / 1;max-height:46px;display:grid;place-content:center;gap:0;border:0;border-radius:9px;background:#fff;box-shadow:0 3px #94a3b8,inset 0 -3px 6px #94a3b840;font-family:inherit;font-weight:800;font-size:.95rem;color:var(--ink);cursor:pointer;transition:transform .06s ease,background .15s ease,box-shadow .06s ease;border-bottom:5px solid var(--fc, transparent)}.kbd.is-compact .kbd-key{max-height:34px;font-size:.8rem;border-radius:7px}.kbd-key.is-special{aspect-ratio:auto;font-size:.72rem;color:var(--ink-soft);background:#f1f5f9}.kbd-key.is-space{aspect-ratio:auto;height:34px}.kbd-key.is-home{background:#fff7ed}.kbd-face{line-height:1;text-transform:none}.kbd-upper{position:absolute;top:3px;left:6px;font-size:.62rem;color:var(--ink-faint);font-weight:700}.kbd-bump{position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:14px;height:3px;border-radius:3px;background:var(--ink-faint)}.kbd-key.is-dim{opacity:.32;filter:grayscale(1)}.kbd-key.is-target{background:var(--fc, var(--brand));color:#fff;transform:translateY(2px);box-shadow:0 1px #0f172a59,0 0 0 4px #ffffffd9,0 0 0 8px var(--fc, var(--brand));opacity:1;filter:none;animation:kbd-call 1.1s ease-in-out infinite;z-index:2}.kbd-key.is-target .kbd-upper{color:#ffffffd9}@keyframes kbd-call{50%{box-shadow:0 1px #0f172a59,0 0 0 6px #ffffffe6,0 0 0 12px var(--fc, var(--brand))}}.kbd-key.is-shift{background:var(--brand-3);color:var(--brand);opacity:1;filter:none}.kbd-key.is-down{transform:translateY(3px);box-shadow:0 0 #94a3b8;background:var(--paper-3)}.kbd-key.is-wrong{background:var(--bad);color:#fff;opacity:1;filter:none;animation:kbd-shake .3s ease}@keyframes kbd-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.hands{width:100%;max-width:min(470px,100%);display:grid;gap:4px;justify-items:center}.hands svg{width:100%;height:auto}.hand-palm{fill:#fde8d7;stroke:#e5c3a6;stroke-width:3}.hand-finger rect{fill:#fde8d7;stroke:#e5c3a6;stroke-width:3;transition:y .16s ease,height .16s ease,fill .16s ease}.hand-finger.is-active rect{fill:var(--fc);stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 10px var(--fc))}.hand-label{font-family:inherit;font-weight:800;font-size:13px;fill:#a1866c;text-anchor:middle;pointer-events:none}.hand-finger.is-active .hand-label{fill:#fff}.hand-thumb rect{fill:#fde8d7}.hand-shift rect{fill:var(--brand-3);stroke:var(--brand);stroke-width:3}.hand-shift .hand-label{fill:var(--brand);font-size:15px}.hands-caption{margin:0;font-weight:800;color:var(--ink-soft);text-align:center;font-size:.95rem;min-height:1.4em}.finger-legend{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.legend-chip{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:800;color:var(--ink-soft);background:var(--paper);border-radius:var(--r-full);padding:3px 9px;border:2px solid var(--paper-3)}.legend-chip i{width:10px;height:10px;border-radius:50%;background:var(--fc)}.type-line,.type-paper{background:var(--paper);border:3px solid var(--paper-3);border-radius:var(--r-md);padding:16px 18px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:clamp(1.15rem,3.6vw,1.7rem);line-height:1.9;letter-spacing:.06em;word-break:break-word;min-height:68px}.act-type--line.is-big .type-line{font-size:clamp(1.6rem,6vw,2.6rem)}.type-line .ch{border-radius:5px;padding:2px 1px;transition:background .12s ease,color .12s ease}.type-line .ch.is-space{white-space:pre}.type-line .ch.is-done{color:var(--good)}.type-line .ch.is-now{background:var(--brand);color:#fff;box-shadow:0 0 0 3px var(--brand-3)}.type-line .ch.is-now.is-space{background:var(--brand)}.type-line .ch.is-wrong{background:var(--bad);animation:kbd-shake .25s ease}.type-paper{font-size:clamp(1.3rem,4vw,2rem);display:flex;align-items:center}.paper-caret{display:inline-block;width:3px;height:1.3em;margin-left:2px;background:var(--brand);animation:caret 1s steps(2) infinite}@keyframes caret{50%{opacity:0}}.type-progress{height:12px;background:var(--paper-3);border-radius:var(--r-full);overflow:hidden}.type-progress-fill{height:100%;border-radius:var(--r-full);background:linear-gradient(90deg,var(--brand-2),var(--brand));transition:width .2s ease}.type-readout{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.type-readout .stat{font-size:.92rem;color:var(--ink-soft)}.type-readout .stat b{color:var(--ink);font-size:1.1rem}.type-readout .stat.is-good b{color:var(--good)}.type-readout .stat.is-bad b{color:var(--bad)}.type-verdict{border-radius:var(--r-md);padding:12px 16px;font-weight:800}.type-verdict.is-good{background:var(--good-soft);color:#14532d}.type-verdict.is-bad{background:var(--warn-soft);color:#78350f}.find-target{display:grid;justify-items:center;gap:4px}.find-letter{display:grid;place-content:center;width:clamp(96px,26vw,140px);height:clamp(96px,26vw,140px);border-radius:28px;background:var(--fc, var(--brand));color:#fff;font-size:clamp(3rem,12vw,4.6rem);font-weight:800;line-height:1;box-shadow:0 8px #0f172a2e;animation:find-pop .3s ease}@keyframes find-pop{0%{transform:scale(.85)}}.find-count{font-weight:800;color:var(--ink-faint)}.find-done{font-size:4rem}@media (max-width: 620px){.kbd{padding:8px;gap:3px}.kbd-row{gap:3px}.kbd-key{border-radius:6px;font-size:.7rem;border-bottom-width:3px;overflow:hidden}.kbd-key.is-special{font-size:.5rem;letter-spacing:-.03em}.kbd-key.is-space{height:26px}.kbd-upper{display:none}.kbd-bump{width:8px;height:2px;bottom:3px}}@media (prefers-reduced-motion: reduce){.kbd-key.is-target,.race-star,.find-letter,.paper-caret{animation:none}.race-racer,.race-fill,.hand-finger rect{transition:none}}.placement{max-width:720px;margin:0 auto;padding:20px 16px 48px}.place-card{background:var(--paper);border:2px solid var(--paper-3);border-radius:24px;padding:28px 24px 24px;text-align:center;box-shadow:var(--shadow-md);display:grid;justify-items:center;gap:14px}.place-card h1{margin:0;font-size:clamp(1.4rem,4.5vw,2rem);line-height:1.15}.place-lead{margin:0;max-width:46ch;color:var(--ink-soft);font-size:1.02rem;line-height:1.5}.place-points{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:8px;text-align:left;font-size:.94rem;color:var(--ink-soft)}.place-points li{background:var(--paper-2);border-radius:12px;padding:10px 14px}.place-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px}.place-bar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.place-bar>.bar,.place-bar>.bar-thin{flex:1;min-width:0}.place-question{background:var(--paper);border:2px solid var(--paper-3);border-radius:22px;padding:20px 18px;box-shadow:var(--shadow-sm)}.place-question>.tiny{display:block;text-align:center;margin-bottom:10px;letter-spacing:.04em;text-transform:uppercase}.place-ask{display:flex;align-items:center;gap:10px;background:var(--paper-2);border-radius:16px;padding:12px 16px;margin-bottom:16px}.place-ask p{margin:0;flex:1;min-width:0;font-size:1.05rem;font-weight:600;line-height:1.35}.lesson-stage.is-moving{opacity:.45;transform:translate(-10px);transition:opacity .18s ease,transform .18s ease}.place-hint{text-align:center;margin:16px 0 0}.place-result{display:grid;justify-items:center;gap:2px;background:var(--paper-2);border-radius:18px;padding:16px 22px;min-width:220px}.place-emoji{font-size:2.4rem}.place-result b{font-size:1.25rem}.place-sub{margin:10px 0 0;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.place-choices{display:grid;gap:10px;width:100%;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.place-choice{display:grid;justify-items:center;gap:3px;padding:16px 12px;border:2px solid var(--paper-3);border-radius:18px;background:var(--paper);cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;font:inherit;color:inherit;text-align:center}.place-choice:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.place-choice.is-suggested{border-color:var(--good);background:color-mix(in srgb,var(--good) 8%,var(--paper))}.place-choice-emoji{font-size:1.7rem}.subj-pick{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:8px}.subj-chip{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;border:2px solid var(--paper-3, #e6e6f0);background:#fff;cursor:pointer;text-align:left;min-width:0;transition:border-color .15s ease,background .15s ease,opacity .15s ease}.subj-chip{opacity:.45}.subj-chip.on{opacity:1;border-color:var(--sc, #6366f1);background:color-mix(in srgb,var(--sc, #6366f1) 8%,#fff)}.subj-chip:hover{opacity:.8}.subj-chip.on:hover{opacity:1}.subj-chip-emoji{font-size:18px;line-height:1;flex:none}.subj-chip-name{font-size:13px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:14px}.course-card{background:var(--paper);border:2px solid var(--paper-3);border-left:6px solid var(--sc, var(--paper-3));border-radius:18px;padding:14px 16px;display:grid;gap:12px;align-content:start}.course-card.is-off{opacity:.62;border-left-color:var(--paper-3);background:var(--paper-2)}.course-head{display:flex;align-items:center;gap:12px}.course-head .grow{display:grid;gap:1px;min-width:0}.course-head .grow b{font-size:1.05rem}.course-emoji{font-size:1.8rem}.switch{display:grid;justify-items:center;gap:3px;cursor:pointer;flex-shrink:0}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{width:46px;height:26px;border-radius:13px;background:var(--paper-3);border:2px solid var(--paper-3);display:block;position:relative;transition:background .15s ease,border-color .15s ease}.switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--paper);box-shadow:0 1px 3px #00000040;transition:transform .15s ease}.switch input:checked+.switch-track{background:var(--good);border-color:var(--good)}.switch input:checked+.switch-track .switch-knob{transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:3px solid var(--brand-2);outline-offset:2px}.course-level{display:grid;gap:1px;background:var(--paper-2);border-radius:12px;padding:10px 12px}.course-review{border-radius:12px;padding:10px 12px;font-size:.9rem;display:grid;gap:8px;justify-items:start;line-height:1.4}.course-review.is-right{background:color-mix(in srgb,var(--good) 12%,transparent)}.course-review.is-move-up{background:color-mix(in srgb,var(--info) 14%,transparent)}.course-review.is-move-down{background:color-mix(in srgb,var(--warn) 16%,transparent)}.course-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}.course-buttons{display:flex;gap:8px;flex-wrap:wrap}.course-levels{display:grid;gap:8px;border-top:1px dashed var(--paper-3);padding-top:12px}.level-pick{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:9px 12px;border:2px solid var(--paper-3);border-radius:12px;background:var(--paper);cursor:pointer;font:inherit;color:inherit}.level-pick>span:first-child{grid-row:1 / 3;font-size:1.4rem}.level-pick:hover{border-color:var(--sc, var(--brand))}.level-pick.is-on{border-color:var(--good);background:color-mix(in srgb,var(--good) 9%,var(--paper))}.check-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;cursor:pointer}.check-row input{margin-top:3px;width:18px;height:18px}.check-row>span{display:grid;gap:2px}.access-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--paper-3);border-radius:12px;background:var(--paper-2)}.access-row .grow{display:grid;gap:1px;min-width:160px}.access-buttons{display:flex;gap:6px;flex-wrap:wrap}.scope-note.warn{background:color-mix(in srgb,var(--warn) 14%,transparent);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}@media (max-width: 480px){.place-card{padding:22px 16px 18px;border-radius:20px}.place-choices,.course-grid{grid-template-columns:1fr}.access-row{align-items:flex-start}}.invite-hero{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.invite-hero-text{flex:1 1 260px;min-width:0}.invite-hero-text h2{margin:0 0 6px}.invite-hero-text p{margin:0;line-height:1.5}.invite-code{flex:0 1 240px;display:grid;justify-items:center;gap:2px;padding:16px 20px;border:3px dashed var(--brand-3);border-radius:20px;background:var(--paper-2);cursor:pointer;font:inherit;color:inherit;transition:transform .12s ease,border-color .12s ease,background .12s ease}.invite-code:hover{transform:translateY(-2px);border-color:var(--brand);background:var(--paper-3)}.invite-code b{font-family:var(--font-num);white-space:nowrap;font-size:clamp(1.25rem,4.4vw,1.9rem);letter-spacing:.06em;color:var(--brand);line-height:1.1}.invite-code>.tiny:first-child{letter-spacing:.12em;color:var(--ink-faint)}.invite-offer{display:flex;gap:14px;align-items:flex-start;background:color-mix(in srgb,var(--good) 8%,var(--paper));border:2px solid color-mix(in srgb,var(--good) 28%,transparent)}.invite-offer-emoji{font-size:1.8rem;line-height:1}.invite-offer b{display:block;margin-bottom:4px}.invite-offer p{margin:0;line-height:1.45}.invite-message{margin:12px 0;padding:14px 16px;background:var(--paper-2);border-radius:14px;border-left:4px solid var(--brand-3);white-space:pre-wrap;word-break:break-word;font-family:var(--font);font-size:.95rem;line-height:1.5;-webkit-user-select:text;user-select:text}.invite-input{font-family:var(--font-num);font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase;max-width:210px;align-self:center;width:auto}.good-text{color:var(--good)}.warn-text{color:#b45309}.ref-modes{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:14px 0}.ref-mode{display:grid;gap:3px;text-align:left;padding:13px 15px;border:2px solid var(--paper-3);border-radius:14px;background:var(--paper);cursor:pointer;font:inherit;color:inherit}.ref-mode:hover{border-color:var(--brand-3)}.ref-mode.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--paper))}.ref-numbers{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ref-preview{margin-top:14px;padding:12px 15px;border-radius:12px;background:var(--paper-2);display:grid;gap:3px}.ref-row{border:1px solid var(--paper-3);border-radius:14px;padding:12px 14px;background:var(--paper-2);display:grid;gap:8px}.ref-row.is-flagged{border-color:color-mix(in srgb,var(--warn) 55%,transparent);background:color-mix(in srgb,var(--warn) 10%,var(--paper))}.ref-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ref-row-head .grow{display:grid;gap:1px;min-width:150px}.ref-links{list-style:none;margin:0;padding:0;display:grid;gap:5px}.ref-links li{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:6px 10px;border-radius:10px;background:var(--paper)}@media (max-width: 480px){.invite-hero{flex-direction:column;align-items:stretch}.invite-code{flex:1 1 auto}.invite-tab .seg{width:100%}.invite-tab .seg-btn{flex:1}.ref-modes,.ref-numbers{grid-template-columns:1fr}}.admin{max-width:1080px;margin:0 auto;padding:16px}.admin-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 0 14px}.admin-mark{font-size:1.9rem}.admin-mark.big{font-size:3rem}.admin-gate{display:grid;place-items:center;min-height:100vh;padding:20px}.admin-gate-card{max-width:420px;width:100%;display:grid;justify-items:center;text-align:center}.admin-gate-card h1{margin:8px 0 0;font-size:1.5rem}.admin-gate-card .field{width:100%;text-align:left}.admin-gate-card .btn{width:100%}.admin-code{display:block;margin-top:6px;padding:8px 10px;border-radius:8px;background:var(--paper-3);font-family:var(--font-num);font-size:.75rem;word-break:break-all}.admin-loading{text-align:center;color:var(--ink-faint)}.spin{display:inline-block;animation:admin-spin 1s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spin{animation:none}}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.admin-stat{background:var(--paper);border:2px solid var(--paper-3);border-radius:16px;padding:16px;display:grid;justify-items:center;gap:2px;text-align:center}.admin-stat b{font-size:1.7rem;line-height:1.1}.admin-stat-emoji{font-size:1.5rem}.admin-stat.is-good{border-color:color-mix(in srgb,var(--good) 40%,transparent)}.admin-stat.is-warn{border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.family-row{background:var(--paper);border:1px solid var(--paper-3);border-left:5px solid var(--paper-3);border-radius:14px;padding:13px 15px;display:grid;gap:8px}.family-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.family-main .grow{display:grid;gap:1px;min-width:180px}.family-kids{list-style:none;margin:0;padding:0;display:grid;gap:4px}.family-kids li{padding:6px 10px;border-radius:9px;background:var(--paper-2);font-size:.9rem}.kid-card{padding:12px 14px;border-radius:12px;background:var(--paper-2);display:grid;gap:6px}.audit-list{display:grid;gap:2px;max-height:460px;overflow-y:auto}.audit-row{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:baseline;padding:7px 10px;border-radius:8px}.audit-row:nth-child(odd){background:var(--paper-2)}@media (max-width: 560px){.admin-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.audit-row{grid-template-columns:1fr;gap:2px}}.invite-share{display:grid;gap:10px;flex:1 1 300px;min-width:0}.invite-link{display:grid;justify-items:center;gap:2px;padding:14px 18px;border:3px solid var(--good);border-radius:18px;background:color-mix(in srgb,var(--good) 8%,var(--paper));cursor:pointer;font:inherit;color:inherit;transition:transform .12s ease,background .12s ease}.invite-link:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--good) 14%,var(--paper))}.invite-link b{font-family:var(--font-num);font-size:clamp(.85rem,2.6vw,1.05rem);color:var(--good);word-break:break-all;line-height:1.25}.invite-link>.tiny:first-child,.invite-code>.tiny:first-child{letter-spacing:.12em;color:var(--ink-faint)}.tt-days{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tt-day{min-width:58px;padding:11px 12px;border-radius:12px;border:2px solid var(--paper-3);background:var(--paper);font:inherit;font-weight:800;color:var(--ink-soft);cursor:pointer}.tt-day.on{border-color:var(--brand);background:var(--brand);color:#fff}.tt-day:disabled{opacity:.6;cursor:default}.tt-times{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.tt-times .field{max-width:150px}.tt-upcoming{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 13px;border-radius:12px;background:var(--paper-2);border-left:4px solid var(--paper-3)}.tt-upcoming .grow{display:grid;gap:1px;min-width:160px}.tt-upcoming.is-excused{border-left-color:var(--warn)}.tt-upcoming.is-kept{border-left-color:var(--good)}.tt-history{display:grid;gap:2px;margin-top:12px;max-height:320px;overflow-y:auto}.tt-hist-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:baseline;padding:7px 10px;border-radius:8px}.tt-hist-row:nth-child(odd){background:var(--paper-2)}.tt-hist-row.is-missed b{color:#b45309}.tt-hist-row.is-kept b{color:var(--good)}.tt-hist-row.is-reversed b{color:var(--ink-faint)}.plans-page{max-width:1040px;margin:0 auto;padding:16px}.plans-head{display:flex;align-items:center;gap:12px;padding:16px 0}.plans-why{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:color-mix(in srgb,var(--warn) 10%,var(--paper));border:2px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:18px;padding:18px 20px;margin-bottom:18px}.plans-why h2{margin:0 0 6px;font-size:1.15rem}.plans-why p{margin:0 0 4px;line-height:1.45}.plans-status{margin:0 0 16px}.plan-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}.plan-card{position:relative;background:var(--paper);border:2px solid var(--paper-3);border-radius:20px;padding:22px 20px 20px;display:grid;gap:10px;align-content:start;box-shadow:var(--shadow-sm)}.plan-card.is-needed{border-color:var(--good);box-shadow:var(--shadow-md)}.plan-card.is-current{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 5%,var(--paper))}.plan-flag{position:absolute;top:-11px;left:18px;padding:3px 12px;border-radius:var(--r-full);background:var(--brand);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.03em}.plan-flag.good{background:var(--good)}.plan-card h3{margin:4px 0 0;font-size:1.15rem}.plan-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.plan-price b{font-size:2rem;line-height:1;letter-spacing:-.02em}.plan-price span{font-size:.85rem;color:var(--ink-faint)}.plan-blurb{margin:0;color:var(--ink-soft);line-height:1.45;font-size:.94rem}.plan-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}.plan-list li{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:baseline;font-size:.9rem;line-height:1.35}.plan-list li:before{font-weight:900}.plan-list li.yes:before{content:"✓";color:var(--good)}.plan-list li.no:before{content:"–";color:var(--ink-faint)}.plan-list li.no{color:var(--ink-faint)}.plan-foot{margin:6px 0 0}.plans-error{margin-top:14px}.plans-notes{margin-top:22px;display:grid;gap:6px}.plan-nudge{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;padding:14px 16px;border-radius:16px;background:var(--paper-2);border-left:5px solid var(--brand-3)}.plan-nudge.is-due{background:color-mix(in srgb,var(--warn) 12%,var(--paper));border-left-color:var(--warn)}.plan-nudge-emoji{font-size:1.6rem}.plan-nudge .grow{display:grid;gap:2px;min-width:200px}.pay-return{display:grid;place-items:center;min-height:80vh;padding:20px}.pay-card{max-width:520px;width:100%;background:var(--paper);border:2px solid var(--paper-3);border-radius:24px;padding:32px 26px;text-align:center;display:grid;justify-items:center;gap:12px;box-shadow:var(--shadow-md)}.pay-card h1{margin:0;font-size:clamp(1.3rem,4.5vw,1.9rem);line-height:1.15}.pay-lead{margin:0;max-width:44ch;color:var(--ink-soft);line-height:1.5}.pay-ref{display:inline-block;padding:3px 8px;border-radius:6px;background:var(--paper-3);font-family:var(--font-num);font-size:.8rem;-webkit-user-select:all;user-select:all}@media (max-width: 480px){.plan-grid{grid-template-columns:1fr}.plans-why{flex-direction:column;text-align:center}}.brand-lockup{display:grid;line-height:1.05;text-align:left}.brand-name{font-weight:900;font-size:1.05rem;letter-spacing:.01em;color:var(--brand)}.brand-tag{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}@media (max-width: 480px){.brand-tag{display:none}}.admin-otp{font-family:var(--font-num);font-size:1.5rem;letter-spacing:.35em;text-align:center;padding-left:.35em}.admin-code-field{text-align:left}.cohort-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:14px 0 10px}.cohort{display:grid;gap:2px;padding:14px 16px;border-radius:14px;background:var(--paper-2)}.cohort b{font-size:1.7rem;line-height:1.1}.bars{display:grid;gap:7px;margin-top:10px}.bar-row{display:grid;grid-template-columns:78px 1fr 44px;gap:10px;align-items:center}.bar-label{font-size:.85rem;color:var(--ink-soft)}.bar-track{height:16px;border-radius:8px;background:var(--paper-3);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:8px;background:var(--brand);min-width:2px}.bar-value{text-align:right;font-family:var(--font-num);font-size:.9rem}.spark{display:flex;align-items:flex-end;gap:6px;height:92px;margin-top:14px;padding-top:14px}.spark-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%}.spark-bar{width:100%;max-width:34px;border-radius:5px 5px 0 0;background:var(--brand-2)}.spark-n{font-size:.68rem;color:var(--ink-faint);font-family:var(--font-num)}.subj-table{display:grid;gap:2px;margin:10px 0}.subj-row{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:8px;padding:8px 10px;border-radius:8px;align-items:baseline;font-size:.88rem}.subj-row:nth-child(2n){background:var(--paper-2)}.subj-row.is-head{background:transparent;color:var(--ink-faint);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}@media (max-width: 560px){.subj-row{grid-template-columns:1.4fr repeat(4,1fr);font-size:.8rem}.bar-row{grid-template-columns:62px 1fr 36px}}.quick-tt h2{margin:0 0 4px}.quick-tt-note{margin:0;padding:10px 12px;border-radius:12px;background:var(--soft, #f2eefe);border:1px solid var(--line, #e4ddf7);color:var(--ink, #241a3d)}.tt-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.tt-preset{display:grid;gap:2px;text-align:left;padding:12px 14px;border:2px solid var(--paper-3);border-radius:14px;background:var(--paper);cursor:pointer;font:inherit;color:inherit}.tt-preset:hover{border-color:var(--brand-3)}.tt-preset.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--paper))}.tt-actions{display:flex;gap:10px;flex-wrap:wrap}.tt-actions .btn{flex:1 1 160px}.profile-card.is-remote{border-style:dashed}.child-pin{display:grid;place-items:center;min-height:100vh;padding:18px}.pin-card{width:100%;max-width:360px;background:var(--paper);border:2px solid var(--paper-3);border-radius:26px;padding:26px 22px;display:grid;justify-items:center;gap:12px;text-align:center;box-shadow:var(--shadow-md)}.pin-card h1{margin:0;font-size:1.5rem}.pin-lead{margin:0;color:var(--ink-soft)}.pin-dots{display:flex;gap:14px;margin:4px 0 2px}.pin-dot{width:18px;height:18px;border-radius:50%;background:var(--paper-3);border:2px solid var(--paper-3);transition:background .12s ease,transform .12s ease}.pin-dot.on{background:var(--brand);border-color:var(--brand);transform:scale(1.12)}.pin-error{margin:0;color:#b45309;font-weight:700;line-height:1.35}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin-top:4px}.pin-key{aspect-ratio:1 / 1;min-height:62px;border-radius:18px;border:2px solid var(--paper-3);background:var(--paper-2);font:inherit;font-size:1.6rem;font-weight:800;color:var(--ink);cursor:pointer}.pin-key:active{transform:translateY(2px);background:var(--paper-3)}.pin-key.is-blank{visibility:hidden}.pin-key.is-back{font-size:1.25rem}.pin-key:disabled{opacity:.5}.pin-locked{display:grid;justify-items:center;gap:6px;padding:16px;border-radius:16px;background:color-mix(in srgb,var(--warn) 12%,var(--paper))}.pin-locked-emoji{font-size:2rem}.pin-locked p{margin:0;line-height:1.4}.login-card{border:1px solid var(--paper-3);border-radius:14px;padding:13px 15px;background:var(--paper-2)}.login-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.login-head .grow{display:grid;gap:1px;min-width:170px}.login-user{font-family:var(--font-num);color:var(--brand)}.pin-input{font-family:var(--font-num);font-size:1.5rem;letter-spacing:.5em;text-align:center;max-width:180px;padding-left:.5em}.login-done{display:grid;gap:10px}.login-creds{display:flex;gap:22px;flex-wrap:wrap;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--good) 10%,var(--paper))}.login-creds div{display:grid;gap:2px}.login-creds b{font-family:var(--font-num);font-size:1.3rem;color:var(--brand)}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.cert-card{position:relative;display:grid;gap:2px;justify-items:center;text-align:center;padding:18px 14px 14px;border:2px solid var(--paper-3);border-top:5px solid var(--sc, var(--brand));border-radius:16px;background:var(--paper);cursor:pointer;font:inherit;color:inherit;transition:transform .13s ease,box-shadow .13s ease}.cert-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.cert-card.is-subject{border-color:var(--good);background:color-mix(in srgb,var(--good) 6%,var(--paper))}.cert-card-emoji{font-size:2rem}.cert-card b{font-size:1rem;line-height:1.2}.cert-card-meta{font-size:.8rem;font-weight:700;color:var(--sc, var(--brand));margin-top:4px}.cert-card-flag{position:absolute;top:-10px;padding:2px 10px;border-radius:var(--r-full);background:var(--good);color:#fff;font-size:.68rem;font-weight:800}.cert-near{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 13px;border-radius:12px;background:var(--paper-2)}.cert-near-emoji{font-size:1.5rem}.cert-near .grow{display:grid;gap:1px;min-width:170px}.cert-near-bar{width:100px;height:10px;border-radius:5px;background:var(--paper-3);overflow:hidden}.cert-near-bar span{display:block;height:100%;background:var(--good);border-radius:5px}@media print{.cert-actions,.tabs,.parent-head,.topbar{display:none!important}}.viewas-flag{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#fff4d6;border:1px solid #f0cf7a;color:#7a5b00;font-size:.82rem;font-weight:700}.viewas-subjects{display:grid;gap:8px;margin-top:12px}.viewas-subject{display:flex;align-items:center;gap:10px}.viewas-subject-emoji{font-size:1.3rem}.viewas-subject .grow{display:grid;gap:4px}.viewas-levels{margin-top:14px;display:grid;gap:6px}.viewas-level-row{display:flex;flex-wrap:wrap;gap:6px}.viewas-level{padding:3px 9px;border-radius:8px;background:var(--paper-2, #f4f2fb);border:1px solid var(--line, #e6e1f5);font-size:.78rem;font-variant-numeric:tabular-nums}.viewas-level.is-part{background:#fff4d6;border-color:#f0cf7a}.viewas-level.is-done{background:#dcf6e3;border-color:#8fd6a6}.most-studied{display:flex;align-items:center;gap:14px;padding:12px 16px;margin-bottom:14px;border-radius:14px;background:linear-gradient(180deg,#fffaf0,#fff4d6);border:1px solid #f0cf7a}.most-studied-emoji{font-size:1.8rem}.most-studied .grow{display:grid;gap:2px}.most-studied b{font-size:1.05rem;color:#6d28d9}.effort-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--paper-3, #ece8f7);margin:12px 0 14px}.effort-seg{display:block;height:100%;transition:width .24s ease}.effort-seg.is-learn{background:var(--brand, #6d28d9)}.effort-seg.is-practice{background:#38b6d9}.effort-seg.is-challenge{background:#f5a524}.effort-rows{display:grid;gap:10px}.effort-row{display:flex;align-items:center;gap:10px}.effort-dot{width:10px;height:10px;border-radius:50%;flex:none}.effort-dot.is-learn{background:var(--brand, #6d28d9)}.effort-dot.is-practice{background:#38b6d9}.effort-dot.is-challenge{background:#f5a524}.effort-emoji{font-size:1.1rem}.effort-row .grow{display:grid}.effort-figs{display:grid;text-align:right;line-height:1.25}.missed-table{display:grid;gap:2px;margin-top:10px}.missed-row{display:grid;grid-template-columns:34px minmax(0,1fr) 76px 96px 60px 64px;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--paper-2, #f6f4ff);font-size:.86rem;font-variant-numeric:tabular-nums}.missed-row.is-head{background:none;padding-bottom:2px;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft, #6f6795);font-weight:700}.missed-row.is-warn{background:#fff4d6}.missed-row.is-bad{background:#ffe4e1}.missed-rank{font-weight:800;color:var(--ink-soft, #6f6795)}.missed-topic{display:grid;min-width:0}.missed-topic b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-subtitle{margin:0 0 8px;font-size:.95rem;font-weight:800;color:var(--ink, #1e1b3a)}@media (max-width: 720px){.missed-row{grid-template-columns:26px minmax(0,1fr) 60px 60px}.missed-row>:nth-child(5),.missed-row>:nth-child(6){display:none}}.fb-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:grid;place-items:center;padding:16px;background:#1e1b3a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fb-in .16s ease-out}@keyframes fb-in{0%{opacity:0}to{opacity:1}}.fb-card{position:relative;width:min(460px,100%);max-height:92vh;overflow-y:auto;background:#fff;border-radius:22px;padding:22px;box-shadow:0 20px 60px #1e1b3a59}.fb-x{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:var(--paper-2, #f4f2fb);cursor:pointer;font-size:15px;color:var(--ink-soft, #6f6795)}.fb-x:hover{background:var(--paper-3, #ece8f7)}.fb-head{display:flex;gap:12px;align-items:center;margin-bottom:4px;padding-right:28px}.fb-head h2{margin:0;font-size:1.25rem}.fb-stars{display:flex;justify-content:center;gap:4px;margin:10px 0 0}.fb-star{border:none;background:none;cursor:pointer;font-size:40px;line-height:1;color:var(--paper-3, #ddd6fe);transition:transform 90ms,color 90ms;padding:2px 4px}.fb-star:hover{transform:scale(1.14)}.fb-star.is-on{color:#f5b722}.fb-word{margin:2px 0 0;text-align:center;min-height:1.4em;font-weight:700;color:var(--brand, #6d28d9)}.fb-more{margin-top:12px;display:grid;gap:10px}.fb-more textarea{resize:vertical;font-family:inherit}.fb-consent{padding:12px;border-radius:12px;background:#f6fdf8;border:1px solid #8fd6a6}.fb-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:.9rem}.fb-check input{margin-top:3px;flex:none;width:17px;height:17px}.fb-actions{display:flex;gap:10px;margin-top:16px}.fb-foot{text-align:center;margin:10px 0 0}.rec-offer{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;margin-top:12px;border-radius:14px;background:linear-gradient(180deg,#fffaf0,#fff4d6);border:1px solid #f0cf7a}.rec-offer-emoji{font-size:1.5rem}.rec-offer p{margin:0}.rec-code{display:grid;justify-items:center;gap:2px;margin:14px 0 0;padding:12px;border-radius:14px;background:var(--paper-2, #f6f4ff);border:1px dashed var(--brand, #6d28d9)}.rec-code b{font-size:1.5rem;letter-spacing:.14em;color:var(--brand, #6d28d9)}.rec-later{display:block;margin:12px auto 0}.said-card{padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--line, #e6e1f5);display:grid;gap:10px}.said-head{display:flex;gap:12px;align-items:center}.said-head .grow{display:grid;min-width:0}.said-stars{color:#f5b722;font-size:1.05rem;letter-spacing:1px;flex:none}.said-dim{color:var(--paper-3, #ddd6fe)}.said-flag{padding:3px 9px;border-radius:999px;background:#ffe4e1;border:1px solid #f0a9a2;color:#8a2f2f;font-size:.7rem;font-weight:800;text-transform:uppercase}.said-body{margin:0;padding:10px 14px;border-left:3px solid var(--brand, #6d28d9);background:var(--paper-2, #f6f4ff);border-radius:0 10px 10px 0;font-style:italic}.focus-back{display:flex;gap:14px;align-items:center;margin:10px 0;padding:14px 18px;border-radius:16px;background:linear-gradient(135deg,#f3f0ff,#e9e3fc);border:2px solid #c9b8fa}.focus-back-emoji{font-size:30px}.focus-back .grow{display:grid}.focus-back b{color:#4c1d95}.focus-back .tiny{color:#4b4576}.lock-steps{margin:12px 0;padding-left:22px;display:grid;gap:8px;font-size:.9rem;line-height:1.5}.lock-steps li{padding-left:4px}.lock-steps li::marker{font-weight:800;color:var(--brand, #6d28d9)}.rejoin{margin:12px 0;padding:14px 16px;border-radius:14px;background:#fff8ec;border:1px solid #f0cf7a}.rejoin p{margin:0 0 10px;color:#6b4d00;line-height:1.5}.pin-setup{padding:14px 16px;border-radius:14px;background:var(--paper-2, #f6f4ff);border:1px solid var(--line, #e6e1f5)}.pin-setup .fb-check{align-items:flex-start}.pin-setup .fb-check span{display:block}.tt-windows{display:grid;gap:10px;margin-top:14px}.tt-window{padding:12px 14px;border-radius:14px;background:var(--paper-2, #f6f4ff);border:1px solid var(--line, #e6e1f5)}.tt-window.is-weekend{background:#fffaf0;border-color:#f0cf7a}.tt-window-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.tt-window-head b{font-size:.95rem}.tt-window .tt-times{margin-top:0}.tt-hist-row.is-extra{background:#f6fdf8;border-color:#8fd6a6}.cert-sheet{width:297mm;height:210mm;position:relative;overflow:hidden;background:#fdfcff;color:#1e1b3a;font-family:"Baloo 2",var(--font);display:flex;flex-direction:column;align-items:center;padding:13mm 16mm 9mm;box-sizing:border-box;border:3.4mm solid #6d28d9;border-radius:5mm}.cert-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0}.cert-title,.cert-ribbon,.cert-lead,.cert-name,.cert-rule,.cert-module,.cert-counts,.cert-topics,.cert-foot{position:relative;z-index:2}.cert-orbits{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.cert-orbit{position:absolute;width:17mm;height:17mm;border-radius:50%;background:#fff;box-shadow:0 1.6mm 4mm #4c1d9521;display:grid;place-items:center;font-size:8.5mm;line-height:1}.cert-orbit.o1{top:42mm;left:16mm}.cert-orbit.o2{top:76mm;left:11mm}.cert-orbit.o3{top:99mm;left:22mm}.cert-orbit.o4{top:57mm;right:14mm}.cert-orbit.o5{top:91mm;right:22mm}.cert-orbit.o6{top:121mm;right:16mm}.cert-brand{position:absolute;top:10mm;left:12mm;z-index:3;display:flex;align-items:center;gap:3mm}.cert-brand .mascot{width:14mm;height:14mm}.cert-brand-text{display:grid;gap:.6mm}.cert-brand-text b{font-family:"Poppins","Baloo 2",var(--font);font-size:8.4mm;font-weight:800;line-height:1;color:#5b21b6;letter-spacing:.01em}.cert-brand-text span{font-family:"Poppins","Baloo 2",var(--font);font-size:3.1mm;font-weight:600;line-height:1;letter-spacing:.235em;text-transform:uppercase;color:#4c3f8f}.cert-rosette{position:absolute;top:7mm;right:11mm;z-index:3;width:30mm;height:37.5mm}.cert-title{margin:0;font-size:30mm;line-height:.85;letter-spacing:-.005em;color:#1b1740;font-weight:800}.cert-ribbon{margin-top:.5mm;background:#6d28d9;color:#fff;font-weight:800;font-size:6.2mm;line-height:1;letter-spacing:.13em;padding:3.2mm 11mm;display:flex;align-items:center;gap:5mm}.cert-ribbon:before,.cert-ribbon:after{content:"";position:absolute;top:0;width:9mm;height:calc(100% + 3.6mm);background:#5b21b6}.cert-ribbon:before{left:-9mm;clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%)}.cert-ribbon:after{right:-9mm;clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%)}.cert-ribbon-star{width:6.4mm;height:6.4mm}.cert-lead{margin:4mm 0 0;font-size:4.6mm;font-weight:500;color:#4b4576}.cert-name{margin:.5mm 0 0;font-family:Pacifico,cursive;font-size:15mm;line-height:1.12;color:#6d28d9;font-weight:400}.cert-rule{width:147mm;height:0;border-bottom:.75mm dotted #c4b5fd;margin:.5mm 0 0}.cert-module{margin-top:2.5mm;display:flex;align-items:center;gap:4mm;padding:2.6mm 9mm;border:.55mm solid #c9b8fa;border-radius:4mm;background:#f7f4ff}.cert-module-emoji{font-size:9mm;line-height:1}.cert-module b{font-size:7.2mm;line-height:1.15;font-weight:800;color:#4c1d95}.cert-counts{margin:2mm 0 0;font-size:5mm;font-weight:700;color:#6d28d9;display:flex;align-items:center;gap:4mm}.cert-counts i{font-style:normal;color:#a78bfa}.cert-topics{margin-top:1.5mm;width:154mm;border:.55mm solid #ddd6fe;border-radius:4mm;padding:3mm 5mm 3.6mm;background:#ffffffd1}.cert-topics h2{margin:0 0 2.2mm;text-align:center;font-size:4.8mm;font-weight:800;color:#6d28d9}.cert-topic-cols{display:grid;grid-template-columns:repeat(3,1fr)}.cert-topic-cols ul{list-style:none;margin:0;padding:0 3mm;display:grid;gap:1.7mm;align-content:start}.cert-topic-cols li{display:grid;grid-template-columns:4.4mm 1fr;gap:1.8mm;align-items:start;font-size:3.6mm;font-weight:500;line-height:1.2;color:#3b3560}.cert-topic-cols ul+ul{border-left:.35mm solid #ede9fe}.cert-tick{width:4.4mm;height:4.4mm;margin-top:.1mm}.cert-more{margin:1.2mm 0 0;text-align:center;font-size:3.6mm;color:#8b86ad}.cert-grad{position:absolute;left:2mm;bottom:11mm;z-index:1;line-height:0}.cert-grad .mascot{width:68mm;height:68mm}.cert-foot{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;margin-top:auto;padding-top:4mm}.cert-date{display:flex;align-items:center;gap:3mm;padding-left:56mm}.cert-cal{width:8mm;height:8mm}.cert-date span:last-child{display:grid;line-height:1.15}.cert-date small{font-size:3.6mm;color:#6f6795}.cert-date b{font-size:4.8mm;font-weight:700;color:#6d28d9}.cert-seal{width:52mm;height:27.7mm;justify-self:center}.cert-sign{display:grid;justify-items:center;gap:.8mm}.cert-signature{font-family:Great Vibes,cursive;font-size:9.5mm;font-weight:400;line-height:1.1;color:#1e1b3a;border-bottom:.45mm solid #1e1b3a;padding:0 10mm 1.4mm}.cert-sign span{font-size:3.7mm;color:#4b4576}.cert-stage{display:grid;place-items:start center;padding:6px 0}.cert-scale{box-shadow:0 6px 28px #1e1b3a29;border-radius:5mm;overflow:hidden}.cert-scale>.cert-sheet{transform:scale(var(--cert-scale, 1));transform-origin:top left}@media print{@page{size:A4 landscape;margin:0}body *{visibility:hidden!important}.cert-sheet,.cert-sheet *{visibility:visible!important}.cert-sheet{position:absolute!important;left:0;top:0;margin:0;box-shadow:none;transform:none!important}.cert-scale{transform:none!important;box-shadow:none;width:auto!important;height:auto!important}.cert-sheet,.cert-backdrop,.cert-ribbon,.cert-ribbon:before,.cert-ribbon:after,.cert-module,.cert-topics,.cert-orbit{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.cert-strip{display:flex;align-items:center;gap:14px;width:100%;margin:6px 0 4px;padding:14px 18px;border-radius:18px;cursor:pointer;text-align:left;border:1px solid #cdb8f5;background:#fbf7ff;font-family:inherit;transition:transform .12s}.cert-strip:hover{transform:translateY(-2px)}.cert-strip-emoji{font-size:30px}.cert-strip .grow{display:grid}.cert-strip b{font-size:1.05rem;color:#4c3a86}.cert-strip .tiny{color:#6b57a8}.cert-strip-go{font-size:1.1rem;color:#6b57a8}.kidcerts-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}.kidcerts-top h1{font-size:1.4rem;margin:0}.kidcerts-lede{color:var(--ink-faint);margin:0 0 14px}.kidcert-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.kidcert-card{display:grid;justify-items:center;gap:4px;padding:20px 14px;cursor:pointer;text-align:center;border-radius:20px;font-family:inherit;border:3px solid var(--sc, #6C5CE7);background:#fff;box-shadow:0 6px color-mix(in srgb,var(--sc, #6C5CE7) 22%,#fff);transition:transform .12s}.kidcert-card:hover{transform:translateY(-3px)}.kidcert-card.is-subject{background:linear-gradient(160deg,#fffdf5,#fff6e0)}.kidcert-emoji{font-size:46px;line-height:1.1}.kidcert-card b{font-size:1.02rem;color:var(--ink)}.kidcert-sub{font-size:.84rem;color:var(--sc, #6C5CE7);font-weight:700}.kidcert-meta{font-size:.82rem;color:var(--ink-faint)}.kidcert-date{font-size:.76rem;color:var(--ink-faint)}.kidcerts-empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:28px 18px}.kidcerts-empty h2{margin:4px 0 0;font-size:1.25rem}.kidcerts-empty p{max-width:34ch;color:var(--ink-faint);margin:0}.kidcert-stage{display:grid;place-items:start center;padding:6px 0 16px}.kidcert-error{color:var(--bad, #c0392b)}.kidcert-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.kidcert-hint{text-align:center;color:var(--ink-faint);margin:10px 0 0}.pill.coin{background:#fff4d6;color:#7a5b00;border-color:#f0cf7a}.arcade-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.coin-purse{padding:8px 16px;border-radius:999px;background:#fff4d6;border:1px solid #f0cf7a;color:#7a5b00;font-weight:700}.coin-purse b{font-size:1.15rem}.arcade-hero{display:flex;gap:16px;align-items:center;margin-bottom:18px}.arcade-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.arcade-card{display:grid;gap:5px;justify-items:center;text-align:center;padding:20px 16px;border-radius:20px;cursor:pointer;background:#fff;border:2px solid var(--gc, #8b5cf6);font-family:inherit;transition:transform .12s,box-shadow .12s}.arcade-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #1e1b3a1f}.arcade-card b{font-size:1.1rem;color:var(--gc, #8b5cf6)}.arcade-emoji{font-size:44px}.arcade-card.is-locked{border-color:var(--line, #e6e1f5);background:var(--paper-2, #f6f4ff);opacity:.78}.arcade-card.is-locked b{color:var(--ink-soft, #6f6795)}.arcade-card.is-future{cursor:default;border-style:dashed;border-color:var(--line, #e6e1f5);background:var(--paper-2, #f6f4ff);opacity:.72}.arcade-card.is-future:hover{transform:none;box-shadow:none}.arcade-card.is-future b{color:var(--ink-soft, #6f6795)}.arcade-card.is-future .arcade-emoji{filter:grayscale(.55)}.arcade-later-title{margin:26px 0 12px;font-size:1rem;color:var(--ink-soft, #6f6795)}.arcade-price{margin-top:6px;padding:5px 12px;border-radius:999px;background:#fff4d6;border:1px solid #f0cf7a;color:#7a5b00;font-size:.84rem;font-weight:700}.arcade-card.is-locked .arcade-price{background:var(--paper-3, #ece8f7);border-color:var(--line);color:var(--ink-soft)}.arcade-note{padding:12px 16px;border-radius:14px;margin:0 0 14px;background:#fff4d6;border:1px solid #f0cf7a;color:#7a5b00;font-weight:600}.arcade-ranout{display:flex;gap:14px;align-items:center;padding:14px 18px;border-radius:16px;margin-bottom:14px;background:#ffe4e1;border:1px solid #f0a9a2}.arcade-ranout span:first-child{font-size:28px}.arcade-ranout div{display:grid}.arcade-foot{margin-top:20px;text-align:center}.arcade-playing{display:flex;flex-direction:column;height:100%}.arcade-bar{display:flex;align-items:center;gap:12px;margin-bottom:10px}.arcade-bar b{font-size:1.05rem}.coin-meter{display:grid;justify-items:end;line-height:1.15;padding:6px 14px;border-radius:14px;background:#fff4d6;border:1px solid #f0cf7a;color:#7a5b00;font-weight:800}.coin-meter small{font-size:.68rem;font-weight:600;opacity:.8}.coin-meter.is-low{background:#ffe4e1;border-color:#f0a9a2;color:#8a2f2f;animation:coin-pulse .9s infinite}@keyframes coin-pulse{50%{opacity:.6}}.arcade-stage{flex:1;min-height:420px;border-radius:20px;overflow:hidden;position:relative;background:linear-gradient(180deg,#eaf6ff,#f6f4ff);border:2px solid var(--line, #e6e1f5)}.game-score{position:absolute;top:12px;left:14px;z-index:5;padding:5px 14px;border-radius:999px;background:#ffffffe6;font-weight:800;color:var(--ink, #1e1b3a)}.game-bubbles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.bubble{position:absolute;bottom:-90px;border:none;padding:0;cursor:pointer;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff9,var(--bc));box-shadow:inset 0 -6px 12px #0000001f;animation-name:bubble-rise;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes bubble-rise{to{transform:translateY(calc(-100vh - 120px)) translate(14px)}}.game-memory{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:54px 14px 14px}.memory-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));width:min(420px,100%)}.memory-card{aspect-ratio:1;border-radius:14px;cursor:pointer;border:2px solid #c4b5fd;background:linear-gradient(160deg,#8b5cf6,#6d28d9);display:grid;place-items:center;font-size:clamp(22px,7vw,38px);transition:transform .16s,background .16s}.memory-card.is-up{background:#fff;transform:rotateY(0) scale(1.03)}.memory-card.is-found{background:#dcf6e3;border-color:#8fd6a6}.memory-card:not(.is-up) .memory-face{opacity:.55}.game-catch{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;cursor:grab}.catch-item{position:absolute;font-size:34px;transform:translate(-50%,-50%);pointer-events:none}.catch-item.is-rotten{filter:saturate(.6)}.catch-basket{position:absolute;bottom:6%;font-size:46px;transform:translate(-50%);pointer-events:none;filter:drop-shadow(0 3px 6px rgba(30,27,58,.25))}.catch-missed{color:#d93b3b}.catch-hint{position:absolute;bottom:6px;width:100%;text-align:center;color:var(--ink-soft, #6f6795)}@media (max-width: 520px){.arcade-stage{min-height:360px}.memory-grid{gap:6px}}.hud{position:absolute;top:0;left:0;right:0;z-index:6;display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;padding:10px 12px}.hud-cell{display:grid;line-height:1.1;padding:6px 14px;border-radius:12px;background:#ffffffeb;box-shadow:0 2px 8px #1e1b3a14}.hud-cell small{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft, #6f6795);font-weight:700}.hud-cell b{font-size:1.15rem;color:var(--ink, #1e1b3a);font-variant-numeric:tabular-nums}.hud-cell.is-beating{background:#dcf6e3}.hud-cell.is-beating b{color:#1c6b39}.hud-cell.is-urgent{background:#ffe4e1;animation:hud-flash .8s infinite}.hud-cell.is-urgent b{color:#b3261e}@keyframes hud-flash{50%{opacity:.55}}.hud-combo{margin-left:auto;display:grid;justify-items:center;line-height:1.05;padding:6px 16px;border-radius:12px;background:linear-gradient(135deg,#ffd23f,#f5a524);color:#5a3d00;font-weight:900;font-size:1.25rem;animation:combo-pop .32s ease-out}.hud-combo small{font-size:.6rem;font-weight:700;opacity:.75}@keyframes combo-pop{0%{transform:scale(1.5) rotate(-6deg)}}.game-over{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#1e1b3a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fb-in .18s ease-out}.game-over-card{width:min(400px,100%);text-align:center;padding:26px 22px;border-radius:24px;background:#fff;box-shadow:0 24px 60px #1e1b3a66}.game-over-emoji{font-size:54px}.game-over-card h2{margin:6px 0 12px;font-size:1.5rem}.game-over-score{display:grid;gap:2px;margin-bottom:14px}.game-over-score b{font-size:3rem;line-height:1;color:var(--brand, #6d28d9);font-variant-numeric:tabular-nums}.game-over-score small{color:var(--ink-soft, #6f6795)}.game-over-lines{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:6px;text-align:left}.game-over-lines li{padding:8px 14px;border-radius:10px;background:var(--paper-2, #f6f4ff);font-size:.9rem}.game-over-actions{display:flex;gap:10px;margin-bottom:10px}.ninja{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:linear-gradient(180deg,#1e1b3a,#3b2a6b)}.ninja-rule{position:absolute;top:62px;left:50%;transform:translate(-50%);z-index:5;display:grid;justify-items:center;gap:1px;padding:8px 26px;border-radius:999px;white-space:nowrap;background:#fffffff2;box-shadow:0 4px 16px #00000040}.ninja-rule small{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:#6f6795;font-weight:700}.ninja-rule b{font-size:1.1rem;color:#6d28d9}.ninja-field{position:absolute;top:0;right:0;bottom:0;left:0}.ninja-num{position:absolute;transform:translate(-50%,-50%);min-width:58px;height:58px;padding:0 12px;border-radius:50%;border:3px solid #fff;background:linear-gradient(160deg,#8b5cf6,#6d28d9);color:#fff;font-family:inherit;font-weight:900;font-size:1.35rem;cursor:pointer;box-shadow:0 4px 14px #0000004d}.ninja-num:active{transform:translate(-50%,-50%) scale(.9)}.ninja-flash{position:absolute;transform:translate(-50%,-50%);font-weight:900;font-size:1.1rem;pointer-events:none;animation:ninja-rise .62s ease-out forwards}.ninja-flash.is-good{color:#6ee7a0}.ninja-flash.is-bad{color:#ff9a8f;font-size:.9rem}@keyframes ninja-rise{to{transform:translate(-50%,-140%);opacity:0}}.market{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:62px 14px 14px;background:linear-gradient(180deg,#fff8ec,#ffeed6)}.market-stall{display:grid;gap:12px}.market-customer{display:flex;gap:12px;align-items:center}.market-face{font-size:46px}.market-bubble{padding:10px 16px;border-radius:14px;background:#fff;border:2px solid #f0cf7a;font-weight:700;color:#6b4d00}.market-basket{display:flex;gap:10px;flex-wrap:wrap}.market-item{display:grid;justify-items:center;gap:1px;min-width:88px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #f0cf7a}.market-item b{font-size:28px}.market-item small{font-size:.72rem;color:#6f6795}.market-item em{font-style:normal;font-weight:800;color:#1c6b39}.market-feedback{margin:12px 0 0;padding:10px 16px;border-radius:12px;font-weight:700;text-align:center}.market-feedback.is-good{background:#dcf6e3;color:#1c6b39}.market-feedback.is-bad{background:#ffe4e1;color:#b3261e}.market-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.market-choice{padding:18px;border-radius:16px;cursor:pointer;font-family:inherit;border:2px solid #57c463;background:#fff;color:#14532d;font-size:1.3rem;font-weight:900}.market-choice:active{transform:scale(.97)}.market-change{margin-top:16px;display:grid;gap:12px}.market-owed{margin:0;text-align:center;font-size:1.05rem}.market-owed b{color:#b3261e;font-size:1.3rem}.market-notes{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.market-note{padding:14px 18px;border-radius:10px;cursor:pointer;font-family:inherit;border:2px dashed #1c6b39;background:linear-gradient(160deg,#eafaf0,#d6f5e3);color:#14532d;font-weight:900;font-size:1.05rem}.market-note:active{transform:translateY(2px)}.market-tray{min-height:56px;padding:10px;border-radius:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;background:#ffffffb3;border:1px dashed #c9b8fa}.market-given{padding:6px 12px;border-radius:8px;background:#fff;border:1px solid #1c6b39;font-weight:800;color:#14532d}.forge{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:62px 14px 14px;background:linear-gradient(180deg,#f3f0ff,#e9e3fc)}.forge-word{min-height:64px;display:grid;place-items:center;margin-bottom:6px;font-size:2.2rem;font-weight:900;letter-spacing:.14em;color:#4c1d95}.forge-ghost{font-size:1rem;letter-spacing:0;color:#8b86ad;font-weight:600}.forge-flash{margin:0 0 8px;text-align:center;font-weight:800}.forge-flash.is-good{color:#1c6b39}.forge-flash.is-bad{color:#b3261e}.forge-rack{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.forge-tile{width:56px;height:62px;border-radius:12px;cursor:pointer;border:none;font-family:inherit;background:linear-gradient(170deg,#fffdf5,#ffe9b8);box-shadow:0 4px #d9a441,0 6px 14px #0000001f;font-size:1.7rem;font-weight:900;color:#5a3d00}.forge-tile:active{transform:translateY(3px);box-shadow:0 1px #d9a441}.forge-tile.is-used{opacity:.3;box-shadow:none;transform:translateY(3px)}.forge-actions{display:flex;gap:8px;margin-top:14px;align-items:center}.forge-found{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.forge-chip{padding:4px 10px;border-radius:999px;background:#fff;border:1px solid #c9b8fa;font-size:.78rem;font-weight:700;color:#4c1d95}.forge-chip b{color:#1c6b39}.cr{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:62px 14px 14px;background:linear-gradient(180deg,#eaf6ff,#dbeafe)}.cr-board{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:4px;width:min(340px,100%);margin:0 auto;padding:8px;border-radius:16px;background:#ffffffb3}.cr-cell{aspect-ratio:1;border-radius:8px;background:#fff;display:grid;place-items:center;font-size:clamp(16px,5vw,24px);border:1px solid #cfe4f7}.cr-cell.is-rock{background:#e6e1f5}.cr-cell.is-goal{background:#dcf6e3;border-color:#8fd6a6}.cr-bot{animation:cr-hop .3s ease-out}@keyframes cr-hop{0%{transform:scale(.6)}}.cr-star{animation:cr-twinkle 1.4s infinite}@keyframes cr-twinkle{50%{transform:scale(1.18)}}.cr-status{margin:12px 0 0;text-align:center;font-weight:800;padding:8px;border-radius:10px}.cr-status.is-good{background:#dcf6e3;color:#1c6b39}.cr-status.is-bad{background:#ffe4e1;color:#b3261e}.cr-program{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;min-height:44px;margin-top:12px;padding:8px;border-radius:12px;background:#ffffffb3;border:1px dashed #93c5fd}.cr-step{font-size:1.2rem}.cr-step.is-bad{animation:hud-flash .5s infinite}.cr-pad{display:grid;gap:6px;width:168px;margin:14px auto 0;grid-template-columns:repeat(3,1fr);grid-template-areas:". up ." "left down right"}.cr-key{padding:14px 0;border-radius:12px;cursor:pointer;font-size:1.3rem;border:2px solid #0ea5e9;background:#fff;font-family:inherit}.cr-key:disabled{opacity:.4}.cr-up{grid-area:up}.cr-down{grid-area:down}.cr-left{grid-area:left}.cr-right{grid-area:right}.cr-actions{display:flex;gap:8px;margin-top:14px}@media (max-width: 520px){.arcade-stage{min-height:520px}.forge-tile{width:46px;height:54px;font-size:1.4rem}.market-choice{padding:14px;font-size:1.1rem}.ninja-rule{top:96px;padding:6px 18px}.ninja-rule b{font-size:.95rem}}.arcade-teaches{font-size:.72rem;color:#4c3f8f;line-height:1.35;padding:4px 10px;border-radius:8px;background:var(--paper-2, #f6f4ff)}.arcade-best{font-size:.78rem;font-weight:800;color:#7a5b00;padding:3px 12px;border-radius:999px;background:linear-gradient(135deg,#ffd23f,#f5a524)}.arcade-shut{display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:18px;margin-bottom:16px;background:linear-gradient(135deg,#f3f0ff,#e9e3fc);border:2px solid #c9b8fa}.arcade-shut-emoji{font-size:34px}.arcade-shut div{display:grid;gap:3px}.arcade-shut b{font-size:1.05rem;color:#4c1d95}.arcade-shut .tiny{color:#4b4576;line-height:1.45}.arcade-card:disabled{cursor:not-allowed}.storm{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg,#0b1120,#1e293b)}.storm-field{position:relative;flex:1}.storm-word{position:absolute;transform:translate(-50%,-50%);padding:7px 16px;border-radius:10px;white-space:nowrap;background:#fffffff2;color:#1e293b;font-weight:800;font-size:1.1rem;letter-spacing:.02em}.storm-word.is-lit{background:#fff8dd;box-shadow:0 0 0 3px #f5c33a}.storm-word b{color:#0f766e}.storm-word.is-low{background:#ffe4e1;box-shadow:0 0 0 3px #f0a9a2}.storm-hit{position:absolute;transform:translate(-50%,-50%);color:#6ee7a0;font-weight:900;pointer-events:none;animation:ninja-rise .6s ease-out forwards}.storm-bar{padding:12px;background:#ffffff14}.storm-input{width:100%;padding:14px 18px;border-radius:14px;border:2px solid #0f766e;background:#fff;font-family:inherit;font-size:1.2rem;font-weight:800;letter-spacing:.06em;text-align:center;color:#0f766e}.storm-input:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 4px #14b8a640}.atlas{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:62px 14px 14px;background:linear-gradient(180deg,#eff6ff,#dbeafe)}.atlas-prompt{text-align:center;font-weight:800;font-size:1.15rem;color:#0c4a6e;padding:18px 14px;border-radius:16px;background:#fff;margin-bottom:16px;border:2px solid #bae6fd;line-height:1.4}.atlas-prompt.is-flag{font-size:5rem;padding:10px;line-height:1}.atlas-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.atlas-option{padding:16px 12px;border-radius:14px;cursor:pointer;font-family:inherit;border:2px solid #7dd3fc;background:#fff;color:#0c4a6e;font-size:1rem;font-weight:800;line-height:1.25}.atlas-option:active{transform:scale(.97)}.atlas-option.is-right{background:#dcf6e3;border-color:#22a851;color:#14532d}.atlas-option.is-wrong{background:#ffe4e1;border-color:#e14b4b;color:#8a2f2f}.atlas-option:disabled{cursor:default}.lab{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg,#faf5ff,#ede9fe)}.lab-question{margin:56px 14px 0;padding:12px;border-radius:14px;text-align:center;background:#fff;border:2px solid #c4b5fd;font-weight:800;color:#4c1d95;font-size:1.05rem}.lab-field{position:relative;flex:1;min-height:200px}.lab-item{position:absolute;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;border:3px solid #fff;background:#fff;box-shadow:0 4px 12px #4c1d952e;font-size:30px;cursor:pointer}.lab-item.is-held{border-color:#f5a524;box-shadow:0 0 0 5px #f5a52466;transform:translate(-50%,-50%) scale(1.12)}.lab-flash{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);padding:8px 18px;border-radius:12px;font-weight:800;pointer-events:none}.lab-flash.is-good{background:#dcf6e3;color:#1c6b39}.lab-flash.is-bad{background:#ffe4e1;color:#b3261e}.lab-hint{text-align:center;margin:0 0 8px;color:#6b21a8;font-weight:600}.lab-bins{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 14px 14px}.lab-bin{padding:18px 10px;border-radius:16px;cursor:pointer;font-family:inherit;border:3px dashed #c4b5fd;background:#ffffffb3;color:#4c1d95;font-weight:800;font-size:1rem}.lab-bin.is-ready{border-style:solid;border-color:#f5a524;background:#fff8dd}.lab-bin:disabled{opacity:.6;cursor:default}.say-again{border:none;cursor:pointer;width:34px;height:34px;border-radius:50%;background:#ffffffd9;box-shadow:0 2px 6px #1e1b3a26;font-size:16px;line-height:1;flex:none;margin-left:8px;vertical-align:middle}.say-again:hover{background:#fff;transform:scale(1.08)}.say-again:active{transform:scale(.94)}.ninja-rule{position:relative;padding-right:46px}.ninja-rule .say-again{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.ninja-rule .say-again:active{transform:translateY(-50%) scale(.94)}.lab-question{position:relative;padding-right:48px}.lab-question .say-again{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.lab-question .say-again:active{transform:translateY(-50%) scale(.94)}.market-bubble{display:flex;align-items:center;gap:4px}.atlas-prompt{position:relative;padding-right:52px}.atlas-prompt .say-again{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.atlas-prompt .say-again:active{transform:translateY(-50%) scale(.94)}.landing{min-height:100%;background:var(--paper-2);overflow-x:hidden}.lp-brand{display:flex;align-items:center;gap:10px;max-width:1120px;margin:0 auto;padding:18px 24px 0}.lp-brand-mark{font-size:1.8rem;line-height:1}.lp-brand-lockup{display:grid;line-height:1.05}.lp-brand-lockup b{font-size:1.5rem;color:var(--brand);letter-spacing:-.01em}.lp-brand-lockup span{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.lp-hero{background:var(--paper);padding-bottom:8px}.lp-hero-inner{max-width:1120px;margin:0 auto;padding:28px 24px 8px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:center}.lp-hero-copy{min-width:0}.lp-kicker{display:inline-block;padding:7px 15px;border-radius:var(--r-full);background:var(--brand);color:#fff;font-weight:800;font-size:.85rem;letter-spacing:.02em;margin-bottom:16px}.lp-headline{margin:0 0 14px;font-size:clamp(2rem,6vw,3.4rem);line-height:1.05;letter-spacing:-.02em}.lp-sub{margin:0 0 12px;font-size:clamp(1.02rem,2.3vw,1.25rem);line-height:1.5;color:var(--ink-soft);max-width:46ch}.lp-subjects{margin:0 0 22px;font-weight:800;color:var(--brand);font-size:clamp(.95rem,2.1vw,1.08rem);letter-spacing:.01em}.lp-cta-block{display:grid;justify-items:start;gap:6px}.lp-cta{border:0;cursor:pointer;font:inherit;font-weight:900;font-size:clamp(1rem,2.6vw,1.18rem);color:#fff;background:var(--good);padding:17px 30px;border-radius:var(--r-full);box-shadow:0 6px #0f7a37,0 14px 28px -12px #16a34acc;transition:transform .1s ease,box-shadow .1s ease;text-align:left;max-width:100%}.lp-cta:hover{transform:translateY(-2px);box-shadow:0 8px #0f7a37,0 18px 32px -12px #16a34ad9}.lp-cta:active{transform:translateY(3px);box-shadow:0 3px #0f7a37}.lp-free-line{margin:10px 0 0;font-size:1rem}.lp-free-line b{color:var(--good)}.lp-cta-sub{margin:0;font-size:.85rem;color:var(--ink-faint)}.lp-hero-art{position:relative;display:grid;place-items:center;min-height:260px}.lp-orbit{position:absolute;font-size:2rem;background:#fff;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;box-shadow:var(--shadow-md);animation:lp-float 5s ease-in-out infinite}.lp-orbit-1{top:2%;left:6%;animation-delay:0s}.lp-orbit-2{top:16%;right:2%;animation-delay:.7s}.lp-orbit-3{bottom:20%;left:0;animation-delay:1.4s}.lp-orbit-4{bottom:2%;right:12%;animation-delay:2.1s}.lp-orbit-5{top:46%;right:16%;animation-delay:2.8s}@keyframes lp-float{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-12px) rotate(4deg)}}@media (prefers-reduced-motion: reduce){.lp-orbit{animation:none}}.lp-band{max-width:1120px;margin:0 auto;padding:46px 24px}.lp-h2{margin:0 0 10px;font-size:clamp(1.4rem,4vw,2.1rem);line-height:1.15;text-align:center}.lp-lead{margin:0 auto 26px;max-width:60ch;text-align:center;color:var(--ink-soft);font-size:clamp(.98rem,2.1vw,1.1rem);line-height:1.55}.lp-centre{text-align:center}.lp-video-band{padding-top:10px}.lp-video-frame{max-width:780px;margin:0 auto 10px;border-radius:22px;overflow:hidden;background:#0b0a18;box-shadow:var(--shadow-lg);aspect-ratio:16 / 9}.lp-video-frame video{width:100%;height:100%;display:block;object-fit:cover}.lp-pitch{background:transparent}.lp-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;max-width:880px;margin:0 auto}.lp-compare-card{border-radius:20px;padding:20px;display:grid;gap:8px;align-content:start;background:#fff;box-shadow:var(--shadow-sm);border:2px solid var(--paper-3)}.lp-compare-card.is-before{opacity:.85}.lp-compare-card.is-after{border-color:var(--good);background:color-mix(in srgb,var(--good) 6%,#fff);box-shadow:var(--shadow-md)}.lp-compare-emoji{font-size:2.1rem}.lp-compare-card b{font-size:1.1rem}.lp-compare-card ul{margin:0;padding-left:18px;display:grid;gap:6px}.lp-compare-card li{color:var(--ink-soft);line-height:1.4}.lp-arrow{align-self:center;font-size:2rem;color:var(--brand-3);font-weight:900}.lp-subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.lp-subject{background:#fff;border-radius:18px;padding:18px;display:grid;gap:4px;align-content:start;border-top:5px solid var(--sc, var(--brand));box-shadow:var(--shadow-sm);transition:transform .13s ease,box-shadow .13s ease}.lp-subject:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.lp-subject-emoji{font-size:2rem}.lp-subject b{font-size:1.05rem}.lp-subject-count{margin-top:6px;font-size:.78rem;font-weight:800;color:var(--sc, var(--brand));letter-spacing:.02em}.lp-closing{display:grid;justify-items:center;gap:10px;text-align:center;padding-bottom:54px}.lp-closing .lp-cta{text-align:center;margin-top:8px}.lp-foot{border-top:1px solid var(--paper-3);padding:22px 24px 34px;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;justify-content:center;background:#fff}.lp-foot-brand b,.lp-foot a{color:var(--brand)}@media (max-width: 820px){.lp-hero-inner{grid-template-columns:1fr;gap:12px}.lp-hero-art{min-height:210px;order:-1}.lp-orbit{width:48px;height:48px;font-size:1.5rem}.lp-compare{grid-template-columns:1fr}.lp-arrow{transform:rotate(90deg);justify-self:center}}@media (max-width: 480px){.lp-band{padding:34px 16px}.lp-hero-inner{padding:20px 16px 8px}.lp-brand{padding-inline:16px}.lp-cta{width:100%;text-align:center;padding-inline:18px}.lp-cta-block{justify-items:stretch}.lp-free-line,.lp-cta-sub{text-align:center}}.lp-signin{margin-left:auto;border:2px solid var(--paper-3);background:var(--paper);color:var(--brand);font:inherit;font-weight:800;font-size:.9rem;padding:8px 18px;border-radius:var(--r-full);cursor:pointer}.lp-signin:hover{border-color:var(--brand-3);background:var(--paper-2)}.signin-switch{display:grid;justify-items:center;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line, #e4ddf7);text-align:center}.signin-switch .btn{width:100%}.signin-or{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted, #7a6f96)}.signin-note{margin-top:16px;padding:12px 14px;background:var(--paper-2);border-radius:12px}.signin-note p{margin:0;line-height:1.5}.already-have{margin-top:14px;padding:16px;border-radius:14px;background:color-mix(in srgb,var(--good) 9%,var(--paper));border:2px solid color-mix(in srgb,var(--good) 32%,transparent);display:grid;gap:8px;justify-items:start}.already-have p{margin:0}.forgot-row{margin-top:16px;text-align:center}.forgot-box{margin-top:10px;padding:14px;border-radius:12px;background:var(--paper-2);display:grid;gap:10px;justify-items:center;text-align:center}.forgot-box.is-sent{background:color-mix(in srgb,var(--good) 10%,var(--paper));border:2px solid color-mix(in srgb,var(--good) 30%,transparent)}.forgot-box p{margin:0}.lp-said-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:22px}.lp-quote{margin:0;padding:20px;border-radius:18px;background:#fff;border:1px solid var(--line, #e6e1f5);box-shadow:0 4px 18px #4c1d950f;display:grid;gap:10px;align-content:start}.lp-quote-stars{color:#f5b722;letter-spacing:2px;font-size:1.05rem}.lp-quote-dim{color:#e6e1f5}.lp-quote blockquote{margin:0;font-size:1.02rem;line-height:1.55;color:var(--ink, #1e1b3a)}.lp-quote blockquote:before{content:"“"}.lp-quote blockquote:after{content:"”"}.lp-quote figcaption{font-size:.9rem;font-weight:700;color:var(--brand, #6d28d9)}.lp-childsignin{margin-left:8px;padding:9px 16px;border-radius:999px;border:1.5px solid var(--line, #e6e1f5);background:#fff;color:var(--brand, #6d28d9);font-family:inherit;font-weight:700;font-size:.9rem;cursor:pointer}.lp-childsignin:hover{border-color:var(--brand, #6d28d9)}@media (max-width: 520px){.lp-childsignin{margin-left:6px;padding:8px 12px;font-size:.82rem}}.landing{--lp-edge: rgba(30, 27, 58, .1);--lp-edge-soft: rgba(30, 27, 58, .06);--lp-shadow: 0 1px 2px rgba(30, 27, 58, .04), 0 8px 24px -16px rgba(30, 27, 58, .35);--lp-max: 1120px;background:var(--paper)}.lp-topbar{position:sticky;top:0;z-index:40;background:#ffffffdb;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--lp-edge-soft)}.lp-topbar-inner{max-width:var(--lp-max);margin-inline:auto;padding:10px 20px;display:flex;align-items:center;gap:20px}.landing .lp-brand{display:flex;align-items:center;gap:10px;margin:0;padding:0;flex:none}.landing .lp-brand-mark{font-size:1.55rem}.landing .lp-brand-lockup b{font-size:1.12rem;letter-spacing:.04em;font-weight:900}.landing .lp-brand-lockup span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.lp-doors{display:flex;align-items:center;gap:8px;flex:none}.landing .lp-signin,.landing .lp-childsignin{position:static;padding:8px 14px;border-radius:8px;border:1px solid var(--lp-edge);background:var(--paper);font-size:.85rem;font-weight:700;color:var(--ink-soft);cursor:pointer}.landing .lp-signin:hover,.landing .lp-childsignin:hover{border-color:var(--brand);color:var(--brand)}.landing .lp-hero{max-width:var(--lp-max);margin-inline:auto;padding:64px 20px 8px}.landing .lp-kicker{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--paper-2);border:1px solid var(--lp-edge-soft);color:var(--brand);font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.landing .lp-headline{font-size:clamp(2.3rem,5.2vw,3.6rem);line-height:1.06;letter-spacing:-.028em;margin:18px 0 0;color:var(--ink)}.landing .lp-sub{font-size:1.08rem;line-height:1.62;color:var(--ink-soft);max-width:34em;margin:16px 0 0}.landing .lp-subjects{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--lp-edge-soft);font-size:.82rem;letter-spacing:.04em;color:var(--ink-faint);font-weight:650}.landing .lp-cta{padding:15px 28px;border:0;border-radius:10px;background:var(--brand);color:#fff;font-size:1.02rem;font-weight:800;letter-spacing:.01em;box-shadow:0 1px 2px #6d28d94d,0 12px 28px -12px #6d28d9b3;transition:background .18s ease,transform .18s ease,box-shadow .18s ease;cursor:pointer}.landing .lp-cta:hover{background:#5b21b6;transform:translateY(-1px);box-shadow:0 2px 4px #6d28d94d,0 18px 34px -14px #6d28d9cc}.landing .lp-cta:active{transform:translateY(0)}.landing .lp-free-line b{color:var(--ink)}.landing .lp-free-line{font-size:.95rem;color:var(--ink-soft)}.landing .lp-band{max-width:var(--lp-max);margin-inline:auto;padding:72px 20px}.landing .lp-h2{font-size:clamp(1.6rem,3vw,2.15rem);letter-spacing:-.02em;line-height:1.16;color:var(--ink);margin:0}.landing .lp-lead{font-size:1.02rem;line-height:1.68;color:var(--ink-soft);max-width:62ch;margin:14px 0 0}.landing .lp-exams{max-width:none;padding-inline:0;background:var(--paper-2);border-block:1px solid var(--lp-edge-soft)}.lp-band-inner{max-width:var(--lp-max);margin-inline:auto;padding-inline:20px}.lp-exam-grid{margin-top:30px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.lp-exam{display:grid;gap:7px;align-content:start;padding:20px 18px;background:var(--paper);border:1px solid var(--lp-edge);border-radius:14px;box-shadow:0 1px 2px #0f172a0a}.lp-exam-emoji{font-size:1.65rem;line-height:1}.lp-exam b{font-size:1rem}.lp-exam-meta{margin-top:2px;font-size:.78rem;font-weight:600;color:var(--brand-3);font-variant-numeric:tabular-nums}.lp-exam-door{margin-top:24px;padding:20px 22px;background:var(--paper);border:1px solid var(--lp-edge);border-left:4px solid var(--brand-3);border-radius:14px;display:grid;gap:12px;justify-items:start}.lp-exam-door p{margin:0;font-size:.97rem;line-height:1.6}.lp-exam-door-btns{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.landing .lp-cta.small{padding:11px 22px;font-size:.95rem}.landing .lp-subject-grid{margin-top:30px;gap:12px}.landing .lp-subject{padding:18px 16px;border:1px solid var(--lp-edge);border-radius:14px;box-shadow:none;background:var(--paper);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.landing .lp-subject:hover{transform:translateY(-2px);border-color:var(--sc, var(--brand));box-shadow:var(--lp-shadow)}.landing .lp-subject-emoji{font-size:1.75rem}.landing .lp-subject b{font-size:.98rem}.landing .lp-subject-count{font-size:.74rem;font-weight:750;letter-spacing:.03em;color:var(--sc, var(--ink-faint))}.landing .lp-compare-card{border:1px solid var(--lp-edge);border-radius:16px;box-shadow:none;background:var(--paper)}.landing .lp-compare-card.is-after{border-color:var(--brand-3);background:var(--paper-2)}.landing .lp-arrow{color:var(--ink-faint)}.landing .lp-closing{text-align:center;display:grid;justify-items:center;gap:14px;padding-block:78px}.landing .lp-foot{border-top:1px solid var(--lp-edge-soft);background:var(--ink);color:#fff;padding:30px 20px}.landing .lp-foot .muted,.landing .lp-foot .tiny{color:#ffffff9e}.landing .lp-foot a{color:#ffffffe6}.landing .lp-foot-brand{color:#fff;font-size:.98rem;text-decoration:none}@media (max-width: 900px){.lp-topbar-inner{gap:12px}}@media (max-width: 620px){.landing .lp-hero{padding-top:40px}.landing .lp-band{padding-block:52px}.landing .lp-brand-lockup span{display:none}.lp-doors{flex-wrap:wrap;justify-content:flex-end}}.lp-student-door{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--lp-edge-soft);font-size:.9rem;color:var(--ink-soft);max-width:34em}.lp-linkbtn{padding:0;border:0;background:none;font:inherit;font-weight:800;color:var(--brand);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.lp-linkbtn:hover{color:#5b21b6}.lp-linkbtn:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}.landing{--lp-display: "Poppins", "Baloo 2", var(--font)}.landing [id]{scroll-margin-top:88px}.landing .lp-headline,.landing .lp-h2,.landing .lp-brand-lockup b,.landing .lp-cta,.lp-nav-link,.lp-drawer-text b,.lp-tag,.lp-figure dt,.lp-figure dd,.lp-foot-col>b{font-family:var(--lp-display)}.landing .lp-brand-lockup b{font-weight:800;letter-spacing:.02em}.landing .lp-brand{text-decoration:none;color:inherit;border-radius:8px}.lp-nav{display:flex;align-items:center;gap:2px;margin-inline:auto}.lp-nav-link{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:0;border-radius:9px;background:none;font-size:.88rem;font-weight:600;color:var(--ink-soft);text-decoration:none;cursor:pointer;white-space:nowrap}.lp-nav-link:hover{color:var(--brand);background:var(--paper-2)}.lp-nav-link:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.lp-nav-link.is-active{position:relative;color:var(--brand);background:var(--paper-2)}.lp-nav-link.is-active:after{content:"";position:absolute;left:13px;right:13px;bottom:3px;height:2px;border-radius:2px;background:currentColor}.lp-burger{display:none;flex:none;width:42px;height:38px;padding:0 9px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:var(--paper);border:1px solid var(--lp-edge);border-radius:9px;cursor:pointer}.lp-burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s ease,opacity .15s ease}.lp-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.lp-burger.is-open span:nth-child(2){opacity:0}.lp-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.lp-drawer{border-top:1px solid var(--lp-edge-soft);background:var(--paper);padding:6px 20px 20px;max-height:calc(100vh - 60px);overflow-y:auto}.lp-drawer-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.lp-drawer-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;color:var(--ink);text-decoration:none}.lp-drawer-item:hover{background:var(--paper-2)}.lp-drawer-item.is-active{background:var(--paper-2);box-shadow:inset 3px 0 0 var(--brand)}.lp-drawer-emoji{font-size:1.35rem;line-height:1;width:1.6em;text-align:center}.lp-drawer-text{display:grid;gap:1px;min-width:0}.lp-drawer-text b{font-size:.97rem;font-weight:600}.lp-drawer-go{font-size:1.3rem;color:var(--ink-faint)}.lp-drawer-doors{display:grid;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--lp-edge-soft)}.lp-drawer-doors button{width:100%;margin:0;text-align:center}.lp-tag{display:inline-flex;align-items:center;gap:6px;justify-self:start;padding:4px 10px 4px 8px;border:1px solid transparent;border-radius:999px;font-size:.67rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.lp-tag-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.lp-tag.is-live{background:var(--good-soft);color:#11663a;border-color:#a7dcbd}.lp-tag.is-building{background:var(--warn-soft);color:#8a5606;border-color:#f0d79a}.lp-tag.is-planned{background:var(--paper-3);color:var(--ink-soft);border-color:var(--lp-edge)}.lp-figures-band{background:var(--paper);border-block:1px solid var(--lp-edge-soft)}.lp-figures{max-width:var(--lp-max);margin:0 auto;padding:26px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px 0}.lp-figure{display:grid;gap:3px;padding:2px 24px;border-left:1px solid var(--lp-edge-soft)}.lp-figure:first-child{border-left:0;padding-left:0}.lp-figure dt{font-size:1.85rem;font-weight:800;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums}.lp-figure dd{margin:0;font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.lp-exam.is-planned,.lp-exam.is-building{background:var(--paper-2);box-shadow:none}.lp-exam.is-planned .lp-exam-emoji{opacity:.6}.landing .lp-foot{display:block;padding:0;border-top:0;background:var(--ink)}.lp-foot-inner{max-width:var(--lp-max);margin-inline:auto;padding:52px 20px 36px;display:grid;gap:32px 26px;grid-template-columns:1.5fr repeat(5,1fr)}.lp-foot-brand-col{display:grid;gap:12px;align-content:start;max-width:34ch}.landing .lp-foot-brand{font-family:var(--lp-display);font-size:1.1rem}.landing .lp-foot-brand b{color:#fff}.lp-foot-brand-col p{margin:0;line-height:1.65;color:#ffffffa8}.lp-foot-col{display:grid;gap:11px;align-content:start}.lp-foot-col>b{font-size:.75rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:#ffffff8c}.lp-foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.lp-foot-col a,.lp-foot-btn{font:inherit;font-size:.9rem;color:#ffffffd9;background:none;border:0;padding:0;text-align:left;text-decoration:none;cursor:pointer}.lp-foot-col a:hover,.lp-foot-btn:hover{color:#fff;text-decoration:underline}.lp-foot-base{max-width:var(--lp-max);margin-inline:auto;padding:18px 20px 32px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}@media (max-width: 900px){.lp-nav,.lp-doors{display:none}.lp-burger{display:flex;margin-left:auto}.lp-figure{padding-inline:16px}}@media (max-width: 980px){.lp-foot-inner{grid-template-columns:repeat(3,1fr)}.lp-foot-brand-col{grid-column:1 / -1;max-width:46ch}}@media (max-width: 620px){.lp-foot-inner{grid-template-columns:repeat(2,1fr);padding-top:40px}.lp-figures{padding-block:20px;gap:16px 0}.lp-figure{padding:0 0 0 14px;border-left:2px solid var(--lp-edge-soft)}.lp-figure:first-child{padding-left:14px;border-left:2px solid var(--lp-edge-soft)}.lp-figure dt{font-size:1.5rem}}.landing .lp-h2,.landing .lp-lead{text-align:left}.landing .lp-closing .lp-h2,.landing .lp-closing .lp-lead{text-align:center;margin-inline:auto}.lp-foot-col li{display:grid;gap:5px;justify-items:start}.lp-foot-col .lp-tag{font-size:.6rem;padding:2px 8px 2px 6px;background:#ffffff12;border-color:#ffffff29;color:#ffffffb3}.lp-foot-col .lp-tag.is-live{background:#4ade8021;border-color:#4ade8059;color:#7ee2a8}.lp-page-hero{background:var(--paper);border-bottom:1px solid var(--lp-edge-soft)}.lp-page-hero-inner{max-width:var(--lp-max);margin-inline:auto;padding:34px 20px 46px}.lp-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.84rem;color:var(--ink-faint)}.lp-crumbs a{color:var(--brand);text-decoration:none;font-weight:600}.lp-crumbs a:hover{text-decoration:underline}.lp-crumbs b{color:var(--ink-soft);font-weight:600}.lp-page-title{display:flex;align-items:center;gap:18px;margin-top:22px}.lp-page-emoji{flex:none;display:grid;place-items:center;width:76px;height:76px;border-radius:20px;background:var(--paper-2);border:1px solid var(--lp-edge);font-size:2.5rem;line-height:1}.landing .lp-page-h1{margin:0;font-size:clamp(2rem,4.6vw,3rem)}.lp-page-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:10px 0 0;font-size:.86rem;font-weight:600;color:var(--ink-faint)}.landing .lp-page-hero .lp-sub{max-width:40em}.lp-page-hero .lp-cta-block{margin-top:24px}.lp-how-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.lp-how-list li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:18px;background:var(--paper);border:1px solid var(--lp-edge);border-radius:14px;line-height:1.55;color:var(--ink-soft)}.lp-how-list li>span:first-child{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--good-soft);color:#11663a;font-weight:800;font-size:.85rem}.landing .lp-school-band{max-width:none;padding-inline:0;background:var(--paper-2);border-block:1px solid var(--lp-edge-soft)}.lp-class-counts{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.lp-class-counts li{display:grid;gap:1px;justify-items:center;padding:7px 4px;border-radius:9px;background:var(--paper-2);font-size:.74rem;font-weight:600;color:var(--ink-faint)}.lp-class-counts b{font-family:var(--lp-display);font-size:1.05rem;color:var(--sc, var(--ink));font-variant-numeric:tabular-nums}.lp-level-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.lp-level-chips span{padding:3px 9px;border-radius:999px;background:var(--paper-2);border:1px solid var(--lp-edge-soft);font-size:.72rem;font-weight:600;color:var(--ink-soft)}.lp-exam-link{width:100%;display:flex;align-items:center;gap:16px;padding:20px 22px;background:var(--paper);border:1px solid var(--lp-edge);border-left:4px solid var(--brand-3);border-radius:14px;font:inherit;text-align:left;color:var(--ink);cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.lp-exam-link:hover{box-shadow:var(--lp-shadow);transform:translateY(-1px)}.lp-exam-link .grow{display:grid;gap:3px}.lp-exam-link .grow .tiny{color:var(--ink-soft)}.lp-exam-link-emoji{font-size:1.8rem;line-height:1}.lp-exam-link-go{flex:none;font-weight:700;color:var(--brand);white-space:nowrap}.lp-stage-pager{width:100%;max-width:640px;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}.lp-stage-pager a{display:grid;gap:2px;padding:14px 16px;border:1px solid var(--lp-edge);border-radius:12px;background:var(--paper);color:var(--ink);text-align:left;text-decoration:none;transition:border-color .18s ease}.lp-stage-pager a.is-next{text-align:right}.lp-stage-pager a:hover{border-color:var(--brand)}.landing .lp-family{max-width:none;padding-inline:0;background:var(--paper-2);border-block:1px solid var(--lp-edge-soft)}.lp-kids{margin-top:26px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.lp-kid{display:grid;gap:12px;align-content:start;padding:18px;background:var(--paper);border:1px solid var(--lp-edge);border-top:4px solid var(--pc, var(--brand));border-radius:16px}.lp-kid.is-active{box-shadow:var(--lp-shadow)}.lp-kid-head{display:flex;align-items:center;gap:12px}.lp-kid-who{display:grid;gap:1px;min-width:0;flex:1}.lp-kid-who b{font-family:var(--lp-display);font-size:1.1rem}.lp-kid-here{flex:none;padding:3px 9px;border-radius:999px;background:var(--good-soft);color:#11663a;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.lp-kid-figures{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;font-weight:600;color:var(--ink-soft)}.lp-kid-tasks{list-style:none;margin:0;padding:0;display:grid;gap:6px}.lp-kid-tasks li>button,.lp-kid-tasks li>div{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--lp-edge-soft);border-radius:11px;background:var(--paper-2);font:inherit;text-align:left;color:var(--ink)}.lp-kid-tasks li>div{grid-template-columns:auto 1fr}.lp-kid-tasks li>button{cursor:pointer;transition:border-color .18s ease,background .18s ease}.lp-kid-tasks li>button:hover{border-color:var(--pc, var(--brand));background:var(--paper)}.lp-kid-emoji{font-size:1.3rem;line-height:1;width:1.5em;text-align:center}.lp-kid-task{display:grid;gap:1px;min-width:0}.lp-kid-task b{font-size:.92rem}.lp-kid-task .tiny{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-kid-go{font-size:1.3rem;color:var(--ink-faint)}.lp-kid-empty{margin:0;color:var(--ink-soft)}.lp-kid-btn{justify-self:start;padding:10px 16px;border:1px solid var(--lp-edge);border-radius:10px;background:var(--paper);font:inherit;font-weight:700;font-size:.92rem;color:var(--brand);cursor:pointer}.lp-kid-btn:hover{border-color:var(--brand)}.lp-kid-btn.is-primary{border-color:transparent;background:var(--brand);color:#fff}.lp-kid-btn.is-primary:hover{filter:brightness(1.08)}@media (max-width: 620px){.lp-page-hero-inner{padding:22px 16px 34px}.lp-page-title{gap:14px}.lp-page-emoji{width:58px;height:58px;border-radius:16px;font-size:1.9rem}.lp-stage-pager{grid-template-columns:1fr}.lp-stage-pager a.is-next{text-align:left}.lp-kids{grid-template-columns:1fr}.lp-kid-btn{justify-self:stretch;text-align:center}}.lp-nav-group{display:flex}.lp-nav-trigger{gap:8px}.lp-nav-trigger.is-open{color:var(--brand);background:var(--paper-2)}.lp-caret{width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}.lp-nav-trigger.is-open .lp-caret{transform:translateY(1px) rotate(-135deg)}.lp-mega{position:absolute;top:calc(100% + 8px);left:50%;z-index:60;width:min(940px,calc(100vw - 32px));padding:20px 20px 16px;border:1px solid var(--lp-edge);border-radius:22px;background:var(--paper);box-shadow:0 2px 6px #1e1b3a0f,0 34px 70px -28px #1e1b3a8c;transform:translate(-50%)}.lp-mega.is-open{animation:lp-mega-in .2s ease both}@keyframes lp-mega-in{0%{opacity:0;transform:translate(-50%) translateY(-6px)}}.lp-nav-group.is-list{position:relative}.lp-menu-panel{position:absolute;top:calc(100% + 8px);left:50%;z-index:60;width:min(380px,calc(100vw - 32px));padding:14px 12px 12px;border:1px solid var(--lp-edge);border-radius:20px;background:var(--paper);box-shadow:0 2px 6px #1e1b3a0f,0 30px 60px -26px #1e1b3a80;transform:translate(-50%)}.lp-menu-panel.is-open{animation:lp-mega-in .2s ease both}.lp-menu-lead{margin:0 8px 10px;font-size:.86rem;line-height:1.45;color:var(--ink-soft)}.lp-menu-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.lp-menu-link{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:10px;border-radius:14px;color:var(--ink);text-decoration:none;transition:background .15s}.lp-menu-link:hover,.lp-menu-link:focus-visible{background:var(--paper-2);outline:none}.lp-menu-link.is-current{background:var(--paper-2);box-shadow:inset 3px 0 0 var(--brand)}.lp-menu-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.3rem;background:var(--paper-2)}.lp-menu-text{display:grid;gap:2px;min-width:0}.lp-menu-text b{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.98rem}.lp-menu-text>span{font-size:.84rem;line-height:1.4;color:var(--ink-soft)}.lp-menu-go{color:var(--ink-faint);transition:transform .15s}.lp-menu-link:hover .lp-menu-go{transform:translate(3px);color:var(--brand)}.lp-menu-live{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.72rem;font-weight:800}.lp-menu-live i{width:6px;height:6px;border-radius:50%;background:#22c55e}.lp-mega-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:0 4px 16px}.lp-mega-head>div{display:grid;gap:3px;max-width:58ch}.lp-mega-head b{font-family:var(--lp-display);font-size:1.08rem;font-weight:600;color:var(--ink)}.lp-mega-head span{font-size:.88rem;line-height:1.5;color:var(--ink-soft)}.lp-mega-span{flex:none;padding:5px 12px;border-radius:999px;background:var(--paper-2);font-family:var(--lp-display);font-size:.78rem;font-weight:600;color:var(--brand);white-space:nowrap}.lp-mega-span i{font-style:normal;margin:0 4px;opacity:.7}.lp-mega-track{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.lp-mega-track:before{content:"";position:absolute;z-index:0;top:31px;left:12.5%;right:12.5%;height:3px;border-radius:3px;background:linear-gradient(90deg,#16a34a,#2563eb,#d97706,#7c3aed);opacity:.35}.lp-mega-track li{position:relative;z-index:1;display:flex}.lp-level{position:relative;flex:1;display:grid;justify-items:center;align-content:start;gap:4px;padding:16px 12px 14px;border:1px solid var(--lp-edge-soft);border-radius:18px;background:var(--paper);text-align:center;text-decoration:none;color:var(--ink);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.lp-level:hover,.lp-level:focus-visible{transform:translateY(-3px);border-color:color-mix(in srgb,var(--lc) 45%,white);background:linear-gradient(180deg,color-mix(in srgb,var(--lc) 9%,white),var(--paper) 70%);box-shadow:0 18px 34px -22px color-mix(in srgb,var(--lc) 80%,black)}.lp-level:focus-visible{outline:3px solid color-mix(in srgb,var(--lc) 40%,white);outline-offset:2px}.lp-level-stop{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--paper);border:3px solid var(--lc);font-family:var(--lp-display);font-size:.8rem;font-weight:800;color:var(--lc);box-shadow:0 0 0 4px var(--paper)}.lp-level:hover .lp-level-stop,.lp-level.is-current .lp-level-stop{background:var(--lc);color:#fff}.lp-level-icon{display:grid;place-items:center;width:52px;height:52px;margin-top:8px;border-radius:16px;background:color-mix(in srgb,var(--lc) 13%,white);font-size:1.6rem;transition:transform .18s ease}.lp-level:hover .lp-level-icon{transform:scale(1.06)}.lp-level-name{margin-top:6px;font-family:var(--lp-display);font-size:1rem;font-weight:600}.lp-level-classes{padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--lc) 12%,white);font-size:.76rem;font-weight:700;color:color-mix(in srgb,var(--lc) 80%,black)}.lp-level-meta{display:grid;gap:1px;margin-top:4px;font-size:.78rem;color:var(--ink-faint)}.lp-level-go{margin-top:6px;font-size:.82rem;font-weight:700;color:var(--lc)}.lp-level-go i{font-style:normal;display:inline-block;transition:transform .18s ease}.lp-level:hover .lp-level-go i{transform:translate(3px)}.lp-level.is-current{border-color:var(--lc);background:linear-gradient(180deg,color-mix(in srgb,var(--lc) 10%,white),var(--paper) 75%)}.lp-mega-foot{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-top:16px;padding:12px 14px;border-radius:14px;background:var(--paper-2);font-size:.86rem;line-height:1.5;color:var(--ink-soft)}.lp-mega-foot a{flex:none;font-weight:700;color:var(--brand);text-decoration:none}.lp-mega-foot a:hover{text-decoration:underline}.lp-mega-foot i{font-style:normal}.lp-drawer-group{margin-top:10px}.lp-drawer-heading{display:flex;align-items:baseline;gap:8px;padding:6px 4px 4px;font-family:var(--lp-display);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.lp-drawer-group+.lp-drawer-list{margin-top:10px;padding-top:10px;border-top:1px solid var(--lp-edge)}.lp-drawer-heading small{font-size:.72rem;letter-spacing:0;text-transform:none;color:var(--ink-faint)}.lp-drawer-list.is-levels{margin-top:4px;padding:6px;border-radius:16px;background:var(--paper-2)}.lp-drawer-item.is-level .lp-drawer-emoji{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--lc) 14%,white);font-size:1.15rem}.lp-drawer-list.is-levels .lp-drawer-item:hover,.lp-drawer-list.is-levels .lp-drawer-item.is-active{background:var(--paper)}.lp-drawer-list.is-levels .lp-drawer-item.is-active{box-shadow:inset 3px 0 0 var(--lc)}@media (prefers-reduced-motion: reduce){.lp-mega.is-open{animation:none}.lp-level,.lp-level-icon,.lp-level-go i{transition:none}}.landing{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.lp-door{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid transparent;border-radius:10px;font:600 .88rem/1.2 Poppins,system-ui,sans-serif;white-space:nowrap;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.lp-door:focus-visible{outline:3px solid #a78bfa;outline-offset:2px}.lp-door.is-ghost{background:transparent;color:#334155;border-color:#0f172a24}.lp-door.is-ghost:hover{border-color:#7c3aed;color:#6d28d9}.lp-door.is-primary{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;box-shadow:0 8px 20px -12px #4f46e5e6}.lp-door.is-primary:hover{transform:translateY(-1px);box-shadow:0 12px 24px -12px #4f46e5}.lp-door.is-quiet{background:transparent;color:#64748b;padding-inline:10px}.lp-door.is-quiet:hover{color:#b45309}.lp-door.is-phone{display:none}.lp-drawer-doors .lp-door{justify-content:center;width:100%;padding-block:12px}@media (max-width: 900px){.lp-door.is-phone{display:inline-flex;margin-left:auto;padding:8px 14px}.lp-door.is-phone+.lp-burger{margin-left:0}}.lp-cta-pair{display:flex;flex-wrap:wrap;gap:10px}.landing .lp-cta.is-second{background:#fff;color:#1e1b3a;border:1px solid rgba(15,23,42,.16);box-shadow:none}.landing .lp-cta.is-second:hover{border-color:#7c3aed;color:#6d28d9;background:#fff}.lp-sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:16px;background:#0f172a8f;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:lp-sheet-fade .18s ease both}.lp-sheet{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:30px 26px 22px;border-radius:22px;background:#fff;color:#0f172a;box-shadow:0 40px 100px -30px #0f172aa6;animation:lp-sheet-rise .26s cubic-bezier(.2,.8,.2,1) both}@keyframes lp-sheet-fade{0%{opacity:0}}@keyframes lp-sheet-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}}.lp-sheet-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;border:0;background:#f1f5f9;color:#475569;cursor:pointer}.lp-sheet-close:hover{background:#e2e8f0;color:#0f172a}.lp-sheet-kicker{font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#6d28d9}.lp-sheet-title{margin:6px 0 20px;font:800 1.55rem/1.15 Poppins,system-ui,sans-serif;letter-spacing:-.02em}.lp-sheet-opts{display:grid;gap:10px}.lp-sheet-opt{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;color:#0f172a;font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.lp-sheet-opt:hover,.lp-sheet-opt:focus-visible{outline:none;border-color:#7c3aed;box-shadow:0 0 0 4px #7c3aed21;transform:translateY(-1px)}.lp-sheet-ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center}.lp-sheet-opt.is-student .lp-sheet-ic{background:#ede9fe;color:#6d28d9}.lp-sheet-opt.is-parent .lp-sheet-ic{background:#dcfce7;color:#15803d}.lp-sheet-opt.is-child .lp-sheet-ic{background:#fef3c7;color:#b45309}.lp-sheet-text{display:grid;gap:3px}.lp-sheet-text b{font:600 1.02rem/1.25 Poppins,system-ui,sans-serif}.lp-sheet-text span{font-size:.86rem;line-height:1.45;color:#64748b}.lp-sheet-go{color:#94a3b8;transition:transform .16s ease,color .16s ease}.lp-sheet-opt:hover .lp-sheet-go{color:#6d28d9;transform:translate(3px)}.lp-sheet-note{margin:0;padding:10px 12px;border:1px solid #fde68a;border-radius:12px;background:#fffbeb;color:#92400e;font-size:.86rem;line-height:1.45}.lp-sheet-foot{margin:18px 0 0;text-align:center;font-size:.92rem;color:#64748b}@media (max-width: 560px){.lp-sheet-scrim{place-items:end center;padding:0}.lp-sheet{width:100%;border-radius:22px 22px 0 0;padding:26px 18px calc(18px + env(safe-area-inset-bottom))}@keyframes lp-sheet-rise{0%{transform:translateY(40px)}}}@media (prefers-reduced-motion: reduce){.lp-sheet-scrim,.lp-sheet{animation:none}}.gift{--gift-warm: #b45309;--gift-warm-soft: #fff7ed;--gift-warm-edge: #fed7aa;min-height:100%;background:radial-gradient(900px 420px at 50% -120px,#ede9fe,transparent 70%),var(--paper-2);padding:0 16px 48px;overflow-x:hidden}.gift-top{max-width:1040px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 4px}.gift-back{font:inherit;font-weight:800;font-size:15px;color:var(--brand);background:var(--paper);border:2px solid var(--paper-3);border-radius:var(--r-full);padding:7px 16px;cursor:pointer}.gift-back:hover{border-color:var(--brand-3)}.gift-brand{font-size:1.05rem;color:var(--ink-soft)}.gift-brand.is-link{background:none;border:0;padding:4px 6px;margin:0;font:inherit;font-size:1.05rem;color:var(--ink-soft);cursor:pointer;border-radius:10px}.gift-brand.is-link:hover{background:#7c3aed14}.gift-brand b{color:var(--brand)}.gift-hero{max-width:720px;margin:8px auto 22px;text-align:center}.gift-hero-art{position:relative;display:inline-block;margin-bottom:4px}.gift-steam{position:absolute;right:-18px;bottom:6px;font-size:2.3rem;filter:drop-shadow(0 4px 6px rgba(180,83,9,.25));animation:gift-bob 3.2s ease-in-out infinite}@keyframes gift-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(4deg)}}@media (prefers-reduced-motion: reduce){.gift-steam{animation:none}}.gift-kicker{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--good);background:var(--good-soft);border-radius:var(--r-full);padding:4px 12px}.gift-hero h1{margin:10px 0 8px;font-size:clamp(1.7rem,5vw,2.5rem);line-height:1.15;color:var(--ink)}.gift-hero p{margin:0 auto;max-width:36rem;font-size:1.08rem;line-height:1.55;color:var(--ink-soft)}.gift-hero .gift-count{margin-top:12px;font-weight:700;color:var(--brand)}.gift-grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px;align-items:start}@media (max-width: 820px){.gift-grid{grid-template-columns:minmax(0,1fr)}}.gift-card,.gift-bank,.gift-where{background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);border:2px solid var(--paper-3);padding:20px}.gift-card{display:flex;flex-direction:column;gap:14px}.gift-card h2,.gift-bank h2,.gift-where h2{margin:0;font-size:1.25rem;color:var(--ink)}.gift-side{display:flex;flex-direction:column;gap:18px;min-width:0}.gift-tiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.gift-tier{font:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px 10px;border-radius:var(--r-md);border:3px solid var(--paper-3);background:var(--paper);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.gift-tier:hover{border-color:var(--brand-3)}.gift-tier:active{transform:translateY(2px)}.gift-tier.is-on{border-color:var(--gift-warm);background:var(--gift-warm-soft);box-shadow:0 3px 0 var(--gift-warm-edge)}.gift-tier-emoji{font-size:1.9rem;line-height:1.1}.gift-tier-label{font-size:.92rem;font-weight:700;color:var(--ink-soft);text-align:center}.gift-tier-amount{font-family:var(--font-num);font-size:1.1rem;color:var(--ink)}.gift-tier.is-on .gift-tier-amount{color:var(--gift-warm)}.gift-tier.is-custom .gift-tier-amount{font-family:var(--font);font-size:.95rem;color:var(--brand)}.gift-naira{display:flex;align-items:center;gap:8px}.gift-naira>span{font-family:var(--font-num);font-weight:800;font-size:1.3rem;color:var(--ink-soft)}.gift-naira .input{flex:1;min-width:0;font-family:var(--font-num)}.gift-opt{font-style:normal;font-weight:600;font-size:12px;color:var(--ink-faint);margin-left:4px}.gift-note{resize:vertical;min-height:76px;font-family:inherit}.gift-error{align-self:flex-start}.gift-safe{margin:0;text-align:center}.gift-bank dl{margin:12px 0;display:grid;gap:10px}.gift-bank dl>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;align-items:center;padding-bottom:10px;border-bottom:1px dashed var(--paper-3)}.gift-bank dl>div:last-child{border-bottom:0;padding-bottom:0}.gift-bank dt{font-size:13px;font-weight:700;color:var(--ink-faint)}.gift-bank dd{margin:0;font-weight:800;color:var(--ink);overflow-wrap:anywhere}.gift-acct{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gift-acct-no{font-family:var(--font-num);font-size:1.3rem;letter-spacing:.06em;-webkit-user-select:all;user-select:all}@media (max-width: 420px){.gift-bank dl>div{grid-template-columns:minmax(0,1fr);gap:2px}}.gift-check{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;padding:12px 14px;border-radius:var(--r-md);background:var(--good-soft);color:#14532d;font-size:14px;line-height:1.5}.gift-where ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}.gift-where li{display:flex;gap:12px;align-items:flex-start}.gift-where li>span{font-size:1.5rem;line-height:1.2}.gift-where li>div{display:grid;gap:1px}.gift-foot{max-width:40rem;margin:26px auto 0;text-align:center;color:var(--ink-faint);font-size:14px}.gift-thanks .gift-result{max-width:520px;margin:28px auto 0;align-items:center;text-align:center;padding:28px 22px}.gift-result h1{margin:4px 0 0;font-size:1.7rem;color:var(--ink)}.gift-result p{margin:0;line-height:1.55;color:var(--ink-soft)}.give-panel{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.give-panel-emoji{font-size:2.6rem;line-height:1}.give-panel>div{flex:1;min-width:220px}.give-panel p{margin:4px 0 0}.landing .lp-support{padding:8px 14px;border-radius:8px;border:1px solid #fed7aa;background:#fff7ed;color:#b45309;font:inherit;font-size:.85rem;font-weight:800;cursor:pointer;white-space:nowrap}.landing .lp-support:hover{border-color:#b45309}@media (max-width: 720px){.lp-doors .lp-support{display:none}}.lp-free{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px 24px;align-items:center;padding:26px 28px;border-radius:var(--r-lg);background:linear-gradient(135deg,#fff7ed,#fef3c7 60%,#fff7ed);border:1px solid #fed7aa}.lp-free-emoji{font-size:3rem;line-height:1}.lp-free-copy .lp-h2,.lp-free-copy .lp-lead{text-align:left;margin-left:0}.lp-free-copy .lp-lead{margin-bottom:0}.lp-free-btn{font:inherit;font-weight:900;font-size:1.05rem;color:#fff;background:#b45309;border:0;border-radius:var(--r-full);padding:14px 24px;box-shadow:0 5px #7c2d12;cursor:pointer;white-space:nowrap}.lp-free-btn:hover{filter:brightness(1.06)}.lp-free-btn:active{transform:translateY(3px);box-shadow:0 2px #7c2d12}@media (max-width: 760px){.lp-free{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}.lp-free-copy .lp-h2,.lp-free-copy .lp-lead{text-align:center;margin-left:auto}}.lp-hero-give{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:10px 18px;font:inherit;font-size:.98rem;color:#92400e;background:#fff7ed;border:1.5px solid #fed7aa;border-radius:var(--r-full);cursor:pointer;transition:border-color .15s,transform .1s}.lp-hero-give b{color:#b45309}.lp-hero-give:hover{border-color:#b45309}.lp-hero-give:active{transform:translateY(2px)}.lp-hero-give>span:first-child{font-size:1.25rem;line-height:1}@media (max-width: 720px){.lp-hero-give{align-self:center;justify-self:center}}.acct-cats{display:flex;flex-wrap:wrap;gap:8px}.acct-cat{display:flex;align-items:baseline;gap:9px;padding:10px 15px;border:2px solid var(--paper-3);border-radius:var(--r-md);background:#fff;font:inherit;color:var(--ink-soft);cursor:pointer}.acct-cat:hover{border-color:var(--brand-3)}.acct-cat.on{border-color:var(--brand);background:var(--paper-2);color:var(--brand)}.acct-cat b{font-size:15px}.acct-cat span{font-size:13px;font-weight:800;color:var(--ink-faint);font-variant-numeric:tabular-nums}.acct-cat.on span{color:var(--brand)}.acct-only-flagged{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--ink-soft);cursor:pointer}.acct-only-flagged input{width:18px;height:18px}.acct-table-wrap{overflow-x:auto;border:2px solid var(--paper-3);border-radius:var(--r-md);background:#fff}.acct-table{border-collapse:collapse;width:100%;min-width:840px;font-size:14px}.acct-table th{text-align:left;padding:11px 13px;background:var(--paper-2);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;border-bottom:2px solid var(--paper-3)}.acct-table td{padding:11px 13px;border-bottom:1px solid var(--paper-2);white-space:nowrap;vertical-align:middle}.acct-table tr:last-child td{border-bottom:0}.acct-table tr:hover td{background:var(--paper-2)}.acct-table .num{text-align:right}.acct-table td:nth-child(2){max-width:24ch;overflow:hidden;text-overflow:ellipsis}.acct-table th:last-child,.acct-table td:last-child{position:sticky;right:0;background:#fff;box-shadow:-9px 0 12px -10px #1e1b3a73}.acct-table th:last-child{background:var(--paper-2)}.acct-table tr:hover td:last-child{background:var(--paper-2)}.acct-table tr.is-flagged td:first-child{box-shadow:inset 4px 0 0 var(--warn)}.acct-table .pill{font-size:12px;padding:3px 10px}.acct-flags{display:inline-flex;flex-wrap:wrap;gap:5px}.acct-flag{padding:3px 9px;border-radius:var(--r-full);font-size:11.5px;font-weight:800;white-space:nowrap;cursor:help}.acct-flag.is-bad{background:var(--bad-soft);color:#9f1239}.acct-flag.is-warn{background:var(--warn-soft);color:#78350f}.acct-flag.is-muted{background:var(--paper-3);color:var(--ink-soft)}.acct-actions-head{text-align:right}.acct-actions{text-align:right;display:flex;gap:6px;justify-content:flex-end}.acct-actions .btn{white-space:nowrap}.acct-receipt{border-color:var(--good)}.acct-receipt-list{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:5px 16px}.acct-receipt-list li{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:4px 0;border-bottom:1px solid var(--paper-2)}.acct-receipt-list code{font-family:var(--font-num);color:var(--ink-soft)}.acct-receipt-list span{font-weight:800}.acct-danger{border:2px solid var(--bad);background:var(--bad-soft);border-radius:var(--r-md);padding:15px 17px;display:grid;gap:8px}.acct-danger b{color:#9f1239;font-size:16px}.acct-danger p{margin:0;color:#7f1d1d;line-height:1.55}.bad-text{color:var(--bad);font-weight:700}@media (max-width: 620px){.acct-cat{padding:8px 12px}.acct-cat b{font-size:14px}.acct-only-flagged{flex-basis:100%}}.sd{--sd-good: #15803d;--sd-fair: #b45309;--sd-poor: #be123c}.sd-loading{display:flex;align-items:center;gap:10px;color:var(--ink-soft)}.sd-hero{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding:26px 28px;border-radius:18px;background:var(--ink);color:#fff}.sd-hero-copy{flex:1;min-width:260px}.sd-kicker{display:block;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#ffffff8c}.sd-score{display:flex;align-items:baseline;gap:10px;margin:6px 0 8px}.sd-score b{font-size:clamp(2.6rem,7vw,3.8rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.sd-score span{font-size:1.1rem;color:#fff9;font-weight:700}.sd-score-none b{color:#ffffff59}.sd-hero .tiny{color:#ffffffb8;line-height:1.6;max-width:46ch}.sd-figures{display:flex;gap:0;margin:0;flex:none}.sd-figures>div{padding:0 20px;border-left:1px solid rgba(255,255,255,.16)}.sd-figures>div:first-child{border-left:0;padding-left:0}.sd-figures dt{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}.sd-figures dd{margin:2px 0 0;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#ffffff8c}.sd-head{margin-bottom:4px}.sd-subjects{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:14px}.sd-subject{display:grid;gap:3px;padding:15px 16px;border:1px solid var(--paper-3);border-left:4px solid var(--paper-3);border-radius:14px;background:#fff}.sd-subject.is-good{border-left-color:var(--sd-good)}.sd-subject.is-fair{border-left-color:var(--sd-fair)}.sd-subject.is-poor{border-left-color:var(--sd-poor)}.sd-subject.is-none{background:var(--paper-2)}.sd-subject b{font-size:.98rem}.sd-subject-score{font-size:1.7rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.sd-subject.is-good .sd-subject-score{color:var(--sd-good)}.sd-subject.is-fair .sd-subject-score{color:var(--sd-fair)}.sd-subject.is-poor .sd-subject-score{color:var(--sd-poor)}.sd-none{color:var(--ink-faint)}.sd-bars{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}.sd-bars li{display:grid;grid-template-columns:minmax(110px,150px) 1fr auto;align-items:center;gap:12px}.sd-bar-label{font-size:.92rem;font-weight:700}.sd-bar-track{height:10px;border-radius:999px;background:var(--paper-3);overflow:hidden}.sd-bar-track i{display:block;height:100%;border-radius:999px}.sd-bar-track i.is-good{background:var(--sd-good)}.sd-bar-track i.is-fair{background:var(--sd-fair)}.sd-bar-track i.is-poor{background:var(--sd-poor)}.sd-bar-value{font-weight:800;font-size:.92rem}.sd-trends{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:14px}.sd-trends>li{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--paper-3);border-radius:14px;background:#fff}.sd-trend-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.sd-trend-head b{font-size:.98rem}.sd-trend{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.sd-spark{width:100%;max-width:340px;height:54px;flex:1 1 200px;overflow:visible}.sd-spark-mark{stroke:var(--paper-3);stroke-width:1.5;stroke-dasharray:3 4}.sd-spark-line{fill:none;stroke:var(--brand);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.sd-spark-dot{fill:var(--brand-3)}.sd-spark-last{fill:var(--brand)}.sd-delta{flex:none;font-weight:800;font-size:1.02rem;font-variant-numeric:tabular-nums;white-space:nowrap}.sd-delta.is-up{color:var(--sd-good)}.sd-delta.is-down{color:var(--sd-poor)}.sd-delta.is-flat{color:var(--ink-faint)}.sd-delta .tiny{font-weight:700;color:var(--ink-faint)}.sd-trend-note{margin-top:12px}.sd-table-wrap{overflow-x:auto;margin-top:12px}.sd-table{border-collapse:collapse;width:100%;min-width:560px;font-size:14px}.sd-table th{text-align:left;padding:9px 12px;background:var(--paper-2);font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap}.sd-table th:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}.sd-table th:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}.sd-table td{padding:10px 12px;border-bottom:1px solid var(--paper-2);white-space:nowrap}.sd-table tr:last-child td{border-bottom:0}.sd-table .num{text-align:right}.sd-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-weight:800;font-size:12.5px}.sd-pill.is-good{background:var(--good-soft);color:#14532d}.sd-pill.is-fair{background:var(--warn-soft);color:#78350f}.sd-pill.is-poor{background:var(--bad-soft);color:#9f1239}.sd-bank-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.sd-bank-list li{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;padding:10px 12px;border-radius:12px;background:var(--paper-2)}.sd-bank-list li.is-mine{background:#fff;border:1px solid var(--brand-3)}.sd-mine{margin-left:auto;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--brand)}@media (max-width: 620px){.sd-hero{padding:20px;gap:16px}.sd-figures{width:100%}.sd-figures>div{flex:1;padding-inline:12px}.sd-figures>div:first-child{padding-left:0}.sd-bars li{grid-template-columns:1fr auto}.sd-bar-track{grid-column:1 / -1}}.act-mgt{display:grid;gap:14px;padding:4px 2px 8px}.mgt-prompt{font-size:1.05rem;font-weight:800;margin:0}.mgt-goal{margin:0;padding:10px 12px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc);border-left:3px solid var(--management, #7c3aed);font-size:.92rem;line-height:1.55}.mgt-note{margin:0;padding:10px 12px;border-radius:var(--r-md, 16px);background:var(--good-soft, #e7f8ed);font-size:.9rem;line-height:1.6}.mgt-controls{display:flex;gap:10px;flex-wrap:wrap}.mgt-dials{display:flex;gap:14px;flex-wrap:wrap;align-items:stretch}.mgt-dial{display:grid;gap:6px;justify-items:center;padding:10px 14px;border:2px solid var(--paper-3, #e4e4f2);border-radius:var(--r-md, 16px);background:var(--paper, #fff)}.mgt-dial-label{font-size:.8rem;font-weight:700;color:var(--muted, #6b7194)}.mgt-dial-row{display:flex;align-items:center;gap:12px}.mgt-dial-value{font-size:1.8rem;min-width:2ch;text-align:center}.mgt-readout{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding:10px 14px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc);flex:1 1 200px}.mgt-readout>div{display:grid;gap:2px}.mgt-readout span{font-size:.78rem;color:var(--muted, #6b7194)}.mgt-readout b{font-size:1.15rem}.mgt-chart{display:flex;align-items:flex-end;gap:2px;height:150px;padding:8px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc)}.mgt-bar-wrap{flex:1;height:100%;display:flex;align-items:flex-end}.mgt-bar{width:100%;border-radius:3px 3px 0 0;background:var(--good, #16a34a);transition:height .25s ease}.mgt-bar.is-bad{background:var(--bad, #e11d48)}.mgt-axis{display:flex;justify-content:space-between;margin:-8px 0 0;font-size:.75rem;color:var(--muted, #6b7194)}.mgt-verdict{margin:0;font-size:.92rem;font-weight:700;line-height:1.5}.mgt-tasks{display:flex;gap:8px;flex-wrap:wrap;min-height:44px}.mgt-task{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border:2px solid var(--paper-3, #e4e4f2);border-radius:var(--r-full, 999px);background:var(--paper, #fff);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.mgt-task.is-held{border-color:var(--management, #7c3aed);background:var(--paper-2, #f7f7fc);transform:translateY(-2px)}.mgt-task-emoji{font-size:1.05rem}.mgt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mgt-quad{display:grid;gap:6px;align-content:start;min-height:116px;padding:12px;border:2px dashed var(--paper-3, #e4e4f2);border-radius:var(--r-md, 16px);background:var(--paper, #fff);font:inherit;text-align:left;cursor:default}.mgt-quad.is-target{border-color:var(--management, #7c3aed);cursor:pointer}.mgt-quad-head{font-size:.92rem}.mgt-quad-items{display:flex;gap:6px;flex-wrap:wrap}.mgt-quad-plan{background:#f5f3ff}.mgt-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--r-full, 999px);background:var(--paper-2, #f7f7fc);font-size:.78rem;font-weight:700}.mgt-chip.is-bad{background:var(--bad-soft, #ffe4e9);color:var(--bad, #e11d48)}.mgt-workers{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.mgt-worker{display:grid;gap:6px;padding:12px;border:2px solid var(--paper-3, #e4e4f2);border-radius:var(--r-md, 16px);background:var(--paper, #fff);font:inherit;text-align:left;cursor:default}.mgt-worker.is-target{border-color:var(--management, #7c3aed);cursor:pointer}.mgt-worker.is-bottleneck{border-color:var(--bad, #e11d48);background:var(--bad-soft, #ffe4e9)}.mgt-worker-head{display:flex;align-items:center;gap:6px}.mgt-load{display:block;height:10px;border-radius:999px;background:var(--paper-3, #e4e4f2);overflow:hidden}.mgt-load-fill{display:block;height:100%;border-radius:999px;background:var(--good, #16a34a);transition:width .25s ease}.mgt-load-fill.is-bad{background:var(--bad, #e11d48)}.mgt-flag{font-size:.75rem;font-weight:800;color:var(--bad, #e11d48)}.mgt-table-wrap{overflow-x:auto}.mgt-table{width:100%;border-collapse:collapse;font-size:.86rem}.mgt-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted, #6b7194);padding:6px 8px 6px 0;border-bottom:2px solid var(--paper-3, #e4e4f2)}.mgt-table td{padding:7px 8px 7px 0;border-bottom:1px solid var(--paper-3, #e4e4f2)}.mgt-table td:not(:first-child){text-align:right}.mgt-table th:not(:first-child){text-align:right}.mgt-gantt{display:grid;gap:8px}.mgt-gantt-row{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:10px;align-items:center}.mgt-gantt-label{font-size:.85rem;font-weight:700}.mgt-gantt-track{position:relative;display:block;height:26px;border-radius:var(--r-sm, 10px);background:var(--paper-2, #f7f7fc)}.mgt-gantt-bar{position:absolute;top:3px;bottom:3px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm, 10px);background:var(--management, #7c3aed);color:#fff;font-size:.72rem;font-weight:800;min-width:26px;transition:left .3s ease,width .3s ease}.mgt-gantt-bar.is-critical{background:var(--bad, #e11d48)}@media (max-width: 560px){.mgt-grid{grid-template-columns:1fr}.mgt-chart{height:118px}.mgt-gantt-row{grid-template-columns:1fr;gap:4px}.mgt-dial-value{font-size:1.5rem}}.act-lead{display:grid;gap:14px;padding:4px 2px 8px}.lead-prompt{font-size:1.05rem;font-weight:800;margin:0}.lead-goal{margin:0;padding:10px 12px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc);border-left:3px solid var(--leadership, #4d7c0f);font-size:.92rem;line-height:1.55}.lead-note{margin:0;padding:10px 12px;border-radius:var(--r-md, 16px);background:var(--good-soft, #e7f8ed);font-size:.9rem;line-height:1.6}.lead-controls{display:flex;gap:10px;flex-wrap:wrap}.lead-readout{display:flex;gap:18px;flex-wrap:wrap;padding:10px 14px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc)}.lead-readout>div{display:grid;gap:2px}.lead-readout span{font-size:.78rem;color:var(--muted, #6b7194)}.lead-readout b{font-size:1.15rem}.lead-meter-wrap{display:flex;align-items:center;gap:12px}.lead-meter{position:relative;flex:1;height:20px;border-radius:999px;overflow:hidden;background:var(--paper-3, #e4e4f2)}.lead-meter-fill{height:100%;border-radius:999px;background:var(--leadership, #4d7c0f);transition:width .35s ease,background .35s ease}.lead-meter-fill.is-low{background:var(--bad, #e11d48)}.lead-meter-fill.is-high{background:var(--good, #16a34a)}.lead-meter-target{position:absolute;top:-3px;bottom:-3px;width:3px;background:var(--ink, #1f2340);border-radius:2px}.lead-meter-value{font-size:1.4rem;min-width:3ch;text-align:right}.lead-chart{display:flex;align-items:flex-end;gap:3px;height:130px;padding:8px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc)}.lead-bar-wrap{flex:1;height:100%;display:flex;align-items:flex-end;position:relative}.lead-bar{width:100%;border-radius:3px 3px 0 0;background:var(--leadership, #4d7c0f);transition:height .3s ease}.lead-bar.is-break{background:var(--bad, #e11d48)}.lead-chart-two .lead-bar-pair{gap:2px;align-items:flex-end}.lead-bar.is-speak{background:#0ea5e9}.lead-bar.is-harm{background:var(--bad, #e11d48)}.lead-marker{position:absolute;top:-4px;left:50%;transform:translate(-50%);font-size:.62rem;font-weight:800;white-space:nowrap;color:var(--ink, #1f2340)}.lead-legend{display:flex;gap:16px;flex-wrap:wrap;margin:-8px 0 0;font-size:.76rem;color:var(--muted, #6b7194)}.lead-legend .swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}.lead-legend .swatch.is-speak{background:#0ea5e9}.lead-legend .swatch.is-harm{background:var(--bad, #e11d48)}.lead-actions{display:grid;gap:8px}.lead-actions-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted, #6b7194)}.lead-btn-row{display:flex;gap:8px;flex-wrap:wrap}.lead-act{padding:9px 13px;border:2px solid var(--paper-3, #e4e4f2);border-radius:var(--r-full, 999px);background:var(--paper, #fff);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.lead-act:hover:not(:disabled){border-color:var(--leadership, #4d7c0f)}.lead-act.is-break{border-color:var(--bad-soft, #ffe4e9);color:var(--bad, #e11d48)}.lead-act.is-break:hover:not(:disabled){border-color:var(--bad, #e11d48)}.lead-story{padding:12px 14px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc);border-left:3px solid var(--paper-3, #e4e4f2)}.lead-story.is-success{border-left-color:var(--good, #16a34a)}.lead-story.is-failure{border-left-color:var(--bad, #e11d48)}.lead-story p{margin:6px 0 0;font-size:.95rem;line-height:1.55}.lead-story-tag{font-size:.78rem;font-weight:800;color:var(--muted, #6b7194)}.lead-choices{display:grid;gap:8px}.lead-choice{display:flex;align-items:center;gap:8px;padding:13px 15px;text-align:left;border:2px solid var(--paper-3, #e4e4f2);border-radius:var(--r-md, 16px);background:var(--paper, #fff);font:inherit;font-size:.95rem;font-weight:700;cursor:pointer}.lead-choice:hover{border-color:var(--leadership, #4d7c0f)}.lead-choice-emoji{font-size:1.15rem;flex:none}.lead-log{display:grid;gap:8px}.lead-log-row{padding:10px 12px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc);border-left:3px solid var(--paper-3, #e4e4f2)}.lead-log-row.is-right{border-left-color:var(--good, #16a34a)}.lead-log-row.is-wrong{border-left-color:var(--bad, #e11d48)}.lead-log-row p{margin:4px 0;font-size:.9rem;line-height:1.5}.lead-people{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.lead-person{display:grid;gap:7px;padding:12px;border:2px solid var(--paper-3, #e4e4f2);border-radius:var(--r-md, 16px);background:var(--paper, #fff)}.lead-person.is-won{border-color:var(--good, #16a34a);background:var(--good-soft, #e7f8ed)}.lead-person.is-lost{border-color:var(--bad, #e11d48);background:var(--bad-soft, #ffe4e9)}.lead-person-head{display:flex;align-items:center;gap:7px}.lead-person select{font-size:.88rem}.lead-verdict{margin:0;line-height:1.5}.lead-verdict.is-good{color:var(--good, #16a34a)}.lead-verdict.is-bad{color:var(--bad, #e11d48)}.is-good{color:var(--good, #16a34a)}.is-bad{color:var(--bad, #e11d48)}@media (max-width: 560px){.lead-chart{height:105px}.lead-people{grid-template-columns:1fr}.lead-meter-value{font-size:1.2rem}}.act-ent{display:grid;gap:14px;padding:4px 2px 8px}.ent-prompt{font-size:1.05rem;font-weight:800;margin:0}.ent-goal{margin:0;padding:10px 12px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc);border-left:3px solid var(--enterprise, #a21caf);font-size:.92rem;line-height:1.55}.ent-note{margin:0;padding:10px 12px;border-radius:var(--r-md, 16px);background:var(--good-soft, #e7f8ed);font-size:.9rem;line-height:1.6}.ent-controls{display:flex;gap:10px;flex-wrap:wrap}.ent-readout{display:flex;gap:18px;flex-wrap:wrap;padding:10px 14px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc)}.ent-readout>div{display:grid;gap:2px}.ent-readout span{font-size:.78rem;color:var(--muted, #6b7194)}.ent-readout b{font-size:1.15rem}.ent-questions{display:grid;gap:8px}.ent-q{display:grid;gap:5px;padding:12px 14px;text-align:left;border:2px solid var(--paper-3, #e4e4f2);border-radius:var(--r-md, 16px);background:var(--paper, #fff);font:inherit;cursor:pointer}.ent-q:hover:not(:disabled){border-color:var(--enterprise, #a21caf)}.ent-q:disabled{opacity:.45;cursor:not-allowed}.ent-q.is-on{border-color:var(--enterprise, #a21caf);background:var(--paper-2, #f7f7fc)}.ent-q.is-good{border-color:var(--good, #16a34a);background:var(--good-soft, #e7f8ed)}.ent-q.is-bad{border-color:var(--bad, #e11d48);background:var(--bad-soft, #ffe4e9)}.ent-q-text{font-size:.95rem;font-weight:700}.ent-q-why{font-size:.83rem;line-height:1.5;color:var(--muted, #6b7194)}.ent-dials{display:grid;gap:10px}.ent-dial{display:grid;gap:6px;padding:11px 13px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc)}.ent-dial-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted, #6b7194)}.ent-dial-row{display:flex;align-items:center;gap:12px}.ent-dial-value{font-size:1.3rem;min-width:5ch;text-align:center}.ent-chart{display:flex;align-items:stretch;gap:3px;height:140px;padding:8px;border-radius:var(--r-md, 16px);background:var(--paper-2, #f7f7fc)}.ent-bar-wrap{flex:1;display:grid;grid-template-rows:1fr 2px 1fr}.ent-bar-half{display:flex}.ent-bar-half.top{align-items:flex-end}.ent-bar-half.bottom{align-items:flex-start}.ent-zero{background:var(--ink, #1f2340);opacity:.35}.ent-bar{width:100%;transition:height .25s ease}.ent-bar-half.top .ent-bar{border-radius:3px 3px 0 0}.ent-bar-half.bottom .ent-bar{border-radius:0 0 3px 3px}.ent-bar.is-good{background:var(--good, #16a34a)}.ent-bar.is-bad{background:var(--bad, #e11d48)}.ent-axis{display:flex;justify-content:space-between;margin:-8px 0 0;font-size:.76rem;color:var(--muted, #6b7194)}.ent-table-wrap{overflow-x:auto;border-radius:var(--r-md, 16px)}.ent-table{width:100%;min-width:460px;border-collapse:collapse;background:var(--paper-2, #f7f7fc);font-size:.88rem}.ent-table th,.ent-table td{padding:8px 10px;text-align:right}.ent-table th:first-child,.ent-table td:first-child{text-align:left}.ent-table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted, #6b7194);font-weight:800;border-bottom:2px solid var(--paper-3, #e4e4f2)}.ent-table td{border-bottom:1px solid var(--paper-3, #e4e4f2)}.ent-table tr:last-child td{border-bottom:0}.ent-table tr.is-dead{background:var(--bad-soft, #ffe4e9)}.ent-verdict{margin:0;font-weight:700;line-height:1.5}.ent-verdict.is-good{color:var(--good, #16a34a)}.ent-verdict.is-bad{color:var(--bad, #e11d48)}.ent-sunk{padding:11px 14px;border-radius:var(--r-md, 16px);background:var(--paper-3, #e4e4f2);font-size:.92rem;text-align:center}.ent-choices{display:grid;gap:8px}.ent-choice{display:flex;align-items:center;gap:8px;padding:13px 15px;text-align:left;border:2px solid var(--paper-3, #e4e4f2);border-radius:var(--r-md, 16px);background:var(--paper, #fff);font:inherit;font-size:.95rem;font-weight:700;cursor:pointer}.ent-choice:hover{border-color:var(--enterprise, #a21caf)}.ent-choice-emoji{font-size:1.15rem;flex:none}.act-ent .is-good{color:var(--good, #16a34a)}.act-ent .is-bad{color:var(--bad, #e11d48)}@media (max-width: 560px){.ent-chart{height:110px}.ent-dial-value{font-size:1.1rem}.ent-table{font-size:.82rem}}.install-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:700;font-size:.95rem;cursor:pointer;border-radius:999px;transition:background .15s,border-color .15s,transform .15s}.install-btn svg{flex:none}.install-btn:focus-visible{outline:3px solid #a78bfa;outline-offset:2px}.install-btn.is-pill{padding:9px 16px;border:1.5px solid #ddd6fe;background:#f5f3ff;color:#5b21b6}.install-btn.is-pill:hover{background:#ede9fe;border-color:#c4b5fd;transform:translateY(-1px)}.install-btn.is-row{width:100%;justify-content:center;padding:12px 16px;border:1.5px solid #ddd6fe;background:#f5f3ff;color:#5b21b6;border-radius:14px}.hm-hero .install-btn.is-pill{margin-top:14px;border-color:#c4b5fd73;background:#ffffff14;color:#ede9fe}.hm-hero .install-btn.is-pill:hover{background:#ffffff24;border-color:#c4b5fdb3}.install-icon svg{display:block;margin:auto}.install-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:16px;background:#0f172a8c;animation:install-fade .18s ease both}.install-sheet{width:min(420px,100%);background:#fff;color:#1e1b4b;border-radius:22px;padding:24px 22px 20px;text-align:center;box-shadow:0 24px 60px #0f172a59;animation:install-rise .22s ease both}.install-ava{display:block;margin:-4px auto 6px}.install-sheet h2{margin:0 0 6px;font-size:1.25rem}.install-lead{margin:0 0 14px;color:#475569;font-size:.95rem;line-height:1.5}.install-steps{margin:0 0 18px;padding:0;list-style:none;counter-reset:step;text-align:left;display:grid;gap:10px}.install-steps li{counter-increment:step;display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;font-size:.97rem;line-height:1.45}.install-steps li:before{content:counter(step);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ede9fe;color:#5b21b6;font-weight:800}.install-glyph{display:inline-flex;vertical-align:-4px;color:#2563eb}.install-sheet .btn{width:100%}@keyframes install-fade{0%{opacity:0}}@keyframes install-rise{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion: reduce){.install-backdrop,.install-sheet{animation:none}}.app{--app-display: "Poppins", "Baloo 2", var(--font);--edge: rgba(30, 27, 58, .11);--edge-soft: rgba(30, 27, 58, .06);--lift: 0 1px 2px rgba(30, 27, 58, .04), 0 10px 26px -18px rgba(30, 27, 58, .4)}.topbar{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--edge-soft)}.topbar-inner{gap:10px;padding:9px 20px}.topbar .brand{font-family:var(--app-display);font-weight:800;font-size:17px;letter-spacing:.02em;gap:9px}.topbar .brand .logo{font-size:24px}.topbar .icon-btn{width:40px;height:40px;font-size:17px;background:var(--paper);border:1px solid var(--edge);color:var(--ink-soft);box-shadow:none}.topbar .icon-btn.is-wordy{width:auto;padding:0 12px}.topbar .icon-btn:hover{background:var(--paper-2);color:var(--brand);border-color:var(--brand-3)}.topbar .icon-btn:active{transform:translateY(1px)}.topbar .icon-btn.on{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:none}.topbar .who{border-width:1px;box-shadow:none;padding:4px 12px 4px 4px;background:var(--paper)}.topbar .who-avatar{width:32px;height:32px;font-size:18px}.topbar .who-meta b{font-family:var(--app-display);font-weight:600;font-size:14px}.topbar .who-meta{overflow:hidden}.topbar .who-meta .tiny{max-width:100%;overflow:hidden;text-overflow:ellipsis}.appnav{display:flex;align-items:center;gap:2px;flex:none}.appnav-item{position:relative}.appnav-link{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:0;border-radius:9px;background:none;font-family:var(--app-display);font-size:.88rem;font-weight:600;color:var(--ink-soft);white-space:nowrap;cursor:pointer}.appnav-link:hover{background:var(--paper-2);color:var(--brand)}.appnav-link{position:relative}.appnav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#db2777;color:#fff;font-size:.72rem;font-weight:800;line-height:1}.appnav-link.is-here,.appnav-link.is-open{background:var(--paper-3);color:var(--brand)}.appnav-emoji{font-size:1.05rem;line-height:1}.appnav-caret{width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}.appnav-toggle.is-open .appnav-caret{transform:translateY(1px) rotate(-135deg)}.appnav-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:60;padding:8px;background:var(--paper);border:1px solid var(--edge);border-radius:14px;box-shadow:0 2px 4px #1e1b3a0d,0 26px 50px -22px #1e1b3a80;max-height:min(70vh,560px);overflow-y:auto}.appnav-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;grid-template-columns:repeat(2,minmax(196px,1fr))}.appnav-panel button{width:100%;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:11px;padding:9px 10px;border:0;border-radius:10px;background:none;font-family:inherit;text-align:left;cursor:pointer}.appnav-panel button:hover{background:color-mix(in srgb,var(--sc, var(--brand)) 10%,white)}.appnav-panel-emoji{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;font-size:1.15rem;background:color-mix(in srgb,var(--sc, var(--brand)) 14%,white)}.appnav-panel-text{display:grid;gap:1px;min-width:0}.appnav-panel-text b{font-size:.9rem}.hub-head{margin-top:22px;padding:22px 24px;background:var(--paper);border:1px solid var(--edge);border-radius:18px;box-shadow:var(--lift);display:grid;gap:18px}.hub-greet{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.hub-greet-copy{flex:1;min-width:200px}.hub-hi{font-family:var(--app-display);font-weight:800;font-size:clamp(1.5rem,3.4vw,2.05rem);letter-spacing:-.02em;color:var(--ink);margin:0}.hub-sub{margin:5px 0 0;color:var(--ink-soft);font-size:1rem}.hub-level{flex:none;display:grid;justify-items:center;gap:5px}.hub-level-cap{font-family:var(--app-display);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.hub-level-n{font-family:var(--app-display);font-weight:800;font-size:1.35rem;color:var(--brand);line-height:1}.hub-figures{margin:0;padding-top:16px;border-top:1px solid var(--edge-soft);display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px 0}.hub-figure{display:grid;gap:2px;padding:0 18px;border-left:1px solid var(--edge-soft)}.hub-figure:first-child{border-left:0;padding-left:0}.hub-figure dt{font-family:var(--app-display);font-weight:800;font-size:1.6rem;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}.hub-figure dd{margin:0;font-size:.76rem;font-weight:700;letter-spacing:.04em;color:var(--ink-faint)}.hub-xp{display:flex;align-items:center;gap:12px;margin:0;max-width:none}.hub-xp .bar{flex:1}.hub-xp-note{color:var(--ink-faint);flex:none}.hub-section{margin-top:34px}.hub-h2{font-family:var(--app-display);font-weight:800;font-size:1.2rem;letter-spacing:-.01em;color:var(--ink);margin:0 0 14px}.hub-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.hub-section-head .hub-h2{margin:0}.hub-note{margin:0;text-align:right}.hub-today{display:grid;gap:12px}.hub-today .hub-h2{margin:0}.hub .continue-card{margin:0;padding:18px 20px;border-radius:16px;box-shadow:0 1px 2px #4c1d9533,0 18px 34px -22px #4c1d95e6;transition:transform .12s ease,background .16s ease}.hub .continue-card:hover{background:#5b21b6;transform:translateY(-1px)}.hub .continue-card:active{transform:translateY(1px);box-shadow:0 1px 2px #4c1d9540}.hub .continue-left b{font-family:var(--app-display);font-weight:800;font-size:1.2rem}.hub .continue-left .tiny:first-child{letter-spacing:.1em;font-size:11px}.hub .continue-emoji{font-size:36px}.hub .continue-go{width:44px;height:44px;font-size:17px;background:#ffffff29;animation:none}.hub .review-strip{margin:4px 0 0}.hub .review-title{font-family:var(--app-display);font-weight:600;font-size:.92rem;color:var(--ink-soft);margin:0 0 9px}.hub .review-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.hub .review-card{background:var(--paper);border:1px solid var(--edge);border-radius:14px;padding:15px 12px}.hub .review-card:hover{transform:translateY(-2px);border-color:var(--brand-3);box-shadow:var(--lift)}.hub .review-card b{color:var(--ink);font-family:var(--app-display);font-weight:600}.hub .review-emoji{font-size:26px}.hub .exam-strip{position:relative;overflow:hidden;width:100%;display:flex;align-items:center;gap:16px;margin:34px 0 0;padding:20px 22px;text-align:left;border:0;border-radius:20px;background:radial-gradient(circle at 92% -10%,rgba(251,191,36,.38),transparent 42%),linear-gradient(130deg,#0b1220,#0f3443 52%,#0f766e);color:#fff;font:inherit;cursor:pointer;box-shadow:0 1px 2px #0f172a29,0 20px 36px -22px #0f172ad9;transition:transform .2s ease,box-shadow .2s ease}.hub .school-strip{background:radial-gradient(circle at 92% -10%,rgba(45,212,191,.42),transparent 42%),linear-gradient(130deg,#1e1b4b,#312e81 45%,#6d28d9)}.hub .exam-strip:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0f172a29,0 26px 44px -24px #0f172ae6}.hub .exam-strip:focus-visible{outline:3px solid var(--brand-3);outline-offset:3px}.hub .exam-strip-emoji{flex:none;display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);font-size:1.7rem}.hub .exam-strip b{display:block;margin-bottom:2px;font-family:var(--app-display);font-weight:600;font-size:1.08rem}.hub .exam-strip .tiny{color:#fffc;line-height:1.5}.hub .exam-strip-go{flex:none;padding:9px 16px;border-radius:12px;background:#fff;color:#0f3443;font-family:var(--app-display);font-weight:600;font-size:.9rem}.hub .school-strip .exam-strip-go{color:#312e81}.hub .school-strip+.exam-strip{margin-top:12px}@media (max-width: 560px){.hub .exam-strip{flex-wrap:wrap;padding:18px}.hub .exam-strip .grow{flex-basis:calc(100% - 70px)}}.hub .subject-grid{grid-template-columns:repeat(auto-fill,minmax(204px,1fr));gap:14px}.hub .subject-card{padding:16px;gap:4px;border-radius:16px;border:1px solid var(--edge);border-bottom:1px solid var(--edge);background:var(--paper);box-shadow:none;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.hub .subject-card:hover{transform:translateY(-3px);border-color:var(--sc);box-shadow:var(--lift)}.hub .subject-top{align-items:flex-start;margin-bottom:6px}.hub .subject-emoji{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;font-size:25px;background:color-mix(in srgb,var(--sc) 13%,white)}.hub .subject-title{font-family:var(--app-display);font-weight:600;font-size:1rem}.hub .subject-foot{margin-top:8px;color:var(--ink-faint);font-weight:600}.hub .subject-card.planned{opacity:1;border-style:dashed}.hub .subject-card.planned .subject-emoji{filter:grayscale(.35);opacity:.75}.hub .subject-card.planned .pill{background:var(--paper-3);color:var(--ink-soft);font-family:var(--app-display);font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px}.hub .hub-stream+.hub-stream{margin-top:22px}.hub .hub-stream-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:7px;border-bottom:1px solid var(--edge-soft)}.hub .hub-h3{font-family:var(--app-display);font-weight:700;font-size:.95rem;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-soft);margin:0}.hub-more{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.hub-more .cert-strip{margin:0;padding:16px 18px;border-radius:16px}.hub-more .cert-strip:hover{transform:translateY(-2px);box-shadow:var(--lift)}.hub-more b{font-family:var(--app-display);font-weight:600}.hub .warmup-card{border-radius:16px;padding:16px 18px}.hub .warmup-title{font-family:var(--app-display);font-weight:800}.hub .warmup-kicker{letter-spacing:.1em;font-size:11px}.hub .warmup-go{font-size:18px}@media (max-width: 1080px){.appnav{position:fixed;left:0;right:0;bottom:0;z-index:50;gap:0;justify-content:space-around;align-items:stretch;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));background:#fffffff5;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-top:1px solid var(--edge)}.appnav-item{position:static;flex:1;display:flex}.appnav-link{flex:1;flex-direction:column;justify-content:center;gap:3px;padding:7px 2px;border-radius:12px;font-size:.68rem;letter-spacing:.01em}.appnav-emoji{font-size:1.3rem}.appnav-caret{display:none}.appnav-panel{top:auto;bottom:100%;left:8px;right:8px;margin-bottom:8px;max-height:62vh}.appnav-panel ul{grid-template-columns:1fr}.shell{padding-bottom:104px}.hub-figure{padding-inline:12px}}@media (max-width: 620px){.hub-head{padding:18px;border-radius:16px}.hub-greet{gap:12px;justify-content:space-between}.hub-greet-copy{order:3;flex-basis:100%;min-width:0}.hub-figures{grid-template-columns:repeat(2,1fr);gap:14px 0}.hub-figure{padding:0 0 0 12px;border-left:2px solid var(--edge-soft)}.hub-figure:first-child{padding-left:12px;border-left:2px solid var(--edge-soft)}.hub-figure dt{font-size:1.35rem}.hub-xp{flex-wrap:wrap}.hub-xp .bar{flex-basis:100%}.hub-note{text-align:left}.hub .subject-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.hub .subject-emoji{width:40px;height:40px;font-size:22px}}.hub-stage-note{margin:0 0 16px;padding:11px 14px;background:var(--paper-2);border:1px solid var(--edge-soft);border-left:3px solid var(--brand-3);border-radius:0 10px 10px 0;font-size:.88rem;line-height:1.55;color:var(--ink-soft)}@media (max-width: 1080px){.appnav-badge{position:absolute;top:4px;left:calc(50% + 6px)}}
