*{box-sizing:border-box}body{margin:0;background:#ede7da;color:#253e38;font-family:Arial,sans-serif}button,input,textarea,select{font:inherit}button,summary{cursor:pointer}button{background:#244d43;color:#fff;border:1px solid #244d43;border-radius:5px;padding:10px 13px}button:hover{background:#3d695a}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d76a39;outline-offset:3px}input,textarea,select{border:1px solid #b8b5a4;background:#fffcf4;color:#263d35;padding:8px;min-width:0;width:100%;border-radius:4px}label{display:grid;gap:7px;margin-bottom:12px;font-size:13px}input[type=color]{height:38px;padding:3px}header{display:flex;justify-content:space-between;gap:30px;padding:42px 0;border-bottom:1px solid #a6ad9c}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,5vw,66px);line-height:1.04;margin:14px 0}h1 em{color:#9d5039}h2{font-size:16px;font-weight:500;letter-spacing:.02em;margin:20px 0}.eyebrow{letter-spacing:.23em;font-size:11px}.app{max-width:1350px;margin:auto;padding:0 38px;background:#ede7da}.badge{text-align:right;font-size:12px;line-height:1.8;padding-top:25px}main{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;padding:26px 0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}p{line-height:1.5;font-size:14px}.muted{color:#616f60;font-size:12px}.formula{background:#e0d9c9;padding:15px;font-family:monospace}.stage{min-width:0;background:#faf6ec;padding:20px;border-radius:8px}.stagehead{display:flex;align-items:center;justify-content:space-between;gap:10px}.stagehead span{font-size:12px}.canvas svg{width:100%;height:auto;max-height:520px}.cells,.clickgrid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:2px}.cells button{padding:8px 0;font-size:9px}.clickgrid{margin-top:20px}.clickgrid button{height:24px;border:0;padding:0;color:#203d34;font-size:13px}.library{border-top:1px solid #a6ad9c;padding:20px 0}textarea{height:260px;font:12px monospace;resize:vertical}details{padding:12px 0}summary{font-size:14px}footer{padding:28px 0 40px;border-top:1px solid #a6ad9c}.error{background:#ffd9c9;padding:14px;color:#7b2918}:fullscreen{overflow:auto;max-width:none}button:disabled{opacity:.5}@media(max-width:760px){.app{padding:0 16px}header{padding:25px 0}.badge{display:none}main{grid-template-columns:1fr;gap:15px}.stage{padding:10px}.stagehead{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{aside,.library,footer,button,details,.clickgrid{display:none!important}main{display:block}.app{padding:0}header{padding:10px 0}h1{font-size:28px}.stage{padding:0}.canvas svg{max-height:700px}}
