:root{color-scheme:light;--ink:#233c45;--muted:#687e84;--accent:#087e86;--line:#dae7e8;--soft:#edf5f4}
*{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,.playback,.heading,.panel-note,.scale-note,.metrics,.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 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{outline:3px solid #dba65b;outline-offset:3px}.playback{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-bottom:17px;font-size:11px}.playback button{appearance:none;border:1px solid var(--accent);background:var(--accent);border-radius:5px;color:#fff;font:600 11px/1.5 system-ui,sans-serif;padding:8px 13px;cursor:pointer;min-height:35px;white-space:nowrap}.scale-choice{display:flex;align-items:center;gap:7px;line-height:1.5;cursor:pointer}.scale-choice input{accent-color:var(--accent);width:16px;height:16px;flex:none}#status{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}.landscapes{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.product{border-color:#94bfc0;background:#fbfefd}.heading{padding:0 4px;display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin-bottom:3px}.heading h3{font-size:12px;font-weight:650;line-height:1.4;margin:0}.heading i{font:italic 18px/1 Georgia,serif;margin-left:4px}.heading span{font-size:9px;color:var(--muted);white-space:nowrap}canvas{display:block;width:100%;aspect-ratio:1/1.17}.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}.scale-note{font-size:10px;color:var(--muted);margin:8px 2px 0}.metrics{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:10px;margin:17px 0 14px}.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:17px;line-height:1.4;margin:4px 0 0;font-variant-numeric:tabular-nums}.method{font-size:10px;line-height:1.65;color:var(--muted);margin-bottom:0}
@media(max-width:760px){main{padding:18px 12px}.landscapes{gap:7px}.panel{padding:9px 4px 8px}.heading{display:block;min-height:37px}.heading span{display:block;margin-top:2px}.metrics{gap:7px}.playback{gap:10px 12px}.scale-choice{max-width:320px}#status{margin-left:0}}
@media(max-width:570px){main{padding:16px 11px}.controls{padding:12px;gap:14px}.landscapes{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:last-child{grid-column:1/-1}.scale-note{font-size:11px}.method{font-size:11px}.scale-choice{max-width:260px}.heading i{font-size:20px}h2{font-size:20px}}
@media(max-width:360px){.controls{grid-template-columns:1fr;gap:12px}.metrics dt{font-size:10px}.playback{gap:10px}.scale-choice{max-width:235px}}
@media print{.controls,.playback{display:none}.panel{break-inside:avoid}main{padding:0}}
