:root{color:#1e211d;background:#edece5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{min-height:100vh}.tool-panel,.reference-header,.reference-introduction,.reference-section,.reference-divider{width:min(1100px,calc(100% - 40px));margin:24px auto;background:#fffefa;border:1px solid #d3d1c7;padding:28px}.tool-panel{box-shadow:0 16px 45px #1f231c14}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:500}h1{margin:0 0 10px;font-size:clamp(2rem,5vw,3.5rem);line-height:1}h2{margin:0 0 8px;font-size:1.7rem}p{line-height:1.5}code{font-family:SFMono-Regular,Consolas,monospace;font-size:.9em}.eyebrow{margin:0 0 8px;color:#62705c;font-size:.72rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:26px 0}label{display:grid;gap:7px;font-size:.78rem;font-weight:700}input{width:100%;min-height:42px;border:1px solid #aaa99f;border-radius:0;padding:8px 10px;color:inherit;background:#fff;font:inherit}.file-control{grid-column:1 / -1}.actions{display:flex;flex-wrap:wrap;gap:10px}button{border:1px solid #6b7167;border-radius:0;padding:10px 16px;color:#252820;background:#f3f2eb;font:inherit;font-weight:700;cursor:pointer}button.primary{color:#fff;background:#34472f;border-color:#34472f}button:disabled{cursor:not-allowed;opacity:.4}.status{min-height:24px;margin:18px 0 0;font-weight:650}.status[data-tone=success]{color:#315c35}.status[data-tone=error]{color:#a3322c}.reference-output:empty{display:none}.print-reference{display:none}.reference-header{border-top:8px solid #34472f}.source-path{overflow-wrap:anywhere}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:26px 0;background:#d8d7cf;border:1px solid #d8d7cf}.summary-grid div{padding:13px;background:#f8f7f1}.summary-grid dt{margin-bottom:4px;color:#687064;font-size:.7rem;font-weight:750;text-transform:uppercase}.summary-grid dd{margin:0;font-variant-numeric:tabular-nums}.parity{padding:12px 14px;border-left:4px solid #92968f;background:#f3f3ef}.parity.success{border-color:#4b8050;background:#eef6ed}.parity.error{border-color:#a3322c;background:#fff0ed}.section-note{margin:0 0 18px;color:#656960;font-size:.9rem}.signal-plot{display:block;width:100%;height:auto;margin:8px 0 22px;background:#fbfaf5;border:1px solid #deddd5}.plot-grid{stroke:#d6d5ce;stroke-width:1}.plot-grid.vertical{stroke-dasharray:3 5}.plot-axis{stroke:#484d45;stroke-width:1.5}.plot-tick,.plot-label,.plot-legend-label{fill:#4f544d;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px}.signal-line,.fft-line{fill:none;stroke:#1e211d;stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round}.fft-line{stroke:#934536}.fft-peak{fill:#fffefa;stroke:#934536;stroke-width:2.5}.overlay-line{fill:none;stroke-width:2.1;stroke-linejoin:round;stroke-linecap:round}.overlay-line-0{stroke:#c83232;stroke-width:2.8}.overlay-line-1{stroke:#dd7a18}.overlay-line-2{stroke:#3f8b4f;stroke-dasharray:8 3}.overlay-line-3{stroke:#2f72b5;stroke-dasharray:3 3}.overlay-line-4{stroke:#7951a8;stroke-dasharray:10 3 2 3}.overlay-line-5{stroke:#c17a25;stroke-dasharray:6 3}.overlay-line-6{stroke:#247b6b;stroke-dasharray:2 3}.overlay-line-7{stroke:#a14d72;stroke-dasharray:12 3 3 3}.overlay-line-8{stroke:#6b64a5;stroke-dasharray:5 2 1 2}table{width:100%;border-collapse:collapse;font-size:.78rem;font-variant-numeric:tabular-nums}.table-responsive{width:100%;overflow-x:auto}th,td{border:1px solid #d8d7cf;padding:6px 8px;text-align:right;vertical-align:middle}th{position:sticky;top:0;color:#32362f;background:#ebeae3;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}tbody tr:nth-child(2n){background:#f8f7f2}.base20-value{font-family:SFMono-Regular,Consolas,monospace;white-space:nowrap}.painting-measurement{white-space:nowrap}.complex-table{font-size:.69rem}.complex-table td{padding:4px 5px}.twiddle-cell{min-width:58px;text-align:center}.twiddle-cell span{display:block;margin-top:2px;font-family:SFMono-Regular,Consolas,monospace;font-size:.65rem}.phase-graphic{display:block;width:36px;height:36px;margin:auto;overflow:visible}.phase-outline{fill:none;stroke:#777c73;stroke-width:1}.phase-wedge{fill:#894d3a47}.phase-vector{stroke:#453e37;stroke-width:1.4}.phase-center,.phase-end{fill:#453e37}.reference-divider{padding-block:50px;color:#fff;background:#34472f;border-color:#34472f}.reference-divider .eyebrow{color:#c9d9c2}.reference-divider h1{max-width:760px}@media(max-width:720px){.tool-panel,.reference-header,.reference-introduction,.reference-section,.reference-divider{width:100%;margin:0;border-width:0 0 1px;padding:20px 14px}.reference-section{overflow-x:auto}table{min-width:620px}.complex-table{min-width:980px}}@media print{@page{size:landscape;margin:.3in}:root,body{background:#fff}body{color:#000;print-color-adjust:exact;-webkit-print-color-adjust:exact}main{min-height:auto}.no-print,.screen-reference{display:none!important}.print-reference{display:block}.print-page{width:auto;margin:0;padding:0;-moz-column-break-after:page;break-after:page;-moz-column-break-inside:avoid;break-inside:avoid}.print-page:last-child{-moz-column-break-after:auto;break-after:auto}.print-plot-page .signal-plot{width:100%;max-height:7in;margin:0}.print-page h1{margin:0 0 4pt;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14pt;font-weight:700;line-height:1}.print-reference table{table-layout:fixed;border-collapse:collapse;color:#000;font-size:14pt;font-variant-numeric:tabular-nums}.print-reference caption{padding:0 0 2pt;font-size:14pt;font-weight:700;text-align:left}.print-reference th,.print-reference td{position:static;overflow:hidden;border:.5pt solid #777;padding:.5pt 1.5pt;color:#000;background:#fff;line-height:1;text-align:right;text-overflow:clip;white-space:nowrap}.print-reference sup{font-size:.7em;line-height:0}.print-reference th{font-size:inherit;font-weight:700;letter-spacing:0;text-transform:none}.print-signal-table th:not(:first-child){text-align:center}.print-signal-table th:first-child,.print-signal-table td:first-child{width:5%}.print-input-base20-table th:first-child,.print-input-base20-table td:first-child{width:18%}.print-input-base20-table th{text-align:center}.print-table-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8pt}.print-index-column{width:9%}.print-magnitude-column{width:45%}.print-phase-column,.print-twiddle-column{width:23%}.print-fft-final-table .print-index-column{width:8%}.print-fft-final-table .print-magnitude-column{width:32%}.print-fft-final-table .print-phase-column,.print-fft-final-table .print-twiddle-column,.print-log-height-column{width:20%}.print-fft-table th{text-align:center}.print-fft-table td:nth-child(3),.print-fft-table td:nth-child(4){padding:0}.print-base20{font-family:SFMono-Regular,Consolas,monospace;white-space:nowrap}.print-reference .phase-graphic{width:20px;height:20px}}
