:root{--paper:#fff8df;--page:#fffdf3;--page-2:#fff1cf;--ink:#243044;--muted:#6c7184;--line:#dbcda7;--teal:#168b8f;--coral:#df654b;--indigo:#5d55b7;--green:#4c935f;--yellow:#e6ad35;--rose:#c75c87;--amber:#c9832d;--blue:#3577b8;--violet:#7b5ac8;--mint:#238d82;--lime:#7c9c2d;--sky:#2e8aae;--orange:#d47435;--plum:#97598e;--navy:#344f86;--ok:#227a4f;--ok-bg:#e5f6df;--no:#b94258;--no-bg:#ffe6e4;--accent:var(--teal);--shadow:0 18px 34px -26px #4331267a;--surface:#ffffffc7;--surface-strong:#ffffffeb;--readable-small:15px;--readable-text:17px;--readable-large:19px;--report-text:18px;--report-title:20px;--hero-title:46px;--font:"Pretendard", "Pretendard Variable", system-ui, -apple-system, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}@media (width>=1280px){:root{--readable-small:16px;--readable-text:18px;--readable-large:20px;--report-text:19px;--report-title:21px;--hero-title:50px}}@media (width>=1600px){:root{--readable-small:16px;--readable-text:19px;--readable-large:21px;--report-text:20px;--report-title:22px;--hero-title:54px}}*{box-sizing:border-box}html,body,#root{min-height:100svh;margin:0}html{scrollbar-width:thin;scrollbar-color:#2430441f transparent}body{color:var(--ink);font-size:var(--readable-text);background-color:#0000;background-image:linear-gradient(145deg,#fff8e1f5 0%,#e8f7f2f0 48%,#ece7fbe6 100%),linear-gradient(90deg,#168b8f0f,#0000 28%,#df654b0d 68%,#0000),repeating-linear-gradient(90deg,#24304409 0 1px,#0000 1px 48px);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}body::-webkit-scrollbar{width:4px;height:4px}.practice-shell::-webkit-scrollbar{width:4px;height:4px}.problem-panel::-webkit-scrollbar{width:4px;height:4px}.session-panel::-webkit-scrollbar{width:4px;height:4px}body::-webkit-scrollbar-track{background:0 0}.practice-shell::-webkit-scrollbar-track{background:0 0}.problem-panel::-webkit-scrollbar-track{background:0 0}.session-panel::-webkit-scrollbar-track{background:0 0}body::-webkit-scrollbar-thumb{background:#2430441f;border-radius:999px}.practice-shell::-webkit-scrollbar-thumb{background:#2430441f;border-radius:999px}.problem-panel::-webkit-scrollbar-thumb{background:#2430441f;border-radius:999px}.session-panel::-webkit-scrollbar-thumb{background:#2430441f;border-radius:999px}body:hover::-webkit-scrollbar-thumb{background:#24304438}.practice-shell:hover::-webkit-scrollbar-thumb{background:#24304438}.problem-panel:hover::-webkit-scrollbar-thumb{background:#24304438}.session-panel:hover::-webkit-scrollbar-thumb{background:#24304438}body:before{content:"";pointer-events:none;opacity:.28;background:linear-gradient(160deg,#0000 0 54%,#86bf85 55% 100%),linear-gradient(25deg,#0000 0 54%,#6fae75 55% 100%);height:180px;position:fixed;inset:auto 0 0}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, white);outline-offset:2px}.app{min-height:100svh;padding:12px;position:relative}.home-app{justify-content:center;display:flex}.reader-shell,.practice-shell{scrollbar-width:thin;scrollbar-color:#2430441f transparent;width:min(1760px,100%);margin:0 auto}.reader-top,.practice-top{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.reader-top h1,.practice-heading h1{letter-spacing:0;margin:4px 0 0;font-size:35px;line-height:1.15}.reader-actions{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:8px;display:flex}.management-toggle-btn{text-align:center;align-content:center;gap:3px;min-width:132px;padding-block:6px;display:grid}.management-toggle-btn.active{color:#fffaf0;border-color:var(--teal);background:linear-gradient(135deg, var(--teal), var(--indigo))}.management-toggle-btn small{color:inherit;opacity:.86;font-size:11px;font-weight:850;line-height:1.15;display:block}.registration-drawer{background:#fffdf3bd;border:2px solid #7d5c3729;border-radius:8px;gap:10px;margin:-6px 0 14px;padding:10px;display:grid;box-shadow:0 14px 24px -24px #43312675}.registration-drawer-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.registration-drawer-head strong{color:var(--ink);font-size:17px;line-height:1.25;display:block}.registration-menu-bar{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;margin:0 0 10px;display:grid}.registration-menu-bar button{min-height:42px;color:var(--ink);word-break:keep-all;background:#fffdf3e6;border:2px solid #7d5c3738;border-radius:8px;padding:0 12px;font-size:14px;font-weight:950}.registration-menu-bar button.active{color:#fffaf0;border-color:var(--teal);background:linear-gradient(135deg, var(--teal), var(--coral))}.registration-panel{box-shadow:var(--shadow);background:linear-gradient(135deg,#fffdf3eb,#ecfaf6d1),radial-gradient(circle at 100% 0,#df654b1f,#0000 42%);border:2px solid #7d5c3733;border-radius:8px;gap:10px;margin-bottom:14px;padding:14px;display:grid}.registration-form{grid-template-columns:minmax(220px,1fr) auto minmax(180px,.8fr);align-items:end;gap:10px;display:grid}.class-registration-form,.student-registration-form{grid-template-columns:repeat(3,minmax(160px,1fr)) auto auto}.student-registration-form{grid-template-columns:repeat(4,minmax(150px,1fr)) auto auto}.student-registration-form .wide-field{grid-column:span 2}.class-grade-menu{background:linear-gradient(135deg,#ecfaf6e6,#fffdf3f0);border:1px solid #1f857933;border-radius:8px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.class-grade-menu>span{color:var(--teal);font-size:var(--readable-small);font-weight:950}.class-grade-menu>div{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.class-grade-menu button{min-height:42px;color:var(--ink);font-size:var(--readable-small);white-space:nowrap;background:#ffffffc7;border:1px solid #1f857938;border-radius:8px;padding:0 10px;font-weight:950}.class-grade-menu button.active{color:#fffaf0;border-color:var(--teal);background:linear-gradient(135deg, var(--teal), var(--indigo))}.class-grade-menu small{color:var(--muted);font-size:var(--readable-small);word-break:keep-all;font-weight:900;line-height:1.35}.learner-field textarea{resize:vertical;min-height:74px;color:var(--ink);font:inherit;font-size:var(--readable-small);background:#fffdf3db;border:2px solid #7d5c372e;border-radius:8px;padding:10px 12px;line-height:1.45}.password-reset-note{min-height:44px;color:var(--teal-dark);overflow-wrap:anywhere;background:#ecfaf6c7;border:2px solid #1a776e33;border-radius:8px;align-content:center;padding:9px 11px;font-weight:950;display:grid}.google-client-form{grid-template-columns:minmax(280px,1fr) auto minmax(220px,.8fr)}.local-admin-login-form{grid-template-columns:minmax(220px,1fr) auto minmax(220px,.9fr)}.local-admin-setup-form{grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) minmax(160px,1fr) auto minmax(180px,.8fr)}.auth-login-form{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto auto}.signup-registration-form{grid-template-columns:repeat(4,minmax(150px,1fr))}.mode-status-strip{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(220px,1.2fr);align-items:stretch;gap:8px;display:grid}.mode-status-strip div,.mode-status-strip small,.auth-session-card,.terms-box,.terms-check,.auth-lock-note{background:#ffffff9e;border:2px solid #7d5c3729;border-radius:8px;padding:11px}.mode-status-strip span,.auth-session-card span{color:var(--muted);font-size:12px;font-weight:950;display:block}.mode-status-strip strong,.auth-session-card strong{color:var(--ink);word-break:keep-all;margin-top:4px;font-size:16px;line-height:1.25;display:block}.mode-status-strip small,.auth-session-card small,.auth-lock-note{color:var(--muted);word-break:keep-all;font-size:12px;font-weight:900;line-height:1.45}.auth-session-card{min-height:68px}.admin-management-panel{gap:12px;display:grid}.admin-google-login-panel,.local-admin-panel,.google-login-box{gap:10px;display:grid}.google-login-box{background:#ffffff9e;border:2px solid #7d5c3729;border-radius:8px;grid-template-columns:minmax(260px,max-content) auto minmax(160px,1fr);align-items:center;padding:12px}.admin-session-row,.admin-backup-actions{grid-template-columns:minmax(220px,1fr) auto minmax(180px,.8fr);align-items:center;gap:10px;display:grid}.admin-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.admin-summary-grid article,.admin-data-section,.admin-recent-attempts,.approval-management-panel,.root-permission-panel,.security-alert-panel,.maintenance-panel{background:#ffffffa8;border:2px solid #7d5c3729;border-radius:8px;padding:12px}.root-permission-panel{background:#ecfaf6b8;border-color:#1a776e33;gap:10px;display:grid}.root-permission-grid,.root-quick-actions{flex-wrap:wrap;gap:8px;display:flex}.root-permission-grid span,.assignment-chip-list>span{color:var(--ink);background:#ffffffb8;border:2px solid #1a776e29;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:900}.assignment-chip{align-items:center;gap:6px;max-width:100%;display:inline-flex}.assignment-chip b,.assignment-chip em{font-style:normal;line-height:1.25}.assignment-chip em{overflow-wrap:anywhere}.assignment-chip button{min-height:24px;color:var(--ink);background:#ecfaf6d1;border:1px solid #1a776e38;border-radius:7px;padding:0 7px;font-size:11px;font-weight:950}.maintenance-panel{background:#ecfaf6ad;border-color:#1a776e2e;gap:10px;display:grid}.maintenance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.maintenance-summary-grid article{background:#ffffffad;border:2px solid #7d5c371f;border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.admin-summary-grid article{align-content:center;gap:4px;min-height:82px;display:grid}.admin-summary-grid span,.admin-backup-actions small,.maintenance-summary-grid span,.maintenance-summary-grid small,.teacher-maintenance-actions small,.admin-section-head span,.approval-summary-strip span,.approval-account-card small,.approval-account-card>div:first-child span{color:var(--muted);word-break:keep-all;font-size:12px;font-weight:900;line-height:1.35}.admin-summary-grid strong,.admin-section-head strong,.approval-summary-strip strong,.maintenance-summary-grid strong{color:var(--ink);font-size:21px;line-height:1.2}.approval-management-panel{background:linear-gradient(135deg,#ecfaf6d6,#fffdf3eb),#ffffffa8;border-color:#1f857938;gap:10px;display:grid}.approval-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.approval-summary-strip div{background:#fffdf3b8;border:2px solid #1f857929;border-radius:8px;align-content:center;gap:4px;min-height:64px;padding:10px;display:grid}.approval-account-list{gap:8px;max-height:min(42vh,420px);padding-right:2px;display:grid;overflow:auto}.approval-account-card{background:#fffdf3c2;border:2px solid #7d5c371f;border-radius:8px;grid-template-columns:minmax(160px,.9fr) minmax(200px,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.approval-account-card.pending{background:#fff1cfc7;border-color:#df654b57}.approval-account-card strong{color:var(--ink);overflow-wrap:anywhere;font-size:15px;line-height:1.25;display:block}.approval-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-data-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:12px;display:grid}.admin-data-section,.admin-recent-attempts,.security-alert-panel{gap:10px;display:grid}.security-alert-list{gap:8px;display:grid}.security-alert-card{background:#fffdf3c2;border:2px solid #7d5c371f;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.security-alert-card.auto-blocked{background:#ffe6e4ad;border-color:#b9425857}.security-alert-card span,.security-alert-card small{color:var(--muted);font-size:12px;font-weight:900;line-height:1.35}.security-alert-card strong{color:var(--ink);overflow-wrap:anywhere;margin:4px 0;font-size:14px;line-height:1.35;display:block}.security-alert-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-table{gap:6px;display:grid;overflow-x:auto}.admin-table-head,.admin-table-row{background:#fffdf3b8;border:2px solid #7d5c371f;border-radius:8px;grid-template-columns:76px 110px 120px 120px minmax(220px,1fr);align-items:center;gap:8px;min-width:720px;padding:9px 10px;display:grid}.recent-attempt-table .admin-table-head,.recent-attempt-table .admin-table-row{grid-template-columns:110px 140px minmax(220px,1fr) 70px 90px}.admin-table-head{color:var(--muted);font-size:12px;font-weight:950}.admin-table-row span,.admin-table-row strong,.admin-table-row code{overflow-wrap:anywhere;min-width:0;font-size:12px;line-height:1.35}.admin-table-row strong{color:var(--ink);font-size:13px}.admin-table-row code{color:#153c4f;background:#d6efe8b8;border-radius:6px;padding:4px 6px}.account-access-section{align-content:start}.account-access-list{gap:8px;display:grid}.account-access-card{background:#fffdf3b8;border:2px solid #7d5c371f;border-radius:8px;grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr);align-items:center;gap:8px;padding:10px;display:grid}.account-access-card strong,.account-access-card small,.account-access-card span{overflow-wrap:anywhere;min-width:0;display:block}.account-access-card>div:first-child span,.account-access-card small{color:var(--muted);font-size:12px;font-weight:900;line-height:1.35}.account-access-card strong{color:var(--ink);font-size:15px;line-height:1.25}.account-access-flags{flex-wrap:wrap;gap:6px;display:flex}.account-access-flags span{border-radius:999px;width:max-content;max-width:100%;padding:4px 7px;font-size:11px;font-weight:950;line-height:1.2}.account-access-flags .allowed{color:#16523d;background:#d6efe8d1}.account-access-flags .blocked{color:#7b2b1f;background:#ffddcde0}.account-access-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.secondary-btn.danger{color:#7b2b1f;background:#ffefe8e6;border-color:#c349306b}.admin-progress-list{gap:8px;display:grid}.admin-progress-list article{background:#fffdf3b8;border:2px solid #7d5c371f;border-radius:8px;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(74px,auto)) auto;align-items:center;gap:8px;padding:8px;display:grid}.admin-progress-list article>span{color:var(--ink);white-space:nowrap;font-size:12px;font-weight:900}.terms-box{grid-column:span 2}.terms-box summary{cursor:pointer;color:var(--ink);font-size:13px;font-weight:950}.terms-box p{color:var(--muted);word-break:keep-all;margin:8px 0 0;font-size:12px;font-weight:850;line-height:1.5}.terms-check{min-height:48px;color:var(--ink);align-items:center;gap:8px;font-size:13px;font-weight:950;display:flex}.terms-check input{width:18px;height:18px;accent-color:var(--teal)}.registration-form small{color:var(--muted);word-break:keep-all;font-size:12px;font-weight:900;line-height:1.4}.registration-roster-strip{scrollbar-width:thin;scrollbar-color:#2430441f transparent;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.registration-roster-card{flex:0 0 168px;gap:5px;display:grid}.registration-roster-main,.registration-roster-strip>button{width:100%;min-height:58px;color:var(--ink);text-align:left;background:#ffffff9e;border:2px solid #7d5c372e;border-radius:8px;padding:9px 10px}.registration-roster-strip>button{flex:0 0 168px}.registration-roster-main.active,.registration-roster-strip>button.active{border-color:var(--teal);background:#e5f6dfe0}.registration-roster-strip>button.student-chip.active{border-color:var(--indigo);background:#f1edffeb}.registration-roster-delete{text-align:center;min-height:30px;padding:5px 8px}.registration-roster-strip strong,.registration-roster-strip small{line-height:1.25;display:block}.registration-roster-strip strong{font-size:14px}.registration-roster-strip small{color:var(--muted);word-break:keep-all;margin-top:4px;font-size:12px;font-weight:850}.class-management-panel{grid-template-columns:repeat(2,minmax(320px,1fr));gap:10px;display:grid}.student-management-panel,.student-management-list{gap:10px;display:grid}.student-management-list{grid-template-columns:repeat(2,minmax(320px,1fr))}.class-management-card,.student-management-card,.empty-class-management,.class-management-lock,.student-management-lock{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #7d5c3729;border-radius:8px;min-height:90px;padding:14px}.class-management-card,.student-management-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.class-management-card.active,.student-management-card.active{border-color:var(--teal);background:#e5f6dfe0}.class-management-main span,.class-management-main small,.student-management-main span,.student-management-main small,.empty-class-management span,.class-management-lock span,.student-management-lock span{color:var(--muted);font-size:var(--readable-small);word-break:keep-all;font-weight:900;line-height:1.4;display:block}.class-management-main strong,.student-management-main strong,.empty-class-management strong,.class-management-lock strong,.student-management-lock strong{color:var(--ink);font-size:var(--readable-large);word-break:keep-all;margin:4px 0;font-weight:950;line-height:1.25;display:block}.class-management-edit-btn{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.class-management-edit-btn:hover strong{color:var(--teal)}.class-management-actions,.student-management-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.class-management-grade-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.class-management-grade-list b{min-height:26px;color:color-mix(in srgb, var(--teal) 70%, var(--ink));font-size:var(--readable-small);background:#e1f7f0e0;border-radius:999px;align-items:center;padding:0 8px;font-weight:950;display:inline-flex}.student-management-meta{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.student-management-meta b{color:var(--ink);font-size:var(--readable-small);background:#ffffffa3;border-radius:8px;padding:5px 8px;font-weight:900}.empty-class-management,.class-management-lock,.student-management-lock{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;display:grid}.empty-class-management strong,.class-management-lock strong,.student-management-lock strong{margin:0}.empty-class-management span,.class-management-lock span,.student-management-lock span{grid-column:1}.empty-class-management button,.class-management-lock button,.student-management-lock button{grid-area:1/2/span 2}.eyebrow,.panel-label{color:#70634f;font-size:13px;font-weight:900;display:block}.hero-band{min-height:380px;box-shadow:var(--shadow);background:linear-gradient(135deg,#fffdf3f5,#ffefc7e6),linear-gradient(90deg,#7c532e14 0 1px,#0000 1px 34px);border:3px solid #7d5c37;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(340px,500px);align-items:center;gap:28px;padding:34px;display:grid;position:relative;overflow:hidden}.hero-band:before,.hero-band:after{content:"";pointer-events:none;position:absolute}.hero-band:before{border:1px dashed #7d5c3761;border-radius:8px;inset:12px}.hero-band:after{background:linear-gradient(#0000,#699f5e38);height:72px;bottom:0;left:0;right:0}.hero-copy{z-index:1;position:relative}.hero-copy h2{letter-spacing:0;max-width:650px;margin:14px 0 12px;font-size:42px;line-height:1.16}.hero-copy p{max-width:560px;color:var(--muted);word-break:keep-all;margin:0;font-size:17px;line-height:1.65}.status-pill{color:#fffaf0;background:linear-gradient(135deg, var(--indigo), var(--rose));border-radius:8px;align-items:center;min-height:30px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.hero-image{object-fit:contain;z-index:1;filter:drop-shadow(0 18px 18px #3e293b38);width:100%;max-height:348px;position:relative}.learning-layout{grid-template-columns:minmax(248px,272px) minmax(0,1fr);align-items:start;gap:10px;display:grid}.learning-control-panel{scrollbar-width:thin;scrollbar-color:#2430441f transparent;gap:12px;max-height:calc(100svh - 24px);padding-right:1px;display:grid;position:sticky;top:12px;overflow:auto}.learning-control-panel::-webkit-scrollbar{width:4px;height:4px}.learning-control-panel::-webkit-scrollbar-track{background:0 0}.learning-control-panel::-webkit-scrollbar-thumb{background:#2430441f;border-radius:999px}.learning-control-panel:hover::-webkit-scrollbar-thumb{background:#24304438}.control-card{background:linear-gradient(180deg, var(--surface-strong), #f8fafcd1);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font-size:var(--readable-small);border:1px solid #7d5c3729;border-radius:8px;padding:14px;box-shadow:0 14px 28px -24px #24304475}.control-card strong{color:var(--ink);word-break:keep-all;line-height:1.25;display:block}.learner-control>strong{font-size:var(--readable-large);margin:5px 0 10px}.learner-control small{color:var(--muted);font-size:var(--readable-small);margin-top:7px;font-weight:900;display:block}.learner-db-card{background:linear-gradient(135deg,#fffdf3f0,#ecfaf6e0),radial-gradient(circle at 92% 12%,#1f857924,#0000 42%)}.content-db-card{background:linear-gradient(135deg,#fffdf3f0,#f8efffdb),radial-gradient(circle at 92% 12%,#754cd321,#0000 42%)}.db-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px;display:grid}.db-mini-grid div{background:#ffffff9e;border:2px solid #7d5c3729;border-radius:8px;align-content:center;gap:3px;min-height:58px;padding:8px;display:grid}.db-mini-grid span{color:var(--muted);font-size:11px;font-weight:900}.db-mini-grid b{color:var(--ink);word-break:break-all;font-size:14px;line-height:1.15}.side-learner-form{grid-template-columns:1fr;gap:8px;margin-top:12px;display:grid}.side-learner-form input[readonly]{color:var(--ink);background:color-mix(in srgb, var(--teal) 9%, #fffdf3);border-color:#1f857947}.grade-quick-select{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.grade-quick-select button{min-height:38px;color:var(--ink);white-space:nowrap;background:#fffdf3;border:2px solid #7d5c3738;border-radius:8px;padding:0 6px;font-size:12px;font-weight:950}.grade-quick-select button.active{color:#fffaf0;border-color:var(--teal);background:linear-gradient(135deg, var(--teal), var(--indigo))}.grade-helper{color:var(--muted);word-break:keep-all;margin-top:0;font-size:11px;font-weight:900;line-height:1.35}.operation-quick-select{background:linear-gradient(135deg,#ecfaf6db,#fffdf3d6);border:2px solid #1f85792e;border-radius:8px;gap:7px;padding:10px;display:grid}.operation-quick-select>span{color:var(--teal);font-size:11px;font-weight:950}.operation-quick-select>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.operation-quick-select button{min-height:38px;color:var(--ink);white-space:nowrap;background:#ffffffb8;border:2px solid #1f857933;border-radius:8px;padding:0 7px;font-size:12px;font-weight:950}.operation-quick-select button.active{color:#fffaf0;border-color:var(--teal);background:linear-gradient(135deg, var(--teal), var(--indigo))}.learning-filter-menu{background:linear-gradient(135deg, #ffffffb8, #ecfaf6ad), color-mix(in srgb, var(--teal) 5%, transparent);border:2px solid #7d5c3729;border-radius:8px;gap:9px;padding:10px;display:grid}.learning-filter-block{gap:6px;display:grid}.learning-filter-block>span{color:var(--muted);font-size:11px;font-weight:950}.learning-pill-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.learning-pill-group.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-pill-group button{min-height:36px;color:var(--ink);word-break:keep-all;background:#fffdf3;border:2px solid #7d5c3733;border-radius:8px;padding:0 7px;font-size:12px;font-weight:950}.learning-pill-group button.active{color:#fffaf0;border-color:var(--teal);background:linear-gradient(135deg, var(--teal), var(--coral))}.filter-helper,.empty-filter-note{color:var(--muted);word-break:keep-all;margin:0;font-size:12px;font-weight:900;line-height:1.45}button:disabled,button[disabled]{cursor:not-allowed;opacity:.54;filter:grayscale(.18)}.study-sequence-menu{border-top:2px dashed #7d5c372e;gap:9px;margin-top:14px;padding-top:12px;display:grid}.student-study-selector{background:linear-gradient(135deg,#ecfaf6d1,#fffdf3e6);border:2px solid #1f857933;border-radius:8px;padding:12px}.unit-menu-strip{scrollbar-width:thin;gap:6px;padding:1px 0 4px;display:flex;overflow-x:auto}.unit-menu-strip button{border:2px solid color-mix(in srgb, var(--accent) 26%, #7d5c3738);min-width:58px;min-height:34px;color:var(--ink);white-space:nowrap;background:#fffdf3f0;border-radius:999px;flex:none;padding:0 9px;font-size:12px;font-weight:950}.unit-menu-strip button.active{color:#fffaf0;background:var(--accent)}.selected-study-preview{background:#ffffff9e;border:2px solid #7d5c3729;border-radius:8px;gap:4px;padding:10px;display:grid}.selected-study-preview strong{color:var(--ink);font-size:14px;line-height:1.3}.selected-study-preview small{color:var(--muted);word-break:keep-all;margin:0;font-size:12px;font-weight:850;line-height:1.35}.worksheet-action-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.worksheet-action-row button,.study-start-btn{width:100%}.side-toggle-group{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px;display:grid}.side-toggle-group button{min-height:38px;color:var(--ink);background:#fffdf3;border:2px solid #7d5c373d;border-radius:8px;font-size:13px;font-weight:900}.side-toggle-group button.active{color:#fffaf0;border-color:var(--accent);background:var(--accent)}.quick-starts{gap:8px;display:grid}.quick-starts .eyebrow{margin-bottom:2px}.quick-starts button{width:100%}.hidden-index details{display:grid}.hidden-index summary{cursor:pointer;list-style:none}.hidden-index summary strong{font-size:var(--report-title);line-height:1.28}.hidden-index summary .eyebrow{font-size:var(--readable-small)}.hidden-index summary::-webkit-details-marker{display:none}.control-unit summary::-webkit-details-marker{display:none}.report-detail summary::-webkit-details-marker{display:none}.hidden-index summary:after,.control-unit summary:after,.report-detail summary:after{content:"열기";color:#fffaf0;background:var(--teal);border-radius:999px;align-items:center;min-height:24px;margin-top:8px;padding:0 8px;font-size:11px;font-weight:950;display:inline-flex}.hidden-index details[open]>summary:after,.control-unit[open]>summary:after,.report-detail[open]>summary:after{content:"닫기"}.control-unit-list,.control-map-list{gap:8px;margin-top:12px;display:grid}.control-unit{background:#ffffff8f;border:2px solid #7d5c3726;border-radius:8px;padding:10px}.control-unit summary{cursor:pointer}.control-unit summary span{color:var(--muted);font-size:11px;font-weight:950;display:block}.control-unit summary strong{margin-top:3px;font-size:15px}.control-topic,.control-map-card{width:100%;min-height:46px;color:var(--ink);text-align:left;background:#fffdf3;border:2px solid #7d5c3729;border-radius:8px;margin-top:7px;padding:10px}.control-topic strong,.control-map-card strong{font-size:13px}.control-topic small,.control-map-card small{color:var(--muted);word-break:keep-all;margin-top:3px;font-size:11px;font-weight:800;line-height:1.35;display:block}.control-topic.unit-start{color:#fffaf0;border-color:var(--accent);background:var(--accent);font-weight:950}.control-map-card{border-color:color-mix(in srgb, var(--accent) 28%, #7d5c3733);grid-template-columns:32px minmax(0,1fr);align-items:center;gap:4px 8px;display:grid}.control-map-card span{color:#fffaf0;background:var(--accent);border-radius:8px;grid-row:span 2;place-items:center;width:32px;height:32px;display:grid}.story-chapter-card{border:2px solid color-mix(in srgb, var(--accent) 28%, #7d5c3733);background:#fffdf3;border-radius:8px;padding:14px}.story-chapter-card>summary{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.story-chapter-card>summary:after{margin-top:0}.story-chapter-icon{color:#fffaf0;background:var(--accent);width:42px;height:42px;font-size:var(--readable-text);border-radius:8px;place-items:center;font-weight:950;display:grid}.story-chapter-title strong{font-size:var(--readable-large);line-height:1.28}.story-chapter-title small,.story-chapter-narrative,.story-stem-panel p,.story-topic-mission em{color:var(--muted);font-size:var(--readable-small);word-break:keep-all;font-weight:850;line-height:1.6}.story-vector{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, #fffdf3);border-radius:8px;margin-top:10px;overflow:hidden}.story-vector svg{width:100%;height:auto;display:block}.story-vector-sky{fill:color-mix(in srgb, var(--accent) 10%, #fffaf0)}.story-vector-ground,.story-vector-badge rect,.story-vector-formula rect{fill:color-mix(in srgb, var(--accent) 72%, #2f473d)}.story-vector-orbit,.story-vector-route{fill:none;stroke:color-mix(in srgb, var(--accent) 64%, #433126);stroke-width:4px;stroke-linecap:round;opacity:.7}.story-vector-bars rect,.story-vector-line circle{fill:color-mix(in srgb, var(--accent) 80%, var(--rose))}.story-vector-line path{fill:none;stroke:var(--ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.story-vector text{fill:#fffaf0;text-anchor:middle;font-size:13px;font-weight:950}.story-vector-bars text{fill:var(--ink);font-size:9px}.story-chapter-narrative{color:var(--ink);font-size:var(--readable-text);margin:12px 0 0}.story-stem-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.story-stem-tags span{color:#fffaf0;background:color-mix(in srgb, var(--accent) 82%, var(--ink));font-size:var(--readable-small);border-radius:999px;padding:5px 7px;font-weight:950}.story-stem-panel,.story-data-grid{gap:8px;margin-top:10px;display:grid}.story-stem-panel article,.story-data-grid article{background:#ffffff9e;border:2px solid #7d5c3721;border-radius:8px;padding:12px}.story-stem-panel span,.story-data-grid strong,.story-topic-missions>strong{color:var(--ink);font-size:var(--readable-text);font-weight:950;display:block}.story-stem-panel code{color:var(--ink);font-size:var(--readable-small);white-space:normal;background:#fffdf3f0;border-radius:8px;margin:5px 0;padding:9px;font-weight:900;display:block}.story-bar-card div{grid-template-columns:minmax(72px,1fr) minmax(20px,96px) 24px;align-items:center;gap:6px;margin-top:7px;display:grid}.story-bar-card span,.story-bar-card small{color:var(--muted);font-size:var(--readable-small);font-weight:900}.story-bar-card b{background:var(--accent);border-radius:999px;max-width:96px;height:9px}.story-line-card svg{background:#fffdf3e6;border-radius:8px;width:100%;height:82px;margin-top:6px}.story-line-card polyline{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.story-line-card circle{fill:var(--ink)}.story-topic-missions{gap:7px;margin-top:10px;display:grid}.story-topic-mission em{margin-top:5px;font-style:normal;display:block}.story-topic-mission strong{font-size:var(--readable-text);line-height:1.35}.story-topic-mission small{font-size:var(--readable-small);line-height:1.55}.story-unit-start{margin-top:10px}.daily-workspace{min-width:0}.daily-hero{border:1px solid color-mix(in srgb, var(--accent) 32%, #7d5c3738);background:linear-gradient(135deg, #ffffffeb, #f6fbf8e0), linear-gradient(110deg, color-mix(in srgb, var(--accent) 16%, transparent), transparent 46%, #ffffff85);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:18px;min-height:310px;padding:26px;display:grid;overflow:hidden;box-shadow:0 24px 52px -34px #24304485}.daily-copy h2{max-width:680px;font-size:var(--hero-title);letter-spacing:0;word-break:keep-all;margin:14px 0 12px;line-height:1.08}.daily-copy p{max-width:620px;color:var(--muted);font-size:var(--readable-large);word-break:keep-all;margin:0;font-weight:850;line-height:1.65}.daily-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.daily-visual{gap:10px;display:grid}.daily-visual .unit-scene{height:132px;margin:0}.daily-visual img{object-fit:contain;filter:drop-shadow(0 14px 16px #3e293b2e);width:100%;max-height:154px}.daily-card-grid,.daily-step-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.daily-card-grid article,.daily-step-grid button,.progress-row-list article{background:#fffdf3e0;border:2px solid #7d5c3733;border-radius:8px;box-shadow:0 12px 24px -24px #43312685}.daily-card-grid article{align-content:start;gap:8px;min-height:132px;padding:15px;display:grid}.daily-card-grid span,.daily-card-grid small,.progress-row-list span,.progress-row-list small{color:var(--muted);font-size:12px;font-weight:900}.daily-card-grid strong{color:var(--ink);word-break:keep-all;font-size:23px;line-height:1.15;display:block}.personal-plan-panel,.class-monitor-panel,.daily-path-panel,.compact-progress-board{box-shadow:var(--shadow);background:#fffdf3d1;border:2px solid #7d5c3738;border-radius:8px;margin-top:14px;padding:18px}.personal-plan-panel{background:linear-gradient(135deg,#fffdf3e6,#ecfaf6d6),radial-gradient(circle at 100% 0,#2c599a1f,#0000 44%)}.class-monitor-panel{background:linear-gradient(135deg,#fffdf3eb,#fff1cfd1),radial-gradient(circle at 96% 8%,#5d55b71f,#0000 42%)}.class-monitor-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.class-monitor-summary article{background:#ffffff9e;border:2px solid #7d5c372e;border-radius:8px;align-content:center;gap:5px;min-height:92px;padding:14px;display:grid}.class-monitor-summary span,.class-monitor-summary small,.class-student-head span,.coaching-note span,.coaching-note small{color:var(--muted);font-size:12px;font-weight:900}.class-monitor-summary strong{color:var(--ink);word-break:keep-all;font-size:23px;line-height:1.15}.class-progress-list{gap:10px;margin-top:10px;display:grid}.class-progress-list>article{background:#fff9;border:2px solid #7d5c372e;border-radius:8px;gap:10px;padding:14px;display:grid}.class-student-head{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));align-items:stretch;gap:8px;display:grid}.student-select-btn,.class-student-head>div,.class-student-head>.secondary-btn{min-height:64px;color:var(--ink);text-align:left;background:#fffdf3db;border:2px solid #7d5c3729;border-radius:8px;align-content:center;gap:4px;padding:10px;display:grid}.class-student-head>.secondary-btn{text-align:center}.student-select-btn strong{font-size:18px;line-height:1.25}.student-select-btn small{color:var(--muted);font-size:12px;font-weight:850}.class-student-head b{color:var(--ink);font-size:20px;line-height:1}.student-progress-map{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.progress-map-node{min-height:52px;color:var(--ink);text-align:center;word-break:keep-all;background:#fffdf3c7;border:2px solid #7d5c3729;border-radius:8px;place-items:center;gap:2px;padding:7px 5px;font-size:12px;font-weight:950;display:grid}.progress-map-node small{color:inherit;font-size:11px;font-weight:850}.progress-map-node.watch{color:#fffaf0;border-color:var(--no);background:var(--no)}.progress-map-node.steady{color:#fffaf0;border-color:var(--teal);background:var(--teal)}.progress-map-node.strong{color:#fffaf0;border-color:var(--green);background:var(--green)}.progress-map-node.empty{color:var(--muted);background:#ffffff9e}.coaching-note{background:#fffdf3c2;border:2px solid #7d5c3724;border-radius:8px;gap:5px;padding:12px;display:grid}.assignment-chip-list{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.student-period-chart{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0;display:grid}.student-period-chart article{background:#fffdf3d1;border:2px solid #7d5c371f;border-radius:8px;gap:8px;padding:10px;display:grid}.student-period-chart article>div:first-child{gap:3px;display:grid}.student-period-chart span,.student-period-chart small{color:var(--muted);font-size:12px;font-weight:900}.student-period-chart strong{color:var(--ink);font-size:18px;line-height:1.15}.student-counsel-report{background:#fffdf3c7;border:2px solid #7d5c3729;border-radius:8px}.student-counsel-report summary{cursor:pointer;min-height:54px;color:var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;font-weight:950;list-style:none;display:grid}.student-counsel-report summary::-webkit-details-marker{display:none}.student-counsel-report summary:after{content:"열기";color:#fffaf0;background:var(--indigo);text-align:center;border-radius:8px;min-width:54px;padding:6px 8px;font-size:12px}.student-counsel-report[open] summary:after{content:"닫기";background:var(--teal)}.student-counsel-report summary span,.student-report-meta strong{overflow-wrap:anywhere;min-width:0}.student-counsel-report summary small,.student-report-meta span,.student-report-docs label>span{color:var(--muted);font-size:var(--readable-small);word-break:keep-all;font-weight:900;line-height:1.35}.student-report-stack{gap:10px;padding:0 12px 12px;display:grid}.student-report-stack>article{background:#ffffff9e;border:2px solid #7d5c371f;border-radius:8px;gap:8px;padding:10px;display:grid}.manager-report-list{gap:12px;display:grid}.manager-student-report{background:#fff9}.manager-student-report .student-report-docs textarea{min-height:380px}.student-report-meta{gap:3px;display:grid}.student-report-actions,.teacher-maintenance-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-report-docs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-report-docs label{gap:5px;display:grid}.student-report-docs textarea{resize:vertical;width:100%;min-height:280px;color:var(--ink);font-size:var(--report-text);background:#fffdf3;border:2px solid #7d5c372e;border-radius:8px;padding:14px;font-weight:800;line-height:1.7}.coaching-note p{color:var(--ink);word-break:keep-all;margin:0;font-size:14px;font-weight:850;line-height:1.5}.planner-grid,.db-learning-grid{gap:10px;display:grid}.planner-grid{grid-template-columns:1.3fr 1fr 1fr;margin-top:14px}.planner-grid article,.strategy-card,.weak-topic-box,.wrong-note-box{background:#ffffffa3;border:2px solid #7d5c372e;border-radius:8px;padding:15px}.planner-grid span,.planner-grid small,.strategy-card span,.weak-topic-box .panel-label,.wrong-note-box .panel-label{color:var(--muted);font-size:12px;font-weight:900}.planner-grid strong{color:var(--ink);word-break:keep-all;margin:6px 0 4px;font-size:23px;line-height:1.15;display:block}.strategy-card{margin-top:10px}.strategy-card p,.weak-topic-box p,.wrong-note-box p{color:var(--ink);word-break:keep-all;margin:7px 0 0;font-size:15px;font-weight:850;line-height:1.55}.db-learning-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);margin-top:10px}.weak-topic-box ol,.wrong-note-box ol{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.weak-topic-box li,.wrong-note-box li{background:#fffdf3c7;border-radius:8px;gap:3px;padding:10px;display:grid}.weak-topic-box strong,.wrong-note-box strong{color:var(--ink);word-break:keep-all;font-size:14px;line-height:1.3}.weak-topic-box small,.wrong-note-box small{color:var(--muted);word-break:keep-all;font-size:12px;font-weight:850;line-height:1.35}.daily-step-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-step-grid button{min-height:124px;color:var(--ink);text-align:left;grid-template-columns:42px minmax(0,1fr);align-content:center;gap:4px 10px;padding:14px;display:grid}.daily-step-grid button span{color:#fffaf0;background:linear-gradient(135deg, var(--teal), var(--indigo));border-radius:8px;grid-row:span 2;place-items:center;width:42px;height:42px;font-size:18px;font-weight:950;display:grid}.daily-step-grid button strong{font-size:18px;line-height:1.25}.daily-step-grid button small{color:var(--muted);word-break:keep-all;font-size:12px;font-weight:850;line-height:1.35}.progress-row-list{gap:9px;display:grid}.progress-row-list article{border-color:color-mix(in srgb, var(--accent) 28%, #7d5c3733);grid-template-columns:220px minmax(160px,1fr) 220px;align-items:center;gap:12px;padding:12px;display:grid}.progress-row-list strong{color:var(--ink);margin-top:2px;font-size:15px;line-height:1.25;display:block}.daily-report .report-detail{background:#ffffff94;border:2px solid #7d5c372e;border-radius:8px;margin-top:12px;padding:12px}.daily-report .report-detail summary{cursor:pointer;color:var(--ink);font-size:var(--report-title);font-weight:950;line-height:1.35;list-style:none}.daily-report .report-detail textarea{resize:vertical;width:100%;min-height:300px;color:var(--ink);font-size:var(--report-text);background:#fffdf3;border:2px solid #7d5c3738;border-radius:8px;margin-top:12px;padding:14px;font-weight:850;line-height:1.68}.insight-strip{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;display:grid}.insight-strip div,.session-panel div{background:#fffdf3e6;border:2px solid #7d5c3738;border-radius:8px;min-height:82px;padding:16px;box-shadow:0 10px 22px -22px #4331266b}.insight-strip span{color:var(--muted);font-size:13px;font-weight:900;display:block}.insight-strip strong,.session-panel strong{color:var(--ink);margin-top:7px;font-size:26px;line-height:1;display:block}.learner-panel{box-shadow:var(--shadow);background:linear-gradient(135deg,#fffdf3f0,#ffefd4e6),radial-gradient(circle at 92% 12%,#df654b26,#0000 40%);border:2px solid #7d5c3738;border-radius:8px;grid-template-columns:minmax(0,1fr) 520px;align-items:stretch;gap:14px;margin:18px 0;padding:18px;display:grid}.learner-current{min-width:0}.learner-current strong{color:var(--ink);word-break:keep-all;margin-top:5px;font-size:26px;line-height:1.18;display:block}.learner-current p{max-width:660px;color:var(--muted);word-break:keep-all;margin:9px 0 13px;font-size:14px;font-weight:850;line-height:1.55}.learner-current small{color:var(--muted);margin-top:7px;font-size:12px;font-weight:900;display:block}.learner-progress{background:#7d5c3724;border-radius:999px;height:13px;overflow:hidden}.learner-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--coral), var(--teal));height:100%;display:block}.learner-form{grid-template-columns:minmax(0,1fr) 132px auto;align-items:end;gap:10px;display:grid}.learner-field{gap:6px;min-width:0;display:grid}.learner-field span{color:var(--muted);font-size:12px;font-weight:950}.learner-field input,.learner-field select{width:100%;min-height:48px;color:var(--ink);font-size:var(--readable-text);background:#fffdf3f5;border:2px solid #7d5c3740;border-radius:8px;padding:0 14px;font-weight:900}.learner-field select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--muted) 50%) right 18px center / 7px 7px no-repeat, linear-gradient(135deg, var(--muted) 50%, transparent 50%) right 12px center / 7px 7px no-repeat, #fffdf3f5;padding-right:34px}.reader-dashboard{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#ffffffeb,#e6f4f0e6),linear-gradient(100deg,#0000,#5d55b71c);border:1px solid #7d5c3729;border-radius:8px;grid-template-columns:minmax(0,1fr) 340px 150px;align-items:center;gap:14px;margin:14px 0;padding:18px;display:grid;box-shadow:0 18px 42px -32px #24304480}.reader-dashboard h2{margin:4px 0 6px;font-size:27px;line-height:1.28}.reader-dashboard p{color:var(--muted);font-size:var(--readable-small);word-break:keep-all;margin:0;font-weight:800;line-height:1.55}.reader-toggle-group{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.reader-toggle-group button,.reader-tools button{min-height:42px;color:var(--ink);font-size:var(--readable-small);background:#fffdf3;border:1px solid #7d5c373d;border-radius:8px;padding:0 10px;font-weight:900}.reader-toggle-group button.active,.reader-tools button.active{color:#fffaf0;border-color:var(--accent);background:var(--accent)}.reader-stats{color:#fffaf0;background:linear-gradient(135deg, var(--indigo), var(--teal));border-radius:8px;min-height:86px;padding:13px}.reader-stats span,.reader-stats small{opacity:.88;font-size:12px;font-weight:900;display:block}.reader-stats strong{margin:6px 0;font-size:28px;line-height:1;display:block}.study-board,.learning-report,.manager-counsel-panel{box-shadow:var(--shadow);background:#fffdf3d1;border:2px solid #7d5c3738;border-radius:8px;margin:12px 0;padding:16px}.study-level{color:#fffaf0;background:linear-gradient(135deg, var(--rose), var(--indigo));border-radius:999px;place-items:center;min-width:74px;min-height:38px;font-size:14px;font-weight:950;display:inline-grid}.study-board-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.study-unit-card{border:2px solid color-mix(in srgb, var(--accent) 32%, #7d5c3738);background:linear-gradient(180deg, #fffdf3f5, #fff8dfe6), radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 42%);border-radius:8px;align-content:start;gap:12px;min-height:210px;padding:16px;display:grid}.study-unit-head span,.study-unit-card small,.report-stat-grid span,.report-stat-grid small,.report-summary span{color:var(--muted);font-size:12px;font-weight:900}.study-unit-head strong{color:var(--ink);word-break:keep-all;margin-top:5px;font-size:18px;line-height:1.3;display:block}.study-progress-line{background:#7d5c3724;border-radius:999px;height:12px;overflow:hidden}.study-progress-line span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 56%, var(--yellow)));height:100%;display:block}.study-metrics{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;display:grid}.study-metrics div{background:#ffffff8f;border-radius:8px;min-width:0;padding:9px}.study-metrics dt{color:var(--muted);font-size:11px;font-weight:900}.study-metrics dd{color:var(--ink);margin:5px 0 0;font-size:20px;font-weight:950;line-height:1}.report-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.report-head h2{margin:3px 0 0;font-size:24px;line-height:1.25}.report-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.secondary-btn.compact{white-space:nowrap;min-height:38px}.report-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.report-stat-grid div{color:#fffaf0;background:linear-gradient(135deg, var(--ink), color-mix(in srgb, var(--teal) 42%, var(--ink)));border-radius:8px;min-height:112px;padding:15px}.report-stat-grid strong{color:#fffaf0;margin:8px 0 5px;font-size:30px;line-height:1;display:block}.report-stat-grid span,.report-stat-grid small{color:#fffaf0d1}.report-summary{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.report-summary p,.report-summary div{background:#ffffff94;border:2px solid #7d5c372e;border-radius:8px;min-height:92px;margin:0;padding:15px}.report-summary p{color:var(--ink);word-break:keep-all;font-size:15px;font-weight:900;line-height:1.55}.report-summary strong{color:var(--ink);word-break:keep-all;margin-top:7px;font-size:16px;line-height:1.35;display:block}.report-document{background:#ffffff9e;border:2px solid #7d5c372e;border-radius:8px;margin-top:12px;padding:15px}.report-document-head{justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px;display:flex}.report-document-head strong{color:var(--ink);text-align:right;font-size:16px;line-height:1.3}.report-document textarea{resize:vertical;width:100%;min-height:230px;color:var(--ink);white-space:pre-wrap;background:#fffdf3;border:2px solid #7d5c3738;border-radius:8px;padding:14px;font-size:14px;font-weight:850;line-height:1.55}.story-map{box-shadow:var(--shadow);background:#fffdf3c7;border:2px solid #7d5c3738;border-radius:8px;margin:12px 0;padding:16px}.section-title{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.section-title h2{margin:3px 0 0;font-size:24px;line-height:1.25}.chapter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.chapter-card{border:2px solid color-mix(in srgb, var(--accent) 28%, #7d5c3747);min-height:154px;color:var(--ink);background:linear-gradient(180deg, #ffffffb8, #fff3d3db), radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 42%);text-align:left;border-radius:8px;grid-template-rows:42px minmax(0,1fr);gap:8px;padding:14px;display:grid}.chapter-card:hover{background:linear-gradient(180deg, #ffffffeb, #fff0c6f0), radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 42%)}.chapter-icon{color:#fffaf0;background:var(--accent);border-radius:8px;place-items:center;width:42px;height:42px;font-size:23px;font-weight:900;display:grid;box-shadow:inset 0 -5px #0000001f}.chapter-text{gap:5px;display:grid}.chapter-text strong{font-size:16px;line-height:1.32}.chapter-text small,.chapter-text em{color:var(--muted);word-break:keep-all;font-size:12px;font-style:normal;line-height:1.4}.chapter-text em{color:color-mix(in srgb, var(--accent) 68%, var(--ink));font-weight:900}.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.unit-card{border:2px solid color-mix(in srgb, var(--accent) 22%, #8a6a43);border-top:6px solid var(--accent);box-shadow:var(--shadow);background:linear-gradient(#fffdf3f5,#fff7e0eb),repeating-linear-gradient(0deg,#0000 0 30px,#7558380d 31px);border-radius:8px;overflow:hidden}.unit-header{border-bottom:1px solid #7d5c372e;grid-template-columns:48px minmax(0,1fr) 42px;align-items:center;gap:14px;padding:18px;display:grid}.unit-no{color:#fffaf0;background:var(--accent);border-radius:8px;place-items:center;width:44px;height:44px;font-size:20px;font-weight:900;display:grid;box-shadow:inset 0 -5px #0000001f}.unit-header h3{margin:0;font-size:21px;line-height:1.25}.unit-header p{color:var(--muted);word-break:keep-all;margin:4px 0 0;font-size:14px;line-height:1.45}.unit-scene{background:linear-gradient(#fbf3c9,#d7eef1 54%,#cbe6c5);border:1px solid #7d5c3729;border-radius:8px;height:118px;margin:0 18px 12px;overflow:hidden}.unit-scene svg{width:100%;height:100%;display:block}.unit-scene .scene-hill.back{fill:#9ccf9f}.unit-scene .scene-hill.front{fill:#6fb47d}.unit-scene .scene-sun,.unit-scene .scene-star{fill:#f2c84e}.unit-scene .scene-character path:first-child{fill:color-mix(in srgb, var(--accent) 70%, #4d3478)}.unit-scene .scene-character circle{fill:#ffd8b2}.unit-scene .scene-character .hair,.unit-scene .scene-character .eye{fill:#392a50}.unit-scene .scene-character .body{fill:var(--accent)}.unit-scene .scene-character .smile{fill:none;stroke:#88454a;stroke-width:4px;stroke-linecap:round}.unit-scene text{fill:#fffaf0;stroke:#24304447;stroke-width:1px;font-size:42px;font-weight:900}.topic-list{display:grid}.topic-row{width:100%;min-height:64px;color:var(--ink);text-align:left;background:0 0;border-bottom:1px solid #7d5c3729;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:10px;padding:14px 18px;display:grid}.topic-row:last-child{border-bottom:0}.topic-row:hover{background:color-mix(in srgb, var(--accent) 9%, white)}.topic-row strong,.topic-row small{display:block}.topic-row strong{font-size:var(--readable-text);line-height:1.35}.topic-row small{color:var(--muted);font-size:var(--readable-small);margin-top:3px;line-height:1.35}.primary-btn,.secondary-btn,.icon-text-btn,.icon-btn{min-height:44px;font-size:var(--readable-small);border-radius:8px;font-weight:900;transition:transform .16s,background .16s,border-color .16s}.primary-btn{color:#fffaf0;background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 76%, #2a1f2f));padding:0 18px;box-shadow:inset 0 -5px #00000021}.primary-btn:hover:not(:disabled),.secondary-btn:hover,.icon-text-btn:hover,.icon-btn:hover{transform:translateY(-1px)}.primary-btn:disabled{cursor:not-allowed;opacity:.45}.primary-btn.compact{--accent:var(--indigo);white-space:nowrap}.secondary-btn,.icon-text-btn{color:var(--ink);background:var(--surface-strong);border:1px solid #7d5c373d;padding:0 16px}.icon-text-btn{align-items:center;gap:8px;display:inline-flex}.icon-btn{color:#fffaf0;background:var(--accent);width:42px;padding:0;box-shadow:inset 0 -5px #00000021}.practice-shell{--accent:var(--teal)}.practice-heading{text-align:center;flex:1;min-width:0}.practice-heading h1{overflow-wrap:anywhere;font-size:24px}.learner-mini{color:#fffaf0;background:var(--accent);border-radius:999px;margin-top:5px;padding:4px 9px;font-size:12px;font-weight:950;line-height:1;display:inline-block}.score-chip{background:#fffdf3eb;border:2px solid #7d5c3738;border-radius:8px;place-items:center;min-width:96px;min-height:56px;display:grid}.score-chip strong{color:var(--accent);font-size:21px;line-height:1}.score-chip span{color:var(--muted);font-size:12px;font-weight:900}.progress-track{background:#fffdf3cc;border:2px solid #7d5c372e;border-radius:8px;height:12px;margin-bottom:18px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--yellow), var(--rose));height:100%;transition:width .24s;display:block}.practice-grid{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:18px;display:grid}.problem-panel{border:3px solid color-mix(in srgb, var(--accent) 24%, #8a6a43);min-height:520px;box-shadow:var(--shadow);scrollbar-width:thin;scrollbar-color:#2430441f transparent;background:linear-gradient(#fffdf3fa,#fff6ddf0),repeating-linear-gradient(0deg,#0000 0 33px,#7558380d 34px);border-radius:8px;padding:28px}.problem-story-head{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:16px;margin-bottom:16px;display:grid}.mentor-art{object-fit:contain;filter:drop-shadow(0 12px 10px #4331262e);width:96px;height:96px}.story-dialogue{background:#ffffff9e;border:2px solid #7d5c3733;border-radius:8px;padding:14px 16px;position:relative}.story-dialogue:before{content:"";background:#ffffff9e;border-bottom:2px solid #7d5c3733;border-left:2px solid #7d5c3733;width:18px;height:18px;position:absolute;top:34px;left:-10px;transform:rotate(45deg)}.story-dialogue strong{font-size:17px;line-height:1.38;display:block}.story-dialogue p{color:var(--muted);word-break:keep-all;margin:6px 0 0;font-size:14px;font-weight:800;line-height:1.55}.problem-meta{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.problem-meta span{min-height:28px;color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, white);border-radius:8px;align-items:center;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.mission-card{background:color-mix(in srgb, var(--accent) 10%, #fffdf3);border:2px solid color-mix(in srgb, var(--accent) 20%, #7d5c3738);border-radius:8px;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;display:grid}.mission-card span{color:#fffaf0;background:var(--accent);border-radius:8px;justify-content:center;align-items:center;min-height:34px;font-size:13px;font-weight:900;display:inline-flex}.mission-card p{color:var(--ink);word-break:keep-all;margin:0;font-size:15px;font-weight:900;line-height:1.55}.prompt{color:var(--muted);word-break:keep-all;margin:0;font-size:15px;font-weight:900;line-height:1.55}.expression{text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;background:linear-gradient(#ffffffd6,#fffbe7e6),linear-gradient(90deg,#5d55b714 0 1px,#0000 1px 34px) 0 0/34px 34px;border:2px solid #7d5c373d;border-radius:8px;align-content:center;gap:8px;min-height:150px;margin:18px 0 22px;padding:24px;font-size:31px;font-weight:900;line-height:1.35;display:grid;box-shadow:inset 0 0 0 6px #ffffff5c}.expression>span{display:block}.math-text{display:inline}.math-katex{vertical-align:middle;white-space:nowrap;justify-content:center;align-items:center;margin:0 .035em;display:inline-flex}.math-katex.display{width:100%;margin:.1em 0;display:flex}.math-katex .katex{text-rendering:optimizelegibility;font-size:1em;line-height:1.08}.math-katex math{font-family:Cambria Math,STIX Two Math,Noto Sans Math,serif;font-size:1em}.math-mixed{vertical-align:middle;white-space:nowrap;align-items:center;gap:.12em;margin:0 .04em;display:inline-flex}.math-whole{line-height:1;display:inline-block}.math-fraction{color:currentColor;font-variant-numeric:tabular-nums;vertical-align:middle;grid-template-rows:auto .08em auto;place-items:center;min-width:.72em;line-height:1;display:inline-grid}.math-num,.math-den{padding:0 .08em;font-size:.68em;line-height:1.05;display:block}.math-bar{background:currentColor;border-radius:999px;width:100%;min-width:.66em;height:.08em}.expression .math-text{flex-wrap:wrap;justify-content:center;align-items:center;gap:.12em;display:inline-flex}.expression .math-fraction{min-width:.82em}.choice-btn .math-text,.feedback .math-text{flex-wrap:wrap;align-items:center;gap:.08em;display:inline-flex}.math-visual{border:2px solid color-mix(in srgb, var(--accent) 22%, #7d5c3733);background:linear-gradient(180deg, #ffffffeb, #fff9e2d1), radial-gradient(circle at 14% 12%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 34%);border-radius:8px;width:min(100%,360px);margin:0 auto 10px;padding:8px 10px 6px}.math-visual svg{width:100%;height:auto;max-height:230px;display:block}.visual-shape,.cuboid-front{fill:color-mix(in srgb, var(--accent) 32%, #fff7d8);stroke:color-mix(in srgb, var(--accent) 78%, #5a4635);stroke-width:4px;stroke-linejoin:round}.visual-shape.twin{fill:color-mix(in srgb, var(--accent) 20%, #e3f3ff)}.visual-cut{fill:#ffffffd1;stroke:#7d5c376b;stroke-width:3px;stroke-dasharray:6 5}.visual-guide{stroke:#6f6256;stroke-width:3px;stroke-dasharray:7 5}.visual-label{fill:var(--ink);paint-order:stroke;stroke:#fffdf3e6;stroke-width:5px;font-size:15px;font-weight:950}.ten-frame-cell{fill:#fffdf3e6;stroke:#503a2657;stroke-width:2.2px}.ten-frame-counter{fill:color-mix(in srgb, var(--accent) 72%, #f5c55c);stroke:#44312652;stroke-width:2px}.ten-frame-counter.second{fill:#66b7c9}.number-bond-line,.number-line-axis,.number-line-tick{stroke:#443126a3;stroke-width:4px;stroke-linecap:round}.number-bond-total,.number-bond-part{fill:color-mix(in srgb, var(--accent) 18%, #fffdf3);stroke:color-mix(in srgb, var(--accent) 68%, #6b513a);stroke-width:4px}.number-bond-part.second{fill:#ddeeea}.number-bond-text,.number-line-label{fill:var(--ink);font-size:20px;font-weight:950}.place-value-rod{fill:color-mix(in srgb, var(--accent) 58%, #f5c55c);stroke:#4431266b;stroke-width:2px}.place-value-rod-tick{stroke:#fffdf394;stroke-width:1.5px}.place-value-one{fill:#66b7c9;stroke:#44312652;stroke-width:2px}.base-ten-flat{fill:color-mix(in srgb, var(--accent) 42%, #bde8ff);stroke:#44312657;stroke-width:2px}.base-ten-flat-line,.base-ten-rod-line{stroke:#44312638;stroke-width:1.2px}.base-ten-rod{fill:color-mix(in srgb, var(--accent) 50%, #f5c55c);stroke:#44312657;stroke-width:1.6px}.base-ten-one{fill:#66b7c9;stroke:#44312652;stroke-width:1.6px}.number-line-missing{fill:#fffdf3eb;stroke:color-mix(in srgb, var(--accent) 72%, #6b513a);stroke-width:3px;stroke-dasharray:6 4}.cuboid-top{fill:color-mix(in srgb, var(--accent) 24%, #fff7d8);stroke:color-mix(in srgb, var(--accent) 74%, #5a4635);stroke-width:4px;stroke-linejoin:round}.cuboid-side{fill:color-mix(in srgb, var(--accent) 38%, #f3d896);stroke:color-mix(in srgb, var(--accent) 74%, #5a4635);stroke-width:4px;stroke-linejoin:round}.cube-top,.cube-left,.cube-right{stroke:#4633249e;stroke-width:1.8px;stroke-linejoin:round}.cube-top{fill:color-mix(in srgb, var(--accent) 18%, #fff6c8)}.cube-left{fill:color-mix(in srgb, var(--accent) 28%, #f1c56e)}.cube-right{fill:color-mix(in srgb, var(--accent) 42%, #d79d55)}.cube-stack-visual figcaption{color:var(--ink);text-align:center;margin-top:-4px;font-size:14px;font-weight:950}.table-visual{overflow-x:auto}.table-visual table{border-collapse:separate;border-spacing:0;width:100%;color:var(--ink);font-size:15px;font-weight:950}.table-visual th,.table-visual td{text-align:center;border-bottom:2px solid #7d5c372e;border-right:2px solid #7d5c372e;min-width:44px;padding:8px 7px}.table-visual th{background:color-mix(in srgb, var(--accent) 16%, #fffdf3)}.table-visual th:first-child,.table-visual td:first-child{border-left:2px solid #7d5c372e}.table-visual thead th{border-top:2px solid #7d5c372e}.table-visual figcaption,.chart-visual figcaption{color:var(--ink);text-align:center;margin-bottom:4px;font-size:14px;font-weight:950}.pictograph-panel{gap:10px;min-width:250px;padding:4px 2px 2px;display:grid}.pictograph-key,.pictograph-row{color:var(--ink);grid-template-columns:auto auto auto auto;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:950;display:grid}.pictograph-rows{gap:8px;display:grid}.pictograph-row{background:#fffdf3ad;border:2px solid #7d5c3729;border-radius:8px;grid-template-columns:minmax(52px,72px) 1fr;justify-content:stretch;padding:8px 10px}.pictograph-label{text-align:center}.pictograph-symbols{flex-wrap:wrap;align-items:center;gap:5px;min-height:26px;display:flex}.pictograph-icon{flex:none;place-items:center;display:inline-grid}.pictograph-icon.big{background:color-mix(in srgb, var(--accent) 68%, #f2b66d);clip-path:polygon(50% 0%,62% 34%,98% 34%,69% 55%,80% 92%,50% 70%,20% 92%,31% 55%,2% 34%,38% 34%);width:22px;height:22px}.pictograph-icon.small{background:#69b8c8;border-radius:999px;width:12px;height:12px;box-shadow:inset 0 0 0 2px #4633242e}.chart-axis{stroke:#443126b8;stroke-width:3px;stroke-linecap:round}.chart-grid-line{stroke:#7d5c3729;stroke-width:2px}.chart-bar{fill:color-mix(in srgb, var(--accent) 62%, #79c7d3);stroke:color-mix(in srgb, var(--accent) 78%, #4f3b2e);stroke-width:2px}.ratio-strip-left{fill:#69b8c8;stroke:#4633247a;stroke-width:2px}.ratio-strip-right{fill:#f2b66d;stroke:#4633247a;stroke-width:2px}.ratio-dot{stroke:#46332457;stroke-width:1.5px}.ratio-dot.left{fill:#69b8c8}.ratio-dot.right{fill:#f2b66d}.circle-chart-ring,.circle-diagram-base{fill:#fffdf3e6;stroke:color-mix(in srgb, var(--accent) 72%, #5a4635);stroke-width:4px}.circle-chart-wedge{stroke:#4633248a;stroke-width:2.2px;stroke-linejoin:round}.circle-chart-hole{fill:#fffdf3f0;stroke:#4633243d;stroke-width:2px}.circle-chart-legend-chip{stroke:#4633246b;stroke-width:1.5px}.circle-chart-percent{fill:var(--ink);paint-order:stroke;stroke:#fffdf3f0;stroke-width:4px;font-size:12px;font-weight:950}.circle-measure-line{stroke:#d96b5b;stroke-width:4px;stroke-linecap:round}.circle-circumference{fill:none;stroke:#d96b5b;stroke-width:4px;stroke-dasharray:8 6}.circle-pattern-center{fill:color-mix(in srgb, var(--accent) 32%, #fff6c8);stroke:#4633247a;stroke-width:3px}.circle-pattern-petal{fill:color-mix(in srgb, var(--accent) 24%, #79c7d3);stroke:#4633245c;stroke-width:2.5px}.angle-ray{stroke:color-mix(in srgb, var(--accent) 75%, #4f3b2e);stroke-width:5px;stroke-linecap:round}.angle-arc{fill:none;stroke:#d96b5b;stroke-width:4px;stroke-linecap:round}.clock-face,.ruler-body{fill:#fffdf3eb;stroke:color-mix(in srgb, var(--accent) 72%, #5a4635);stroke-width:4px}.clock-tick{stroke:#46332485;stroke-width:1.8px;stroke-linecap:round}.clock-tick.major{stroke:#463324d1;stroke-width:3px}.clock-number,.ruler-number{fill:var(--ink);font-size:13px;font-weight:950}.clock-hand{stroke-linecap:round}.clock-hand.hour{stroke:color-mix(in srgb, var(--accent) 82%, #4f3b2e);stroke-width:7px}.clock-hand.minute{stroke:#d96b5b;stroke-width:4px}.clock-center,.ruler-end-dot{fill:#d96b5b;stroke:#46332461;stroke-width:2px}.ruler-tick{stroke:#4633249e;stroke-linecap:round}.ruler-tick.major{stroke-width:3px}.ruler-tick.minor{stroke-width:1.6px}.ruler-highlight{stroke:#d96b5b;stroke-width:6px;stroke-linecap:round}.line-type-main{stroke:color-mix(in srgb, var(--accent) 78%, #4f3b2e);stroke-width:7px;stroke-linecap:round}.line-arrow{fill:color-mix(in srgb, var(--accent) 78%, #4f3b2e)}.line-endpoint,.array-dot{fill:color-mix(in srgb, var(--accent) 46%, #79c7d3);stroke:#46332473;stroke-width:2px}.right-angle-marker{fill:none;stroke:#d96b5b;stroke-width:4px;stroke-linejoin:round}.pattern-triangle,.pattern-circle,.pattern-square,.pattern-color{stroke:#4633247a;stroke-width:3px}.pattern-triangle{fill:#f2b66d}.pattern-circle{fill:#69b8c8}.pattern-square{fill:#91c788}.pattern-color.red{fill:#f08f74}.pattern-color.blue{fill:#69b8c8}.pattern-color.yellow{fill:#f2d36b}.pattern-placeholder{fill:#fffdf3e6;stroke:#d96b5b;stroke-width:3px;stroke-dasharray:7 5}.pattern-question,.pattern-label{fill:var(--ink);paint-order:stroke;stroke:#fffdf3e6;stroke-width:4px;font-size:13px;font-weight:950}.pattern-question{font-size:23px}.circle-area-fill{fill:color-mix(in srgb, var(--accent) 28%, #a9d9c6);stroke:color-mix(in srgb, var(--accent) 78%, #5a4635);stroke-width:4px}.circle-square{fill:#fff6d3db;stroke:color-mix(in srgb, var(--accent) 72%, #5a4635);stroke-width:4px}.fraction-cell{fill:#fffdf3eb;stroke:#4633246b;stroke-width:1.8px}.fraction-cell.shaded{fill:color-mix(in srgb, var(--accent) 36%, #8bcfd1)}.fraction-cut-line{stroke:#d96b5b;stroke-width:3px;stroke-dasharray:7 5}.chart-line{fill:none;stroke:color-mix(in srgb, var(--accent) 76%, #315f89);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fffdf3;stroke:color-mix(in srgb, var(--accent) 82%, #315f89);stroke-width:4px}.chart-reference{stroke:#d96b5b;stroke-width:3px;stroke-dasharray:7 5}.chart-reference-label,.chart-value,.chart-label,.chart-unit,.coord-label,.coin-label{fill:var(--ink);paint-order:stroke;stroke:#fffdf3e6;stroke-width:4px;font-size:12px;font-weight:950}.chart-value{font-size:13px}.chart-label,.chart-unit{font-size:12px}.coord-grid{stroke:#7d5c3721;stroke-width:1px}.coord-axis{stroke:#443126b8;stroke-width:3px}.coord-symmetry{stroke:#d96b5b;stroke-width:4px;stroke-dasharray:8 6}.coord-point{fill:color-mix(in srgb, var(--accent) 72%, #5aaec7);stroke:#fffdf3;stroke-width:3px}.coord-reflected{fill:#e97953;stroke:#fffdf3;stroke-width:3px}.bag-shape{fill:color-mix(in srgb, var(--accent) 16%, #fffdf3);stroke:color-mix(in srgb, var(--accent) 72%, #6b503b);stroke-width:4px}.bag-neck{fill:none;stroke:color-mix(in srgb, var(--accent) 72%, #6b503b);stroke-width:5px;stroke-linecap:round}.prob-ball{stroke:#fffdf3eb;stroke-width:2px}.prob-ball.red{fill:#e86756}.prob-ball.blue{fill:#4e9ed6}.coin-face{stroke:#8a693d;stroke-width:4px}.coin-face.front{fill:#f7d56b}.coin-face.back{fill:#f0bc50}.congruent-arrow,.rotation-path{fill:none;stroke:color-mix(in srgb, var(--accent) 76%, #315f89);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.rotation-tip{fill:color-mix(in srgb, var(--accent) 76%, #315f89);stroke:none}.feedback .math-fraction,.choice-btn .math-fraction{min-width:.72em}.hint{color:var(--muted);text-align:center;margin:-8px 0 16px;font-size:13px;font-weight:800}.answer-row{grid-template-columns:minmax(0,1fr) 104px;gap:10px;display:grid}.answer-stack{gap:10px;display:grid}.answer-input{width:100%;min-height:52px;color:var(--ink);background:#fffdf3;border:2px solid #7d5c3747;border-radius:8px;padding:0 14px;font-size:19px;font-weight:900}.answer-input:focus{border-color:var(--accent)}.answer-input:disabled{color:var(--muted);background:#f2ead7}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice-btn{min-height:58px;color:var(--ink);overflow-wrap:anywhere;background:#fffdf3;border:2px solid #7d5c373d;border-radius:8px;padding:12px;font-size:16px;font-weight:900;line-height:1.35}.choice-btn:hover:not(:disabled),.choice-btn.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 11%, white)}.next-wide{width:100%;margin-top:14px}.next-move-btn{width:100%;min-height:48px}.feedback{border:2px solid;border-radius:8px;margin-top:18px;padding:16px}.feedback.ok{border-color:color-mix(in srgb, var(--ok) 36%, white);background:var(--ok-bg)}.feedback.no{border-color:color-mix(in srgb, var(--no) 36%, white);background:var(--no-bg)}.feedback-head{color:var(--ink);justify-content:space-between;gap:10px;font-size:15px;display:flex}.feedback-head strong{color:var(--ok)}.feedback.no .feedback-head strong{color:var(--no)}.feedback-head span{font-weight:900}.feedback p{word-break:keep-all;margin:10px 0 0;line-height:1.65}.completion-card{border:2px solid color-mix(in srgb, var(--accent) 36%, #7d5c372e);background:linear-gradient(135deg, #fffdf3f5, color-mix(in srgb, var(--accent) 12%, #fffdf3));border-radius:8px;margin-top:14px;padding:16px}.completion-card strong{color:var(--ink);font-size:18px;display:block}.completion-card p{color:var(--muted);word-break:keep-all;margin:8px 0 0;font-size:14px;font-weight:850;line-height:1.55}.session-panel{scrollbar-width:thin;scrollbar-color:#2430441f transparent;gap:12px;display:grid}.reader-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.reader-tools .panel-label{grid-column:1/-1}.adventure-card p{color:var(--muted);word-break:keep-all;margin:10px 0 0;font-size:13px;font-weight:800;line-height:1.55}.path-card ol{gap:7px;margin:12px 0 0;padding:0;list-style:none;display:grid}.path-card li{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:900;display:flex}.path-card li:before{content:"";background:#fffdf3;border:2px solid #7d5c3757;border-radius:50%;width:12px;height:12px}.path-card li.done{color:var(--ink)}.path-card li.done:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent)}.reader-large .story-dialogue strong,.reader-large .mission-card p,.reader-large .prompt{font-size:18px}.reader-large .story-dialogue p,.reader-large .feedback p,.reader-large .adventure-card p{font-size:15px}.reader-large .expression{font-size:37px}.reader-focus .story-dialogue,.reader-focus .unit-scene,.reader-focus .path-card{display:none}.reader-focus .problem-story-head{grid-template-columns:74px minmax(0,1fr)}.reader-focus .mentor-art{width:74px;height:74px}.reader-focus .problem-panel{background:#fffdf3}.reader-night{color:#eef4ff}.reader-night .practice-top,.reader-night .problem-panel,.reader-night .session-panel div,.reader-night .score-chip,.reader-night .answer-input,.reader-night .choice-btn{color:#eef4ff;background:#1d2433;border-color:#dbcda747}.reader-night .problem-panel{background:linear-gradient(#1d2433fa,#282f43f5),repeating-linear-gradient(0deg,#0000 0 33px,#ffffff0a 34px)}.reader-night .story-dialogue,.reader-night .mission-card,.reader-night .expression{color:#eef4ff;background:#ffffff0f;border-color:#dbcda73d}.reader-night .story-dialogue:before{background:#273047;border-color:#dbcda73d}.reader-night .story-dialogue p,.reader-night .mission-card p,.reader-night .hint,.reader-night .adventure-card p,.reader-night .path-card li{color:#c8d1e5}.reader-night .feedback.ok,.reader-night .feedback.no{color:var(--ink)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.34s both fadeUp}.slide-in{animation:.22s both slideIn}@media (prefers-reduced-motion:reduce){.fade-in,.slide-in,.primary-btn,.secondary-btn,.icon-text-btn,.icon-btn,.progress-track span{transition:none;animation:none}}@media (width<=1040px){.learning-layout{grid-template-columns:248px minmax(0,1fr)}.daily-hero{grid-template-columns:1fr}.daily-visual{display:none}.daily-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-menu-bar,.mode-status-strip,.approval-summary-strip,.admin-summary-grid,.local-admin-setup-form,.signup-registration-form{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-data-grid{grid-template-columns:1fr}.auth-login-form,.local-admin-login-form{grid-template-columns:repeat(2,minmax(0,1fr))}.class-grade-menu>div{grid-template-columns:repeat(4,minmax(0,1fr))}.class-monitor-summary,.student-progress-map{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-row-list article{grid-template-columns:1fr}}@media (width<=860px){.app{padding:10px}.reader-top,.practice-top{align-items:stretch}.reader-top{flex-direction:column}.reader-actions{justify-content:flex-start;width:100%}.reader-actions>button{flex:140px}.learning-layout,.hero-band,.daily-hero,.control-card,.registration-form,.class-registration-form,.student-registration-form,.auth-login-form,.local-admin-login-form,.local-admin-setup-form,.signup-registration-form,.admin-session-row,.admin-backup-actions,.admin-data-grid,.approval-account-card,.account-access-card,.security-alert-card,.class-management-panel,.class-management-card,.student-management-list,.student-management-card,.empty-class-management,.class-management-lock,.student-management-lock,.student-report-docs,.personal-plan-panel,.class-monitor-panel,.daily-path-panel,.compact-progress-board,.learner-panel,.reader-dashboard,.unit-grid,.chapter-grid,.practice-grid{grid-template-columns:1fr}.learning-control-panel{max-height:none;padding-right:0;position:static;overflow:visible}.study-board-grid,.planner-grid,.admin-summary-grid,.admin-progress-list article,.mode-status-strip,.class-monitor-summary,.report-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-student-head{grid-template-columns:1fr 1fr}.class-grade-menu>div{grid-template-columns:repeat(3,minmax(0,1fr))}.report-summary{grid-template-columns:1fr}.hero-band{padding:22px}.hero-copy h2{font-size:30px}.hero-image{max-height:260px}.session-panel{grid-template-columns:repeat(2,1fr)}.class-management-actions{justify-content:flex-start}.empty-class-management span,.class-management-lock span,.empty-class-management button,.class-management-lock button{grid-area:auto}}@media (width<=560px){:root{--readable-small:13px;--readable-text:15px;--readable-large:17px;--report-text:16px;--report-title:18px;--hero-title:32px}.reader-top h1{font-size:27px}.practice-top{grid-template-columns:1fr;display:grid}.practice-heading{text-align:left}.hero-copy h2{font-size:26px}.hero-actions,.reader-actions,.registration-menu-bar,.registration-form,.class-registration-form,.student-registration-form,.auth-login-form,.local-admin-login-form,.local-admin-setup-form,.signup-registration-form,.admin-session-row,.admin-backup-actions,.security-alert-card,.registration-drawer-head,.approval-summary-strip,.admin-summary-grid,.admin-progress-list article,.mode-status-strip,.insight-strip,.learner-form,.reader-toggle-group,.study-board-grid,.planner-grid,.class-monitor-summary,.class-student-head,.student-counsel-report summary,.student-report-docs,.student-progress-map,.db-learning-grid,.report-stat-grid,.session-panel,.choice-grid,.answer-row,.problem-story-head,.mission-card{grid-template-columns:1fr}.section-title,.report-head,.report-document-head{display:block}.report-actions{grid-template-columns:1fr;margin-top:12px;display:grid}.report-actions button,.report-head .secondary-btn{width:100%}.class-grade-menu>div{grid-template-columns:repeat(2,minmax(0,1fr))}.report-document-head strong{text-align:left;margin-top:4px;display:block}.section-title h2{font-size:21px}.terms-box{grid-column:auto}.hero-actions,.reader-actions{display:grid}.unit-header{grid-template-columns:42px minmax(0,1fr) 40px;padding:14px}.unit-scene{height:104px;margin:0 14px 10px}.problem-panel{min-height:0;padding:18px}.mentor-art{width:78px;height:78px}.story-dialogue:before{display:none}.expression{min-height:120px;padding:16px;font-size:24px}}@media (width<=720px){body{background:linear-gradient(#fff8e0f5,#dff4eff0 58%,#f2e5faeb),repeating-linear-gradient(90deg,#2430440d 0 1px,#0000 1px 36px)}body:before{height:110px}.app{padding:max(8px, env(safe-area-inset-top)) 8px max(14px, env(safe-area-inset-bottom))}.home-app{display:block}.reader-shell,.practice-shell{width:min(100%,520px)}.reader-top,.practice-top{z-index:20;padding:max(12px, env(safe-area-inset-top)) 12px 10px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff8e0eb;border-bottom:2px solid #7d5c3724;gap:10px;margin:-12px -12px 12px;position:sticky;top:0}.reader-top{grid-template-columns:minmax(0,1fr);display:grid}.practice-top{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.reader-top h1{font-size:26px}.practice-heading{text-align:left}.practice-heading h1{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:17px;line-height:1.25;display:-webkit-box;overflow:hidden}.practice-heading .eyebrow{font-size:11px}.icon-text-btn{border-radius:12px;min-height:44px;padding:0 12px}.score-chip{border-radius:12px;min-width:68px;min-height:44px}.score-chip strong{font-size:17px}.score-chip span{font-size:11px}.hero-band,.learner-panel,.reader-dashboard,.study-board,.learning-report,.story-map,.unit-card,.problem-panel,.session-panel div{border-radius:14px}.hero-band{min-height:0;padding:20px}.hero-copy h2{font-size:34px;line-height:1.1}.hero-copy p{font-size:14px}.hero-actions{grid-template-columns:1fr;display:grid}.hero-actions .primary-btn,.hero-actions .secondary-btn{min-height:50px}.hero-image{max-height:210px}.daily-hero{min-height:0;padding:18px}.daily-copy h2{font-size:var(--hero-title)}.daily-copy p{font-size:14px}.daily-actions{grid-template-columns:1fr;display:grid}.insight-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.insight-strip div{border-radius:12px;min-height:76px;padding:12px}.insight-strip strong{font-size:22px}.reader-dashboard,.daily-path-panel,.compact-progress-board,.learner-panel,.study-board,.learning-report,.story-map{padding:16px}.learner-form{grid-template-columns:1fr}.learner-current strong{font-size:23px}.reader-toggle-group,.learner-form,.daily-card-grid,.daily-step-grid,.class-monitor-summary,.class-student-head,.student-progress-map,.report-stat-grid,.study-board-grid,.chapter-grid,.unit-grid,.report-summary{grid-template-columns:1fr}.reader-stats{min-height:78px}.chapter-card{grid-template-columns:52px minmax(0,1fr);min-height:118px}.chapter-icon{width:52px;height:52px;font-size:22px}.unit-card{overflow:hidden}.unit-header{grid-template-columns:42px minmax(0,1fr) 44px}.topic-row{border-radius:12px;min-height:58px}.progress-track{background:#fffdf3c7;border-radius:999px;height:11px;margin:0 0 12px}.practice-grid{display:block}.problem-panel{background:linear-gradient(#fffdf3fa,#fff7deeb),repeating-linear-gradient(90deg,#2430440a 0 1px,#0000 1px 32px);border-width:2px;min-height:0;padding:16px}.problem-story-head{grid-template-columns:58px minmax(0,1fr);gap:10px;margin-bottom:12px}.mentor-art{width:58px;height:58px}.problem-meta{gap:6px;margin-bottom:8px}.problem-meta span{border-radius:999px;min-height:24px;padding:0 8px;font-size:11px}.story-dialogue{border-radius:12px;padding:10px 12px}.story-dialogue:before{display:none}.story-dialogue strong{font-size:14px}.story-dialogue p{font-size:12px;line-height:1.45}.mission-card{border-radius:12px;padding:12px;display:block}.mission-card span{border-radius:999px;min-height:28px;margin-bottom:8px;padding:0 9px}.mission-card p{font-size:14px}.expression{background:linear-gradient(#ffffffe0,#fffbe7f0),linear-gradient(90deg,#5d55b714 0 1px,#0000 1px 28px) 0 0/28px 28px;border-radius:14px;min-height:112px;margin:14px 0 16px;padding:16px 10px;font-size:28px}.hint{margin:-4px 0 12px;font-size:12px}.answer-row{grid-template-columns:1fr;gap:8px}.answer-input,.answer-row .primary-btn,.next-wide,.next-move-btn{border-radius:12px;min-height:52px}.choice-grid{grid-template-columns:1fr}.choice-btn{border-radius:12px;min-height:56px;font-size:15px}.feedback,.completion-card{border-radius:12px}.feedback-head{gap:6px;font-size:14px;display:grid}.session-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.session-panel div{min-height:72px;padding:12px}.session-panel strong{font-size:22px}.reader-tools,.adventure-card,.path-card{grid-column:1/-1}.reader-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.reader-tools button{border-radius:999px;min-height:42px}.path-card ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.path-card li{text-align:center;justify-items:center;font-size:11px;display:grid}}@media (width<=380px){.practice-top{grid-template-columns:1fr}.score-chip{width:100%}.insight-strip,.session-panel,.reader-tools{grid-template-columns:1fr}}
