:root{font-family:Trebuchet MS,Arial Rounded MT Bold,Arial,sans-serif;color:#0b2038;background:#eef8f9;--ink:#0b2038;--purple:#118f9d;--blue:#2f6fa8;--green:#189883;--yellow:#63ccd2;--red:#d95d60;--line:#c8dfe2;--paper:#fff;--shadow:#0b2038;--aqua:#63ccd2;--aqua-soft:#dff4f5;--navy:#0b2038}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#eef8f9;background-image:radial-gradient(#bfdfe2 1.3px,transparent 0);background-size:22px 22px}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{max-width:1180px;margin:auto;padding:25px 28px 80px}.nav{justify-content:space-between;margin-bottom:54px}.brand,.nav{display:flex;align-items:center}.brand{gap:12px;border:0;background:transparent;color:var(--ink);text-align:left;font-size:20px;font-weight:900}.brand small{display:block;font-size:9px;letter-spacing:1.8px;color:#557383;margin-top:1px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;font-size:16px;box-shadow:4px 4px 0 var(--ink);transform:rotate(-3deg)}.brand-mark,.week-pill{border:3px solid var(--ink);border-radius:14px;background:var(--aqua);color:var(--ink)}.week-pill{display:grid;grid-gap:2px;gap:2px;min-width:245px;padding:11px 17px;box-shadow:5px 5px 0 var(--ink);text-align:center}.week-pill small{font-size:9px;font-weight:900;letter-spacing:1.6px}.week-pill strong{font-size:15px;letter-spacing:.35px}.toast{position:fixed;right:24px;top:22px;z-index:20;max-width:440px;padding:14px 17px;border:2px solid var(--ink);border-radius:13px;box-shadow:5px 5px 0 var(--ink);font-weight:800}.toast button{border:0;background:transparent;float:right;margin-left:18px;font-weight:900}.toast.error{background:#ffe8e9;color:#7c2630}.toast.success{background:#ddf8e9;color:#145b3d}.welcome{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.7fr);grid-gap:65px;gap:65px;align-items:center;min-height:570px}.kicker{display:inline-block;font-size:11px;letter-spacing:1.6px;font-weight:900;color:#685ba6}.dashboard-head h1,.editor-head h1,.welcome h1{font-size:57px;line-height:1.04;letter-spacing:-2.6px;margin:15px 0}.welcome h1 em{font-style:normal;color:var(--purple);text-decoration:underline;-webkit-text-decoration-color:var(--yellow);text-decoration-color:var(--yellow);text-decoration-thickness:9px;text-underline-offset:-3px}.dashboard-head p,.editor-head p,.welcome-copy>p{max-width:620px;color:#67647b;font-size:17px;line-height:1.6}.teacher-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:11px;gap:11px;max-width:680px;margin-top:30px;padding:21px;background:#fff;border:3px solid var(--ink);border-radius:18px;box-shadow:7px 7px 0 var(--ink)}.teacher-picker label{grid-column:1/-1;font-weight:900}.teacher-picker select{min-width:0;padding:14px 15px;border:2px solid #aaa5c2;border-radius:10px;background:white;color:var(--ink);outline-color:var(--purple)}.change-button,.primary-button,.secondary-button{border:2px solid var(--ink);border-radius:10px;padding:13px 18px;font-weight:900;transition:transform .15s,box-shadow .15s}.primary-button{background:var(--purple);color:#fff;box-shadow:4px 4px 0 var(--ink)}.primary-button:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--ink)}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{background:#eeeafd}.change-button,.secondary-button{color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.change-button{background:#fff}.mission-card{position:relative;background:#2e68ff;color:#fff;border:3px solid var(--ink);border-radius:23px;padding:36px 30px 28px;box-shadow:9px 9px 0 var(--ink);transform:rotate(1.5deg)}.mission-card:before{content:"";position:absolute;inset:11px;border:2px dashed #ffffff60;border-radius:14px;pointer-events:none}.mascot{position:absolute;right:25px;top:-39px;display:grid;place-items:center;width:78px;height:78px;border:3px solid var(--ink);border-radius:24px 24px 18px 18px;background:var(--yellow);color:var(--ink);font-size:38px;font-weight:900;box-shadow:5px 5px 0 var(--ink);transform:rotate(6deg)}.form-intro span,.mission-card>span,.tip-card>span{font-size:10px;font-weight:900;letter-spacing:1.6px}.mission-card h2{font-size:27px;line-height:1.2;margin:13px 60px 25px 0}.mission-step{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:12px 0;border-top:2px solid #ffffff3b}.mission-step b{display:grid;place-items:center;min-width:31px;height:31px;border-radius:9px;background:#fff;color:var(--blue);border:2px solid var(--ink)}.mission-step p{margin:0;font-weight:800}.dashboard-head,.editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:26px}.dashboard-head h1,.editor-head h1{font-size:45px;margin:8px 0}.dashboard-head p,.editor-head p{font-size:15px;margin:0}.progress-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:24px;gap:24px;padding:20px 24px;margin:28px 0;background:var(--yellow);border:3px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 var(--ink)}.progress-score{display:flex;align-items:center;gap:9px}.progress-score strong{font-size:48px;line-height:1}.progress-score>span{font-weight:900}.progress-score small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.7px}.progress-copy>b{display:block;margin-bottom:9px}.progress-track{height:15px;overflow:hidden;border:2px solid var(--ink);border-radius:999px;background:#fff}.progress-track span{display:block;height:100%;background:var(--green);border-right:2px solid var(--ink);transition:width .3s}.progress-badge{display:grid;place-items:center;width:58px;height:58px;border:3px solid var(--ink);border-radius:50%;background:#fff;font-weight:900;box-shadow:3px 3px 0 var(--ink)}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px}.course-card{--accent:var(--blue);position:relative;overflow:hidden;min-height:265px;padding:20px;border:3px solid var(--ink);border-radius:18px;background:#fff;color:var(--ink);text-align:left;box-shadow:6px 6px 0 var(--ink);transition:transform .15s,box-shadow .15s}.course-card:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--ink)}.course-card:before{content:"";position:absolute;right:-35px;top:-42px;width:130px;height:130px;border-radius:50%;background:var(--accent);opacity:.17}.course-card.color-0{--accent:#6d4aff}.course-card.color-1{--accent:#21b573}.course-card.color-2{--accent:#ff9b31}.course-card.color-3{--accent:#2e68ff}.course-card.color-4{--accent:#ee4d8f}.course-card.color-5{--accent:#08a8b6}.card-top,.course-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-top>span{font-size:11px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.course-number{display:grid;place-items:center;width:52px;height:52px;margin:28px 0 16px;border:3px solid var(--ink);border-radius:14px;background:var(--accent);color:#fff;font-size:20px;font-weight:900;box-shadow:3px 3px 0 var(--ink)}.course-card h2{font-size:20px;line-height:1.25;margin:0 0 8px}.course-card>p{min-height:35px;margin:0;color:#716d81;font-size:12px;line-height:1.4}.course-footer{position:absolute;left:20px;right:20px;bottom:18px;padding-top:13px;border-top:2px solid #ebe8f5;font-size:11px}.course-footer b{color:var(--accent)}.status{display:inline-flex;padding:6px 9px;border:2px solid var(--ink);border-radius:999px;background:#eeeaf8;color:#514d62;font-size:9px;font-weight:900;white-space:nowrap}.status.submitted{background:#bff1d8;color:#155b3c}.status.draft{background:#fff0b5;color:#664c00}.cycle-note{text-align:center;color:#78748d;font-size:12px;margin-top:30px}.empty-state{padding:45px;text-align:center;background:#fff;border:3px dashed #a8a2c5;border-radius:18px}.crumb{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px;color:#69657b;font-size:12px;font-weight:800}.crumb button{border:0;background:transparent;color:var(--purple);font-weight:900}.editor-head{align-items:center}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-gap:23px;gap:23px;align-items:start}.form-card{padding:27px;background:#fff;border:3px solid var(--ink);border-radius:19px;box-shadow:7px 7px 0 var(--ink)}.form-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:19px;border-bottom:2px solid #e8e5f2}.form-intro h2{font-size:25px;margin:5px 0 0}.form-intro>b{display:grid;place-items:center;width:58px;height:58px;border:3px solid var(--ink);border-radius:15px;background:var(--yellow)}.form-intro>b,.reuse-box{box-shadow:3px 3px 0 var(--ink)}.reuse-box{display:grid;grid-gap:14px;gap:14px;margin:-4px 0 27px;padding:18px;border:2px solid var(--ink);border-radius:14px;background:#f0edff}.reuse-box>div small,.reuse-box>div strong{display:block}.reuse-box>div small{margin-top:4px;color:#6c6780}.reuse-box>label>span{display:block;margin-bottom:6px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.reuse-box select{width:100%;padding:11px 12px;border:2px solid #9d96ba;border-radius:9px;background:#fff;color:var(--ink)}.reuse-box .apply-check{display:flex;align-items:flex-start;gap:9px;padding:11px;border-radius:9px;background:#fff;font-weight:800}.reuse-box .apply-check input{margin-top:2px;accent-color:var(--purple)}.reuse-box .apply-check span{margin:0;font-size:12px;text-transform:none;letter-spacing:0}.field-group{display:block;margin-bottom:23px}.field-group>span{display:flex;align-items:center;gap:10px;font-weight:900}.field-group>span b{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#e7e1ff;color:#5034d7}.field-group small{display:block;margin:7px 0 9px 37px;color:#777287}.field-group textarea{width:100%;min-height:96px;padding:14px;border:2px solid #bdb8cf;border-radius:11px;resize:vertical;line-height:1.5;outline-color:var(--purple)}.field-group textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6d4aff20}.form-actions{display:flex;justify-content:flex-end;gap:11px;padding-top:20px;border-top:2px solid #e8e5f2}.tip-card{position:-webkit-sticky;position:sticky;top:22px;padding:24px;background:#20243b;color:#fff;border:3px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 #7871ad}.tip-card h3{font-size:22px;margin:12px 0}.tip-card p{font-size:13px;line-height:1.6;color:#d5d2e4}.tip-progress{display:flex;align-items:center;gap:12px;margin:24px 0;padding:16px;border:2px solid #fff;border-radius:13px;background:#6d4aff}.tip-progress b{font-size:37px}.tip-progress span{font-size:11px;font-weight:900;text-transform:uppercase}.tip-card>small{color:#aaa6c0;line-height:1.5;display:block}button:focus-visible,select:focus-visible,textarea:focus-visible{outline:4px solid #ffbf00;outline-offset:3px}@media(max-width:850px){.welcome{grid-template-columns:1fr}.mission-card{display:none}.dashboard-head h1,.editor-head h1,.welcome h1{font-size:39px}.course-grid{grid-template-columns:1fr 1fr}.editor-layout{grid-template-columns:1fr}.tip-card{display:none}}@media(max-width:580px){.shell{padding:18px 15px 55px}.nav{margin-bottom:38px}.week-pill{font-size:8px}.welcome{min-height:auto}.dashboard-head h1,.editor-head h1,.welcome h1{font-size:34px;letter-spacing:-1.5px}.teacher-picker{grid-template-columns:1fr}.teacher-picker .primary-button{width:100%}.dashboard-head,.editor-head{flex-direction:column}.change-button{align-self:flex-start}.progress-card{grid-template-columns:auto 1fr}.progress-badge{display:none}.progress-score strong{font-size:38px}.course-grid{grid-template-columns:1fr}.form-card{padding:18px}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.kicker{color:#397583}.dashboard-head p,.editor-head p,.welcome-copy>p{color:#526b79}.teacher-picker select{border-color:#91afb5}.secondary-button{background:var(--aqua-soft)}.mission-card{background:var(--navy);box-shadow:9px 9px 0 #387b86}.mission-step b{color:var(--ink)}.mission-step b,.progress-card{background:var(--aqua)}.progress-track span{background:var(--navy)}.course-card.color-0{--accent:#118f9d}.course-card.color-1{--accent:#2f6fa8}.course-card.color-2{--accent:#189883}.course-card.color-3{--accent:#537f91}.course-card.color-4{--accent:#387b86}.course-card.color-5{--accent:#37679a}.course-card.color-6{--accent:#147b88}.course-card.color-7{--accent:#5b819d}.course-card.color-8{--accent:#237f72}.course-card.color-9{--accent:#346f78}.course-card>p,.crumb,.cycle-note{color:#526b79}.course-footer{border-color:#dbeaec}.status{background:#e7f1f2;color:#395463}.status.submitted{background:#c7eee7;color:#145548}.status.draft{background:#dff4f5;color:#215965}.form-actions,.form-intro{border-color:#dbeaec}.form-intro>b{background:var(--aqua)}.reuse-box{background:var(--aqua-soft)}.field-group small,.reuse-box>div small{color:#526b79}.field-group textarea,.reuse-box select{border-color:#91afb5}.field-group>span b{background:#d4eff1;color:#176773}.field-group textarea:focus{box-shadow:0 0 0 3px #63ccd238}.tip-card{background:var(--navy);box-shadow:6px 6px 0 #4b8c95}.tip-card p{color:#d5e6e9}.tip-progress{background:var(--purple)}.tip-card>small{color:#afc9ce}button:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--aqua)}@media(max-width:580px){.nav{align-items:flex-start;gap:15px}.week-pill{min-width:0;padding:9px 11px}.week-pill small{font-size:7px}.week-pill strong{font-size:11px}}