:root{--paper:#f4f6ff;--white:#fff;--ink:#172447;--muted:#51617a;--line:#dce2ed;--accent:#4452ed;--accent-soft:#e6edff;--soft:#eef3ff;--error:#8a352f;--radius:24px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6}.brand,body,h1,h2,h3{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3{line-height:1.22;letter-spacing:-.035em}h1{font-size:clamp(36px,4vw,54px);margin:16px 0}h1,h2{font-weight:600}h2{font-size:25px;margin:12px 0 18px}h3{font-size:17px;font-weight:600}p{margin:10px 0 20px}a{color:inherit}button,input,select,textarea{font:inherit}a,button,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);padding:10px 16px;transition:background .18s,box-shadow .18s,transform .18s}button:hover:not(:disabled){background:var(--soft)}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #244de0;outline-offset:4px}a.primary,button.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--accent);color:white;border:1px solid var(--accent);padding:14px 21px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none}a.primary:hover,button.primary:hover:not(:disabled){background:#1736ad}.primary span{font-size:21px;font-weight:400}.subtle{background:transparent;font-size:13px}.text-button{background:none;border:0;padding:10px 0;text-align:left;font-weight:600;font-size:13px}.danger{background:#8a352f;color:white}.eyebrow,.tiny-label{font-size:10px;font-weight:700;letter-spacing:.16em}.muted{color:var(--muted)}.brand{display:flex;align-items:center;gap:10px;font-size:23px;letter-spacing:-1px;font-weight:700;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:var(--ink);color:white;width:35px;height:38px;border-radius:10px;font-size:22px;transform:none}.brand-dot{color:#244de0}.shell{display:flex;min-height:100vh}.sidebar{width:242px;position:fixed;inset:0 auto 0 0;padding:32px 22px;background:#142342;border-right:1px solid #243655;color:#fff;display:flex;flex-direction:column}.course-select{margin:45px 0 30px}.course-select label{font-size:11px;font-weight:700;letter-spacing:.15em;color:#b2bfdb;display:block;margin-bottom:10px}.course-select select{width:100%;padding:12px 24px 12px 11px;background:#223555;border:0;border-radius:9px;color:#fff;font-size:12px;font-weight:600}.sidebar nav{display:grid;grid-gap:7px;gap:7px}.sidebar nav button{text-align:left;border:0;border-radius:10px;background:transparent;display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:14px;color:#bfcae3}.sidebar nav button>span{width:20px;font-size:21px}.sidebar nav button.active{background:#334b86;color:#fff}.sidebar nav button.active>span{color:#c5ef77}.sidebar-foot{margin-top:auto;padding:25px 10px 0;border-top:1px solid #334464}.sidebar-foot .tiny-label{color:#b2bfdb;font-size:10px}.sidebar-foot p{font-size:14px;line-height:1.55;margin:12px 0}.main{width:calc(100% - 242px);margin-left:242px}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);padding:0 48px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.topbar>span{letter-spacing:.02em}.content{max-width:1280px;margin:auto;padding:42px 48px}.page-heading{margin:5px 0 35px}.page-heading .eyebrow{color:#244de0}.page-heading h1 span{color:#4452ed}.page-heading p{color:var(--muted);font-size:14px}.page-heading.compact h1{font-size:40px}.overview-grid{display:grid;grid-template-columns:1.65fr 1fr;grid-gap:22px;gap:22px}.focus-card{position:relative;overflow:hidden;background:linear-gradient(125deg,#3444ca,#5149df 58%,#723bd1);color:white;padding:31px 33px;border-radius:var(--radius);min-height:330px;box-shadow:0 16px 34px -18px #3d39b970}.focus-card:after{content:"";position:absolute;width:240px;height:240px;right:-120px;bottom:-100px;border:38px solid #ffffff;border-radius:100%;opacity:.08;pointer-events:none}.focus-card .eyebrow{font-size:9px}.focus-card h2{font-size:32px;max-width:90%;margin:29px 0 14px}.focus-card p{font-size:14px;max-width:85%;min-height:45px}.focus-symbol{position:absolute;right:28px;top:20px;font-size:45px;font-weight:400;color:#ccef91;transform:rotate(-12deg)}.focus-caption{display:block;font-size:12px;margin-top:14px;opacity:.9}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-bottom:22px;box-shadow:0 5px 22px -12px #29478024}.overview-grid .card,.two-columns .card{margin-bottom:0}.coverage{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.coverage>.eyebrow{align-self:flex-start}.coverage-ring{width:153px;height:153px;border-radius:50%;background:conic-gradient(var(--accent) var(--coverage),#e8edf6 0);padding:11px;margin:12px 0;box-shadow:0 0 0 8px #f4f6ff}.coverage-ring>div{width:100%;height:100%;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.coverage-ring strong{font-family:inherit;font-size:45px;font-weight:700;letter-spacing:-3px;line-height:1.1}.coverage-ring strong small{font-size:20px;letter-spacing:0}.coverage-ring span{font-size:10px;color:var(--muted);margin-top:6px}.coverage p{font-size:14px;color:var(--muted);margin:5px 0 10px;max-width:220px}.coverage>small{font-size:12px;color:var(--muted);max-width:250px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0;grid-gap:18px;gap:18px}.stats>div{padding:20px 24px;border-radius:18px;display:grid;grid-template-columns:1fr auto;align-items:center;background:#ffffff;border:1px solid var(--line);border-top:3px solid #5d64ef}.stats span{font-size:14px}.stats strong{font-family:inherit;grid-row:span 2;font-size:34px;font-weight:700;letter-spacing:-1px}.stats small{font-size:12px;color:var(--muted)}.two-columns{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:22px;gap:22px}.section-title{display:flex;gap:15px;justify-content:space-between;align-items:center}.section-title h2{font-size:20px}.small-tag{font-size:8px;padding:5px 8px;border-radius:5px;background:var(--soft);letter-spacing:.08em}.session-link{display:flex;width:100%;justify-content:space-between;align-items:center;border:0;border-radius:0;border-top:1px solid var(--line);padding:16px 0;background:transparent;text-align:left;font-size:13px}.session-link small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.exam-invite{background:#e9eeff;border-color:#ced8ff}.exam-invite h2{font-size:29px}.exam-invite p{font-size:13px;color:var(--muted)}.card>p{font-size:14px}.card.settings{max-width:750px}.settings h2:not(:first-child){margin-top:40px}.notice{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f4eedc;border:1px solid #e3d9bd;border-radius:12px;padding:15px 18px;margin-bottom:20px;font-size:13px;line-height:1.5}.notice button{flex-shrink:0;background:transparent;border:0;padding:3px 7px}.notice.error{background:#fff2ed;color:var(--error);border-color:#f0d4cb}.notice.success,.notice.working{background:var(--soft);border-color:#cedafa;color:var(--ink)}.notice.working{justify-content:flex-start}.spinner{width:15px;height:15px;border:2px solid #c7d4fa;border-top-color:#244de0;border-radius:50%;animation:spin 1s linear infinite;flex:none}@keyframes spin{to{transform:rotate(1turn)}}.empty{text-align:center;border:1px dashed #bdcce8;padding:65px 25px;border-radius:var(--radius);background:#ffffff}.empty-orbit{font-size:50px;color:#617da9}.empty h2{font-size:29px}.empty p{color:var(--muted);max-width:480px;margin:15px auto 25px}.onboarding-card{background:var(--accent-soft);border-radius:var(--radius);padding:45px;max-width:700px}.onboarding-card p{max-width:460px}.large-symbol{font-size:55px}.skill-row{display:grid;grid-template-columns:140px 1fr 80px;grid-gap:8px 20px;gap:8px 20px;align-items:center;padding:19px 0;border-top:1px solid var(--line);font-size:13px}.skill-row>strong{text-align:right;font-size:13px;font-weight:500}.skill-row>small{grid-column:2/4;color:var(--muted);font-size:11px}.meter{height:9px;background:var(--soft);overflow:hidden}.meter,.meter i{border-radius:20px}.meter i{display:block;background:linear-gradient(90deg,#4452ed,#7a50db);height:100%}.skill-row .gap-note{grid-column:1/-1;background:#f3f6fc;padding:10px 14px;border-radius:8px;font-size:12px;margin:8px 0 0}.review-date{grid-column:1/-1;font-size:11px;color:var(--muted);margin:0}.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:20px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:130px 1fr;grid-gap:4px 20px;gap:4px 20px}.timeline span{font-size:11px;color:var(--muted)}.timeline b{font-size:13px;font-weight:500}.timeline p{grid-column:2;font-size:12px;margin:0;color:var(--muted)}.source-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-top:1px solid var(--line)}.source-row b{font-size:13px;display:block;word-break:break-word}.source-row small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.status{padding:5px 9px;border-radius:5px;font-size:10px;background:#f5eee0;color:#866931;white-space:nowrap}.status.good{background:#edf4e5;color:#52783c}.outcome{border-top:1px solid var(--line);padding:16px 0}.citation{border:1px solid var(--line);border-radius:9px;margin:8px 0;padding:10px 13px;font-size:12px;background:#f7f9ff}.citation summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px}.citation blockquote,blockquote{border-left:3px solid #96acf0;padding:10px 15px;margin:12px 0;background:#eef3ff;font-size:13px;white-space:pre-wrap}.citation small{color:var(--muted);display:block}.citation a{display:block;margin-top:8px}.question-card{padding:35px;max-width:900px;border-top:4px solid var(--accent)}.question-meta{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px;letter-spacing:.06em;border-bottom:1px solid var(--line);padding-bottom:16px}.question-reason{font-size:12px!important;color:#51617a;margin-top:20px}.question-card h2{font-size:28px;line-height:1.45;font-weight:500;margin:22px 0}.criteria{font-size:13px;margin:20px 0;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer}label{display:grid;grid-gap:8px;gap:8px;font-weight:500;font-size:13px;margin-bottom:20px}input{padding:13px 14px;border:1px solid #c4cfe2;border-radius:9px;background:white;color:var(--ink);width:100%}.answer-label{font-size:11px;margin-top:27px;margin-bottom:10px}textarea{width:100%;min-height:220px;border:1px solid #c4cfe2;border-radius:12px;padding:20px;background:#f7f9ff;font-size:15px;line-height:1.7;resize:vertical;color:var(--ink)}textarea::placeholder{color:#64748b}.answer-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:14px}.answer-footer small{font-size:11px;color:var(--muted)}.feedback{max-width:900px}.feedback-lead{font-size:16px!important;line-height:1.75}.feedback details{font-size:13px}.saved-answer{white-space:pre-wrap;background:#f3f6fc;padding:18px;border-radius:10px}.gap,.strengths{padding:16px 20px;margin:15px 0;border-radius:10px;font-size:14px}.strengths{background:#edf8e8;border-left:3px solid #6f9c49}.gap{background:#f7f1e5}.gap p:last-child,.strengths p:last-child{margin-bottom:0}.next-step{padding:22px;border-radius:16px;background:#eef1ff;margin-top:20px}.next-step span{font-size:10px;letter-spacing:.12em;font-weight:700}.next-step p{font-size:17px;max-width:700px}.button-row{display:flex;gap:15px;flex-wrap:wrap;margin:20px 0}.exam-feedback{padding:20px 0;border-top:1px solid var(--line)}.background-work{font-size:12px;margin-top:35px;color:var(--muted)}footer{margin-top:45px;padding-top:18px;border-top:1px solid var(--line);font-size:10px;color:#51617a}.canvas-dialog{border:1px solid var(--line);border-radius:24px;padding:30px;width:min(600px,calc(100% - 32px));max-height:85vh;color:var(--ink);background:var(--paper)}.canvas-dialog::-webkit-backdrop{background:#152d5277;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.canvas-dialog::backdrop{background:#152d5277;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start}.dialog-heading button{border:0;background:none;font-size:25px;padding:0 5px}.canvas-dialog p{font-size:14px;color:var(--muted)}.canvas-course{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;margin:10px 0;padding:17px}.canvas-course b{font-size:14px}.canvas-course small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.landing{padding:35px 6vw;min-height:100vh;background:radial-gradient(ellipse at 88% 50%,#e5ecff 0,transparent 50%),var(--paper)}.landing header{display:flex;justify-content:space-between;align-items:center}.edition{font-size:10px;letter-spacing:.15em;color:var(--muted)}.landing-hero{max-width:950px;padding:10vh 0 8vh}.landing-hero h1{font-size:clamp(44px,7vw,88px);line-height:1.12;letter-spacing:-.06em;margin:25px 0}.landing-hero em{font-style:normal;color:#244de0}.landing-hero>p{max-width:560px;color:var(--muted);font-size:17px;line-height:1.9;margin:30px 0}.landing-points{display:flex;gap:30px;font-size:11px;color:var(--muted);margin-top:60px;flex-wrap:wrap}.landing-note{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:40px}.landing-note>span{font-size:10px;letter-spacing:.1em}.landing-note p{font-size:13px;color:var(--muted);max-width:440px}.auth-page{min-height:100vh;padding:35px 6vw;background:radial-gradient(ellipse at center,#e5ecff,transparent 70%),var(--paper)}.auth-card{max-width:480px;margin:12vh auto;padding:35px;background:#fff;border:1px solid var(--line);border-radius:22px}.auth-card h1{font-size:32px}.auth-card p{font-size:14px;color:var(--muted)}.auth-card form{margin:30px 0}.auth-card form button{width:100%}.text-link{font-size:12px;color:var(--muted)}.sidebar .brand-mark{background:#ccef91;color:#142342;transform:rotate(-6deg)}.sidebar .brand-dot{color:#ccef91}.sidebar nav button:hover:not(:disabled){background:#223555;color:#fff}.sidebar-foot button{color:#d5def1}.sidebar :focus-visible{outline-color:#ccef91}.focus-card .primary{background:#d4f59a;border-color:#d4f59a;color:#19382b;box-shadow:0 5px 0 #172c3b30}.focus-card .primary:hover:not(:disabled){background:#e1ffb2;transform:translateY(-2px)}a.primary:active,button.primary:active:not(:disabled){transform:translateY(1px)}.stats>div:nth-child(2){border-top-color:#9c65cd}.stats>div:nth-child(3){border-top-color:#3c9d9b}.session-link{transition:padding .18s,background .18s}.session-link:hover:not(:disabled){padding-left:10px;padding-right:10px;border-radius:12px}textarea:focus{background:#fff;border-color:var(--accent)}.feedback,.question-card{animation:enter-study .22s ease-out}@keyframes enter-study{0%{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media (min-width:1500px){.content{padding-top:55px}.focus-card{padding:38px}.focus-card h2{font-size:34px}}@media (max-width:1100px){.sidebar{width:210px;padding:27px 16px}.main{margin-left:210px;width:calc(100% - 210px)}.content{padding:30px}.topbar{padding:0 30px}.focus-card{padding:26px}.overview-grid{grid-template-columns:1.3fr 1fr}.focus-card h2{font-size:26px}.stats>div{padding:18px}.two-columns{grid-template-columns:1fr}}@media (max-width:760px){.shell{display:block}.sidebar{position:static;width:100%;padding:18px 18px 10px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.sidebar .brand{font-size:20px}.course-select{margin:0;align-self:center}.course-select label{display:none}.sidebar nav{grid-column:1/-1;display:flex;gap:5px;overflow-x:auto}.sidebar nav button{flex:1 1;flex-direction:column;gap:2px;font-size:10px;padding:8px 6px;white-space:nowrap}.sidebar nav button>span{font-size:18px}.sidebar-foot{display:none}.main{width:100%;margin:0}.topbar{height:60px;padding:0 20px}.content{padding:25px 18px}.page-heading h1{font-size:39px}.overview-grid,.two-columns{grid-template-columns:1fr}.coverage{display:grid;grid-template-columns:150px 1fr;grid-gap:10px;gap:10px;text-align:left;padding:23px}.coverage>.eyebrow{grid-column:1/-1}.coverage-ring{grid-row:span 2;width:120px;height:120px;margin:8px 0}.coverage-ring strong{font-size:35px}.coverage-ring span{font-size:8px}.coverage p,.coverage>small{max-width:none;margin:0}.stats{gap:9px}.stats>div{padding:13px 10px;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.stats span{font-size:10px}.stats small{font-size:9px}.stats strong{font-size:25px}.card{padding:22px}.skill-row{grid-template-columns:100px 1fr 65px;gap:8px 10px;font-size:12px}.skill-row>small{grid-column:1/-1}.skill-row>strong{font-size:11px}.question-card h2{font-size:22px}.answer-footer{align-items:stretch;flex-direction:column}.timeline li{grid-template-columns:1fr}.timeline p{grid-column:1}.landing-note{display:block}.edition{display:none}.landing-hero{padding:8vh 0}.landing-hero>p{font-size:15px}.landing-points{gap:12px;flex-direction:column;margin-top:35px}.auth-card{padding:27px;margin:8vh auto}.source-row{gap:12px}.page-heading.compact h1{font-size:32px}.focus-card h2{max-width:90%}.focus-card p{max-width:100%}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.learning-support{padding:22px;background:#eef3ff;border:1px solid #cedafa;border-radius:14px;margin:20px 0}.learning-support p{font-size:14px;white-space:pre-wrap}.learning-support small{font-size:11px;color:var(--muted)}.focus-card .eyebrow,.focus-symbol{color:#c4d4f5}.focus-caption,.focus-card p{color:#d0daf0}.topbar{background:white;gap:12px}.card{box-shadow:0 3px 16px rgb(21 45 82/3%)}.material-dialog{width:min(720px,calc(100% - 32px));background:white}.material-dialog select{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--ink);margin-bottom:20px}.material-dialog input{margin-bottom:18px}.material-dialog label{margin-bottom:8px}.source-row>div{min-width:0}@media (max-width:760px){.topbar{height:auto;min-height:60px;padding:12px 18px}.notice,.source-row,.topbar{flex-wrap:wrap}}.focus-card>:not(.focus-symbol){position:relative;z-index:1}