@font-face{font-family:Inter;src:url('/inter.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Archivo Black';src:url('/archivo-black.woff2') format('woff2');font-display:swap}
:root{--bg:#eeeee5;--paper:#fdfbf2;--ink:#25384b;--muted:#53634e;--line:#bbc4b0;--blue:#274d8a;--focus:#2a6295;font:500 15px/1.5 Inter,system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:linear-gradient(118deg,#f2ede0,var(--bg) 58%)}
a{color:inherit;text-underline-offset:3px;text-decoration-color:#7a8b81}
a:hover{color:var(--blue)}
.frame{width:min(1184px,calc(100% - 54px));margin-inline:auto}
.top,.footer,.head{display:flex;justify-content:space-between;align-items:center;gap:9px}
.top{height:65px;border-bottom:1px solid var(--line);font-size:13px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-size:17px;font-weight:760;letter-spacing:-.04em}
.mark{display:flex;position:relative;align-items:center;justify-content:center;gap:2px;width:28px;height:28px;background:#314e79;border-radius:6px}
.mark i{width:7px;height:7px;border-radius:50%;border:1.4px solid #f8e4aa}
.mark i:last-child{width:11px;height:11px}
.mark::after{content:'';position:absolute;left:9px;top:9px;width:12px;height:1px;transform:rotate(-12deg);background:#f8e4aa}
button,input,select{font:inherit;color:inherit}
input,select,button{border:1px solid #b7c2ad;background:#f7f7ed;border-radius:6px;padding:7px 9px;min-height:37px}
button{cursor:pointer;font-size:12px;font-weight:740}
button:disabled{opacity:.5;cursor:default}
.head>button{flex:none;white-space:nowrap}
button:hover:not(:disabled){border-color:#567da0}
.primary{background:#304f7b;color:#fff7e8;border-color:#304f7b}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
[hidden]{display:none!important}
.skip{position:absolute;top:-90px;left:12px;padding:7px;background:var(--paper)}
.skip:focus{top:8px}
h1,h2,p,dl,dd,fieldset{margin:0}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,300px);align-items:end;gap:17px;padding:31px 0 18px}
h1{font:400 clamp(43px,7.5vw,102px)/.92 'Archivo Black',Inter,sans-serif;letter-spacing:-.075em}
h1 em{color:var(--blue);font-style:normal}
.hero p{font-size:15px;color:var(--muted);max-width:35ch;padding-bottom:4px}
h2{font-size:18px;line-height:1.18;letter-spacing:-.04em}
.studio{display:grid;grid-template-columns:minmax(281px,.72fr) minmax(0,1.45fr);gap:11px;align-items:start}
.card{min-width:0;border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:14px}
.compact{display:flex;align-items:center;gap:5px}
.compact select{min-height:32px;padding:4px 6px}
form label,legend{font-size:12px;font-weight:650}
form label input:not([type=radio]){display:block;width:100%;font-size:14px;min-width:0;margin-top:3px}
fieldset{padding:0;border:0;margin:9px 0 6px}
legend{margin-bottom:4px}
.switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.switch label{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #bdc7b3;border-radius:6px}
.switch label:has(input:checked){background:#e0e8ee;border-color:#88a1b6}
.switch input{accent-color:var(--blue)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0}
.hint,.error{font-size:12px;line-height:1.4;color:var(--muted)}
.error{margin-top:4px;color:#8a3b27}
.presets{display:flex;gap:4px;flex-wrap:wrap;margin-top:9px}
.presets button{font-size:11px;min-height:33px;padding:4px 6px}
.view h2,.spacing h2{margin-bottom:3px}
#diagram{display:block;width:100%;height:clamp(195px,25vw,320px);margin-top:7px;border:1px solid #c5cfbd;border-radius:6px}
.results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:7px}
.results div{min-width:0;border:1px solid #d2dbca;background:#f4f5e9;border-radius:6px;padding:6px}
.results dt,.results dd span{color:#52644f;font-size:11px;line-height:1.15}
.results dd strong{display:block;font-size:clamp(16px,1.9vw,24px);letter-spacing:-.05em;line-height:1.1;margin:3px 0;color:#2a4c76;overflow-wrap:break-word;font-variant-numeric:tabular-nums}
.spacing{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,1.3fr);gap:9px;margin-top:11px}
.fit-controls{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}
.fit-controls input{min-width:120px;flex:1}
#fit-result{margin-top:4px}
.footer{border-top:1px solid var(--line);margin-top:19px;padding:10px 0 17px;color:var(--muted);font-size:12px}
.reading{max-width:750px;padding:31px 0 17px}
.reading h1{font-size:clamp(40px,7vw,84px);margin-bottom:14px}
.reading h2{font-size:22px;margin:22px 0 5px}
.reading p,.reading li{max-width:65ch;margin-bottom:7px}
.reading .lead{font-size:17px;color:var(--muted)}
.reading code{color:var(--blue);overflow-wrap:anywhere}
@media(max-width:860px){.frame{width:calc(100% - 33px)}.card{padding:10px}}
@media(max-width:670px){.frame{width:calc(100% - 24px)}.top{height:55px}.hero,.studio,.spacing{grid-template-columns:1fr;gap:8px}.hero{padding:22px 0 12px}.hero p{padding:0}.results{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{align-items:start}}
