:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: #e5ebfb;--primary-hover: #1d4ed8;--primary-shadow: rgb(37 99 235 / 25%);--primary-color: var(--primary);--primary-color-light: var(--primary-light);--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--surface: #ffffff;--surface-muted: #f8fafc;--surface-elevated: #ffffff;--background: #f8fafc;--surface-color: var(--surface);--light-bg: var(--background);--secondary-bg: #e2e8f0;--border: #e2e8f0;--border-light: #f1f5f9;--border-dark: #cbd5e1;--border-color: var(--border);--text-main: #0f172a;--text-muted: #64748b;--text-light: #94a3b8;--text-inverse: #ffffff;--text-primary: var(--text-main);--text-secondary: var(--text-muted);--secondary-color: #334155;--shadow-soft: 0 20px 45px rgba(15, 23, 42, 0.08);--shadow-sm: 0 1px 2px rgb(15 23 42 / 0.08);--shadow-md: 0 4px 12px rgb(15 23 42 / 0.08);--shadow-lg: 0 12px 24px rgb(15 23 42 / 0.12);--radius-sm: 0.375rem;--radius-md: 0.75rem;--radius-lg: 1.5rem;}
.converter-main{background: var(--surface);border-radius: var(--radius-lg);box-shadow: var(--shadow-lg);padding: clamp(1.5rem, 3vw, 2.5rem);border: 1px solid rgba(148, 163, 184, 0.25);margin-bottom: 2.5rem;}
.converter-card{padding: 0 1rem;height: 100%;}
.converter-card .author-meta{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: 0.5rem 1rem;padding-bottom: 1rem;margin-bottom: 1.25rem;border-bottom: 1px solid var(--border);font-size: 0.875rem;color: var(--text-muted);}
.converter-card .author-meta .meta-author{font-weight: 500;}
.converter-card .author-meta .author-link{color: var(--primary-dark);text-decoration: none;font-weight: 600;}
.converter-card .author-meta .author-link:hover{text-decoration: underline;}
.converter-card .author-meta .meta-updated{color: var(--text-muted);font-size: 0.8125rem;}
.converter-form{display: flex;flex-direction: column;gap: 1.25rem;}
.input-group{display: flex;flex-direction: column;gap: 0.75rem;}
.input-label{display: flex;align-items: center;justify-content: space-between;font-weight: 700;color: var(--text-main);font-size: 1rem;}
.label-title{display: inline-flex;align-items: center;gap: 0.5rem;}
.base64-textarea{width: 100%;min-height: 200px;padding: 1rem 1.15rem;border: 2px solid var(--border);border-radius: var(--radius-md);font-size: 1rem;color: var(--text-main);transition: border-color 0.2s ease, box-shadow 0.2s ease;background: var(--surface);box-shadow: inset 0 1px 2px rgb(15 23 42 / 0.04);resize: vertical;}
.base64-textarea:focus{outline: none;border-color: var(--primary);box-shadow: 0 0 0 3px rgb(37 99 235 / 0.1);}
.base64-textarea:hover{border-color: var(--primary);}
.form-actions{display: flex;flex-wrap: wrap;gap: 0.75rem;align-items: center;}
.convert-btn{flex: 1 1 180px;background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color: #ffffff;border: none;padding: 0.85rem 1.75rem;border-radius: var(--radius-sm);font-size: 1rem;font-weight: 700;cursor: pointer;transition: transform 0.18s ease, box-shadow 0.18s ease;position: relative;overflow: hidden;display: inline-flex;align-items: center;justify-content: center;gap: 0.5rem;}
.convert-btn:hover{transform: translateY(-2px);box-shadow: 0 10px 18px var(--primary-shadow);}
.convert-btn:active{transform: translateY(0);}
.convert-btn.loading,.convert-btn:disabled{cursor: wait;opacity: 0.9;}
.ghost-btn{background: transparent;border: 2px solid var(--border);color: var(--text-muted);border-radius: var(--radius-sm);padding: 0.8rem 1.25rem;font-size: 0.95rem;font-weight: 600;transition: all 0.2s ease;display: inline-flex;align-items: center;gap: 0.5rem;cursor: pointer;}
.ghost-btn:hover{border-color: var(--primary);color: var(--primary);box-shadow: var(--shadow-sm);}
.status-bar{border-radius: var(--radius-sm);padding: 0.85rem 1rem;font-size: 0.9rem;line-height: 1.4;display: flex;gap: 0.5rem;align-items: flex-start;}
.status-bar svg{flex-shrink: 0;}
.status-info{background: var(--primary-light);color: var(--primary-dark);border-left: 4px solid var(--primary);}
.status-warning{background: #fff7ed;color: #9a3412;border-left: 4px solid var(--warning);}
.status-error{background: #fef2f2;color: #dc2626;border-left: 4px solid var(--danger);}
.status-success{background: #f0fdf4;color: #166534;border-left: 4px solid var(--success);}
.results-container{border-radius: var(--radius-md);padding: 1.5rem;border: 1px solid var(--border);background: var(--surface);position: relative;}
.results-header{display: flex;align-items: center;justify-content: space-between;gap: 1rem;margin-bottom: 1.25rem;padding-bottom: 0.75rem;border-bottom: 1px solid var(--border);}
.results-title{font-size: 1.35rem;font-weight: 700;color: var(--text-main);margin: 0;}
.results-badge{font-size: 0.8125rem;font-weight: 600;color: var(--primary);background: var(--primary-light);padding: 0.3rem 0.65rem;border-radius: 9999px;}
.decoded-text{background: var(--surface-muted);border-radius: var(--radius-md);padding: 1.25rem;margin-bottom: 1.5rem;border: 1px solid var(--border);box-shadow: var(--shadow-sm);white-space: pre-wrap;word-break: break-word;max-height: 300px;overflow-y: auto;font-family: inherit;font-size: 0.95rem;line-height: 1.6;color: var(--text-main);}
.stats-grid{display: grid;grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));gap: 0.75rem;margin-bottom: 1.5rem;}
.stat-card{background: var(--surface);border-radius: var(--radius-md);padding: 1rem 0.75rem;text-align: center;border: 1px solid var(--border);transition: transform 0.2s ease, box-shadow 0.2s ease;box-shadow: var(--shadow-sm);}
.stat-label{font-size: 0.75rem;font-weight: 600;color: var(--text-muted);letter-spacing: 0.05em;text-transform: uppercase;margin-bottom: 0.25rem;}
.stat-value{font-size: clamp(1.4rem, 2vw, 1.75rem);font-weight: 700;color: var(--primary);margin: 0;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.helper-panel{background: var(--surface);border-radius: var(--radius-md);border: 1px solid var(--border);padding: 1.25rem;box-shadow: var(--shadow-sm);margin-top: 1.25rem;}
.helper-title{font-size: 1.05rem;font-weight: 700;color: var(--text-main);margin-bottom: 0.75rem;}
.helper-list{list-style: none;padding: 0;margin: 0;display: grid;gap: 0.6rem;}
.helper-list li{position: relative;padding-left: 1.5rem;color: var(--text-muted);font-size: 0.9rem;line-height: 1.4;}
.helper-list li::before{content: '✔';position: absolute;left: 0;top: 0;color: var(--success);font-weight: 700;}
.action-buttons{display: flex;gap: 0.75rem;justify-content: flex-start;flex-wrap: wrap;margin-top: 1.5rem;padding-top: 1.25rem;border-top: 1px solid var(--border);}
.action-btn{padding: 0.75rem 1.25rem;border-radius: var(--radius-sm);font-weight: 600;font-size: 0.9rem;cursor: pointer;transition: all 0.2s ease;border: 1px solid var(--border);background: var(--surface);color: var(--text-main);display: inline-flex;align-items: center;gap: 0.5rem;}
.action-btn:hover{background: var(--surface-muted);border-color: var(--primary);color: var(--primary);transform: translateY(-1px);box-shadow: var(--shadow-sm);}
.action-btn.copied{background: var(--success);border-color: var(--success);color: #ffffff;}
.tooltip{position: relative;display: inline-flex;}
.tooltip .tooltip-trigger{display: inline-flex;align-items: center;justify-content: center;width: 1.5rem;height: 1.5rem;border-radius: 9999px;background: rgba(15, 23, 42, 0.08);color: var(--text-main);font-weight: 700;font-size: 0.75rem;border: none;cursor: help;}
.tooltip .tooltiptext{visibility: hidden;width: 220px;background-color: var(--text-main);color: #ffffff;text-align: left;border-radius: var(--radius-sm);padding: 0.65rem 0.85rem;position: absolute;z-index: 10;bottom: 135%;left: 50%;transform: translateX(-50%);opacity: 0;transition: opacity 0.2s ease;font-size: 0.8125rem;line-height: 1.4;box-shadow: var(--shadow-md);}
.tooltip:hover .tooltiptext,.tooltip:focus-within .tooltiptext{visibility: visible;opacity: 1;}
.sr-only{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}
.loading::after{content: '';position: absolute;top: 50%;left: 50%;width: 18px;height: 18px;margin: -9px 0 0 -9px;border: 2px solid rgba(255, 255, 255, 0.6);border-top: 2px solid #ffffff;border-radius: 9999px;animation: spin 1s linear infinite;}
@keyframes spin{0%{transform: rotate(0deg);}100%{transform: rotate(360deg);}}
.success-animation{animation: successPulse 0.4s ease-in-out;}
@keyframes successPulse{0%{transform: scale(1);}50%{transform: scale(1.01);}100%{transform: scale(1);}}
.seo-section{padding: 2rem 0;}
.seo-card{background: var(--surface);border-radius: var(--radius-lg);padding: clamp(1.75rem, 3vw, 2.5rem);border: 1px solid var(--border);box-shadow: var(--shadow-sm);margin-bottom: 2rem;}
.seo-card h2{font-size: clamp(1.5rem, 2.5vw, 1.85rem);font-weight: 800;color: var(--text-main);margin-bottom: 1rem;}
.seo-card h3{font-size: clamp(1.2rem, 2vw, 1.4rem);font-weight: 700;color: var(--text-main);margin-top: 1.75rem;margin-bottom: 0.75rem;}
.seo-card p{font-size: 1rem;line-height: 1.75;color: var(--text-muted);margin-bottom: 1.15rem;}
.seo-card a{color: var(--primary-dark);text-decoration: underline;font-weight: 600;}
.seo-card a:hover{color: var(--primary);}
.seo-callout{background: var(--surface-muted);border-left: 4px solid var(--primary);border-radius: var(--radius-sm);padding: 1rem 1.25rem;margin: 1.5rem 0;font-size: 0.95rem;color: var(--text-main);}
@media (max-width: 991px){.converter-main{padding: 1.5rem;}.converter-card{padding: 0;}}
@media (max-width: 767px){.converter-card .author-meta{flex-direction: column;align-items: flex-start;gap: 0.35rem;}.form-actions{flex-direction: column;align-items: stretch;}.convert-btn,.ghost-btn{width: 100%;justify-content: center;}.results-header{flex-direction: column;align-items: flex-start;gap: 0.5rem;}.action-buttons{flex-direction: column;}.action-btn{width: 100%;justify-content: center;}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important;}}
