:root{color-scheme:light;--ink:#233c45;--muted:#687e84;--accent:#087e86;--line:#dae7e8;--soft:#edf5f4;--lower:#087e86;--upper:#ca7356}
*{box-sizing:border-box}body{margin:0;background:#f6f9f8;color:var(--ink);font:16px/1.65 Georgia,"Times New Roman",serif}main{max-width:1120px;margin:auto;padding:22px}p{margin:0 0 14px}h2,h3,.eyebrow,.controls,.toolbar,.heading,.panel-note,.interaction-help,.metrics,#status,details,.method{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h2{font-size:22px;line-height:1.3;letter-spacing:-.025em;margin:0 0 9px}.eyebrow{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}.intro{max-width:810px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:22px;background:var(--soft);border:1px solid var(--line);padding:15px 17px;border-radius:8px;margin:18px 0 12px}.controls label{display:grid;grid-template-columns:1fr auto;gap:5px 8px;font-size:12px;min-width:0}.controls label>i{display:none}.controls output{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:650}input[type=range]{grid-column:1/-1;width:100%;margin:5px 0;accent-color:var(--accent);min-height:20px}.help{grid-column:1/-1;color:var(--muted);font-size:10px;line-height:1.5}input:focus-visible,button:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid #dba65b;outline-offset:3px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:15px;font-size:11px}.presets{display:flex;gap:7px;flex-wrap:wrap}button{appearance:none;border:1px solid #9bbfc1;background:#fff;border-radius:5px;color:var(--accent);font:600 11px/1.5 system-ui,sans-serif;padding:7px 11px;cursor:pointer;min-height:34px}button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.coordinates{display:flex;gap:12px}.coordinates label{display:flex;align-items:center;gap:6px}.coordinates input{width:70px;min-height:33px;padding:5px;border:1px solid #b7cdcf;border-radius:4px;background:#fff;color:var(--ink);font:12px system-ui,sans-serif}.plots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.panel{background:#fff;border:1px solid var(--line);border-radius:7px;padding:11px 7px 8px;min-width:0;overflow:hidden}.panel.composed{border-color:#94bfc0;background:#fbfefd}.heading{padding:0 4px;display:flex;align-items:baseline;justify-content:space-between;gap:5px;margin-bottom:3px}.heading h3{font-size:12px;font-weight:650;line-height:1.4;margin:0}.heading span{font-size:10px;color:var(--muted);white-space:nowrap}canvas{display:block;width:100%;aspect-ratio:1/1.17}canvas[tabindex]{cursor:crosshair;touch-action:none}.panel-note{font-size:10px;color:var(--muted);margin:2px 4px 0;display:flex;justify-content:space-between;gap:6px}.panel-note output{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.legend{display:inline-flex;align-items:center;gap:4px}.legend b{display:inline-block;width:10px;height:2px}.lower-key{background:var(--lower)}.upper-key{background:var(--upper);margin-left:5px}.interaction-help{font-size:10px;color:var(--muted);margin:8px 2px 0}.metrics{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin:17px 0 10px}.metrics>div{border-top:2px solid #8cbabc;padding:7px 9px;background:#fff;min-width:0}.metrics dt{font-size:10px;line-height:1.5;color:var(--muted)}.metrics dd{font-size:15px;line-height:1.4;margin:4px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}#bracket-value{font-size:12px}#status{font-size:11px;color:var(--muted);margin:0 2px 13px}details{font-size:11px;border-top:1px solid var(--line);padding:8px 2px;margin-bottom:11px}summary{cursor:pointer;color:var(--accent)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px;font-variant-numeric:tabular-nums;text-align:right;margin-top:8px}caption{text-align:left;color:var(--muted);font-size:10px;margin-bottom:6px}th,td{padding:5px 8px;border-bottom:1px solid var(--line)}th{font-weight:600}th:first-child,td:first-child{text-align:left}.method{font-size:10px;line-height:1.65;color:var(--muted);margin-bottom:0}
@media(max-width:800px){main{padding:18px 12px}.plots{gap:7px}.panel{padding:9px 4px 8px}.heading{display:block;min-height:37px}.heading span{display:block;margin-top:2px}.metrics{gap:7px}.metrics dd{font-size:13px}.panel-note{font-size:9px}}
@media(max-width:590px){main{padding:16px 11px}.controls{padding:12px;gap:14px}.controls label{display:block}.controls output{display:block}.help{display:block}.plots{grid-template-columns:1fr;gap:12px}.heading{display:flex;min-height:0;padding:0 10px}.heading h3{font-size:14px}.heading span{font-size:11px}.panel{padding:11px 8px 10px}.panel-note{font-size:11px;margin:0 10px}.metrics{grid-template-columns:1fr 1fr}.metrics>div:first-child{grid-column:1/-1}.metrics dd{font-size:15px}#bracket-value{font-size:14px}.interaction-help,.method{font-size:11px}h2{font-size:20px}.toolbar{gap:10px 15px}.presets{gap:6px}button{padding:7px 9px}.coordinates{margin-left:auto}.controls{gap:10px}}
@media(max-width:360px){.controls{grid-template-columns:1fr;gap:12px}.controls label{display:grid}.controls output{display:inline}.controls .help{display:block}button{font-size:10px}.coordinates{margin-left:0}}
@media print{.controls,.toolbar,details{display:none}.panel{break-inside:avoid}main{padding:0}}
