.editor-field-heading{align-items:flex-start;gap:6px;min-width:0;display:flex}.editor-field-heading>label{flex:0 auto;min-width:0}.help-bubble{z-index:1;flex:none;margin:0;font-size:13px;line-height:1.2;display:inline-block;position:relative}.help-bubble[open]{z-index:30}.help-bubble summary{color:#215d43;cursor:pointer;-webkit-user-select:none;user-select:none;background:#eef7f0;border:1px solid #89ac97;border-radius:50%;place-items:center;width:21px;min-width:21px;height:21px;padding:0;font-size:12px;font-weight:800;list-style:none;display:inline-grid}.help-bubble summary::-webkit-details-marker{display:none}.help-bubble summary::marker{content:""}.help-bubble summary:hover,.help-bubble[open] summary{background:#dceee2;border-color:#427f5a}.help-bubble summary:focus-visible{outline-offset:3px;outline:3px solid #be7c26}.help-bubble-content{color:#1c3730;text-align:left;white-space:normal;overflow-wrap:break-word;background:#fff;border:1px solid #b5d0bf;border-radius:11px;width:min(320px,100vw - 32px);padding:16px;font-size:13px;font-weight:400;line-height:1.5;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 14px 34px #12301f2e}.help-bubble-content strong{color:#144833;margin-bottom:8px;font-size:14px;display:block}.help-bubble-content p{margin:8px 0;font-size:13px;line-height:1.55}.help-bubble-content p span{font-weight:700}.help-bubble-content .help-bubble-caution{border-top:1px solid #e4ede6;padding-top:10px}.help-bubble-content small{color:#5f7568;margin-top:10px;font-size:11px;display:block}@media (width<=620px){.help-bubble-content{z-index:100;width:auto;max-height:65vh;position:fixed;inset:auto 16px 18px;overflow:auto}}.hypotheses-editor>.editor-description{max-width:850px;margin-bottom:24px}.editor-description{color:var(--muted);font-size:12px;line-height:1.75}.editor-module{border:1px solid var(--border);background:#fff;border-radius:8px;margin-top:18px;padding:23px}.editor-module>details>summary{font-size:15px}.editor-module>details>summary strong{font-size:11px;font-weight:500}.editor-resources{gap:18px;display:grid}.editor-resource{border:1px solid var(--border);background:#fafbf8;border-radius:6px;min-width:0;margin:0;padding:20px}.editor-resource>legend{color:var(--green);padding:0 7px;font-size:13px;font-weight:650}.editor-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.editor-field{flex-direction:column;align-items:stretch;gap:7px;min-width:0;display:flex}.editor-field label{font-size:11px;font-weight:600;line-height:1.5}.editor-field input,.editor-field select{color:#172d34;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #bccbc0;border-radius:4px;padding:11px 12px;font-size:13px;line-height:1.4}.editor-field input[aria-invalid=true],.editor-field select[aria-invalid=true]{border:2px solid #ac3327}.editor-field input:focus-visible,.editor-field select:focus-visible{outline-offset:2px;outline:3px solid #aa6a16}.editor-field-note{color:var(--muted);font-size:10px;line-height:1.6}.editor-field-error{color:#9b2b22;font-size:11px;line-height:1.6}.editor-add{margin-top:18px;font-size:12px}.editor-archive,.editor-secondary{color:var(--green);background:#fff;border:1px solid #b8cabb;padding:9px 12px;font-size:11px}.editor-archive{color:#7c3a25;border-color:#d4beb1;margin-top:18px}.editor-archive:hover{background:#f4e9e1}.editor-secondary:hover{background:#edf4eb}.editor-warning{color:#6b5027;background:#f8f1e1;border-left:3px solid #b3863e;padding:14px 18px;font-size:12px;line-height:1.7}.editor-proposal{background:#eef4eb;border-radius:5px;padding:16px 18px;font-size:12px;line-height:1.7}.editor-proposal p{margin:0 0 12px}.editor-operating-costs{border:1px solid var(--border);border-radius:5px;min-width:0;margin:24px 0 0;padding:16px}.editor-operating-costs>legend{padding:0 5px;font-size:12px;font-weight:600}.editor-operating-costs>.editor-field{max-width:650px;margin-bottom:18px}.editor-archives{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.editor-archives p{color:var(--muted);font-size:11px;line-height:1.7}.editor-archives ul{margin:0;padding:0;list-style:none}.editor-archives li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;font-size:12px;display:flex}.editor-archives li span{overflow-wrap:anywhere}.editor-archives button{flex-shrink:0}.editor-expense{padding-top:12px;padding-bottom:12px}.editor-expense .editor-archive{margin-top:12px}.editor-category-heading{border-top:1px solid var(--border);color:var(--green);margin:10px 0 0;padding-top:14px;font-size:14px}@media (width<=980px){.editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.editor-module{padding:16px}.editor-fields{grid-template-columns:1fr;gap:15px}.editor-resource{padding:15px}.editor-module>details>summary strong{margin-left:22px}.editor-operating-costs{padding:12px}.editor-archives li{flex-direction:column;align-items:flex-start;gap:8px}}.live-results{z-index:8;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#f8fbf8f7;border:1px solid #c8d8ce;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;padding:13px 20px;display:grid;position:sticky;top:0;box-shadow:0 6px 18px #0a2d1e14}.live-results div{flex-direction:column;gap:5px;min-width:0;display:flex}.live-results span{color:#4c655e;font-size:12px}.live-results strong{color:#184833;font-variant-numeric:tabular-nums;font-size:clamp(16px,2vw,24px)}.quick-panel{background:#fff;border:1px solid #d4dfd7;border-radius:16px;margin:20px 0 30px;padding:clamp(18px,2vw,30px);box-shadow:0 5px 18px #19342209}.quick-panel h2,.quick-panel h3{margin:6px 0 12px}.quick-panel p{line-height:1.6}.quick-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.quick-heading>div{flex:420px}.quick-heading p{margin:8px 0 16px}.quick-advanced{color:#206044;padding-top:10px;font-weight:650}.quick-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:12px 0 18px;display:grid}.quick-control{background:#f5f8f4;border-radius:12px;padding:18px}.quick-control label{justify-content:space-between;align-items:center;gap:12px;font-size:15px;line-height:1.4;display:flex}.quick-control output{white-space:nowrap;color:#194c36;font-size:22px;font-weight:700}.quick-control input[type=range]{accent-color:#23654c;cursor:pointer;width:100%;margin:20px 0 12px}.quick-control p{color:#4c6258;margin-bottom:0;font-size:13px}.quick-presets{flex-wrap:wrap;gap:8px;display:flex}.quick-presets button{padding:7px 13px;font-size:13px}.quick-diagnosis{background:#f3f8f3;border-left:3px solid #23654c;border-radius:4px;margin:18px 0;padding:12px 17px}.quick-diagnosis p{margin:7px 0 0;font-size:14px}.quick-scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.quick-scenario{color:#1c3a2e;text-align:left;background:#fff;border:1px solid #c9d9cd;border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.quick-scenario:hover{background:#eff6f0}.quick-scenario strong{font-size:22px}.quick-scenario small{font-size:12px;line-height:1.5}.quick-caveat{color:#5b665f;font-size:13px}.quick-details{background:#fafcf9;border:1px solid #e0e8e0;border-radius:8px;margin-top:18px;padding:14px}.quick-details summary{cursor:pointer;font-weight:650}@media (width<=720px){.live-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:10px}.quick-controls,.quick-scenario-grid{grid-template-columns:1fr}.quick-panel{padding:14px}}.quick-label{align-items:start;gap:9px;display:flex}.quick-label>label{flex:1}.help-heading{align-items:center;gap:8px;display:inline-flex}.teacher-roster{scroll-margin-top:5rem}.teacher-roster-table{border-collapse:collapse;width:100%;min-width:825px}.teacher-roster-table th,.teacher-roster-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e0e7e0;padding:11px}.teacher-roster-table th:first-child{min-width:128px}.teacher-roster-table th small,.teacher-roster-table td small{color:#53665b;margin-top:6px;font-size:12px;font-weight:400;display:block}.teacher-roster-table select{background:#fff;border:1px solid #c0d2c5;border-radius:7px;width:100%;max-width:170px;padding:8px 6px}.teacher-roster-table .editor-field{min-width:125px;margin:0}.teacher-roster-table .editor-field-heading label{font-size:12px}.teacher-roster-table .editor-field input{width:100%;min-width:95px}.teacher-roster-table .help-bubble{vertical-align:middle}.teacher-roster-table .roster-cost{white-space:nowrap;font-weight:650}.roster-missing{color:#5c6e65;font-size:13px}.roster-details{color:#1c6647;font-weight:700;text-decoration:underline}.roster-actions{flex-wrap:wrap;gap:12px;margin:18px 0;display:flex}.roster-actions button{width:auto}.hypotheses-editor .editor-resource[id^=teacher-]{scroll-margin-top:7rem}@media (width<=720px){.teacher-roster-table{min-width:800px}.teacher-roster .section-meta{font-size:12px}}.application-tools{color:#fff;background:#173e31;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 20px;font-size:12px;display:flex}.application-tools span{margin-right:14px;font-weight:600}.application-tools button{color:#fff;background:0 0;border:1px solid #b1c6b6;border-radius:5px;padding:10px 16px}.application-tools button:hover{background:#2e6049}.application-tools button[aria-pressed=true]{color:#173e31;background:#fff}[hidden]{display:none!important}@media (width<=600px){.application-tools{gap:8px}.application-tools span{text-align:center;width:100%;margin:0}.application-tools button{padding:9px 12px;font-size:11px}}:root{color:#172d34;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--muted:#60716e;--border:#dce3dc;--green:#23654c;background:#f6f7f4;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{min-width:320px;margin:0}a{color:inherit}button,input{font:inherit}button{color:#fff;cursor:pointer;background:#23654c;border:0;border-radius:6px;padding:12px 18px}button:hover{background:#174b38}button:disabled{opacity:.55;cursor:not-allowed}.workspace-toolbar{border:1px solid var(--border);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:flex-start;gap:16px 24px;margin-top:22px;padding:22px;display:flex}.workspace-identity{flex:260px}.workspace-identity label{margin-bottom:7px;font-size:12px;font-weight:600;display:block}.workspace-identity input{width:100%;min-width:0;color:inherit;background:#fff;border:1px solid #8c9f94;border-radius:5px;padding:10px 12px}.workspace-identity input[aria-invalid=true]{border-color:#a73129}.workspace-identity span[role=alert]{color:#9b2822;margin-top:6px;font-size:12px;display:block}.workspace-identity p{margin:8px 0 0;font-size:12px}.unsaved-state{color:#865309}.saved-state{color:var(--green)}.workspace-actions{flex-wrap:wrap;flex:450px;gap:8px;display:flex}.workspace-actions button{padding:11px 14px;font-size:12px}.secondary-button{color:#245b45;background:#edf3ee;border:1px solid #bacbbf}.secondary-button:hover{color:#173e2e;background:#dae8dd}.workspace-help{color:var(--muted);flex-basis:100%;margin:0;font-size:11px;line-height:1.7}.success-message{color:#1e6044;background:#eff7ee;border-radius:5px;flex-basis:100%;margin:0;padding:12px;font-size:12px;line-height:1.6}.validation-summary{color:#822e27;overflow-wrap:anywhere;background:#fff2ed;border:1px solid #d59c8d;border-radius:7px;width:100%;margin-top:22px;padding:18px;font-size:13px;line-height:1.7}.validation-summary h2{font-size:18px}.validation-summary p{margin:6px 0}.validation-summary ul{margin-bottom:0;padding-left:20px}.workspace-toolbar .validation-summary{margin:0}.workspace-identity input:focus-visible{outline-offset:3px;outline:3px solid #aa6a16}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #aa6a16}.site-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:32px;min-height:100px;padding:20px max(28px,50vw - 620px);display:flex}.brand{white-space:nowrap;align-items:center;gap:14px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.brand small{color:var(--muted);letter-spacing:.04em;margin-top:3px;font-size:11px;font-weight:400;display:block}.brand-mark{color:#fff;letter-spacing:-1px;background:#dd302f;border-radius:3px;padding:11px 8px;font-size:20px;font-weight:700}nav{align-items:center;gap:28px;font-size:13px;font-weight:500;display:flex}nav a{padding:12px 0;text-decoration:none}nav a:hover{color:var(--green);text-underline-offset:8px;text-decoration:underline}.status-pill{color:#325c45;white-space:nowrap;background:#edf4eb;border-radius:20px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-pill span{background:#52824c;border-radius:50%;width:6px;height:6px}main{max-width:1240px;margin:auto;padding:50px 28px 60px}.intro{justify-content:space-between;align-items:center;gap:44px;margin-bottom:30px;display:flex}.eyebrow{color:var(--green);letter-spacing:.13em;text-transform:uppercase;margin:0 0 13px;font-size:10px;font-weight:700}h1{letter-spacing:-.045em;margin:0 0 16px;font-size:clamp(32px,4vw,47px);font-weight:500;line-height:1.17}h1 span{color:var(--green)}.intro-copy{max-width:550px;color:var(--muted);margin:0;font-size:14px;line-height:1.7}.context-card{border:1px solid var(--border);background:#fff;border-radius:8px;flex:0 0 320px;margin:0;padding:21px 24px}.context-card div+div{margin-top:15px}.context-card dt{text-transform:uppercase;color:var(--muted);letter-spacing:.06em;margin-bottom:5px;font-size:10px}.context-card dd{text-transform:capitalize;margin:0;font-size:13px;font-weight:600}.analytical-notice{color:#63512f;background:#f3eee2;border-left:3px solid #b3863e;border-radius:0 5px 5px 0;padding:15px 19px;font-size:12px;line-height:1.7}.analytical-notice strong{font-weight:700}.section-block{margin-top:40px}.section-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:19px;display:flex}.section-heading .eyebrow{margin-bottom:7px}h2{letter-spacing:-.025em;margin:0;font-size:22px;font-weight:500}.section-meta{color:var(--muted);white-space:nowrap;font-size:11px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0;display:grid}.metric{border:1px solid var(--border);background:#fff;border-radius:8px;padding:23px}.metric dt{min-height:18px;font-size:12px;font-weight:500}.metric dd{letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:15px 0 9px;font-size:29px;font-weight:600;line-height:1.25}.metric p{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.metric-featured{color:#fff;background:#214e3d;border-color:#214e3d}.metric-featured p{color:#d1e0d6}.two-columns{grid-template-columns:1fr 1fr;align-items:stretch;gap:18px;display:grid}.panel{border:1px solid var(--border);background:#fff;border-radius:8px;padding:24px}h3{letter-spacing:-.01em;margin:0 0 22px;font-size:15px;font-weight:600}.panel p{font-size:12px;line-height:1.8}.panel .explanation{color:var(--muted);margin-bottom:0;font-size:11px;line-height:1.75}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e9ede7;padding:14px 0}th{font-weight:500}thead th{color:var(--muted);padding-top:0;font-size:10px;font-weight:400}th:not(:first-child),td:not(:first-child){padding-left:16px}th small{color:var(--muted);margin-top:4px;font-size:10px;font-weight:400;display:block}tfoot th,tfoot td{border-bottom:0;padding-bottom:0;font-weight:700}.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cost-list{margin:0;font-size:11px}.cost-list div{border-bottom:1px solid #e9ede7;justify-content:space-between;gap:20px;padding:12px 0;display:flex}.cost-list div:first-child{padding-top:0}.cost-list div:last-child{border-bottom:0}.cost-list dd{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.cost-list .total{padding-bottom:0;font-weight:700}.calculation-details{margin-top:18px}summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;font-size:12px;font-weight:600;list-style:none;display:flex}summary:before{content:"+";color:var(--green);font-size:18px;font-weight:400}summary span{flex:1}summary strong{color:var(--green);white-space:nowrap;font-size:12px}summary::-webkit-details-marker{display:none}details[open] summary{margin-bottom:22px}details[open] summary:before{content:"−"}.calculation-details .table-scroll{margin-top:22px}.calculation-details .cost-list{max-width:650px;margin-top:18px}.small-tag{color:var(--green);letter-spacing:.03em;background:#eef3ed;border-radius:3px;margin-bottom:13px;padding:5px 8px;font-size:9px;font-weight:700;display:inline-block}.scope-panel h3{margin-bottom:10px}.scope-panel p{margin:10px 0}footer{max-width:1184px;color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;gap:20px;margin:0 auto;padding:22px 0 30px;font-size:10px;display:flex}.skip-link{z-index:5;border:2px solid var(--green);background:#fff;border-radius:5px;padding:12px 20px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.state-panel{max-width:780px;padding-top:100px}.state-panel p{line-height:1.7}.state-panel .analytical-notice{margin-top:24px}.empty-state{border:1px solid var(--border);background:#fff;border-radius:5px;padding:16px;font-size:13px}@media (width<=980px){.site-header{flex-wrap:wrap;gap:20px;padding:20px 28px}nav{border-top:1px solid var(--border);order:3;justify-content:center;width:100%;padding-top:8px}.intro{gap:25px}.context-card{flex-basis:270px}.metric{padding:20px}.metric dd{font-size:25px}.panel{padding:20px}footer{margin:0 28px}}@media (width<=720px){main{padding:32px 20px 40px}.site-header{padding:17px 20px}.brand{gap:10px;font-size:14px}.status-pill{padding:7px 9px;font-size:10px}nav{justify-content:flex-start;gap:20px;font-size:11px}.intro{display:block}.context-card{flex-wrap:wrap;gap:20px;margin-top:24px;padding:18px;display:flex}.context-card div+div{margin-top:0}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:18px}.metric dt{min-height:32px;font-size:11px}.metric dd{margin-top:8px;font-size:23px}.two-columns{grid-template-columns:1fr}.section-heading{display:block}.section-meta{margin-top:8px;display:block}h2{font-size:20px}summary{flex-wrap:wrap;gap:10px}summary strong{width:100%;margin-left:22px}footer{flex-direction:column;gap:8px;margin:0 20px}}@media (width<=400px){.status-pill{display:none}.metric{padding:14px}.metric dd{font-size:21px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
