:root{--bg-color: #0d0d0d;--card-bg: #1a1a1a;--text-primary: #ffffff;--text-secondary: #a1a1aa;--accent-color: #10b981;--accent-hover: #059669;--border-color: #333333;--font-family: "Inter", system-ui, -apple-system, sans-serif}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;min-height:100vh}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}h1,h2,h3{font-weight:700;line-height:1.2}h1{font-size:3.2em;background:linear-gradient(to right,#10b981,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5em}button{border-radius:8px;border:1px solid transparent;padding:.8em 1.6em;font-size:1em;font-weight:600;font-family:inherit;background-color:var(--accent-color);color:#fff;cursor:pointer;transition:all .25s;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}button:hover{background-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}button:disabled{background-color:var(--text-secondary);cursor:not-allowed;opacity:.6}input,textarea{background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:1em;border-radius:8px;font-size:1rem;width:100%;max-width:500px;margin-bottom:1rem;transition:border-color .2s}input:focus,textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #10b98133}.card{background-color:var(--card-bg);padding:2rem;border-radius:12px;border:1px solid var(--border-color);margin:1rem 0;box-shadow:0 4px 6px -1px #00000080}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.topic-card{cursor:pointer;transition:all .2s;text-align:left}.topic-card:hover{border-color:var(--accent-color);transform:scale(1.02)}.loader{border:4px solid var(--card-bg);border-top:4px solid var(--accent-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:2rem auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.result-container{display:flex;flex-direction:column;gap:2rem;align-items:center}.script-box{text-align:left;white-space:pre-wrap;max-width:800px;line-height:1.6}.thumbnail-preview{max-width:100%;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
