@font-face{font-family:"Source Serif 4";src:url("../../assets/fonts/source-serif-4-400-700-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../../assets/fonts/ibm-plex-mono-500-latin.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
:root{font:16px/1.45 Arial,Helvetica,sans-serif;color:#182d33;background:#f5f3ed;--ink:#182d33;--teal:#16736e;--rust:#b44f37;--muted:#60747a;--line:#d6dedc;--paper:#fffdfa;--soft:#e4f0ed;--warm:#f7e8e1}
*{box-sizing:border-box}body{max-width:1480px;margin:0 auto;padding:24px 32px}h1,h2,h3,p,figure{margin:0}h1{font:700 clamp(29px,3.3vw,45px)/1.15 "Source Serif 4",Georgia,serif;margin:10px 0}h2{font-size:16px;line-height:1.3}a{color:var(--teal);text-underline-offset:3px}.site-header,footer{display:flex;justify-content:space-between;gap:20px;font-size:14px}.site-header{padding-bottom:18px;border-bottom:1px solid var(--line)}.page-title{margin:27px 0}.page-title>p:last-child{color:var(--muted)}.eyebrow{font:500 12px "IBM Plex Mono",monospace;letter-spacing:.045em;color:var(--rust)}button,input,select{font:inherit}button,select{border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:8px 11px;color:var(--ink)}button{cursor:pointer;line-height:1.2}button:hover{border-color:var(--teal);background:var(--soft)}button.primary,button[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal)}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid #348d83;outline-offset:3px}[hidden]{display:none!important}.tabs{display:flex;align-items:center;gap:8px;margin-bottom:14px}.tabs button{font-weight:600;padding:11px 14px;font-size:14px}.tabs a{margin-left:auto;white-space:nowrap;font-size:13px}.shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;height:535px}.results,.controls{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.results{display:flex;flex-direction:column;overflow:hidden}.result-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line);flex-shrink:0}.result-heading h2{font-size:15px}.result-heading span{font-size:12px;color:var(--muted);white-space:nowrap}.view{display:flex;flex-direction:column;flex:1;min-height:0}.plot{flex:1;min-height:0;padding:4px 8px 0;display:flex;align-items:center;justify-content:center}.plot svg{width:100%;height:100%;min-height:0;overflow:visible}svg text{font-family:Arial,Helvetica,sans-serif;font-size:12px;fill:var(--muted)}svg .axis-label{font-size:11px}svg .figure-title{font-size:14px;font-weight:700;fill:var(--ink)}svg .figure-caption{font-size:11px;fill:var(--muted)}svg .splat{cursor:pointer}svg .splat:focus{outline:none;stroke:#182d33;stroke-width:2.5px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);margin:0 16px;padding:11px 0 6px}.metric{min-width:0;padding:0 15px;border-left:1px solid var(--line)}.metric:first-child{padding-left:0;border-left:0}.metric span{font-size:11px;color:var(--muted);display:block;line-height:1.3}.metric strong{display:block;font:500 20px/1.5 "IBM Plex Mono",monospace;white-space:nowrap;color:var(--ink)}.metric small{font-size:11px;font-weight:400;color:var(--muted)}.view-note{padding:2px 16px 12px;font-size:12px;color:var(--muted);line-height:1.4;min-height:32px}.view-note.warning{color:#954a32}.legend{display:flex;flex-wrap:wrap;gap:8px 15px;margin:1px 16px 11px;font-size:11px;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.legend span:before{content:'';width:12px;height:5px;background:var(--teal);display:inline-block;border-radius:4px}.legend .rust-mark:before{background:var(--rust)}.legend .target-mark:before{background:none;width:8px;height:8px;border:1.5px solid #829391;border-radius:50%}.legend .residual-mark:before{background:repeating-linear-gradient(90deg,#9caaa5 0 3px,transparent 3px 5px);height:1px}.legend .expanded-mark:before{border:1.5px solid var(--teal);background:none;height:9px;width:15px}.legend .child-mark:before{background:var(--rust);height:5px;width:5px;box-shadow:6px 0 0 var(--rust);margin-right:6px}.controls{padding:15px 16px;overflow:auto;scrollbar-width:thin}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.control-heading h2{font-size:15px}.reset{font-size:11px;padding:5px 7px;color:var(--muted)}.controls label{font-size:13px}.select-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.select-label select{max-width:155px;font-size:12px;padding:6px 8px}.slider-label{display:block;margin-top:14px}.slider-label output{float:right;font-weight:600;font-variant-numeric:tabular-nums;color:var(--teal)}input[type=range]{display:block;width:100%;height:19px;margin:5px 0 2px;accent-color:var(--teal);cursor:pointer}.check{display:flex;align-items:center;gap:8px;margin:11px 0;line-height:1.4}.check input{width:15px;height:15px;accent-color:var(--teal);flex-shrink:0}.buttons{display:flex;gap:8px;margin:14px 0}.buttons button{flex:1;font-size:13px}.equation{font-size:14px;line-height:1.6;padding:10px 11px;background:var(--soft);border-left:3px solid var(--teal);margin-top:14px;color:var(--ink)}.equation span{font-size:11px;color:var(--muted)}.small-equation{font-size:13px}.control-note{font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:11px}.ambiguity{color:#95533d}.weight-key{display:flex;gap:12px;margin-top:12px;font-size:11px;line-height:1.35;color:var(--muted)}.weight-key>span{flex:1}.weight-key strong{display:block;color:var(--teal);font:500 18px/1.6 "IBM Plex Mono",monospace}.score-heading{display:flex;justify-content:space-between;font-size:11px;margin:12px 0 8px;color:var(--muted)}.score-heading strong{font-weight:600;color:var(--ink)}.score-row{display:grid;grid-template-columns:70px minmax(0,1fr) 31px;gap:8px;align-items:center;font-size:10px;margin:6px 0;color:var(--muted)}.score-row>div{height:5px;background:#e9ece7;overflow:hidden;border-radius:3px}.score-row i{display:block;height:100%;background:var(--teal)}.score-row span:last-child{text-align:right;font-variant-numeric:tabular-nums}.scope{margin-top:12px;padding:9px 12px;border-left:3px solid var(--teal);background:var(--soft);font-size:12px;color:var(--muted)}.explanation{margin-top:36px}.explanation>h2{font:700 28px/1.2 "Source Serif 4",Georgia,serif;margin-bottom:22px}.explanation-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px 38px}.explanation-grid h3{font-size:18px;margin-bottom:9px}.explanation-grid p{color:var(--muted);font-size:15px;line-height:1.65}footer{border-top:1px solid var(--line);padding-top:20px;margin-top:36px;font-size:12px}
.embedded body{max-width:none;height:100dvh;padding:5px;display:flex;flex-direction:column;gap:5px}.embedded .site-header,.embedded .page-title,.embedded .tabs,.embedded .explanation,.embedded footer{display:none}.embedded .shell{flex:1;min-height:0;height:auto;grid-template-columns:minmax(0,1fr) 281px;gap:8px}.embedded .results,.embedded .controls{border-radius:8px}.embedded .result-heading{padding:10px 12px}.embedded .result-heading h2{font-size:13px}.embedded .result-heading span{font-size:10px}.embedded .controls{padding:11px 13px}.embedded .control-heading{margin-bottom:8px}.embedded .control-heading h2{font-size:13px}.embedded .controls label{font-size:11px}.embedded .slider-label{margin-top:10px}.embedded .select-label select{font-size:11px;padding:5px 6px;max-width:138px}.embedded input[type=range]{height:17px;margin-top:3px}.embedded .check{margin:8px 0;font-size:11px}.embedded .equation{margin-top:10px;padding:7px 9px;font-size:12px}.embedded .small-equation{font-size:11.5px}.embedded .control-note{font-size:10.5px;margin-top:9px;line-height:1.4}.embedded .buttons{margin:11px 0}.embedded .buttons button{font-size:12px;padding:7px}.embedded .weight-key{margin-top:8px;font-size:10px}.embedded .weight-key strong{font-size:16px}.embedded .metrics{margin:0 12px;padding:8px 0 4px}.embedded .metric{padding-inline:12px}.embedded .metric:first-child{padding-left:0}.embedded .metric strong{font-size:17px}.embedded .metric span,.embedded .metric small{font-size:10px}.embedded .view-note{padding:2px 12px 8px;font-size:10.5px;min-height:26px}.embedded .legend{font-size:10px;margin:0 12px 8px;gap:8px 12px}.embedded .scope{font-size:10px;padding:5px 9px;margin:0;flex-shrink:0;line-height:1.3}.embedded .score-heading{margin-top:10px;font-size:10px}.embedded .score-row{font-size:9.5px;margin:5px 0}
@media(max-width:1000px){body{padding:20px}.shell{grid-template-columns:minmax(0,1fr) 265px;height:520px}.tabs{flex-wrap:wrap}.tabs a{font-size:12px}.tabs button{font-size:12px}.result-heading{flex-wrap:wrap;gap:3px}.result-heading span{font-size:11px}}
@media(max-width:760px){body{padding:16px 12px}.site-header{font-size:12px;gap:12px}.page-title{margin:23px 0}.page-title>p:last-child{font-size:15px}.tabs{gap:6px}.tabs button{flex:1;padding:10px 6px;font-size:11px}.tabs a{display:none}.shell{height:auto;grid-template-columns:1fr;gap:12px}.results{min-height:400px}.plot{min-height:230px}.controls{overflow:visible;padding:17px}.controls section{max-width:540px;margin:auto}.control-heading h2{font-size:15px}.controls label{font-size:13px}.control-note{font-size:12px}.metric strong{font-size:17px}.metrics{margin-inline:12px}.metric{padding-inline:9px}.metric span{font-size:10px}.view-note{font-size:11px}.legend{font-size:10px;gap:8px}.explanation-grid{grid-template-columns:1fr;gap:25px}.explanation>h2{font-size:25px}.explanation-grid p{font-size:14px}footer{font-size:11px;flex-wrap:wrap}.scope{font-size:11px}.embedded body{height:auto;min-height:100dvh}.embedded .shell{grid-template-columns:1fr;flex:0}.embedded .results{min-height:365px}.embedded .plot{min-height:220px}.embedded .controls{overflow:visible}.embedded .scope{margin-top:4px}.embedded .control-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body{max-width:none;background:white;padding:0}.site-header,.tabs,.controls,.scope,footer{display:none}.shell{height:450px;display:block}.results{height:450px}.explanation{break-before:page}.explanation-grid{display:block}.explanation-grid article{margin:20px 0}a{color:inherit}}
