@font-face{font-family:Aeonik;src:url('/tasks/assets/fonts/Aeonik-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Aeonik;src:url('/tasks/assets/fonts/Aeonik-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Aeonik;src:url('/tasks/assets/fonts/Aeonik-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:light;--navy:#241f48;--blue:#4a36ff;--muted:#716e82;--border:#e5e3ed;--white:#fff}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#f7f7fb;color:var(--navy);font:16px/1.5 Aeonik,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,summary,input,textarea{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{min-height:44px;padding:12px 18px;border:0;border-radius:10px;background:var(--blue);color:#fff;font-weight:500}button:hover{filter:brightness(.93)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}a{color:inherit}.quiet-button{background:#f0eff6;color:var(--navy);font-size:13px}p{margin:0}h1,h2{font-weight:500;line-height:1.08;letter-spacing:-1.4px;margin:0}h1{font-size:38px}h2{font-size:38px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;margin:0 0 13px;color:var(--muted)}
.topbar{max-width:1100px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:24px 36px}.network-brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:15px;font-weight:500;letter-spacing:-.3px}.network-brand img{width:34px;height:auto}.topbar .quiet-button{background:transparent;color:var(--muted)}main{max-width:684px;margin:auto;padding:36px 22px 28px}.page-intro{margin:0 0 30px}.campus-identity{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:13px;color:var(--muted)}.school-logo-wrap{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;padding:4px}.school-logo-wrap img{width:100%;height:100%;object-fit:contain}.page-intro>p{margin-top:13px;color:var(--muted);font-size:17px}.task-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:32px;box-shadow:0 8px 40px #28214904}.task-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow reward" "title reward";column-gap:18px;align-items:center}.task-heading>.eyebrow{grid-area:eyebrow}.task-heading>h2{grid-area:title}.task-heading>.reward-amount{grid-area:reward}.reward-amount{text-align:center;flex-shrink:0;background:#f0edff;border:1px solid #e4deff;border-radius:16px;padding:19px 20px;color:#4a36ff}.reward-amount strong{display:block;font-size:42px;line-height:1;letter-spacing:-2px;font-weight:500}.reward-amount span{display:block;font-size:11px;margin-top:7px}.task-description{color:var(--muted);font-size:15px;line-height:1.6;max-width:430px;margin:20px 0 15px}.task-meta{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:27px}.status{background:#f0eff6;border-radius:6px;padding:4px 9px;color:#575167;font-weight:500}.is-approved .status{background:#e7f6ed;color:#1b6b3d}.file-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-height:156px;padding:23px 15px;text-align:center;border:1.5px dashed #c6c1db;border-radius:13px;background:#faf9fd;color:var(--navy);transition:background .15s,border-color .15s}.file-drop>svg{color:var(--blue)}.file-drop label{font-size:15px;font-weight:500}.file-drop label span{font-weight:400;color:var(--muted)}.file-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-drop:has(input:disabled){opacity:.55}.file-drop:focus-within{outline:3px solid var(--blue);outline-offset:3px}.file-drop.drag-over{background:#efedff;border-color:var(--blue)}.file-drop p{font-size:11px;color:var(--muted)}#calendar-attachment{margin-top:12px;padding:14px;border:1px solid var(--border);border-radius:10px;overflow-wrap:anywhere;font-size:13px}#calendar-attachment>div{display:flex;gap:8px;margin-top:8px}#calendar-attachment .quiet-button{padding:7px 11px;min-height:38px}.manual-entry{margin:14px 0 22px}summary{list-style:none}summary::-webkit-details-marker{display:none}.manual-entry summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:13px;color:var(--muted)}.manual-entry summary span{font-size:20px}.manual-entry[open] summary span{font-size:0}.manual-entry[open] summary span::after{content:"−";font-size:20px}#calendar-events{display:grid;gap:12px}.calendar-event{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:8px 16px 16px;border:1px solid var(--border);border-radius:12px;background:#faf9fd;align-items:end}.calendar-event-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:-6px;min-width:0}.calendar-event-header>span{font-size:13px;font-weight:500}.calendar-event-remove{background:transparent;color:var(--muted);font-size:12px;font-weight:400;min-height:44px;padding:8px;margin-right:-8px}.calendar-event-remove:hover{background:#f0eff6;color:var(--navy)}.calendar-event label{font-size:12px;color:var(--muted)}.calendar-event-name{grid-column:1/-1}.calendar-event input{width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid var(--border);border-radius:8px;margin-top:5px;background:#fff;color:var(--navy)}.calendar-event input::placeholder{color:#8c889c}#add-event{width:100%;margin-top:12px;min-height:44px;padding:10px 14px;background:transparent;border:1px dashed #ccc7dd;border-radius:10px;color:var(--navy)}#add-event:hover{background:#faf9fd}.step-editor>label{display:block;font-size:13px;font-weight:500;margin-bottom:8px}.step-editor>label span{font-weight:400;color:var(--muted)}textarea{width:100%;resize:vertical;padding:12px 14px;background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--navy);font-size:14px;line-height:1.5;min-height:80px}textarea::placeholder{color:#8c889c}.step-editor>[data-step-submit]{width:100%;margin-top:22px;background:#4a36ff;min-height:50px;font-size:15px}.reward-note{text-align:center;margin-top:12px;color:var(--muted);font-size:12px}.review-feedback{padding:12px 14px;margin:12px 0;background:#fff5df;border-radius:9px;font-size:14px}.step-file{display:flex;align-items:center;gap:8px;flex-wrap:wrap;overflow-wrap:anywhere;margin-top:10px;font-size:13px}.step-file span{flex:1}.step-file button{padding:8px 10px;font-size:12px}#calendar-status,[data-step-message]{font-size:13px;color:var(--blue);margin:12px 0}#calendar-status:empty,[data-step-message]:empty{display:none}.next-note{text-align:center;font-size:13px;color:var(--muted);margin:22px 6px 30px}footer{display:flex;align-items:start;justify-content:space-between;gap:18px;font-size:11px;color:var(--muted);border-top:1px solid var(--border);padding-top:16px}#save-status{max-width:65%}.workspace-settings{text-align:right;max-width:40%}.workspace-settings summary{min-height:32px}.workspace-settings button{margin:8px 0}.workspace-settings p{font-size:12px}.error{color:#ae263e}.skip-link{position:absolute;left:12px;top:-80px;padding:10px;background:white;z-index:10}.skip-link:focus{top:12px}.notice{padding:24px}
/* Account access stays familiar, with the same single-task promise. */
dialog{width:calc(100% - 32px);max-width:460px;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--border);border-radius:20px;padding:30px;color:var(--navy);background:white;box-shadow:0 24px 90px #241f481f}dialog::backdrop{background:#f0eff8f0;backdrop-filter:blur(5px)}dialog h2{font-size:29px;letter-spacing:-.8px;margin-bottom:20px}.auth-logo{display:block;margin-bottom:22px}dialog p{font-size:14px;color:var(--muted)}dialog label{display:block;font-size:13px;font-weight:500;margin:16px 0 6px}dialog input{width:100%;min-height:44px;border:1px solid #d9d6e4;border-radius:8px;padding:10px 12px;color:var(--navy);background:white;font-size:16px}.auth-tabs{display:flex;padding:4px;background:#f4f3f8;border-radius:10px;margin-bottom:18px}.auth-tabs button{flex:1;background:transparent;color:var(--muted);min-height:38px;padding:8px}.auth-tabs button[aria-pressed=true]{background:#fff;color:var(--navy);box-shadow:0 1px 5px #241f4810}.school-help{font-size:11px;margin-top:6px}.school-picker{position:relative}#school-options{list-style:none;padding:5px;margin:6px 0 0;background:white;border:1px solid var(--border);border-radius:10px;max-height:230px;overflow:auto;position:absolute;z-index:2;left:0;right:0;box-shadow:0 12px 30px #241f481a}#school-options li{padding:10px;font-size:14px;cursor:pointer}#school-options li[aria-selected=true],#school-options li:hover{background:#f0edff;border-radius:6px}#welcome-error{color:#ad233c;margin-top:12px;font-size:13px}#welcome-error:empty{display:none}.welcome-actions{display:flex;margin-top:22px;gap:10px}.welcome-actions button{flex:1}
@media(max-width:600px){.topbar{padding:16px 20px}main{padding:22px 18px}.page-intro{margin-bottom:24px}h1{font-size:30px;letter-spacing:-1px}h2{font-size:30px;letter-spacing:-1px}.page-intro>p{font-size:15px}.task-card{padding:24px 20px;border-radius:18px}.task-heading{gap:12px}.reward-amount{padding:15px 14px;border-radius:13px}.reward-amount strong{font-size:35px}.reward-amount span{font-size:10px}.task-description{font-size:14px}.task-meta{font-size:11px;gap:9px}.file-drop label span{display:block;font-size:13px;margin-top:3px}.file-drop p{font-size:10px;max-width:240px}.next-note{font-size:12px;margin-inline:8px}dialog{padding:24px}.network-brand{font-size:14px}footer{font-size:10px}.reward-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Optional context stays out of the way until it is needed. */
#campus-title:focus{outline:none}.calendar-note summary{font-size:13px;min-height:36px;color:var(--navy)}.calendar-note summary span{color:var(--muted)}.calendar-note textarea{margin-top:7px;min-height:70px}.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}.step-editor>[data-step-submit]{margin-top:15px}.manual-entry{margin-bottom:8px}main{padding-top:22px}
.sponsorship{margin:14px 0 12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3px 0}.sponsorship>summary{padding:14px 0;font-size:13px;font-weight:500}.sponsorship>summary span{font-weight:400;color:var(--muted)}.sponsorship-help{font-size:12px;color:var(--muted);margin:10px 0 15px}.sponsorship-request{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;border:0;padding:4px 0 15px;margin:0;min-width:0}.sponsorship-request+.sponsorship-request{border-top:1px solid var(--border);padding-top:15px}.sponsorship-request legend{font-size:12px;color:var(--muted)}.sponsorship-request label{font-size:12px;min-width:0}.sponsorship-request label:last-of-type{grid-column:1/-1}.sponsorship-request input{width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--navy);font-size:16px;margin-top:6px}.sponsorship-request textarea{margin-top:6px;min-height:64px}.sponsorship-request button{grid-column:1/-1;justify-self:start;background:transparent;padding:0;min-height:30px;font-size:12px;color:var(--muted)}.sponsorship-request:disabled{opacity:.6}
/* Phone layouts keep native inputs readable and controls easy to tap. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button,summary{touch-action:manipulation}input,textarea{scroll-margin-block:24px}#campus-title,#pass-school{overflow-wrap:anywhere}.calendar-event label{min-width:0}.calendar-event input{font-size:16px}.sponsorship>summary,.calendar-note>summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:44px}.sponsorship>summary::after,.calendar-note>summary::after{content:'+';margin-left:auto;font-size:20px;font-weight:400;color:var(--muted)}.sponsorship[open]>summary::after,.calendar-note[open]>summary::after{content:'−'}
@media(max-width:600px){
 .topbar{padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));gap:12px}.topbar .quiet-button{padding:10px 8px;flex-shrink:0}
 main{padding:12px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.page-intro{margin-bottom:22px}.campus-identity{margin-bottom:12px}h1{font-size:28px}.page-intro>p{margin-top:9px}
 .task-card{padding:20px 18px}.task-heading{grid-template-areas:"eyebrow reward" "title title";row-gap:14px;column-gap:8px}.task-heading>.eyebrow{margin:0;letter-spacing:1.2px}.task-heading>h2{font-size:30px;line-height:1.12;max-width:340px}.reward-amount{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px}.reward-amount strong{font-size:28px;letter-spacing:-1px}.reward-amount span{font-size:11px;margin:0;max-width:none;white-space:nowrap;line-height:1.2}.task-description{margin:16px 0 12px}.task-meta{flex-wrap:wrap;gap:8px;margin-bottom:20px}.file-drop{min-height:140px;padding:18px 12px}.file-drop p{font-size:12px;max-width:260px}.file-drop label span{font-size:14px}
 textarea,.calendar-note textarea,.sponsorship-request textarea,.calendar-event input{font-size:16px}textarea{max-width:100%}.manual-entry summary,.sponsorship>summary,.calendar-note>summary{font-size:14px;min-height:48px}.manual-entry summary{gap:10px}.manual-entry summary span{flex-shrink:0}.sponsorship>summary span,.calendar-note>summary span{font-size:12px}.sponsorship-request label,.calendar-event label{font-size:13px}.sponsorship-request button{min-height:44px;padding:8px 0;font-size:13px}#calendar-attachment .quiet-button{min-height:44px}.reward-note,.next-note,.sponsorship-help{font-size:12px;line-height:1.6}
 footer{display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:12px;padding-top:12px}#save-status,.workspace-settings{max-width:none;width:100%;overflow-wrap:anywhere}.workspace-settings{text-align:left}.workspace-settings summary{display:flex;align-items:center;min-height:44px}.workspace-settings button{max-width:100%;white-space:normal;text-align:left}.workspace-settings p{margin-bottom:10px}
 dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:20px;margin:auto;overscroll-behavior:contain;scroll-padding-block:16px;-webkit-overflow-scrolling:touch}dialog h2{font-size:26px;line-height:1.15;margin-bottom:16px}.auth-logo{height:24px;width:36px;margin-bottom:14px}dialog .eyebrow{margin-bottom:10px}.auth-tabs button{font-size:14px;min-height:44px;padding:8px 4px}.school-help{font-size:12px}.school-picker{min-width:0}#school-options{max-height:min(220px,35dvh)}#school-options li{min-height:44px;padding:12px 10px}.welcome-actions button{min-height:48px}
}
@media(max-width:380px){.task-heading>h2{font-size:28px}.calendar-event,.sponsorship-request{grid-template-columns:minmax(0,1fr)}.calendar-event input[type=date],.calendar-event input[type=time]{min-height:46px;-webkit-appearance:none;appearance:none}.network-brand{gap:9px}.task-card{padding:18px 16px}}
@media(max-height:500px) and (max-width:900px){dialog{max-height:calc(100dvh - 16px);margin:8px auto;padding:18px}.auth-logo{margin-bottom:8px}dialog h2{font-size:24px;margin-bottom:12px}}
@media(max-width:600px){.topbar{padding-top:max(12px,env(safe-area-inset-top))}}
@media(max-width:600px),(max-height:500px) and (max-width:900px){
 dialog{position:fixed;top:calc(var(--mobile-viewport-top,0px) + max(12px,env(safe-area-inset-top)));bottom:auto;margin:0 auto;max-height:calc(var(--mobile-viewport-height,100dvh) - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))}
}
/* Task browsing keeps a single card on screen and leaves its draft in place. */
.task-browser{position:relative}
.task-stage{position:relative;isolation:isolate}
.task-stage[data-transitioning]{overflow:hidden;overflow:clip;border-radius:22px}
.task-stage[data-transitioning]>.task-card{will-change:transform,opacity;transform-origin:center top}
.task-stage>.task-leaving{position:absolute;inset:0 0 auto;pointer-events:none}
.task-navigation{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:16px;margin:0 0 16px}
.task-navigation>span{grid-column:2;grid-row:1;text-align:center;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.task-arrows{display:contents}
.task-arrows button{display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;border:1px solid var(--border);background:white;color:var(--navy);box-shadow:0 3px 12px #241f4808;transition:transform .2s,box-shadow .2s,opacity .2s}
.task-arrows #previous-task{grid-column:1;grid-row:1}
.task-arrows #next-task{grid-column:3;grid-row:1;background:var(--blue);border-color:var(--blue);color:white}
.task-arrows button:disabled{opacity:.3;box-shadow:none}
.task-arrows button:active:not(:disabled){transform:scale(.92)}
@media(hover:hover){.task-arrows button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #241f4818}}
@media(min-width:880px){
 .task-navigation{min-height:24px;margin-bottom:16px}
 .task-arrows button{position:absolute;top:160px;width:52px;height:52px;z-index:2}
 .task-arrows #previous-task{left:-76px}
 .task-arrows #next-task{right:-76px}
}
.other-task>.eyebrow{line-height:1.6}.other-task>h2{max-width:500px}.guided-step{border-top:1px solid var(--border);padding:6px 0}.guided-step>summary{display:flex;align-items:center;gap:12px;min-height:58px;font-size:15px;font-weight:500;padding:10px 0}.step-number{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#f0eff6;color:var(--muted);font-size:12px}.step-chevron{margin-left:auto;color:var(--muted);font-size:20px}.guided-step[open] .step-chevron{font-size:0}.guided-step[open] .step-chevron::after{content:'−';font-size:20px}.guided-step .step-editor{padding:4px 0 18px}.step-detail{font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:12px}.step-state{font-size:12px;color:var(--muted);margin-bottom:14px}.step-lock{font-size:13px;background:#f5f3fa;padding:12px;border-radius:8px;margin:0 0 14px}.step-editor>.step-upload-label{margin-top:14px}.step-upload{display:block;width:100%;min-width:0;min-height:44px;font-size:13px;color:var(--muted)}.step-upload::file-selector-button{min-height:44px;border:0;border-radius:8px;background:#f0eff6;color:var(--navy);font:inherit;padding:10px 12px;margin-right:10px;cursor:pointer}.step-upload-help{font-size:12px;color:var(--muted);margin-top:6px}.guided-step textarea{font-size:16px}.guided-step [data-step-submit]{font-size:14px}.guided-step.is-waiting{color:var(--muted)}
@media(max-width:600px){.task-navigation{margin-bottom:12px}.other-task>h2{font-size:30px;line-height:1.12}.guided-step>summary{font-size:14px;gap:9px}.step-file button{min-height:44px}.step-file span{min-width:0;overflow-wrap:anywhere}}
/* Make the reward and the next action understandable at a glance. */
.task-payment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;margin:-8px -8px 24px;border-radius:14px;background:#eee9ff;color:#352064}
.task-payment p{display:flex;align-items:center;gap:10px;line-height:1.2}
.task-payment strong{font-size:38px;font-weight:700;letter-spacing:-1.5px}
.task-payment p span{font-size:17px;font-weight:500}
.task-payment>span{font-size:14px;line-height:1.35;max-width:110px}
.task-hero{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:20px;margin-bottom:22px}
.task-hero h2{font-size:32px;line-height:1.12;letter-spacing:-1px;overflow-wrap:normal}
.task-illustration{width:100%;height:auto;display:block;border-radius:18px}
.task-benefit{font-size:25px;font-weight:500;line-height:1.2;letter-spacing:-.5px;color:var(--navy)}
.task-card .task-description{max-width:none;font-size:17px;line-height:1.5;margin:12px 0;color:var(--navy)}
.task-benefit-detail{font-size:16px;line-height:1.5;color:#625b74;margin-bottom:18px}
.task-card .task-meta{margin-bottom:22px}
.step-detail{font-size:16px;line-height:1.5;color:#625b74}
.guided-step>summary{font-size:16px}
.sponsorship>summary{font-size:16px;color:var(--navy)}
.reward-note{font-size:14px}
@media(max-width:600px){
 .task-payment{margin:-4px -2px 20px;padding:12px;flex-wrap:wrap;gap:7px 12px}
 .task-payment strong{font-size:34px}.task-payment p span{font-size:16px}.task-payment>span{max-width:none;font-size:14px}
 .task-hero{grid-template-columns:minmax(0,1fr) 116px;gap:12px;margin-bottom:18px}
 .task-hero h2{font-size:26px;line-height:1.12;letter-spacing:-.7px}
 .task-illustration{border-radius:12px}
 .task-benefit{font-size:23px}.task-card .task-description{font-size:16px}.task-benefit-detail{font-size:16px}
 .guided-step>summary{font-size:16px}.step-detail{font-size:16px}
 .sponsorship>summary{font-size:16px}.reward-note{font-size:14px}
}
@media(max-width:380px){.task-hero{grid-template-columns:minmax(0,1fr) 96px;gap:10px}.task-hero h2{font-size:24px}.task-benefit{font-size:22px}}
