/* Banaune Greetings V18. Isolated styles; existing editor styling remains unchanged. */
#bn18-trigger {min-height:44px;}
.bn18-dialog{border:0;padding:0;background:transparent;color:inherit;width:min(940px,calc(100vw - 22px));max-width:940px;max-height:min(94dvh,1000px);overflow:visible;}
.bn18-dialog::backdrop{background:rgba(8,15,29,.78);backdrop-filter:blur(3px);}
.bn18-panel{border-radius:18px;border:1px solid var(--line,#d8e0e9);background:var(--surface,#fff);color:var(--ink,#19283b);box-shadow:0 30px 90px rgba(0,0,0,.3);padding:clamp(14px,2.6vw,26px);overflow-y:auto;max-height:min(94dvh,1000px);}
.bn18-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.bn18-heading h2{font-size:clamp(20px,3vw,28px);font-weight:800;line-height:1.17;margin:3px 0 7px;}
.bn18-heading p{font-size:13px;color:var(--ink-2,#5d6b7b);margin:0;line-height:1.45;}
.bn18-eyebrow{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--ink-2,#67768b);}
.bn18-close{min-width:43px;min-height:43px;border-radius:11px;border:1px solid var(--line,#d6dce5);background:var(--surface-alt,#f3f6f9);color:var(--ink,#19283b);font-size:26px;cursor:pointer;}
.bn18-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:17px 0;}
.bn18-choice{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;min-height:64px;padding:9px 6px;background:var(--surface-alt,#f3f5f8);border:1px solid var(--line,#d8dce2);border-radius:12px;color:var(--ink,#19283b);cursor:pointer;}
.bn18-choice strong{font-size:13px;}
.bn18-choice small{font-size:10px;color:var(--ink-2,#68778a);}
.bn18-choice.is-active{outline:2px solid var(--brand,#2457e6);outline-offset:-2px;background:rgba(36,87,230,.09);}
.bn18-main{display:grid;grid-template-columns:minmax(0,235px) minmax(0,1fr);gap:20px;align-items:start;}
.bn18-controls{display:flex;flex-direction:column;gap:9px;}
.bn18-controls label{font-size:12px;font-weight:800;}
.bn18-controls select{width:100%;max-width:100%;padding:10px 8px;font-size:13px;border:1px solid var(--line,#d8dce2);border-radius:9px;background:var(--surface,#fff);color:var(--ink,#19283b);min-height:44px;}
.bn18-controls .bn18-color-wrap{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.bn18-controls input[type=color]{height:38px;width:52px;border:1px solid var(--line,#d8dce2);border-radius:9px;background:var(--surface,#fff);}
.bn18-controls .bn18-help{font-size:12px;line-height:1.5;color:var(--ink-2,#64748b);margin:4px 0;}
.bn18-refresh,.bn18-copy{min-height:44px;padding:9px 10px;border:1px solid var(--line,#d8dce2);border-radius:9px;background:var(--surface-alt,#f4f6f8);color:var(--ink,#19283b);cursor:pointer;font-size:12px;font-weight:700;}
.bn18-preview-side{min-width:0;text-align:center;}
.bn18-preview-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:min(46dvh,440px);min-height:180px;background:var(--surface-alt,#eff2f5);border:1px solid var(--line,#d8dce2);border-radius:12px;overflow:hidden;padding:12px;}
#bn18-preview{display:block;max-height:100%;max-width:100%;height:auto;width:auto;object-fit:contain;box-shadow:0 12px 22px rgba(0,0,0,.2);}
#bn18-status{font-size:12px;line-height:1.4;margin:9px 0;min-height:20px;color:var(--ink-2,#5b697c);}
#bn18-status.bn18-error{color:#b3261e;}
.bn18-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;}
.bn18-actions .btn{min-height:44px;}
.bn18-dialog button:focus-visible,.bn18-dialog select:focus-visible,.bn18-dialog input:focus-visible{outline:3px solid #2457e6;outline-offset:2px;}
@media(max-width:650px){.bn18-main{grid-template-columns:1fr;gap:12px}.bn18-options{grid-template-columns:repeat(2,minmax(0,1fr))}.bn18-panel{padding:13px;}.bn18-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;align-items:center}.bn18-controls label,.bn18-controls select,.bn18-controls .bn18-help,.bn18-controls .bn18-color-wrap{grid-column:1/-1}.bn18-controls .bn18-refresh,.bn18-controls .bn18-copy{grid-column:auto}.bn18-preview-wrap{height:min(40dvh,370px)}.bn18-actions .btn{flex:1}}
@media(prefers-reduced-motion:reduce){.bn18-dialog::backdrop{backdrop-filter:none}}
