: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}}.net-diagram{flex-direction:column;align-items:center;gap:2px;padding:10px 6px 4px;display:flex}.net-prism-row,.net-pyramid-row{flex-direction:row;gap:2px;display:flex}.net-face{color:var(--ink);border:2px solid color-mix(in srgb, var(--accent) 60%, #6b503b);border-radius:4px;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:flex}.net-base{background:color-mix(in srgb, var(--accent) 30%, #fffdf3);width:52px;height:36px}.net-side{background:color-mix(in srgb, var(--accent) 14%, #fffdf3);width:52px;height:44px}.net-tri{background:color-mix(in srgb, var(--accent) 18%, #fffdf3);clip-path:polygon(50% 0%,0% 100%,100% 100%);outline:2px solid color-mix(in srgb, var(--accent) 60%, #6b503b);outline-offset:-2px;border:none;width:48px;height:40px}.net-circle{background:color-mix(in srgb, var(--accent) 28%, #fffdf3);border-radius:50%;width:46px;height:46px}.net-rect{background:color-mix(in srgb, var(--accent) 14%, #fffdf3);width:120px;height:44px}.net-label{color:var(--ink);text-align:center;margin:4px 0 0;font-size:11px;font-weight:800}.net-fold-top{transform-origin:50% 100%;animation:3s ease-in-out infinite net-unfold-top}.net-fold-bottom{transform-origin:50% 0;animation:3s ease-in-out infinite net-unfold-bottom}.net-fold-left{transform-origin:100%;animation:3s ease-in-out .3s infinite net-unfold-left}.net-fold-right{transform-origin:0%;animation:3s ease-in-out .6s infinite net-unfold-right}.net-fold-back{transform-origin:0%;animation:3s ease-in-out .9s infinite net-unfold-right}.net-fold-side{transform-origin:50% 0;animation:3s ease-in-out .3s infinite net-unfold-bottom}@keyframes net-unfold-top{0%,35%{transform:perspective(180px)rotateX(0)}55%,80%{transform:perspective(180px)rotateX(-62deg)}to{transform:perspective(180px)rotateX(0)}}@keyframes net-unfold-bottom{0%,35%{transform:perspective(180px)rotateX(0)}55%,80%{transform:perspective(180px)rotateX(62deg)}to{transform:perspective(180px)rotateX(0)}}@keyframes net-unfold-left{0%,35%{transform:perspective(180px)rotateY(0)}55%,80%{transform:perspective(180px)rotateY(62deg)}to{transform:perspective(180px)rotateY(0)}}@keyframes net-unfold-right{0%,35%{transform:perspective(180px)rotateY(0)}55%,80%{transform:perspective(180px)rotateY(-62deg)}to{transform:perspective(180px)rotateY(0)}}@media (prefers-reduced-motion:reduce){.net-fold-top,.net-fold-bottom,.net-fold-left,.net-fold-right,.net-fold-back,.net-fold-side{animation:none}}.op-drill-shell{flex-direction:column;gap:24px;width:min(1360px,100%);margin:0 auto;padding:16px 12px 64px;display:flex}.op-drill-top{align-items:center;gap:18px;margin-bottom:4px;display:flex}.op-drill-heading{flex-direction:column;gap:2px;display:flex}.op-drill-heading h1{margin:2px 0 0;font-size:30px;line-height:1.2}.op-science-banner{background:linear-gradient(135deg,#168b8f1a,#5d55b717);border:1.5px solid #168b8f33;border-radius:12px;align-items:flex-start;gap:14px;padding:14px 18px;display:flex}.op-science-banner strong{color:var(--teal);margin-bottom:3px;font-size:14px;font-weight:900;display:block}.op-science-banner p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.op-science-icon{flex-shrink:0;margin-top:2px;font-size:28px}.op-grade-tabs{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}@media (width<=640px){.op-grade-tabs{grid-template-columns:repeat(3,1fr)}}.op-grade-tab{background:var(--tab-bg,#f8f8f4);color:var(--ink);cursor:pointer;word-break:keep-all;border:2px solid #7d5c3726;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;font-size:14px;font-weight:800;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.op-grade-tab:hover{border-color:var(--tab-accent,var(--teal));box-shadow:0 4px 12px -4px color-mix(in srgb, var(--tab-accent,var(--teal)) 28%, transparent);transform:translateY(-2px)}.op-grade-tab.active{border-color:var(--tab-accent,var(--teal));background:color-mix(in srgb, var(--tab-accent,var(--teal)) 12%, white);box-shadow:0 6px 16px -4px color-mix(in srgb, var(--tab-accent,var(--teal)) 34%, transparent)}.op-grade-emoji{font-size:22px}.op-grade-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, white), color-mix(in srgb, var(--accent) 5%, white));border:1.5px solid color-mix(in srgb, var(--accent) 24%, transparent);box-shadow:0 8px 24px -8px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:20px 24px;display:grid}@media (width<=720px){.op-grade-hero{grid-template-columns:1fr}}.op-grade-badge{background:color-mix(in srgb, var(--accent) 15%, white);border:1.5px solid color-mix(in srgb, var(--accent) 30%, transparent);color:var(--accent);border-radius:20px;margin-bottom:8px;padding:3px 10px;font-size:13px;font-weight:900;display:inline-block}.op-grade-hero-copy p{color:var(--ink);margin:6px 0 4px;font-size:15px}.op-grade-hero-copy small{color:var(--muted);font-size:13px}.op-grade-hero-actions{flex-direction:column;gap:12px;min-width:260px;display:flex}.op-mode-block{background:#ffffffc2;border:1.5px solid #7d5c3724;border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.op-mode-label{color:var(--ink);font-size:13px;font-weight:900}.op-mode-block small{color:var(--muted);margin-bottom:2px;font-size:12px}.op-size-row{flex-wrap:wrap;gap:6px;display:flex}.op-sprint-btn{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 70%, var(--indigo)));color:#fff;letter-spacing:-.02em;cursor:pointer;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:14px 16px;font-size:15px;font-weight:900;transition:opacity .15s,transform .1s;display:flex}.op-sprint-btn:hover{opacity:.92;transform:translateY(-2px)}.op-sprint-btn small{opacity:.84;font-size:12px;font-weight:700}.op-units-section{flex-direction:column;gap:14px;display:flex}.op-section-heading{color:var(--ink);margin:0 0 4px;font-size:18px;font-weight:900}.op-unit-list{flex-direction:column;gap:14px;display:flex}.op-unit-card{border:1.5px solid color-mix(in srgb, var(--accent) 22%, #7d5c3724);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 5%, white), white);box-shadow:0 4px 14px -6px color-mix(in srgb, var(--accent) 16%, transparent);border-radius:14px;padding:16px 18px}.op-unit-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.op-unit-badge{background:color-mix(in srgb, var(--accent) 14%, white);color:var(--accent);border-radius:6px;margin-bottom:4px;padding:2px 8px;font-size:11px;font-weight:900;display:inline-block}.op-unit-card-head strong{color:var(--ink);font-size:15px;font-weight:900;display:block}.op-unit-card-head small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.op-unit-size-row{flex-shrink:0;gap:6px;display:flex}.op-topic-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.op-topic-card{background:#ffffffb8;border:1.5px solid #7d5c371f;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:background .12s,border-color .12s;display:flex}.op-topic-card:hover{border-color:color-mix(in srgb, var(--accent) 28%, transparent);background:#ffffffeb}.op-topic-card-info{min-width:0}.op-topic-card-info strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:900;display:block;overflow:hidden}.op-topic-card-info small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.op-topic-card-actions{flex-shrink:0;gap:4px;display:flex}.op-topic-btn{background:color-mix(in srgb, var(--accent) 12%, white);width:32px;height:32px;color:var(--accent);border:1.5px solid color-mix(in srgb, var(--accent) 22%, transparent);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:900;transition:background .12s,transform 80ms;display:flex}.op-topic-btn:hover{background:color-mix(in srgb, var(--accent) 22%, white);transform:scale(1.08)}.op-guide-section{background:linear-gradient(135deg,#ece7fb99,#e8f7f299);border:1.5px solid #5d55b724;border-radius:16px;flex-direction:column;gap:16px;padding:20px 22px;display:flex}.op-guide-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.op-guide-card{background:#ffffffc7;border:1.5px solid #7d5c371a;border-radius:12px;flex-direction:column;gap:5px;padding:14px 16px;display:flex}.op-guide-icon{font-size:22px}.op-guide-card strong{color:var(--indigo);font-size:13px;font-weight:900}.op-guide-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.op-session-recommend{background:#ffffffc7;border:1.5px solid #5d55b729;border-radius:12px;padding:16px 18px}.op-session-recommend strong{color:var(--indigo);margin-bottom:10px;font-size:14px;font-weight:900;display:block}.op-session-recommend ol{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.op-session-recommend li{color:var(--ink);font-size:13px;line-height:1.5}.op-session-recommend b{color:var(--teal)}.op-empty-note{text-align:center;color:var(--muted);padding:32px;font-size:15px}@media (width<=640px){.op-drill-promo{grid-template-columns:1fr}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.drill-page{min-height:100svh;font-family:var(--font);background:#f1f5f9;flex-direction:column;display:flex}.drill-header{z-index:100;background:#fff;border-bottom:1.5px solid #e2e8f0;position:sticky;top:0;box-shadow:0 2px 8px #0000000f}.drill-header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1400px;height:62px;margin:0 auto;padding:0 20px;display:flex}.drill-header-left{align-items:center;gap:14px;display:flex}.drill-back-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .12s,color .12s;display:flex}.drill-back-btn:hover{color:#1e293b;background:#e2e8f0}.drill-logo{align-items:center;gap:10px;display:flex}.drill-logo-icon{font-size:26px;line-height:1}.drill-logo strong{color:#1e293b;font-size:17px;font-weight:950;line-height:1.2;display:block}.drill-logo small{color:#94a3b8;font-size:11px;font-weight:600;display:block}.drill-header-right{flex:1;justify-content:flex-end;align-items:center;gap:10px;display:flex;overflow:hidden}.drill-home-btn{color:#fff;white-space:nowrap;background:#1e40af;border-radius:20px;flex-shrink:0;align-items:center;gap:5px;padding:6px 13px;font-size:12px;font-weight:700;text-decoration:none;transition:background .15s;display:inline-flex}.drill-home-btn:hover{background:#1d4ed8}.drill-tip-badge{color:#166534;white-space:nowrap;text-overflow:ellipsis;background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:20px;max-width:520px;padding:6px 12px;font-size:12px;font-weight:600;overflow:hidden}@media (width<=860px){.drill-header-right{display:none}}.drill-grade-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#fff;border-bottom:1.5px solid #e2e8f0;gap:0;max-width:100%;padding:0 20px;display:flex;overflow-x:auto}.drill-grade-nav::-webkit-scrollbar{display:none}.drill-grade-tab{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;flex-shrink:0;align-items:center;gap:8px;height:58px;padding:0 22px;font-size:14px;font-weight:700;transition:color .15s,border-color .15s;display:flex}.drill-grade-tab:hover{color:#1e293b;background:#f8fafc}.drill-grade-tab.active{color:var(--g-color);border-bottom-color:var(--g-color);background:var(--g-bg)}.drill-grade-emoji{font-size:18px}.drill-grade-label{font-size:15px;font-weight:900}.drill-grade-range{color:inherit;opacity:.65;font-size:11px}@media (width<=640px){.drill-grade-range{display:none}.drill-grade-tab{gap:5px;padding:0 14px}}.drill-body{flex-direction:column;gap:0;width:100%;max-width:1400px;margin:0 auto;padding:20px 20px 60px;display:flex}.drill-main{grid-template-columns:300px 1fr;align-items:start;gap:20px;display:grid}@media (width<=920px){.drill-main{grid-template-columns:1fr}.drill-config-panel{z-index:300;max-height:86vh;padding-bottom:max(24px, env(safe-area-inset-bottom));border-bottom:0;border-radius:20px 20px 0 0;transition:transform .3s cubic-bezier(.32,0,.67,0);position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -8px 40px #0000002e}.drill-config-panel.mobile-open{transition:transform .3s cubic-bezier(.33,1,.68,1);transform:translateY(0)}}.drill-config-drag-handle{cursor:pointer;justify-content:center;margin:-20px -20px 4px;padding:10px 0 4px;display:none}.drill-config-drag-handle span{background:#cbd5e1;border-radius:3px;width:40px;height:5px;display:block}@media (width<=920px){.drill-config-drag-handle{display:flex}}.drill-mobile-overlay{display:none}@media (width<=920px){.drill-mobile-overlay{z-index:299;background:#0f172a7a;animation:.2s forwards drillOverlayIn;display:block;position:fixed;inset:0}}@keyframes drillOverlayIn{0%{opacity:0}to{opacity:1}}.drill-mobile-fab{display:none}@media (width<=920px){.drill-mobile-fab{bottom:max(20px, env(safe-area-inset-bottom));z-index:298;background:var(--g-color,#2563eb);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:28px;flex-direction:column;align-items:center;gap:2px;padding:12px 18px;font-size:14px;font-weight:900;transition:transform .12s,box-shadow .12s;display:flex;position:fixed;right:18px;box-shadow:0 6px 24px -4px #00000061}.drill-mobile-fab:hover{transform:translateY(-2px);box-shadow:0 10px 28px -4px #0000006b}.drill-mobile-fab>span{align-items:center;gap:6px;display:flex}.drill-mobile-fab small{opacity:.84;font-size:11px;font-weight:600}}.drill-config-panel{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:20px;padding:20px;display:flex;position:sticky;top:140px;box-shadow:0 2px 12px #0000000d}.drill-config-block{flex-direction:column;gap:8px;display:flex}.drill-config-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:800}.drill-toggle-group{grid-template-columns:1fr 1fr;gap:6px;display:grid}.drill-toggle-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:center;gap:3px;min-height:54px;padding:12px 8px;font-size:14px;font-weight:800;transition:all .12s;display:flex}.drill-toggle-btn small{opacity:.7;font-size:11px;font-weight:600}.drill-toggle-btn.active{background:var(--g-color,#2563eb);border-color:var(--g-color,#2563eb);color:#fff}.drill-semester-group{grid-template-columns:1fr 1fr;gap:6px;display:grid}.drill-semester-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;min-height:48px;padding:12px;font-size:15px;font-weight:800;transition:all .12s}.drill-semester-btn.active{background:var(--g-color,#2563eb);border-color:var(--g-color,#2563eb);color:#fff}.drill-unit-pills{scrollbar-width:thin;flex-direction:column;gap:5px;max-height:200px;display:flex;overflow-y:auto}.drill-unit-pill{color:#475569;cursor:pointer;text-align:left;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;align-items:center;min-height:44px;padding:10px 12px;font-size:13px;font-weight:700;transition:all .12s;display:flex}.drill-unit-pill:hover{border-color:var(--g-border,#93c5fd);background:var(--g-bg,#eff6ff);color:var(--g-color,#2563eb)}.drill-unit-pill.active{border-color:var(--g-color,#2563eb);background:var(--g-bg,#eff6ff);color:var(--g-color,#2563eb);font-weight:900}.drill-topic-pills{scrollbar-width:thin;flex-direction:column;gap:4px;max-height:220px;display:flex;overflow-y:auto}.drill-topic-pill{color:#475569;cursor:pointer;text-align:left;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:700;transition:all .12s;display:flex}.drill-topic-pill small{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:11px;font-weight:500;overflow:hidden}.drill-topic-pill:hover{border-color:var(--g-border,#93c5fd);background:var(--g-bg,#eff6ff);color:var(--g-color,#2563eb)}.drill-topic-pill.active{border-color:var(--g-color,#2563eb);background:var(--g-bg,#eff6ff);color:var(--g-color,#2563eb);font-weight:900}.drill-mixed-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:6px;display:grid}.drill-mixed-stat{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:10px;display:flex}.drill-mixed-stat strong{color:var(--g-color,#2563eb);font-size:18px;font-weight:950}.drill-mixed-stat span{color:#94a3b8;font-size:12px;font-weight:600}.drill-mixed-desc{color:#64748b;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.6}.drill-count-group{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.drill-count-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:center;gap:3px;min-height:54px;padding:12px 6px;transition:all .12s;display:flex}.drill-count-btn strong{font-size:14px;font-weight:900}.drill-count-btn small{opacity:.7;font-size:11px;font-weight:600}.drill-count-btn.active{background:var(--g-color,#2563eb);border-color:var(--g-color,#2563eb);color:#fff}.drill-start-btn{background:var(--g-color,#2563eb);color:#fff;cursor:pointer;width:100%;box-shadow:0 4px 14px -2px color-mix(in srgb, var(--g-color,#2563eb) 40%, transparent);border:0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;font-size:16px;font-weight:950;transition:opacity .15s,transform .1s,box-shadow .15s;display:flex}.drill-start-btn:hover:not(:disabled){opacity:.92;box-shadow:0 8px 20px -2px color-mix(in srgb, var(--g-color,#2563eb) 50%, transparent);transform:translateY(-2px)}.drill-start-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.drill-start-btn small{opacity:.84;font-size:12px;font-weight:600}.drill-start-icon{font-size:14px;display:none;position:absolute;right:18px}.drill-print-btn{width:100%;min-height:48px;color:var(--g-color,#2563eb);border:2px solid color-mix(in srgb, var(--g-color,#2563eb) 35%, transparent);cursor:pointer;background:#fff;border-radius:10px;flex-direction:row;justify-content:center;align-items:center;gap:8px;padding:13px 12px;font-size:14px;font-weight:700;transition:background .15s,border-color .15s,transform .1s;display:flex}.drill-print-btn:hover:not(:disabled){background:color-mix(in srgb, var(--g-color,#2563eb) 8%, white);border-color:var(--g-color,#2563eb);transform:translateY(-1px)}.drill-print-btn:disabled{opacity:.4;cursor:not-allowed}.drill-print-btn small{opacity:.7;font-size:12px;font-weight:500}.drill-print-btn svg{flex-shrink:0}.drill-empty-note{color:#94a3b8;text-align:center;background:#f8fafc;border-radius:8px;margin:0;padding:12px;font-size:14px}.drill-content{flex-direction:column;gap:20px;display:flex}.drill-content-header{background:var(--g-bg,#eff6ff);border:1.5px solid var(--g-border,#93c5fd);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex;box-shadow:0 2px 8px #0000000a}.drill-grade-badge{background:var(--g-color,#2563eb);color:#fff;border-radius:20px;margin-bottom:6px;padding:5px 13px;font-size:13px;font-weight:900;display:inline-block}.drill-content-header-text h2{color:#1e293b;margin:0 0 4px;font-size:22px;font-weight:950}.drill-content-header-text p{color:#64748b;margin:0;font-size:14px}.drill-content-header-stats{gap:16px;display:flex}.drill-content-header-stats>div{border:1.5px solid var(--g-border,#93c5fd);background:#ffffffb8;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:52px;padding:10px;display:flex}.drill-content-header-stats strong{color:var(--g-color,#2563eb);font-size:20px;font-weight:950}.drill-content-header-stats span{color:#94a3b8;font-size:11px;font-weight:700}.drill-unit-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}@media (width<=640px){.drill-unit-grid{grid-template-columns:repeat(2,1fr);gap:10px}.drill-body{padding:14px 14px 100px}.drill-brain-grid,.drill-routine-steps{grid-template-columns:1fr}}@media (width<=400px){.drill-unit-grid{grid-template-columns:1fr;gap:10px}}.drill-unit-card{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:10px;padding:16px;transition:border-color .14s,box-shadow .14s,transform .1s;display:flex;box-shadow:0 1px 4px #0000000d}.drill-unit-card:hover{border-color:var(--g-border,#93c5fd);box-shadow:0 4px 14px -2px color-mix(in srgb, var(--g-color,#2563eb) 16%, transparent);transform:translateY(-2px)}.drill-unit-card.selected{border-color:var(--g-color,#2563eb);background:var(--g-bg,#eff6ff);box-shadow:0 4px 16px -2px color-mix(in srgb, var(--g-color,#2563eb) 22%, transparent)}.drill-unit-card.mixed-card{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.drill-unit-card.mixed-card:hover{border-color:#f59e0b;box-shadow:0 4px 14px -2px #f59e0b3d}.drill-unit-card-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.drill-unit-month-badge{background:var(--g-bg,#eff6ff);color:var(--g-color,#2563eb);border:1px solid var(--g-border,#93c5fd);border-radius:6px;padding:4px 9px;font-size:12px;font-weight:900}.drill-unit-month-badge.mixed{color:#92400e;background:#fef3c7;border-color:#fde68a}.drill-unit-topic-count{color:#94a3b8;background:#f1f5f9;border-radius:10px;padding:3px 8px;font-size:12px;font-weight:700}.drill-unit-title{color:#1e293b;font-size:15px;font-weight:900;line-height:1.3}.drill-unit-topics{flex-wrap:wrap;gap:4px;display:flex}.drill-unit-topic-chip{color:#64748b;background:#f1f5f9;border-radius:5px;padding:3px 8px;font-size:12px;font-weight:700}.drill-unit-topic-chip.more{color:#94a3b8;background:#e2e8f0}.drill-unit-mixed-desc{color:#78350f;margin:0;font-size:13px;line-height:1.55}.drill-unit-card-actions{margin-top:auto}.drill-unit-start-btn{background:var(--g-color,#2563eb);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;min-height:46px;padding:12px;font-size:13px;font-weight:900;transition:opacity .12s,transform 80ms}.drill-unit-start-btn:hover{opacity:.88;transform:translateY(-1px)}.drill-unit-start-btn.mixed{background:linear-gradient(135deg,#f59e0b,#d97706)}.drill-no-units{text-align:center;background:#fff;border:1.5px dashed #cbd5e1;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:48px 24px;display:flex}.drill-no-units span{font-size:40px}.drill-no-units p{color:#64748b;margin:0;font-size:15px}.drill-no-units button{color:#475569;cursor:pointer;background:#f1f5f9;border:1.5px solid #cbd5e1;border-radius:8px;min-height:46px;padding:11px 24px;font-size:14px;font-weight:700}.drill-brain-section{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:16px;padding:24px;display:flex}.drill-brain-title{color:#1e293b;margin:0;font-size:16px;font-weight:950}.drill-brain-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.drill-brain-card{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;transition:background .12s;display:flex}.drill-brain-card.highlight{background:#f0fdf4;border-color:#bbf7d0}.drill-brain-icon{flex-shrink:0;margin-top:1px;font-size:20px}.drill-brain-card p{color:#475569;margin:0;font-size:13px;line-height:1.65}.drill-routine-box{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1.5px solid #c7d2fe;border-radius:12px;padding:18px 20px}.drill-routine-box h4{color:#3730a3;margin:0 0 14px;font-size:14px;font-weight:900}.drill-routine-steps{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.drill-routine-step{background:#fffc;border:1px solid #6366f129;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.drill-routine-step>span{color:#6366f1;flex-shrink:0;width:24px;font-size:16px;font-weight:950;line-height:1}.drill-routine-step strong{color:#1e293b;margin-bottom:3px;font-size:13px;font-weight:900;display:block}.drill-routine-step small{color:#64748b;font-size:12px;line-height:1.45}.op-drill-entry-btn{background:linear-gradient(135deg, color-mix(in srgb, var(--teal) 14%, white), color-mix(in srgb, var(--violet) 10%, white))!important;border-color:color-mix(in srgb, var(--teal) 28%, transparent)!important;color:var(--teal)!important}.op-drill-entry-btn:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--teal) 22%, white), color-mix(in srgb, var(--violet) 16%, white))!important}.op-drill-promo{border:1.5px solid color-mix(in srgb, var(--teal) 24%, #5d55b72e);box-shadow:0 6px 20px -8px color-mix(in srgb, var(--teal) 20%, transparent);background:linear-gradient(135deg,#168b8f14 0%,#5d55b712 50%,#7b5ac812 100%),#ffffffb8;border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:22px 26px;animation:.4s both fadeInUp;display:grid}@media (width<=640px){.op-drill-promo{grid-template-columns:1fr}}.op-drill-promo .eyebrow{color:var(--teal)}.op-drill-promo h2{margin:4px 0 6px;font-size:22px;font-weight:950}.op-drill-promo p{color:var(--muted);margin:0 0 10px;font-size:14px;line-height:1.6}.op-drill-promo-tags{flex-wrap:wrap;gap:6px;display:flex}.op-drill-promo-tags span{color:var(--ink);background:#ffffffd1;border:1.5px solid #7d5c3724;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:800}.op-drill-promo-btn{background:linear-gradient(135deg, var(--teal), var(--indigo));color:#fff;cursor:pointer;white-space:nowrap;min-width:160px;box-shadow:0 6px 18px -4px color-mix(in srgb, var(--teal) 36%, transparent);border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:16px 22px;font-size:15px;font-weight:950;transition:opacity .15s,transform .12s,box-shadow .15s;display:flex}.op-drill-promo-btn:hover{opacity:.92;box-shadow:0 10px 24px -4px color-mix(in srgb, var(--teal) 44%, transparent);transform:translateY(-2px)}.op-drill-promo-btn small{opacity:.84;font-size:11px;font-weight:700}.prac-shell{color:#1a202c;background:#f7f8fc;flex-direction:column;min-height:100dvh;padding:0 0 80px;display:flex}.reader-night.prac-shell{color:#e8eeff;background:#131720}.prac-header{z-index:20;background:#fff;border-bottom:2px solid #00000012;align-items:center;gap:12px;padding:12px 20px;display:flex;position:sticky;top:0}.reader-night .prac-header{background:#1d2433;border-color:#ffffff1a}.prac-back{color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:2px solid #0000001f;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:700;transition:background .12s;display:inline-flex}.prac-back:hover{background:#0000000f}.reader-night .prac-back{border-color:#ffffff2e}.prac-header-center{text-align:center;flex:1;min-width:0}.prac-title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;font-weight:900;line-height:1.2;overflow:hidden}.prac-learner{background:var(--accent);color:#fff;border-radius:999px;margin-top:3px;padding:2px 9px;font-size:11px;font-weight:800;display:inline-block}.prac-score-box{background:#ffffffb3;border:2px solid #0000001a;border-radius:10px;flex-direction:column;flex-shrink:0;align-items:center;min-width:72px;padding:6px 12px;display:flex}.reader-night .prac-score-box{background:#ffffff14;border-color:#ffffff24}.prac-score-box strong{color:var(--accent);font-size:20px;line-height:1}.prac-score-box span{color:#888;font-size:11px;font-weight:700}.prac-dots-wrap{background:#fff;border-bottom:1px solid #0000000f;padding:10px 20px 4px}.reader-night .prac-dots-wrap{background:#1d2433;border-color:#ffffff14}.prac-dots{flex-wrap:wrap;justify-content:center;gap:5px;margin-bottom:8px;display:flex}.prac-dot{background:#dde1ea;border-radius:50%;width:10px;height:10px;transition:background .18s,transform .12s}.prac-dot--ok{background:#22c55e}.prac-dot--ng{background:#ef4444}.prac-dot--cur{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);transform:scale(1.4)}.reader-night .prac-dot{background:#3a4155}.prac-progress-bar{background:#e2e5ee;border-radius:999px;height:4px;overflow:hidden}.reader-night .prac-progress-bar{background:#2a3145}.prac-progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 60%, #fcd34d));height:100%;transition:width .25s;display:block}.prac-main{box-sizing:border-box;flex:1;width:100%;max-width:720px;margin:0 auto;padding:20px 16px 0}.prac-card{background:#fff;border:2px solid #00000014;border-radius:16px;padding:24px 24px 8px;box-shadow:0 4px 18px -4px #0000001a}.reader-night .prac-card{background:#1e2538;border-color:#ffffff1a}.prac-card-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.prac-badges{align-items:center;gap:7px;display:flex}.prac-num-badge{background:color-mix(in srgb, var(--accent) 12%, white);color:var(--accent);border-radius:8px;padding:4px 11px;font-size:13px;font-weight:900}.reader-night .prac-num-badge{background:color-mix(in srgb, var(--accent) 22%, #1e2538)}.prac-kind-badge{color:#555;background:#f0f1f6;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:800}.reader-night .prac-kind-badge{color:#aab;background:#2c3349}.prac-card-tools{gap:6px;display:flex}.prac-tool-btn{color:#666;cursor:pointer;background:0 0;border:1.5px solid #0000001a;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:700;transition:all .12s;display:inline-flex}.prac-tool-btn:hover{background:#0000000d}.prac-tool-btn.on{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, white)}.reader-night .prac-tool-btn{color:#99a;border-color:#ffffff24}.reader-night .prac-tool-btn.on{background:color-mix(in srgb, var(--accent) 18%, #1e2538)}.prac-prompt{background:color-mix(in srgb, var(--accent) 7%, #f9f9fb);border-left:4px solid var(--accent);color:#2d3748;word-break:keep-all;border-radius:10px;margin:0 0 14px;padding:10px 14px;font-size:15px;font-weight:800;line-height:1.6}.reader-night .prac-prompt{background:color-mix(in srgb, var(--accent) 14%, #1e2538);color:#cdd5ee}.prac-expr{text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;background:linear-gradient(#fff,#fafbff),linear-gradient(90deg,#6366f10d 0 1px,#0000 1px 36px) 0 0/36px 36px;border:2px solid #00000014;border-radius:12px;align-content:center;gap:6px;min-height:130px;margin:0 0 18px;padding:28px 24px;font-size:34px;font-weight:900;line-height:1.4;display:grid;box-shadow:inset 0 1px 6px #0000000a}.reader-night .prac-expr{color:#e8f0ff;background:linear-gradient(#242c3f,#1e2537);border-color:#ffffff1a}.reader-large .prac-expr{font-size:42px}.prac-expr>span{display:block}.prac-expr .math-text{flex-wrap:wrap;justify-content:center;align-items:center;gap:.1em;display:inline-flex}.prac-expr .math-fraction{min-width:.84em}.prac-hint{color:#777;text-align:center;margin:-10px 0 14px;font-size:13px;font-weight:700}.prac-cmp-wrap{margin-bottom:18px}.prac-cmp-label{color:#888;text-align:center;margin:0 0 12px;font-size:13px;font-weight:700}.prac-cmp-row{justify-content:center;gap:14px;display:flex}.prac-cmp-btn{cursor:pointer;background:#fff;border:3px solid #0000001a;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:110px;height:110px;transition:border-color .14s,background .14s,transform .1s,box-shadow .14s;display:flex}.prac-cmp-btn:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, white);box-shadow:0 8px 20px -4px color-mix(in srgb, var(--accent) 30%, transparent);transform:translateY(-3px)}.prac-cmp-sym{color:#1a202c;font-size:44px;font-weight:900;line-height:1}.prac-cmp-btn small{color:#888;font-size:12px;font-weight:700}.prac-cmp-btn.chosen{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, white)}.prac-cmp-btn.ok{background:#f0fdf4;border-color:#22c55e}.prac-cmp-btn.ok .prac-cmp-sym{color:#15803d}.prac-cmp-btn.ng{background:#fef2f2;border-color:#ef4444}.prac-cmp-btn.ng .prac-cmp-sym{color:#dc2626}.prac-cmp-btn.reveal{opacity:.75;background:#f0fdf4;border-color:#22c55e}.reader-night .prac-cmp-btn{background:#252e42;border-color:#ffffff1f}.reader-night .prac-cmp-sym{color:#e8f0ff}.reader-night .prac-cmp-btn.ok{background:#0d2d1f;border-color:#22c55e}.reader-night .prac-cmp-btn.ng{background:#2d1515;border-color:#ef4444}.prac-choices{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.prac-choice{text-align:left;cursor:pointer;background:#fff;border:2px solid #0000001a;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .13s,background .13s,transform .1s;display:flex}.prac-choice:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, white);transform:translateY(-2px)}.prac-choice-num{color:#555;background:#00000012;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;font-weight:900;transition:background .12s;display:flex}.prac-choice-body{font-size:18px;font-weight:800;line-height:1.3}.prac-choice .math-text{flex-wrap:wrap;align-items:center;gap:.08em;display:inline-flex}.prac-choice.chosen{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, white)}.prac-choice.chosen .prac-choice-num{background:var(--accent);color:#fff}.prac-choice.ok{background:#f0fdf4;border-color:#22c55e}.prac-choice.ok .prac-choice-num{color:#fff;background:#22c55e}.prac-choice.ng{background:#fef2f2;border-color:#ef4444}.prac-choice.ng .prac-choice-num{color:#fff;background:#ef4444}.prac-choice.reveal{background:#f0fdf4;border-color:#22c55e}.prac-choice.reveal .prac-choice-num{color:#fff;background:#22c55e}.reader-night .prac-choice{color:#e8f0ff;background:#252e42;border-color:#ffffff1f}.reader-night .prac-choice-num{color:#aab;background:#ffffff1a}.reader-night .prac-choice.ok{background:#0d2d1f;border-color:#22c55e}.reader-night .prac-choice.ng{background:#2d1515;border-color:#ef4444}.reader-large .prac-choice-body{font-size:22px}.prac-input-area{margin-bottom:18px}.prac-input-row{align-items:stretch;gap:10px;display:flex}.prac-input{color:#1a202c;text-align:center;background:#fff;border:2.5px solid #00000024;border-radius:12px;outline:none;flex:1;min-width:0;padding:14px 18px;font-size:22px;font-weight:800;transition:border-color .14s,box-shadow .14s}.prac-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.reader-night .prac-input{color:#e8f0ff;background:#1e2538;border-color:#ffffff2e}.reader-night .prac-input:focus{border-color:var(--accent)}.reader-large .prac-input{font-size:28px}.prac-submit-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:12px;padding:14px 22px;font-size:15px;font-weight:900;transition:opacity .13s,transform .1s}.prac-submit-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.prac-submit-btn:disabled{opacity:.4;cursor:not-allowed}.prac-input-tip{color:#888;text-align:center;margin:8px 0 0;font-size:12px;font-weight:700}.prac-input-tip code{background:#00000012;border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace}.prac-feedback{border-left:5px solid;border-radius:12px;margin:16px 0 0;padding:16px 18px}.prac-fb--ok{background:#f0fdf4;border-color:#22c55e}.prac-fb--ng{background:#fef2f2;border-color:#ef4444}.reader-night .prac-fb--ok{background:#0d2d1f}.reader-night .prac-fb--ng{background:#2d1515}.prac-fb-head{align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.prac-fb-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:900;display:flex}.prac-fb--ok .prac-fb-icon{color:#16a34a;background:#dcfce7}.prac-fb--ng .prac-fb-icon{color:#dc2626;background:#fee2e2}.prac-fb-text strong{font-size:16px;font-weight:900;display:block}.prac-correct-reveal{color:#374151;flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0 0;font-size:15px;font-weight:800;display:flex}.reader-night .prac-correct-reveal{color:#c5d0e8}.prac-solution{color:#374151;font-size:15px;font-weight:800;line-height:1.6}.reader-night .prac-solution{color:#b8c5df}.prac-solution .math-text{flex-wrap:wrap;align-items:center;gap:.06em;display:inline-flex}.prac-next-btn{background:var(--accent);color:#fff;text-align:center;cursor:pointer;border:0;border-radius:12px;width:100%;margin-top:16px;padding:14px;font-size:16px;font-weight:900;transition:opacity .13s,transform .1s;display:block}.prac-next-btn:hover{opacity:.9;transform:translateY(-2px)}.prac-complete{text-align:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac;border-radius:14px;margin-top:24px;padding:28px 20px}.reader-night .prac-complete{background:linear-gradient(135deg,#0d2d1f,#14402c);border-color:#22c55e}.prac-complete-emoji{margin:0 0 8px;font-size:48px}.prac-complete-title{color:#15803d;margin-bottom:8px;font-size:24px;font-weight:900;display:block}.reader-night .prac-complete-title{color:#4ade80}.prac-complete-summary{color:#374151;margin:0 0 18px;font-size:16px;font-weight:700}.reader-night .prac-complete-summary{color:#a7c5b0}.prac-exit-btn{color:#16a34a;cursor:pointer;background:#fff;border:2px solid #22c55e;border-radius:10px;padding:12px 24px;font-size:15px;font-weight:900;transition:background .12s}.prac-exit-btn:hover{background:#f0fdf4}.reader-night .prac-exit-btn{color:#4ade80;background:#1e2538;border-color:#22c55e}.prac-stats-bar{z-index:30;background:#fff;border-top:2px solid #00000014;align-items:center;padding:10px 16px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px -4px #0000001f}.reader-night .prac-stats-bar{background:#1d2433;border-color:#ffffff1a}.prac-stat{border-right:1px solid #00000014;flex-direction:column;flex:1;align-items:center;padding:2px 4px;display:flex}.reader-night .prac-stat{border-color:#ffffff14}.prac-stat span{color:#888;margin-bottom:2px;font-size:10px;font-weight:700;line-height:1}.prac-stat strong{color:#1a202c;font-size:18px;font-weight:900;line-height:1}.reader-night .prac-stat strong{color:#e8f0ff}.prac-streak-hot{color:#f97316!important}.prac-bar-tools{flex-shrink:0;align-items:center;gap:6px;padding-left:10px;display:flex}.prac-bar-tools button{color:#555;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #0000001a;border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:700;transition:background .12s;display:inline-flex}.prac-bar-tools button:hover{background:#0000000d}.prac-bar-tools button.on{color:var(--accent);border-color:var(--accent)}.reader-night .prac-bar-tools button{color:#aab;border-color:#ffffff24}.auth-gate{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-gate-box{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:400px;margin:0 auto;padding:48px 36px;box-shadow:0 8px 40px -8px #00000026}.auth-gate-box h1{color:#1e40af;margin:0 0 8px;font-size:24px;font-weight:900}.auth-gate-subtitle{color:#64748b;margin:0 0 24px;font-size:14px}.auth-gate-loading{color:#94a3b8;margin:24px 0 0;font-size:14px}.auth-gate-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 16px;padding:8px 12px;font-size:13px}.auth-gate-form{text-align:left;flex-direction:column;gap:14px;display:flex}.auth-gate-field{flex-direction:column;gap:4px;display:flex}.auth-gate-field label{color:#374151;font-size:13px;font-weight:700}.auth-gate-field input{border:1.5px solid #d1d5db;border-radius:10px;outline:none;padding:10px 14px;font-size:15px;transition:border-color .15s}.auth-gate-field input:focus{border-color:#3b82f6}.auth-gate-form .primary-btn{color:#fff;cursor:pointer;background:#1e40af;border:none;border-radius:10px;margin-top:6px;padding:12px;font-size:16px;font-weight:900;transition:background .15s}.auth-gate-form .primary-btn:hover:not(:disabled){background:#1d4ed8}.auth-gate-form .primary-btn:disabled{opacity:.6;cursor:not-allowed}.prac-concept-card{background:#fff8d7d9;border:2px solid #ffc83c73;border-radius:12px;margin:0 0 14px;transition:border-color .2s;overflow:hidden}.reader-night .prac-concept-card{background:#3c320a8c;border-color:#dcaa2859}.prac-concept-toggle{cursor:pointer;color:#92600a;text-align:left;background:0 0;border:none;align-items:center;gap:7px;width:100%;padding:9px 14px;font-size:13px;font-weight:800;display:flex}.reader-night .prac-concept-toggle{color:#ddb860}.prac-concept-icon{font-size:15px}.prac-concept-label{flex:1}.prac-concept-chevron{opacity:.7;font-size:11px}.prac-concept-body{color:#5c3d00;margin:0;padding:0 14px 12px;font-size:13.5px;font-weight:700;line-height:1.65}.reader-night .prac-concept-body{color:#e8cc85}.prac-steps{background:#f0f6ffe0;border:2px solid #508cdc40;border-radius:12px;margin:14px 0 4px;padding:14px 16px 12px}.reader-night .prac-steps{background:#14223c99;border-color:#508cdc33}.prac-steps-header{align-items:center;gap:7px;margin-bottom:12px;display:flex}.prac-steps-icon{font-size:15px}.prac-steps-title{color:#3758a0;letter-spacing:.01em;font-size:12.5px;font-weight:800}.reader-night .prac-steps-title{color:#88aadf}.prac-step{background:#ffffffb8;border:1.5px solid #6496dc33;border-radius:9px;flex-direction:column;gap:6px;margin-bottom:10px;padding:10px 12px;transition:border-color .2s,background .2s;display:flex}.reader-night .prac-step{background:#1e2c468c;border-color:#6496dc2e}.prac-step.step-ok{background:#dcfce7d9;border-color:#22c55e73}.prac-step.step-ng{background:#fef2f2d9;border-color:#ef444466}.reader-night .prac-step.step-ok{background:#0a28148c}.reader-night .prac-step.step-ng{background:#280a0a8c}.prac-step-label{color:#374151;font-size:13px;font-weight:800}.reader-night .prac-step-label{color:#b8c8e8}.prac-step-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.prac-step-input{text-align:center;color:#243044;background:#fff;border:1.5px solid #6496dc66;border-radius:8px;outline:none;width:100px;padding:6px 10px;font-size:15px;font-weight:800;transition:border-color .15s}.prac-step-input:focus{border-color:#3b82f6}.prac-step-input:disabled{color:#6c7184;background:#f0f0f099}.reader-night .prac-step-input{color:#dce8ff;background:#1e2d48;border-color:#6496dc4d}.prac-step-feedback{align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.step-ok-mark{color:#16a34a;font-size:16px;font-weight:900}.prac-step-answer{color:#b94258}.prac-step-answer strong{color:#c0392b}.logic-flow-card{background:#eeecfeb8;border:1.5px solid #645adc40;border-radius:12px;margin:0 0 14px;transition:border-color .2s;overflow:hidden}.reader-night .logic-flow-card{background:#12102c9e;border-color:#786edc38}.logic-flow-toggle{cursor:pointer;color:#4a45a0;text-align:left;background:0 0;border:none;align-items:center;gap:7px;width:100%;padding:11px 14px;font-size:15px;font-weight:700;display:flex}.reader-night .logic-flow-toggle{color:#a8a4e8}.logic-flow-icon{font-size:17px}.logic-flow-label{flex:1}.logic-flow-sub{opacity:.65;font-size:13px;font-weight:500}.logic-flow-chevron{opacity:.6;font-size:12px}.logic-flow-body{background:radial-gradient(circle,#645adc0b 1px,#0000 1px) 0 0/18px 18px;flex-direction:column;align-items:center;padding:4px 16px 16px;display:flex}.logic-ipo-deco{opacity:.85;align-items:center;gap:8px;margin-bottom:10px;display:flex}.logic-ipo-label{color:#4a45a099;letter-spacing:.08em;font-size:12px;font-weight:800}.logic-terminal{letter-spacing:.08em;border-radius:20px;align-items:center;gap:8px;padding:6px 20px;font-size:13px;font-weight:800;display:flex}.logic-terminal-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.logic-terminal-start{color:#4a45a0;background:#645adc21;border:1.5px solid #645adc59}.logic-terminal-start .logic-terminal-dot{background:#4a45a0}.logic-terminal-end{color:#15803d;background:#16a34a1a;border:1.5px solid #16a34a4d;transition:background .2s}.logic-terminal-end.graded{background:#16a34a2b;border-color:#16a34a73}.logic-terminal-end .logic-terminal-dot{background:#15803d;box-shadow:0 0 0 2px #16a34a47}.reader-night .logic-terminal-start{color:#a8a4e8;background:#645adc38;border-color:#8278f061}.reader-night .logic-terminal-end{color:#6dd4a0;background:#16a34a29;border-color:#22c55e4d}.logic-arrow{flex-direction:column;align-items:center;display:flex}.logic-arrow-line{background:#645adc6b;border-radius:1px;width:2px;height:14px}.logic-arrow-head{border-top:8px solid #645adc85;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;margin-top:-1px}.logic-step-wrap{width:100%}.logic-node{background:#faf9ffeb;border:1.5px solid #645adc38;border-radius:10px;align-items:stretch;width:100%;transition:border-color .2s,background .2s;display:flex;overflow:hidden}.logic-node.node-ok{background:#dcfce7d9;border-color:#22c55e85}.logic-node.node-ng{background:#fef2f2d9;border-color:#ef44446b}.logic-node.node-final{background:#ede9fed9;border-color:#7c3aed6b}.reader-night .logic-node{background:#1a1634d9;border-color:#786edc38}.reader-night .logic-node.node-ok{background:#0a281494}.reader-night .logic-node.node-ng{background:#280a0a94}.reader-night .logic-node.node-final{background:#1e143cad}.logic-node-badge{background:#645adc1f;border-right:1px solid #645adc21;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:42px;padding:8px 4px;display:flex}.logic-badge-num{color:#4a45a0;font-size:20px;font-weight:900;line-height:1}.logic-badge-tag{color:#4a45a094;letter-spacing:.06em;font-size:11px;font-weight:700}.logic-node.node-ok .logic-node-badge{background:#22c55e26;border-color:#22c55e26}.logic-node.node-ok .logic-badge-num{color:#15803d}.logic-node.node-ok .logic-badge-tag{color:#15803d99}.logic-node.node-ng .logic-node-badge{background:#ef44441f;border-color:#ef44441f}.logic-node.node-ng .logic-badge-num{color:#b91c1c}.logic-node.node-final .logic-node-badge{background:#7c3aed21;border-color:#7c3aed21}.logic-node.node-final .logic-badge-num{color:#6d28d9}.reader-night .logic-node-badge{background:#645adc38;border-color:#786edc26}.reader-night .logic-badge-num{color:#a8a4e8}.logic-node-body{flex-direction:column;flex:1;gap:6px;min-width:0;padding:9px 12px;display:flex}.logic-node-label{color:#374151;word-break:keep-all;font-size:15px;font-weight:700;line-height:1.45}.reader-night .logic-node-label{color:#d0d8f0}.logic-node-io{align-items:center;display:flex}.logic-node-input{color:#1e1b4b;background:#ffffffe0;border:1.5px solid #645adc4d;border-radius:6px;outline:none;width:110px;padding:5px 10px;font-size:15px;font-weight:700;transition:border-color .15s}.logic-node-input:focus{border-color:#6366f1}.logic-node-input:disabled{color:#6c7184;background:#f0f0f899}.reader-night .logic-node-input{color:#d0d8f8;background:#1e1b40;border-color:#786edc59}.logic-node-result{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.logic-result-ok{color:#15803d;font-size:15px;font-weight:800}.logic-result-mine{color:#b91c1c;font-size:15px;font-weight:700}.logic-result-answer{color:#374151;font-size:15px;font-weight:600}.logic-result-answer strong{color:#1d4ed8;font-weight:900}.reader-night .logic-result-answer{color:#c0c8e0}.reader-night .logic-result-answer strong{color:#818cf8}.logic-input-wrap{flex-direction:column;gap:4px;display:flex}.logic-input-tip{color:#645adca6;font-size:11px;font-weight:500}.reader-night .logic-input-tip{color:#b4aaff8c}.logic-hint-area{flex-direction:column;gap:6px;width:100%;display:flex}.logic-unanswered{color:#9ca3af;font-size:13px;font-style:italic}.logic-hint-row{background:#fbbf241a;border:1px solid #fbbf2447;border-radius:7px;align-items:flex-start;gap:5px;padding:6px 9px;display:flex}.logic-hint-icon{flex-shrink:0;font-size:14px;line-height:1.4}.logic-hint-text{color:#78350f;word-break:keep-all;font-size:13px;font-weight:600;line-height:1.5}.reader-night .logic-hint-row{background:#fbbf2412;border-color:#fbbf242e}.reader-night .logic-hint-text{color:#fcd34d}.logic-reveal-btn{color:#4338ca;cursor:pointer;background:#6366f112;border:1.5px solid #6366f180;border-radius:20px;align-self:flex-start;padding:4px 12px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s}.logic-reveal-btn:hover{background:#6366f126;border-color:#6366f1b3}.reader-night .logic-reveal-btn{color:#a5b4fc;background:#6366f11f;border-color:#818cf880}.reader-night .logic-reveal-btn:hover{background:#6366f138}.logic-node-type{background:#645adc0e;border-left:1px solid #645adc1a;justify-content:center;align-items:center;min-width:32px;padding:8px 6px;display:flex}.logic-node-type span{color:#4a45a094;letter-spacing:.05em;writing-mode:vertical-rl;text-orientation:mixed;font-size:11px;font-weight:800}.logic-node.node-ok .logic-node-type{background:#22c55e12;border-color:#22c55e1a}.logic-node.node-ng .logic-node-type{background:#ef44440f;border-color:#ef44441a}.logic-node.node-final .logic-node-type{background:#7c3aed12;border-color:#7c3aed1a}.reader-night .logic-node-type{background:#645adc1a;border-color:#786edc1f}.auth-gate-hint{color:#94a3b8;margin:20px 0 0;font-size:12px;line-height:1.5}
