.fence-visualizer-page{background:#eef2ef}.fv-top-label{color:var(--muted);font-size:12px}.fv-app{max-width:1480px;margin:0 auto;padding:30px 28px 48px}.fv-app [hidden]{display:none!important}.fv-app .fv-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}.fv-app .fv-eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--tint);font-weight:700;margin:0 0 7px}.fv-app .fv-header h2{font:600 36px/1.15 'Source Serif Pro',Georgia,serif;letter-spacing:-.7px;color:var(--spruce)}.fv-app .fv-lead{font-size:14px;line-height:1.65;color:var(--muted);margin:10px 0 0;max-width:600px}.fv-app .fv-product-pill{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:13px 18px;background:#f9fbf8;border:1px solid #d0dfd4;border-radius:8px;color:var(--spruce)}.fv-app .fv-product-pill>span{font-size:31px;line-height:1;color:#789981}.fv-app .fv-product-pill strong,.fv-app .fv-product-pill small{display:block}.fv-app .fv-product-pill strong{font-size:13px}.fv-app .fv-product-pill small{font-size:11px;color:var(--muted);margin-top:4px}.fv-app .fv-workspace{display:grid;grid-template-columns:minmax(370px,.95fr) minmax(0,1.2fr);gap:24px;align-items:start}.fv-app .fv-editor,.fv-app .fv-result-panel{background:white;border:1px solid #d5e0d8;border-radius:10px;min-width:0;box-shadow:0 3px 14px #02463a05}.fv-app .fv-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:8px;padding:5px;background:#edf2ef;border-radius:7px}.fv-app .fv-mode-tabs button{border-color:transparent;background:transparent;min-height:48px;padding:10px 7px;font-size:13px;font-weight:600;line-height:1.35;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:5px}.fv-app .fv-mode-tabs button>span{font-size:20px}.fv-app .fv-mode-tabs button[aria-selected=true]{border-color:#bed1c4;background:white;color:var(--spruce);box-shadow:0 1px 4px #02463a0d}.fv-app .fv-mode-tabs button:hover{background:#e0ece3}.fv-app .fv-form{padding:17px 24px 23px}.fv-app .fv-mode-panel{margin-bottom:24px;outline-offset:6px}.fv-app .fv-mode-panel h3{font-size:18px;color:var(--spruce);margin:0 0 7px;letter-spacing:-.2px}.fv-app .fv-mode-panel>p{font-size:12px;color:var(--muted);line-height:1.65;margin:0}.fv-app .fv-field{min-width:0;padding:0;margin:0 0 24px;border:0}.fv-app legend{padding:0;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650;color:#304d3c;margin:0 0 12px}.fv-app .fv-step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;font-size:11px;font-weight:700;color:var(--spruce);background:#e8f1e9;margin-right:7px;vertical-align:middle}.fv-app legend .fv-step{margin-right:0}.fv-app .fv-field-head{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:9px}.fv-app .fv-field-head label{font-size:13px;font-weight:650;color:#304d3c;margin:0;line-height:1.5}.fv-app .fv-required{font-size:10px;color:var(--muted)}.fv-app .fv-help{font-size:11px;color:var(--muted);line-height:1.6;margin:9px 0 0}.fv-app .fv-color-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fv-app .fv-color-option,.fv-app .fv-ratio-option{position:relative;min-width:0}.fv-app .fv-color-option input,.fv-app .fv-ratio-option input{position:absolute;width:1px!important;height:1px;opacity:0;padding:0!important;margin:0;border:0;left:50%;top:50%}.fv-app .fv-color-option label{position:relative;margin:0;padding:9px 5px 11px;border:1px solid #d8e0d9;border-radius:7px;min-height:113px;cursor:pointer;text-align:center;background:#fcfdfb;font-size:10px;line-height:1.4;color:#42584a;display:flex;flex-direction:column;align-items:center;gap:8px}.fv-app .fv-color-swatch{width:100%;height:39px;border-radius:4px;background:var(--swatch);box-shadow:inset 0 0 0 1px #00000010;position:relative;overflow:hidden}.fv-app .fv-color-swatch::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,#ffffff0b,transparent 43%,#0000000c);pointer-events:none}.fv-app .fv-color-option input:checked+label{border-color:var(--spruce);box-shadow:0 0 0 1px var(--spruce);background:#edf5ef;color:var(--spruce);font-weight:650}.fv-app .fv-color-check{display:none;position:absolute;right:9px;top:13px;background:white;border-radius:50%;width:17px;height:17px;align-items:center;justify-content:center;color:var(--spruce);font-size:11px;box-shadow:0 1px 3px #0002}.fv-app .fv-color-option input:checked+label .fv-color-check{display:flex}.fv-app .fv-color-option input:focus-visible+label,.fv-app .fv-ratio-option input:focus-visible+label{outline:3px solid #85be00;outline-offset:3px}.fv-app .fv-color-option label:hover,.fv-app .fv-ratio-option label:hover{border-color:var(--tint);background:#f2f7f2}.fv-app .fv-references{margin:15px 0 0;border:0;border-top:1px solid #e0e8e2;padding:12px 0 0}.fv-app .fv-references>summary{font-size:11px;font-weight:600;color:var(--spruce);display:flex;flex-wrap:wrap;gap:4px 7px;cursor:pointer;min-height:28px;align-items:center}.fv-app .fv-references>summary::before{content:'+';font-size:16px;font-weight:400;margin-right:3px}.fv-app .fv-references[open]>summary::before{content:'−'}.fv-app .fv-references>summary::after{display:none}.fv-app .fv-references summary span{font-size:10px;color:var(--muted);font-weight:400}.fv-app .fv-reference-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.fv-app .fv-reference-card{margin:0;min-width:0}.fv-app .fv-reference-card img{display:block;width:100%;height:80px;object-fit:cover;border-radius:5px;background:#edf1ed}.fv-app .fv-reference-card figcaption{font-size:9px;color:var(--muted);line-height:1.4;margin:5px 0 0;overflow-wrap:anywhere}.fv-app #fv-prompt{display:block;min-height:138px;padding:12px 13px;line-height:1.7;font-size:13px;background:#fcfdfb;border-color:#c8d7cc;border-radius:6px;resize:vertical}.fv-app #fv-prompt[aria-invalid=true]{border-color:#ab4c2e}.fv-app .fv-prompt-footer{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.fv-app .fv-prompt-footer .fv-help{margin-top:7px}.fv-app .fv-prompt-count{font-size:10px;color:var(--muted);margin-top:9px;white-space:nowrap}.fv-app .fv-ratio-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.fv-app .fv-ratio-option label{margin:0;padding:10px 4px 9px;min-height:81px;border:1px solid #d8e0d9;border-radius:6px;cursor:pointer;text-align:center;color:#42584a;display:flex;align-items:center;flex-direction:column}.fv-app .fv-ratio-option input:checked+label{border-color:var(--spruce);background:#edf5ef;box-shadow:0 0 0 1px var(--spruce);color:var(--spruce)}.fv-app .fv-ratio-option strong{font-size:11px;font-weight:600;margin-top:6px}.fv-app .fv-ratio-option small{font-size:9px;margin-top:3px;color:var(--muted)}.fv-app .fv-shape{display:block;border:1.5px solid currentColor;height:20px;box-shadow:inset 3px 0 0 #02463a09}.fv-app .fv-shape-square{width:20px}.fv-app .fv-shape-portrait{width:16px}.fv-app .fv-shape-story{width:12px}.fv-app .fv-shape-wide{height:15px;width:27px;margin:2px 0 3px}.fv-app .fv-submit-row{border-top:1px solid #dce5de;padding-top:19px}.fv-app .fv-generate-btn{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:49px;padding:12px 17px;border-radius:6px;font-size:14px}.fv-app .fv-generate-btn>span:last-child{font-size:21px}.fv-app .fv-generate-btn:disabled{opacity:.6}.fv-app .fv-submit-row>.fv-help{text-align:center;font-size:10px;margin-top:10px}.fv-app .fv-upload-zone{border:1px dashed #a9c2b1;background:#f6faf6;border-radius:7px;padding:17px;text-align:center;margin-top:15px;transition:background .15s,border-color .15s}.fv-app .fv-upload-zone.is-dragging{border:2px solid var(--spruce);padding:16px;background:#e6f1e8}.fv-app .fv-upload-icon{font-size:27px;line-height:1;display:block;color:var(--tint);margin-bottom:7px}.fv-app .fv-upload-zone>strong{font-size:12px;color:var(--spruce)}.fv-app .fv-upload-zone>p:not(.fv-help){font-size:11px;color:var(--muted);margin:5px 0 12px;line-height:1.5}.fv-app .fv-upload-zone button{font-size:12px;padding:9px 18px;min-height:39px;border-color:#b4c9ba;color:var(--spruce);font-weight:600}.fv-app .fv-upload-preview{margin:13px 0 0;border:1px solid #d5e1d8;border-radius:7px;overflow:hidden;background:#f3f6f3}.fv-app .fv-upload-preview figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:#fff}.fv-app .fv-upload-preview strong{font-size:11px;color:var(--spruce);display:block}.fv-app .fv-upload-preview small{font-size:10px;line-height:1.4;color:var(--muted);display:block;margin-top:3px;overflow-wrap:anywhere}.fv-app .fv-source-tag{font-size:9px;text-transform:uppercase;letter-spacing:.7px;background:#edf2ee;padding:5px 7px;border-radius:4px;color:#55715e;flex-shrink:0}.fv-app .fv-source-image{display:block;width:100%;max-height:240px;object-fit:contain}.fv-app .fv-source-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:10px;color:var(--muted);background:white}.fv-app .fv-source-actions button{font-size:10px}.fv-app .fv-error{background:#fff2eb;border:1px solid #edcbb8;padding:11px 12px;border-radius:6px;color:#8d3b22;font-size:12px;line-height:1.65;overflow-wrap:anywhere;margin:12px 0}.fv-app .fv-connection-note{border:1px solid #d9d4ba;border-radius:7px;background:#faf8ec;color:#655b30;font-size:12px;line-height:1.7;padding:12px 16px;margin:0 0 20px}.fv-app .fv-result-panel{position:sticky;top:18px;padding:24px}.fv-app .fv-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.fv-app .fv-result-heading h3{color:var(--spruce);font-size:22px;line-height:1.3;margin:0;letter-spacing:-.3px}.fv-app .fv-result-heading .fv-eyebrow{font-size:9px;margin-bottom:5px}.fv-app .fv-badge{font-size:9px;letter-spacing:.4px;white-space:nowrap;color:var(--tint);background:#eaf2eb;border:1px solid #d2e1d5;border-radius:15px;padding:6px 9px}.fv-app .fv-status{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.6;color:var(--muted);margin:15px 0 16px;min-height:20px;overflow-wrap:anywhere}.fv-app .fv-status[data-state=queued],.fv-app .fv-status[data-state=running]{color:var(--spruce);background:#edf5ef;border-radius:6px;padding:11px 12px}.fv-app .fv-status[data-state=queued]::before,.fv-app .fv-status[data-state=running]::before{content:'';width:15px;height:15px;flex-shrink:0;border:2px solid #b4cdbb;border-top-color:var(--spruce);border-radius:50%;animation:fv-spin .9s linear infinite}.fv-app .fv-status[data-state=error]{color:#8d3b22;background:#fff2eb;border:1px solid #edcbb8;padding:11px 12px;border-radius:6px}.fv-app .fv-status[data-state=done]{color:var(--spruce)}.fv-app .fv-empty-result{aspect-ratio:1;max-height:530px;border:1px solid #dce5de;border-radius:8px;background:linear-gradient(155deg,#f6f8f3,#eef3ef);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:26px;text-align:center;overflow:hidden}.fv-app .fv-empty-result h4{font:600 25px/1.25 'Source Serif Pro',Georgia,serif;color:var(--spruce);margin:26px 0 10px;letter-spacing:-.3px}.fv-app .fv-empty-result p{font-size:12px;line-height:1.75;color:var(--muted);margin:0}.fv-app .fv-fence-art{display:flex;position:relative;width:200px;height:92px;gap:4px;padding:10px 7px 9px;border-left:8px solid #acc0ae;border-right:8px solid #acc0ae;transform:perspective(600px) rotateY(-10deg);filter:drop-shadow(0 9px 7px #02463a0a)}.fv-app .fv-fence-art::before,.fv-app .fv-fence-art::after{content:'';position:absolute;left:0;right:0;height:8px;background:#bdcdbd}.fv-app .fv-fence-art::before{top:5px}.fv-app .fv-fence-art::after{bottom:6px}.fv-app .fv-fence-art i{display:block;flex:1;background:linear-gradient(90deg,#c5d3c2,#d8e2d3);border-right:2px solid #9eb79f}.fv-app .fv-result-figure{margin:0;border:1px solid #dce5de;border-radius:8px;overflow:hidden;background:#eef1ed}.fv-app .fv-result-image{display:block;max-height:660px;width:100%;object-fit:contain}.fv-app .fv-result-figure figcaption{background:#f9fbf8;padding:10px 12px;color:#46614e;font-size:11px;line-height:1.6}.fv-app .fv-result-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.fv-app .fv-result-actions button{font-size:12px;min-height:42px;padding:10px 15px;border-radius:6px;display:flex;align-items:center;gap:20px}.fv-app .fv-result-actions>span{font-size:10px;color:var(--muted);line-height:1.5}.fv-app .fv-result-message{font-size:11px;line-height:1.65;color:#536a5a;margin:13px 0 0}.fv-app .fv-warning{font-size:11px;line-height:1.7;color:var(--muted);margin:20px 0 0;padding-top:16px;border-top:1px solid #e0e7e1}.fv-app .fv-warning strong{font-weight:600;color:#4e6355}@keyframes fv-spin{to{transform:rotate(360deg)}}
@media(min-width:1100px){.fv-app .fv-result-panel{padding:27px}.fv-app .fv-form{padding-left:27px;padding-right:27px}}
@media(max-width:1050px){.fv-app{padding:25px 18px 40px}.fv-app .fv-workspace{gap:18px;grid-template-columns:minmax(340px,.95fr) minmax(0,1fr)}.fv-app .fv-form{padding:16px 18px 20px}.fv-app .fv-result-panel{padding:20px}.fv-app .fv-header h2{font-size:32px}.fv-app .fv-product-pill{padding:11px 13px}.fv-app .fv-mode-tabs button{font-size:12px}.fv-app .fv-color-options{gap:6px}}
@media(max-width:800px){.fv-app{padding:23px 14px 35px}.fv-app .fv-header{align-items:flex-start;margin-bottom:21px}.fv-app .fv-product-pill{display:none}.fv-app .fv-workspace{grid-template-columns:1fr;gap:20px}.fv-app .fv-result-panel{position:static}.fv-app .fv-form{padding:18px 22px 22px}.fv-app .fv-mode-tabs button{min-height:49px;font-size:13px}.fv-app .fv-color-option label{font-size:12px;min-height:116px}.fv-app .fv-color-swatch{height:43px}.fv-app .fv-reference-card img{height:105px}.fv-app .fv-help{font-size:12px}.fv-app .fv-mode-panel>p{font-size:13px}.fv-app #fv-prompt{font-size:16px;min-height:150px}.fv-app .fv-ratio-option label{min-height:88px}.fv-app .fv-ratio-option strong{font-size:12px}.fv-app .fv-ratio-option small{font-size:10px}.fv-app .fv-submit-row>.fv-help{font-size:11px}.fv-app .fv-empty-result{max-height:460px}.fv-app .fv-result-image{max-height:none}.fv-app .fv-warning{font-size:12px}.fv-app .fv-source-actions,.fv-app .fv-source-actions button{font-size:11px}.fv-app .fv-result-actions button{min-height:45px}.fv-app .fv-result-actions>span{font-size:11px}.fv-app .fv-result-message{font-size:12px}.fv-top-label{display:none}.fence-visualizer-page .identity img{width:145px}.fence-visualizer-page .identity h1{font-size:17px;padding-left:15px}.fence-visualizer-page .identity{gap:15px}.fv-app .fv-status{font-size:13px}.fv-app .fv-error{font-size:13px}}
@media(max-width:420px){.fv-app{padding:21px 10px 30px}.fv-app .fv-header{padding:0 3px}.fv-app .fv-header h2{font-size:30px}.fv-app .fv-lead{font-size:13px}.fv-app .fv-form{padding:17px 14px 20px}.fv-app .fv-mode-tabs{margin:6px;padding:4px}.fv-app .fv-mode-tabs button{font-size:11px;gap:5px;padding:8px 5px}.fv-app .fv-mode-tabs button>span{font-size:18px}.fv-app .fv-color-options{gap:5px}.fv-app .fv-color-option label{font-size:10px;padding:7px 4px 9px;min-height:107px}.fv-app .fv-color-swatch{height:38px}.fv-app .fv-color-check{right:7px;top:10px;width:16px;height:16px}.fv-app .fv-prompt-count{font-size:9px}.fv-app .fv-result-panel{padding:18px 15px}.fv-app .fv-result-heading h3{font-size:21px}.fv-app .fv-empty-result{padding:22px 15px}.fv-app .fv-empty-result h4{font-size:23px}.fv-app .fv-upload-zone{padding:14px 10px}.fv-app .fv-reference-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.fv-app .fv-reference-card img{height:110px}.fv-app .fv-reference-card figcaption{font-size:10px}.fence-visualizer-page .identity h1{display:none}.fence-visualizer-page .identity img{width:145px}.fv-app .fv-result-actions{align-items:flex-start;flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){.fv-app *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.fv-app .fv-swatch-WB{--swatch:#69504a}.fv-app .fv-swatch-SD{--swatch:#ae8963}.fv-app .fv-swatch-WG{--swatch:#8c9293}.fv-app .fv-swatch-BK{--swatch:#363935}.fv-app .fv-upload-zone.is-invalid{border-color:#ab4c2e}

/* Product context stays compact; the form and preview remain the primary flow. */
.fv-app .fv-product-overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,1fr);gap:18px 32px;align-items:start;padding:17px 20px;margin:0 0 22px;border:1px solid #d5e0d8;border-radius:8px;background:#f8faf6}
.fv-app .fv-product-overview h3{font-size:14px;color:var(--spruce);margin:0 0 6px}
.fv-app .fv-product-overview p,.fv-app .fv-product-details li{font-size:12px;line-height:1.65;color:var(--muted);margin:0}
.fv-app .fv-product-details summary{min-height:28px;cursor:pointer;font-size:12px;font-weight:600;color:var(--spruce);line-height:1.65}
.fv-app .fv-product-details ul{padding-left:17px;margin:9px 0 0}
.fv-app .fv-product-details li+li{margin-top:6px}
.fv-app .fv-product-details summary:focus-visible,.fv-app .fv-references summary:focus-visible{outline:3px solid #85be00;outline-offset:4px;border-radius:2px}
.fv-app .fv-reference-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fv-app .fv-reference-image{position:relative;aspect-ratio:4/3;border:1px solid #e0e7e1;border-radius:5px;overflow:hidden;background:#edf1ed}
.fv-app .fv-reference-card img{height:100%;width:100%;object-fit:contain;border-radius:0}
.fv-app .fv-reference-unavailable{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:10px;text-align:center;font-size:11px;color:var(--muted)}
.fv-app .fv-reference-card figcaption{font-size:10px;line-height:1.5;margin-top:6px}
.fv-app .fv-reference-card figcaption strong,.fv-app .fv-reference-card figcaption span{display:block}
.fv-app .fv-reference-card figcaption strong{color:#42584a;font-weight:600}
.fv-app .fv-reference-card figcaption span{font-size:9px;margin-top:1px}
.fv-app .fv-reference-note{padding-top:9px;border-top:1px solid #e0e8e2}
.fv-app .fv-photo-privacy{margin-top:12px}
@media(max-width:800px){.fv-app .fv-product-overview{grid-template-columns:1fr;gap:10px;padding:16px 18px}.fv-app .fv-product-overview p,.fv-app .fv-product-details li{font-size:12px}.fv-app .fv-reference-card figcaption{font-size:11px}.fv-app .fv-reference-card figcaption span{font-size:10px}}
.fv-app .fv-style-height{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;padding-bottom:18px;border-bottom:1px solid #e0e8e2}
.fv-app .fv-style-height label{display:block;font-size:12px;font-weight:650;color:#304d3c;margin-bottom:7px}
.fv-app .fv-style-height select{display:block;width:100%;min-height:43px;padding:9px 10px;font-size:13px;border:1px solid #c8d7cc;border-radius:6px;background:#fcfdfb;color:var(--spruce)}
.fv-app .fv-style-height select:focus-visible{outline:3px solid #85be00;outline-offset:2px}
.fv-app .fv-style-height input[type=number]{display:block;width:100%;min-height:43px;padding:9px 10px;font-size:16px;border:1px solid #c8d7cc;border-radius:6px;background:#fcfdfb;color:var(--spruce)}
.fv-app .fv-style-height input[type=number]:focus-visible{outline:3px solid #85be00;outline-offset:2px}
@media(max-width:560px){.fv-app .fv-cost-controls{grid-template-columns:minmax(0,1fr)}}
.fv-app .fv-style-height>.fv-help{grid-column:1/-1;margin:0}
.fv-app #fv-retry-references{grid-column:1/-1;justify-self:start;font-size:12px}
.fv-app .fv-references summary #fv-reference-title{font-size:11px;color:var(--spruce);font-weight:600}
@media(max-width:800px){.fv-app .fv-style-height select{font-size:16px;min-height:45px}}

/* Private result history and whole-frame before/after comparison. */
.fv-app .fv-gallery{margin-top:32px;padding:25px;background:#fff;border:1px solid #d5e0d8;border-radius:9px}
.fv-app .fv-gallery-heading,.fv-app .fv-gallery-toolbar,.fv-app .fv-gallery-navigation,.fv-app .fv-gallery-compare-controls{display:flex;justify-content:space-between;align-items:center;gap:12px}
.fv-app .fv-gallery-heading h3{font-size:25px;margin:0 0 8px;color:var(--spruce)}
.fv-app #fv-gallery-count,.fv-app #fv-gallery-position{font-size:12px;color:var(--muted);white-space:nowrap}
.fv-app .fv-gallery-empty{padding:35px 15px;background:#f3f6f1;border:1px dashed #c4d4c7;border-radius:7px;text-align:center;color:var(--muted);font-size:14px}
.fv-app .fv-gallery-toolbar{padding:12px 0}.fv-app .fv-gallery-toolbar strong{font-size:15px}.fv-app .fv-gallery-toolbar small{display:block;max-width:780px;margin-top:5px;font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.fv-app .fv-gallery button{border:1px solid #b9cdbf;border-radius:6px;background:#fff;color:var(--spruce);padding:9px 12px;min-height:40px;cursor:pointer;font:inherit;font-size:12px}
.fv-app .fv-gallery button:hover{background:#edf4eb}.fv-app .fv-gallery button:disabled{opacity:.45;cursor:default}
.fv-app .fv-gallery button:focus-visible,.fv-app .fv-gallery select:focus-visible{outline:3px solid #85be00;outline-offset:2px}
.fv-app .fv-gallery-navigation button{font-size:20px;min-width:42px;padding:5px 10px}
.fv-app .fv-gallery-compare-controls{justify-content:flex-start;flex-wrap:wrap;padding:9px 0 15px}
.fv-app .fv-gallery-compare-controls label{display:grid;gap:5px;flex:1;min-width:180px;font-size:12px;color:var(--muted)}
.fv-app .fv-gallery-compare-controls select{max-width:100%;width:100%;min-height:40px;padding:8px;border:1px solid #b9cdbf;border-radius:6px;background:#fff;color:var(--spruce);font-size:13px}
.fv-app .fv-gallery-compare-controls>button{align-self:flex-end}
.fv-app .fv-gallery-frame{--fv-split:50%;position:relative;width:100%;aspect-ratio:16/10;max-height:760px;min-height:240px;overflow:hidden;isolation:isolate;background:#e9eeea;user-select:none;border-radius:7px;contain:layout paint}
.fv-app .fv-gallery-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.fv-app #fv-gallery-after{clip-path:inset(0 0 0 var(--fv-split));z-index:2;background:#e9eeea}
.fv-app .fv-gallery-slider{position:absolute;inset:0;z-index:4;touch-action:pan-y;cursor:ew-resize}
.fv-app .fv-gallery-slider:focus-visible{outline:4px solid #85be00;outline-offset:-4px}
.fv-app .fv-gallery-divider{position:absolute;top:0;bottom:0;left:var(--fv-split);width:3px;transform:translateX(-50%);z-index:5;background:white;box-shadow:0 0 12px #0005;pointer-events:none}
.fv-app .fv-gallery-handle{position:absolute;top:50%;left:var(--fv-split);transform:translate(-50%,-50%);display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:white;color:var(--spruce);font-size:28px;z-index:5;box-shadow:0 4px 18px #0003;pointer-events:none}
.fv-app .fv-compare-label{position:absolute;top:12px;z-index:3;background:#fffffff0;color:var(--spruce);font-size:12px;padding:6px 9px;border-radius:5px;pointer-events:none}
.fv-app .fv-compare-label-left{left:12px}.fv-app .fv-compare-label-right{right:12px}
.fv-app .fv-gallery-frame.is-single #fv-gallery-after{clip-path:none}.fv-app .fv-gallery-frame.is-single .fv-gallery-divider,.fv-app .fv-gallery-frame.is-single .fv-gallery-handle,.fv-app .fv-gallery-frame.is-single .fv-compare-label-left{display:none}
.fv-app .fv-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:20px}
.fv-app .fv-gallery-card{min-width:0;border:1px solid #d4e0d6;border-radius:7px;overflow:hidden}
.fv-app button.fv-gallery-choice{display:block;width:100%;padding:0 0 12px;border:0;border-radius:0;text-align:left}
.fv-app .fv-gallery-choice[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--spruce);background:#f0f6ed}
.fv-app .fv-gallery-choice img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#edf1ed}
.fv-app .fv-gallery-choice strong,.fv-app .fv-gallery-choice>span{display:block;margin:9px 12px 0;overflow-wrap:anywhere}.fv-app .fv-gallery-choice>span{font-size:11px;color:var(--muted)}
.fv-app .fv-gallery-card-actions{display:flex;justify-content:space-between;gap:6px;padding:8px 10px;border-top:1px solid #e0e8e2}
.fv-app .fv-gallery-card-actions button{font-size:11px;padding:6px 9px;min-height:36px}
@media(max-width:800px){.fv-app .fv-gallery{padding:17px 14px}.fv-app .fv-gallery-heading h3{font-size:23px}.fv-app .fv-gallery-toolbar{align-items:flex-start}.fv-app .fv-gallery-toolbar strong{font-size:13px}.fv-app .fv-gallery-navigation{gap:6px}.fv-app .fv-gallery-compare-controls label{flex-basis:100%}.fv-app .fv-gallery-compare-controls select{font-size:16px}.fv-app .fv-gallery-frame{aspect-ratio:4/3}.fv-app .fv-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.fv-app .fv-gallery-handle{width:46px;height:46px}.fv-app .fv-gallery button{min-height:44px}}

/* Photo edit choices and the full-width original-shape option. */
.fv-app .fv-photo-operation{margin:16px 0}.fv-app .fv-photo-operation label{display:block;font-size:12px;font-weight:650;margin-bottom:7px;color:#304d3c}.fv-app .fv-photo-operation select{width:100%;min-height:42px}.fv-app .fv-ratio-original{grid-column:1/-1}.fv-app .fv-ratio-original label{min-height:66px}
.fv-app .fv-region-section{margin:16px 0;padding:14px;border:1px solid #cdded3;border-radius:7px;background:#f7faf7}.fv-app .fv-region-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.fv-app .fv-region-heading strong{font-size:12px;color:var(--spruce)}.fv-app .fv-region-heading .fv-help{margin:0}.fv-app .fv-region-section button{font-size:12px;min-height:42px;padding:8px 12px;border:1px solid #aac3b3;border-radius:5px;background:#fff;color:var(--spruce)}.fv-app .fv-region-section button[aria-pressed=true]{background:var(--spruce);color:#fff;border-color:var(--spruce)}.fv-app .fv-region-section button:disabled{opacity:.5;cursor:default}.fv-app .fv-region-tools{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:12px 0}.fv-app .fv-region-tools label{font-size:11px;display:flex;align-items:center;gap:8px;flex:1 0 100%;margin-top:4px}.fv-app .fv-region-tools input{width:100%;min-width:90px;max-width:260px;accent-color:var(--spruce)}.fv-app #fv-region-canvas{display:block;width:100%;height:auto;border-radius:4px;background:#e7ece8;touch-action:none;cursor:crosshair}.fv-app #fv-region-canvas:focus-visible{outline:3px solid #397f67;outline-offset:3px}.fv-app #fv-region-canvas[aria-disabled=true]{cursor:wait;opacity:.7}
.fv-app .fv-color-option input,.fv-app .fv-ratio-option input{pointer-events:none}

/* Result actions for generated and saved previews. */
.fv-app .fv-result-action-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fv-app a.fv-template-link{display:inline-flex;align-items:center;gap:12px;min-height:42px;padding:10px 13px;border:1px solid #b9cdbf;border-radius:6px;background:#fff;color:var(--spruce);font-size:12px;text-decoration:none}
.fv-app a.fv-template-link:hover{background:#edf4eb}
.fv-app a.fv-template-link:focus-visible{outline:3px solid #85be00;outline-offset:3px}
