:root{--bg-color: #0d0d0d;--surface-color: #1a1a1a;--primary-gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--text-main: #ffffff;--text-secondary: #a1a1aa;--border-color: #333;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--radius: 16px;--font-family: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-family);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow-x:hidden;background-image:radial-gradient(circle at 10% 20%,rgba(99,102,241,.1) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(168,85,247,.1) 0%,transparent 40%)}#root{width:100%;max-width:800px;padding:1rem}.container{display:flex;flex-direction:column;align-items:center;gap:2rem;width:100%}.app-header{text-align:center}.app-header h1{font-size:3rem;margin-bottom:.5rem;letter-spacing:-1px}.app-header p{color:var(--text-secondary);font-size:1.1rem}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius);padding:2.5rem;box-shadow:0 8px 32px #0000005e;width:100%}.gradient-text{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.api-key-section{margin-bottom:2rem}.controls{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.5rem}.select-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.select-group label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.swap-btn{background:var(--surface-color);color:var(--text-secondary);width:42px;height:42px;border-radius:50%;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:2px}.swap-btn:hover{background:#ffffff1a;color:var(--text-main);border-color:#8b5cf6}.input-area textarea{width:100%;min-height:150px;resize:vertical;background:#0000004d}.action-area{margin-top:1.5rem;display:flex;justify-content:flex-end}.btn-primary{background:var(--primary-gradient);color:#fff;padding:.75rem 2.5rem;border-radius:99px;font-weight:600;font-size:1rem;box-shadow:0 4px 15px #7c3aed4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.btn-primary:disabled{opacity:.7;cursor:not-allowed;filter:grayscale(.5)}.output-area{margin-top:2rem;border-top:1px solid var(--border-color);padding-top:1.5rem}.output-area h3{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px}.result-box{font-size:1.1rem;line-height:1.6;color:var(--text-main);text-align:start}.result-box ul,.result-box ol{padding-inline-start:1.5rem;margin-bottom:1rem}.result-box li{margin-bottom:.5rem}.result-box p{margin-bottom:1rem}.result-box h1,.result-box h2,.result-box h3{margin-top:1.5rem;margin-bottom:.5rem}.result-box strong{font-weight:600;color:#fff}.fade-in{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}textarea,select,input{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-main);padding:.75rem;border-radius:8px;font-family:inherit;font-size:1rem;width:100%;transition:border-color .2s}textarea:focus,select:focus,input:focus{outline:none;border-color:#8b5cf6}@media(max-width:600px){.app-header h1{font-size:2rem}.glass-panel{padding:1.5rem}.controls{flex-direction:column;align-items:stretch}.swap-btn{align-self:center;transform:rotate(90deg);margin:.5rem 0}}.loading-container{display:flex;justify-content:center;align-items:center;padding:2rem}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-left-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
