:root{font-family:"DM Sans",system-ui,sans-serif;color:#19352a;background:#f7f7ef;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}header,main{max-width:1250px;margin:auto;padding-inline:clamp(18px,4vw,62px)}header{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #daddcd}header strong{font-size:1.3rem;letter-spacing:-.05em}a{color:inherit}.intro{padding:50px 0 36px}h1{margin:0;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(2.55rem,7vw,5.15rem);font-weight:500;letter-spacing:-.065em;line-height:.95}.intro p{max-width:490px;color:#516556;line-height:1.55;margin:20px 0}button{background:#214939;color:white;border:1px solid #214939;border-radius:8px;padding:10px 14px;font:inherit;font-weight:650;cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b5732d;outline-offset:2px}#editor{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:14px;scroll-margin:15px}aside,.output{border:1px solid #daddcd;background:#fffef8;border-radius:14px;padding:16px}label{display:grid;gap:5px;margin-bottom:13px;font-size:.88rem;font-weight:650}input,select{color:inherit;font:inherit;max-width:100%;border:1px solid #daddcd;background:white;border-radius:6px;padding:8px}input[type=color]{height:37px;width:80px}.upload{padding:10px;background:#eff3e8;border:1px dashed #91a394;border-radius:8px}.hint,#notice,footer{color:#516556;font-size:.85rem;line-height:1.5}.actions{display:flex;flex-wrap:wrap;gap:7px}#current{background:transparent;color:#214939}#previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}figure{margin:0;min-width:0}canvas{display:block;width:100%;border-radius:12px;background:#e8ebe0}figcaption{overflow-wrap:anywhere;font-size:.8rem;margin-top:6px}.slide{border-top:1px solid #daddcd;padding-top:9px;margin-top:9px}.slide button{background:transparent;color:#214939;font-size:.75rem;padding:5px 8px}.slide input{width:100%}footer{padding:22px 0}@media(max-width:700px){#editor{grid-template-columns:1fr}.intro{padding-top:35px}}
