:root{--blue:#2563eb;--navy:#17346d;--bg:#f5f8fd;--ink:#18243b;--muted:#66758e;--line:#e5ebf4;--white:#fff;--green:#15803d;--amber:#ad6707;--radius:16px;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ffbc42;outline-offset:2px}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.side{background:var(--navy);color:white;padding:26px 16px}.brand{font-size:1.5rem;font-weight:800;margin:0 10px 34px}.brand span{color:#a9d5ff}.side button{width:100%;text-align:left;border:0;border-radius:11px;padding:13px;background:transparent;color:#d7e5ff;margin:3px 0}.side button.active,.side button:hover{background:#315294;color:white}.content{padding:28px 36px;max-width:1520px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.top h1{font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.2;margin:0 0 6px}.eyebrow{font-size:.83rem;color:var(--blue);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px}.muted{color:var(--muted)}.top .muted{margin:0}.badge{border-radius:999px;background:#e7efff;color:#2854a1;padding:7px 12px;font-size:.8rem;font-weight:650}.grid{display:grid;gap:18px}.cols{grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr)}.triple{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 3px 16px #1f3f7110;min-width:0}.card h2{font-size:1.1rem;margin:0 0 12px}.card h3{font-size:1rem;margin:0 0 8px}.hero{background:linear-gradient(115deg,#e5efff,#fff);border-color:#d4e3fd}.hero h2{font-size:1.5rem}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.btn{border:1px solid #ccd8ec;color:#244371;border-radius:10px;background:white;padding:10px 16px;font-weight:650}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.ghost{background:#eff5ff}.pill{display:inline-block;background:#e8f7ee;color:var(--green);border-radius:999px;padding:3px 9px;font-size:.76rem;font-weight:700}.pill.warn{background:#fff1d7;color:var(--amber)}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row strong{display:block}.bar{height:8px;border-radius:10px;background:#e8eef7;overflow:hidden;margin-top:9px}.bar>i{display:block;height:100%;background:var(--blue);border-radius:10px}.small{font-size:.86rem}.question{padding:20px;border:1px solid #d6e2f6;border-radius:12px;background:#f7faff;font-size:1.12rem}.choice{display:block;border:1px solid var(--line);border-radius:10px;padding:13px;margin:9px 0;background:white;text-align:left;width:100%}.choice:focus,.choice.selected{border-color:var(--blue);background:#eef4ff}.field{display:grid;gap:6px;margin:12px 0}.field input,.field select{border:1px solid #cdd8e8;border-radius:10px;padding:11px;background:white;width:100%}.note{border-left:4px solid #69a4f9;background:#f0f6ff;border-radius:8px;padding:12px 15px;margin-top:14px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.tabs button{border:1px solid var(--line);border-radius:999px;padding:7px 13px;background:white;color:var(--ink)}.tabs button.active{background:var(--blue);color:white;border-color:var(--blue)}.zone{border:2px dashed #a9bfe1;padding:26px;border-radius:12px;background:#f8fbff;text-align:center}.mobile-nav{display:none}.stat{font-size:1.6rem;font-weight:780;color:#244dad}.section{margin-top:22px}.file{display:flex;align-items:center;gap:12px}.file-icon{background:#e4efff;border-radius:11px;padding:12px;color:var(--blue)}[hidden]{display:none!important}.preview-flag{position:static;display:block;width:max-content;max-width:calc(100vw - 30px);margin:8px 15px 24px;font-size:.72rem;background:#fff7e7;border:1px solid #e3ba6e;color:#835b22;border-radius:8px;padding:6px 10px}@media(max-width:1023px){.shell{grid-template-columns:76px 1fr}.side{padding:18px 8px}.brand{font-size:1rem;margin:0 4px 20px}.side button{font-size:.72rem;text-align:center;padding:12px 2px}.content{padding:22px}.cols{grid-template-columns:1fr}}@media(max-width:767px){.shell{display:block}.side{display:none}.content{padding:17px 15px 92px}.top{align-items:flex-start}.top .badge{font-size:.68rem;white-space:nowrap}.triple{grid-template-columns:1fr}.card{padding:17px}.hero h2{font-size:1.25rem}.mobile-nav{position:fixed;z-index:3;bottom:0;left:0;right:0;background:white;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);padding:6px 2px max(6px,env(safe-area-inset-bottom))}.mobile-nav button{border:0;background:none;color:#596c88;font-size:.63rem;padding:7px 2px}.mobile-nav button.active{color:var(--blue);font-weight:800}.preview-flag{bottom:69px;font-size:.59rem}.actions .btn{flex:1}.question{font-size:1rem}}

.side-label{margin:0 10px 10px;color:#9eb4d9;font-size:.68rem;font-weight:750;letter-spacing:.12em}.side-foot{position:sticky;top:calc(100vh - 70px);margin:32px 10px 0;color:#d7e5ff;font-size:.8rem}.side-foot span{color:#9eb4d9}.feature-row{display:flex;align-items:center;gap:12px;margin-top:18px}.feature-row>div{display:grid}.feature-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#d5e6ff;color:#244dad;font-weight:800}.progress-item{margin:10px 0 16px}.inline-form{padding:16px;background:#f8fbff;border:1px solid var(--line);border-radius:12px;margin:18px 0}.field textarea,.field input[type=date]{border:1px solid #cdd8e8;border-radius:10px;padding:11px;background:white;width:100%;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #d5e4ff;border-color:var(--blue)}.btn:disabled{cursor:not-allowed;opacity:.48}.success,.warning{padding:11px 14px;border-radius:10px}.success{background:#e8f7ee;color:#17623a}.warning{background:#fff1d7;color:#81500b}.reply,.test-result,.plan-output{margin-top:16px;padding:16px;border:1px solid #d4e3fd;border-radius:12px;background:#f7faff}.lesson-steps{padding-left:24px}.lesson-steps li{margin:12px 0}.lesson-steps span{display:block;color:var(--muted)}.test-question{border:0;border-top:1px solid var(--line);padding:14px 0;margin:0}.test-question legend{font-weight:700;padding:0 0 8px}.test-choice{display:flex;align-items:flex-start;gap:9px;padding:8px 5px;border-radius:8px}.test-choice:has(input:checked){background:#eef4ff}.test-choice input,.topic-options input{margin-top:5px;accent-color:var(--blue)}.topic-options{border:1px solid var(--line);border-radius:10px;padding:12px 15px;margin:12px 0 16px}.topic-options legend{font-weight:700;padding:0 4px}.topic-options label{display:inline-flex;align-items:center;gap:6px;margin:6px 12px 6px 0}.parent-controls{display:grid;grid-template-columns:repeat(2,minmax(0,250px));gap:12px}.parent-controls .field{margin:0}.extraction{margin-top:16px;padding:16px;background:white;border:1px solid var(--line);border-radius:12px}.extraction .field{margin:10px 0}.extraction .field input{border:1px solid #cdd8e8;border-radius:10px;padding:11px;width:100%}.progress-item .row{padding:4px 0;border:0}.test-result{border-color:#b8dec6;background:#f0faf3}.test-result p{margin-bottom:0}.plan-output h3{margin-top:0}.card ul{padding-left:22px}.card li{margin:9px 0}.card hr{border:0;border-top:1px solid var(--line);margin:18px 0}.side button:focus-visible,.mobile-nav button:focus-visible,.tabs button:focus-visible,.btn:focus-visible,.choice:focus-visible{outline:3px solid #ffbc42;outline-offset:2px}@media(max-width:767px){.side-foot{display:none}.content{padding-bottom:112px}.parent-controls{grid-template-columns:1fr 1fr}.parent-controls .field{min-width:0}.mobile-nav button{font-size:.61rem}.preview-flag{margin:8px 15px 82px}.topic-options label{display:flex}.test-question legend{font-size:.95rem}}

.mastery-card{margin-top:22px}.mastery-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px}.mastery-top h2{margin-bottom:2px}.mastery-top p{margin:0}.mastery-select{display:grid;gap:5px;color:var(--muted);font-size:.82rem;font-weight:650}.mastery-select select{min-width:190px;border:1px solid #cdd8e8;border-radius:9px;background:white;color:var(--ink);padding:8px 10px}.mastery-row{padding:12px 0;border-bottom:1px solid var(--line)}.mastery-row:last-child{border-bottom:0}.mastery-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.mastery-row p{margin:5px 0 0}.mastery-card .note{margin-bottom:0}@media(max-width:600px){.mastery-top{display:grid}.mastery-select{width:100%}.mastery-select select{width:100%}.mastery-heading{align-items:flex-start;flex-direction:column;gap:6px}}

.import-panel{margin-top:18px}.import-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.import-heading h2{margin-bottom:3px}.import-heading p{margin:0}.import-options{margin-top:16px}.import-option{min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px;background:#fbfcff}.import-option h3{margin-bottom:4px}.import-option p{margin:4px 0 10px}.import-option .actions{margin-top:12px}.import-preview{list-style:none;padding:0;margin:10px 0 0}.import-preview li{padding:10px 0;border-bottom:1px solid var(--line)}.import-preview li:last-child{border-bottom:0}.import-preview label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:2px 8px;align-items:start}.import-preview input{grid-row:span 3;margin-top:4px;accent-color:var(--blue)}.import-preview strong,.import-preview span{min-width:0;overflow-wrap:anywhere}.import-source{background:#eef4ff;color:#2854a1}.assignment-line{margin:8px 0;color:var(--muted)}.import-option .success,.import-panel>.success{margin:10px 0}.import-panel .note{margin-bottom:0}@media(max-width:767px){.import-heading{align-items:flex-start}.import-heading>.btn{flex:0 0 auto}.import-options{gap:12px}.import-option{padding:14px}.import-option .actions .btn{flex:1}}

.course-materials{margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcff}.course-materials>strong{font-size:.86rem}.course-material{display:grid;gap:2px;padding:8px 0 0;margin-top:7px;border-top:1px solid var(--line);font-size:.88rem;overflow-wrap:anywhere}.course-materials+.bar{margin-top:12px}
