:root{--ivory:#eee6d9;--ink:#3d222a;--wine:#6d3748;--muted:#78615f;--line:#c5b5a7;--cream:#f8f1e8;--brass:#c9a883}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input{font:inherit}button,.file-label{border:1px solid var(--wine);border-radius:0;background:var(--wine);color:var(--cream);padding:13px 17px;min-height:46px;cursor:pointer;font-size:12px;display:inline-block;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ac7900;outline-offset:4px}[hidden]{display:none!important}header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 5vw;border-bottom:1px solid var(--line);font:10px ui-monospace,monospace}header>a{font-size:22px;font-weight:bold;text-decoration:none;letter-spacing:-.03em}header>a span{font-size:10px;font-weight:400;letter-spacing:.07em;margin-left:13px}main{max-width:1400px;margin:auto;padding:0 5vw}.hero{padding:40px 0 33px}.eyebrow,.caption,.module-label,.meters span,.result-header>p:last-child,footer{font-family:ui-monospace,Consolas,monospace}.eyebrow{font-size:10px;letter-spacing:.1em}h1{font:400 clamp(43px,5.8vw,82px)/1.03 Georgia,serif;letter-spacing:-.05em;margin:22px 0}h1 em{color:var(--wine)}.hero>p:last-child{font-size:15px;line-height:1.7;max-width:580px}.rack{display:grid;grid-template-columns:1fr 2fr;border:1px solid var(--wine);background:var(--cream)}.module-label{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--wine);padding:16px 20px;font-size:10px;letter-spacing:.06em;min-height:55px}.input-module{border-right:1px solid var(--wine);min-width:0}.input-module>.file-label{margin:30px 20px 14px}.input-module>input{display:block;width:calc(100% - 40px);margin:0 20px;font-size:10px}.input-module>input::file-selector-button{display:none}.input-module>.caption,.input-module>button,.input-module>#status{margin:18px 20px}.caption{font-size:10px;color:var(--muted);line-height:1.8}.input-module>#status{font-size:11px;line-height:1.6}#error{margin:15px 20px;padding:12px;background:#f7d5ca;border-left:3px solid #a83232;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.scene-module{min-width:0}.scene-switch{display:flex;align-items:center;gap:8px;min-height:30px}.scene-switch input{accent-color:var(--wine);width:17px;height:17px}#scene{height:310px;background:radial-gradient(ellipse at 50% 90%,#cab49c55,transparent 70%);overflow:hidden}#scene canvas{display:block;width:100%;height:100%}#scene-state{margin:8px 20px}.scene-controls{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:0 20px 20px}.scene-controls label{font:10px ui-monospace,monospace;display:flex;align-items:center;gap:12px;flex:1}.scene-controls input{width:min(100%,180px);accent-color:var(--wine);min-width:0;min-height:38px}.scene-controls button{background:transparent;color:var(--wine);font-size:10px;white-space:nowrap}.result-header{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--wine);margin-top:35px}.result-header>p:last-child{font-size:10px;line-height:1.7}.meters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);padding:22px 0}.meters article{padding:10px 22px;border-right:1px solid var(--line)}.meters article:first-child{padding-left:0}.meters article:last-child{border:0}.meters h2{font-size:11px;font-weight:400;margin:0}.meters p{font:400 clamp(25px,3.5vw,45px) Georgia,serif;margin:14px 0;letter-spacing:-.04em}.meters span{font-size:8px;line-height:1.7;display:block;color:var(--muted)}.signal-row{display:grid;grid-template-columns:1.4fr 1fr;gap:35px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center;min-width:0}.signal-row img{display:block;width:100%;height:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;table-layout:fixed;font:10px ui-monospace,monospace}th,td{padding:12px 6px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere}th{font-weight:400;color:var(--muted)}.reference{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:30px 0;border-bottom:1px solid var(--wine)}.reference h2{font:400 27px Georgia,serif;margin:18px 0}.reference label{font-size:12px;display:block}.reference input{display:block;width:100%;accent-color:var(--wine);min-height:46px;margin-top:12px}#scenario,#predicted{font-size:14px;line-height:1.7}#predicted{font-size:12px;color:var(--muted)}.method{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:32px 0 40px;margin-top:24px;border-top:1px solid var(--line)}.method h2{font:400 27px Georgia,serif}.method p{font-size:13px;line-height:1.8}.method .eyebrow{font-size:10px}footer{border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:9px}footer nav{display:flex;gap:25px}.legal main{max-width:750px;padding-top:30px}.legal h1{font-size:44px}.legal p,.legal address{font-size:15px;line-height:1.8}.legal address{font-style:normal}@media(max-width:780px){header{padding:20px 5vw;font-size:8px;gap:15px}header>a span{display:block;margin:4px 0 0;font-size:9px}header>a{font-size:20px}.hero{padding:30px 0 22px}h1{font-size:clamp(39px,10vw,68px)}.rack{grid-template-columns:1fr}.input-module{border-right:0;border-bottom:1px solid var(--wine)}.input-module>.file-label{margin-top:22px}#scene{height:265px}.module-label{font-size:9px;padding:13px 16px}.scene-controls{padding:0 15px 15px;gap:8px}.scene-controls label{display:block}.scene-controls input{display:block;width:100%;margin-top:5px}.result-header{display:block}.meters{grid-template-columns:1fr 1fr;padding:8px 0}.meters article{padding:18px 12px}.meters article:first-child{padding-left:12px}.meters article:nth-child(2){border:0}.meters article:nth-child(-n+2){border-bottom:1px solid var(--line)}.meters p{font-size:34px}.signal-row,.reference,.method{grid-template-columns:1fr;gap:18px}.signal-row{padding:22px 0}.reference{padding:22px 0}.method{padding:22px 0 30px;gap:20px}.caption{font-size:10px}.reference h2{font-size:25px}}

.meters article{min-width:0}.meters p{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}@media(max-width:780px){.meters{grid-template-columns:repeat(2,minmax(0,1fr))}}
