:root{color-scheme:light;--paper:#fcf2ea;--card:#fffdfa;--ink:#3d251d;--red:#a33824;--muted:#6d5146;--line:#e5cbbd;--soft:#fae5db;font-family:system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
body{margin:0}
.shell{width:min(1040px,calc(100% - 34px));margin-inline:auto}
.top,.head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.top{height:66px;border-bottom:1px solid var(--line)}
a{color:var(--red)}
.brand{color:var(--ink);display:flex;gap:9px;align-items:center;font-weight:820;text-decoration:none}
.brand span{background:var(--red);color:#fff;padding:5px 9px;border-radius:8px}
.intro{padding:49px 0 29px}
.eyebrow{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:820;color:var(--red);margin:0 0 8px}
h1,h2,p{margin-top:0}
h1{font-family:Georgia,serif;font-weight:normal;font-size:clamp(3rem,9vw,7rem);letter-spacing:-.079em;line-height:.86;margin-bottom:19px}
h2{font-size:clamp(1.4rem,4vw,2.14rem);letter-spacing:-.042em;margin-bottom:10px}
p{line-height:1.54}
.intro p:last-child,.guide p:last-child{color:var(--muted);max-width:57ch}
.card{padding:clamp(15px,3.4vw,29px);border:1px solid var(--line);border-radius:16px;margin-bottom:15px;background:var(--card)}
.head{align-items:flex-start}
label{display:block;font-size:.88rem;font-weight:730}
input,textarea,select,button{font:inherit}
input,textarea,select{color:var(--ink);background:#fffaf7;border:1px solid var(--line);border-radius:8px;padding:8px;display:block;width:100%;margin:5px 0 10px}
textarea{resize:vertical}
button{border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--red);background:#fffdfb;font-size:.86rem;font-weight:750;cursor:pointer;margin:0 5px 4px 0}
button.primary{background:var(--red);border-color:var(--red);color:white}
button:disabled,input:disabled,textarea:disabled{opacity:.55;cursor:default}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.counts{grid-template-columns:repeat(4,minmax(0,1fr))}
.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.metrics{display:grid;gap:8px;margin:9px 0 14px}
.metrics span{background:var(--soft);border-radius:8px;padding:9px;font-size:.88rem;font-weight:730}
#notice,.quiet,#log{font-size:.88rem;color:var(--muted)}
#notice,.quiet{margin:9px 0 0}
#result{font-weight:740}
#log{padding-left:24px;margin-bottom:0}
#log li{padding:5px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
footer{padding:15px 0 24px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
@media(max-width:780px){.counts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:610px){.form-grid,.metrics{grid-template-columns:1fr}.head{flex-wrap:wrap}.intro{padding-top:33px}}
