.font-tabs{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap;justify-content:center}.font-tab{background:var(--gray-100);border:none;padding:10px 24px;border-radius:60px;font-size:0.9rem;font-weight:500;cursor:pointer;transition:all 0.3s;color:var(--gray-600)}.font-tab i{margin-right:6px}.font-tab.active{background:linear-gradient(135deg, var(--primary-color), var(--primary-dark));color:white;box-shadow:0 4px 12px rgba(59,130,246,0.3)}.font-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:16px;margin-bottom:32px;max-height:500px;overflow-y:auto;padding:4px}.font-card{background:white;border-radius:20px;padding:20px;border:1px solid var(--gray-200);transition:all 0.3s;cursor:pointer;position:relative;overflow:hidden}.font-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--primary-color), var(--primary-light));transform:scaleX(0);transition:transform 0.3s}.font-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px -10px rgba(0,0,0,0.1);border-color:transparent}.font-card:hover::before{transform:scaleX(1)}.font-card.active{border-color:var(--primary-color);box-shadow:0 8px 20px rgba(59,130,246,0.15)}.font-card.active::before{transform:scaleX(1)}.font-name{font-size:1.1rem;font-weight:600;color:var(--gray-800);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}.font-family{font-family:monospace;font-size:0.7rem;color:var(--gray-400);background:var(--gray-100);padding:4px 8px;border-radius:8px;word-break:break-all}.font-preview{margin-top:16px;font-size:1rem;color:var(--gray-600);line-height:1.4}.font-preview small{display:block;font-size:0.7rem;color:var(--gray-400);margin-top:8px}.preview-panel{background:var(--gray-50);border-radius:24px;padding:20px;margin-bottom:32px;border:1px solid var(--gray-200)}.preview-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--gray-200)}.preview-title{font-weight:600;display:flex;align-items:center;gap:8px}.preview-title i{color:var(--primary-color)}.preview-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.preview-input{padding:10px 16px;border:1px solid var(--gray-300);border-radius:30px;width:220px;font-size:0.85rem}.preview-settings{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.preview-settings label{display:flex;align-items:center;gap:8px;font-size:0.75rem;color:var(--gray-600)}.preview-settings input[type="range"]{width:100px}.preview-area{background:white;border-radius:16px;padding:40px 24px;text-align:center;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;transition:all 0.2s;min-height:150px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid var(--gray-200)}.css-generator{background:#1a1a2e;border-radius:20px;overflow:hidden}.generator-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#2d2d44;color:white;font-weight:500}.copy-css-btn{background:rgba(255,255,255,0.1);border:none;padding:6px 16px;border-radius:30px;color:white;cursor:pointer;font-size:0.8rem;transition:all 0.2s}.copy-css-btn:hover{background:var(--primary-color)}.css-code{padding:20px;margin:0;font-family:'Fira Code',monospace;font-size:0.8rem;line-height:1.6;color:#d4d4d4;white-space:pre-wrap;word-break:break-all;background:#1a1a2e}.generator-tip{padding:12px 20px;background:#2d2d44;font-size:0.7rem;color:#a0a0c0;display:flex;align-items:center;gap:8px}.font-list::-webkit-scrollbar{width:6px}.font-list::-webkit-scrollbar-track{background:var(--gray-100);border-radius:10px}.font-list::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:10px}@media (max-width:768px){.font-tabs{gap:8px}.font-tab{padding:6px 14px;font-size:0.75rem}.preview-header{flex-direction:column;align-items:flex-start}.preview-controls{width:100%;flex-direction:column;align-items:stretch}.preview-input{width:100%}.preview-settings{justify-content:space-between}}