:root{color-scheme:light;--ink:#283b35;--paper:#f6f2e9;--line:#d7d3c8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,sans-serif}header,main,footer{max-width:960px;margin:auto;padding:25px 30px}header{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px}header span,.eyebrow{font:11px/1.6 system-ui;letter-spacing:2px}.intro{padding:55px 0 25px}.intro>p:last-child{max-width:530px}h1{font:normal clamp(36px,5.5vw,65px)/1.13 Georgia,serif;letter-spacing:-1.8px;margin:20px 0}h1 em{color:#9b633c;font-weight:normal}h2{font:normal 32px/1.2 Georgia,serif;margin-top:45px}a{color:inherit;text-underline-offset:4px}form,.toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap}form{padding:24px 0;border-block:1px solid var(--line)}label{display:block;font-size:13px}input,select,button{font:inherit;border:1px solid #a3aba2;border-radius:4px;padding:11px;background:#fffcf5;color:var(--ink)}input[type=number]{width:125px}button{cursor:pointer;background:var(--ink);color:white}.quiet{background:transparent;color:var(--ink)}input[type=checkbox]{accent-color:var(--ink)}input[type=range]{width:100%;padding:0;accent-color:var(--ink)}:focus-visible{outline:3px solid #a96730;outline-offset:4px}.small{font-size:12px;line-height:1.75;max-width:760px}#error{color:#963726;margin:0;flex-basis:100%}#result{margin-top:50px}.numbers{display:flex;gap:60px;margin:24px 0}.numbers strong{display:block;font:normal clamp(38px,6vw,66px) Georgia,serif}.numbers span{font-size:12px}#expectation{font-weight:600}.toolbar{margin:30px 0 20px;align-items:center}.toolbar label{flex:1;min-width:160px}.legend{display:flex;align-items:center;gap:12px;font-size:11px}.legend i{height:12px;flex:1;background:linear-gradient(90deg,#fff,#000);border:1px solid #aaa}.tapestry{max-height:600px;overflow:auto;border:1px solid var(--line);background:#dedbd1;margin:18px 0;padding:10px}canvas{display:block;max-width:100%;margin:auto}#day-info{min-height:52px;font-size:14px}#curve{width:100%;display:block;background:#eeebe2;border-radius:5px}details{border-block:1px solid var(--line);padding:20px 0;margin:35px 0}summary{cursor:pointer}footer{text-align:center;font:italic 23px Georgia,serif;padding:50px 20px} @media(max-width:600px){header,main{padding:20px}header span{display:none}.intro{padding-top:28px}form>div{flex:1}.numbers{gap:25px}.numbers strong{font-size:40px}.toolbar{align-items:stretch}.toolbar>*{width:100%}.tapestry{max-height:460px;padding:5px}}
