:root{--ffv-primary:#3469a8;--ffv-secondary:#f3f4f6;--ffv-font:#333;--ffv-preview-padding:8px;--ffv-export-checker-size:16px;--ffv-modern-primary:#2c3e50;--ffv-modern-accent:#3498db;--ffv-modern-bg:#ecf0f1;--ffv-classic-primary:#4a3b31;--ffv-classic-accent:#c8b08a;--ffv-classic-bg:#fdfbf5;--ffv-minimal-border:#e0e0e0;--ffv-minimal-text:#444;--ffv-minimal-subtle-bg:#f9f9f9;--ffv-lightbox-bg:rgba(0, 0, 0, 0.88);--ffv-lightbox-controls-bg:rgba(30, 30, 30, 0.7);--ffv-lightbox-controls-hover-bg:rgba(0, 0, 0, 0.85);--ffv-lightbox-dot-inactive:rgba(255, 255, 255, 0.35);--ffv-lightbox-dot-active:#ffffff;--ffv-button-text-light:#ffffff;--ffv-button-text-dark:#212529;}
.font-showcase-button-contrast-text.text-light{color:var(--ffv-button-text-light) !important;}
.font-showcase-button-contrast-text.text-dark{color:var(--ffv-button-text-dark) !important;}
.font-showcase-block{font-family:Arial, sans-serif;margin:20px auto;max-width:800px;padding:20px;background:var(--ffv-secondary);border-radius:8px;box-shadow:0 3px 3px rgba(0, 0, 0, 0.1);color:var(--ffv-font);position:relative;}
.font-showcase-loading-bar{display:flex;align-items:center;justify-content:center;gap:0.5rem;height:60px;background:#fff;border-radius:8px;margin-bottom:1rem;transition:opacity 0.5s, height 0.5s, margin 0.5s;}
.font-showcase-loading-bar.fade{opacity:0;height:0;margin:0;overflow:hidden;}
.font-showcase-spinner{width:24px;height:24px;border:3px solid #ccc;border-top:3px solid #666;border-radius:50%;animation:font-showcase-spin 1s linear infinite;}
@keyframes font-showcase-spin {
to{transform:rotate(360deg);}
} .font-showcase-header{background:#fff;border-radius:8px;overflow:hidden;margin-bottom:20px;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);}
.font-showcase-header-title-area{background:var(--ffv-primary);color:#fff;padding:10px 20px;text-align:center;border-top-left-radius:8px;border-top-right-radius:8px;}
.font-showcase-header-title{font-size:1.2rem;margin:0 0 5px 0;font-weight:600;}
.font-showcase-header-subtitle{margin:0;padding:0;font-size:0.9em;opacity:0.85;font-weight:normal;line-height:1.2;}
.font-showcase-header-gallery{position:relative;background:#fff;padding:1px;display:flex;gap:1px;overflow:hidden;min-height:200px;}
.font-showcase-gallery-0{display:none;}
.font-showcase-gallery-1{justify-content:center;}
.font-showcase-gallery-1 .font-showcase-header-image{width:100%;max-width:600px;height:200px;}
.font-showcase-gallery-2, .font-showcase-gallery-3, .font-showcase-gallery-4{justify-content:stretch;align-items:stretch;}
.font-showcase-gallery-2 .font-showcase-header-image, .font-showcase-gallery-3 .font-showcase-header-image, .font-showcase-gallery-4 .font-showcase-header-image{flex:1;height:200px;margin:0;border:none;border-radius:0;overflow:hidden;}
.font-showcase-header-image{position:relative;cursor:pointer;overflow:hidden;background:#f8f9fa;border:1px solid #ddd;transition:all 0.3s ease;}
.font-showcase-header-image:hover{transform:scale(1.02);z-index:2;box-shadow:0 4px 12px rgba(0, 0, 0, 0.2);border-color:var(--ffv-primary);}
.font-showcase-header-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 0.3s ease;background:#f8f9fa;}
.font-showcase-header-image:hover img{transform:scale(1.05);}
.font-showcase-lightbox{display:flex;align-items:center;justify-content:center;position:fixed;inset:0;background:var(--ffv-lightbox-bg);backdrop-filter:blur(4px);z-index:10000;opacity:0;visibility:hidden;transition:opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 0.3s;}
.font-showcase-lightbox.show{opacity:1;visibility:visible;transition-delay:0s;}
.font-showcase-lightbox-content{position:relative;width:calc(100% - 80px);height:calc(100% - 80px);max-width:1600px;max-height:90vh;display:flex;align-items:center;justify-content:center;}
.font-showcase-lightbox-image{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 12px 38px rgba(0, 0, 0, 0.3), 0 8px 12px rgba(0, 0, 0, 0.22);opacity:0;transform:scale(0.95);transition:opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1) 0.1s, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;}
.font-showcase-lightbox.show .font-showcase-lightbox-image{opacity:1;transform:scale(1);}
.font-showcase-lightbox-image.loading{opacity:0 !important;transform:scale(0.95) !important;}
.font-showcase-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;border-radius:50%;background:var(--ffv-lightbox-controls-bg);color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color 0.2s ease, transform 0.2s ease;z-index:10001;box-shadow:0 2px 8px rgba(0, 0, 0, 0.2);}
.font-showcase-lightbox-prev{left:25px;}
.font-showcase-lightbox-next{right:25px;}
.font-showcase-lightbox-nav:hover{background:var(--ffv-lightbox-controls-hover-bg);transform:translateY(-50%) scale(1.08);}
.font-showcase-lightbox-close{position:absolute;top:25px;right:25px;width:40px;height:40px;border:none;border-radius:50%;background:var(--ffv-lightbox-controls-bg);color:#fff;font-size:24px;line-height:40px;text-align:center;cursor:pointer;transition:background-color 0.2s ease, transform 0.2s ease;z-index:10001;box-shadow:0 2px 8px rgba(0, 0, 0, 0.2);}
.font-showcase-lightbox-close:hover{background:var(--ffv-lightbox-controls-hover-bg);transform:scale(1.1) rotate(90deg);}
.font-showcase-lightbox-counter{position:absolute;top:32px;left:50%;transform:translateX(-50%);background:var(--ffv-lightbox-controls-bg);color:#fff;padding:6px 15px;font-size:13px;border-radius:20px;z-index:10001;user-select:none;box-shadow:0 2px 8px rgba(0, 0, 0, 0.15);}
.font-showcase-lightbox-dots{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10001;}
.font-showcase-lightbox-dot{width:10px;height:10px;border-radius:50%;background:var(--ffv-lightbox-dot-inactive);cursor:pointer;transition:background-color 0.2s ease, transform 0.2s ease;border:none;padding:0;}
.font-showcase-lightbox-dot.active{background:var(--ffv-lightbox-dot-active);transform:scale(1.25);}
.font-showcase-lightbox-dot:hover:not(.active){background:rgba(255, 255, 255, 0.6);}
.font-showcase-title-bar{text-align:center;margin-bottom:15px;padding:10px;background-color:#e9ecef;}
.font-showcase-title-bar h2{margin:0 0 5px 0;color:var(--ffv-primary);font-size:1.8rem;font-weight:bold;}
.font-showcase-title-bar .font-showcase-subtitle{font-size:1rem;color:#555;margin-top:5px;margin-bottom:5px;}
.font-showcase-title-bar span{font-size:0.9rem;color:#666;display:block;margin-top:5px;}
.font-showcase-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;background:#eee;border-radius:24px;padding:1rem 2rem;margin-bottom:2rem;}
.font-showcase-input-row{display:flex;flex-direction:column;align-items:center;}
.font-showcase-input-row label{font-weight:600;margin-bottom:0.4rem;font-size:0.9rem;}
.font-showcase-input-row input{padding:6px 8px;font-size:0.9rem;border:1px solid #bbb;border-radius:6px;}
.font-showcase-input-row input[type="text"]{width:160px;background:#fafafa;}
.font-showcase-input-row input[type="color"]{width:48px;height:32px;padding:0;}
.font-showcase-input-row input[type="range"]{width:120px;}
.font-showcase-icon-btn{width:40px;height:40px;border:none;border-radius:50%;background:rgba(0, 0, 0, 0.1);color:#333;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;transition:background 0.2s;}
.font-showcase-icon-btn:hover{background:rgba(0, 0, 0, 0.2);}
.font-showcase-icon-btn[title="Reset"]::before{content:"↻";}
.font-showcase-icon-btn[title="Share"]::before{content:"🔗";}
.font-showcase-generate-btn, .font-showcase-buy-btn, .font-showcase-download-btn{padding:10px 20px;border:none;border-radius:4px;font-size:0.95rem;font-weight:600;color:#fff;cursor:pointer;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);transition:opacity 0.2s;text-decoration:none;}
.font-showcase-generate-btn{background:#0056b3;}
.font-showcase-buy-btn{background:#f39c12;}
.font-showcase-download-btn{background:#545b62;}
.font-showcase-generate-btn:hover, .font-showcase-buy-btn:hover, .font-showcase-download-btn:hover{opacity:0.9;}
.font-showcase-fonts{background:transparent;}
.font-showcase-font-item{background:#fff;border-radius:6px;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);margin-bottom:20px;padding:15px;position:relative;}
.font-showcase-font-info{display:flex;align-items:center;gap:8px;border-bottom:1px solid #eee;padding-bottom:6px;margin-bottom:15px;}
.font-showcase-font-info strong{font-weight:600;}
.font-showcase-font-info .font-source-google{font-style:italic;color:#555;font-size:0.9em;}
.font-showcase-info-btn{margin-left:auto;background:none;border:none;color:var(--ffv-primary) !important;font-size:1.7rem;cursor:pointer;line-height:1;padding:0;}
.font-showcase-info-btn:hover{color:#244f7d;}
.font-showcase-font-preview{position:relative;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;white-space:nowrap;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;padding:var(--ffv-preview-padding);min-height:60px;font-size:48px;font-weight:600;margin:15px 0;text-align:left;}
.font-showcase-font-preview::after{content:"";position:absolute;top:0;right:0;width:40px;height:100%;background:linear-gradient(to right, rgba(240, 240, 240, 0), rgba(240, 240, 240, 1));pointer-events:none;}
.font-showcase-font-metadata{display:flex;justify-content:center;gap:6px;margin:8px 0;flex-wrap:wrap;}
.font-showcase-metadata-pill{background:#ddd;border-radius:999px;padding:4px 8px;font-size:0.7rem;font-weight:600;text-transform:uppercase;color:#333;}
.font-showcase-font-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:12px;}
.font-showcase-note{background:#fff8c4;border-left:4px solid #f1c40f;padding:12px 16px;margin-top:20px;border-radius:4px;color:#333;font-size:0.95rem;}
.font-showcase-share-modal, .font-showcase-info-modal, .font-showcase-export-modal{display:none;position:fixed;inset:0;background:rgba(0, 0, 0, 0.6);align-items:center;justify-content:center;z-index:10001;}
.font-showcase-share-modal.show, .font-showcase-info-modal.show, .font-showcase-export-modal.show{display:flex;}
.font-showcase-share-content, .font-showcase-info-content, .font-showcase-export-content{background:#fff;border-radius:8px;padding:20px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;position:relative;}
.font-showcase-share-close, .font-showcase-info-close, .font-showcase-export-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:28px;color:#888;cursor:pointer;}
.font-showcase-share-close:hover, .font-showcase-info-close:hover, .font-showcase-export-close:hover{color:#000;}
.font-showcase-share-title{text-align:center;font-size:1.2rem;font-weight:600;margin-bottom:15px;color:#333;}
.font-showcase-share-icons{display:flex;justify-content:center;gap:15px;margin:20px 0;}
.font-showcase-share-icon-btn{width:50px;height:50px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform 0.3s, box-shadow 0.3s;color:#fff;}
.font-showcase-share-icon-btn svg{width:24px;height:24px;fill:currentColor;}
.font-showcase-share-icon-btn[data-site="pinterest"]{background:#bd081c;}
.font-showcase-share-icon-btn[data-site="x"]{background:#000;}
.font-showcase-share-icon-btn[data-site="facebook"]{background:#1877f2;}
.font-showcase-share-icon-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px rgba(0, 0, 0, 0.2);}
.font-showcase-share-link-container{display:flex;gap:10px;margin-top:20px;}
.font-showcase-share-link-container input{flex:1;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;}
.font-showcase-share-copy{padding:10px 20px;background:var(--ffv-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;}
.font-showcase-share-copy:hover{opacity:0.9;}
.font-showcase-info-title{text-align:center;font-size:1.2rem;font-weight:600;margin-bottom:15px;color:#333;}
.font-showcase-modal-tabs{display:flex;border-bottom:1px solid #ddd;margin-bottom:20px;}
.font-showcase-modal-tab{flex:1;padding:12px 16px;background:#f5f5f5;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:background 0.3s, color 0.3s;text-align:center;}
.font-showcase-modal-tab.active{background:#fff;color:var(--ffv-primary);border-bottom:2px solid var(--ffv-primary);}
.font-showcase-modal-tab:hover:not(.active){background:#e9e9e9;color:#333;}
.font-showcase-modal-body{display:none !important;min-height:300px;}
.font-showcase-modal-body.active{display:block !important;}
.font-showcase-modal-body.active[id^="font-showcase-modal-glyphs-"]{display:grid !important;grid-template-columns:repeat(auto-fill, minmax(60px, 1fr));justify-content:center;gap:8px;padding:10px;max-height:400px;overflow-y:auto;background-color:#f9f9f9;border-radius:4px;}
.font-info-loading, .glyph-loading{text-align:center;padding:40px 20px;color:#666;font-style:italic;}
.font-info-container{max-height:400px;overflow-y:auto;padding:10px;}
.font-info-section{margin-bottom:25px;background:#f8f9fa;border-radius:8px;padding:15px;border-left:4px solid var(--ffv-primary);}
.font-info-section h4{margin:0 0 12px;color:var(--ffv-primary);font-size:1.1rem;font-weight:600;border-bottom:1px solid #e9ecef;padding-bottom:8px;}
.font-info-list{list-style:none;padding:0;margin:0;}
.font-info-list li{padding:6px 0;border-bottom:1px solid #e9ecef;font-size:14px;line-height:1.4;}
.font-info-list li:last-child{border-bottom:none;}
.font-info-list li strong{display:inline-block;min-width:120px;color:#333;font-weight:600;}
.font-info-list a{color:var(--ffv-primary);text-decoration:none;word-break:break-all;}
.font-info-list a:hover{text-decoration:underline;}
.unicode-ranges{margin:8px 0 0 20px;padding:0;}
.unicode-ranges li{padding:3px 0;font-size:13px;color:#666;}
.glyph-error{text-align:center;padding:40px 20px;color:#d63638;font-weight:500;}
.glyph-search-container{margin-bottom:15px;text-align:center;grid-column:1 / -1;}
.glyph-search{padding:8px 12px;border:1px solid #ddd;border-radius:20px;width:200px;font-size:14px;outline:none;transition:border-color 0.3s, box-shadow 0.3s;}
.glyph-search:focus{border-color:var(--ffv-primary);box-shadow:0 0 0 2px rgba(52, 105, 168, 0.2);}
.glyph-summary, .glyph-fallback-notice{grid-column:1 / -1;text-align:center;padding:15px;margin-top:10px;border-radius:8px;font-size:14px;}
.glyph-summary{background:#fff;border:1px solid #e0e0e0;color:#666;}
.glyph-fallback-notice{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;}
.font-showcase-char-cell{width:60px;height:60px;border:1px solid #ddd;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;position:relative;overflow:hidden;transition:all 0.3s ease;font-size:24px;}
.font-showcase-char-cell:hover{background:#f0f0f0;border-color:var(--ffv-primary);transform:scale(1.05);}
.font-showcase-char-cell::before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg, transparent, rgba(0, 124, 186, 0.1), transparent);opacity:0;transition:opacity 0.3s ease;border-radius:8px;z-index:-1;}
.font-showcase-char-cell:hover::before{opacity:1;}
.font-showcase-font-item.font-showcase-active-block{box-shadow:0 0 0 2px var(--ffv-primary);transition:box-shadow 0.3s ease;}
.font-showcase-export-preview{position:relative;display:flex;align-items:center;justify-content:center;min-height:200px;border:1px solid #ddd;border-radius:4px;margin:15px 0;overflow:hidden;}
.font-showcase-export-preview.checker{background-image:linear-gradient(45deg, #f0f0f0 25%, transparent 25%), linear-gradient(-45deg, #f0f0f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f0f0f0 75%), linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);background-size:var(--ffv-export-checker-size) var(--ffv-export-checker-size);background-position:0 0, 0 calc(var(--ffv-export-checker-size) / 2), calc(var(--ffv-export-checker-size) / 2) calc(var(--ffv-export-checker-size) / -2), calc(var(--ffv-export-checker-size) / -2) 0px;background-color:#fff;}
.font-showcase-export-preview.solid{background:#fff;}
.font-showcase-export-preview img{max-width:100%;max-height:100%;object-fit:contain;}
.font-showcase-export-controls{margin-bottom:15px;}
.font-showcase-export-controls label{display:flex;align-items:center;gap:8px;cursor:pointer;}
.font-showcase-export-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;}
.font-showcase-export-btn-primary, .font-showcase-export-btn-secondary, .font-showcase-export-link-container .font-showcase-export-btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;font-size:0.95rem;font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:opacity 0.2s ease, box-shadow 0.2s ease;}
.font-showcase-export-btn-primary{color:#fff;background:linear-gradient(90deg, #00c6ff, #f00cff);box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);}
.font-showcase-export-btn-primary:hover{opacity:0.9;box-shadow:0 6px 16px rgba(0, 0, 0, 0.2);}
.font-showcase-export-btn-secondary{color:#333;background:#e0e0e0;box-shadow:0 2px 8px rgba(0, 0, 0, 0.1);}
.font-showcase-export-btn-secondary:hover{opacity:0.9;background:#d0d0d0;}
.font-showcase-export-divider{text-align:center;margin:15px 0;color:#777;font-size:0.9em;}
.font-showcase-export-link-container{position:relative;margin-top:.5rem;}
.font-showcase-export-link-container input{width:100%;padding:0.75rem 1rem;font-size:0.95rem;border:1px solid #ddd;border-radius:50px;color:#666;padding-right:100px;box-sizing:border-box;}
.font-showcase-export-link-container .font-showcase-export-btn{position:absolute;top:50%;right:0.25rem;transform:translateY(-50%);padding:0.5rem 1rem;font-size:0.9rem;color:#fff;background:#000;}
.font-showcase-export-link-container .font-showcase-export-btn:hover{opacity:0.85;}
.font-showcase-notifications{position:fixed;bottom:20px;right:20px;z-index:10002;display:flex;flex-direction:column;gap:10px;}
.font-showcase-notification{background:#333;color:#fff;padding:12px 18px;border-radius:6px;box-shadow:0 3px 10px rgba(0, 0, 0, 0.2);display:flex;align-items:center;justify-content:space-between;min-width:250px;opacity:0;transform:translateY(20px);animation:fontShowcaseNotificationFadeIn 0.5s forwards;}
.font-showcase-notification.success{background:#4caf50;}
.font-showcase-notification.error{background:#f44336;}
.font-showcase-notification.info{background:#2196f3;}
.font-showcase-notification-close{background:none;border:none;color:inherit;font-size:18px;margin-left:15px;cursor:pointer;opacity:0.7;}
.font-showcase-notification-close:hover{opacity:1;}
@keyframes fontShowcaseNotificationFadeIn {
to{opacity:1;transform:translateY(0);}
} @media(max-width:768px){
.font-showcase-controls{flex-direction:column;}
.font-showcase-input-row input[type="text"]{width:140px;}
.font-showcase-font-actions{flex-direction:column;}
.font-showcase-font-actions .font-showcase-generate-btn, .font-showcase-font-actions .font-showcase-buy-btn, .font-showcase-font-actions .font-showcase-download-btn{width:100%;text-align:center;}
.font-showcase-lightbox-content{width:calc(100% - 40px);height:calc(100% - 40px);}
.font-showcase-lightbox-prev, .font-showcase-lightbox-next{width:40px;height:40px;font-size:18px;}
.font-showcase-lightbox-prev{left:10px;}
.font-showcase-lightbox-next{right:10px;}
.font-showcase-lightbox-close{width:32px;height:32px;font-size:20px;top:15px;right:15px;}
.font-showcase-lightbox-counter{top:20px;padding:5px 12px;font-size:12px;}
.font-showcase-lightbox-dots{bottom:15px;gap:8px;}
.font-showcase-lightbox-dot{width:8px;height:8px;}
}
@media(max-width:480px){
.font-showcase-block{padding:15px;margin:10px;}
.font-showcase-header-gallery .font-showcase-header-image{height:150px;}
.font-showcase-gallery-2 .font-showcase-header-image, .font-showcase-gallery-3 .font-showcase-header-image, .font-showcase-gallery-4 .font-showcase-header-image{height:150px;}
.font-showcase-lightbox-content{width:90vw;height:60vh;}
.font-showcase-lightbox-prev, .font-showcase-lightbox-next{width:28px;height:28px;font-size:14px;}
.font-showcase-lightbox-prev{left:-16px;}
.font-showcase-lightbox-next{right:-16px;}
}
@media(max-width:320px){
.font-showcase-char-cell{width:45px;height:45px;font-size:18px;}
.font-showcase-lightbox-prev, .font-showcase-lightbox-next{width:24px;height:24px;font-size:12px;}
}  .font-showcase-block.template-modern{background:var(--ffv-modern-bg);border-radius:12px;box-shadow:0 8px 32px rgba(0, 0, 0, 0.1);border:none;}
.font-showcase-block.template-modern .font-showcase-header-title-area{background:linear-gradient(135deg, var(--ffv-modern-primary), var(--ffv-modern-accent));padding:20px 25px;border-radius:12px 12px 0 0;}
.font-showcase-block.template-modern .font-showcase-header-title{font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif;font-size:1.6rem;font-weight:300;letter-spacing:0.5px;}
.font-showcase-block.template-modern .font-showcase-header-subtitle{font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif;font-size:1rem;opacity:0.9;font-weight:300;}
.font-showcase-block.template-modern .font-showcase-header-gallery{border-radius:0 0 12px 12px;overflow:hidden;}
.font-showcase-block.template-modern .font-showcase-font-item{background:#fff;border:none;border-radius:12px;box-shadow:0 4px 20px rgba(0, 0, 0, 0.08);padding:20px;transition:transform 0.3s ease, box-shadow 0.3s ease;}
.font-showcase-block.template-modern .font-showcase-font-item:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0, 0, 0, 0.12);}
.font-showcase-block.template-modern .font-showcase-font-preview{background:linear-gradient(135deg, #f8f9fa, #e9ecef);border:none;border-radius:8px;min-height:80px;}
.font-showcase-block.template-modern .font-showcase-controls{background:rgba(255, 255, 255, 0.9);backdrop-filter:blur(10px);border:1px solid rgba(255, 255, 255, 0.2);border-radius:20px;box-shadow:0 4px 20px rgba(0, 0, 0, 0.1);}
.font-showcase-block.template-modern .font-showcase-generate-btn{background:linear-gradient(135deg, var(--ffv-modern-accent), #2980b9);border-radius:8px;}
.font-showcase-block.template-modern .font-showcase-buy-btn{background:linear-gradient(135deg, #e74c3c, #c0392b);border-radius:8px;}
.font-showcase-block.template-modern .font-showcase-download-btn{background:linear-gradient(135deg, #95a5a6, #7f8c8d);border-radius:8px;}
.font-showcase-block.template-modern .font-showcase-title-bar h2{font-family:"Segoe UI", Tahoma, Geneva, Verdana, sans-serif;font-weight:300;color:var(--ffv-modern-primary);}
.font-showcase-block.template-classic{background:var(--ffv-classic-bg);border:2px solid var(--ffv-classic-accent);border-radius:0;box-shadow:0 4px 8px rgba(0, 0, 0, 0.15);position:relative;}
.font-showcase-block.template-classic::before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;background:linear-gradient(45deg, var(--ffv-classic-accent), var(--ffv-classic-primary));z-index:-1;border-radius:4px;}
.font-showcase-block.template-classic .font-showcase-header-title-area{background:linear-gradient(to right, var(--ffv-classic-primary), #5d4e42);border-bottom:3px solid var(--ffv-classic-accent);padding:15px 25px;position:relative;}
.font-showcase-block.template-classic .font-showcase-header-title-area::after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:3px;background:repeating-linear-gradient( 90deg, var(--ffv-classic-accent) 0px, var(--ffv-classic-accent) 10px, transparent 10px, transparent 20px );}
.font-showcase-block.template-classic .font-showcase-header-title{font-family:"Times New Roman", Times, serif;font-size:1.8rem;font-weight:bold;text-shadow:2px 2px 4px rgba(0, 0, 0, 0.3);letter-spacing:1px;}
.font-showcase-block.template-classic .font-showcase-header-subtitle{font-family:"Times New Roman", Times, serif;font-size:1.1rem;font-style:italic;opacity:0.9;}
.font-showcase-block.template-classic .font-showcase-font-item{background:#faf8f3;border:2px solid var(--ffv-classic-accent);border-radius:0;box-shadow:inset 0 0 10px rgba(200, 176, 138, 0.2);position:relative;}
.font-showcase-block.template-classic .font-showcase-font-item::before{content:"";position:absolute;top:8px;left:8px;right:8px;bottom:8px;border:1px solid var(--ffv-classic-accent);pointer-events:none;}
.font-showcase-block.template-classic .font-showcase-font-preview{background:#f7f2e9;border:2px dashed var(--ffv-classic-accent);border-radius:0;font-family:"Times New Roman", Times, serif;}
.font-showcase-block.template-classic .font-showcase-controls{background:linear-gradient(135deg, #e4dcd0, #d3c5aa);border:2px solid var(--ffv-classic-accent);border-radius:0;box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.1);}
.font-showcase-block.template-classic .font-showcase-generate-btn, .font-showcase-block.template-classic .font-showcase-buy-btn, .font-showcase-block.template-classic .font-showcase-download-btn{border-radius:0;border:2px solid rgba(0, 0, 0, 0.2);font-family:"Times New Roman", Times, serif;font-weight:bold;text-transform:uppercase;letter-spacing:1px;}
.font-showcase-block.template-classic .font-showcase-title-bar h2{font-family:"Times New Roman", Times, serif;color:var(--ffv-classic-primary);text-shadow:1px 1px 2px rgba(0, 0, 0, 0.1);}
.font-showcase-block.template-minimal{background:#fff;border:1px solid var(--ffv-minimal-border);border-radius:0;box-shadow:none;padding:30px;max-width:900px;}
.font-showcase-block.template-minimal .font-showcase-header{background:transparent;box-shadow:none;border-radius:0;margin-bottom:40px;}
.font-showcase-block.template-minimal .font-showcase-header-title-area{background:transparent;color:var(--ffv-minimal-text);padding:0 0 20px 0;text-align:left;border-bottom:2px solid var(--ffv-minimal-border);}
.font-showcase-block.template-minimal .font-showcase-header-title{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:2.2rem;font-weight:200;color:#222;letter-spacing:-0.5px;line-height:1.2;}
.font-showcase-block.template-minimal .font-showcase-header-subtitle{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:1.1rem;color:#666;opacity:1;font-weight:300;margin-top:8px;}
.font-showcase-block.template-minimal .font-showcase-header-gallery{border:none;border-radius:0;margin-top:20px;}
.font-showcase-block.template-minimal .font-showcase-font-item{background:transparent;border:none;border-bottom:1px solid var(--ffv-minimal-border);border-radius:0;box-shadow:none;padding:30px 0;margin-bottom:0;}
.font-showcase-block.template-minimal .font-showcase-font-item:last-child{border-bottom:none;}
.font-showcase-block.template-minimal .font-showcase-font-info{border-bottom:none;margin-bottom:20px;}
.font-showcase-block.template-minimal .font-showcase-font-info strong{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:1.2rem;font-weight:400;color:#222;}
.font-showcase-block.template-minimal .font-showcase-font-preview{background:var(--ffv-minimal-subtle-bg);border:1px solid var(--ffv-minimal-border);border-radius:0;min-height:100px;padding:20px;font-size:52px;}
.font-showcase-block.template-minimal .font-showcase-controls{background:transparent;border:none;border-top:1px solid var(--ffv-minimal-border);border-bottom:1px solid var(--ffv-minimal-border);border-radius:0;padding:30px 0;margin:40px 0;}
.font-showcase-block.template-minimal .font-showcase-input-row input[type="text"],
.font-showcase-block.template-minimal .font-showcase-input-row input[type="range"]{background:#fff;border:1px solid var(--ffv-minimal-border);border-radius:0;}
.font-showcase-block.template-minimal .font-showcase-icon-btn{background:transparent;border:1px solid var(--ffv-minimal-border);border-radius:0;color:var(--ffv-minimal-text);}
.font-showcase-block.template-minimal .font-showcase-icon-btn:hover{background:var(--ffv-minimal-subtle-bg);}
.font-showcase-block.template-minimal .font-showcase-generate-btn, .font-showcase-block.template-minimal .font-showcase-buy-btn, .font-showcase-block.template-minimal .font-showcase-download-btn{border-radius:0;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-weight:400;text-transform:none;letter-spacing:0;padding:12px 24px;}
.font-showcase-block.template-minimal .font-showcase-generate-btn{background:#222;border:1px solid #222;}
.font-showcase-block.template-minimal .font-showcase-buy-btn{background:transparent;color:#222;border:1px solid #222;}
.font-showcase-block.template-minimal .font-showcase-download-btn{background:var(--ffv-minimal-border);color:#222;border:1px solid var(--ffv-minimal-border);}
.font-showcase-block.template-minimal .font-showcase-note{background:var(--ffv-minimal-subtle-bg);border:none;border-left:3px solid #222;border-radius:0;color:#555;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:0.95rem;line-height:1.6;}
.font-showcase-block.template-minimal .font-showcase-title-bar{text-align:left;padding-bottom:20px;margin-bottom:40px;border-bottom:2px solid var(--ffv-minimal-border);}
.font-showcase-block.template-minimal .font-showcase-title-bar h2{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:2.2rem;font-weight:200;color:#222;letter-spacing:-0.5px;}
.font-showcase-block.template-minimal .font-showcase-title-bar .font-showcase-subtitle, .font-showcase-block.template-minimal .font-showcase-title-bar span{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-size:1.1rem;color:#666;font-weight:300;display:block;margin-top:8px;}
.font-showcase-block.template-original{}
.font-showcase-block.template-modern .font-controls{}
.font-showcase-block.template-classic .font-controls{}
.font-showcase-block.template-minimal .font-controls{}
@media(max-width:600px){
.font-showcase-controls{flex-direction:column;align-items:stretch;}
.font-showcase-input-row input[type="text"]{width:140px;}
.font-showcase-font-actions{flex-direction:column;}
.font-showcase-font-actions .font-showcase-generate-btn, .font-showcase-font-actions .font-showcase-buy-btn, .font-showcase-font-actions .font-showcase-download-btn{width:100%;text-align:center;}
.font-showcase-lightbox-content{width:calc(100% - 40px);height:calc(100% - 40px);}
.font-showcase-lightbox-prev, .font-showcase-lightbox-next{width:40px;height:40px;font-size:18px;}
.font-showcase-lightbox-prev{left:10px;}
.font-showcase-lightbox-next{right:10px;}
.font-showcase-lightbox-close{width:32px;height:32px;font-size:20px;top:15px;right:15px;}
.font-showcase-lightbox-counter{top:20px;padding:5px 12px;font-size:12px;}
.font-showcase-lightbox-dots{bottom:15px;gap:8px;}
.font-showcase-lightbox-dot{width:8px;height:8px;}
}
@media(max-width:480px){
.font-showcase-block{padding:15px;margin:10px;}
.font-showcase-header-gallery .font-showcase-header-image{height:150px;}
.font-showcase-gallery-2 .font-showcase-header-image, .font-showcase-gallery-3 .font-showcase-header-image, .font-showcase-gallery-4 .font-showcase-header-image{height:150px;}
.font-showcase-lightbox-content{width:90vw;height:60vh;}
.font-showcase-lightbox-prev, .font-showcase-lightbox-next{width:28px;height:28px;font-size:14px;}
.font-showcase-lightbox-prev{left:-16px;}
.font-showcase-lightbox-next{right:-16px;}
}
@media(max-width:320px){
.font-showcase-char-cell {
width: 45px;
height: 45px;
font-size: 18px;
}
.font-showcase-lightbox-prev, .font-showcase-lightbox-next {
width: 24px;
height: 24px;
font-size: 12px;
}
}