:root{--deep:#0a3d3d;--teal:#0e5c5c;--mint:#a8dcd1;--paper:#faf6f0;--ink:#243e3b;--muted:#586963;--line:#d7e0d9;--white:#fff;--warn:#78531d;--red:#a13030;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:var(--teal);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}button,.button{border:1px solid var(--teal);border-radius:8px;padding:11px 17px;min-height:44px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;background:var(--teal);color:white}button.secondary,.button.secondary{background:transparent;color:var(--teal)}button.quiet{border-color:var(--line);color:var(--ink);background:#fff}button:disabled{cursor:default;opacity:.55}button:hover:not(:disabled),.button:hover{filter:brightness(.92)}:focus-visible{outline:3px solid #ce8500;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--deep);line-height:1.18}h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(2rem,4.3vw,3.5rem);letter-spacing:-.04em}h2{font-size:1.55rem}h3{font-size:1.1rem}p,li{line-height:1.65}small,.muted{color:var(--muted)}small{line-height:1.6}ul{padding-left:22px}.skip{position:fixed;top:-80px;left:16px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.site-header{background:var(--deep);color:#fff}.site-header nav{max-width:1440px;margin:auto;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 32px}.site-header a{color:#e0f1e9;text-decoration:none;display:inline-flex;min-height:44px;align-items:center}.site-header nav>div{display:flex;gap:26px}.site-header .logo{font-family:Georgia,serif;font-size:27px;color:white}main{max-width:1380px;margin:0 auto;padding:38px 32px 70px;min-height:75vh}.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:54px;align-items:start;margin:24px 0 36px}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--teal);font-weight:750;margin-bottom:14px}.lead{font-size:1.12rem;max-width:650px;color:var(--muted)}.hero-note{padding:24px;border-radius:12px;background:#e8f0e8}.hero-note p:last-child{margin-bottom:0}.notice{padding:14px 18px;border:1px solid var(--line);border-radius:9px;background:#fff;line-height:1.6;font-size:.87rem}.notice.warning{background:#fff7e7;border-color:#d5b87f;color:#624418}.notice.error{background:#fff0ee;border-color:#d49b96;color:#842b27}.pill{display:inline-block;border-radius:100px;background:#e8f3ed;color:var(--teal);padding:5px 10px;font-size:.74rem;font-weight:650;margin-right:5px;margin-bottom:8px}.pill.state{background:#eeeafa;color:#53436f}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:36px 0 20px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.filters label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:650}.filters select{background:#fff;min-height:44px;padding:8px 35px 8px 12px;border:1px solid #a7b9ae;border-radius:7px;color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:25px;display:flex;flex-direction:column;min-width:0}.card h3{font-family:Georgia,serif;font-weight:500;font-size:1.5rem;line-height:1.3}.card p{font-size:.9rem}.card .actions{margin-top:auto;padding-top:15px}.meta{font-size:.8rem;color:var(--muted);line-height:1.7;margin-bottom:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.lab-head{display:flex;gap:24px;justify-content:space-between;align-items:start;margin:20px 0}.lab-head h1{font-size:clamp(1.7rem,3vw,2.5rem);max-width:900px}.back{padding-left:0;background:none;border:none;color:var(--teal);font-size:.9rem}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0}.case-file{max-height:calc(100vh - 80px);overflow:auto;position:sticky;top:20px}.case-file h2{font-size:1.25rem}.exhibit{border-top:1px solid var(--line);padding:15px 0}.exhibit summary{cursor:pointer;font-weight:650;line-height:1.5;min-height:44px;display:list-item;padding:9px 0}.exhibit .prose{white-space:pre-wrap;font-size:.91rem;line-height:1.8;padding-top:12px}.instructions{font-size:.91rem;line-height:1.75}.question-nav{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}.question-nav button{width:44px;padding:8px;background:white;color:var(--teal);border-color:#afc4b8}.question-nav button[aria-current="step"]{background:var(--teal);color:white;outline:2px solid var(--teal);outline-offset:2px}.question-nav button.reviewed:not([aria-current="step"]){background:#dcf0e5}.question-nav button.submitted:not([aria-current="step"]){border-style:dashed}.question-prompt{font-size:1.06rem;line-height:1.7;white-space:pre-wrap}.question-form fieldset{border:0;padding:0;margin:0}.question-form legend{font-size:.85rem;color:var(--muted);margin-bottom:12px}.option{display:flex;align-items:start;gap:12px;border:1px solid var(--line);border-radius:8px;padding:15px 13px;margin-bottom:10px;line-height:1.65;font-size:.95rem;cursor:pointer}.option:has(input:checked){background:#eaf5ed;border-color:var(--teal)}.option input{width:18px;height:18px;flex:none;accent-color:var(--teal);margin:4px 0 0}.option:has(input:disabled){cursor:default}.question-form textarea{width:100%;min-height:250px;resize:vertical;border:1px solid #8ca697;border-radius:8px;background:#fffefb;padding:15px;line-height:1.75;color:var(--ink)}.question-form label.writing-label{display:block;font-size:.87rem;font-weight:650;margin-bottom:9px}.input-note{font-size:.78rem;margin:8px 0 17px;color:var(--muted)}.error-text{color:var(--red);font-size:.9rem;line-height:1.6}.feedback{margin-top:24px;padding-top:24px;border-top:2px solid var(--mint)}.feedback h3{margin-bottom:12px}.model{border-left:3px solid var(--teal);background:#f1f7f0;padding:16px;white-space:pre-wrap;font-size:.95rem;line-height:1.8}.response-review{border:1px solid var(--line);padding:16px;border-radius:8px;white-space:pre-wrap;line-height:1.75;background:#fffefb;overflow-wrap:anywhere}.rubric{display:flex;align-items:start;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.88rem;line-height:1.6;cursor:pointer}.rubric input{width:18px;height:18px;accent-color:var(--teal);margin-top:4px;flex:none}.explanation{line-height:1.75;font-size:.92rem}.option-explanation{font-size:.86rem;line-height:1.7;margin:9px 0}.navigator{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.progress-area{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:0 0 23px}.progress-area progress{max-width:250px;flex:1;height:10px;accent-color:var(--teal)}.progress-area span{font-size:.82rem}.timer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);background:#eff5ef;border-radius:9px;padding:12px 16px;margin-bottom:20px}.timer output{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:750}.timer small{flex:1}.timer button{min-height:40px;padding:7px 12px}.storage-status{margin:15px 0}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.metric{padding:20px 15px;background:#eaf4ec;border-radius:8px;text-align:center}.metric strong{display:block;font-size:1.8rem;color:var(--deep);margin-bottom:5px}.metric span{font-size:.8rem;color:var(--muted)}.history-item{border-top:1px solid var(--line);padding:18px 0;display:flex;gap:20px;justify-content:space-between;align-items:center}.history-item p{margin:0;font-size:.9rem}.history-item small{display:block}.sources{font-size:.83rem;line-height:1.8}.sources a{overflow-wrap:anywhere}.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px}.hub details{margin:15px 0}.hub summary{cursor:pointer;min-height:44px;font-weight:650;padding:10px 0}.hub p,.hub li{font-size:.87rem}.empty{text-align:center;padding:35px;color:var(--muted);grid-column:1/-1}.loading{text-align:center;margin:80px 0}.short-list{font-size:.88rem}footer{border-top:1px solid var(--line);padding:26px 32px;display:flex;gap:25px;justify-content:center;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}[hidden]{display:none!important}.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}@media(min-width:1500px){.case-file{max-height:800px}}@media(max-width:850px){.workspace{grid-template-columns:1fr}.case-file{position:static;max-height:none}.hero{grid-template-columns:1fr;gap:12px}.hero-note{max-width:none}.case-file .exhibit:first-of-type{border-top:1px solid var(--line)}}@media(max-width:550px){main{padding:22px 16px 45px}.site-header nav{padding:12px 16px;gap:14px;align-items:start}.site-header nav>div{gap:7px 14px;flex-wrap:wrap;justify-content:flex-end;font-size:.79rem}.site-header .logo{font-size:23px}.site-header nav>div a{min-height:38px}.lab-head{display:block}.panel{padding:18px}.card{padding:21px}.hero{margin-top:10px}.hero-note{padding:19px}.history-item{display:block}.history-item .actions{margin-top:12px}.summary-grid{gap:7px}.metric{padding:16px 8px}.metric strong{font-size:1.4rem}.metric span{font-size:.7rem}.section-heading{align-items:start;flex-direction:column}.actions button,.actions .button{flex-grow:1}.navigator button{font-size:.87rem}.timer{gap:9px}.timer small{flex-basis:100%}.question-prompt{font-size:1rem}.notice{font-size:.8rem}.progress-area{gap:10px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .12s ease}}@media print{.site-header,footer,.actions,.navigator,.question-nav,.timer{display:none}.workspace{display:block}.case-file{position:static;max-height:none}.panel{break-inside:avoid}body{background:white}}

.rubric select{min-height:44px;padding:8px;border:1px solid #9eb4a5;border-radius:6px;background:white;color:var(--ink);min-width:74px;flex:none}

.file-jump{margin:0 0 18px}
