:root{font-family:Inter,"Segoe UI",system-ui,sans-serif;line-height:1.6;color:#3f586a;background:#eef2f4;--ink:#46677e;--line:#d3dde3;--paper:#fffef8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:8px;min-height:44px;padding:.55rem .85rem;font-weight:650;cursor:pointer}button.quiet{background:transparent;color:var(--ink);border-color:#b5c7d2}button:disabled{opacity:.42;cursor:default}button:hover:not(:disabled){filter:brightness(1.12)}input,select{min-height:44px;max-width:100%;background:#fffefa;color:var(--ink);padding:.5rem .6rem;border:1px solid #b1c4d0;border-radius:7px}input{width:100%}input:disabled,select:disabled{background:#eaf0f2}input[type=range]{accent-color:#51738e;background:transparent;border:0;padding:.3rem 0}label{font-size:.85rem}label output{float:right;font-weight:700;font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid #b6834a;outline-offset:3px}.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem max(1rem,calc((100vw - 1200px)/2));background:#eef2f4f5;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.top>div{display:flex;align-items:center;gap:1.2rem}.top a{font-weight:650;text-decoration:none}.top .back{padding:.4rem .7rem;border:1px solid #b5c7d2;border-radius:7px}.top label{display:flex;align-items:center;gap:.5rem}main{max-width:1240px;margin:auto;padding:2.5rem 20px 0}.intro{display:grid;grid-template-columns:1.7fr 1fr;gap:4rem;align-items:center;margin-bottom:2rem}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.15em;color:#956b3e}h1{font-size:clamp(2rem,4.5vw,3.6rem);font-weight:650;letter-spacing:-.04em;line-height:1.1;margin:1rem 0;max-width:700px}.lede{color:#6a8596;font-size:1.05rem;max-width:640px}.formula{border-left:3px solid #b58a59;padding-left:1.8rem;min-width:0}.formula span{font:2.9rem/1.4 Georgia,serif;white-space:nowrap}.formula p{font-size:.9rem;max-width:320px}h2{font-size:1.15rem;margin:0 0 1rem}.tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}.tabs button{background:transparent;color:var(--ink);border-color:#b7cbd6}.tabs button[aria-pressed=true]{background:var(--ink);color:#fff}.guide{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border:1px solid #cadbe4;border-left:5px solid #b58a59;background:#e2ecf1;border-radius:10px;margin-bottom:1rem}.guide p{max-width:900px;margin:.3rem 0 .7rem;font-size:.95rem}.guide>button{flex-shrink:0;font-size:.85rem}.panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;min-width:0;padding:1.25rem;box-shadow:0 3px 16px #325f4a05}.setup{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.setup>label{flex:1;min-width:180px}.setup>label select{display:block;width:100%}.setup form{display:flex;align-items:end;flex-wrap:wrap;gap:.8rem;flex:1}.setup form label:first-child{flex:1;min-width:130px}.setup form label{display:flex;flex-direction:column;gap:.25rem}.setup p{width:100%;margin:0}.notice{font-size:.9rem;color:#956a33;min-height:1em;margin:.6rem 0}.small{font-size:.8rem;color:#6d8593}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:.7rem;flex-wrap:wrap}.chip{font-size:.7rem;background:#e8f0f3;padding:.2rem .6rem;border-radius:20px;white-space:nowrap}.config{display:grid;grid-template-columns:1fr 1.5fr 1.3fr;gap:1.4rem;align-items:center}.config select,.config input{display:block;width:100%;margin-top:.3rem}.config .small{margin:.3rem 0}.range-status{border:1px solid #c8d9dc;border-left:4px solid #819c8c;border-radius:9px;padding:.8rem 1rem;margin:1rem 0;background:#e9f0ec}.range-status p{margin:.3rem 0 0}.range-status.outside{background:#f6ecda;border-color:#d2b580}.bench-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:1rem}.bench-viewport{overflow:auto}.bench-viewport svg{min-width:450px;width:100%;max-height:540px;display:block}.pan-hint{display:none}.status{font-weight:650;font-size:.9rem}.ruler-panel svg{display:block;width:100%;max-width:340px;margin:0 auto 1rem}.unit-label{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.ruler-panel button{font-size:.85rem}.hint-value{border-left:3px solid #b58a59;background:#f6efde;padding:.6rem 1rem;font:700 1.3rem Consolas,monospace}.experiment{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:1rem;margin-top:1rem}.experiment form label{display:block;margin-bottom:.8rem}.experiment form input,.experiment form select{display:block;width:100%;margin-top:.3rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.8rem}.reading-summary{margin-top:1rem;border-top:1px solid var(--line);padding-top:.5rem;font-size:.8rem}.reading-summary p{margin:.3rem 0}.calculation,.print-tools{margin-top:1rem}.calculation form{display:flex;gap:.8rem;align-items:end;flex-wrap:wrap}.calculation label:first-child{flex:1;max-width:500px;min-width:180px}.calculation input{display:block;margin-top:.3rem}.worked{padding:.7rem 1rem;border-left:3px solid #b58a59;background:#f3eee0;font-size:.9rem;margin-top:1rem;border-radius:7px;overflow-wrap:anywhere}.worked p{margin:.4rem 0}.results{display:grid;grid-template-columns:1fr 1.15fr;gap:1rem;margin-top:1rem}.plot{width:100%;display:block;font:13px "Segoe UI",sans-serif;fill:#526b7b}.legend{font-size:.8rem}.legend p{border-left:6px solid var(--color,#9cadb7);padding-left:.5rem;margin:.5rem 0}.table-pan{overflow:auto;max-height:390px}table{border-collapse:collapse;width:100%;font-size:.8rem;white-space:nowrap}th,td{text-align:left;padding:.6rem;border-bottom:1px solid var(--line)}th{position:sticky;top:0;background:#e9f0f3}.empty{padding:1rem 0;font-size:.9rem;color:#758b98}.print-code{font-size:.85rem;display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.print-code .az-seed-field{display:inline-flex!important;flex:0 1 auto;align-items:center;gap:8px;vertical-align:middle;margin:.25rem 0}.print-tools select{margin-left:.5rem}footer{padding:1.5rem 0;max-width:1060px;color:#6d8593;font-size:.8rem}.telemetry-notice{max-width:1200px;margin:auto;padding:1rem 20px 2rem;border-top:1px solid var(--line);font-size:.8rem}.telemetry-notice p{margin:0 0 .5rem}.telemetry-notice button{background:transparent;color:var(--ink);font-size:.8rem;margin-left:.8rem;padding:.3rem .6rem}
@media(max-width:900px){.intro{gap:2rem}.config{grid-template-columns:1fr 1.5fr}.config>div{grid-column:1/-1}.experiment{grid-template-columns:1fr 1fr}.experiment>article:last-child{grid-column:1/-1}.pan-hint{display:block}}
@media(max-width:650px){.intro{grid-template-columns:1fr;gap:.6rem}.formula{padding:.5rem 1rem}.formula span{font-size:2rem}.formula p{font-size:.8rem}.guide{flex-direction:column;gap:.5rem}.guide p{font-size:.85rem}.bench-grid,.experiment,.results{grid-template-columns:1fr}.experiment>article:last-child{grid-column:auto}.chip{display:none}}
@media(max-width:500px){main{padding:1.5rem 12px 0}.top{padding:.6rem 12px;flex-wrap:wrap;gap:.6rem}.top>div{gap:.7rem}.top .back{font-size:.8rem}.top label{font-size:0}.top select{font-size:.8rem;padding:.3rem;min-height:36px}.panel{padding:1rem}.guide{padding:.8rem}.tabs button{font-size:.85rem}.config{grid-template-columns:1fr;gap:.8rem}.config>div{grid-column:auto}.telemetry-notice button{margin:.5rem 0 0 .5rem}}
@media print{#app,.telemetry-notice,.az-analytics-prompt,.az-analytics-dialog{display:none!important}body{background:#fff;color:#000;font:9.5pt/1.4 Arial,sans-serif}#printRoot{display:block!important}.print-page{break-after:page;min-height:230mm;position:relative;padding-bottom:12mm}.print-page:last-child{break-after:auto}.print-page h1{font-size:20pt;letter-spacing:normal;max-width:none}.print-page header p{font-size:9pt}.print-page ol{padding-left:6mm}.print-page li{break-inside:avoid;min-height:50mm;border-bottom:1px solid #999;padding-top:3mm}.print-page li p{margin:2.5mm 0;overflow-wrap:anywhere}.print-page footer{position:absolute;bottom:0;padding:0;font-size:8pt;color:#000}}
