:root { --primary-color: #3498db; --secondary-color: #2c3e50; --background-color: #f8f9fa; --card-background: #ffffff; --text-color: #333333; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background-color: var(--background-color); color: var(--text-color); line-height: 1.6; } .container { max-width: 1200px; margin: 0 auto; padding: 2rem; } button { cursor: pointer; padding: 0.5rem 1rem; background-color: var(--primary-color); color: white; border: none; border-radius: 4px; font-size: 0.9rem; transition: background-color 0.2s; } button:hover { background-color: #2980b9; } .view-toggle { display: flex; gap: 0.5rem; margin-bottom: 1rem; } .search-bar { margin-bottom: 1.5rem; width: 100%; max-width: 500px; } .search-bar input { width: 100%; padding: 0.75rem; border: 1px solid #ddd; border-radius: 4px; font-size: 1rem; } .copy-btn, .copy-group .png-btn { background-color: var(--secondary-color, #2c3e50); color: #fff; font-weight: 500; letter-spacing: 0.02em; min-width: 2.5em; border-radius: 0; margin: 0; padding: 0.4em 1em; font-size: 0.95em; border-right: 1px solid var(--color-border, #ddd); transition: background 0.2s, color 0.2s; text-wrap: nowrap; } .copy-btn:last-child, .copy-group .png-btn:last-child { border-right: none; } .copy-btn:focus, .copy-btn:hover, .copy-group .png-btn:focus, .copy-group .png-btn:hover { background: #222; color: #fff; outline: none; } .download-btn, .download-group .png-btn { background: #27ae60; color: #fff; font-weight: 500; letter-spacing: 0.02em; min-width: 2.5em; border-radius: 0; margin: 0; padding: 0.4em 1em; font-size: 0.95em; border-right: 1px solid var(--color-border, #ddd); transition: background 0.2s, color 0.2s; } .download-btn:last-child, .download-group .png-btn:last-child { border-right: none; } .download-btn:focus, .download-btn:hover, .download-group .png-btn:focus, .download-group .png-btn:hover { background: #219150; color: #fff; outline: none; } .copy-group, .download-group { display: inline-flex; border-radius: 6px; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,0.03); margin-right: 0.5em; } /* Shared color switcher and color circle styles */ .color-circle { width: 20px; height: 20px; border-radius: 50%; box-shadow: 0 1px 2px rgba(0,0,0,0.08); cursor: pointer; display: inline-block; transition: border 0.2s, box-shadow 0.2s; } .color-circle:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.12); } .color-switcher-preview, .color-switcher-inline, .color-switcher-under { display: flex; gap: 0.4em; align-items: center; } .color-switcher-preview { justify-content: center; margin: 1em 0 0.5em 0; } .color-switcher-inline { margin-left: auto; } .color-switcher-under { margin: 0.5em 0 0 0; } .logo-tag { display: inline-block; background: var(--color-accent, #4f8cff); color: #fff; border-radius: 12px; padding: 0.2em 0.8em; font-size: 0.85em; font-weight: 500; letter-spacing: 0.02em; transition: background 0.2s; } .logo-actions { display: flex; align-items: center; gap: 0.5em; flex-wrap: nowrap; } .logo-info { background: var(--color-card); color: var(--color-text); padding: 0.5rem 1rem; border-radius: 4px; transition: background 0.2s, color 0.2s; } .logo-image, .logo-preview { display: flex; align-items: center; justify-content: center; background: var(--color-card); color: var(--color-text); border-radius: 4px; overflow: hidden; cursor: pointer; transition: background 0.2s, color 0.2s; } .logo-preview img { max-width: 80%; max-height: 80%; width: auto; height: auto; object-fit: contain; display: block; margin: 0 auto; } .format-row { display: flex; align-items: center; gap: 1em; margin-bottom: 0.5em; } /* Direct logo image size constraints that will work with any component structure */ div.logo-image { display: flex; align-items: center; justify-content: center; /* background-color removed for theme support */ position: relative; overflow: hidden; } div.logo-image img { max-width: 80%; max-height: 80%; width: auto; height: auto; object-fit: contain; } .logo-image svg { width: 100%; height: 100%; max-width: 100%; max-height: 100%; display: block; object-fit: contain; } /* Grid specific */ .logo-grid .logo-item .logo-image { /* height: 160px; */ width: 100%; } /* List specific */ .logo-list .logo-item .logo-image { width: 120px; min-width: 120px; height: 100px; border-right: 1px solid #eee; } /* Dark theme overrides */ @media (prefers-color-scheme: dark) { :root { --color-card: #23272e; --background-color: #181a20; --color-text: #f5f6fa; --color-border: #333842; --color-accent: #4f8cff; } }