:root{--ink:#132030;--slate:#1d3247;--steel:#2f5677;--blue:#3d6f99;--sky:#a8c6dd;--mist:#dee8f0;--ground:#eaf0f5;--paper:#ffffff;--muted:#4c5d6d;--line:#b6c6d3;--line-soft:#d6e0e9;--amber:#8a5205;--amber-soft:#f3e3cd;--green:#1c6349;--red:#9c3126;--focus:#0a6a88;--radius:3px;--sans:"Inter","Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif;--mono:"SF Mono",SFMono-Regular,ui-monospace,Menlo,Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}html{background:var(--ground);scroll-behavior:smooth}body{margin:0;color:var(--ink);background-color:var(--ground);background-image:linear-gradient(90deg,#2f567710 1px,transparent 0),linear-gradient(180deg,#2f567710 1px,transparent 0);background-size:24px 24px;font-family:var(--sans);font-size:16px;line-height:1.55}.mono,.num,code,kbd{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--steel)}a:hover{color:var(--ink)}h1,h2,h3{line-height:1.2;letter-spacing:-.01em}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--slate);color:#fff;padding:12px 18px;z-index:100}.skip-link:focus{left:8px;top:8px}.site-header{background:var(--slate);color:#fff;border-bottom:2px solid var(--blue);position:-webkit-sticky;position:sticky;top:0;z-index:40}.site-footer-inner,.site-header-inner,.site-main{max-width:1180px;margin:0 auto;padding:0 16px}.site-header-inner{min-height:60px;gap:12px;flex-wrap:wrap}.brand,.site-header-inner{display:flex;align-items:center}.brand{gap:10px;color:#fff;text-decoration:none;padding:8px 0;min-height:44px}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border:2px solid var(--sky);color:var(--sky);font-family:var(--mono);font-size:14px;font-weight:700}.brand-word{font-weight:700;letter-spacing:.04em;font-size:18px}.site-nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}.site-nav-link{color:#dbe7f0;text-decoration:none;padding:12px 10px;min-height:44px;display:inline-flex;align-items:center;font-size:15px;border-bottom:3px solid transparent}.site-nav-link:hover{color:#fff;background:#26415a}.site-nav-link.active{color:#fff;border-bottom-color:var(--sky)}.site-main{padding-top:28px;padding-bottom:48px}.site-footer{background:var(--slate);color:#dbe7f0;border-top:2px solid var(--blue);padding:28px 0 20px;margin-top:40px}.site-footer-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:24px;gap:24px}.site-footer-brand p{margin:8px 0 0;font-size:14px;max-width:60ch}.site-footer-nav{display:flex;flex-direction:column;gap:2px}.site-footer-nav a{display:inline-flex;align-items:center;min-height:44px;color:#dbe7f0;text-decoration:none;padding:8px 0;font-size:14px}.site-footer-nav a:hover{color:#fff;text-decoration:underline}.site-footer-note{font-size:13px;color:#c3d4e1}.site-footer-note,.site-footer-sister{max-width:1180px;margin:20px auto 0;padding:16px 16px 0;border-top:1px solid #2f5677}.site-footer-sister-title{margin:0 0 6px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#c3d4e1}.sister-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-gap:4px 20px;gap:4px 20px}.sister-list li{display:flex}.sister-list a{display:flex;flex-direction:column;justify-content:center;gap:2px;width:100%;min-height:44px;padding:6px 0;color:#dbe7f0;text-decoration:none}.sister-name{font-size:14px;text-decoration:underline}.sister-list a:hover{color:#fff}.sister-note{font-size:12px;color:#a9bdcd}.page-header{margin-bottom:22px}.kicker{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);border-left:3px solid var(--amber);padding-left:8px;margin-bottom:8px}.page-header h1{margin:0 0 8px;font-size:clamp(28px,4vw,40px)}.lede{margin:0;font-size:17px;color:var(--muted);max-width:70ch}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:0 0 20px}.card h2{margin:0 0 12px;font-size:20px}.card h3{margin:18px 0 8px;font-size:16px}.prose li,.prose p{max-width:72ch}.notice{border:1px solid var(--line);border-left:4px solid var(--amber);background:#fdf8f1;padding:12px 14px;border-radius:var(--radius);font-size:14px;margin:0 0 16px}.section-note{font-size:14px;color:var(--muted);margin:8px 0 0}.workspace{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr) minmax(0,300px);grid-gap:16px;gap:16px;align-items:start}.workspace-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px;min-width:0}.panel-title{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin-bottom:10px}.mode-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.mode-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;background:var(--mist);border:1px solid var(--line);border-radius:var(--radius);color:var(--slate);font-size:14px}.mode-tab .glyph{font-size:18px;line-height:1}.mode-tab[aria-pressed=true]{background:var(--slate);border-color:var(--slate);color:#fff}.segmented{display:flex;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}.segmented button{flex:1 1;min-height:44px;padding:8px 10px;background:var(--paper);border:0;border-right:1px solid var(--line);font-size:14px;color:var(--slate)}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{background:var(--steel);color:#fff}.field-grid{display:grid;grid-gap:12px;gap:12px}.field,.field>span{display:block}.field>span{font-size:14px;font-weight:600;color:var(--slate);margin-bottom:4px}.field-input{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}.field-input input{flex:1 1 auto;min-width:0;min-height:44px;padding:8px 10px;border:0;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:16px;background:transparent}.field-input input:focus{outline:3px solid var(--focus);outline-offset:-3px}.field-input b{display:flex;align-items:center;padding:0 10px;background:var(--mist);border-left:1px solid var(--line);font-family:var(--mono);font-size:13px;font-weight:500;color:var(--muted)}.checkbox-row{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;font-size:14px}.checkbox-row input{width:20px;height:20px;margin-top:2px}.datum-row{display:grid;grid-template-columns:44px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;margin-bottom:8px}.datum-letter{display:grid;place-items:center;background:var(--mist);font-family:var(--mono);font-weight:700}.datum-letter,.datum-row select{min-height:44px;border:1px solid var(--line);border-radius:var(--radius)}.datum-row select{padding:8px 10px;font-size:14px}.datum-row select,.fcf{background:var(--paper)}.fcf{display:inline-flex;border:2px solid var(--ink);border-radius:1px;overflow:hidden;max-width:100%}.fcf-cell{padding:8px 14px;border-right:2px solid var(--ink);font-family:var(--mono);font-size:17px;white-space:nowrap;display:flex;align-items:center}.fcf-cell:last-child{border-right:0}.fcf-cell.symbol{font-size:21px;background:var(--mist)}.fcf-scroll{overflow-x:auto;padding-bottom:4px}.fcf-caption{font-size:13px;color:var(--muted);margin:8px 0 0}.plot-figure{margin:0}.zone-plot{display:block;width:100%;max-width:460px;margin:0 auto;aspect-ratio:1/1;height:auto;background:#f7fafc;border:1px solid var(--line);border-radius:var(--radius)}.zone-plot .grid-ring{fill:none;stroke:var(--line-soft)}.zone-plot .axis{stroke:var(--line)}.zone-plot .zone-circle{fill:#f0e2cb66;stroke:var(--amber)}.zone-plot .zone-circle.out{fill:#f0d3cf66;stroke:var(--red)}.zone-plot .basic-mark{stroke:var(--steel)}.zone-plot .actual-point{fill:var(--green)}.zone-plot .actual-point.out{fill:var(--red)}.zone-plot .offset-line{stroke:var(--steel);stroke-dasharray:4 3}.plot-legend{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 0;font-size:13px;color:var(--muted)}.plot-legend span{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:12px;height:12px;border-radius:50%;display:inline-block}.legend-swatch.zone{background:var(--amber-soft);border:1px solid var(--amber)}.legend-swatch.actual{background:var(--green)}.legend-swatch.basic{background:var(--steel)}.result-sheet{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.verdict{border:2px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:14px}.verdict .verdict-label{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.verdict .verdict-value{display:block;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1.15;margin:2px 0 6px}.verdict output{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:var(--radius)}.verdict.accept{border-color:var(--green)}.verdict.accept output{background:#e2f0ea;color:var(--green)}.verdict.reject{border-color:var(--red)}.verdict.reject output{background:#f6e3e1;color:var(--red)}.verdict.review{border-color:var(--amber)}.verdict.review output{background:var(--amber-soft);color:var(--amber)}.result-rows{margin:0;border-top:1px solid var(--line-soft)}.result-rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:14px}.result-rows dt{color:var(--muted)}.result-rows dd{margin:0;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.result-rows dd.not-applicable{font-family:var(--sans);font-weight:400;color:var(--muted)}.meter{margin-top:14px}.meter-head{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:4px}.meter-track{display:block;height:10px;background:var(--mist);border:1px solid var(--line);border-radius:2px;overflow:hidden}.meter-track i{display:block;height:100%;background:var(--green)}.meter-track i.over{background:var(--red)}.problem-list{list-style:none;margin:14px 0 0;padding:0}.problem-list li{border-left:4px solid var(--red);background:#fdf1ef;padding:8px 10px;font-size:14px;margin-bottom:8px}.action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 16px;border:1px solid var(--steel);border-radius:var(--radius);background:var(--steel);color:#fff;font-size:15px;font-weight:600;text-decoration:none}.button:hover{background:var(--slate);border-color:var(--slate);color:#fff}.button.secondary{background:var(--paper);color:var(--slate);border-color:var(--line)}.button.secondary:hover{background:var(--mist);color:var(--ink)}.button.danger{background:var(--paper);color:var(--red);border-color:var(--red)}.button:disabled{opacity:.5;cursor:not-allowed}.case-list{list-style:none;margin:0;padding:0}.case-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft)}.case-row .case-open{flex:1 1 auto;min-width:0;text-align:left;min-height:44px;background:none;border:0;padding:4px 0}.case-row .case-open strong{display:block;font-size:15px}.case-row .case-open small{display:block;font-size:12px;color:var(--muted)}.case-row .case-figure{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}.case-remove{min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--red)}.empty-state{font-size:14px;color:var(--muted);margin:4px 0 0}.drill{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.drill-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}.drill-prompt{font-size:18px;font-weight:600;margin:10px 0 14px;max-width:70ch}.drill-choices{display:grid;grid-gap:8px;gap:8px;margin-bottom:14px}.drill-choices label{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);font-size:15px}.drill-choices label:hover{background:var(--mist)}.drill-choices input{width:20px;height:20px;margin-top:2px}.drill-feedback{border:1px solid var(--line);border-left:4px solid var(--red);padding:12px 14px;border-radius:var(--radius);font-size:15px;margin-bottom:12px}.drill-feedback.correct{border-left-color:var(--green)}.drill-feedback p{margin:6px 0 0;max-width:70ch}.drill-reference{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:8px}.figure-block{margin:0 0 14px}.faq details{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;background:var(--paper)}.faq summary{padding:12px 14px;min-height:44px;font-weight:600;cursor:pointer}.faq details p{margin:0;padding:0 14px 14px;max-width:72ch}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table td,.data-table th{border:1px solid var(--line);padding:8px 10px;text-align:left}.data-table th{background:var(--mist)}.data-table td.glyph{font-family:var(--mono);font-size:18px;text-align:center;width:3em}@media (max-width:1080px){.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.workspace-result{grid-column:1/-1}}@media (max-width:760px){.workspace{grid-template-columns:minmax(0,1fr)}.workspace-result{grid-column:auto}.site-footer-inner{grid-template-columns:minmax(0,1fr)}}@media print{body{background:#fff;font-size:12pt}.action-row,.drill,.faq,.no-print,.site-footer,.site-header,.site-nav,.skip-link,.workspace-cases,.workspace-controls{display:none!important}.site-main{padding:0;max-width:none}.workspace{display:block}.result-sheet,.workspace-visual{border:1px solid #000;break-inside:avoid;page-break-inside:avoid;margin-bottom:12pt}.zone-plot{max-width:90mm}.print-only{display:block!important}}.print-only{display:none}.practice{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px}.filter-set{border:0;padding:0;margin:0 0 16px}.chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--slate);font-family:var(--sans);font-size:14px;cursor:pointer}.chip:hover{border-color:var(--steel)}.chip[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.chip:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.chip-note{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.75}.field-input select{flex:1 1 auto;min-width:0;min-height:44px;padding:8px 10px;border:0;background:transparent;font-family:var(--sans);font-size:16px;color:var(--ink)}.field-input select:focus{outline:3px solid var(--focus);outline-offset:-3px}.exam-clock{display:inline-block;margin:0 0 12px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--mist);font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.exam-clock.out{border-color:var(--red);color:var(--red)}.meter-track span{display:block;height:100%;background:var(--green)}.meter-value{display:block;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px;color:var(--muted);margin-top:4px}.mistake-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.mistake-list li{border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:var(--radius);padding:10px 12px;background:var(--paper)}.mistake-list p{margin:4px 0 0;max-width:72ch}.mistake-topic{font-family:var(--mono);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:14px}.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue)}.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-gap:14px;gap:14px}.guide-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:14px}.guide-card h3{margin:0 0 6px;font-size:17px}.guide-card p{margin:0 0 10px;color:var(--slate);max-width:60ch}.guide-card a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-weight:600}.worked-example{border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:var(--radius);background:var(--mist);padding:12px 14px;margin:14px 0}.worked-example h3{margin:0 0 8px;font-size:16px}.worked-example dl{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:4px 12px;gap:4px 12px;margin:0;font-size:14px}.worked-example dt{color:var(--slate)}.worked-example dd{margin:0;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.guide-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.guide-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--blue);font-weight:600;font-size:14px}.guide-links a:hover{border-color:var(--steel)}