:root{--ink:#202b27;--muted:#6b7770;--green:#247558;--green-dark:#185f47;--lime:#dff1a7;--cream:#f7f8f1;--line:#dce3da;--white:#fff;--orange:#e7a66a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}a{color:var(--green-dark)}.site-header{background:rgba(255,255,255,.75);border-bottom:1px solid #e6ebe1}.header-inner{max-width:1260px;margin:auto;padding:22px 32px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:17px;font-weight:750;line-height:1.1}.brand-mark{display:grid;place-items:center;background:var(--green);color:#fff;border-radius:12px;width:40px;height:40px;font-size:26px}.brand small{display:block;margin-top:4px;font-size:9px;letter-spacing:.17em;color:#88958b}.header-label{font-size:12px;font-weight:650;color:#78867d}.container{width:min(1196px,calc(100% - 64px));margin:0 auto;flex:1}.demo-banner{margin:24px 0 -10px;background:#fff4dd;border:1px solid #f0d9aa;color:#755222;padding:12px 16px;border-radius:10px;font-size:13px}.intro-grid{display:grid;grid-template-columns:1fr 480px;gap:80px;align-items:center;padding:80px 0 88px}.intro{max-width:550px}.eyebrow,.card-kicker{font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--green)}.dot{display:inline-block;width:8px;height:8px;background:#8cbf70;border-radius:50%;margin-right:7px}.intro h1,.test-heading h1,.complete h1,.admin h1,.admin-login h1{letter-spacing:-.055em;line-height:1.06;font-size:clamp(42px,5vw,68px);margin:25px 0 20px;font-weight:750}.intro h1 em{font-style:normal;color:var(--green)}.lead{font-size:18px;line-height:1.65;color:#66746b;max-width:490px}.facts{display:flex;gap:38px;margin:39px 0}.facts>div{display:flex;gap:12px;align-items:center}.fact-icon{background:#e6efdd;border-radius:11px;color:var(--green);display:grid;place-items:center;width:42px;height:42px;font-size:22px}.facts strong,.facts small{display:block}.facts strong{font-size:13px}.facts small{font-size:12px;color:#89958c;margin-top:4px}.intro-note{border-left:2px solid #b4d892;padding-left:15px;font-size:13px;line-height:1.6;color:#829087;max-width:400px}.card{background:white;border:1px solid #e5eae1;border-radius:20px;box-shadow:0 16px 50px rgba(35,55,37,.055)}.start-card{padding:34px}.card-kicker{display:flex;justify-content:space-between;align-items:center}.card-kicker span{color:#b5bfb6;letter-spacing:.08em}.card h2{letter-spacing:-.035em;font-size:27px;line-height:1.2;margin:18px 0 8px}.card>p,.start-card>p,.admin p,.admin-login p{font-size:14px;line-height:1.6;color:var(--muted)}form{margin:0}.start-card form{margin-top:0}label,legend{font-size:12px;font-weight:700;color:#34443b}label{display:block}input:not([type=radio]),textarea{display:block;width:100%;border:1px solid #dce4db;border-radius:9px;background:#fbfcfa;padding:13px 14px;font:inherit;font-size:14px;color:var(--ink);margin-top:8px;outline:none}input::placeholder,textarea::placeholder{color:#b2bcb4}input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #dcefe4}input[type=radio]:focus-visible + span,.button:focus-visible,a:focus-visible{outline:3px solid #86bca5;outline-offset:3px}.start-card label+label{margin-top:17px}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:17px}.name-fields label+label{margin:0}fieldset{border:0;padding:0;margin:22px 0 0}legend{padding:0;margin-bottom:10px}.grade-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grade{position:relative;margin:0!important}.grade input,.answer input{position:absolute;opacity:0}.grade span{display:block;border:1px solid var(--line);border-radius:9px;padding:14px;background:#fbfcfa;cursor:pointer}.grade strong,.grade small{display:block}.grade strong{font-size:13px}.grade small{font-size:11px;font-weight:400;color:#8a968d;margin-top:4px}.grade input:checked+span{background:#eef8ed;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;border-radius:9px;padding:14px 18px;font:inherit;font-size:13px;font-weight:750;text-decoration:none;cursor:pointer;border:1px solid transparent}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:var(--green-dark)}.button.secondary{background:#fff;border-color:var(--line);color:#43564a}.button.secondary:hover{background:#f4f8f3}.button.full{width:100%;margin-top:23px}.button span{font-size:18px;line-height:1}.privacy-note{font-size:11px!important;line-height:1.5;text-align:center;margin:15px 4px 0!important;color:#939e95!important}.test-wrap{max-width:800px;margin:62px auto 80px}.test-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.test-heading h1{font-size:39px;margin:14px 0 8px}.test-heading p{font-size:14px;color:var(--muted);margin:0 0 24px}.progress-count{white-space:nowrap;font-size:17px;color:#a5b1a8;padding-bottom:22px}.progress-count strong{font-size:32px;color:var(--green)}.progress-track{display:block;width:100%;height:7px;border:0;border-radius:9px;overflow:hidden;background:#e3eae0}.progress-track::-webkit-progress-bar{background:#e3eae0}.progress-track::-webkit-progress-value{background:var(--green);border-radius:9px}.progress-track::-moz-progress-bar{background:var(--green);border-radius:9px}.progress-caption{display:flex;justify-content:space-between;font-size:10px;font-weight:750;letter-spacing:.09em;color:#8f9d91;margin:12px 0 25px}.question-card{padding:38px}.question-card h2{font-size:28px;line-height:1.3;max-width:660px;margin:22px 0 27px}.answers{display:grid;gap:10px;margin:0}.answer{display:flex;align-items:center;gap:14px;position:relative;border:1px solid var(--line);border-radius:10px;padding:12px 15px;min-height:58px;cursor:pointer;font-size:14px;font-weight:500}.answer:has(input:checked){border-color:var(--green);background:#f2f8ef}.answer-letter{width:30px;height:30px;border-radius:7px;background:#f0f3ee;display:grid;place-items:center;font-size:12px;font-weight:750;color:#6d7d71;flex-shrink:0}.answer:has(input:checked) .answer-letter{background:var(--green);color:white}.answer-text{flex:1;line-height:1.45}.radio-mark{width:18px;height:18px;border:1.5px solid #c8d3c7;border-radius:50%;flex-shrink:0}.answer input:checked~.radio-mark{border:5px solid var(--green)}.answer:has(input:focus-visible){outline:3px solid #86bca5;outline-offset:2px}textarea{resize:vertical;line-height:1.5}.field-hint,.save-hint{font-size:12px;color:#8c998e;line-height:1.5}.question-actions{display:flex;justify-content:space-between;gap:14px;margin-top:30px;padding-top:23px;border-top:1px solid #edf0ea}.save-hint{text-align:center;margin:20px}.notice{border-radius:9px;padding:13px 15px;margin:16px 0;font-size:13px}.notice.error{background:#fff1ed;color:#9b4431;border:1px solid #f4d4ca}.complete,.admin-login{max-width:540px;margin:90px auto;padding:48px;text-align:center}.complete-icon{display:grid;place-items:center;margin:0 auto 25px;width:64px;height:64px;background:#e5f3df;border-radius:50%;color:var(--green);font-size:30px}.complete h1{font-size:42px}.complete .lead{font-size:16px}.complete .button{margin-top:20px}.admin-login{text-align:left}.admin-login h1{font-size:38px}.admin-login form{margin-top:24px}.admin{padding:65px 0}.admin h1{font-size:44px;margin:14px 0 8px}.admin-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.list-card{padding:16px 24px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:10px;color:#8a978d;text-transform:uppercase;letter-spacing:.1em}td,th{padding:16px 12px;border-bottom:1px solid #edf0ea}tr:last-child td{border-bottom:0}td a{font-weight:700;white-space:nowrap}.detail{padding:34px}.detail-answer{border-top:1px solid #edf0ea;margin-top:25px;padding-top:16px}.detail-answer h3{font-size:15px;line-height:1.45}.detail-answer p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.correct{color:var(--green)}.back-link{display:inline-block;font-size:13px;font-weight:700;margin:0 0 18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{border-top:1px solid #e6ebe1;color:#9ba79c;font-size:11px;padding:23px 32px}footer div{max-width:1196px;margin:auto}footer span{margin:0 8px}@media(max-width:850px){.intro-grid{grid-template-columns:1fr;gap:36px;padding:55px 0}.intro{max-width:650px}.intro h1{font-size:clamp(42px,8vw,60px)}.facts{margin:27px 0}.start-card{max-width:600px}.admin-top{align-items:start;flex-direction:column}}@media(max-width:520px){.header-inner{padding:17px 20px}.header-label{display:none}.container{width:calc(100% - 36px)}.intro-grid{padding:38px 0 55px}.intro h1{font-size:42px}.lead{font-size:16px}.facts{gap:16px;flex-wrap:wrap}.start-card,.question-card,.detail{padding:24px}.name-fields{grid-template-columns:1fr}.name-fields label+label{margin-top:0}.test-wrap{margin:42px auto}.test-heading h1{font-size:30px}.test-heading p{font-size:13px}.progress-count strong{font-size:26px}.question-card h2{font-size:23px}.question-actions .button{gap:8px;padding:12px}.complete,.admin-login{margin:50px auto;padding:28px}.complete h1{font-size:34px}.admin{padding:40px 0}}
.result-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#f0f7ee;border:1px solid #dfedda;border-radius:12px;margin:26px 0 8px;padding:20px}.result-label{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--green);margin-bottom:7px}.result-panel strong{display:block;font-size:18px;letter-spacing:-.02em}.result-panel small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:5px}.result-percent{font-size:26px;font-weight:800;color:var(--green);white-space:nowrap}.notice.success{background:#eff8ed;color:#235f42;border:1px solid #cce5ce}.auto-points{font-size:13px;color:#52665a}.grade-field{margin:17px 0 4px}.grade-input{display:flex;align-items:center;gap:10px;margin-top:5px}.grade-input input{width:105px;margin:0}.grade-input span{font-size:13px;font-weight:700;color:#607369}.grade-field small{display:block;margin-top:8px;color:#8c998e;line-height:1.5}.grade-actions{border-top:1px solid #edf0ea;margin-top:25px;padding-top:24px}.pending{color:#8a6b34;font-size:12px;white-space:nowrap}
.grade-input{flex-wrap:wrap}.grade-input .button{padding:11px 15px;margin-left:5px}
.filter-form{display:flex;gap:10px;align-items:center;margin:0 0 18px}.filter-form select{min-width:200px;max-width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font:inherit;font-size:13px}.filter-form .button{padding:11px 15px}.button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:520px){.filter-form{align-items:stretch;flex-wrap:wrap}.filter-form label{width:100%}}
.attention-section{margin:26px 0 8px;border-top:1px solid #edf0ea;padding-top:20px}.attention-section h3{font-size:15px;margin:0 0 14px}.attention-stats{display:flex;gap:12px;flex-wrap:wrap}.attention-stats>div{background:#f7f9f5;border:1px solid #e9eee7;border-radius:10px;padding:13px 16px;flex:1;min-width:200px}.attention-stats strong,.attention-stats span{display:block}.attention-stats strong{font-size:20px;color:var(--green)}.attention-stats span{font-size:12px;color:#607369;margin-top:4px}.attention-section summary{cursor:pointer;color:var(--green);font-size:13px;font-weight:700}.attention-list{padding-left:20px;font-size:13px;color:#52665a}.attention-list li{padding:5px 0}.attention-list strong{margin-left:12px;color:var(--ink)}
body.optional-mode{background:#e8f0f8}.optional-mode .question-card{border-color:#cbddee}.optional-mode .eyebrow,.optional-mode .card-kicker{color:#315f91}.optional-mode .progress-track::-webkit-progress-value{background:#315f91}.optional-mode .progress-track::-moz-progress-bar{background:#315f91}.checkpoint{max-width:600px;margin:100px auto;padding:48px}.checkpoint h1{font-size:clamp(32px,5vw,46px);line-height:1.1;letter-spacing:-.04em;margin:18px 0}.checkpoint>p{color:var(--muted);font-size:16px;line-height:1.6;margin-bottom:30px}.checkpoint-actions{display:flex;gap:12px;flex-wrap:wrap}.checkpoint-back{border:0;background:none;color:var(--green-dark);font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:12px 0}.checkpoint-back:focus-visible{outline:3px solid #86bca5;outline-offset:3px}.checkpoint form>.checkpoint-back{margin-top:16px}.finish-early{text-align:right;margin-top:8px}.finish-early .checkpoint-back{color:#315f91}@media(max-width:520px){.checkpoint{margin:50px auto;padding:28px}.checkpoint-actions{flex-direction:column}}
.optional-result{background:#eef5fc;border-color:#d2e3f3}.optional-result .result-label{color:#315f91}.section-title{margin:34px 0 0;font-size:17px;color:var(--ink)}
.checkpoint .checkpoint-unanswered{font-size:14px;color:#725c37;background:#fff7e7;border-radius:9px;padding:12px 14px;margin-top:-15px}
.clear-answer{border:0;background:none;padding:10px 0 0;color:#697b6e;font:inherit;font-size:12px;cursor:pointer}.clear-answer:focus-visible{outline:3px solid #86bca5;outline-offset:3px}
.filter-form input[type=search]{width:220px;margin:0;padding:11px;background:#fff}.delete-link{display:inline-block;margin-top:4px;color:#a33f32;font-size:13px;font-weight:700}.delete-confirm{max-width:600px;padding:34px}.delete-confirm p{overflow-wrap:anywhere}.delete-confirm .checkpoint-actions{margin-top:24px}.button.danger{background:#a33f32;color:#fff}.button.danger:hover{background:#822c22}@media(max-width:520px){.filter-form input[type=search]{width:100%}.delete-confirm{padding:24px}}
