:root{color-scheme:light;--ink:#15231f;--paper:#f7f9f5;--grid:#c7d2ca;--field:#fff;--teal:#087f73;--signal:#d95d39;--muted:#53615c;--focus:#f4b942;background:var(--paper);color:var(--ink);font-family:Inter,Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(to right, transparent 31px, #c7d2ca47 32px, transparent 33px), var(--paper);background-size:32px 100%;min-width:320px;min-height:100vh;margin:0}a{color:inherit}button,input,select{font:inherit}button,input,select,a{border-radius:.35rem}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.site-header{border-bottom:1px solid var(--grid);justify-content:space-between;align-items:center;width:min(1180px,100% - 2rem);min-height:5rem;margin:0 auto;display:flex}.wordmark{letter-spacing:-.02em;font-family:Arial Narrow,Aptos Narrow,sans-serif;font-size:1.15rem;font-weight:800;text-decoration:none}.wordmark span{color:var(--teal)}nav{flex-wrap:wrap;gap:.25rem;display:flex}nav a{color:var(--muted);padding:.55rem .8rem;text-decoration:none}nav a[aria-current=page]{color:var(--ink);background:#e5efea}main{width:min(1180px,100% - 2rem);margin:0 auto;padding:clamp(2.2rem,6vw,5rem) 0}.site-footer{border-top:1px solid var(--grid);justify-content:space-between;align-items:start;gap:2rem;width:min(1180px,100% - 2rem);margin:clamp(3rem,8vw,7rem) auto 0;padding:2rem 0 2.5rem;display:flex}.footer-identity p{color:var(--muted);margin:.5rem 0 0;font-size:.86rem}.site-footer nav{justify-content:flex-end}.site-footer nav a{font-size:.86rem}.home-hero{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);align-items:end;gap:clamp(2rem,7vw,7rem);min-height:min(34rem,70vh);padding-bottom:clamp(3rem,7vw,6rem);display:grid}.home-hero h1{max-width:11ch}.home-hero .lede{margin:0 0 .3rem}.calculator-index{border-top:1px solid var(--grid);border-left:1px solid var(--grid);background:var(--field);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;box-shadow:8px 8px #dfe7e1}.calculator-card{border-right:1px solid var(--grid);border-bottom:1px solid var(--grid);border-radius:0;flex-direction:column;min-height:18rem;padding:clamp(1.3rem,4vw,2.5rem);text-decoration:none;display:flex}.calculator-card:hover{background:#f0f5f1}.card-formula{border-bottom:2px solid var(--teal);width:fit-content;color:var(--muted);padding-bottom:.45rem;font-family:SFMono-Regular,Cascadia Code,monospace;font-size:.76rem}.calculator-card h2{letter-spacing:-.045em;margin:auto 0 0;font-family:Arial Narrow,Aptos Narrow,sans-serif;font-size:clamp(2rem,4vw,3.4rem)}.calculator-card p{max-width:46ch;color:var(--muted);margin:.75rem 0 0;line-height:1.55}.card-action{color:var(--teal);margin-top:1.5rem;font-weight:750}.method-block{grid-template-columns:minmax(16rem,.8fr) minmax(20rem,1.2fr);align-items:center;column-gap:clamp(2rem,8vw,8rem);margin-top:clamp(4rem,10vw,9rem);display:grid}.method-block h2{letter-spacing:-.055em;margin:0;font-family:Arial Narrow,Aptos Narrow,sans-serif;font-size:clamp(2.8rem,7vw,6rem);line-height:.92}.method-block p{max-width:50ch;color:var(--muted);grid-column:2;margin:1.2rem 0 0;font-size:1.1rem;line-height:1.6}.method-rail{border-top:3px solid var(--ink);border-bottom:1px solid var(--grid);flex-wrap:wrap;align-items:center;gap:.65rem;padding:1.5rem 0;font-family:SFMono-Regular,Cascadia Code,monospace;font-size:.8rem;display:flex}.method-rail span{border:1px solid var(--grid);background:var(--field);padding:.55rem .7rem}.method-rail strong{color:var(--signal)}.prose-page{max-width:850px}.prose-page header{margin-bottom:clamp(3rem,8vw,6rem)}.prose-page h1,.not-found h1{max-width:12ch}.prose-page section{border-top:1px solid var(--grid);grid-template-columns:minmax(12rem,.38fr) minmax(0,.62fr);gap:2rem;padding:2rem 0;display:grid}.prose-page section h2{letter-spacing:-.035em;margin:0;font-family:Arial Narrow,Aptos Narrow,sans-serif;font-size:1.8rem}.prose-page section p{color:var(--muted);grid-column:2;margin:0;font-size:1.02rem;line-height:1.7}.prose-page section p+p{margin-top:-.9rem}.prose-page section a{color:var(--teal);text-underline-offset:.2em}.not-found{align-content:center;justify-items:start;min-height:55vh;display:grid}.error-code{color:var(--teal);letter-spacing:.1em;margin:0 0 1rem;font-family:SFMono-Regular,Cascadia Code,monospace;font-weight:800}.primary-link{background:var(--teal);color:#fff;margin-top:1.5rem;padding:.8rem 1rem;font-weight:750;text-decoration:none}.page-heading{max-width:780px;margin-bottom:2.4rem}.eyebrow{color:var(--teal);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .75rem;font-family:SFMono-Regular,Cascadia Code,monospace;font-size:.76rem;font-weight:700}h1{letter-spacing:-.065em;max-width:10ch;margin:0;font-family:Arial Narrow,Aptos Narrow,sans-serif;font-size:clamp(3.2rem,9vw,7.4rem);line-height:.86}.lede{max-width:62ch;color:var(--muted);margin:1.4rem 0 0;font-size:clamp(1rem,2vw,1.22rem);line-height:1.55}.workspace{border:1px solid var(--grid);background:var(--field);grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);display:grid;box-shadow:8px 8px #dfe7e1}.input-panel,.result-panel{min-width:0;padding:clamp(1rem,3vw,2rem)}.result-panel{border-left:1px solid var(--grid);background:#f0f5f1;align-self:stretch}.mode-switch{background:#e8eeea;border-radius:.5rem;width:fit-content;margin-bottom:1.4rem;padding:.25rem;display:flex}.mode-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.65rem .85rem}.mode-switch button[aria-pressed=true]{background:var(--field);color:var(--ink);box-shadow:0 1px 3px #15231f26}.rows{gap:.8rem;display:grid}.data-row{border:1px solid var(--grid);grid-template-columns:1fr 1fr auto;align-items:end;gap:.7rem;margin:0;padding:.9rem;display:grid}.data-row legend{color:var(--teal);padding:0 .3rem;font-family:SFMono-Regular,Cascadia Code,monospace;font-size:.75rem}label{color:var(--muted);gap:.35rem;font-size:.78rem;font-weight:650;display:grid}input,select{background:var(--field);width:100%;min-height:2.75rem;color:var(--ink);border:1px solid #91a199;padding:.65rem .7rem}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--signal)}.check-label{align-items:center;gap:.45rem;margin-top:.55rem;display:flex}.check-label input{width:1rem;min-height:1rem}.row-remove,.quiet-button{border:1px solid var(--grid);color:var(--muted);cursor:pointer;background:0 0;min-height:2.75rem;padding:.55rem .7rem}.row-remove:disabled{opacity:.35;cursor:not-allowed}.form-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.1rem;display:flex}.single-form{gap:.9rem;display:grid}.assumption-box{border:1px solid var(--grid);border-left:4px solid var(--teal);background:#f7faf8;margin-bottom:1.3rem;padding:1rem}.assumption-box h2{margin:0;font-size:1rem}.assumption-box p,.result-message{color:var(--muted);margin:.6rem 0 0;line-height:1.55}.grading-chart{border:1px solid var(--grid);background:var(--field);margin-top:2.5rem;padding:clamp(1rem,3vw,2rem);box-shadow:8px 8px #dfe7e1}.chart-heading-row{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.2rem;display:flex}.chart-heading-row h2{letter-spacing:-.045em;margin:0;font-family:Arial Narrow,Aptos Narrow,sans-serif;font-size:clamp(2rem,5vw,4rem)}.chart-heading-row p:not(.eyebrow),.formula-note{color:var(--muted);margin:.6rem 0 0;line-height:1.5}.formula-note{font-family:SFMono-Regular,Cascadia Code,monospace;font-size:.82rem}.table-wrap{border:1px solid var(--grid);margin-top:1.2rem;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:32rem}th,td{border-bottom:1px solid var(--grid);text-align:right;padding:.7rem 1rem}th{color:var(--ink);background:#e8eeea;font-size:.78rem}th:first-child,td:first-child{text-align:left}td{font-family:SFMono-Regular,Cascadia Code,monospace}tbody tr:last-child td{border-bottom:0}.print-only{display:none}.result-message{min-height:3.1em;margin:-.8rem 0 1.5rem}.primary-button{border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer;min-height:2.9rem;padding:.65rem 1rem;font-weight:750}.error-summary{border-left:4px solid var(--signal);background:#fff0eb;margin-bottom:1rem;padding:.8rem}.error-summary:empty{display:none}.result-label{color:var(--muted);margin:0;font-size:.85rem;font-weight:700}.result-number{letter-spacing:-.06em;color:var(--teal);margin:.15rem 0 1.5rem;font-family:Arial Narrow,Aptos Narrow,sans-serif;font-size:clamp(3.5rem,8vw,6.5rem);font-weight:800;line-height:1}.result-number[data-empty=true]{color:#87958e;border-left:2px solid var(--grid);letter-spacing:0;align-items:center;min-height:5rem;margin-top:.55rem;padding-left:.85rem;font-family:Inter,Aptos,Segoe UI,sans-serif;font-size:.92rem;font-weight:650;line-height:1.5;display:flex}.rail{border-top:2px solid var(--ink);flex-wrap:wrap;align-items:center;gap:.45rem;margin:1rem 0 1.4rem;padding-top:1.1rem;font-family:SFMono-Regular,Cascadia Code,monospace;font-size:.78rem;display:flex;position:relative}.rail-chip{border:1px solid var(--grid);background:var(--field);padding:.4rem .5rem}.rail-operator{color:var(--signal);font-weight:800}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1.2rem 0;display:grid}.result-stat{border:1px solid var(--grid);padding:.75rem}.result-stat span{color:var(--muted);font-size:.72rem;display:block}.result-stat strong{margin-top:.25rem;display:block}.note{color:var(--muted);font-size:.82rem;line-height:1.5}.feedback{border-top:1px solid var(--grid);margin-top:1.5rem;padding-top:1.25rem}.feedback p{margin:0;font-size:.88rem;font-weight:700}.feedback-actions,.feedback-reasons{flex-wrap:wrap;gap:.5rem;margin-top:.7rem;display:flex}.feedback button{border:1px solid var(--grid);background:var(--field);min-height:2.4rem;color:var(--ink);cursor:pointer;padding:.5rem .7rem}.feedback button:hover{border-color:var(--teal)}.feedback-status{color:var(--muted);line-height:1.5}.scale-editor{border-top:1px solid var(--grid);margin-top:1.3rem;padding-top:1.1rem}.scale-editor summary{cursor:pointer;font-weight:750}.scale-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-top:.9rem;display:grid}.scale-pair{grid-template-columns:1fr;gap:.35rem;display:grid}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}@media (width<=760px){.site-header{min-height:4.25rem}main{padding-top:2.5rem}.workspace{grid-template-columns:1fr}.result-panel{border-left:0;border-top:1px solid var(--grid)}.data-row{grid-template-columns:1fr 1fr}.row-remove{grid-column:1/-1;justify-self:start}.scale-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-hero{grid-template-columns:1fr;min-height:0}.home-hero .lede{margin-top:0}.method-block{grid-template-columns:1fr}.method-rail,.method-block p{grid-column:1;margin-top:2rem}}@media (width<=430px){body{background-size:24px 100%}.site-header,main{width:min(100% - 1rem,1180px)}h1{font-size:3.4rem}.input-panel,.result-panel{padding:.85rem}.data-row,.result-grid{grid-template-columns:1fr}.scale-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{flex-wrap:wrap;padding:.7rem 0}.site-header nav{border-top:1px solid var(--grid);order:2;width:100%;margin-top:.6rem;padding-top:.55rem}.site-header nav a{text-align:center;flex:auto;padding:.45rem}.site-footer{flex-direction:column}.site-footer nav{justify-content:flex-start;width:100%}.site-footer nav a{padding-left:0}.calculator-index{grid-template-columns:1fr}.calculator-card{min-height:15rem}.prose-page section{grid-template-columns:1fr;gap:1rem}.prose-page section p{grid-column:1}.chart-heading-row{flex-direction:column;align-items:start}.grading-chart table{min-width:0}.grading-chart th,.grading-chart td{padding:.6rem .4rem}.grading-chart th{font-size:.7rem}}@media print{@page{margin:.55in}.test-grader-page{background:#fff}.test-grader-page .site-header,.test-grader-page .page-heading,.test-grader-page .workspace,.test-grader-page .print-button{display:none!important}.test-grader-page main{width:100%;padding:0}.test-grader-page .grading-chart{box-shadow:none;border:0;margin:0;padding:0;display:block!important}.test-grader-page .print-only{display:block}.test-grader-page .eyebrow{display:none}.test-grader-page .table-wrap{overflow:visible}.test-grader-page table{min-width:0}.test-grader-page thead{display:table-header-group}.test-grader-page tr{break-inside:avoid}.test-grader-page th,.test-grader-page td{padding:.24rem .55rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
