:root{
  --ink:#17352d;--muted:#66766f;--green:#176b52;--green-dark:#0c4c3a;--mint:#e8f3ee;
  --cream:#f6f1e8;--paper:#fffdf8;--gold:#bd8b3f;--line:#dbe3dd;--danger:#a33d32;
  --shadow:0 20px 55px rgba(31,52,44,.10);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#edf3ef 0,#f8f4ec 420px,#f4f0e8 100%);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(#1a6e5518 1px,transparent 1px);background-size:22px 22px}
.page-shell{width:min(1120px,calc(100% - 28px));margin:28px auto 54px;position:relative}.hero{display:grid;grid-template-columns:88px 1fr auto;gap:22px;align-items:center;background:linear-gradient(135deg,#0e503d,#1b7459);color:#fff;border-radius:28px;padding:30px 34px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid #ffffff22;border-radius:50%;right:-90px;top:-115px}.hero-mark{width:76px;height:76px;border:1px solid #ffffff36;border-radius:22px;display:grid;place-items:center;background:#ffffff0f}.hero-mark svg{width:48px;color:#ead6a9}.eyebrow,.kicker{margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow{color:#d8e9e1}.hero h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,4vw,46px);line-height:1.08}.hero-copy{margin:10px 0 0;max-width:760px;color:#e4efe9;font-size:14px}.teacher-link{position:relative;z-index:2;color:#fff;text-decoration:none;border:1px solid #ffffff55;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:750;background:#ffffff0f}
main{display:grid;gap:18px;margin-top:18px}.paper-card{background:var(--paper);border:1px solid #e5e1d7;border-radius:var(--radius);padding:28px;box-shadow:0 8px 28px rgba(50,65,57,.06)}.section-heading{display:flex;gap:14px;align-items:center;margin-bottom:22px}.section-number{width:44px;height:44px;border-radius:14px;background:var(--mint);color:var(--green);font-weight:900;display:grid;place-items:center;font-size:13px;border:1px solid #d8eae1}.kicker{color:var(--gold)}h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.15}.identity-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:18px}label>span{display:block;font-size:13px;font-weight:800;margin-bottom:8px;color:#344c43}input[type=text],textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 14px;color:var(--ink);font:inherit;outline:none;transition:.18s;border-color:#d7ded9}input[type=text]:focus,textarea:focus{border-color:#62a58d;box-shadow:0 0 0 4px #6ba58f1b}textarea{resize:vertical;min-height:122px;line-height:1.6}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.case-option{position:relative;border:1px solid var(--line);border-radius:18px;padding:19px;background:#fff;cursor:pointer;transition:.2s;min-height:220px}.case-option:hover{transform:translateY(-2px);border-color:#9cbcaf}.case-option input{position:absolute;opacity:0}.case-option.selected{border-color:var(--green);box-shadow:0 0 0 3px #176b5216;background:#fbfffd}.case-check{position:absolute;right:14px;top:14px;width:26px;height:26px;border-radius:50%;background:#edf2ef;color:#8c9b95;display:grid!important;place-items:center;margin:0!important}.case-option.selected .case-check{background:var(--green);color:#fff}.case-mini{display:inline-block!important;color:var(--gold)!important;margin:0 0 12px!important;font-size:11px!important;letter-spacing:.08em;text-transform:uppercase}.case-option strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.25;margin-bottom:10px}.case-option>span:last-child{font-weight:500;color:var(--muted);font-size:13px}.case-detail{margin-top:18px;padding:20px 22px;border-left:4px solid var(--gold);background:#f9f4e8;border-radius:0 16px 16px 0}.case-detail h3{margin:2px 0 7px;font-family:Georgia,"Times New Roman",serif}.case-detail p:last-child{margin:0;color:#53655e}.instruction{background:var(--mint);border-radius:14px;padding:13px 15px;color:#40594f;font-size:13px;margin:-4px 0 20px}.answer-stack{display:grid;gap:18px}.answer-block{padding-bottom:18px;border-bottom:1px dashed #d9dfdb}.answer-block:last-child{border-bottom:0}.answer-block>span{font-size:14px}.answer-block small{display:block;text-align:right;color:#8a9690;margin-top:5px;font-size:11px}.submit-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;border-top:4px solid var(--green)}.submit-copy p{margin:7px 0;color:var(--muted);font-size:13px}.save-status{display:inline-flex;margin-top:5px;padding:7px 10px;background:#f2f5f3;border-radius:9px;font-size:12px;color:#597067}.save-status.ok{background:#e5f5ec;color:#176b52}.save-status.error{background:#faece8;color:var(--danger)}.action-row{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.btn{border:0;border-radius:12px;padding:12px 15px;text-decoration:none;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:.18s;display:inline-flex;align-items:center;justify-content:center}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:#fff}.btn-secondary{background:#e9efeb;color:var(--green-dark)}.btn-download{background:#f1e6cf;color:#795821}.btn.disabled{opacity:.45;pointer-events:none}footer{text-align:center;color:#7b8983;font-size:11px;margin:18px}.honeypot{position:absolute!important;left:-99999px!important;opacity:0!important;width:1px!important;height:1px!important}
@media(max-width:820px){.page-shell{width:min(100% - 18px,1120px);margin-top:10px}.hero{grid-template-columns:58px 1fr;padding:23px 20px;border-radius:22px}.hero-mark{width:56px;height:56px;border-radius:17px}.hero-mark svg{width:36px}.teacher-link{grid-column:1/-1;width:max-content}.paper-card{padding:21px 17px}.identity-grid,.case-grid,.submit-card{grid-template-columns:1fr}.case-option{min-height:auto}.action-row{justify-content:stretch}.btn{flex:1 1 150px}.section-number{width:39px;height:39px}.hero-copy{font-size:13px}h2{font-size:24px}}
@media print{body{background:#fff}.teacher-link,.submit-card,footer{display:none}.page-shell{width:100%;margin:0}.hero{box-shadow:none;border-radius:0}.paper-card{box-shadow:none;break-inside:avoid}}
