:root{font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;color:#173957;background:#eef6fa}*{box-sizing:border-box}body{margin:0}header{background:#103b62;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px max(18px,calc((100vw - 1280px)/2))}header a{color:#fff;text-decoration:none;font-weight:700}header nav{display:flex;gap:20px}header .brand{font-size:1.05rem}main{max-width:1300px;padding:32px 20px 60px;margin:auto}.intro{max-width:920px;margin-bottom:26px}.eyebrow{font-size:.8rem;font-weight:900;letter-spacing:.13em;color:#157b99}.intro h1{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.1;color:#103b62;margin:8px 0}.intro h1 em{font-style:normal;color:#d07120}.intro p{font-size:1.07rem;margin:0}.layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.72fr);gap:22px;align-items:start}.editor,.guide,.results{background:#fff;border-radius:20px;border:1px solid #d4e6ee;box-shadow:0 12px 35px #1b597515}.editor{padding:clamp(18px,3vw,32px)}label{font-weight:800;display:block;margin-bottom:7px}.task-row{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:22px}.task-row label{margin:0;flex:1}.task-row span{font-weight:700;color:#4f7184;padding-bottom:12px}.editor select,.editor textarea{font:inherit;color:#153b5a;border:1.5px solid #abc8d6;border-radius:12px;background:#fbfeff;width:100%;padding:12px 14px}.editor select{margin-top:7px;max-width:430px}.editor textarea{resize:vertical}.editor textarea:focus,.editor select:focus{outline:3px solid #bdeff3;border-color:#147a9b}.essay-label{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.essay-label span{color:#427386;font-weight:800}.form-foot{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:17px}.form-foot button{border:0;background:#d87720;color:#fff;border-radius:12px;padding:13px 20px;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 4px 0 #9d4d11}.form-foot button:hover{background:#bc6013}.form-foot span,.small{font-size:.88rem;color:#627f90}#form-message{color:#aa412c;font-weight:750}.guide{padding:24px}.guide h2{color:#103b62;margin-top:0}.guide li{margin:0 0 14px}.guide ul{padding-left:22px}.guide .note{background:#eff7fa;padding:13px;border-radius:11px;color:#41667a;font-size:.93rem}.guide a{color:#0b678d;font-weight:700}.results{margin-top:26px;padding:clamp(20px,3vw,34px)}.result-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.result-head h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:5px 0}.result-head h2 strong{display:inline-grid;place-items:center;background:#ffdb8a;color:#713c08;width:90px;height:68px;border-radius:16px;font-size:2.1rem}.result-head p{color:#507187;margin:0}.pill{padding:10px 16px;border-radius:999px;background:#dff4f1;color:#086459;font-weight:900;white-space:nowrap}.criteria{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.criterion{border:1px solid #d6e6ed;border-radius:13px;padding:15px;background:#f7fbfd}.criterion strong{display:block;font-size:1.6rem;color:#0d6688}.criterion span{font-weight:800}.feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.feedback-grid article{border:1px solid #dceaf0;border-radius:14px;padding:16px 19px}.feedback-grid h3{margin:0 0 9px;color:#134c70}.feedback-grid ul{margin:0;padding-left:20px}.feedback-grid li{margin:8px 0;overflow-wrap:anywhere}.features{display:flex;gap:7px;flex-wrap:wrap}.features span{border-radius:999px;padding:6px 10px;background:#e7f2f7;color:#27566c;font-weight:700;font-size:.85rem}.features .seen{background:#d8f4df;color:#116243}.result-note{margin-bottom:0;color:#56758a;font-size:.92rem}footer{text-align:center;background:#103b62;color:#fff;padding:26px}@media(max-width:850px){.layout{grid-template-columns:1fr}.criteria{grid-template-columns:repeat(2,1fr)}}@media(max-width:570px){main{padding:21px 12px 40px}.task-row,.result-head{align-items:start;flex-direction:column}.task-row span{padding:0}.criteria,.feedback-grid{grid-template-columns:1fr}header nav{gap:9px;font-size:.83rem}}

.topic-check{padding:16px 20px;margin-top:20px;border-radius:14px;background:#eaf6f8;border-left:5px solid #1685a1}.topic-check.possible{background:#fff0e6;border-color:#d46b2d}.topic-check.uncertain{background:#fff8df;border-color:#d2a52a}.topic-check strong{font-size:1.08rem;color:#164e6a}.topic-check p{margin:5px 0 0;color:#46677b}
.rubric{margin-top:22px;background:#fff;border:1px solid #d4e6ee;border-radius:18px;box-shadow:0 12px 35px #1b597515;padding:18px 22px}.rubric summary{cursor:pointer;color:#103b62;font-weight:900;font-size:1.08rem}.rubric summary:focus-visible{outline:3px solid #147a9b;outline-offset:4px}.rubric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.rubric-grid article{background:#f4fafd;border:1px solid #dceaf0;border-radius:12px;padding:14px 18px}.rubric-grid h3{color:#134c70;margin:0 0 9px;font-size:1rem}.rubric-grid p{margin:8px 0}.rubric-note{color:#507187;margin:16px 0 0}@media(max-width:650px){.rubric-grid{grid-template-columns:1fr}}
.grammar-issues{padding-left:22px;margin:7px 0 18px}.grammar-issues li{margin:10px 0}.grammar-issues li span{display:block;color:#56758a}.issue-jump{font:inherit;color:#9b4316;background:#fff3e8;border:1px solid #e7b88e;border-radius:8px;padding:4px 8px;text-align:left;cursor:pointer;overflow-wrap:anywhere}.issue-jump:hover,.issue-jump:focus-visible{background:#ffe0c2;outline:2px solid #b65c1c;outline-offset:2px}.feedback-grid h4{margin:15px 0 4px;color:#134c70}
.rule-explanation{background:#f4f8fc;border:1px solid #d5e6ef;border-radius:10px;padding:10px 14px;color:#315b73;font-weight:700;margin:17px 0 0}
.tense-reference{margin-top:14px;background:#fff;border:1px solid #d4e6ee;border-radius:18px;padding:18px 22px}.tense-reference summary{cursor:pointer;font-size:1.08rem;font-weight:900;color:#103b62}.tense-reference h3{margin:20px 0 8px;color:#134c70}.tense-table-wrap{overflow-x:auto}.tense-table{border-collapse:collapse;width:100%;min-width:560px}.tense-table th,.tense-table td{border:1px solid #dceaf0;padding:8px 10px;text-align:left}.tense-table th{background:#e7f2f7}.tense-table tr:nth-child(even){background:#f7fbfd}.tense-reference p{color:#507187;margin-bottom:0}
