html,body{color:#f5f0e6;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#101013;margin:0;padding:0}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-400-normal-DnUIPmzd.woff2)format("woff2"),url(/assets/cinzel-latin-400-normal-C8jUSQqm.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/cinzel-latin-900-normal-BI3z7Tow.woff2)format("woff2"),url(/assets/cinzel-latin-900-normal-t_fSDEbn.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-400-normal-CFtfchNt.woff2)format("woff2"),url(/assets/playfair-display-latin-400-normal-DHYHbkg3.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2)format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff)format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/playfair-display-latin-900-normal-oSb7_CWx.woff2)format("woff2"),url(/assets/playfair-display-latin-900-normal-DypQvTWf.woff)format("woff")}@font-face{font-family:Cormorant;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-latin-400-normal-BGH8Vunh.woff2)format("woff2"),url(/assets/cormorant-latin-400-normal-C3_-2Ua-.woff)format("woff")}@font-face{font-family:Cormorant;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cormorant-latin-700-normal-D2NwonnS.woff2)format("woff2"),url(/assets/cormorant-latin-700-normal-DUJekpIu.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff")}@font-face{font-family:Marcellus;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/marcellus-latin-400-normal-86dSXJnk.woff2)format("woff2"),url(/assets/marcellus-latin-400-normal-AvMY561b.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/oswald-latin-300-normal-Cl0rPaJv.woff2)format("woff2"),url(/assets/oswald-latin-300-normal-DLdBc7-y.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/oswald-latin-400-normal-BAFo8sP8.woff2)format("woff2"),url(/assets/oswald-latin-400-normal-D1wpMXgf.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/oswald-latin-500-normal-B-eyT0Dw.woff2)format("woff2"),url(/assets/oswald-latin-500-normal-DM85Di4w.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/oswald-latin-600-normal-plFmSr5g.woff2)format("woff2"),url(/assets/oswald-latin-600-normal-DRToI_2E.woff)format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/oswald-latin-700-normal-vy6hmKSr.woff2)format("woff2"),url(/assets/oswald-latin-700-normal-UmC9Ev9x.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/montserrat-latin-300-normal-BgP24wlQ.woff2)format("woff2"),url(/assets/montserrat-latin-300-normal-sTRdVzlf.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2)format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2)format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2)format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/montserrat-latin-900-normal-B0TD3Qnu.woff2)format("woff2"),url(/assets/montserrat-latin-900-normal-BDWDmVut.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/poppins-latin-300-normal-Dku2WoCh.woff2)format("woff2"),url(/assets/poppins-latin-300-normal-DCNuMXUj.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff")}:root{--bg:#101013;--bg-panel:#17171c;--bg-card:#1e1e24;--gold:#c9a227;--gold-soft:#b08d57;--ivory:#f5f0e6;--muted:#8a8578;--border:#2a2a32}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ivory);margin:0;padding:0;font-family:Cormorant Garamond,Georgia,serif}#root{min-height:100vh}.app{flex-direction:column;min-height:100vh;display:flex}.header{border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;gap:12px;padding:18px 28px;display:flex}.header h1{letter-spacing:4px;color:var(--ivory);margin:0;font-family:Cinzel,serif;font-size:22px;font-weight:700}.logo-mark{color:var(--gold);font-size:20px}.badge{letter-spacing:1.5px;color:var(--gold);border:1px solid var(--gold);text-transform:uppercase;border-radius:999px;padding:3px 8px;font-family:Montserrat,sans-serif;font-size:10px}.header-links{letter-spacing:1px;color:var(--muted);text-transform:uppercase;gap:22px;margin-left:auto;font-family:Montserrat,sans-serif;font-size:12px;display:flex}.main{flex:1;min-height:0;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;width:320px;padding:28px 24px}.brand-form h2{letter-spacing:1px;margin:0 0 4px;font-family:Cinzel,serif;font-size:19px}.hint{color:var(--muted);margin:0 0 20px;font-size:14px;font-style:italic}.brand-form label{letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-family:Montserrat,sans-serif;font-size:11px;display:block}.optional{opacity:.55;text-transform:none}.brand-form input{background:var(--bg-card);border:1px solid var(--border);width:100%;color:var(--ivory);border-radius:6px;margin-top:6px;padding:10px 12px;font-family:Cormorant Garamond,Georgia,serif;font-size:16px;display:block}.brand-form input:focus{border-color:var(--gold-soft);outline:none}.generate-btn{background:var(--gold);color:#17140a;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:8px;padding:12px;font-family:Montserrat,sans-serif;font-size:13px;font-weight:700;transition:filter .15s}.generate-btn:hover{filter:brightness(1.1)}.shuffle-btn{width:100%;color:var(--ivory);border:1px solid var(--border);letter-spacing:1px;cursor:pointer;background:0 0;border-radius:6px;margin-top:12px;padding:10px;font-family:Montserrat,sans-serif;font-size:12px}.shuffle-btn:hover{border-color:var(--gold-soft);color:var(--gold)}.content{flex:1;padding:28px;overflow-y:auto}.grid-empty{height:100%;color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:18px;font-style:italic;display:flex}.logo-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.logo-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;padding:10px;transition:border-color .15s,transform .15s;display:flex}.logo-card:hover{border-color:var(--gold-soft);transform:translateY(-2px)}.logo-card svg{border-radius:6px;display:block}.logo-card-label{letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:10px;font-family:Montserrat,sans-serif;font-size:10px}.footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:14px 28px;font-size:14px;font-style:italic}.footer p{margin:0}.dropzone{border:1.5px dashed var(--border);text-align:center;cursor:pointer;border-radius:8px;padding:14px;font-family:Montserrat,sans-serif;transition:border-color .15s,background .15s;display:block}.dropzone:hover,.dropzone.dragover{border-color:var(--gold-soft);background:#c9a2270a}.dz-title{letter-spacing:1px;text-transform:uppercase;color:var(--ivory);margin-bottom:4px;font-size:12px;display:block}.dz-sub{color:var(--muted);font-size:10.5px;line-height:1.5;display:block}.dz-sub .link{color:var(--gold);cursor:pointer;text-decoration:underline}.dz-status{margin-top:8px;font-size:11px;display:block}.dz-status.ok{color:#7fb069}.dz-status.err{color:#c96a5a}.ref-block{margin:6px 0 14px}.url-row{gap:8px;margin-top:10px;display:flex}.url-row input{background:var(--bg-card);border:1px solid var(--border);color:var(--ivory);border-radius:6px;flex:1;padding:9px 12px;font-family:Cormorant Garamond,Georgia,serif;font-size:15px}.url-row input:focus{border-color:var(--gold-soft);outline:none}.url-row button{background:var(--bg-card);color:var(--gold);border:1px solid var(--gold-soft);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:6px;padding:9px 14px;font-family:Montserrat,sans-serif;font-size:11px}.url-row button:hover{background:#c9a2271a}.family-filters{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.chip{border:1px solid var(--border);color:var(--muted);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-family:Montserrat,sans-serif;font-size:10.5px;transition:all .15s}.chip:hover{border-color:var(--gold-soft);color:var(--ivory)}.chip.active{background:var(--gold);border-color:var(--gold);color:#17140a;font-weight:600}.grid-meta{min-height:28px;margin-bottom:6px}.palette-note{color:var(--muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-family:Montserrat,sans-serif;font-size:11px;display:inline-flex}.swatch{border:1px solid #ffffff26;border-radius:3px;width:14px;height:14px;display:inline-block}.ge-title{color:var(--ivory);letter-spacing:1px;margin:0 0 8px;font-family:Cinzel,serif;font-size:22px}.ge-sub{color:var(--muted);margin:0;font-size:15px}.logo-card-ph{background:linear-gradient(100deg, var(--bg-card) 40%, #26262e 50%, var(--bg-card) 60%);background-size:200% 100%;border-radius:6px;width:280px;height:280px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#08080ac7;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;width:100%;max-width:720px;max-height:92vh;position:relative;overflow-y:auto}.modal-close{background:var(--bg-card);border:1px solid var(--border);color:var(--ivory);cursor:pointer;z-index:5;border-radius:50%;width:32px;height:32px;font-size:14px;position:absolute;top:12px;right:12px}.modal-close:hover{border-color:var(--gold-soft);color:var(--gold)}.modal-body{gap:24px;padding:28px;display:flex}.modal-preview{flex-shrink:0}.modal-preview svg{border:1px solid var(--border);border-radius:10px;display:block}.modal-controls{flex:1;min-width:220px}.modal-controls h3{letter-spacing:1px;margin:0 0 16px;font-family:Cinzel,serif;font-size:17px}.modal-controls label{letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-family:Montserrat,sans-serif;font-size:10.5px;display:block}.modal-controls select{background:var(--bg-card);border:1px solid var(--border);width:100%;color:var(--ivory);border-radius:6px;margin-top:5px;padding:8px 10px;font-family:Montserrat,sans-serif;font-size:12.5px;display:block}.modal-controls .check{text-transform:none;color:var(--ivory);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.modal-controls .check input{accent-color:var(--gold)}.export-group{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;display:grid}.export-group button{background:var(--gold);color:#17140a;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:6px;padding:10px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:700}.export-group button:hover{filter:brightness(1.1)}.export-group button:disabled{opacity:.6;cursor:wait}.export-group button:first-child{grid-column:1/-1}.free-note{text-align:center;color:var(--muted);margin:14px 0 0;font-size:12px;font-style:italic}@media (width<=640px){.modal-body{flex-direction:column;align-items:center}}@media (width<=860px){.main{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%}.header-links{display:none}}
