.practice-page-main{background:var(--color-background);min-height:85vh;padding-bottom:clamp(60px,8vw,100px)}.practice-hub-shell{padding-top:clamp(36px,5vw,64px)}.practice-header{margin-bottom:clamp(28px,4vw,44px);text-align:center}.practice-badge{align-items:center;background:var(--color-accent-soft);border:1px solid color-mix(in srgb,var(--color-primary) 14%,transparent);border-radius:999px;color:var(--color-primary);display:inline-flex;font-size:.76rem;font-weight:800;gap:8px;letter-spacing:.08em;padding:6px 16px;text-transform:uppercase}.badge-bullet{background:var(--color-cta);border-radius:50%;box-shadow:0 0 8px var(--color-cta);display:inline-block;height:8px;width:8px}.practice-main-title{color:var(--color-primary);font-family:var(--font-display),Georgia,serif;font-size:clamp(2.2rem,4.2vw,3.8rem);font-weight:900;letter-spacing:-.03em;line-height:1.1;margin:16px auto 12px;max-width:820px}.practice-subtitle{color:color-mix(in srgb,var(--color-text) 76%,transparent);font-size:clamp(.95rem,1.25vw,1.12rem);line-height:1.6;margin:0 auto;max-width:650px}.practice-config-grid{display:grid;gap:clamp(20px,3vw,32px);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.practice-panel{background:var(--color-surface);border:1.5px solid color-mix(in srgb,var(--color-primary) 13%,transparent);border-radius:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:20px;padding:clamp(22px,3vw,34px)}.panel-header{align-items:center;border-bottom:1px solid color-mix(in srgb,var(--color-primary) 10%,transparent);display:flex;gap:12px;padding-bottom:16px}.step-tag{background:var(--color-primary);border-radius:6px;color:var(--color-on-primary);font-size:.72rem;font-weight:900;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.panel-header h2{color:var(--color-primary);font-family:var(--font-sans);font-size:clamp(1.15rem,1.6vw,1.35rem);font-weight:800;margin:0}.operation-cards-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.operation-card{align-items:flex-start;background:var(--color-background);border:1.5px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:16px;cursor:pointer;display:grid;gap:12px;grid-template-columns:42px 1fr 18px;padding:14px 16px;text-align:left;transition:all .2s cubic-bezier(.16,1,.3,1)}.operation-card:hover{background:color-mix(in srgb,var(--color-surface) 60%,var(--color-accent-soft));border-color:var(--color-primary);transform:translateY(-2px)}.operation-card.is-selected{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary),var(--shadow-sm)}.op-card-icon{align-items:center;background:var(--color-accent-soft);border-radius:10px;color:var(--color-primary);display:flex;font-family:var(--font-display),Georgia,serif;font-size:1.35rem;font-weight:900;height:42px;justify-content:center;width:42px}.operation-card.is-selected .op-card-icon{background:var(--color-primary);color:var(--color-accent)}.op-card-content{display:flex;flex-direction:column;gap:3px}.op-card-title{color:var(--color-primary);font-family:var(--font-sans);font-size:.94rem;font-weight:800;line-height:1.2}.op-card-desc{color:color-mix(in srgb,var(--color-text) 68%,transparent);font-size:.74rem;line-height:1.35;margin:0}.op-card-radio-indicator{align-self:center;border:2px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:50%;height:16px;position:relative;width:16px}.operation-card.is-selected .op-card-radio-indicator{border-color:var(--color-primary)}.operation-card.is-selected .op-card-radio-indicator:after{background:var(--color-cta);border-radius:50%;content:"";height:8px;left:2px;position:absolute;top:2px;width:8px}.practice-panel-options{justify-content:space-between}.config-sub-section{display:flex;flex-direction:column;gap:8px}.section-label{color:var(--color-primary);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.difficulty-pill-group{display:flex;flex-direction:column;gap:8px}.difficulty-pill{align-items:flex-start;background:var(--color-background);border:1.5px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 14px;text-align:left;transition:all .2s ease}.difficulty-pill:hover{background:color-mix(in srgb,var(--color-surface) 60%,var(--color-accent-soft));border-color:var(--color-primary)}.difficulty-pill.is-selected{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 1.5px var(--color-primary)}.pill-title{color:var(--color-primary);font-size:.88rem;font-weight:800}.pill-desc{color:color-mix(in srgb,var(--color-text) 68%,transparent);font-size:.72rem}.config-settings-columns{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.button-toggle-group{background:var(--color-background);border:1px solid color-mix(in srgb,var(--color-primary) 14%,transparent);border-radius:12px;display:flex;padding:3px}.toggle-btn{background:transparent;border:0;border-radius:9px;color:color-mix(in srgb,var(--color-text) 80%,transparent);cursor:pointer;flex:1;font-size:.76rem;font-weight:700;padding:8px 4px;text-align:center;transition:all .18s ease}.toggle-btn:hover{color:var(--color-primary)}.toggle-btn.is-active{background:var(--color-primary);box-shadow:0 2px 6px color-mix(in srgb,var(--color-primary) 22%,transparent);color:var(--color-on-primary);font-weight:800}.practice-start-box{display:flex;flex-direction:column;gap:10px;margin-top:10px}.practice-start-button{border-radius:14px;box-shadow:var(--shadow-cta);font-size:1.05rem;font-weight:900;gap:12px;justify-content:center;min-height:54px;padding:12px 24px;width:100%}.btn-arrow{color:var(--color-highlight);font-size:1.25rem;transition:transform .2s ease}.practice-start-button:hover .btn-arrow{transform:translateX(4px)}.start-tip{color:color-mix(in srgb,var(--color-text) 62%,transparent);font-size:.75rem;margin:0;text-align:center}.start-tip kbd{background:var(--color-background);border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.08);color:var(--color-primary);font-family:inherit;font-size:.72rem;font-weight:800;padding:1px 6px}.practice-benefits-strip{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:18px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px;padding:20px 24px}.benefit-item{align-items:flex-start;display:flex;gap:12px}.benefit-icon{color:var(--color-cta);font-size:1.1rem}.benefit-item strong{color:var(--color-primary);display:block;font-size:.86rem;margin-bottom:2px}.benefit-item p{color:color-mix(in srgb,var(--color-text) 70%,transparent);font-size:.76rem;line-height:1.4;margin:0}.practice-active-view{margin:0 auto;max-width:620px}.practice-active-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.active-progress-info{display:flex;flex:1;flex-direction:column;gap:6px;min-width:160px}.progress-label{color:var(--color-primary);font-size:.8rem;font-weight:700}.progress-label strong{font-size:1rem;font-weight:900}.progress-bar-track{background:color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:999px;height:8px;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,var(--color-accent),var(--color-cta));border-radius:999px;height:100%;transition:width .3s cubic-bezier(.16,1,.3,1)}.active-chips{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.info-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:800;gap:6px;padding:5px 12px}.chip-op{background:var(--color-accent-soft)}.chip-op,.chip-timer{color:var(--color-primary)}.chip-timer{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 16%,transparent);font-variant-numeric:tabular-nums}.clock-icon{font-size:.9rem}.chip-streak{animation:pulse-streak 1.4s ease-in-out infinite alternate;background:#ffeac2;border:1px solid #f6a938;color:#92400e}@keyframes pulse-streak{0%{transform:scale(1)}to{transform:scale(1.06)}}.exit-practice-button{background:transparent;border:0;color:color-mix(in srgb,var(--color-text) 60%,transparent);cursor:pointer;font-size:.76rem;font-weight:700;padding:4px 8px;text-decoration:underline;transition:color .18s ease}.exit-practice-button:hover{color:var(--color-primary)}.practice-stage-card{background:var(--color-surface);border:2px solid color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:28px;box-shadow:0 20px 40px rgb(60 12 31/.08);display:flex;flex-direction:column;gap:28px;overflow:hidden;padding:clamp(28px,4vw,44px);position:relative;transition:border-color .25s ease,box-shadow .25s ease,transform .2s ease}.practice-stage-card.feedback-correct{border-color:#22c55e;box-shadow:0 0 0 3px rgb(34 197 94/.3),var(--shadow-md);transform:scale(1.01)}.practice-stage-card.feedback-wrong{border-color:#ef4444;box-shadow:0 0 0 3px rgb(239 68 68/.3),var(--shadow-md);transform:scale(.99)}.question-display-container{align-items:center;display:flex;justify-content:center;min-height:180px}.vertical-abacus-card{display:inline-flex;flex-direction:column;min-width:140px}.vertical-numbers-column{display:flex;flex-direction:column;gap:4px}.vertical-row{align-items:center;display:grid;font-family:var(--font-display),Georgia,serif;font-size:clamp(2.4rem,5vw,3.4rem);font-weight:800;gap:16px;grid-template-columns:36px 1fr;line-height:1.05}.vertical-op{color:var(--color-cta);font-family:var(--font-sans);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:900;text-align:center}.vertical-digit{color:var(--color-primary);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-align:right}.vertical-line{background:var(--color-primary);border-radius:4px;height:4px;margin-top:10px;width:100%}.horizontal-math-card{align-items:center;display:flex;justify-content:center;padding:20px 0}.horizontal-expression{color:var(--color-primary);font-family:var(--font-display),Georgia,serif;font-size:clamp(2.6rem,5.5vw,4.2rem);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.02em;text-align:center}.practice-input-section{display:flex;justify-content:center}.input-group{display:flex;gap:10px;max-width:380px;width:100%}.practice-number-input{background:var(--color-background);border:2.5px solid color-mix(in srgb,var(--color-primary) 24%,transparent);border-radius:16px;color:var(--color-primary);flex:1;font-family:var(--font-display),Georgia,serif;font-size:2rem;font-weight:900;height:62px;outline:none;padding:0 16px;text-align:center;transition:all .2s ease}.practice-number-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.practice-submit-btn{border-radius:16px;font-size:1.05rem;font-weight:800;gap:6px;height:62px;padding:0 24px}.touch-keypad{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:320px;width:100%}.keypad-key{align-items:center;background:var(--color-background);border:1.5px solid color-mix(in srgb,var(--color-primary) 14%,transparent);border-radius:12px;color:var(--color-primary);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:1.35rem;font-weight:800;height:50px;justify-content:center;touch-action:manipulation;transition:all .12s ease;user-select:none}.keypad-key:hover{background:color-mix(in srgb,var(--color-surface) 50%,var(--color-accent-soft));border-color:var(--color-primary)}.keypad-key:active{background:var(--color-primary);color:var(--color-on-primary);transform:scale(.96)}.keypad-key.is-special{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary);font-size:1.05rem}.practice-results-view{display:flex;flex-direction:column;gap:36px;margin:0 auto;max-width:820px}.results-hero-card{align-items:center;background:var(--color-surface);border:2px solid color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:28px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;padding:clamp(32px,5vw,54px);text-align:center}.results-trophy{animation:bounce-trophy 2s ease-in-out infinite;font-size:4rem;line-height:1;margin-bottom:12px}@keyframes bounce-trophy{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.results-badge-pill{background:var(--color-accent-soft);border:1px solid color-mix(in srgb,var(--color-primary) 16%,transparent);border-radius:999px;color:var(--color-primary);font-size:.8rem;font-weight:800;letter-spacing:.05em;padding:5px 16px}.results-headline{color:var(--color-primary);font-family:var(--font-display),Georgia,serif;font-size:clamp(2.1rem,4vw,3.2rem);font-weight:900;letter-spacing:-.02em;margin:12px 0 8px}.results-note{color:color-mix(in srgb,var(--color-text) 74%,transparent);font-size:1.02rem;line-height:1.55;margin:0 0 28px;max-width:580px}.results-metrics-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:32px;width:100%}.metric-box{background:var(--color-background);border:1.5px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:18px;display:flex;flex-direction:column;gap:4px;padding:16px 12px}.metric-box-highlight{border-color:var(--color-cta)}.metric-label{color:color-mix(in srgb,var(--color-text) 68%,transparent);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.metric-value{color:var(--color-primary);font-family:var(--font-display),Georgia,serif;font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:900}.metric-value small{color:color-mix(in srgb,var(--color-text) 55%,transparent);font-family:var(--font-sans);font-size:.95rem;font-weight:700}.results-action-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.results-primary-btn{border-radius:12px;font-size:.96rem;font-weight:800;gap:8px;padding:12px 24px}.results-secondary-btn{background:var(--color-background);border:1.5px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:12px;color:var(--color-primary);font-size:.96rem;font-weight:800;padding:12px 20px;transition:all .2s ease}.results-secondary-btn:hover{background:var(--color-primary);color:var(--color-on-primary)}.results-review-section{background:var(--color-surface);border:1.5px solid color-mix(in srgb,var(--color-primary) 14%,transparent);border-radius:24px;padding:clamp(22px,3.5vw,36px)}.review-header{align-items:center;border-bottom:1px solid color-mix(in srgb,var(--color-primary) 10%,transparent);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.review-header h3{color:var(--color-primary);font-family:var(--font-display),Georgia,serif;font-size:1.45rem;margin:0}.review-count{color:color-mix(in srgb,var(--color-text) 72%,transparent);font-size:.8rem;font-weight:700}.review-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.review-card{background:var(--color-background);border:1.5px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:16px;display:flex;flex-direction:column;gap:8px;padding:14px 16px}.review-card.is-correct{border-left:4px solid #22c55e}.review-card.is-wrong{border-left:4px solid #ef4444}.review-card-top{align-items:center;display:flex;gap:8px}.review-q-num{background:var(--color-primary);border-radius:6px;color:var(--color-on-primary);font-size:.68rem;font-weight:900;padding:2px 7px}.review-tag{color:color-mix(in srgb,var(--color-text) 68%,transparent);flex:1;font-size:.72rem;font-weight:700}.review-status-indicator{border-radius:999px;font-size:.68rem;font-weight:800;padding:3px 8px}.review-status-indicator.correct{background:#dcfce7;color:#15803d}.review-status-indicator.wrong{background:#fee2e2;color:#b91c1c}.review-math-formula code{color:var(--color-primary);font-family:var(--font-display),Georgia,serif;font-size:1.15rem;font-weight:800}.review-answers-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:4px}.answer-item{display:flex;font-size:.76rem;gap:5px}.answer-item span{color:color-mix(in srgb,var(--color-text) 65%,transparent)}.text-correct{color:#15803d;font-weight:800}.text-wrong{color:#b91c1c;font-weight:800}.review-time-meta{border-top:1px dashed color-mix(in srgb,var(--color-primary) 10%,transparent);color:color-mix(in srgb,var(--color-text) 55%,transparent);font-size:.68rem;margin-top:4px;padding-top:6px}.practice-cta-card{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:24px;box-shadow:var(--shadow-lg);color:var(--color-on-primary);display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;padding:clamp(28px,4vw,44px)}.cta-card-copy{flex:1;max-width:540px;min-width:260px}.cta-tag{color:var(--color-accent);display:block;font-size:.72rem;font-weight:900;letter-spacing:.1em;margin-bottom:8px}.cta-card-copy h3{color:var(--color-on-primary);font-family:var(--font-display),Georgia,serif;font-size:clamp(1.5rem,2.5vw,2.1rem);line-height:1.15;margin:0 0 10px}.cta-card-copy p{color:color-mix(in srgb,var(--color-on-primary) 85%,transparent);font-size:.92rem;line-height:1.6;margin:0}.cta-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.cta-card-actions .button-primary{box-shadow:var(--shadow-cta);white-space:nowrap}.cta-card-secondary{background:color-mix(in srgb,var(--color-on-primary) 10%,transparent);border:1.5px solid color-mix(in srgb,var(--color-on-primary) 65%,transparent);border-radius:12px;color:var(--color-on-primary);display:inline-flex;font-size:.88rem;font-weight:800;gap:6px;padding:12px 18px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.cta-card-secondary:hover{background:var(--color-on-primary);color:var(--color-primary)}@media (max-width:900px){.practice-benefits-strip,.practice-config-grid,.review-grid{grid-template-columns:1fr}}@media (max-width:580px){.practice-hub-shell{padding-top:24px}.practice-panel{border-radius:18px;padding:20px 16px}.config-settings-columns,.operation-cards-grid{grid-template-columns:1fr}.practice-stage-card{border-radius:20px;padding:24px 16px}.input-group{max-width:100%}.practice-number-input{font-size:1.7rem;height:56px}.practice-submit-btn{font-size:.95rem;height:56px;padding:0 16px}.keypad-key{height:46px}.results-hero-card{border-radius:20px;padding:28px 18px}.results-action-buttons{flex-direction:column;width:100%}.results-action-buttons .button{width:100%}.practice-cta-card{border-radius:18px;padding:24px 18px}.cta-card-actions{flex-direction:column;width:100%}.cta-card-actions .button,.cta-card-actions .cta-card-secondary{justify-content:center;width:100%}}.practice-subnav-bar{margin-bottom:24px}.practice-subnav-shell{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:6px;background:var(--color-surface);border:1.5px solid color-mix(in srgb,var(--color-primary) 14%,transparent);border-radius:20px;box-shadow:var(--shadow-sm);scrollbar-width:none}.practice-subnav-shell::-webkit-scrollbar{display:none}.practice-subnav-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:14px;font-size:.82rem;font-weight:800;white-space:nowrap;color:color-mix(in srgb,var(--color-text) 80%,transparent);transition:all .18s ease;text-decoration:none;border:1px solid transparent}.practice-subnav-tab:hover{background:color-mix(in srgb,var(--color-accent-soft) 80%,transparent);color:var(--color-primary)}.practice-subnav-active{background:var(--color-primary)!important;color:var(--color-on-primary)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 28%,transparent)}.practice-subnav-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.practice-subnav-icon{width:16px;height:16px;flex-shrink:0}.practice-subnav-coming-badge{font-size:.65rem;font-weight:900;text-transform:uppercase;background:color-mix(in srgb,var(--color-cta) 18%,transparent);color:var(--color-cta);padding:2px 7px;border-radius:999px;letter-spacing:.04em}.oral-practice-root,.practice-tool-container{width:100%}.oral-student-status-bar{align-items:center;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:999px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:0 auto 28px;max-width:860px;padding:8px 18px}.oral-status-pill{align-items:center;display:inline-flex;gap:8px}.oral-status-dot{background:#10b981;border-radius:50%;box-shadow:0 0 8px rgba(16,185,129,.5);height:8px;width:8px}.oral-status-user{color:var(--color-primary);font-size:.8rem;font-weight:800;letter-spacing:.02em}.oral-status-note{color:color-mix(in srgb,var(--color-text) 65%,transparent);font-size:.76rem}.oral-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media (max-width:900px){.oral-category-grid{grid-template-columns:1fr}}.oral-card-headline{align-items:center;display:flex;gap:6px;justify-content:space-between}.oral-card-badge{background:var(--color-accent-soft);border-radius:6px;color:var(--color-primary);font-size:.68rem;font-weight:800;padding:2px 6px;white-space:nowrap}.oral-level-selection-container{border-top:1px dashed color-mix(in srgb,var(--color-primary) 14%,transparent);margin-top:6px;padding-top:16px}.oral-panel-subheader{border-bottom:0;padding-bottom:8px}.oral-level-pill{width:100%}.oral-level-pill-header{align-items:center;display:flex;justify-content:space-between;width:100%}.oral-terms-tag{background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-radius:4px;color:var(--color-primary);font-size:.68rem;font-weight:700;padding:2px 6px}.oral-level-grid-scrollable{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:290px;overflow-y:auto;padding-right:4px}@media (max-width:640px){.oral-level-grid-scrollable{grid-template-columns:1fr;max-height:none}}.oral-settings-stack{display:flex;flex-direction:column;gap:18px}.oral-setting-hint{color:color-mix(in srgb,var(--color-text) 60%,transparent);font-size:.72rem;margin-top:3px}.oral-toggle-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:600px){.oral-toggle-grid{grid-template-columns:1fr}}.oral-toggle-card{align-items:center;background:var(--color-background);border:1.5px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.oral-toggle-info{display:flex;flex-direction:column;gap:2px}.oral-toggle-title{color:var(--color-primary);font-size:.86rem;font-weight:800}.oral-toggle-desc{color:color-mix(in srgb,var(--color-text) 65%,transparent);font-size:.7rem;line-height:1.3}.oral-switch-btn{align-items:center;background:color-mix(in srgb,var(--color-primary) 16%,transparent);border:0;border-radius:999px;cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;padding:3px;position:relative;transition:all .2s ease;width:58px}.oral-switch-btn.is-checked{background:var(--color-primary)}.oral-switch-thumb{background:#ffffff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.25);height:22px;position:absolute;left:3px;transition:transform .2s cubic-bezier(.16,1,.3,1);width:22px}.oral-switch-btn.is-checked .oral-switch-thumb{transform:translateX(30px);background:var(--color-accent)}.oral-switch-text{color:#ffffff;font-size:.65rem;font-weight:900;margin-left:auto;padding-right:6px}.oral-switch-btn.is-checked .oral-switch-text{margin-left:6px;margin-right:auto;padding-right:0}.oral-arena-view{margin:0 auto;max-width:660px}.oral-stage-card{background:var(--color-surface);border:1.5px solid color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:28px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:20px;padding:clamp(24px,4vw,36px);transition:all .3s ease}.oral-stage-badge-strip{align-items:center;border-bottom:1px solid color-mix(in srgb,var(--color-primary) 10%,transparent);display:flex;justify-content:space-between;padding-bottom:14px}.oral-live-badge{align-items:center;background:var(--color-accent-soft);border-radius:999px;color:var(--color-primary);display:inline-flex;font-size:.74rem;font-weight:800;gap:7px;letter-spacing:.04em;padding:4px 12px;text-transform:uppercase}.oral-live-pulse{background:#10b981;border-radius:50%;height:8px;width:8px}.oral-live-pulse.is-active{animation:live-pulse 1s ease-in-out infinite alternate;background:#ef4444;box-shadow:0 0 8px rgba(239,68,68,.6)}@keyframes live-pulse{0%{transform:scale(.85);opacity:.5}to{transform:scale(1.25);opacity:1}}.oral-term-counter{color:color-mix(in srgb,var(--color-text) 72%,transparent);font-size:.78rem;font-weight:700}.oral-chip-mode{background:var(--color-accent-soft);color:var(--color-primary)}.oral-chip-audio-only{background:color-mix(in srgb,var(--color-cta) 18%,transparent);color:var(--color-cta)}.oral-notice-banner{background:#fef3c7;border:1px solid #fde68a;border-radius:12px;color:#92400e;font-size:.8rem;margin-bottom:16px;padding:10px 14px}.oral-wave-container{align-items:center;display:flex;gap:6px;height:48px;justify-content:center;margin:8px 0}.oral-wave-bar{background:linear-gradient(180deg,var(--color-cta),var(--color-primary));border-radius:999px;height:8px;transition:all .2s ease;width:6px}.oral-wave-container.is-active .oral-wave-bar{animation:wave-bounce 1.1s ease-in-out infinite}.oral-wave-container.is-active .bar-1{animation-delay:.05s}.oral-wave-container.is-active .bar-2{animation-delay:.2s}.oral-wave-container.is-active .bar-3{animation-delay:.35s}.oral-wave-container.is-active .bar-4{animation-delay:.5s}.oral-wave-container.is-active .bar-5{animation-delay:.35s}.oral-wave-container.is-active .bar-6{animation-delay:.2s}.oral-wave-container.is-active .bar-7{animation-delay:.05s}@keyframes wave-bounce{0%,to{height:10px;opacity:.4}50%{height:42px;opacity:1}}.oral-center-display{align-items:center;background:var(--color-background);border:1.5px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:20px;display:flex;flex-direction:column;justify-content:center;min-height:170px;padding:20px 16px;text-align:center}.oral-flash-term{animation:term-pop .32s cubic-bezier(.16,1,.3,1);align-items:baseline;display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0}@keyframes term-pop{0%{transform:scale(.82);opacity:0}60%{transform:scale(1.06);opacity:1}to{transform:scale(1);opacity:1}}.oral-term-sign{color:var(--color-cta);font-size:clamp(2.4rem,5vw,3.6rem)}.oral-term-sign,.oral-term-val{font-family:var(--font-display),Georgia,serif;font-weight:900;line-height:1}.oral-term-val{color:var(--color-primary);font-size:clamp(3rem,6.5vw,4.8rem);letter-spacing:-.02em}.oral-term-spoken{color:color-mix(in srgb,var(--color-text) 65%,transparent);display:block;font-size:.86rem;font-style:italic;margin-top:4px;width:100%}.oral-cue-term{display:flex;flex-direction:column;gap:6px}.oral-cue-text{color:var(--color-primary);font-family:var(--font-display),Georgia,serif;font-size:clamp(1.8rem,3.6vw,2.4rem);font-weight:900}.oral-cue-sub{color:color-mix(in srgb,var(--color-text) 70%,transparent);font-size:.88rem;font-weight:600}.oral-audio-only-box{display:flex;flex-direction:column;align-items:center;gap:8px}.oral-audio-icon-wrap{align-items:center;background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:50%;display:flex;height:64px;justify-content:center;width:64px}.oral-big-speaker{font-size:2rem}.oral-audio-instruction{color:var(--color-primary);font-size:1.05rem;font-weight:800;line-height:1.4;margin:0}.oral-audio-focus-hint{color:color-mix(in srgb,var(--color-text) 65%,transparent);display:block;font-size:.8rem;font-weight:500;margin-top:4px}.oral-input-area{display:flex;flex-direction:column;gap:16px}.oral-input-group{display:flex;gap:10px}.oral-number-input{background:var(--color-background);border:2px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:16px;color:var(--color-primary);font-family:var(--font-display),Georgia,serif;font-size:2rem;font-weight:900;letter-spacing:.05em;padding:12px 18px;text-align:center;width:100%}.oral-number-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent);outline:none}.oral-number-input.is-disabled{opacity:.6}.oral-submit-btn{border-radius:16px;font-size:1.05rem;font-weight:900;min-width:130px;padding:12px 20px}.oral-feedback-banner{align-items:center;border-radius:14px;display:flex;justify-content:space-between;padding:12px 18px}.oral-feedback-banner.feedback-correct{background:#ecfdf5;border:1.5px solid #a7f3d0;color:#065f46}.oral-feedback-banner.feedback-wrong{background:#fef2f2;border:1.5px solid #fecaca;color:#991b1b}.feedback-content{align-items:center;display:flex;gap:12px;font-size:.92rem}.feedback-icon{align-items:center;border-radius:50%;display:flex;font-size:1.1rem;font-weight:900;height:28px;justify-content:center;width:28px}.oral-feedback-banner.feedback-correct .feedback-icon{background:#10b981;color:#ffffff}.oral-feedback-banner.feedback-wrong .feedback-icon{background:#ef4444;color:#ffffff}.oral-next-btn{background:var(--color-primary);border:0;border-radius:10px;color:#ffffff;font-size:.84rem;font-weight:800;padding:8px 16px;cursor:pointer}.oral-keypad{margin-top:4px}.oral-action-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-top:4px}.oral-action-btn{align-items:center;background:var(--color-background);border:1.5px solid color-mix(in srgb,var(--color-primary) 14%,transparent);border-radius:12px;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:800;gap:6px;padding:8px 16px;transition:all .2s ease}.oral-action-btn:hover{background:color-mix(in srgb,var(--color-surface) 60%,var(--color-accent-soft));border-color:var(--color-primary)}.oral-action-skip{color:color-mix(in srgb,var(--color-text) 65%,transparent)}.oral-results-view{margin:0 auto;max-width:820px}.oral-results-hero{text-align:center}.oral-results-context-pill{align-items:center;background:var(--color-accent-soft);border-radius:999px;color:var(--color-primary);display:inline-flex;flex-wrap:wrap;font-size:.78rem;font-weight:800;gap:8px;justify-content:center;margin:12px auto 20px;padding:6px 18px}.oral-sep{color:color-mix(in srgb,var(--color-primary) 40%,transparent)}.oral-metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:768px){.oral-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.oral-metric-correct{color:#059669!important}.oral-metric-wrong{color:#dc2626!important}.oral-review-section{margin-top:32px}.oral-review-terms{align-items:center;background:var(--color-background);border:1px solid color-mix(in srgb,var(--color-primary) 10%,transparent);border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;padding:10px 14px}.oral-review-formula-label{color:color-mix(in srgb,var(--color-text) 65%,transparent);font-size:.72rem;font-weight:800;text-transform:uppercase}.oral-review-terms-list{align-items:center;display:inline-flex;flex-wrap:wrap;gap:6px}.oral-review-term-chip{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:6px;color:var(--color-primary);font-family:monospace;font-size:.88rem;font-weight:800;padding:2px 8px}.oral-review-term-equals{color:color-mix(in srgb,var(--color-text) 50%,transparent);font-weight:900}.oral-review-term-ans{background:var(--color-primary);border-radius:6px;color:#ffffff;font-family:monospace;font-size:.94rem;font-weight:900;padding:2px 10px}@media print{@page{margin:8mm;size:auto}body{background:#ffffff!important;color:#000000!important;font-size:11pt}.portal-brand,.portal-page-heading,.portal-sidebar,.portal-topbar,.practice-subnav-bar,.print\:hidden,.site-footer,.site-header{display:none!important}.portal-app,.portal-content,.portal-main,.portal-sheets-page,.practice-page-main{padding:0!important;margin:0!important;background:transparent!important;min-height:0!important;display:block!important;width:100%!important}.container,.practice-hub-shell{max-width:100%!important;padding:0!important;margin:0!important}#printable-abacus-sheet{border:none!important;box-shadow:none!important;padding:0!important;margin:0 auto!important;width:100%!important;max-width:100%!important;background:#ffffff!important;color:#000000!important}.abacus-sum-card{break-inside:avoid;page-break-inside:avoid}.abacus-print-page{break-after:page;page-break-after:always}.abacus-print-page:last-child{break-after:auto;page-break-after:auto}}