#stamp-workspace{--stamp-blue:#24518c;--stamp-warm:#a5482d}#stamp-workspace h3{margin:0 0 16px}.stamp-intro{color:var(--muted);margin-bottom:24px}.stamp-styles{border:0;padding:0;margin:0 0 28px;min-width:0}.stamp-styles legend{font-weight:600;margin-bottom:14px}.stamp-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#stamp-workspace button{font:inherit;cursor:pointer;transition:background .15s,border-color .15s}#stamp-workspace button:disabled{cursor:wait;opacity:.55}#stamp-workspace button:focus-visible,#stamp-workspace input:focus-visible,#stamp-workspace select:focus-visible,#stamp-workspace summary:focus-visible{outline:3px solid var(--stamp-blue);outline-offset:3px}.stamp-preset{display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid #d7cfc2;border-radius:16px;background:#fffdf8;color:#35413a;padding:16px 12px;min-height:88px}.stamp-preset:hover{background:#f5efe4}.stamp-preset[aria-pressed="true"]{border:2px solid var(--stamp-blue);padding:15px 11px;background:#edf3f7}.stamp-mini{display:block;flex:none;width:42px;height:42px;border:3px double var(--stamp-blue);position:relative}.stamp-mini:after{content:"";position:absolute;inset:12px 7px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;color:var(--stamp-blue)}.stamp-mini-round{border-radius:50%}.stamp-mini-rectangle{height:30px;width:49px;border-radius:4px}.stamp-mini-rectangle:after{inset:7px}.stamp-mini-warm{border-color:var(--stamp-warm)}.stamp-mini-warm:after{color:var(--stamp-warm)}.stamp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}.stamp-editor,.stamp-output{min-width:0}.stamp-output{position:sticky;top:20px}.stamp-fields{display:grid;gap:16px}.stamp-fields label,.stamp-settings-fields label{display:grid;gap:7px;font-size:.95rem;color:#35413a}.stamp-fields input,.stamp-settings-fields select{box-sizing:border-box;width:100%;min-width:0;min-height:46px;border:1px solid #cfc7ba;border-radius:10px;padding:10px 12px;background:#fffefb;color:#24332c;font:inherit}.stamp-settings,.stamp-save,.stamp-help{border-top:1px solid #e4ded3;padding:16px 0 4px;margin-top:20px}.stamp-settings summary,.stamp-save summary,.stamp-help summary{cursor:pointer;min-height:28px;color:#515d53}.stamp-settings-fields{display:grid;grid-template-columns:1fr 90px;gap:16px;margin-top:16px}.stamp-color-label input{height:46px;width:100%;padding:4px;border:1px solid #cfc7ba;border-radius:10px;background:#fffefb}.stamp-preview{background:repeating-conic-gradient(#edece8 0% 25%,#fafaf7 0% 50%) 0/16px 16px;border:1px solid #e4ded3;border-radius:20px;padding:22px;display:grid;place-items:center;aspect-ratio:1;overflow:hidden}.stamp-preview img{display:block;max-width:100%;max-height:340px;width:auto;height:auto;object-fit:contain}.stamp-preview img[hidden],.stamp-preview span[hidden]{display:none}.stamp-actions{display:grid;gap:10px;margin:18px 0 12px}.stamp-actions button,.stamp-secondary button,#stamp-example{min-height:46px;border-radius:12px;padding:12px 16px;border:1px solid #cfc7ba;background:#fffdf8;color:#35413a}.stamp-actions button:hover,.stamp-secondary button:hover,#stamp-example:hover{background:#f2ebdf}.stamp-actions .primary{background:var(--stamp-warm);border-color:var(--stamp-warm);color:#fff;font-weight:600}.stamp-actions .primary:hover{background:#8c3924}.stamp-note{font-size:.85rem;color:#626b62;line-height:1.5}.stamp-transparency{text-align:center;margin:10px 0}#stamp-status{font-size:.9rem;min-height:1.5em;margin:0;color:#405b48}.stamp-secondary{display:flex;align-items:start;flex-wrap:wrap;gap:20px;margin:16px 0}.stamp-file-label{display:grid;gap:8px;min-width:0}.stamp-file-label input{max-width:100%;font:inherit;font-size:.85rem}.stamp-save p,.stamp-help p{font-size:.9rem;line-height:1.6;color:#626b62}.stamp-footer{margin:22px 0 0}@media(max-width:650px){.stamp-presets{gap:8px}.stamp-preset{flex-direction:column;gap:9px;font-size:.8rem!important;padding:12px 5px;min-height:105px}.stamp-preset[aria-pressed="true"]{padding:11px 4px}.stamp-layout{grid-template-columns:1fr;gap:24px}.stamp-output{position:static}.stamp-preview{aspect-ratio:auto;min-height:200px;padding:16px}.stamp-preview img{max-height:230px}.stamp-actions{grid-template-columns:1fr}.stamp-secondary{display:grid;gap:16px}.stamp-file-label input{width:100%;box-sizing:border-box}}@media(prefers-reduced-motion:reduce){#stamp-workspace button{transition:none}}

/* AO102: write first, with optional details below the two main fields. */
.stamp-extra{margin-top:18px}.stamp-extra summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#515d53}.stamp-extra .stamp-fields{margin-top:12px}.stamp-settings .stamp-styles{margin:18px 0}.stamp-editor>h3,.stamp-output>h3{font-size:1.1rem}.stamp-preview{aspect-ratio:auto;min-height:250px}.stamp-preview img{max-height:280px}.stamp-presets{gap:8px}.stamp-preset{min-height:68px;padding:10px 8px;gap:8px;font-size:.85rem!important}.stamp-preset[aria-pressed="true"]{padding:9px 7px}.stamp-extra summary:focus-visible{outline:3px solid var(--stamp-blue);outline-offset:3px}@media(max-width:650px){.stamp-layout{gap:24px}.stamp-preview{min-height:180px}.stamp-preview img{max-height:210px}.stamp-preset{min-height:88px}.stamp-extra summary{display:list-item;padding-top:10px}.stamp-intro{margin-bottom:20px}}


/* AO108: useful templates before the editor. */
.stamp-templates{border:0;margin:0 0 24px;padding:0;min-width:0}.stamp-templates legend{font-weight:600;margin-bottom:12px}.stamp-template-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stamp-template-choices button{display:grid;align-content:center;gap:6px;min-width:0;min-height:82px;text-align:left;border:1px solid #d7cfc2;border-radius:14px;padding:14px;background:#fffdf8;color:#35413a}.stamp-template-choices button:hover{background:#f5efe4}.stamp-template-choices button[aria-pressed="true"]{border-color:var(--stamp-blue);box-shadow:inset 0 0 0 1px var(--stamp-blue);background:#edf3f7}.stamp-template-choices strong{font-size:.95rem}.stamp-template-choices span{font-size:.8rem;color:#626b62;line-height:1.4}@media(max-width:650px){.stamp-template-choices{grid-template-columns:1fr}.stamp-template-choices button{min-height:62px;padding:12px 14px;gap:4px}.stamp-template-choices strong{font-size:1rem}}
