:root{font-family:Arial,sans-serif;color:#233e38;background:#eee9dc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1200px;margin:auto;padding:32px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #9aab9b;padding-bottom:22px}.eyebrow{letter-spacing:.2em;font-size:12px}button{border:1px solid #84968c;background:transparent;color:inherit;border-radius:3px;padding:10px 14px;margin:4px;cursor:pointer;font:inherit}button:hover{background:#dce3cf}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b94830;outline-offset:3px}button:disabled{opacity:.5;cursor:default}.intro{display:grid;grid-template-columns:2fr 1fr;gap:30px;align-items:center;padding:48px 0}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(44px,7vw,84px);line-height:1.04;margin:0}h1 em{color:#ab452e}p{line-height:1.65}aside{border-left:1px solid #8d9b87;padding-left:40px}aside span{letter-spacing:.15em;font-size:12px}aside strong{display:block;font-family:Georgia,serif;font-size:90px;color:#ab452e}.panel{background:#f8f4e9;border:1px solid #d2d4c3;padding:26px;margin:24px 0;border-radius:5px}h2{font-size:16px;letter-spacing:.06em;margin:0 0 24px}h3{font-weight:500}.fields,.constraints,.notes{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.constraints{grid-template-columns:repeat(7,1fr)}.notes{grid-template-columns:repeat(8,1fr)}label{font-size:12px;display:block}input,select{display:block;width:100%;padding:10px;border:1px solid #a9b3a2;background:#fffdf5;color:#233e38;margin-top:8px;font:inherit;font-size:16px}.pin{color:#ad442d}.pin input{border:2px solid #ad442d;color:#ad442d;opacity:1}.phrase{padding:0 0 22px;border-bottom:1px solid #d2d4c3;margin-bottom:22px}.score svg{width:100%;height:auto;display:block}.proof{border-left:4px solid #ae4730;padding-left:16px}.status{position:sticky;bottom:8px;background:#233e38;color:#fff8e8;padding:16px;border-radius:4px;z-index:1}textarea{width:100%;min-height:130px;padding:15px;background:#fffcf5;border:1px solid #9aab9b;font:14px monospace}footer{font-size:12px;max-width:800px;margin-top:35px}@media(max-width:720px){main{padding:16px}.intro{grid-template-columns:1fr}.intro aside{padding-left:20px}aside strong{font-size:60px}.fields,.constraints{grid-template-columns:repeat(2,1fr)}.notes{grid-template-columns:repeat(4,1fr)}.panel{padding:16px}header{gap:10px}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
