| :root { | |
| color-scheme: dark; | |
| font-family: system-ui, sans-serif; | |
| line-height: 1.5; | |
| font-weight: 400; | |
| color: #e5e7eb; | |
| background: #0f172a; | |
| font-synthesis: none; | |
| text-rendering: optimizeLegibility; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| body { | |
| margin: 0; | |
| min-width: 320px; | |
| min-height: 100vh; | |
| background: | |
| radial-gradient(circle at top, rgba(59, 130, 246, 0.18), transparent 35%), | |
| #0f172a; | |
| } | |
| button, | |
| textarea { | |
| font: inherit; | |
| } | |
| #app { | |
| min-height: 100vh; | |
| } | |
| .app-shell { | |
| display: grid; | |
| place-items: center; | |
| min-height: 100vh; | |
| padding: 32px 16px; | |
| } | |
| .panel { | |
| width: min(840px, 100%); | |
| background: rgba(15, 23, 42, 0.88); | |
| border: 1px solid rgba(148, 163, 184, 0.2); | |
| border-radius: 20px; | |
| padding: 24px; | |
| box-shadow: 0 24px 80px rgba(15, 23, 42, 0.45); | |
| } | |
| h1 { | |
| margin: 0 0 12px; | |
| font-size: clamp(2rem, 4vw, 3rem); | |
| } | |
| .intro, | |
| .muted { | |
| color: #94a3b8; | |
| } | |
| .field { | |
| display: grid; | |
| gap: 8px; | |
| margin: 20px 0; | |
| } | |
| .field span, | |
| .status-box strong { | |
| color: #cbd5e1; | |
| } | |
| textarea { | |
| width: 100%; | |
| min-height: 160px; | |
| resize: vertical; | |
| border-radius: 14px; | |
| border: 1px solid rgba(148, 163, 184, 0.3); | |
| background: rgba(15, 23, 42, 0.7); | |
| color: #f8fafc; | |
| padding: 14px 16px; | |
| } | |
| .actions { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| margin-bottom: 20px; | |
| } | |
| button { | |
| border: 0; | |
| border-radius: 999px; | |
| padding: 12px 20px; | |
| background: linear-gradient(135deg, #2563eb, #7c3aed); | |
| color: #fff; | |
| cursor: pointer; | |
| } | |
| button:disabled { | |
| opacity: 0.6; | |
| cursor: wait; | |
| } | |
| .status-box { | |
| display: grid; | |
| gap: 10px; | |
| margin-top: 16px; | |
| padding: 16px; | |
| border-radius: 14px; | |
| background: rgba(15, 23, 42, 0.55); | |
| border: 1px solid rgba(148, 163, 184, 0.16); | |
| } | |
| pre { | |
| margin: 0; | |
| white-space: pre-wrap; | |
| word-break: break-word; | |
| color: #e2e8f0; | |
| } | |
| audio { | |
| width: 100%; | |
| } | |