@charset "UTF-8";
:root{color-scheme:light;--bg:#f3f5fc;--paper:#fff;--ink:#15213b;--muted:#526079;--line:#d2d8e6;--blue:#203bbf;--soft:#e9edff;--shadow:0 20px 70px #11245812;--green:#d1f5df;--green-ink:#125636;--amber:#fff0bf;--amber-ink:#704500;--red:#ffe0e4;--red-ink:#8d1731;--pending:#e8eafa;--pending-ink:#454f79}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.5}body.dark{color-scheme:dark;--bg:#10182b;--paper:#1a253c;--ink:#f3f5ff;--muted:#bfcae1;--line:#485574;--blue:#a7b7ff;--soft:#283659;--shadow:none;--green:#183f30;--green-ink:#aeedc5;--amber:#4d3915;--amber-ink:#ffe29a;--red:#54293b;--red-ink:#ffc1cb;--pending:#303a5a;--pending-ink:#d1d8fa}
button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{touch-action:manipulation}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button:focus-visible.area-card{outline-color:var(--ink)}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15}h1{font-size:clamp(2.3rem,4.7vw,4rem);letter-spacing:-.055em;font-weight:750}h2{font-size:1.6rem;letter-spacing:-.035em}h3{font-size:1.1rem}small{font-size:.875rem}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:750}.skip{position:absolute;top:-100px;left:16px;padding:12px;background:var(--paper);z-index:50}.skip:focus{top:8px}.demo-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#15213b;color:#fff;padding:9px max(24px,calc((100% - 1240px)/2));font-size:.75rem}.demo-banner strong{font-size:.7rem;letter-spacing:.13em}.banner-detail{margin-left:18px;color:#d7dff1}.demo-banner button{background:none;color:white;text-decoration:underline;text-underline-offset:4px;font-size:.75rem;min-height:28px;white-space:nowrap}.masthead{max-width:1288px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:800;letter-spacing:.07em;font-size:.875rem}.brand>span:last-child>span{display:block;font-size:.75rem;color:var(--muted);font-weight:500;letter-spacing:0;margin-top:3px}.brand-mark{background:#203bbf;color:white;border-radius:10px;padding:7px 10px;font-size:1rem;line-height:1;letter-spacing:-.03em;transform:rotate(-5deg)}.brand-mark span{display:block;font-size:.7rem;letter-spacing:.13em;margin-top:3px}.header-controls{display:flex;align-items:center;gap:8px}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--line);border-radius:50%;flex-shrink:0}.icon-button svg{width:20px;height:20px}.account-button{display:flex;align-items:center;gap:9px;background:none;font-size:.875rem;padding:0 0 0 8px}.account-button>span:first-child{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#ddec83;color:#24330e;font-size:.75rem;font-weight:750}.preview-controls{max-width:1240px;margin:0 auto;padding:0 0 21px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line)}.role-switch{display:flex;border:1px solid var(--line);padding:4px;border-radius:100px;background:var(--paper)}.role-switch button{min-height:36px;padding:6px 20px;background:none;border-radius:100px;font-size:.875rem;font-weight:650}.role-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.preview-date{margin-left:auto;font-size:.75rem;color:var(--muted)}main{max-width:1240px;margin:auto;min-height:600px;outline:none}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:34px 0 28px;gap:25px}.intro .eyebrow{color:var(--blue);margin-bottom:12px}.intro h1 em{font-style:normal;color:var(--blue)}.intro p{color:var(--muted);margin-top:12px;max-width:600px}.progress-summary{min-width:235px;max-width:300px;border-left:1px solid var(--line);padding-left:28px}.progress-summary .big{font-size:3.5rem;line-height:1;font-weight:750;letter-spacing:-.06em}.progress-summary .big span{font-size:1.75rem;color:var(--muted);font-weight:400}.progress-summary p{font-size:.875rem;margin:6px 0 12px}.six-marks{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.six-marks span{height:7px;background:var(--line);border-radius:2px}.six-marks span:first-child{background:#138a58}.section-nav{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:18px}.section-nav button{background:none;padding:14px 0;border-bottom:3px solid transparent;font-weight:650;font-size:.9375rem;color:var(--muted);white-space:nowrap}.section-nav button[aria-current=page]{color:var(--ink);border-color:var(--blue)}.section-nav .count{background:var(--soft);padding:1px 6px;border-radius:5px;margin-left:4px;font-size:.75rem;color:var(--blue)}.lesson-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:13px 18px;margin-bottom:26px;font-size:.875rem}.lesson-main{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.lesson-strip .lesson-icon{display:grid;place-items:center;width:33px;height:33px;background:var(--soft);border-radius:8px;color:var(--blue)}.lesson-strip .lesson-icon svg{width:19px}.lesson-strip .eyebrow{color:var(--blue);font-size:.7rem}.lesson-strip button{background:none;color:var(--blue);font-size:.875rem;font-weight:650;white-space:nowrap;min-height:36px}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.area-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;position:relative;padding:22px;min-height:238px;border-radius:17px;color:#13213a;box-shadow:0 4px 0 #00000006;transition:transform .2s,box-shadow .2s;overflow:hidden;border:1px solid #00000012}.area-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #14254118}.area-card:nth-child(1){background:#c5ef72}.area-card:nth-child(2){background:#ffc45d}.area-card:nth-child(3){background:#bcb1ff}.area-card:nth-child(4){background:#75dce9}.area-card:nth-child(5){background:#ffafc8}.area-card:nth-child(6){background:#a9caff}.area-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.area-symbol{display:grid;place-items:center;width:43px;height:43px;border:1px solid #13213a5c;border-radius:12px}.area-symbol svg{width:25px;height:25px}.area-number{font-size:.75rem;font-weight:700;opacity:.75}.area-card h2{font-size:1.5rem;max-width:90%;margin-bottom:7px}.area-card .area-tagline{font-size:.875rem;margin-bottom:19px}.area-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.status{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:5px 9px;font-size:.8125rem;font-weight:700;line-height:1.4;max-width:100%}.status.achieved{background:var(--green);color:var(--green-ink)}.status.progress{background:var(--amber);color:var(--amber-ink)}.status.support{background:var(--red);color:var(--red-ink)}.status.pending{background:var(--pending);color:var(--pending-ink)}.area-card .status{background:#fffffff0;color:#13213a}.status-mark{font-size:.875rem}.open-arrow{font-size:1.4rem;line-height:1}.area-caption{display:flex;justify-content:space-between;gap:20px;padding:20px 0 0;font-size:.8125rem;color:var(--muted)}.area-caption p{max-width:780px}.site-footer{max-width:1240px;margin:50px auto 105px;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:22px;align-items:center;font-size:.75rem;color:var(--muted)}.site-footer>span:first-child{font-weight:750;white-space:nowrap;color:var(--ink);letter-spacing:.07em}.site-footer>span:last-child{margin-left:auto;white-space:nowrap}.ask-launcher{position:fixed;bottom:24px;right:28px;padding:15px 24px;border:1px solid #879bf4;border-radius:100px;background:#203bbf;color:#fff;font-weight:700;box-shadow:0 7px 30px #142d8d30;display:flex;gap:10px;align-items:center;z-index:5}.ask-launcher:hover{background:#152997}.surface{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:26px 0 20px}.section-heading p{color:var(--muted);font-size:.9375rem;margin-top:9px}.notice{border-left:3px solid var(--blue);padding:12px 16px;background:var(--soft);font-size:.875rem;color:var(--ink);line-height:1.6;border-radius:0 8px 8px 0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;min-height:46px;border-radius:9px;font-size:.9375rem;font-weight:650}.primary{background:#203bbf;color:#fff}.primary:hover{background:#152997}.secondary{background:var(--paper);border:1px solid var(--line)}.text-button{background:none;color:var(--blue);font-weight:650;min-height:44px;padding:7px 0;text-align:left}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 28px;border-bottom:1px solid var(--line)}dialog{border:1px solid var(--line);padding:0;border-radius:21px;background:var(--paper);color:var(--ink);width:min(740px,calc(100% - 32px));max-height:90dvh;box-shadow:0 30px 120px #0005}dialog::backdrop{background:#101b36a6;backdrop-filter:blur(4px)}#dialog-content{padding:28px}.dialog-title{font-size:2.1rem;letter-spacing:-.04em;margin:0 0 14px}.dialog-subtitle{color:var(--muted);margin:13px 0 22px}.task-list{list-style:none;padding:0;margin:20px 0}.task-row{display:flex;align-items:flex-start;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:0}.task-state{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;border-radius:50%;background:var(--soft);color:var(--muted);font-weight:700}.task-row.done .task-state{background:var(--green);color:var(--green-ink)}.task-copy{flex:1;min-width:0}.task-copy h3{font-size:1rem;line-height:1.4}.task-copy p{color:var(--muted);font-size:.875rem;margin-top:6px}.task-label{font-size:.75rem;font-weight:700;display:block;margin-top:6px}.next-step{background:var(--soft);border-radius:12px;padding:22px}.next-step .eyebrow{color:var(--blue)}.next-step p{margin:8px 0 15px}.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);padding:14px 20px;background:var(--ink);color:var(--paper);border:1px solid var(--line);border-radius:12px;max-width:calc(100% - 32px);z-index:20;font-size:.875rem}.toast[hidden]{display:none}
.parent-note{margin-bottom:24px}.small-note{font-size:.8125rem;color:var(--muted);margin-top:12px;line-height:1.6}.plain-list{padding-left:23px;line-height:1.65;margin:22px 0}.plain-list li+li{margin-top:10px}.parent-continue{margin-top:22px}.area-card .status.achieved{background:#e3ffeb;color:#125636}.area-card .status.progress{background:#fff4d1;color:#704500}.area-card .status.support{background:#fff0f3;color:#8d1731}.area-card .status.pending{background:#f0eeff;color:#454576}.badge-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:22px}.earned-badge{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 24px;background:var(--paper)}.badge-seal{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;width:150px;height:150px;border-radius:50%;background:#c5ef72;color:#253f15;border:8px double #32551e;margin-bottom:24px;box-shadow:0 0 0 7px #c5ef7233}.badge-seal>svg{width:36px;height:36px;margin-bottom:8px}.badge-seal>span:not(.seal-check){font-size:.75rem;font-weight:800;letter-spacing:.12em;line-height:1.3}.seal-check{position:absolute;right:-9px;bottom:1px;background:#125636;color:white;width:37px;height:37px;display:grid;place-items:center;border:3px solid var(--paper);border-radius:50%;font-size:1rem}.earned-badge h2{margin:10px 0}.earned-badge>p{font-size:.875rem;color:var(--muted);margin-bottom:16px}.earned-badge .text-button{margin-top:14px}.recognition{background:#203bbf;color:white;border:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:35px}.recognition h2{font-size:2.5rem;letter-spacing:-.045em;margin:15px 0}.recognition>p{max-width:490px;color:#e7ecff}.recognition .eyebrow{color:#d5ddff}.recognition>p.muted{font-size:.875rem;color:#e7ecff;margin:15px 0 20px}.recognition .secondary{background:white;color:#203bbf;border-color:white}.assembly-ticket{width:100%;display:flex;justify-content:space-between;gap:20px;padding:20px 0;margin-top:19px;border-block:1px dashed currentColor}.assembly-ticket>div{display:flex;flex-direction:column;gap:5px}.assembly-ticket strong{font-size:1.2rem}.assembly-ticket>div>span:last-child{font-size:.875rem}.ticket-status{font-size:.75rem;font-weight:750;align-self:center;border:1px solid currentColor;border-radius:100px;padding:5px 12px}.badge-shelf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.badge-tile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 12px;gap:13px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.badge-tile:hover{border-color:var(--blue)}.badge-tile strong{font-size:.9375rem;min-height:45px;line-height:1.35}.badge-tile .muted{font-size:.8125rem}.badge-tile .status{font-size:.75rem}.outline-seal{display:grid;place-items:center;width:62px;height:62px;border:2px dashed var(--muted);border-radius:50%;color:var(--muted)}.outline-seal svg{width:28px;height:28px}.day-switch{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:24px 0}.day-switch button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:13px 6px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.day-switch strong{font-size:1.6rem;line-height:1.2}.day-switch span{font-size:.9375rem}.day-switch small{font-size:.75rem}.day-switch button[aria-pressed=true]{background:#203bbf;border-color:#203bbf;color:white}.timetable-surface .section-heading{margin-top:0}.timetable-surface .section-heading h2{font-size:1.4rem}.lesson-row{display:flex;gap:24px;align-items:center;padding:26px 0;border-top:1px solid var(--line)}.time-column{display:flex;flex-direction:column;gap:2px;min-width:65px}.time-column span{font-size:.875rem;color:var(--muted)}.lesson-detail{flex:1;border-left:3px solid var(--blue);padding-left:20px}.lesson-detail h3{font-size:1.2rem}.lesson-detail p{font-size:.9375rem;color:var(--muted);margin-top:6px}.lesson-detail p.room-change{color:var(--amber-ink);background:var(--amber);padding:5px 9px;border-radius:6px;display:inline-block;font-size:.8125rem}.lesson-state{font-size:.8125rem;color:var(--muted);white-space:nowrap}.lesson-state.next{background:var(--soft);color:var(--blue);border-radius:6px;padding:6px 12px;font-weight:650}.timetable-stamp{border-top:1px solid var(--line);padding-top:18px;font-size:.8125rem}.pm-intro h1{font-size:clamp(2.2rem,4.2vw,3.5rem)}.pm-filter{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 20px}.pm-filter button{display:flex;align-items:center;gap:10px;padding:10px 15px;min-height:44px;border:1px solid var(--line);border-radius:100px;font-size:.875rem;background:var(--paper)}.pm-filter button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pm-filter button span{font-size:.75rem;opacity:.8}.pm-records{display:grid;gap:14px}.pm-record{display:grid;grid-template-columns:220px 1fr 190px;align-items:start;gap:25px;padding:26px;background:var(--paper);border:1px solid var(--line);border-radius:16px}.person{display:flex;gap:12px;align-items:center}.person-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--soft);color:var(--blue);font-weight:700;font-size:.8125rem;flex-shrink:0}.person h2{font-size:1.1rem;line-height:1.3}.person p{font-size:.8125rem;color:var(--muted);margin-top:4px}.record-body h3{margin:13px 0 8px;font-size:1.15rem}.record-body>p{font-size:.9375rem;color:var(--muted);line-height:1.6}.record-area{display:block;margin-top:14px;font-size:.8125rem;font-weight:650;color:var(--blue)}.record-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.record-actions .secondary{font-size:.875rem}.record-actions small{color:var(--muted);font-size:.75rem;text-align:right}.notification{padding:23px 0;border-bottom:1px solid var(--line)}.notification:last-child{border:0;padding-bottom:0}.notification h3{font-size:1.2rem;margin:10px 0}.notification p{color:var(--muted);font-size:.9375rem}.notification .eyebrow{color:var(--blue)}.signin-choices{display:grid;gap:12px;margin-bottom:22px}.signin-choices button{display:flex;align-items:flex-start;flex-direction:column;gap:4px;padding:16px 18px;text-align:left}.signin-choices span{font-weight:400;font-size:.875rem;color:var(--muted)}.question-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.question-chips button{font-size:.8125rem;background:var(--soft);color:var(--blue);border:1px solid var(--line);border-radius:100px;padding:10px 13px;min-height:40px;text-align:left}.chat-log{max-height:360px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;line-height:1.7}.chat-log:empty{display:none}.user-message{background:var(--soft);border-radius:12px 12px 0 12px;padding:16px 20px;margin-left:35px;margin-bottom:15px}.user-message .eyebrow{color:var(--blue)}.user-message p,.hq-message p{margin-top:8px;font-size:.9375rem;overflow-wrap:anywhere}.hq-message{padding:4px 0 22px;margin-bottom:16px;border-bottom:1px solid var(--line)}.hq-message .eyebrow{color:var(--blue)}.hq-message small{color:var(--muted);display:block;font-size:.75rem;margin-top:12px}.hq-message .text-button{display:block;font-size:.875rem}.ask-form{margin-top:18px}.ask-form label{display:block;font-weight:650;font-size:.875rem;margin-bottom:8px}.ask-form>div{display:flex;gap:9px}.ask-form input{min-width:0;flex:1;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:12px;font-size:1rem}.ask-form input::placeholder{color:var(--muted)}button:disabled{opacity:.65}.dialog-title:focus{outline:none}
/* Completion is independent from the staff-assessed progress signal. */
.preview-controls{flex-wrap:wrap}.scenario-control{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--muted)}.scenario-control select{min-height:44px;max-width:100%;padding:8px 30px 8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}
.progress-summary{flex:0 0 300px;max-width:320px}.progress-summary .completion-label{font-size:.875rem;line-height:1.4;margin:0 0 10px;color:var(--ink)}.completion-label strong{font-size:2.25rem;letter-spacing:-.05em;margin-right:5px;white-space:nowrap}.six-marks{gap:6px}.six-marks span,.six-marks span:first-child{display:grid;place-items:center;height:24px;border:1px solid var(--muted);background:var(--paper);color:var(--muted);border-radius:5px;font-size:1rem;font-weight:750;line-height:1}.six-marks span.complete,.six-marks span.complete:first-child{background:#147d49;border-color:#147d49;color:#fff}.summary-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;font-size:.875rem}.summary-details{background:none;color:var(--blue);font-size:.875rem;text-align:left;padding:7px 0;min-height:40px;font-weight:650}.progress-summary .passport-celebration{margin:12px 0 0;color:var(--green-ink);background:var(--green);padding:10px 12px;border-radius:8px;font-weight:750;font-size:.9375rem}
.status.ontrack{background:var(--green);color:var(--green-ink)}.status.action{background:var(--amber);color:var(--amber-ink)}.status.pending,.status.unassessed{background:var(--soft);color:var(--muted)}.area-card .status.ontrack{background:#e3ffeb;color:#125636}.area-card .status.action{background:#fff4d1;color:#704500}.area-card .status.pending,.area-card .status.unassessed{background:#eef0f5;color:#46516a}.area-signals{display:flex;flex-wrap:wrap;align-items:flex-start;gap:7px}.area-card .area-signals{flex-direction:column}.evidence-label{display:block;font-size:.875rem;font-weight:600;line-height:1.4}.evidence-label span{font-size:1rem;margin-right:4px}.badge-tile .evidence-label{color:var(--muted)}.detail-signals{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:.875rem}.detail-signals>span{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.progress-guidance{order:-1;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:12px;padding:17px 20px;margin-bottom:20px}.progress-guidance.action{border-left-color:var(--amber-ink)}.progress-guidance.support{border-left-color:var(--red-ink)}.progress-guidance p{font-size:1rem;line-height:1.6;margin-top:8px;max-width:950px}.record-body .record-next{color:var(--ink);margin-top:10px}.notification p+p{margin-top:10px}.outline-seal.earned{border:2px solid var(--green-ink);color:var(--green-ink);background:var(--green)}
body.dark .six-marks span.complete{background:#62e89b;border-color:#62e89b;color:#113321}
@media(min-width:1440px){.area-card{min-height:260px}}
@media(max-width:1290px){main,.preview-controls,.site-footer{margin-left:24px;margin-right:24px}}
@media(max-width:900px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-date{display:none}.progress-summary{min-width:190px;padding-left:22px}.site-footer{flex-wrap:wrap}.site-footer>span:last-child{margin-left:0}.area-caption{display:block}.area-caption p+p{margin-top:7px}}
@media(max-width:580px){.demo-banner{padding:7px 16px}.banner-detail{display:none}.masthead{padding:20px 16px}.brand{font-size:.75rem;gap:9px}.brand>span:last-child>span{font-size:.7rem;max-width:135px}.account-label{display:none}.header-controls{gap:6px}.icon-button{width:40px;height:40px}.account-button{padding-left:0}.account-button>span:first-child{width:36px;height:36px}.brand-mark{padding:7px 8px}.preview-controls{margin:0 16px;padding-bottom:16px;justify-content:space-between}.role-switch button{padding:6px 18px}main{margin:0 16px}.intro{padding:25px 0 21px;display:block}.intro h1{font-size:2.5rem;max-width:370px}.intro p{font-size:.9375rem}.intro .eyebrow{font-size:.7rem}.progress-summary{border-left:0;padding:0;margin-top:19px;max-width:none;display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-items:center}.progress-summary .big{font-size:2rem;grid-row:1/3}.progress-summary .big span{font-size:1.3rem}.progress-summary p{margin:0 0 6px;font-size:.8125rem}.six-marks{max-width:270px}.section-nav{gap:25px;margin-bottom:15px}.section-nav button{font-size:.875rem;padding:12px 0}.lesson-strip{padding:12px;align-items:flex-start;gap:8px;margin-bottom:18px}.lesson-main{display:block;font-size:.8125rem}.lesson-icon{display:none!important}.lesson-main .eyebrow{display:block;margin-bottom:4px}.lesson-main .lesson-room{display:block;margin-top:3px;color:var(--muted)}.lesson-strip button{font-size:.8125rem}.area-grid{grid-template-columns:1fr;gap:14px}.area-card{min-height:210px;padding:20px}.area-top{margin-bottom:15px}.area-card h2{font-size:1.6rem}.area-card .area-tagline{margin-bottom:17px}.area-symbol{width:37px;height:37px}.area-symbol svg{width:22px}.area-card .area-top{position:relative}.area-caption{font-size:.75rem;padding-top:15px}.site-footer{margin:32px 16px 115px;gap:14px}.site-footer p{flex-basis:100%;max-width:350px}.ask-launcher{bottom:18px;right:16px;padding:13px 20px}.surface{padding:20px}.dialog-top{padding:15px 20px}#dialog-content{padding:22px 20px}.dialog-title{font-size:1.8rem}.next-step{padding:17px}.section-heading{align-items:flex-start}.section-heading h2{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:1000px){.badge-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-record{grid-template-columns:185px 1fr;gap:20px}.record-actions{grid-column:2;align-items:flex-start}.record-actions small{text-align:left}}
@media(max-width:700px){.badge-layout{grid-template-columns:1fr}.badge-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition{padding:25px}.recognition h2{font-size:2.1rem}.pm-record{grid-template-columns:1fr;padding:22px;gap:20px}.record-actions{grid-column:auto;flex-direction:row;align-items:center;justify-content:space-between}.timetable-surface .section-heading{display:block}.timetable-surface .eyebrow{display:block;margin-top:9px}.lesson-row{gap:14px}.lesson-detail{padding-left:13px}.lesson-detail h3{font-size:1.05rem}.lesson-state{font-size:.75rem}.lesson-state.next{padding:4px 7px}.lesson-detail p{font-size:.8125rem}}
@media(max-width:380px){.masthead{flex-wrap:wrap;gap:12px}.brand{flex:1}.brand>span:last-child>span{max-width:115px}.header-controls{gap:4px}.header-controls .icon-button{width:35px;height:35px}.account-button>span:first-child{width:33px;height:33px}.role-switch button{padding:6px 13px}.section-nav{gap:19px}.intro h1{font-size:2.15rem}.day-switch{gap:6px}.lesson-row{flex-wrap:wrap}.lesson-state{margin-left:79px}.assembly-ticket{gap:10px}.assembly-ticket strong{font-size:1.05rem}.record-actions{flex-direction:column;align-items:flex-start}}
/* Keep the working passport within reach before supporting information. */
.status,.badge-tile .status,.task-label{font-size:.875rem}.area-caption{font-size:.875rem}
.intro{padding:25px 0 20px}.intro h1{font-size:clamp(2.25rem,3.7vw,3.3rem);max-width:790px}.intro h1 em{display:inline-block}.intro .eyebrow{margin-top:0}.intro p{margin-top:9px}.progress-summary .big{font-size:3rem}.area-card{min-height:220px}.passport-surface{display:flex;flex-direction:column}.passport-surface .area-grid{order:0}.passport-surface .area-caption{order:1}.passport-surface .lesson-strip{order:2;margin-top:23px;margin-bottom:0}.passport-surface .parent-note{order:3;margin-top:16px;margin-bottom:0}
@media(max-width:580px){.masthead{padding-top:16px;padding-bottom:16px}.preview-controls{padding-bottom:13px}.intro{padding:20px 0 14px}.intro h1{font-size:2.25rem}.intro p{margin-top:8px}.progress-summary{margin-top:15px}.progress-summary .big{font-size:2rem}.progress-summary>p{font-size:.75rem;margin-top:5px}.section-nav{margin-bottom:15px}.area-card{min-height:204px}}
@media(max-width:900px){.progress-summary{flex-basis:280px;min-width:260px}.intro>div:first-child{min-width:0}}
@media(max-width:580px){.scenario-control{width:100%;margin:10px 0 0;justify-content:space-between}.scenario-control select{min-width:0;flex:1;max-width:240px}.progress-summary{display:block;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:14px 16px;min-width:0;max-width:none;margin-top:18px}.progress-summary .completion-label{font-size:.875rem;margin:0 0 10px}.completion-label strong{font-size:2rem}.six-marks{max-width:none}.summary-status{justify-content:flex-start;gap:12px}.progress-summary .passport-celebration{font-size:.9375rem;margin-top:12px}.progress-guidance{padding:16px}.progress-guidance p{font-size:1rem}.area-card .area-bottom{align-items:flex-end}}

.scenario-control select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

/* Attendance is a percentage illustration, never a badge eligibility target. */
.attendance-metric{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:22px;margin:0 0 24px}
.attendance-period{font-size:.875rem;color:var(--muted);font-weight:600;margin-bottom:8px}
.attendance-metric h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px;font-size:1.25rem;line-height:1.2;font-weight:600}
.attendance-metric h3 strong{font-size:3.5rem;letter-spacing:-.055em;color:var(--ink);font-weight:750}
.attendance-bar{display:block;appearance:none;-webkit-appearance:none;width:100%;height:14px;margin:18px 0 12px;border:1px solid var(--muted);border-radius:100px;overflow:hidden;background:var(--paper);color:var(--blue);accent-color:var(--blue)}
.attendance-bar::-webkit-progress-bar{background:var(--paper)}
.attendance-bar::-webkit-progress-value{background:var(--blue);border-radius:100px}
.attendance-bar::-moz-progress-bar{background:var(--blue);border-radius:100px}
.attendance-demo{font-size:.875rem;font-weight:650;color:var(--muted)}
.attendance-explanation{margin-bottom:22px}.attendance-explanation h3{font-size:1.1rem;margin-bottom:10px}.attendance-explanation p{font-size:1rem;line-height:1.6;color:var(--muted)}.attendance-explanation p+p{margin-top:10px}
.attendance-badge-note{margin-bottom:22px;font-size:.9375rem}
@media(max-width:580px){.attendance-metric{padding:18px}.attendance-metric h3 strong{font-size:3rem}}
