| |
|
|
| |
| * { |
| box-sizing: border-box; |
| } |
|
|
| body { |
| font-family: 'Nunito', sans-serif; |
| -webkit-font-smoothing: antialiased; |
| } |
|
|
| |
| .spinner { |
| width: 24px; |
| height: 24px; |
| border: 3px solid #E8F5E9; |
| border-top-color: #1B5E20; |
| border-radius: 50%; |
| animation: spin 0.8s linear infinite; |
| } |
|
|
| @keyframes spin { |
| to { transform: rotate(360deg); } |
| } |
|
|
| |
| #sourceText { |
| font-size: 18px; |
| line-height: 1.6; |
| } |
|
|
| |
| .lang-chip { |
| display: flex; |
| align-items: center; |
| gap: 0.5rem; |
| padding: 0.75rem 1rem; |
| border: 2px solid #e5e7eb; |
| border-radius: 0.75rem; |
| cursor: pointer; |
| transition: all 0.2s; |
| font-weight: 600; |
| font-size: 0.95rem; |
| user-select: none; |
| background: white; |
| } |
|
|
| .lang-chip:hover { |
| border-color: #2E7D32; |
| background: #E8F5E9; |
| } |
|
|
| .lang-chip.selected { |
| border-color: #1B5E20; |
| background: #1B5E20; |
| color: white; |
| } |
|
|
| .lang-chip.selected:hover { |
| background: #2E7D32; |
| border-color: #2E7D32; |
| } |
|
|
| .lang-chip .check-icon { |
| width: 18px; |
| height: 18px; |
| border: 2px solid #d1d5db; |
| border-radius: 50%; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| transition: all 0.2s; |
| flex-shrink: 0; |
| } |
|
|
| .lang-chip.selected .check-icon { |
| border-color: white; |
| background: white; |
| color: #1B5E20; |
| } |
|
|
| |
| .result-card { |
| background: white; |
| border-radius: 1rem; |
| overflow: hidden; |
| box-shadow: 0 1px 3px rgba(0,0,0,0.08); |
| transition: box-shadow 0.2s; |
| } |
|
|
| .result-card:hover { |
| box-shadow: 0 4px 12px rgba(0,0,0,0.12); |
| } |
|
|
| .result-card .result-header { |
| padding: 0.75rem 1.25rem; |
| display: flex; |
| align-items: center; |
| justify-content: space-between; |
| border-bottom: 1px solid #f3f4f6; |
| } |
|
|
| .result-card .result-body { |
| padding: 1.25rem; |
| font-size: 18px; |
| line-height: 1.7; |
| white-space: pre-wrap; |
| word-break: break-word; |
| } |
|
|
| |
| .modal-enter { |
| animation: modalIn 0.25s ease-out; |
| } |
|
|
| @keyframes modalIn { |
| from { |
| opacity: 0; |
| transform: scale(0.95) translateY(10px); |
| } |
| to { |
| opacity: 1; |
| transform: scale(1) translateY(0); |
| } |
| } |
|
|
| |
| #toast:not(.hidden) { |
| animation: toastIn 0.3s ease-out, toastOut 0.3s ease-in 2.5s forwards; |
| } |
|
|
| @keyframes toastIn { |
| from { opacity: 0; transform: translate(-50%, 20px); } |
| to { opacity: 1; transform: translate(-50%, 0); } |
| } |
|
|
| @keyframes toastOut { |
| from { opacity: 1; transform: translate(-50%, 0); } |
| to { opacity: 0; transform: translate(-50%, 20px); } |
| } |
|
|
| |
| .history-item { |
| padding: 0.75rem 1rem; |
| border: 1px solid #e5e7eb; |
| border-radius: 0.75rem; |
| cursor: pointer; |
| transition: all 0.2s; |
| } |
|
|
| .history-item:hover { |
| background: #E8F5E9; |
| border-color: #2E7D32; |
| } |
|
|
| |
| @media print { |
| header, footer, #translateBtn, .no-print { |
| display: none !important; |
| } |
| .result-card { |
| break-inside: avoid; |
| box-shadow: none; |
| border: 1px solid #ddd; |
| } |
| main { |
| padding: 0; |
| } |
| } |
|
|
| |
| @media (max-width: 640px) { |
| #sourceText { |
| font-size: 16px; |
| } |
| .result-card .result-body { |
| font-size: 16px; |
| } |
| .lang-chip { |
| padding: 0.5rem 0.75rem; |
| font-size: 0.85rem; |
| } |
| } |
|
|
| |
| button:focus-visible, |
| select:focus-visible, |
| textarea:focus-visible, |
| input:focus-visible { |
| outline: 3px solid #2E7D32; |
| outline-offset: 2px; |
| } |
|
|
| |
| @media (prefers-reduced-motion: reduce) { |
| *, *::before, *::after { |
| animation-duration: 0.01ms !important; |
| transition-duration: 0.01ms !important; |
| } |
| } |