:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#243c36;background:#f7f8f5;font-synthesis:none;font-weight:400;line-height:1.6;--green:#164c40;--muted:#697873;--line:#e0e6df}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a,summary,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #cb8954}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.16;letter-spacing:-.035em}h1{font-size:clamp(2.1rem,3.3vw,3.3rem);font-weight:650}h2{font-size:1.65rem}h3{font-size:1.15rem}h4{margin-top:18px}p+p{margin-top:12px}a{color:inherit}small{font-size:.78rem}fieldset{border:0;padding:0;margin:0;min-width:0}.topbar{min-height:96px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px 5%;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:1.5rem;font-weight:750;line-height:1.1;letter-spacing:-.05em}.brand-icon{display:grid;place-items:center;background:var(--green);color:#e2f4b7;width:46px;height:46px;border-radius:13px;font-size:2rem;letter-spacing:-.1em;padding-right:4px}.brand-sub{display:block;font-weight:450;font-size:.72rem;letter-spacing:0;margin-top:4px}.top-actions{display:flex;gap:16px;align-items:center}.course-label,.eyebrow{font-size:.67rem;font-weight:750;letter-spacing:.15em;color:#687d72}.eyebrow{margin-bottom:14px}.quiet{background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--green);padding:8px 13px;font-size:.83rem;font-weight:650}.quiet:hover{background:#e9efdf}.primary{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:9px;padding:13px 21px;font-size:.9rem;font-weight:650;white-space:nowrap;transition:background .15s}.primary:hover{background:#236452}.full{width:100%}.muted{color:var(--muted);font-size:.86rem}.lead{font-size:1rem;color:#697770;max-width:520px;line-height:1.8;margin-top:15px}.landing{max-width:1190px;margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;gap:100px;padding:68px 36px 90px;align-items:start}.intro h1{font-size:clamp(3.2rem,5.5vw,4.9rem);line-height:1.07;letter-spacing:-.065em}.intro em{font-style:normal;color:#60814a}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6e9254;margin-right:7px}.intro-stats{display:flex;gap:35px;margin:30px 0}.intro-stats div{display:flex;flex-direction:column}.intro-stats b{font-size:1.5rem;font-weight:600}.intro-stats span{font-size:.75rem;color:var(--muted)}.login-card{padding:36px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 48px #294d3110;margin-top:25px}.login-card h2{font-size:1.9rem;margin-bottom:12px}.tabs{display:flex;background:#f0f3ec;padding:4px;border-radius:10px;margin:26px 0;gap:4px}.tabs button{flex:1;border:0;background:transparent;border-radius:7px;padding:10px;font-size:.85rem;color:#627263}.tabs button[aria-pressed=true]{background:#fff;color:var(--green);font-weight:650;box-shadow:0 2px 5px #0000000b}label{display:block;font-size:.88rem;font-weight:600;margin-bottom:18px}label small{display:block;font-weight:400;color:var(--muted);margin:6px 0 9px}input,textarea,select{display:block;width:100%;border:1px solid #ccd6ce;background:#fff;color:#253c33;border-radius:8px;padding:11px 12px;margin-top:7px;font-size:.9rem;line-height:1.5}textarea{resize:vertical;min-height:100px}input::placeholder,textarea::placeholder{color:#87928a}.login-note{text-align:center;font-size:.73rem;color:#79837d;margin-top:20px}.project-art{width:90%;max-width:410px;background:#e5eddc;border:1px solid #d2dfc7;border-radius:13px;transform:rotate(-2deg);margin:35px 0 0;position:relative;box-shadow:0 10px 0 -4px #d6dfcc}.art-toolbar{display:flex;align-items:center;gap:5px;border-bottom:1px solid #cbd7c2;padding:10px 14px}.art-toolbar i{width:5px;height:5px;border-radius:50%;background:#a4b598}.art-toolbar span{font-size:.6rem;margin:auto;letter-spacing:.07em;color:#748667}.art-body{padding:25px}.art-tag{font-size:.52rem;letter-spacing:.13em;font-weight:700}.art-body strong{display:block;font-size:3rem;line-height:1;letter-spacing:-.04em;margin-top:13px}.art-body strong span{float:right;font-size:6rem;color:#739457;margin-top:-20px}.art-line{height:5px;width:42%;background:#b8c9a9;margin:15px 0 0;border-radius:5px}.art-line.short{width:31%;margin-top:6px}.art-button{display:inline-block;font-size:.5rem;color:#fff;background:var(--green);padding:8px 10px;margin-top:20px;border-radius:4px}.art-sticker{position:absolute;right:-25px;bottom:17px;padding:16px 22px;background:#f1dcb7;transform:rotate(9deg);font-size:.8rem;line-height:1.3;border-radius:3px;box-shadow:0 3px 9px #0000000c}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1560px;margin:0 auto;min-height:calc(100vh - 170px)}.sidebar{padding:40px 25px;border-right:1px solid var(--line);background:#f1f4ee}.sidebar h2{font-size:1.3rem}.sidebar>.muted{margin-top:10px;font-size:.78rem}.sidebar nav{margin-top:32px;display:grid;gap:8px}.stage{display:flex;gap:12px;align-items:center;font-size:.82rem;padding:12px 10px;border-radius:9px;line-height:1.25}.stage.active{background:var(--green);color:#fff;font-weight:650}.stage.locked{color:#778177}.stage-number{font-size:.74rem;font-variant-numeric:tabular-nums;border:1px solid #cdd8c7;border-radius:7px;display:grid;place-items:center;width:29px;height:29px;flex:none}.active .stage-number{border-color:#54776b;color:#d4e8b0}.stage small{display:block;font-size:.58rem;margin-top:5px;color:#7b867a}.stage>span:last-child:not(:nth-child(2)){margin-left:auto}.side-note{border-top:1px solid var(--line);margin:30px 5px 0;padding-top:25px;display:flex;gap:13px;font-size:.8rem;color:#72806d}.side-note>span{font-size:2rem;color:#89a467}.content{padding:44px clamp(22px,4vw,60px) 65px;min-width:0}.page-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:34px}.title-dot{color:#85a25e}.badge{display:inline-block;border-radius:30px;background:#edf0eb;color:#69766d;padding:5px 11px;font-size:.69rem;font-weight:700;white-space:nowrap}.badge.pending{color:#896517;background:#f5eccb}.badge.approved{color:#22644b;background:#e1eedf}.badge.returned{color:#995536;background:#f9e5d7}.student-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:25px;align-items:start}.card{padding:27px;background:#fff;border:1px solid var(--line);border-radius:14px}.card+.card{margin-top:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-head .eyebrow{margin-bottom:8px}.brief-intro{display:flex;gap:15px;padding:23px;background:#eaf0e1;border-radius:12px;margin-bottom:24px}.brief-intro p{font-size:.84rem;margin-top:10px;color:#5f705d}.mini-icon{display:grid;place-items:center;background:#d9e5c7;border-radius:9px;width:35px;height:35px;flex-shrink:0;font-size:1.3rem}.brief-fields{margin-top:28px}.brief-fields label{margin-bottom:27px}.field-heading{display:flex;align-items:center;gap:10px;font-size:.94rem}.field-heading>span{color:#869c73;font-size:.7rem;font-weight:600}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:22px}.form-bottom small{color:var(--muted);font-size:.69rem}.right-column .card{padding:23px}.rubric h3{display:flex;justify-content:space-between;align-items:center;gap:10px}.rubric h3>span{background:#eaf0e1;padding:6px 10px;border-radius:6px;font-size:.83rem;white-space:nowrap}.criterion{display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0}.criterion:last-child{border:0;padding-bottom:0}.criterion strong{font-size:.8rem}.criterion p{font-size:.71rem;color:var(--muted);margin-top:5px}.criterion>b{font-size:.75rem;color:#607c4b;white-space:nowrap}.check{display:flex;align-items:flex-start;gap:9px;font-size:.76rem;font-weight:450;line-height:1.5;margin:15px 0}.check input{width:15px;height:15px;margin-top:3px;accent-color:var(--green);flex-shrink:0}.feedback{padding:22px;border:1px solid #d8e4cd;background:#f0f5e9;border-radius:12px;margin-bottom:24px;font-size:.85rem}.feedback .section-head{flex-wrap:wrap}.feedback h3{font-size:1rem}.feedback small{color:var(--muted)}.score{font-size:2.2rem;font-weight:700;line-height:1.4;letter-spacing:-.04em;margin:15px 0}.score>span{font-size:.83rem;font-weight:450;color:#75806f;letter-spacing:0}.score-details{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.73rem;margin:14px 0}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}summary{cursor:pointer;font-size:.8rem;font-weight:600;margin-top:12px}details p{font-size:.8rem}details[open]{margin-bottom:10px}.history-select{margin-top:18px}.history-select select{font-size:.73rem}.right-column .feedback{padding:13px}.notice,.error,.success,.global-error{padding:13px;border-radius:8px;margin:16px 0;font-size:.82rem}.notice{background:#f6efdb;color:#795a27}.error,.global-error{background:#fce9e3;color:#983a28}.success{background:#e9f2df;color:#3f692e}.global-error{margin:15px 5%}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}.stats>div{background:#eaf0e1;border-radius:12px;padding:23px;display:flex;flex-direction:column}.stats b{font-size:2rem;line-height:1.2;font-weight:600}.stats span{font-size:.8rem;margin-top:8px;color:#647260}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.83rem;text-align:left}th{font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:550}td,th{padding:17px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td small{display:block;color:var(--muted)}tr:last-child td{border-bottom:0}.review-area{margin-top:35px}.version-picker{max-width:430px}.review-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.review-grid .card{margin:0}.answers section+section{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.answers .eyebrow{margin-bottom:9px}.answers .preserve{font-size:.9rem}.score-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;margin:0;font-size:.83rem}.score-row small{margin:2px 0 0;font-size:.66rem}.score-row select{width:65px;margin:0}.review-form h3{margin-bottom:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 5%;font-size:.7rem;color:#85907f}.loading{padding:100px;text-align:center}@media(min-width:1500px){.student-grid{grid-template-columns:minmax(0,1fr) 310px}}@media(max-width:1150px){.student-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.right-column .card{margin:0}.right-column .card:last-child{grid-column:1/-1}.workspace{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:35px 18px}.review-grid{grid-template-columns:1fr}.landing{gap:55px}.form-bottom{flex-wrap:wrap}}@media(max-width:760px){.topbar{min-height:78px;padding:15px 20px}.course-label{display:none}.top-actions{gap:7px}.top-actions .quiet{font-size:.72rem;padding:7px 9px}.landing{grid-template-columns:1fr;gap:20px;padding:35px 24px 50px}.intro h1{font-size:3.3rem}.intro .lead{font-size:.94rem}.project-art{display:none}.intro-stats{margin:22px 0;gap:32px}.login-card{margin:0;padding:25px}.workspace{display:block}.sidebar{padding:20px;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.eyebrow,.sidebar>.muted,.side-note{display:none}.sidebar h2{font-size:1rem}.sidebar nav{display:flex;overflow-x:auto;margin-top:16px;gap:10px;padding-bottom:3px}.stage{flex-shrink:0;padding:9px}.stage:not(.active){font-size:.72rem}.stage small{display:none}.stage-number{width:23px;height:23px;font-size:.62rem}.content{padding:30px 20px 40px}.page-title{flex-direction:column;align-items:flex-start;gap:14px}.page-title h1{font-size:2.2rem}.page-title .lead{font-size:.9rem}.right-column{display:block}.right-column .card+.card{margin-top:18px}.card{padding:22px}.section-head{flex-wrap:wrap}.form-bottom .primary{width:100%}.stats{gap:10px}.stats>div{padding:17px 12px}.stats b{font-size:1.6rem}.stats span{font-size:.66rem}.team-list{padding:17px}.review-grid{gap:20px}.brief-intro{padding:19px}.brief-intro .mini-icon{display:none}footer{display:block;text-align:center}footer span{display:block;margin-top:6px}}.management{margin-bottom:28px}.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;border-top:1px solid var(--line);padding-top:22px}.management h3{font-size:1rem;margin-bottom:12px}.compact-form{display:grid;gap:10px}.compact-form label{font-size:.73rem}.compact-form input,.compact-form select,.compact-form .quiet{margin-top:5px}.management-list{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.management-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:10px 0;font-size:.82rem}.management-row:last-child{border-bottom:0}.management-row>span{flex:1}.management-row small{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}.management-row input{margin:0;min-width:0}.management-row .quiet{flex-shrink:0;font-size:.7rem;padding:7px 9px}@media(max-width:760px){.management-grid{grid-template-columns:1fr}.management-row{align-items:flex-start;flex-wrap:wrap}.management-row>span{min-width:100%}}.course-overview{margin-bottom:42px}.overview-intro{display:flex;justify-content:space-between;gap:30px;padding:30px;background:#eaf0e1;border-radius:14px;margin-bottom:18px}.overview-intro h2{max-width:620px}.overview-intro p:not(.eyebrow){max-width:700px;color:#5d6e5f;font-size:.9rem;margin-top:12px}.overview-route{display:flex;flex-direction:column;justify-content:center;min-width:165px;border-left:1px solid #d0dcc8;padding-left:25px;color:#667461;font-size:.75rem}.overview-route strong{font-size:1.75rem;color:var(--green);line-height:1.2}.overview-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.overview-stage{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px}.overview-stage.current{border-color:#adc595;box-shadow:0 5px 18px #294d3110}.overview-stage-head{display:flex;align-items:center;gap:12px;margin-bottom:13px}.overview-stage-head .stage-number{color:#607c4b;border-color:#c9d9bf}.overview-stage-head .eyebrow{margin-bottom:3px}.overview-stage h3{font-size:1.05rem}.overview-stage>p{font-size:.8rem;color:#64736a}.overview-stage h4{font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;color:#768875;margin-top:16px}.overview-stage .output{color:var(--green);font-weight:650}.overview-stage ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px}.overview-stage li{font-size:.73rem;color:#66746a}.overview-stage li:before{content:"✓";color:#739457;font-weight:700;margin-right:7px}@media(max-width:760px){.overview-intro{display:block;padding:22px}.overview-route{border-left:0;border-top:1px solid #d0dcc8;margin-top:20px;padding:15px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:5px}.overview-route strong{grid-column:1/-1}.overview-steps{grid-template-columns:1fr}.overview-stage{padding:19px}}.stage-open{display:inline-block;margin-top:17px;color:var(--green);font-size:.75rem;font-weight:700;text-decoration:none}.stage-open:hover{text-decoration:underline}.stage-workspace{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:start}.stage-brief h2{margin-bottom:12px}.stage-brief>p{font-size:.9rem;color:#5f6e64}.stage-brief h3{font-size:.9rem;margin-top:28px}.task-list{list-style:none;padding:0;display:grid;gap:9px;margin:14px 0 25px}.task-list li{font-size:.82rem;color:#5f6e64}.task-list li:before{content:"✓";color:#739457;font-weight:700;margin-right:8px}.stage-output{padding:15px;background:#eaf0e1;border-radius:8px;font-size:.8rem!important;color:var(--green)!important}.stage-submit{margin:0}.stage-submit h2{font-size:1.35rem}.stage-submit small{display:block;color:var(--muted);font-weight:400;margin:5px 0 8px}.stage-history{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.stage-history article{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.77rem}.stage-history article small{margin:0}.feedback.returned{background:#f9e5d7;border-color:#edd0bd}.feedback.approved{background:#e9f2df}.feedback.pending{background:#f6efdb;border-color:#eadfbd}.stage-review-inbox{margin-bottom:28px}.stage-review-detail{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.stage-review-detail h3{margin-bottom:18px}.stage-review-detail section{border-top:1px solid var(--line);padding:14px 0}.stage-review-detail section strong{font-size:.75rem}.stage-review-detail section p{font-size:.82rem;margin-top:6px}.stage-review-form{background:#f6f8f3;border:1px solid var(--line);border-radius:10px;padding:18px}.stage-review-form h3{font-size:1rem;margin-bottom:16px}.stage-review-form textarea{background:#fff}@media(max-width:1150px){.stage-workspace{grid-template-columns:1fr}.stage-submit{margin-top:0}}@media(max-width:760px){.stage-review-detail{grid-template-columns:1fr}.stage-review-inbox{padding:17px}}.guide-steps{counter-reset:guide;list-style:none;padding:0;margin:15px 0 22px;display:grid;gap:12px}.guide-steps li{counter-increment:guide;position:relative;padding:11px 12px 11px 43px;background:#f6f8f3;border-radius:8px;font-size:.83rem;color:#52655b}.guide-steps li:before{content:counter(guide);position:absolute;left:12px;top:10px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#dce9cd;color:#527348;font-weight:750;font-size:.72rem}.guide-example{padding:15px 17px;background:#f5edd8;border-left:3px solid #d5b368;border-radius:7px;color:#6c5b35;font-size:.8rem}.guide-example p{margin-top:5px}.guide-details{border-top:1px solid var(--line);padding-top:15px;margin-top:18px;color:#65736a;font-size:.78rem}.guide-details summary{color:var(--green)}.guide-details ul{margin:10px 0 0;padding-left:20px}.guide-details li+li{margin-top:5px}.submit-help{font-size:.78rem;color:var(--muted);background:#f6f8f3;border-radius:8px;padding:12px 14px;margin:-2px 0 20px!important}
