:root { --bg: #0f1419; --card: #1a2332; --text: #e7ecf3; --muted: #8b9bb4; --accent: #3d8bfd; --accent-hover: #5ca0ff; --border: #2a3a52; } * { box-sizing: border-box; } body { margin: 0; font-family: "Pretendard", "Apple SD Gothic Neo", system-ui, sans-serif; background: var(--bg); color: var(--text); line-height: 1.5; } .container { max-width: 720px; margin: 0 auto; padding: 2rem 1.25rem 3rem; } header h1 { margin: 0 0 0.25rem; font-size: 1.75rem; } .subtitle { color: var(--muted); margin: 0 0 1.5rem; } .card { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 1.25rem; margin-bottom: 1rem; } label { display: block; font-size: 0.875rem; color: var(--muted); margin-bottom: 0.35rem; } textarea, input, select { width: 100%; padding: 0.65rem 0.75rem; border-radius: 8px; border: 1px solid var(--border); background: #0d1218; color: var(--text); font-size: 1rem; } textarea { resize: vertical; min-height: 120px; } .row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; } @media (max-width: 600px) { .row { grid-template-columns: 1fr; } } .field { margin-bottom: 1rem; } button { width: 100%; padding: 0.85rem; border: none; border-radius: 8px; background: var(--accent); color: #fff; font-size: 1rem; font-weight: 600; cursor: pointer; } button:hover:not(:disabled) { background: var(--accent-hover); } button:disabled { opacity: 0.6; cursor: not-allowed; } .status { margin-top: 0.75rem; font-size: 0.9rem; color: var(--muted); min-height: 1.25rem; } footer { font-size: 0.8rem; color: var(--muted); } #resultSection h2 { margin-top: 0; font-size: 1.1rem; } audio { width: 100%; margin-bottom: 0.5rem; } a { color: var(--accent); }