:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#061e42;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--navy: #082653;--navy-2: #061e42;--navy-3: #0b2a57;--bg-navy: #061b3d;--paper: #ffffff;--paper-soft: #fdfdfd;--porcelain: #f6f8fb;--ink: #061e42;--ink-soft: #6b778c;--ink-faint: #8a94a6;--line: #d8dee8;--line-soft: rgba(216, 222, 232, .68);--shadow-shell: 0 28px 82px rgba(0, 0, 0, .24);--shadow-card: 0 18px 44px rgba(6, 30, 66, .1);--radius-xl: 34px;--radius-lg: 24px;--radius-md: 18px;--radius-sm: 14px}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh}body{margin:0;overflow-x:hidden;background:#fff}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.sr-only{width:1px;height:1px;position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(12px,4vw,56px);position:relative;overflow-x:hidden;overflow-y:auto;background:#fff}.app-shell:before,.app-shell:after{content:"";position:absolute;width:260px;height:260px;border:0;border-radius:50%;pointer-events:none}.app-shell:before{top:-110px;right:-70px}.app-shell:after{bottom:-120px;left:-70px}.math-pattern{display:none}.math-pattern:before{content:"+  -  =";position:absolute;left:9%;top:11%;color:#ffffff14;font-size:clamp(2rem,5vw,4.8rem);font-weight:900}.trainer{width:min(100%,1040px);min-height:min(760px,calc(100vh - 96px));display:grid;grid-template-rows:auto 1fr;position:relative;z-index:1;overflow:hidden;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-shell)}.trainer--entry{width:min(100%,520px);min-height:auto;grid-template-rows:1fr}.trainer--login{width:min(100%,480px);min-height:78vh;display:flex;flex-direction:column;align-items:center;margin:12px auto 0;border-radius:34px}.trainer--profiles{width:min(100%,520px);min-height:clamp(620px,76vh,760px);margin-block:16px 0}.trainer--dashboard{width:min(100%,520px);min-height:78vh;display:flex;flex-direction:column;align-items:center;margin:12px auto 0;border-radius:34px}.trainer-body{width:100%;min-height:0;overflow:hidden}.trainer--login .trainer-body,.trainer--dashboard .trainer-body{min-height:100%;flex:1}.page-footer{position:relative;z-index:1;margin-top:14px;color:#ffffffc7;font-size:.76rem;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:.08em}.trainer--profiles+.page-footer{margin-top:12px;margin-bottom:2px}.trainer--dashboard+.page-footer{margin-top:12px;margin-bottom:2px}.logo-block{display:grid;justify-items:center;gap:8px}.logo-block img{width:min(100%,250px);height:92px;object-fit:contain;display:block}.logo-subtitle{width:min(100%,290px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:var(--ink-soft);font-size:.74rem;font-weight:900;letter-spacing:.11em}.logo-subtitle span{height:1px;background:var(--line)}h1,h2,.brand-text h1{font-family:Georgia,Times New Roman,serif}.primary-button,.secondary-button{min-height:60px;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;border-radius:var(--radius-md);font-weight:900;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.primary-button{color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border:1px solid var(--navy);box-shadow:0 18px 34px #061e4233;text-transform:uppercase;letter-spacing:.04em}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.option-card:hover:not(:disabled),.student-card:hover,.module-folder:hover:not(:disabled),.level-button:hover:not(.is-locked){transform:translateY(-2px)}.primary-button:disabled{opacity:.58}.secondary-button{color:var(--navy);background:#fff;border:1px solid var(--navy);box-shadow:0 10px 24px #061e4214}.trainer-header{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 16px 0;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 12px 28px #061e4212}.brand-lockup{min-width:0;display:flex;align-items:center;gap:14px}.brand-logo{width:128px;height:54px;object-fit:contain;display:block}.brand-kicker{display:block;margin-bottom:4px;color:var(--ink-soft);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.brand-text h1{margin:0;color:var(--ink);font-size:clamp(1.3rem,2.3vw,2rem);line-height:1}.header-actions{display:flex;align-items:center;gap:10px}.section-switcher{display:flex}.section-tab,.header-home-button{width:auto;min-height:48px;padding-inline:16px;white-space:nowrap}.login-view,.profiles-view,.dashboard-view{min-height:100%;display:grid;place-items:center;padding:clamp(24px,5vw,38px);overflow-y:auto;background:#fff}.login-panel,.profiles-panel{width:100%;display:grid;justify-items:center;gap:20px;text-align:center}.trainer--login .login-view{min-height:100%;display:flex;align-items:stretch;padding:32px 24px;overflow:hidden}.trainer--login .login-panel{min-height:100%;display:flex;flex-direction:column;align-items:center;gap:0}.trainer--login .login-panel:after{content:"";width:74px;height:8px;margin-top:auto;border-radius:999px;background:radial-gradient(circle,rgba(8,38,83,.34) 0 2px,transparent 2.8px),radial-gradient(circle,rgba(8,38,83,.18) 0 2px,transparent 2.8px);background-position:0 50%,22px 50%;background-size:22px 8px;opacity:.62}.trainer--login .logo-block{width:100%;gap:8px}.trainer--login .logo-block img{width:min(70%,230px);max-width:230px;height:74px;margin-bottom:10px}.trainer--login .logo-subtitle{width:min(100%,280px)}.trainer--profiles .profiles-view{padding:28px 22px 30px;overflow:hidden}.trainer--profiles .profiles-panel{min-height:100%;align-content:center;gap:clamp(22px,3.5vh,32px)}.trainer--profiles .logo-block{gap:7px}.trainer--profiles .logo-block img{width:min(100%,236px);height:74px}.trainer--profiles .logo-subtitle{width:min(100%,276px);gap:11px;font-size:.72rem}.login-panel h1,.profiles-panel h1,.dashboard-hero h2{margin:0;color:var(--ink);font-size:clamp(2rem,8vw,3.1rem);line-height:1.02}.trainer--login .login-panel h1{margin:36px 0 24px;font-size:clamp(2.25rem,9vw,2.4rem);line-height:1.1}.trainer--profiles .profiles-panel h1{margin:4px 0 0;font-size:clamp(2.25rem,7.6vw,3rem);letter-spacing:0}.new-student-area{width:100%;display:grid;gap:8px}.trainer--login .new-student-area{margin-bottom:24px}.student-name-field{width:100%;min-height:60px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:0 16px;color:var(--navy);background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--radius-md)}.trainer--login .student-name-field{min-height:60px;border-radius:20px}.student-name-field input{width:100%;min-width:0;height:58px;color:var(--ink);background:transparent;border:0;outline:0;font-size:1rem;font-weight:800}.student-name-field:focus-within{border-color:var(--navy);box-shadow:0 0 0 4px #08265314}.login-submit-button{margin-top:2px}.trainer--login .login-submit-button{min-height:62px;height:62px;margin:0;border-radius:20px}.login-error{margin:0;color:var(--ink-soft);font-size:.86rem;font-weight:800;text-align:left}.student-profile-list{width:100%;display:grid;gap:12px;max-height:clamp(300px,48vh,420px);overflow-y:auto;padding:2px 4px 6px;scrollbar-width:thin;scrollbar-color:rgba(8,38,83,.24) transparent}.trainer--profiles .student-profile-list{gap:14px;max-height:clamp(260px,38vh,420px);padding:4px 5px 8px}.student-card{min-height:98px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:14px;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 18px 40px #061e421f;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.student-card-main{min-width:0;min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:3px 6px 3px 2px;color:inherit;background:transparent;border:0;text-align:left;cursor:pointer}.student-card-main:focus-visible,.student-delete-button:focus-visible{outline:3px solid rgba(8,38,83,.18);outline-offset:3px}.student-card-arrow{color:var(--navy);opacity:.9}.student-delete-button{width:46px;height:46px;display:grid;place-items:center;color:#061e429e;background:#f7f9fc;border:1px solid var(--line);border-radius:16px;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}.student-delete-button:hover,.student-delete-button:active{color:#b4233a;background:#fff1f3;border-color:#ffd0d8}.student-card:hover{border-color:#08265338;box-shadow:0 22px 52px #061e4229}.student-card-icon,.option-card-icon{width:56px;height:56px;display:grid;place-items:center;flex:0 0 auto;color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:var(--radius-sm)}.student-card-copy,.option-card-copy{min-width:0;display:grid;gap:4px}.student-card-copy strong,.option-card-copy strong{color:var(--ink);font-size:1.18rem;font-weight:900;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-card-copy small,.option-card-copy small{color:var(--ink-soft);font-size:.9rem;font-weight:800}.add-student-button{min-height:62px;border-radius:20px;box-shadow:0 12px 28px #061e4217;letter-spacing:.01em}.dashboard-view{position:relative;align-content:center;gap:28px}.trainer--dashboard .dashboard-view{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding:32px 24px;overflow:hidden;background:#fff}.trainer--dashboard .dashboard-view:after{content:"";width:74px;height:8px;margin-top:auto;border-radius:999px;background:radial-gradient(circle,rgba(8,38,83,.34) 0 2px,transparent 2.8px),radial-gradient(circle,rgba(8,38,83,.18) 0 2px,transparent 2.8px);background-position:0 50%,22px 50%;background-size:22px 8px;opacity:.62}.dashboard-logout-button{position:absolute;top:22px;right:22px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 13px;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:0 10px 22px #061e4212;font-size:.86rem;font-weight:900}.dashboard-hero{display:grid;justify-items:center;gap:12px;width:100%;text-align:center}.trainer--dashboard .dashboard-hero{gap:0;padding-top:34px}.trainer--dashboard .logo-block{width:100%;gap:8px}.trainer--dashboard .logo-block img{width:min(70%,230px);max-width:230px;height:74px;margin-bottom:10px}.trainer--dashboard .logo-subtitle{width:min(100%,280px)}.trainer--dashboard .dashboard-hero h2{margin:36px 0 12px;font-size:clamp(2.18rem,8vw,2.85rem);line-height:1.08}.dashboard-hero p{margin:0;color:var(--ink-soft);font-size:1rem;font-weight:800}.trainer--dashboard .dashboard-hero p{max-width:330px;font-size:1rem;line-height:1.45}.dashboard-choice-grid{width:100%;display:grid;gap:14px}.trainer--dashboard .dashboard-choice-grid{gap:16px;margin-top:34px}.option-card{min-height:92px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;width:100%;padding:18px;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 16px 34px #061e4214;text-align:left}.trainer--dashboard .option-card{min-height:104px;padding:20px;border-radius:24px;box-shadow:0 18px 42px #061e421f}.option-card.is-locked{opacity:.55}.card-arrow-icon,.card-lock-icon{color:var(--navy)}.setup-view,.soroban-view,.playing-view,.answer-view,.result-view{min-height:100%;overflow-y:auto;background:var(--porcelain)}.setup-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);grid-template-areas:"welcome controls" "title controls" "modules controls" "modules start";gap:18px;padding:18px;position:relative}.welcome-strip{grid-area:welcome;min-height:170px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px;padding:24px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:var(--radius-lg);box-shadow:0 18px 40px #061e4229}.welcome-strip:before{content:"+  −  =";position:absolute;top:20px;right:30px;color:#ffffff1a;font-size:2.4rem;font-weight:900}.welcome-strip:after{content:"1 2 3";position:absolute;right:26px;bottom:-8px;color:#ffffff17;font-size:4.4rem;font-weight:900}.welcome-strip p{margin:0 0 8px;color:#ffffffb8;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.welcome-strip strong{display:block;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.05}.practice-stats-row{display:grid;grid-template-columns:repeat(3,minmax(78px,1fr));gap:8px;position:relative;z-index:1}.stat-card{min-height:82px;display:grid;place-items:center;gap:3px;padding:10px;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md)}.stat-card strong{font-size:1.16rem;font-weight:900}.stat-card small{color:#ffffffbd;font-size:.64rem;font-weight:900;text-transform:uppercase}.section-title{grid-area:title;display:flex;align-items:center;gap:9px;color:var(--ink);font-size:.86rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.module-list{grid-area:modules;display:grid;gap:12px;align-content:start}.module-card{display:grid;gap:8px}.module-folder,.level-button,.field-card,.digit-control,.summary-card{border-radius:var(--radius-lg)}.module-folder{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:16px;color:var(--navy);background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #061e4212;font-weight:900}.module-folder.is-expanded{color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-color:var(--navy)}.level-button.is-locked{color:var(--ink-faint);background:#f3f6fa;border-color:var(--line);box-shadow:none;opacity:.68}.level-button.is-locked small{color:var(--ink-faint)}.folder-label{min-width:0;display:inline-flex;align-items:center;gap:12px;text-align:left}.folder-label svg{width:36px;height:36px;padding:8px;border:1px solid currentColor;border-radius:var(--radius-sm)}.level-list{display:grid;gap:8px;padding-left:14px;border-left:4px solid var(--navy)}.level-button{min-height:68px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;width:100%;padding:14px 16px;color:var(--ink);background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px #061e420d;text-align:left}.level-button span,.level-button small{grid-column:1}.level-button span{font-weight:900}.level-button small{color:var(--ink-soft);font-size:.82rem;font-weight:800}.level-button.is-selected{border-color:var(--navy);box-shadow:inset 5px 0 0 var(--navy),0 14px 32px #061e4214}.practice-controls{grid-area:controls;display:grid;gap:14px;align-content:start}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-card,.digit-control{display:grid;gap:12px;padding:18px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #061e420f}.practice-controls>.stepper-card{width:100%}.kid-control-title{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--ink);font-size:1rem;font-weight:900}.digit-simple-stepper{min-height:74px;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:8px}.digit-simple-stepper button{display:grid;place-items:center;color:var(--navy);background:var(--porcelain);border:1px solid var(--line);border-radius:var(--radius-md)}.digit-simple-stepper button:disabled{opacity:.38}.digit-simple-stepper strong{display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:var(--radius-md);box-shadow:0 14px 28px #061e4229;font-size:clamp(2rem,4vw,2.8rem);font-weight:900;line-height:1}.practice-start-button{grid-area:start;align-self:end}.practice-reward-toast{position:absolute;top:18px;left:50%;z-index:5;width:min(calc(100% - 36px),440px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 24px 58px #061e4233;transform:translate(-50%)}.practice-reward-toast>svg{color:#fff;background:var(--navy);border-radius:var(--radius-sm);padding:4px}.practice-reward-toast div{display:grid;gap:2px;text-align:left}.practice-reward-toast strong{font-weight:900}.practice-reward-toast span{color:var(--ink-soft);font-size:.88rem;font-weight:800}.practice-reward-toast button{min-height:38px;padding:8px 12px;color:#fff;background:var(--navy);border:0;border-radius:var(--radius-sm);font-weight:900}.soroban-view{display:grid;gap:16px;padding:18px}.soroban-topbar{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:14px;align-items:center}.soroban-score{min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 18px;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 12px 30px #061e4212;font-size:1.1rem;font-weight:900}.segmented-control{min-height:58px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 12px 30px #061e4212}.segmented-control button{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--navy);background:var(--porcelain);border:1px solid transparent;border-radius:var(--radius-sm);font-weight:900}.segmented-control button.is-active{color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-color:var(--navy)}.soroban-target-row{display:grid;grid-template-columns:minmax(130px,.65fr) minmax(240px,1.35fr) minmax(130px,.65fr);gap:14px;align-items:stretch}.soroban-play-button,.soroban-reset-button{min-height:118px;display:grid;place-items:center;align-content:center;gap:8px;border-radius:var(--radius-lg);border:1px solid var(--line);font-size:1.08rem;font-weight:900}.soroban-play-button{color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-color:var(--navy);box-shadow:0 18px 36px #061e422e}.soroban-reset-button{color:var(--navy);background:#fff;box-shadow:0 14px 32px #061e4212}.soroban-target{min-height:118px;display:grid;justify-items:center;align-content:center;gap:10px;padding:18px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 14px 32px #061e4212}.soroban-target span{color:var(--ink-soft);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.soroban-target strong{min-width:min(100%,180px);min-height:58px;display:inline-flex;align-items:center;justify-content:center;padding:8px 20px;color:var(--navy);background:var(--porcelain);border:1px solid var(--line);border-radius:var(--radius-md);font-size:clamp(2rem,4vw,3rem);font-weight:900;line-height:1}.soroban-target strong.is-success{color:#fff;background:var(--navy);animation:numberPop .42s ease-out}.soroban-stage{display:grid;place-items:center;min-height:340px;padding:22px;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(135deg,var(--navy),var(--navy-2));background-size:28px 28px,28px 28px,auto;border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px #ffffff14}.soroban-frame{width:100%;max-width:760px;min-width:0;height:280px;position:relative;display:flex;justify-content:center;gap:clamp(22px,7vw,68px);padding:15px clamp(14px,4vw,38px);border-radius:var(--radius-lg);background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff24,0 22px 50px #0000002e}.soroban-frame--easy{max-width:380px;min-width:0;gap:clamp(48px,18vw,86px)}.soroban-frame--medium{max-width:520px;min-width:0;gap:clamp(34px,12vw,72px)}.soroban-frame--hard{max-width:660px;min-width:0;gap:clamp(22px,7vw,60px)}.soroban-beam{position:absolute;top:85px;left:14px;right:14px;z-index:4;height:14px;border-radius:999px;background:#06172f;box-shadow:0 8px 16px #00000047}.soroban-rod{width:8px;height:100%;position:relative;flex:0 0 8px;border-radius:999px;background:linear-gradient(90deg,#b9c4d4,#fff 50%,#91a0b5);box-shadow:inset 1px 0 4px #00000052}.soroban-bead{width:56px;height:26px;position:absolute;left:50%;z-index:7;padding:0;border-radius:999px;transform:translate(-50%);cursor:grab;touch-action:none;transition:top .19s cubic-bezier(.34,1.56,.64,1),filter .16s ease,box-shadow .16s ease;box-shadow:inset 0 3px 4px #ffffff9e,inset 0 -5px 7px #00000047,0 6px 8px #0000004d}.soroban-rod.is-dragging .soroban-bead{transition:none}.soroban-bead:disabled{cursor:not-allowed}.soroban-bead--upper{background:radial-gradient(ellipse at 50% 28%,#fff,#eef3f9 70%,#9caabd);border:1px solid rgba(6,30,66,.38)}.soroban-bead--lower{background:radial-gradient(ellipse at 50% 28%,#dbeafe,#194b86 70%,#061936);border:1px solid rgba(2,8,23,.82)}.soroban-place-dot{width:7px;height:7px;position:absolute;left:50%;top:88px;z-index:5;border-radius:999px;transform:translate(-50%,-50%);background:#fff}.playing-view,.answer-view,.result-view{display:grid;gap:18px;padding:24px}.playing-view{grid-template-rows:auto 1fr auto}.playing-topbar{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}.practice-badge,.practice-live-score,.playing-dashboard-button,.answer-dashboard-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);font-weight:900}.practice-badge,.practice-live-score{color:var(--navy);background:#fff;border:1px solid var(--line)}.practice-live-score span{color:var(--ink-soft);font-size:.78rem;text-transform:uppercase}.playing-dashboard-button,.answer-dashboard-button{color:#fff;background:var(--navy);border:1px solid var(--navy);box-shadow:0 14px 28px #061e4224}.number-stage{min-height:380px;display:grid;place-items:center;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg)}.ready-message{display:grid;place-items:center;gap:14px;color:var(--navy);font-size:1.8rem;font-weight:900;text-transform:uppercase;animation:softPulse .9s ease-in-out infinite alternate}.flash-number{width:100%;animation:numberPop .13s ease-out}.number-display{min-height:230px;display:flex;align-items:baseline;justify-content:center;gap:10px;width:100%;color:var(--navy);font-weight:900;line-height:.95;text-align:center;overflow-wrap:anywhere}.number-display--giant{font-size:8rem}.number-display--large{font-size:6.4rem}.number-display--medium{font-size:4.8rem}.number-display--small{font-size:3.55rem}.number-display--tiny{font-size:2.45rem}.sign--minus{color:var(--ink-soft)}.progress-panel{display:grid;gap:11px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg)}.progress-track{height:10px;overflow:hidden;background:#e8edf4;border-radius:999px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--navy),var(--navy-3));border-radius:999px;transition:width .24s ease}.progress-copy{display:flex;justify-content:space-between;color:var(--ink-soft);font-size:.8rem;font-weight:900;text-transform:uppercase}.progress-copy strong{color:var(--navy)}.answer-view,.result-view{position:relative;place-items:center;align-content:center;text-align:center}.answer-dashboard-button{width:auto;position:absolute;top:22px;right:22px}.answer-heading{display:grid;justify-items:center;gap:10px;max-width:430px}.answer-heading svg{color:var(--navy)}.answer-heading h2,.result-title h2{margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,2.8rem);line-height:1.05}.answer-heading p,.result-title p{margin:0;color:var(--ink-soft);font-weight:800}.answer-input{width:min(100%,440px);height:112px;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);outline:none;text-align:center;font-size:4rem;font-weight:900}.answer-input:focus{border-color:var(--navy);box-shadow:0 0 0 4px #08265314}.result-icon{width:108px;height:108px;display:grid;place-items:center;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg)}.result-icon--success{color:#fff;background:var(--navy)}.answer-summary{width:min(100%,520px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-card{display:grid;gap:6px;padding:17px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg)}.summary-card span{color:var(--ink-soft);font-size:.78rem;font-weight:900;text-transform:uppercase}.summary-card strong{color:var(--navy);font-size:1.85rem;overflow-wrap:anywhere}.summary-card--answer{color:#fff;background:var(--navy);border-color:var(--navy)}.summary-card--answer span,.summary-card--answer strong{color:#fff}.error-text{color:var(--ink-soft)!important}@keyframes numberPop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes softPulse{0%{transform:translateY(0)}to{transform:translateY(-5px)}}@media(max-width:780px){.app-shell{justify-content:flex-start;padding:12px}.trainer{width:100%;min-height:calc(100vh - 52px)}.trainer--entry{min-height:auto}.trainer--login{width:min(480px,calc(100vw - 24px));min-height:78vh;margin-top:12px;border-radius:34px}.trainer--profiles{min-height:calc(100vh - 82px);margin-block:4px 0}.trainer--dashboard{width:min(520px,calc(100vw - 24px));min-height:78vh;margin-top:12px;border-radius:34px}.trainer-header{min-height:auto;flex-direction:column;align-items:stretch;margin:10px 10px 0;padding:12px}.brand-logo{width:112px;height:48px}.header-home-button{width:100%}.setup-view{grid-template-columns:1fr;grid-template-areas:"welcome" "title" "modules" "controls" "start";padding:12px}.welcome-strip{grid-template-columns:1fr}.practice-stats-row{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.soroban-topbar{grid-template-columns:1fr}.soroban-target-row{grid-template-columns:minmax(82px,.74fr) minmax(132px,1.35fr) minmax(82px,.74fr);gap:8px}.soroban-play-button,.soroban-reset-button{min-height:98px;font-size:.95rem}.soroban-stage{padding:14px}.soroban-frame{width:100%;min-width:0;gap:clamp(22px,7vw,42px);padding-inline:clamp(14px,4vw,24px)}.soroban-frame--easy{min-width:0;gap:clamp(48px,18vw,60px)}.soroban-frame--medium{min-width:0;gap:clamp(34px,12vw,50px)}.soroban-frame--hard{min-width:0;gap:clamp(22px,7vw,42px)}.soroban-bead{width:44px}.playing-topbar{grid-template-columns:1fr 1fr}.playing-dashboard-button{grid-column:1 / -1}.number-stage{min-height:320px}.number-display--giant{font-size:5.6rem}.number-display--large{font-size:4.6rem}.number-display--medium{font-size:3.5rem}.number-display--small{font-size:2.7rem}.number-display--tiny{font-size:2rem}}@media(max-width:480px){.app-shell{padding:10px}.trainer{border-radius:28px}.trainer--login{width:min(480px,calc(100vw - 24px));min-height:78vh;border-radius:34px}.trainer--dashboard{width:min(520px,calc(100vw - 24px));min-height:78vh;border-radius:34px}.login-view,.profiles-view,.dashboard-view{padding:22px 16px}.trainer--login .login-view,.trainer--dashboard .dashboard-view{padding:32px 24px}.logo-block img{width:min(100%,224px);height:82px}.trainer--login .logo-block img,.trainer--dashboard .logo-block img{width:min(70%,230px);height:72px;margin-bottom:10px}.trainer--profiles .profiles-view{padding:28px 22px 30px}.trainer--profiles .logo-block img{width:min(100%,228px);height:70px}.logo-subtitle{gap:9px;font-size:.66rem}.login-panel h1,.profiles-panel h1,.dashboard-hero h2{font-size:2.15rem}.trainer--login .login-panel h1{margin-top:36px;margin-bottom:24px;font-size:2.38rem}.trainer--dashboard .dashboard-hero h2{margin-top:34px;margin-bottom:12px;font-size:2.25rem}.student-card,.option-card{min-height:82px;gap:12px;padding:10px}.trainer--dashboard .option-card{min-height:100px;padding:18px}.trainer--profiles .student-card{min-height:100px;padding:14px}.student-card-main{gap:10px;padding-right:2px}.trainer--profiles .student-card-main{min-height:70px;gap:14px}.student-card-icon,.option-card-icon{width:44px;height:44px}.trainer--profiles .student-card-icon{width:54px;height:54px}.dashboard-logout-button{top:14px;right:14px}.settings-grid,.answer-summary{grid-template-columns:1fr}.practice-stats-row{gap:6px}.stat-card{min-height:72px;padding:8px 6px}.digit-simple-stepper{grid-template-columns:50px minmax(0,1fr) 50px}.soroban-target-row{grid-template-columns:repeat(2,minmax(0,1fr))}.soroban-target{grid-column:1 / -1;order:-1}.soroban-play-button,.soroban-reset-button{min-height:68px}.soroban-frame{width:100%;min-width:0;height:270px;gap:clamp(18px,6vw,28px);padding-inline:clamp(12px,4vw,18px)}.soroban-frame--easy{min-width:0;gap:clamp(42px,16vw,48px)}.soroban-frame--medium{min-width:0;gap:clamp(30px,10vw,40px)}.soroban-frame--hard{min-width:0;gap:clamp(18px,6vw,32px)}.soroban-bead{width:38px}.answer-dashboard-button{top:12px;right:12px;min-height:42px;padding:8px 10px;font-size:.82rem}.answer-view,.result-view,.playing-view{padding:18px 14px}.answer-input{height:96px;font-size:3.2rem}.practice-reward-toast{grid-template-columns:auto 1fr}.practice-reward-toast button{grid-column:1 / -1;width:100%}}@media(min-width:768px){.app-shell{padding:24px;justify-content:center}.trainer{width:min(100%,860px);min-height:min(760px,calc(100vh - 104px));border-radius:36px}.trainer--entry{width:min(100%,640px)}.trainer--login,.trainer--profiles,.trainer--dashboard{width:min(100%,640px);min-height:clamp(620px,72vh,720px);border-radius:36px}.trainer--login .login-view,.trainer--profiles .profiles-view,.trainer--dashboard .dashboard-view{padding:40px 38px}.logo-block img{width:min(100%,300px);height:104px}.trainer--login .logo-block img,.trainer--profiles .logo-block img,.trainer--dashboard .logo-block img{width:min(70%,300px);max-width:300px;height:92px}.logo-subtitle,.trainer--login .logo-subtitle,.trainer--profiles .logo-subtitle,.trainer--dashboard .logo-subtitle{width:min(100%,330px);font-size:.78rem}.trainer--login .login-panel h1{font-size:clamp(2.6rem,5.5vw,3rem)}.trainer--profiles .profiles-panel h1{font-size:clamp(2.6rem,5.2vw,3.2rem)}.trainer--dashboard .dashboard-hero h2{font-size:clamp(2.45rem,5.2vw,3.05rem)}.trainer--dashboard .dashboard-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:38px}.trainer--dashboard .option-card{min-height:126px;align-content:center}.trainer-header{min-height:104px;flex-direction:row;align-items:center;margin:16px 16px 0;padding:16px 18px}.brand-logo{width:156px;height:64px}.header-home-button{width:auto}.setup-view{grid-template-columns:minmax(0,1fr) minmax(290px,330px);grid-template-areas:"welcome controls" "title controls" "modules controls" "modules start";gap:18px;padding:18px}.welcome-strip{grid-template-columns:1fr auto}.soroban-topbar{grid-template-columns:minmax(120px,auto) 1fr}.soroban-target-row{grid-template-columns:minmax(130px,.65fr) minmax(240px,1.35fr) minmax(130px,.65fr);gap:14px}.soroban-target{grid-column:auto;order:initial}.soroban-play-button,.soroban-reset-button,.soroban-target{min-height:116px}.soroban-stage{min-height:360px;padding:20px}.soroban-bead{width:50px}.playing-topbar{grid-template-columns:1fr auto auto}.playing-dashboard-button{grid-column:auto}.answer-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.app-shell{padding:40px}.trainer{width:min(100%,1080px);min-height:min(780px,calc(100vh - 112px))}.trainer--login,.trainer--profiles,.trainer--dashboard{width:min(100%,720px);min-height:clamp(650px,70vh,720px)}.trainer--login .login-view,.trainer--profiles .profiles-view,.trainer--dashboard .dashboard-view{padding:44px 48px}.trainer--login .logo-block img,.trainer--profiles .logo-block img,.trainer--dashboard .logo-block img{width:min(64%,340px);max-width:340px;height:104px}.trainer--login .login-panel h1,.trainer--profiles .profiles-panel h1,.trainer--dashboard .dashboard-hero h2{font-size:clamp(2.8rem,3.8vw,3.25rem)}.trainer--dashboard .dashboard-choice-grid{gap:20px}.trainer--dashboard .option-card{min-height:132px}.brand-logo{width:176px;height:70px}.brand-text h1{font-size:clamp(1.45rem,2vw,2.15rem)}.setup-view{grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:20px;padding:22px}.soroban-view{gap:18px;padding:22px}.soroban-stage{min-height:390px;padding:24px}.soroban-frame{max-width:820px}}@media(min-width:1280px){.app-shell{padding:56px}.trainer{width:min(100%,1180px)}.trainer--login,.trainer--profiles,.trainer--dashboard{width:min(100%,760px)}.setup-view{grid-template-columns:minmax(0,1fr) minmax(340px,380px);padding:24px}.soroban-frame{max-width:880px}}:root{--surface: var(--paper);--surface-soft: var(--porcelain);--border: var(--line);--muted: var(--ink-soft)}.app-shell{width:100%;height:100vh;min-height:100vh;height:100svh;min-height:100svh;height:100dvh;min-height:100dvh;display:flex;align-items:stretch;justify-content:center;gap:0;padding:8px;overflow:hidden;background:#fff}.app-shell:before,.app-shell:after,.math-pattern{display:none}.trainer{width:100%;height:100%;max-width:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow-y:auto;overflow-x:hidden;border-radius:24px}.trainer--entry,.trainer--login,.trainer--profiles,.trainer--dashboard{width:100%;height:100%;max-width:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto;margin:0;border-radius:28px}.trainer--login,.trainer--dashboard{align-items:stretch}.trainer--login .trainer-body,.trainer--profiles .trainer-body,.trainer--dashboard .trainer-body{min-height:0;display:flex}.trainer-body{min-height:0;overflow:hidden}.login-view,.profiles-view,.dashboard-view{width:100%;flex:1;min-height:0;padding:22px 18px;overflow-y:auto}.trainer--login .login-view,.trainer--profiles .profiles-view,.trainer--dashboard .dashboard-view{padding:22px 18px;overflow-y:auto}.login-panel,.profiles-panel{min-height:100%}.trainer--login .login-panel,.trainer--profiles .profiles-panel,.trainer--dashboard .dashboard-view{justify-content:center}.trainer--login .login-panel,.trainer--profiles .profiles-panel{width:100%;max-width:560px;margin-inline:auto}.trainer--dashboard .dashboard-hero,.trainer--dashboard .dashboard-choice-grid{width:min(100%,760px)}.trainer--login .login-panel:after,.trainer--dashboard .dashboard-view:after{flex:0 0 auto;margin-top:clamp(18px,4vh,34px)}.trainer--login .login-submit-button{width:min(100%,390px)}.profiles-panel{display:flex;flex-direction:column;justify-content:center}.trainer--dashboard .dashboard-view{justify-content:center}.trainer--dashboard .dashboard-hero{padding-top:0}.student-profile-list{max-height:min(420px,40svh)}.setup-view,.soroban-view,.playing-view,.answer-view,.result-view{min-height:100%}.page-footer,.trainer--profiles+.page-footer,.trainer--dashboard+.page-footer{position:relative;z-index:1;width:100%;margin:0;padding:7px 12px 9px;color:#061e4270;font-size:clamp(.68rem,1.65vw,.82rem);font-weight:900;letter-spacing:.1em;line-height:1.3;text-align:center;pointer-events:none}@media(min-width:400px){.app-shell{padding:8px}}@media(min-width:768px){.app-shell{gap:0;padding:10px}.trainer{max-width:100%;height:100%;min-height:0;border-radius:32px}.trainer--entry,.trainer--login,.trainer--profiles,.trainer--dashboard{max-width:100%;height:100%;min-height:0;border-radius:34px}.login-view,.profiles-view,.dashboard-view,.trainer--login .login-view,.trainer--profiles .profiles-view,.trainer--dashboard .dashboard-view{padding:30px 34px}.trainer--dashboard .dashboard-hero{padding-top:0}}@media(min-width:1024px){.app-shell{padding:12px}.trainer{max-width:100%;height:100%;min-height:0;border-radius:34px}.trainer--entry,.trainer--login,.trainer--profiles,.trainer--dashboard{max-width:100%;height:100%;min-height:0;border-radius:36px}.login-view,.profiles-view,.dashboard-view,.trainer--login .login-view,.trainer--profiles .profiles-view,.trainer--dashboard .dashboard-view{padding:34px 42px}.trainer--dashboard .dashboard-hero{padding-top:0}}@media(min-width:1280px){.app-shell{padding:12px}.trainer,.trainer--entry,.trainer--login,.trainer--profiles,.trainer--dashboard{max-width:100%}}html,body,#root{min-height:100%;background:var(--navy-2)}body{overflow-x:hidden;overflow-y:auto}.app-shell{width:100%;min-height:100vh;min-height:100dvh;height:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:8px;overflow-x:hidden;overflow-y:auto;background:var(--navy-2);background-image:none}.app-shell:before,.app-shell:after,.math-pattern,.math-pattern:before{display:none;content:none}.trainer{width:100%;max-width:100%;min-height:calc(100dvh - 50px);height:auto;display:grid;grid-template-rows:auto 1fr;overflow:visible;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:26px;box-shadow:0 24px 70px #0003}.trainer--entry,.trainer--login,.trainer--profiles,.trainer--dashboard{width:100%;max-width:520px;min-height:calc(100dvh - 50px);height:auto;display:flex;flex-direction:column;align-items:stretch;margin:0;border-radius:28px}.trainer-body{width:100%;min-height:0;overflow:visible}.trainer--login .trainer-body,.trainer--profiles .trainer-body,.trainer--dashboard .trainer-body{min-height:0;display:flex;flex:1}.login-view,.profiles-view,.dashboard-view{width:100%;min-height:0;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:24px 18px;overflow:visible;background:#fff}.trainer--login .login-view,.trainer--profiles .profiles-view,.trainer--dashboard .dashboard-view{padding:24px 18px;overflow:visible}.login-panel,.profiles-panel{width:100%;max-width:560px;min-height:auto;margin-inline:auto}.profiles-panel{justify-content:center}.trainer--dashboard .dashboard-view{position:relative;justify-content:center;gap:26px;background:#fff}.trainer--dashboard .dashboard-hero,.trainer--dashboard .dashboard-choice-grid{width:min(100%,760px);margin-inline:auto}.trainer--dashboard .dashboard-hero{padding-top:18px}.trainer--login .login-panel:after,.trainer--dashboard .dashboard-view:after,.welcome-strip:before,.welcome-strip:after{display:none;content:none}.setup-view,.soroban-view,.playing-view,.answer-view,.result-view{min-height:auto;overflow:visible;background:var(--porcelain)}.setup-view{align-items:start;padding:14px}.practice-controls,.module-list{min-width:0}.soroban-view{align-content:start;padding:14px}.soroban-stage{min-height:330px;overflow:visible;background:linear-gradient(135deg,var(--navy),var(--navy-2));background-size:auto}.soroban-frame{max-width:min(100%,820px)}.primary-button,.primary-button--navy,.module-folder.is-expanded,.welcome-strip,.digit-simple-stepper strong,.soroban-play-button,.segmented-control button.is-active,.student-card-icon,.option-card-icon{background:var(--navy)}.settings-grid .field-card{padding:14px}.settings-grid .digit-simple-stepper{grid-template-columns:46px minmax(64px,1fr) 46px;gap:6px}.settings-grid .digit-simple-stepper button{min-width:0}.settings-grid .digit-simple-stepper strong{min-width:64px;font-size:clamp(1.75rem,2.8vw,2.35rem)}.app-dialog-backdrop{position:absolute;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:#061e4247;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-dialog{width:min(100%,430px);display:grid;justify-items:center;gap:16px;padding:26px 22px 22px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 28px 76px #061e4247;text-align:center}.app-dialog-icon{width:62px;height:62px;display:grid;place-items:center;color:#fff;background:var(--navy);border-radius:20px;box-shadow:0 16px 34px #061e422e}.app-dialog--danger .app-dialog-icon{color:var(--navy);background:#f4f7fb;border:1px solid var(--line)}.app-dialog-copy{display:grid;gap:8px}.app-dialog-copy h2{margin:0;color:var(--ink);font-size:clamp(1.75rem,5vw,2.25rem);line-height:1.05}.app-dialog-copy p{margin:0;color:var(--ink-soft);font-size:.98rem;font-weight:800;line-height:1.5}.app-dialog-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}.app-dialog-actions.is-single{grid-template-columns:1fr}.app-dialog-button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:17px;font-weight:900}.app-dialog-button--primary{color:#fff;background:var(--navy);border:1px solid var(--navy);box-shadow:0 14px 30px #061e422e}.app-dialog-button--secondary{color:var(--navy);background:#fff;border:1px solid var(--line)}.page-footer,.trainer--profiles+.page-footer,.trainer--dashboard+.page-footer{width:100%;margin:0 0 2px;padding:0 8px;color:#ffffffe0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(.72rem,1.35vw,.86rem);font-weight:900;letter-spacing:.11em;line-height:1.35;text-align:center;text-transform:uppercase;pointer-events:none}@media(max-width:780px){.app-shell{padding:8px}.trainer{min-height:calc(100dvh - 50px);border-radius:24px}.trainer--entry,.trainer--login,.trainer--profiles,.trainer--dashboard{width:100%;max-width:520px;min-height:calc(100dvh - 50px);border-radius:26px}.trainer-header{margin:8px 8px 0;padding:10px}.setup-view{grid-template-columns:1fr;grid-template-areas:"welcome" "title" "modules" "controls" "start";gap:12px}.welcome-strip{min-height:148px;padding:18px}.soroban-topbar{grid-template-columns:1fr;gap:10px}.soroban-target-row{grid-template-columns:minmax(78px,.72fr) minmax(132px,1.56fr) minmax(78px,.72fr);gap:8px}.soroban-target{grid-column:auto;order:initial}.soroban-play-button,.soroban-reset-button,.soroban-target{min-width:0;min-height:112px;border-radius:22px}.soroban-play-button,.soroban-reset-button{font-size:.95rem;padding:10px 6px}.soroban-target{padding:12px 8px}.soroban-target span{font-size:.68rem;line-height:1.28}.soroban-target strong{min-width:min(100%,118px);min-height:54px;padding:8px 12px;font-size:clamp(2rem,9vw,2.65rem)}.soroban-stage{min-height:315px;padding:12px}}@media(min-width:768px){.app-shell{gap:10px;padding:12px}.trainer{max-width:860px;min-height:calc(100dvh - 64px);border-radius:32px}.trainer--entry,.trainer--login,.trainer--profiles,.trainer--dashboard{max-width:640px;min-height:calc(100dvh - 64px);border-radius:34px}.login-view,.profiles-view,.dashboard-view,.trainer--login .login-view,.trainer--profiles .profiles-view,.trainer--dashboard .dashboard-view{padding:32px 34px}.setup-view{grid-template-columns:minmax(0,1fr) minmax(290px,330px);gap:18px;padding:18px}.soroban-view{gap:16px;padding:18px}.soroban-stage{min-height:360px;padding:20px}}@media(min-width:768px)and (max-width:1023px){.settings-grid{grid-template-columns:1fr}}@media(min-width:1024px){.app-shell{gap:10px;padding:16px}.trainer{max-width:1120px;min-height:calc(100dvh - 74px);border-radius:34px}.trainer--entry,.trainer--login,.trainer--profiles,.trainer--dashboard{max-width:760px;min-height:calc(100dvh - 74px);border-radius:36px}.login-view,.profiles-view,.dashboard-view,.trainer--login .login-view,.trainer--profiles .profiles-view,.trainer--dashboard .dashboard-view{padding:38px 42px}.setup-view{grid-template-columns:minmax(0,1fr) minmax(420px,460px);gap:20px;padding:22px}.soroban-view{gap:18px;padding:22px}.soroban-stage{min-height:390px;padding:24px}}@media(min-width:1280px){.trainer{max-width:1200px}.trainer--entry,.trainer--login,.trainer--profiles,.trainer--dashboard{max-width:760px}}.trainer,.trainer--entry,.trainer--login,.trainer--profiles,.trainer--dashboard{overflow:hidden;background-clip:padding-box}.trainer{isolation:isolate}.soroban-frame{--rod-gap: clamp(38px, 8vw, 78px);gap:var(--rod-gap);padding-inline:clamp(18px,5vw,46px)}.soroban-frame--easy{max-width:430px;--rod-gap: clamp(68px, 18vw, 104px)}.soroban-frame--medium{max-width:620px;--rod-gap: clamp(48px, 12vw, 88px)}.soroban-frame--hard{max-width:760px;--rod-gap: clamp(34px, 8vw, 76px)}@media(max-width:560px){.soroban-frame{padding-inline:clamp(14px,4vw,20px)}.soroban-frame--easy{--rod-gap: clamp(62px, 18vw, 78px)}.soroban-frame--medium{--rod-gap: clamp(42px, 12vw, 58px)}.soroban-frame--hard{--rod-gap: clamp(42px, 11vw, 58px)}.soroban-bead{width:clamp(38px,10vw,48px)}}@media(max-width:390px){.soroban-frame--hard{--rod-gap: clamp(40px, 11vw, 46px)}.soroban-bead{width:clamp(36px,9.5vw,40px)}}.trainer--admin{width:min(100%,920px);min-height:min(780px,calc(100vh - 96px));overflow:hidden;background-clip:padding-box}.trainer--admin .trainer-body{min-height:100%;overflow:hidden}.admin-view{min-height:100%;display:flex;flex-direction:column;gap:18px;padding:clamp(20px,4vw,34px);overflow-y:auto;background:#fff}.admin-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:clamp(18px,3vw,24px);color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:var(--radius-lg);box-shadow:0 18px 40px #061e422e}.admin-heading{min-width:0}.admin-heading .brand-kicker{color:#ffffffb8}.admin-heading h2{margin:6px 0 8px;color:#fff;font-size:clamp(2rem,5vw,3rem);line-height:1.05}.admin-heading p{margin:0;color:#ffffffc7;font-size:.98rem;font-weight:800}.admin-actions{display:flex;align-items:center;gap:10px}.admin-refresh-button,.admin-logout-button{position:static;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 13px;color:var(--navy);background:#fff;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-sm);box-shadow:0 10px 22px #061e421f;font-size:.86rem;font-weight:900;white-space:nowrap}.admin-refresh-button:disabled{opacity:.68}.admin-filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:6px;background:var(--porcelain);border:1px solid var(--line);border-radius:var(--radius-md)}.admin-filter-bar button{min-height:46px;padding:9px 12px;color:var(--navy);background:#fff;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.88rem;font-weight:900;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.admin-filter-bar button.is-selected{color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-color:var(--navy);box-shadow:0 12px 24px #061e4224}.admin-report-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px}.admin-report-card,.admin-empty-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 18px 40px #061e421a}.admin-empty-card{color:var(--ink-soft);font-weight:900;text-align:center}.admin-report-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-report-topline span{display:block;color:var(--ink-soft);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.admin-report-topline h3{margin:5px 0 0;color:var(--ink);font-size:1.35rem;line-height:1.15}.admin-success-rate{min-width:68px;min-height:52px;display:grid;place-items:center;gap:2px;color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:var(--radius-sm)}.admin-success-rate span{color:#ffffffb8;font-size:.62rem}.admin-success-rate strong{font-size:1.15rem}.admin-report-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.admin-report-stats span{min-height:74px;display:grid;place-items:center;gap:4px;padding:10px 8px;background:var(--porcelain);border:1px solid var(--line-soft);border-radius:var(--radius-sm);text-align:center}.admin-report-stats strong{color:var(--navy);font-size:1.4rem;line-height:1}.admin-report-stats small{color:var(--ink-soft);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.admin-level-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.admin-level-insights p{display:grid;gap:5px;min-height:82px;margin:0;padding:13px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}.admin-level-insights strong{color:var(--ink);font-size:.78rem;line-height:1.2}.admin-level-insights span{color:var(--ink-soft);font-size:.9rem;font-weight:900;line-height:1.3}.admin-level-list{display:grid;gap:9px;margin-bottom:16px}.admin-level-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr);align-items:center;gap:12px;padding:12px;background:var(--porcelain);border:1px solid var(--line-soft);border-radius:var(--radius-sm)}.admin-level-name{min-width:0;display:grid;gap:4px}.admin-level-name strong{color:var(--ink);font-size:.95rem;line-height:1.2}.admin-level-name span{color:var(--ink-soft);font-size:.78rem;font-weight:900}.admin-level-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.admin-level-stats span{display:grid;justify-items:center;gap:2px;min-width:0;padding:8px 5px;background:#fff;border:1px solid var(--line);border-radius:12px;text-align:center}.admin-level-stats strong{color:var(--navy);font-size:1rem;line-height:1}.admin-level-stats small{color:var(--ink-soft);font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.admin-report-meta{display:grid;gap:10px}.admin-report-meta p{display:grid;gap:4px;margin:0}.admin-report-meta strong{color:var(--ink);font-size:.82rem}.admin-report-meta span{color:var(--ink-soft);font-size:.92rem;font-weight:800;line-height:1.35}@media(max-width:680px){.trainer--admin{min-height:100vh;border-radius:0}.admin-header{grid-template-columns:1fr}.admin-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.admin-level-row{grid-template-columns:1fr}}@media(max-width:420px){.admin-view{padding:14px}.admin-report-stats,.admin-actions,.admin-filter-bar,.admin-level-insights{grid-template-columns:1fr}}
