.zg-ripple-composer{margin:.75rem auto 0;max-width:400px;border:1px solid #b9875288;border-radius:10px;background:#fff;color:#6b4a2b;font-size:.8rem}
.zg-ripple-composer summary{min-height:44px;padding:.8rem;cursor:pointer;font-weight:700}
.zg-ripple-body{padding:0 .8rem .8rem}
.zg-ripple-body p{line-height:1.5;margin:0 0 .6rem}
.zg-ripple-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.zg-ripple-fields label{font-weight:600;line-height:1.4;min-width:0}
.zg-ripple-fields input{display:block;min-height:44px;width:100%;min-width:0;margin-top:.25rem;padding:.5rem;border:1px solid #b98752;border-radius:6px;font:inherit;color:#6b4a2b;background:#fff}
.zg-ripple-buttons{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}
.zg-ripple-buttons button{min-height:44px;min-width:44px;flex:1 1 100px;padding:.5rem;border:1px solid #b98752;border-radius:8px;background:#f1e4d1;color:#6b4a2b;font:700 .8rem 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
.zg-ripple-composer :focus-visible{outline:3px solid #7a5634;outline-offset:2px}
#zg-ripple-status{display:block;line-height:1.5;min-height:3em}
#zg-tray{position:relative}
.zg-ripple-preview{position:absolute;inset:10px;border-radius:6px;overflow:hidden;pointer-events:none}
.zg-ripple-preview[hidden]{display:none}
.zg-ripple-preview span{position:absolute;border:1.5px dashed #6b4a2b;border-radius:50%;transform:translate(-50%,-50%)}
