.lsd,.lsd *{box-sizing:border-box}.lsd{display:grid;grid-template-columns:minmax(330px,420px) 1fr;gap:18px;font-family:Arial,sans-serif;direction:rtl}.controls,.preview{background:#fff;border:1px solid #e4e4e7;border-radius:18px;padding:18px}.brand{display:flex;justify-content:space-between}.brand span{background:#111;color:#fff;padding:4px 9px;border-radius:99px}.card{border-top:1px solid #eee;padding-top:14px;margin-top:16px}.card label{display:block;margin:10px 0;font-weight:600}.card input:not([type=checkbox]):not([type=color]),.card textarea{width:100%;margin-top:5px;border:1px solid #d5d9df;border-radius:8px;padding:9px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex!important;gap:8px;align-items:center}.status{margin-top:16px;padding:12px;border-radius:10px;background:#eef7ee}.status.error,.order-message.error{background:#fee2e2;color:#991b1b}.actions{display:flex;gap:10px;margin-top:12px}.actions button,.order-submit{padding:11px 16px;border:0;border-radius:9px;background:#111;color:#fff;cursor:pointer}.actions button:disabled,.order-submit:disabled{opacity:.45;cursor:not-allowed}.order-submit{width:100%;font-weight:700;font-size:16px}.order-message{margin-top:10px;padding:8px;border-radius:8px}.order-message.ok{background:#ecfdf3;color:#166534}.preview header{display:flex;justify-content:space-between}.preview header small{display:block}.preview header span{margin:0 4px;background:#eee;padding:4px 8px;border-radius:20px}.viewer{height:620px;background:radial-gradient(circle,#fff,#e9eef5);border-radius:14px;margin:14px 0;overflow:hidden}.preview footer{text-align:center;color:#666}@media(max-width:780px){.lsd{grid-template-columns:1fr}.viewer{height:420px}.grid{grid-template-columns:1fr}.preview{order:-1}}
.letter-editor-card .editor-help{font-size:13px;color:#666;line-height:1.45}.letter-editor-actions{display:flex;gap:8px;margin-top:10px}.letter-editor-actions button{flex:1;border:1px solid #d5d9df;background:#fff;border-radius:9px;padding:10px;cursor:pointer;font-weight:700}.letter-editor-actions button[data-merge-letters]{background:#111;color:#fff}.letter-editor-actions button:disabled{opacity:.4;cursor:not-allowed}.viewer.letter-editing{outline:2px solid #111;cursor:grab}.viewer.letter-editing canvas{cursor:grab}.letter-editor-card small{display:block;margin-top:9px;color:#555}
.card select{width:100%;margin-top:5px;border:1px solid #d5d9df;border-radius:8px;padding:9px;background:#fff}

.connector-card[hidden]{display:none!important}.connector-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.connector-actions button{border:1px solid #d5d9df;background:#fff;border-radius:9px;padding:10px;cursor:pointer;font-weight:700}.connector-actions [data-apply-connectors]{grid-column:1/-1;background:#111;color:#fff}.connector-actions button:disabled{opacity:.4;cursor:not-allowed}.viewer.connector-editing{outline:2px solid #2299ff}.workflow-ready{background:#ecfdf3!important;color:#166534!important}

.viewer-head-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.center-view-btn{border:1px solid #d4d4d8;background:#fff;color:#111;padding:5px 10px;border-radius:8px;cursor:pointer;font-weight:700}.center-view-btn:hover{background:#f4f4f5}

.view-toolbar{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.view-toolbar button{border:1px solid #d4d4d8;background:#fff;color:#111;padding:6px 9px;border-radius:8px;cursor:pointer;font-weight:700;line-height:1.1}.view-toolbar button:hover{background:#f4f4f5}.view-toolbar button:active{transform:translateY(1px)}@media(max-width:780px){.viewer-head-actions{align-items:flex-start}.view-toolbar{width:100%;justify-content:center}.view-toolbar button{flex:1 1 auto;min-width:54px}}
/* V4.7.5: the WebGL drawing buffer may be DPR-scaled, but the canvas must
   always occupy exactly the viewer's CSS box. Otherwise overflow:hidden
   clips an oversized intrinsic canvas and makes a correctly-centered model
   look permanently zoomed/off-center. */
.viewer{position:relative}
.viewer canvas{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}

/* V4.8.1 preview modes: BODY editing, automatic diffuser inspection and final illuminated simulation. */
.preview-mode-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.preview-mode-toolbar button{border:1px solid #d4d4d8;background:#fff;color:#111;padding:7px 11px;border-radius:9px;cursor:pointer;font-weight:800;line-height:1.1}.preview-mode-toolbar button:hover{background:#f4f4f5}.preview-mode-toolbar button.active{background:#111827;color:#fff;border-color:#111827}.viewer.final-preview{background:radial-gradient(circle at 50% 45%,#273449 0%,#111827 58%,#070b12 100%)}.viewer.final-preview canvas{filter:drop-shadow(0 0 8px rgba(255,255,255,.24))}.preview-mode-toolbar [data-preview-final].active{background:#f59e0b;color:#111;border-color:#f59e0b}@media(max-width:780px){.preview-mode-toolbar{width:100%;justify-content:center}.preview-mode-toolbar button{flex:1 1 auto}}
/* V4.12.2 customer UI cleanup */
[data-lsd-root] .compact-card{padding:14px 16px}
[data-lsd-root] .compact-card h3{margin:0 0 10px;font-size:18px}
[data-lsd-root] .compact-card label{margin-bottom:10px}
[data-lsd-root] .compact-card label:last-child{margin-bottom:0}
[data-lsd-root] .color-line{display:flex;align-items:center;justify-content:space-between;gap:12px}
[data-lsd-root] .color-line input[type=color]{width:54px;height:34px;padding:2px}
[data-lsd-root] [data-base-controls][hidden],[data-lsd-root] [data-row2-controls][hidden],[data-lsd-root] [data-row2][hidden],[data-lsd-root] [data-status][hidden]{display:none!important}
[data-lsd-root] .preview header{min-height:52px}
[data-lsd-root] .preview-mode-toolbar{margin-inline-start:auto}
.body-color-picker{margin-top:14px}.body-color-swatches{display:flex;flex-wrap:wrap;gap:10px;margin-top:9px}.body-color-option{display:flex!important;align-items:center;gap:6px;margin:0!important;cursor:pointer;font-weight:500!important}.body-color-option input{position:absolute;opacity:0;pointer-events:none}.body-color-swatch{width:28px;height:28px;border-radius:50%;background:var(--swatch);border:2px solid #d1d5db;box-shadow:0 0 0 2px transparent}.body-color-option input:checked+.body-color-swatch{border-color:#111827;box-shadow:0 0 0 3px #dbeafe}.body-color-option small{font-size:12px;color:#374151}

/* v4.13.5 — in-viewer build progress overlay (UI only; no geometry/worker changes) */
.lsd-build-progress{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(235,240,247,.32);backdrop-filter:blur(1px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}.lsd-build-progress.show{opacity:1;visibility:visible}.lsd-build-progress-card{width:min(390px,78%);padding:17px 20px 18px;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 10px 34px rgba(15,23,42,.16);direction:rtl;text-align:center}.lsd-build-progress-text{font-size:16px;font-weight:700;color:#111827;margin-bottom:11px}.lsd-build-progress-text b{font-variant-numeric:tabular-nums}.lsd-build-progress-track{height:9px;border-radius:999px;background:#e5e7eb;overflow:hidden;direction:ltr}.lsd-build-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:#1677ee;transition:width .45s ease}.viewer.final-preview .lsd-build-progress{background:rgba(7,11,18,.28)}@media(max-width:780px){.lsd-build-progress-card{width:min(330px,86%);padding:14px 16px}.lsd-build-progress-text{font-size:14px}}

/* v4.13.6 — visual English font picker */
.lsd-english-font-picker{margin:8px 0 12px}.lsd-english-font-picker[hidden]{display:none!important}.lsd-font-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lsd-font-choice{border:1px solid #d5d9df;background:#fff;border-radius:10px;padding:8px 10px;min-height:68px;cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.lsd-font-choice span{font-size:28px;line-height:1;direction:ltr}.lsd-font-choice small{font:600 12px/1.2 Arial,sans-serif;color:#4b5563}.lsd-font-choice.active{border-color:#111827;box-shadow:0 0 0 2px #dbeafe;background:#f8fafc}.lsd-font-choice:focus-visible{outline:2px solid #1677ee;outline-offset:2px}@media(max-width:420px){.lsd-font-choice-grid{grid-template-columns:1fr 1fr}.lsd-font-choice span{font-size:24px}}
/* v4.13.10 — clean visual design picker for Hebrew + English */
.lsd-design-picker{margin:0 0 12px}.lsd-design-title{display:block;font-size:16px;margin:0 0 9px}.lsd-hebrew-font-picker,.lsd-english-font-picker{margin:0}.lsd-font-choice small{display:none!important}.lsd-font-choice{min-height:78px;padding:10px}.lsd-font-choice span{font-size:32px}.lsd-font-choice img{display:block;max-width:100%;width:auto;height:52px;object-fit:contain}.lsd-font-choice.active{border-color:#1677ee;box-shadow:0 0 0 2px #dbeafe;background:#f5f9ff}

/* v4.13.22 Hebrew outline font cards */
.lsd-font-choice .lsd-hebrew-outline-sample{font-size:0!important;line-height:0!important;max-width:100%!important;overflow:hidden!important}.lsd-font-choice .lsd-hebrew-outline-sample svg{width:100%!important;height:48px!important;max-width:100%!important;display:block!important}.lsd-font-choice .lsd-font-style-label{display:block!important;font:600 10px/1.2 Arial,sans-serif!important;color:#64748b!important;margin-top:4px!important}.lsd-font-choice{overflow:hidden!important}

/* v4.13.23 — Hebrew cards mirror the English picker: live entered text only, no style labels */
.lsd-hebrew-font-picker .lsd-font-choice{min-height:78px}.lsd-hebrew-font-picker .lsd-hebrew-outline-sample{height:54px!important}.lsd-hebrew-font-picker .lsd-font-style-label{display:none!important}

/* v4.13.25 — uniform Hebrew live font preview */
.lsd-hebrew-font-picker .lsd-font-choice,.lsd-english-font-picker .lsd-font-choice{display:flex;align-items:center;justify-content:center;min-height:86px;padding:12px 14px;overflow:hidden}
.lsd-hebrew-outline-sample{display:flex!important;width:100%;height:58px!important;align-items:center;justify-content:center;color:#111827}
.lsd-hebrew-outline-sample svg{display:block;width:100%;height:58px;max-width:100%;overflow:visible}
.lsd-hebrew-outline-sample svg path,.lsd-hebrew-outline-sample svg polygon,.lsd-hebrew-outline-sample svg polyline,.lsd-hebrew-outline-sample svg rect,.lsd-hebrew-outline-sample svg circle,.lsd-hebrew-outline-sample svg ellipse{fill:#111827!important;stroke:none!important}
