/* SPARC Clinic Studio — ink, graph paper, and generous reading space. */
:root{--paper:#f7f5ef;--white:#fffefa;--ink:#292d2a;--muted:#6c7169;--line:#dcded3;--green:#385d49;--sage:#e5eddf;--peach:#f7e5d5;--yellow:#f5edca;--lavender:#e9e5f2;--shadow:3px 4px 0 rgba(45,51,41,.13);--radius:15px;--body:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--display:'DM Serif Display',Georgia,serif;--hand:'Kalam','Comic Sans MS',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--green)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}img,svg{max-width:100%}img{display:block}p{margin:0 0 1rem}p:last-child{margin-bottom:0}h1,h2,h3,h4{line-height:1.22;margin:0 0 14px;letter-spacing:-.025em}h1,h2{font-family:var(--display);font-weight:400}h1{font-size:clamp(34px,3.8vw,58px);line-height:1.13}h2{font-size:30px}h3{font-size:18px;font-weight:700}h4{font-size:16px}em{font-weight:400;color:var(--green)}strong{font-weight:700}small,.small{font-size:12px}hr{border:0;border-top:1px solid var(--line);margin:26px 0}button:disabled{cursor:wait;opacity:.65}section[id]{scroll-margin-top:25px}:focus-visible{outline:3px solid #be742e;outline-offset:4px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:1px}.icon{display:inline-block;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.handwritten{font-family:var(--hand);font-size:22px;line-height:1.4;font-weight:400;letter-spacing:-.02em}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;line-height:1.6;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.center{text-align:center}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.section-space{margin-top:30px}.full{width:100%}.pad{padding:30px}.paper{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 0 #2b342b04}.sage{background:var(--sage)}.peach{background:var(--peach)}.lavender{background:var(--lavender)}.skip-link{position:fixed;left:12px;top:-90px;padding:10px 20px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:12px}
.sidebar{position:fixed;top:0;bottom:0;left:0;width:245px;background:#f1f1e8;border-right:1px solid var(--line);padding:32px 23px 20px;display:flex;flex-direction:column;z-index:30;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin:2px 0 28px 6px}.brand-symbol{display:grid;place-items:center;width:42px;height:45px;color:var(--green);transform:rotate(-8deg)}.brand strong{font-size:26px;font-weight:700;line-height:1.1;letter-spacing:.035em;display:block}.brand small{font-size:9px;letter-spacing:.24em;color:var(--muted);display:block;margin-top:3px}.semester{font-size:9px;margin-bottom:35px;display:flex;align-items:center;gap:7px;color:#697360;white-space:nowrap}.online-dot{width:6px;height:6px;background:#6f8b4e;border-radius:50%;display:inline-block}.nav-caption{font-size:9px;letter-spacing:.15em;font-weight:700;color:#888c80;padding:0 12px;margin:0 0 12px}.primary-nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;text-decoration:none;font-size:12px;font-weight:500;color:#68705f;margin-bottom:5px;border-radius:7px;border:1px solid transparent;transition:background .18s,transform .18s}.primary-nav a.active{color:#344d39;background:#e3e8da;border:1px solid #ccd4c0;box-shadow:1px 2px 0 #2c49230d;font-weight:700}.primary-nav a:hover{background:#e8ebdf;color:var(--ink);transform:translateX(2px)}.primary-nav a .icon{width:19px;height:19px}.primary-nav .nav-caption{margin-top:25px}.sidebar-note{position:relative;border:1px solid #cccdbb;border-radius:5px 8px 7px 4px;transform:rotate(-2deg);background:#eeeddc;padding:20px 17px 19px;margin:35px 9px 24px;box-shadow:2px 3px 0 #3d47310d}.sidebar-note:before{content:'';position:absolute;top:-9px;left:55px;width:65px;height:19px;background:#ddd6b993;transform:rotate(5deg)}.sidebar-note .handwritten{font-size:21px;color:#657253}.sidebar-note p{font-size:11px;color:#7b7d6b;line-height:1.75;margin-top:10px}.sidebar-note>.icon{position:absolute;right:14px;bottom:20px;transform:rotate(-15deg);color:#879269}.note-line{height:1px;background:#bbbea8;margin-top:10px;width:60px}.sidebar-bottom{margin-top:auto;padding-top:12px}.profile{display:flex;align-items:center;gap:10px;text-decoration:none;padding:12px 0;border-top:1px solid var(--line)}.profile>span:nth-child(2){min-width:0;flex:1}.profile strong{display:block;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:128px}.profile small{display:block;color:var(--muted);font-size:10px}.avatar{display:grid;place-items:center;border:1px solid #879778;background:#e2e7d5;border-radius:50% 44% 48% 45%;width:39px;height:39px;font-family:var(--display);font-size:20px;flex-shrink:0;transform:rotate(-4deg)}.small-avatar{width:33px;height:33px;font-size:16px}.sidebar-footer{border-top:1px dashed #d8dccb;margin-top:20px;padding-top:15px;font-size:9px;line-height:1.8;color:#8a8d80;text-align:center}.text-button{background:none;border:0;padding:0;font-size:13px;display:inline-flex;align-items:center;gap:7px}.logout{font-size:10px;color:var(--muted);margin:4px 0 6px 50px}.workspace{margin-left:245px;min-height:100vh}.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 48px;background:#f9f8f3b3;gap:15px}.breadcrumb{font-size:11px;color:var(--muted)}.breadcrumb span{margin:0 12px;color:#b8baaf}.topbar-right{display:flex;gap:22px;align-items:center;font-size:11px}.date-label{color:#86897b}.role-chip{border:1px solid #d8decf;background:#edf0e5;padding:5px 10px;border-radius:5px;font-size:10px;color:#667359}.top-login{display:flex;gap:9px;align-items:center;text-decoration:none;font-weight:700}main{max-width:1470px;padding:39px 48px 30px;margin:auto;outline:none}.main-footer{display:flex;justify-content:space-between;gap:20px;max-width:1470px;margin:30px auto 0;padding:22px 48px;color:#8a8d80;font-size:10px;border-top:1px solid var(--line)}.main-footer a{color:#6c7764}.mobile-bar{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;min-height:46px;border:1.5px solid var(--ink);border-radius:6px 8px 7px 5px;font-weight:600;text-decoration:none;font-size:12px;line-height:1.4;box-shadow:2px 3px 0 var(--ink);transition:transform .18s,box-shadow .18s,background .18s}.button:hover{transform:translate(1px,1px);box-shadow:1px 2px 0 var(--ink)}.button:active{transform:translate(2px,3px);box-shadow:0 0 0 var(--ink)}.primary{background:var(--green);color:#fffdf6;border-color:#294735;box-shadow:2px 3px 0 #243d2c}.primary:hover{background:#2f503c;color:white;box-shadow:1px 2px 0 #243d2c}.secondary{background:#fbfaf4;color:var(--ink);border-color:#9dA58f;box-shadow:2px 3px 0 #d3d8c8}.secondary:hover{box-shadow:1px 2px 0 #d3d8c8;background:#f0f2e8}.compact-button{min-height:33px;padding:6px 11px;font-size:10px;white-space:nowrap}.text-link{display:inline-flex;gap:8px;align-items:center;font-size:12px;text-decoration:none;font-weight:600;white-space:nowrap}.text-link:hover{text-decoration:underline}.icon-button{padding:6px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;min-width:33px;min-height:33px}.round-link{display:grid;place-items:center;width:33px;height:33px;border:1px solid #c7cdbd;border-radius:50%;flex-shrink:0;background:#fafbf5;transition:transform .2s}.round-link:hover{transform:rotate(-12deg);background:#e6ecdf}.back-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:12px;margin-bottom:24px;color:var(--muted)}
.hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(245px,.9fr);align-items:center;position:relative;margin-bottom:35px;min-height:330px}.hero-copy .eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:15px}.tiny-star{font-size:17px;color:#7e866a}.hero h1{font-size:clamp(38px,3.9vw,62px);letter-spacing:-.035em;margin-bottom:17px;line-height:1.15}.hero h1 em{position:relative;z-index:0;display:inline-block}.hero h1 em:after{content:'';position:absolute;left:-2px;right:-2px;bottom:1px;height:9px;background:#e7c48e6b;z-index:-1;transform:rotate(-1deg);border-radius:30%}.hero p{color:#78806f;font-size:13px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:27px}.hero-art{position:relative;max-width:360px;justify-self:end;width:100%;padding:0 3px 20px}.hero-art img{width:100%;height:auto;animation:arrival .7s ease both}.hero-caption{font-size:19px;position:absolute;bottom:0;right:15px;transform:rotate(-6deg);color:#888870}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:30px 0 20px}.section-heading .eyebrow{margin-bottom:7px}.section-heading h2,.section-heading h3{margin:0}.section-heading h2{font-size:27px}.section-heading p{margin:8px 0 0}.section-heading.compact{margin:0 0 18px}.subtle-note{font-size:16px;color:#888d7b;transform:rotate(-5deg)}.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.group-card{padding:23px 25px 0;border:1px solid #979e88;border-radius:12px 15px 11px 14px;box-shadow:3px 4px 0 #53674016;overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s}.group-card.peach{border-color:#bca38c;box-shadow:3px 4px 0 #a17b5720}.group-card:hover{transform:translateY(-3px);box-shadow:4px 7px 0 #53674018}.group-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.group-top .eyebrow{font-size:9px;color:#727b64;letter-spacing:.14em}.small-tag{font-size:8px;padding:3px 7px;border:1px solid #9ba98d70;border-radius:4px;white-space:nowrap;color:#798069}.peach .small-tag{border-color:#ae978270;color:#937965}.group-art{height:145px;display:flex;justify-content:center;align-items:center;margin:5px 0 9px}.group-art img{height:100%;width:auto;max-width:100%}.group-card h3{font-family:var(--display);font-size:28px;font-weight:400;margin-bottom:11px}.group-card p{font-size:12px;color:#737b6b;max-width:420px;min-height:76px;line-height:1.85;margin-bottom:18px}.group-card.peach p{color:#877664}.group-foot{border-top:1px dashed #a7b69a;display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:10px;font-size:10px}.peach .group-foot{border-color:#c2aa92}.group-foot span,.group-foot a{display:flex;gap:7px;align-items:center}.group-foot a{font-weight:700;text-decoration:none;color:#536445}.peach .group-foot a{color:#8a674a}.group-foot>span{color:#859174}.peach .group-foot>span{color:#a18e77}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:10px;background:var(--white);margin-bottom:40px}.metrics>div{display:flex;flex-direction:column;position:relative;padding:18px 20px;border-right:1px solid var(--line)}.metrics>div:last-child{border-right:0}.metric-num{font-family:var(--display);font-size:30px;line-height:1.2}.metrics>div>span:not(.metric-num){color:var(--muted);font-size:10px;margin-top:5px}.metrics>div>.icon{position:absolute;top:23px;right:20px;color:#acb2a2}.progress-metric strong{font-size:12px;margin:8px 0}progress{appearance:none;width:100%;height:5px;border:none;background:#edf0e4;border-radius:5px;overflow:hidden}progress::-webkit-progress-bar{background:#edf0e4;border-radius:5px}progress::-webkit-progress-value{background:#839771;border-radius:5px}progress::-moz-progress-bar{background:#839771}.lower-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(220px,1fr);gap:26px;margin-top:36px;align-items:start}.lower-grid>.pinboard{margin-top:5px}.task-stack{display:flex;flex-direction:column;gap:13px}.task-card{background:var(--white);border:1px solid var(--line);border-radius:10px 12px 9px 11px;display:flex;align-items:flex-start;gap:15px;padding:21px 18px;transition:border .18s}.task-card:hover{border-color:#a8b49b}.task-icon{width:44px;height:44px;border:1px solid #b9c5ac;border-radius:9px 7px 10px 6px;display:grid;place-items:center;flex-shrink:0;color:#6b7d5a}.task-icon.peach{border-color:#d5bfa8;color:#9b805b}.task-icon.lavender{border-color:#c7c0d5;color:#807093}.task-body{flex:1;min-width:0}.task-body .eyebrow{font-size:8px;letter-spacing:.09em;margin:0 0 7px;line-height:1.7}.task-body h3{font-size:14px;margin:0 0 6px;line-height:1.45}.task-body h3 a{text-decoration:none}.task-body p{font-size:11px;line-height:1.75;color:#83887c;margin-bottom:11px}.task-meta{font-size:9px;color:#929684;display:flex;align-items:center;flex-wrap:wrap;gap:6px;line-height:1.7}.task-meta>.icon{color:#9caa8a;width:13px;height:13px}.task-action{display:flex;flex-direction:column;gap:25px;align-items:flex-end;padding-top:2px}.status{font-size:9px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:4px 8px;border:1px solid #d9ddcf;border-radius:5px;background:#f0f2e8;color:#7f8972;line-height:1.4;font-weight:500}.status-open{background:#f4f2df;border-color:#dfd9b9;color:#8f875c}.status-submitted{background:#e7edf1;border-color:#c4d5df;color:#516e85}.status-accepted{background:#e5efdf;border-color:#b7cda8;color:#46643b}.status-reviewed{background:#eae5f4;border-color:#d2c6e6;color:#7c6799}.status-revision_requested{background:#fbecdd;border-color:#e9caa8;color:#9f6c3e}.pinboard{background:#f4edcf;border:1px solid #c8bf9d;border-radius:3px 5px 3px 4px;position:relative;padding:28px 23px 23px;transform:rotate(1.5deg);box-shadow:3px 4px 0 #7b75551c}.pinboard:after{content:'';position:absolute;bottom:0;right:0;width:25px;height:25px;background:linear-gradient(135deg,#f4edcf 50%,#e5dab2 50%);border-top-left-radius:4px}.pin{display:block;background:#e5d5aa99;width:73px;height:22px;transform:rotate(-5deg);position:absolute;left:calc(50% - 36px);top:-11px;border:1px solid #d9c99d44}.pinboard .eyebrow{font-size:8px;color:#a7996f;letter-spacing:.13em;margin-bottom:13px}.pinboard h3{font-family:var(--hand);font-size:22px;font-weight:400;color:#76784c;line-height:1.35;letter-spacing:-.015em;margin-bottom:13px}.pinboard p{font-size:11px;line-height:1.8;color:#938b69;margin-bottom:14px}.pinboard p:first-of-type{font-style:italic;color:#85805c}.pinboard-bottom{font-size:17px;color:#7c8254;margin-top:17px}.pinboard>.icon{position:absolute;right:25px;bottom:23px;color:#a8aa71}.process-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:24px 0 5px;margin-top:40px;border-top:1px dashed #d9ddcc;font-size:10px;color:#87917b}.process-strip .eyebrow{font-size:8px;white-space:nowrap}.process-strip b{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid #d8decc;border-radius:50%;font-size:8px;margin-right:5px;color:#8c987f}.process-arrow{color:#abb49e}.notice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.notice{padding:22px}.notice h3{margin-top:9px}.notice p{font-size:13px;color:var(--muted)}
.page-heading{margin:10px 0 32px}.page-heading .eyebrow{margin-bottom:12px}.page-heading h1{margin-bottom:17px}.page-heading>p,.page-heading>div>p{color:var(--muted);max-width:740px;font-size:14px}.heading-with-action{display:flex;align-items:center;justify-content:space-between;gap:30px}.heading-with-action>div{min-width:0}.heading-with-action>.button{flex-shrink:0}.task-title{font-size:clamp(31px,3.3vw,47px);max-width:850px;overflow-wrap:anywhere}.inline-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);margin-top:22px}.late{color:#b3773c;font-size:10px}.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0}.search-field{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;background:var(--white);padding:0 12px;max-width:350px;min-width:230px;color:#8a917f}.search-field input{border:0;background:transparent;padding:11px 0;outline:none;min-width:0;width:100%;font-size:12px}.search-field:focus-within{outline:2px solid #90a17e;outline-offset:2px}.search-empty{padding:25px;text-align:center;color:var(--muted);font-size:13px}.empty-state{text-align:center;padding:50px 30px;color:var(--muted)}.empty-state>.icon{color:#9daa8d;margin-bottom:17px}.empty-state h2,.empty-state h3{color:#59694f}.empty-state h2{font-size:25px}.empty-state p{font-size:13px;max-width:500px;margin:0 auto 22px}.small-empty{padding:28px 20px}.small-empty p{margin-bottom:0;font-size:12px}.group-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;padding:35px;border:1px solid #a7b195;border-radius:12px 16px 11px 15px;align-items:center;box-shadow:var(--shadow)}.group-hero.peach{border-color:#c3ad92}.group-hero h1{font-size:43px;margin-top:13px}.group-hero h3{font-family:var(--hand);font-size:23px;font-weight:400;color:#748365}.group-hero p{font-size:13px;color:#7a836d;max-width:680px}.group-hero.peach p{color:#8c7c65}.group-hero img{max-width:100%;height:auto}.collaboration-note{display:flex;align-items:center;gap:28px;padding:32px;margin-top:32px}.collaboration-note p{font-size:14px;color:var(--muted)}.big-doodle{color:#9ca98a;background:#f0f3e8;width:90px;height:90px;border:1px dashed #cbd4bd;border-radius:50%;flex-shrink:0;display:grid;place-items:center}.member-list{display:flex;flex-direction:column;gap:16px}.member{display:flex;align-items:center;gap:11px}.member strong{font-size:13px}.member small{display:block;color:var(--muted);font-size:10px}.brief-layout{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(250px,1fr);gap:28px;align-items:start}.assignment-brief{padding:32px 36px}.paper-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed var(--line);padding-bottom:18px;margin-bottom:23px;color:#879773}.brief-text{font-size:14px;color:#626c5c;line-height:1.95;overflow-wrap:anywhere}.brief-text p{white-space:pre-wrap;margin-bottom:24px}.brief-text p::first-line{color:#445a3d;font-weight:700;line-height:2.4}.rubric-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.rubric-grid h3{font-size:14px}.rubric-grid p{font-size:12px;color:var(--muted);line-height:1.85}.rubric-num{font-family:var(--hand);font-size:23px;color:#a2ae90;display:block;margin-bottom:7px}.checklist h3{font-family:var(--display);font-weight:400;font-size:23px;margin-top:9px}.checklist .check-label{padding:12px 0;border-bottom:1px dashed var(--line);margin:0;font-size:12px;line-height:1.7}.checklist .check-label:last-child{border:0;padding-bottom:0}.history-item{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:17px 0;border-bottom:1px dashed var(--line);text-decoration:none}.history-item:last-child{border:0}.history-item strong{font-size:12px}.history-item small{width:100%;font-size:10px;color:var(--muted)}.brief-aside p{font-size:12px;color:var(--muted)}.small-note{margin:28px 0;text-align:center;font-size:21px;transform:rotate(-3deg);color:#8f977e}.submission-list{overflow:hidden}.submission-row{display:flex;align-items:center;gap:14px;padding:21px 24px;text-decoration:none;border-bottom:1px solid #ecefe4;transition:background .18s}.submission-row:last-of-type{border:0}.submission-row:hover{background:#f4f6ed}.file-glyph{height:43px;width:39px;flex-shrink:0;display:grid;place-items:center;border:1px solid #c6ceba;background:#eff2e7;border-radius:5px;color:#8d9c7c}.submission-copy{flex:1;min-width:0}.submission-copy strong{display:block;font-size:13px;overflow-wrap:anywhere}.submission-copy small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.submission-row>.icon{color:#9ba88b;margin-left:10px}.submission-notes{font-size:14px;color:#6a7462;line-height:1.9}.link-list{display:flex;flex-direction:column;gap:12px}.link-list a,.attachment{display:flex;gap:13px;align-items:center;border:1px solid #dde3d2;border-radius:7px;padding:17px;background:#f8faf3;text-decoration:none}.link-list a>span,.attachment>span{flex:1;min-width:0}.link-list strong,.attachment strong{display:block;font-size:12px;overflow-wrap:anywhere}.link-list small,.attachment small{font-size:10px;color:var(--muted);display:block;overflow-wrap:anywhere;margin-top:3px}.link-list .icon,.attachment .icon{color:#8b9d78}.attachment{margin-bottom:10px}.privacy-note{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted);border-top:1px dashed var(--line);padding-top:23px;margin-top:25px}.feedback{background:#f2f5e9;border-left:3px solid #a2b08b;padding:17px;font-size:13px;line-height:1.8;margin-bottom:14px;border-radius:0 8px 8px 0}
form{margin:0}.field{margin-bottom:19px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:7px;color:#57674b}.field label span{font-size:10px;font-weight:400;color:#8c967e;margin-left:5px}.field input,.field textarea,.field select{display:block;width:100%;padding:11px 13px;background:#fdfdf9;border:1px solid #ccd4bf;border-radius:6px;min-height:44px;color:var(--ink);font-size:13px;line-height:1.6;transition:border .15s,box-shadow .15s}.field input::placeholder,.field textarea::placeholder{color:#a3aa98}.field input:focus,.field textarea:focus,.field select:focus{border-color:#81986d;box-shadow:0 0 0 2px #ced9c333}.field textarea{resize:vertical;min-height:100px}.field select{padding-right:24px}.field-help{font-size:10px;color:#919981;line-height:1.8;margin:10px 0 18px;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid.three-cols{grid-template-columns:1.2fr 1fr 1fr}.check-label{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.7;margin:20px 0;color:#788568;cursor:pointer}.check-label input{width:16px;height:16px;flex-shrink:0;margin:3px 0 0;accent-color:var(--green)}.check-label input:checked+span{color:#5c714b}.form-footer{border-top:1px solid var(--line);padding-top:23px;margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.form-footer>span{font-size:10px;color:#8b977a;display:flex;align-items:center;gap:7px}.upload-zone{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;text-align:center;background:#f4f6ed;border:1.5px dashed #bccaa9;border-radius:10px;padding:24px 18px;cursor:pointer;position:relative;transition:background .2s,border-color .2s}.upload-zone:hover,.upload-zone.dragover{background:#eaf0df;border-color:#789062}.upload-zone:focus-within{outline:3px solid #aa8251;outline-offset:3px}.upload-zone>.icon{color:#8ca574;margin-bottom:5px}.upload-zone strong{font-size:13px;color:#5c754b}.upload-zone span,.upload-zone small{font-size:10px;color:#8a9a78}.upload-zone input{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.selected-files{font-size:11px;color:#6c8259;margin-top:12px;overflow-wrap:anywhere;white-space:pre-line}.callout{background:#f4f0da;border:1px solid #e0d8b2;border-radius:8px;padding:16px 18px;font-size:12px;color:#8f825a;margin:20px 0}.flash-stack{margin-bottom:24px}.flash{display:flex;align-items:center;gap:12px;background:#e8efdf;color:#567047;padding:13px 16px;border:1px solid #bfceaF;border-radius:8px;font-size:12px;margin-bottom:10px}.flash>span{flex:1}.flash.error{background:#fbeae2;border-color:#e5c6b5;color:#9b6247}.flash.info{background:#eaf0f3;border-color:#c7d7df;color:#5f7b8b}.flash-close{opacity:.65}.auth-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:start;margin:20px 0 30px}.auth-story{padding-top:25px;position:sticky;top:30px}.auth-story h1{font-size:clamp(35px,3.5vw,53px);line-height:1.18;margin:17px 0 23px}.auth-story p{max-width:450px;color:#89977b;font-size:13px;line-height:1.9}.auth-story img{margin:20px auto 0;max-width:85%;height:auto}.auth-note{font-size:24px;color:#859876;transform:rotate(-3deg);margin-left:40px}.auth-form{padding:30px}.auth-form h2{font-size:33px;margin-top:8px}.auth-form>.muted{font-size:12px;margin-bottom:27px}.auth-form .form-grid{gap:14px}.auth-form .form-grid .field{min-width:0}.auth-switch{font-size:11px;color:#929d85;text-align:center;margin-top:24px}.auth-switch a{color:var(--green);font-weight:600}.password-wrap{position:relative}.password-wrap input{padding-right:44px}.password-toggle{position:absolute;right:6px;top:5px;width:35px;height:35px;background:transparent;border:0;color:#879779}.group-picker{margin:22px 0 0;padding:0;border:0}.group-picker legend{font-size:12px;font-weight:600;color:#57674b;margin-bottom:10px}.group-option{display:flex;gap:9px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:8px;margin-bottom:9px;cursor:pointer}.group-option:has(input:checked){border-color:#8da373;background:#f2f6e9;box-shadow:0 0 0 1px #9aac89}.group-option input{accent-color:var(--green);width:15px;height:15px;flex-shrink:0}.choice-icon{width:34px;height:34px;border-radius:7px;display:grid;place-items:center;color:#899f74;flex-shrink:0}.group-option strong{font-size:11px;display:block}.group-option small{font-size:9px;color:#99a489;display:block}.account-form{max-width:650px}.profile-summary{display:flex;align-items:center;gap:16px;padding-bottom:23px;margin-bottom:25px;border-bottom:1px solid var(--line)}.profile-summary .avatar{width:50px;height:50px}.profile-summary h3{margin:0 0 5px}.profile-summary p{font-size:12px;color:var(--muted)}
.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:26px}.anchor-nav{display:flex;gap:9px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:15px;border-bottom:1px dashed var(--line)}.anchor-nav a{text-decoration:none;font-size:11px;padding:7px 11px;border:1px solid #d6deca;border-radius:6px;color:#7e916d;background:#f6f8f0}.anchor-nav a:hover{background:#e9efdf}.admin-task{padding:18px 23px;border-bottom:1px solid #e8edde;display:flex;align-items:center;justify-content:space-between;gap:18px}.admin-task:last-child{border:0}.admin-task>div{flex:1;min-width:0}.admin-task a:not(.button){text-decoration:none;font-size:13px}.admin-task small{display:block;font-size:10px;color:#94a183;margin-top:5px}.student-admin{border-bottom:1px solid #e5eadd}.student-admin:last-of-type{border:0}.student-admin summary{display:flex;align-items:center;gap:13px;padding:20px 23px;cursor:pointer;list-style:none}.student-admin summary::-webkit-details-marker{display:none}.student-admin summary>span:nth-child(2){flex:1;min-width:0}.student-admin summary strong{font-size:13px}.student-admin summary small{font-size:10px;color:#929f81;display:block}.student-admin summary>.icon{transition:transform .2s}.student-admin[open] summary>.icon{transform:rotate(180deg)}.student-admin[open] summary{background:#f4f7ec}.student-edit{padding:5px 25px 25px;background:#f7f9f1}.student-edit .field{margin-bottom:13px}.student-edit .form-grid{gap:20px}.audit-list>div{display:flex;gap:20px;font-size:11px;padding:14px 20px;border-bottom:1px solid #e9eddf}.audit-list>div:last-child{border:0}.audit-list span{color:#89967a}.audit-list>div>span:first-child{display:flex;align-items:center;gap:7px;min-width:225px;font-size:10px}.editor-form{max-width:1100px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.guide-grid article{position:relative}.guide-grid h2{font-size:27px;margin-top:14px}.guide-grid p,.template-grid li{font-size:13px;color:#7a8a6c;line-height:1.9}.step-stamp{font-family:var(--hand);color:#80986a;width:39px;height:39px;border:1px solid #b6c7a1;border-radius:50% 42% 51% 47%;display:grid;place-items:center;font-size:19px;transform:rotate(-8deg);background:#f0f6e5}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:22px}.template-grid h3{color:#667f53}.template-grid ol{padding-left:22px;margin:14px 0 20px}.template-grid li{padding-left:3px;margin-bottom:7px}.error-page{text-align:center;padding:45px 30px;max-width:700px;margin:50px auto}.error-code{font-size:85px;color:#a5b490}.error-page p{color:#8c9a7e;max-width:520px;margin:22px auto}.error-page h1{font-size:39px}.wordmark{display:flex;align-items:center;gap:8px;text-decoration:none;font-size:19px;font-weight:700;letter-spacing:.03em}.wordmark span{font-family:var(--hand);font-size:15px;font-weight:400;color:#859575;letter-spacing:0}.wordmark .icon{color:var(--green)}[hidden]{display:none!important}@keyframes arrival{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){main{padding-top:48px}.hero{min-height:360px}.group-art{height:165px}.group-card p{font-size:13px}.group-card h3{font-size:31px}.task-body h3{font-size:16px}.task-body p{font-size:12px}}
@media(max-width:1250px){.sidebar{width:218px;padding:27px 17px 20px}.workspace{margin-left:218px}.topbar{padding:0 30px}main{padding:30px}.main-footer{padding:22px 30px}.brand{gap:7px}.brand strong{font-size:25px}.semester{font-size:8px}.hero{grid-template-columns:1.4fr 1fr;min-height:310px}.hero h1{font-size:45px}.hero-art{max-width:300px}.hero-actions{gap:20px}.group-card{padding:20px 20px 0}.group-top{flex-wrap:wrap;gap:5px}.group-art{height:130px}.group-card h3{font-size:26px}.lower-grid{grid-template-columns:minmax(0,1.85fr) minmax(210px,1fr);gap:20px}.task-card{padding:18px 15px;gap:12px}.task-action .status{font-size:8px}.task-action{gap:20px}.task-icon{width:37px;height:39px}.task-body h3{font-size:13px}.task-body p{font-size:11px}.task-meta{font-size:8px}.pinboard{padding:25px 20px}.brief-layout{grid-template-columns:minmax(0,2.1fr) minmax(220px,1fr);gap:20px}.pad{padding:24px}.assignment-brief{padding:27px}.brief-aside .pad{padding:22px}.auth-layout{gap:30px;grid-template-columns:.95fr 1fr}.auth-story h1{font-size:41px}.auth-form{padding:25px}.auth-form .form-grid{grid-template-columns:1fr;gap:0}.metrics>div{padding:18px 15px}.metrics>div>.icon{right:15px;width:20px}.metric-num{font-size:29px}.process-strip{gap:9px}.process-strip .eyebrow{display:none}.group-hero h1{font-size:38px}.group-hero{padding:28px}.three-cols{gap:14px}.notice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.sidebar{width:204px;padding:25px 14px 18px}.workspace{margin-left:204px}.semester{font-size:7.7px}.primary-nav a{font-size:11px;gap:10px}.sidebar-note{margin:30px 6px 24px;padding:18px 13px}.sidebar-note .handwritten{font-size:20px}.hero{grid-template-columns:1.4fr .85fr;min-height:280px}.hero h1{font-size:40px}.hero p{font-size:12px}.hero-actions{gap:15px}.hero-actions .button{padding:11px 15px;font-size:11px}.hero-actions .text-link{font-size:10px}.hero-art{max-width:250px}.hero-caption{font-size:16px}.section-heading h2{font-size:25px}.subtle-note{font-size:14px}.group-grid{gap:20px}.group-card{padding:18px 18px 0}.group-card h3{font-size:25px}.group-card p{font-size:11px;min-height:102px}.group-art{height:125px}.group-foot{font-size:9px}.group-foot>span{font-size:8px}.lower-grid{grid-template-columns:1fr}.pinboard{max-width:none;transform:rotate(.5deg);margin:18px 0 0}.pinboard h3 br{display:none}.pinboard p{max-width:90%;font-size:12px}.pinboard-bottom{margin-top:15px}.pinboard>.icon{bottom:28px;right:30px}.metrics{grid-template-columns:1fr 1fr}.metrics>div:nth-child(2){border-right:0}.metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.admin-metrics{grid-template-columns:repeat(3,1fr)}.admin-metrics>div:nth-child(2){border-right:1px solid var(--line)}.admin-metrics>div:nth-child(-n+2){border-bottom:0}.brief-layout{grid-template-columns:1fr}.brief-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.brief-aside>.section-space{margin-top:0}.brief-aside>.small-note{grid-column:1/-1}.auth-layout{grid-template-columns:1fr;max-width:580px;margin-left:auto;margin-right:auto}.auth-story{position:static;padding-top:0}.auth-story img,.auth-note{display:none}.auth-story h1{font-size:44px}.auth-story p{max-width:550px}.auth-form .form-grid{grid-template-columns:1fr 1fr;gap:14px}.form-grid.three-cols{grid-template-columns:1fr 1fr}.form-grid.three-cols .field:first-child{grid-column:1/-1}.heading-with-action{align-items:flex-start;flex-direction:column;gap:15px}.group-hero{grid-template-columns:1.4fr 1fr;gap:15px}.group-hero h1{font-size:32px}.group-hero h3{font-size:21px}.group-hero p{font-size:12px}.guide-grid{gap:18px}.guide-grid .pad{padding:23px}.guide-grid h2{font-size:24px}.list-toolbar>.small{font-size:10px}.process-strip{font-size:9px}.collaboration-note{padding:25px;gap:20px}.big-doodle{width:65px;height:65px}.main-footer>span:nth-child(2){display:none}.admin-task>.muted{display:none}}
@media(max-width:800px){.mobile-bar{display:flex;position:sticky;top:0;align-items:center;justify-content:space-between;padding:12px 22px;background:#f3f3e9f5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);height:62px;z-index:45}.sidebar{top:62px;width:245px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:10px 0 30px #29312415}.nav-open .sidebar{transform:translateX(0)}.sidebar .brand{display:none}.semester{font-size:9px;margin:0 0 26px}.sidebar-note{margin-top:30px}.workspace{margin-left:0}.topbar{height:54px;padding:0 24px}.date-label{display:none}.topbar-right{gap:12px}main{padding:28px 24px}.hero{grid-template-columns:1.4fr .9fr;min-height:280px}.hero h1{font-size:44px}.hero-art{max-width:260px}.hero-caption{font-size:17px}.hero-actions .button{font-size:11px}.hero-actions .text-link{font-size:11px}.section-heading h2{font-size:26px}.group-card p{font-size:12px;min-height:113px}.task-body h3{font-size:14px}.task-body p{font-size:12px}.task-meta{font-size:9px}.task-action .status{font-size:9px}.sidebar-footer{font-size:10px}.primary-nav a{font-size:12px}.sidebar-note .handwritten{font-size:22px}.page-heading h1{font-size:42px}.page-heading h1.task-title{font-size:36px}.group-hero h1{font-size:34px}.group-hero p{font-size:13px}.brief-text{font-size:15px}.main-footer{padding:20px 24px}.template-grid{gap:24px}.auth-form{padding:30px}.auth-layout{margin-top:0}.nav-caption{font-size:10px}.process-strip{font-size:10px}.role-chip{font-size:9px}.form-footer{flex-wrap:wrap}.form-footer>span{font-size:11px}section[id]{scroll-margin-top:82px}.brief-aside .pad{padding:24px}}
@media(max-width:570px){body{font-size:15px}main{padding:22px 18px}.mobile-bar{padding:12px 18px}.topbar{padding:0 18px}.breadcrumb{font-size:10px}.hero{grid-template-columns:1fr;margin:10px 0 20px;min-height:auto;gap:10px}.hero-copy{position:relative;z-index:1}.hero h1{font-size:44px}.hero-copy>.eyebrow{font-size:9px}.hero p{font-size:13px}.hero-art{width:240px;justify-self:center;max-width:80%;margin-top:0;height:197px;padding-bottom:15px}.hero-art img{height:180px;object-fit:contain}.hero-caption{font-size:16px;right:-8px;bottom:-3px}.hero-actions{margin-top:22px;gap:20px;flex-wrap:wrap}.hero-actions .button{font-size:12px;padding:11px 17px;min-height:46px}.hero-actions .text-link{font-size:11px}.hero h1 em:after{height:7px}.desktop-only{display:none}.section-heading{margin:28px 0 17px;gap:15px}.section-heading h2{font-size:25px}.section-heading .eyebrow{font-size:9px}.section-heading .text-link{font-size:10px}.subtle-note{display:none}.group-grid{grid-template-columns:1fr;gap:22px}.group-card{padding:20px 22px 0}.group-top{flex-wrap:nowrap}.group-top .eyebrow{font-size:9px}.small-tag{font-size:8px}.group-art{height:137px;margin:8px 0 12px}.group-card h3{font-size:29px}.group-card p{font-size:13px;min-height:auto;line-height:1.85}.group-foot{font-size:11px;padding:17px 0}.group-foot>span{font-size:10px}.lower-grid{gap:20px;margin-top:31px}.task-card{position:relative;padding:18px 15px;gap:12px;flex-wrap:wrap}.task-icon{width:39px;height:40px}.task-body{flex-basis:calc(100% - 60px)}.task-body h3{font-size:15px;line-height:1.45}.task-body .eyebrow{font-size:8px}.task-body p{font-size:12px}.task-meta{font-size:10px}.task-action{flex-direction:row;width:100%;justify-content:space-between;align-items:center;padding:10px 0 0 51px;gap:10px}.task-action .status{font-size:10px}.round-link{height:31px;width:31px}.pinboard{padding:29px 24px 25px;transform:rotate(.5deg);margin:14px 2px 0}.pinboard .eyebrow{font-size:9px}.pinboard h3{font-size:25px}.pinboard p{font-size:12px}.pinboard-bottom{font-size:20px}.process-strip{flex-wrap:wrap;justify-content:center;gap:12px;font-size:9px}.process-strip .process-arrow{display:none}.process-strip>span:not(.eyebrow){white-space:nowrap}.metrics{margin:25px 0 30px}.metrics>div{padding:17px 15px}.metrics>div>span:not(.metric-num){font-size:10px;max-width:110px}.metrics>div>.icon{width:19px;right:13px;top:20px}.metric-num{font-size:29px}.progress-metric strong{font-size:11px}.page-heading{margin:12px 0 28px}.page-heading h1{font-size:37px}.page-heading h1.task-title{font-size:31px}.page-heading>p,.page-heading>div>p{font-size:13px}.page-heading .eyebrow{font-size:9px}.heading-with-action{gap:9px}.button{min-height:44px;font-size:12px}.list-toolbar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:18px}.search-field{width:100%;max-width:none;min-width:0}.list-toolbar>.small{font-size:10px}.group-hero{grid-template-columns:1fr;padding:26px 23px;gap:15px}.group-hero h1{font-size:37px}.group-hero img{height:150px;width:auto;margin:auto}.group-hero h3{font-size:24px}.group-hero p{font-size:13px}.group-hero .button{margin-top:7px}.collaboration-note{display:block;padding:25px}.big-doodle{margin-bottom:20px}.collaboration-note h2{font-size:28px}.pad{padding:24px 22px}.assignment-brief{padding:25px 22px}.brief-text{font-size:14px;line-height:1.9}.brief-text p{margin-bottom:23px}.brief-aside{grid-template-columns:1fr;gap:21px}.rubric-grid{gap:22px;grid-template-columns:1fr}.rubric-grid>div{padding-bottom:15px;border-bottom:1px dashed var(--line)}.rubric-grid>div:last-child{border:0;padding-bottom:0}.rubric-grid h3{font-size:16px}.rubric-grid p{font-size:13px}.rubric-num{font-size:20px;margin-bottom:6px}.field input,.field textarea,.field select{font-size:16px}.field label{font-size:12px}.form-grid,.form-grid.three-cols{grid-template-columns:1fr;gap:0}.field{margin-bottom:19px}.form-grid.three-cols .field:first-child{grid-column:auto}.field-help{font-size:11px}.form-footer{flex-direction:column;align-items:stretch;gap:18px}.form-footer>span{font-size:10px}.check-label{font-size:12px}.checklist .check-label{font-size:13px}.history-item strong{font-size:13px}.history-item small{font-size:11px}.auth-story h1{font-size:37px}.auth-story{padding-top:0}.auth-layout{gap:15px}.auth-story .eyebrow{font-size:9px}.auth-form{padding:26px 22px}.auth-form .form-grid{grid-template-columns:1fr;gap:0}.auth-form h2{font-size:31px}.group-option{padding:12px 10px}.group-option strong{font-size:12px}.group-option small{font-size:9px}.auth-switch{font-size:12px}.submission-row{padding:20px 16px;gap:12px;flex-wrap:wrap}.submission-copy{min-width:calc(100% - 65px);flex:1}.submission-copy strong{font-size:14px}.submission-copy small{font-size:11px}.submission-row>.status{margin-left:51px;font-size:10px}.submission-row>.icon{margin-left:auto}.submission-notes{font-size:14px}.link-list strong,.attachment strong{font-size:12px}.link-list small,.attachment small{font-size:10px}.feedback{font-size:14px}.notice-grid{grid-template-columns:1fr}.admin-metrics{grid-template-columns:1fr 1fr 1fr}.admin-metrics>div{padding:16px 12px}.admin-metrics>div>.icon{display:none}.admin-metrics .metric-num{font-size:28px}.admin-metrics>div>span:not(.metric-num){font-size:9px;line-height:1.6}.anchor-nav{gap:7px}.anchor-nav a{font-size:10px;padding:7px 9px}.admin-task{padding:20px 18px;gap:12px}.admin-task a:not(.button){font-size:13px}.admin-task small{font-size:10px}.compact-button{font-size:10px;padding:8px 10px}.student-admin summary{padding:18px 15px;gap:10px;flex-wrap:wrap}.student-admin summary>span:nth-child(2){min-width:calc(100% - 45px)}.student-admin summary .status{margin-left:43px}.student-admin summary>.icon{margin-left:auto}.student-admin summary strong{font-size:14px}.student-admin summary small{font-size:10px}.student-edit{padding:5px 18px 23px}.student-edit .form-grid{gap:0}.section-heading:has(.search-field){flex-wrap:wrap}.section-heading:has(.search-field)>.search-field{width:100%}.audit-list>div{flex-wrap:wrap;gap:5px 13px;font-size:11px;padding:16px 18px}.audit-list>div>span:first-child{width:100%;font-size:10px}.guide-grid{grid-template-columns:1fr;gap:20px}.guide-grid h2{font-size:27px}.guide-grid p{font-size:14px}.template-grid{grid-template-columns:1fr;gap:25px}.template-grid li{font-size:13px}.template-grid h3{font-size:17px}.error-page{padding:35px 22px;margin:20px auto}.error-page h1{font-size:33px}.error-page p{font-size:13px}.main-footer{padding:20px 18px;gap:12px;font-size:9px}.inline-meta{font-size:11px}.privacy-note{font-size:11px}.profile-summary p{font-size:11px}.notice p{font-size:13px}.topbar .role-chip{font-size:8px}.field label span{display:inline;margin-left:4px}.brief-aside p{font-size:13px}.empty-state{padding:35px 20px}.empty-state p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
