*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f0f2f5;--surface: #ffffff;--border: #e2e8f0;--accent: #4f46e5;--accent-hover: #4338ca;--accent-light: #eef2ff;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html{font-family:var(--font);font-size:16px;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased}.container{max-width:840px;margin:0 auto;padding:48px 24px 80px;display:flex;flex-direction:column;gap:40px}.site-header{text-align:center}.site-title{font-size:2.25rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary)}.site-title .arrow{color:var(--accent)}.site-desc{margin-top:8px;font-size:1rem;color:var(--text-secondary)}.input-section{display:flex;flex-direction:column;align-items:center;gap:12px}.emoji-input-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px}.emoji-input{width:200px;height:96px;font-size:3.5rem;text-align:center;border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);outline:none;cursor:text;transition:border-color .15s,box-shadow .15s;line-height:1;padding:8px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.emoji-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #4f46e51f}.emoji-input::placeholder{color:var(--text-muted)}.input-hint{font-size:.8125rem;color:var(--text-muted)}.preview-section{display:flex;flex-direction:column;align-items:center;gap:20px}.preview-section.is-hidden{display:none}.preview-main canvas{border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:#fff;display:block}.preview-sizes{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;justify-content:center}.preview-thumb{display:flex;flex-direction:column;align-items:center;gap:6px}.preview-thumb canvas{border-radius:4px;background:#fff;box-shadow:var(--shadow-sm);display:block}.preview-thumb-label{font-size:.6875rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.section-title{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:12px}.style-section{display:flex;flex-direction:column}.style-options{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}@media(max-width:680px){.style-options{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}.style-option{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,box-shadow .15s;position:relative}.style-option[data-tooltip]:after,.style-option[data-tooltip]:before{position:absolute;left:50%;transform:translate(-50%);pointer-events:none;opacity:0;transition:opacity .15s,bottom .15s}.style-option[data-tooltip]:after{content:attr(data-tooltip);bottom:calc(100% + 10px);background:#1f2937;color:#f9fafb;font-size:.6875rem;font-weight:500;line-height:1.4;padding:5px 10px;border-radius:6px;white-space:nowrap;z-index:20}.style-option[data-tooltip]:before{content:"";bottom:calc(100% + 4px);border:6px solid transparent;border-top-color:#1f2937;z-index:20}.style-option[data-tooltip]:hover:after,.style-option[data-tooltip]:hover:before{opacity:1;bottom:calc(100% + 10px)}.style-option[data-tooltip]:hover:before{bottom:calc(100% + 4px)}.style-option:not(.disabled):hover{border-color:var(--accent)}.style-option:has(input:checked){border-color:var(--accent);background:var(--accent-light)}.style-option.disabled{opacity:.45;cursor:not-allowed}.style-option input[type=radio]{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.style-label{display:flex;flex-direction:column;gap:2px}.style-label strong{font-size:.9375rem;font-weight:600}.style-label small{font-size:.75rem;color:var(--text-secondary)}.export-section{display:flex;flex-direction:column}.export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.export-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;gap:10px}.card-title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.badge{font-size:.6875rem;font-weight:600;padding:2px 8px;border-radius:999px;letter-spacing:.02em}.badge-all{background:#f0fdf4;color:#166534}.badge-win{background:#eff6ff;color:#1d4ed8}.badge-mac{background:#fdf4ff;color:#7e22ce}.card-desc{font-size:.875rem;color:var(--text-secondary);margin-top:-8px}.size-picker{display:flex;flex-direction:column;gap:10px}.size-presets{display:flex;flex-wrap:wrap;gap:6px}.size-btn{padding:4px 10px;font-size:.8125rem;font-weight:500;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .1s,border-color .1s,color .1s;font-family:var(--font)}.size-btn:hover{border-color:var(--accent);color:var(--accent)}.size-btn.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.custom-size-row{display:flex;align-items:center;gap:6px}.size-input{width:72px;padding:6px 8px;font-size:.875rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;font-family:var(--font);transition:border-color .15s}.size-input:focus{border-color:var(--accent)}.size-unit{font-size:.875rem;color:var(--text-secondary)}.sizes-list{display:flex;flex-wrap:wrap;gap:6px}.size-tag{font-size:.75rem;padding:3px 8px;background:var(--bg);border-radius:6px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.download-btn{margin-top:auto;padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:600;cursor:pointer;font-family:var(--font);transition:background .15s,opacity .15s}.download-btn:hover:not(:disabled){background:var(--accent-hover)}.download-btn:disabled{opacity:.35;cursor:not-allowed}.download-btn.is-loading{opacity:.7;cursor:wait}@media(max-width:600px){.container{padding:32px 16px 60px;gap:28px}.site-title{font-size:1.75rem}.export-grid{grid-template-columns:1fr}}
