@import "https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&family=Source+Sans+3:wght@400;600;700&display=swap";:root{--ink:#17322a;--body:#3d5249;--muted:#4f6358;--line:#e3e6e1;--control:#c9d1c8;--field:#8c9a92;--green:#10603a;--green-soft:#e4f0e8;--green-tint:#f1f7f3;--green-line:#cfe0d5;--red:#b42318;--red-soft:#fbe5e3;--red-ink:#8a1c14;--yellow:#f2b705;--yellow-soft:#fff4cc;--yellow-ink:#5c4400;--gray-soft:#f1f2ef;--bg:#fbfaf7;--admin-bg:#f4f6f3;--white:#fff;--display:Poppins, Helvetica, Arial, sans-serif;--text:"Source Sans 3", Helvetica, Arial, sans-serif;--radius:10px;--shadow:0 6px 18px #17322a0f;--gutter:28px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--body);font-family:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--display);color:var(--ink);margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline-offset:2px;outline:3px solid #1d4ed8}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--white);z-index:10;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}@media (width<=640px){:root{--gutter:16px}body{font-size:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.shell{flex-direction:column;min-height:100vh;display:flex}.shell>main{flex:1}.container{max-width:1180px;padding:0 var(--gutter);margin:0 auto}.container-narrow{max-width:920px}.page{padding-top:44px;padding-bottom:64px}.page-title{letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(30px,5vw,40px);font-weight:700;line-height:1.1}.lead{max-width:40em;margin:0 0 28px;font-size:19px}.eyebrow{font-family:var(--display);color:var(--green);margin:0 0 6px;font-size:15px;font-weight:600}.section-title{letter-spacing:-.01em;margin:0 0 6px;font-size:26px;font-weight:700}.muted{color:var(--muted)}.small{font-size:15px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.stack{gap:14px;display:grid}.grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--min,300px)), 1fr));gap:18px;display:grid}.split{flex-wrap:wrap;align-items:flex-start;gap:28px;display:flex}.split>.main{flex:560px;min-width:0}.split>.side{flex:300px}.site-header{background:var(--white);border-bottom:1px solid var(--line)}.site-header .container{flex-wrap:wrap;align-items:center;gap:14px 28px;padding-top:14px;padding-bottom:14px;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;display:flex}.brand:hover{text-decoration:none}.brand-name{font-family:var(--display);font-size:20px;font-weight:700}.brand-pill{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;background:var(--green-soft);color:var(--green);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.nav{flex-wrap:wrap;flex:1;gap:6px 22px;font-size:16px;font-weight:600;display:flex}.nav a{color:var(--body);border-bottom:3px solid #0000;padding:6px 0}.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--green)}.nav a:hover{color:var(--ink);text-decoration:none}.header-spacer{flex:1}.lang-select{border:1.5px solid var(--control);background:var(--white);border-radius:6px;align-items:center;gap:8px;min-height:44px;padding:0 8px 0 12px;display:flex}.lang-select select{color:var(--ink);background:var(--white);border:0;min-height:40px;font-size:15px;font-weight:600}.user-menu{position:relative}.user-menu>button{background:var(--white);color:var(--ink);border:1.5px solid var(--control);cursor:pointer;border-radius:6px;min-height:44px;padding:9px 16px;font-size:15px;font-weight:600}.user-menu ul{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);z-index:20;border-radius:8px;min-width:200px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);right:0}.user-menu li a,.user-menu li button{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:10px 12px;font-size:16px;display:block}.user-menu li a:hover,.user-menu li button:hover{background:var(--green-tint);text-decoration:none}.crumb-bar{background:var(--green-tint);border-bottom:1px solid var(--line)}.crumbs{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 auto;padding-top:10px;padding-bottom:10px;font-size:15px;list-style:none;display:flex}.crumbs li{align-items:center;gap:10px;display:flex}.crumbs li+li:before{content:"›";color:var(--muted)}.crumbs a{font-weight:600}.crumbs [aria-current=page]{color:var(--ink);font-weight:700}.site-footer{background:var(--ink);color:#cfe6d8;font-size:14.5px}.site-footer .container{flex-wrap:wrap;gap:10px 24px;padding-top:22px;padding-bottom:22px;display:flex}.site-footer a{color:#cfe6d8}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card-link{color:var(--body);flex-direction:column;gap:8px;display:flex}.card-link:hover{border-color:var(--green);text-decoration:none}.card-title{font-family:var(--display);color:var(--ink);font-size:19px;font-weight:600}.card-cta{color:var(--green);margin-top:auto;padding-top:8px;font-weight:700}.btn{font-family:var(--display);border:2px solid var(--green);cursor:pointer;text-align:center;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 26px;font-size:17px;font-weight:600;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--green);color:var(--white)}.btn-primary:hover{background:#0c4f30}.btn-secondary{background:var(--white);color:var(--green)}.btn-small{font-family:var(--text);border-width:1.5px;min-height:44px;padding:8px 16px;font-size:15px}.btn-danger{background:var(--white);color:var(--red-ink);border-color:var(--red-ink)}.btn-flag{background:var(--yellow-soft);color:var(--yellow-ink);border-color:var(--yellow)}.btn[disabled]{opacity:.55;cursor:not-allowed}.btn-block{width:100%}.link-button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:8px 4px;font-weight:700}.dot{border:1.5px solid var(--ink);vertical-align:-1px;border-radius:50%;flex:none;width:11px;height:11px;margin-right:6px;display:inline-block}.dot-red{background:var(--red)}.dot-yellow{background:var(--yellow)}.dot-green{background:var(--green)}.chip{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:14px;font-weight:700;display:inline-flex}.chip-red{background:var(--red-soft);color:var(--red-ink)}.chip-yellow{background:var(--yellow-soft);color:var(--yellow-ink)}.chip-green{background:var(--green-soft);color:var(--green)}.chip-none{background:var(--gray-soft);color:var(--body)}.bar{background:var(--green-soft);border-radius:999px;height:10px;position:relative}.bar>.fill{border-radius:999px;height:100%}.bar .target{background:var(--ink);width:3px;position:absolute;top:-4px;bottom:-4px}.fill-red{background:var(--red)}.fill-yellow{background:var(--yellow)}.fill-green{background:var(--green)}.fill-none{background:0 0}.readiness-box{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:16px 18px}.readiness-box .top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.readiness-box .label{font-family:var(--display);color:var(--ink);font-size:15px;font-weight:600}.readiness-box .value{font-family:var(--display);color:var(--ink);font-size:28px;font-weight:700}.readiness-box .bar{height:12px;margin:12px 0 8px}.readiness-box .foot{color:var(--muted);justify-content:space-between;gap:8px;font-size:13.5px;display:flex}.readiness-box .foot strong{color:var(--ink)}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.stat-value{font-family:var(--display);color:var(--ink);font-size:22px;font-weight:700}.stat-label{color:var(--muted);font-size:13.5px}.field{color:var(--ink);gap:6px;font-size:16px;font-weight:600;display:grid}.field .help{color:var(--muted);font-size:14.5px;font-weight:400}.input{color:var(--ink);border:1.5px solid var(--field);background:var(--white);border-radius:6px;width:100%;min-height:48px;padding:10px 12px;font-size:17px;font-weight:400}.input[aria-invalid=true]{border:2px solid var(--red)}.input-short{width:110px}.alert{color:var(--ink);border-radius:8px;padding:12px 14px;font-size:16px}.alert-error{background:var(--red-soft);border:1px solid #e8b4ae}.alert-error strong{color:var(--red-ink)}.alert-info{background:var(--green-tint);border:1px solid var(--green-line)}.alert-warn{background:var(--yellow-soft);border:1px solid #f2d36b}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}input[type=checkbox],input[type=radio]{accent-color:var(--green);flex:none;width:20px;height:20px;margin:0}.select-card{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:10px;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.select-card:has(input:checked){border:2px solid var(--green);background:var(--green-tint);padding:15px 17px}.select-card:has(input:focus-visible){outline-offset:2px;outline:3px solid #1d4ed8}.select-card .name{color:var(--ink);font-size:17px;font-weight:700;display:block}.segmented{flex-wrap:wrap;gap:8px;display:flex}.segmented label{border:1.5px solid var(--control);background:var(--white);min-height:48px;color:var(--ink);text-align:center;cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:0 10px;font-weight:700;display:flex}.segmented label:has(input:checked){border:2px solid var(--green);background:var(--green-tint)}.option{text-align:left;background:var(--white);width:100%;color:var(--ink);border:1.5px solid var(--control);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:14px 18px;font-size:17px;font-weight:600;display:flex}.option:hover:not([disabled]){border-color:var(--green)}.option[disabled]{cursor:default}.option.is-selected{border:2.5px solid var(--ink);background:var(--green-tint)}.option.is-correct{border:2.5px solid var(--green);background:var(--green-soft)}.option.is-wrong{border:2.5px solid var(--red);background:var(--red-soft)}.option .tag{white-space:nowrap;font-size:14px;font-weight:700}.option.is-correct .tag{color:var(--green)}.option.is-wrong .tag{color:var(--red-ink)}.feedback{background:var(--green-tint);border:1px solid var(--green-line);border-radius:10px;margin-top:24px;padding:18px 22px}.feedback h2{margin-bottom:6px;font-size:17px;font-weight:600}.feedback.is-wrong h2{color:var(--red-ink)}.feedback.is-right h2{color:var(--green)}.figure{background:#f3f4f1;border-radius:10px;flex-direction:column;align-items:center;gap:10px;margin:0;padding:24px;display:flex}.figure img{width:min(220px,100%);height:auto}.progress-track{background:var(--green-soft);border-radius:999px;height:10px}.progress-track>div{background:var(--green);border-radius:999px;height:10px}.qnav{flex-wrap:wrap;gap:6px;display:flex}.qnav button{border:1.5px solid var(--control);background:var(--white);cursor:pointer;border-radius:6px;width:40px;height:40px;font-weight:700}.qnav button.answered{background:var(--green-soft);border-color:var(--green)}.qnav button.flagged{background:var(--yellow-soft);border-color:var(--yellow)}.qnav button[aria-current=true]{outline:3px solid var(--ink);outline-offset:1px}.flashcard{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:380px;display:flex}.flashcard .side-label{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-size:12px;font-weight:700}.flashcard .front-text{font-family:var(--display);color:var(--ink);text-wrap:balance;max-width:22em;font-size:26px;font-weight:600}.flashcard .back-text{max-width:32em;font-size:19px}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:16px}.table th{text-align:left;color:var(--muted);padding:8px 12px;font-size:14px;font-weight:600}.table td{border-top:1px solid var(--line);vertical-align:middle;padding:12px}.table th:first-child,.table td:first-child{padding-left:0}.table tr.is-selected td{background:var(--green-tint)}.admin{background:var(--admin-bg)}.admin-header{background:var(--ink)}.admin-header .container{flex-wrap:wrap;align-items:center;gap:12px 28px;max-width:1240px;padding-top:12px;padding-bottom:12px;display:flex}.admin-header .brand-name{color:var(--white);font-size:19px}.admin-header .brand-pill{background:var(--green-soft);color:var(--ink)}.admin-header .nav a{color:#cfe6d8}.admin-header .nav a[aria-current=page]{color:var(--white);border-bottom-color:#7fbf9b}.admin-header .meta{color:#cfe6d8;font-size:15px;font-weight:600}.admin .container{max-width:1240px}.admin .container.container-wide,.admin-header .container.container-wide{max-width:1640px}.qgrid{grid-template-columns:210px minmax(0,1fr) minmax(330px,26%);align-items:start;gap:18px;display:grid}.qgrid .tabs{flex-wrap:nowrap;gap:4px 18px;overflow-x:auto}.qgrid .tabs button{white-space:nowrap}.qgrid>.preview{max-height:calc(100vh - 32px);position:sticky;top:16px;overflow:auto}@media (width<=1100px){.qgrid{grid-template-columns:minmax(0,1fr) minmax(320px,38%)}.qgrid>.rail{grid-column:1/-1}}@media (width<=860px){.qgrid{grid-template-columns:1fr}.qgrid>.preview{max-height:none;position:static}}.rail-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.rail-list button{text-align:left;width:100%;min-height:40px;color:var(--body);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;gap:10px;padding:9px 10px;font-size:15px;display:flex}.rail-list button:hover{background:var(--green-tint)}.rail-list button[aria-pressed=true]{background:var(--green-soft);color:var(--ink);font-weight:700}.rail-list .n{color:var(--muted);font-variant-numeric:tabular-nums}.preview-label{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin:0;font-size:12px;font-weight:700}.student-view{border:1px dashed var(--line-strong,#b9c7bf);background:var(--admin-bg);border-radius:12px;padding:16px}.table tr.is-clickable{cursor:pointer}.table tr.is-clickable:hover td{background:var(--green-tint)}.topic-row{color:var(--body);grid-template-columns:minmax(0,1.6fr) repeat(5,minmax(90px,1fr)) auto;align-items:center;gap:16px;display:grid}.topic-row:hover{border-color:var(--green);text-decoration:none}@media (width<=900px){.topic-row{grid-template-columns:repeat(3,1fr)}.topic-row>:first-child,.topic-row>:last-child{grid-column:1/-1}}.panel{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px 26px}.kpi-label{color:var(--muted);font-size:14.5px}.kpi-value{font-family:var(--display);color:var(--ink);font-size:34px;font-weight:700}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px 24px;margin-bottom:4px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 2px;font-size:16px;font-weight:700}.tabs button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--green)}.count{color:var(--ink);background:#eceee9;border-radius:999px;margin-left:4px;padding:1px 8px;font-size:13px}.dropzone{background:var(--green-tint);text-align:center;border:2px dashed #9dc7b0;border-radius:10px;padding:26px}.dropzone.is-over{background:var(--green-soft)}.note{background:var(--white);color:var(--muted);border:2px dashed #b9b2a6;border-radius:10px;padding:18px 20px;font-size:15.5px}.list-plain{margin:0;padding:0;list-style:none}.list-plain>li{border-top:1px solid var(--line);padding:10px 0}.center-page{text-align:center;min-height:60vh;padding:40px var(--gutter);place-items:center;display:grid}.shell>main.container{width:100%}@media (width<=640px){.site-header .container{gap:10px 12px}.site-header .brand{order:1}.site-header .user-menu{order:2;margin-left:auto}.site-header .lang-select{order:3}.site-header .nav{flex-basis:100%;order:4}.site-header .header-spacer{display:none}}
