:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa}.shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.app-container{width:100%;max-width:32rem;display:flex;flex-direction:column;gap:1.25rem}.app-header h1{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#c084fc,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{margin:.25rem 0 0;color:#ffffff80;font-size:.9rem}.form-group{display:flex;flex-direction:column;gap:.35rem;flex:1}.form-row{display:flex;gap:1rem}label{font-size:.8rem;font-weight:500;color:#ffffffb3;text-transform:uppercase;letter-spacing:.08em}input[type=text],select{width:100%;padding:.6rem .75rem;border:1px solid rgba(255,255,255,.12);border-radius:.5rem;background:#ffffff0a;color:#fafafa;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s}input[type=text]:focus,select:focus{border-color:#818cf8}input[type=text]::placeholder{color:#ffffff4d}.hint{font-size:.72rem;color:#ffffff59;margin-top:.1rem}.generate-btn{width:100%;padding:.7rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s,transform .1s}.generate-btn:hover:not(:disabled){opacity:.9}.generate-btn:active:not(:disabled){transform:scale(.98)}.generate-btn:disabled{opacity:.4;cursor:not-allowed}.poem-output{border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:1.5rem;background:#ffffff05;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.poem-text{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.8;color:#ffffffe6;white-space:pre-wrap}.poem-actions{display:flex;gap:.5rem;margin-top:1rem}.copy-btn,.again-btn{padding:.45rem .85rem;border-radius:.4rem;font-size:.8rem;font-family:inherit;cursor:pointer;transition:background .2s}.copy-btn{border:1px solid rgba(255,255,255,.15);background:transparent;color:#ffffffb3}.copy-btn:hover{background:#ffffff14;color:#fff}.again-btn{border:1px solid rgba(129,140,248,.3);background:#818cf81a;color:#a5b4fc}.again-btn:hover{background:#818cf833}.composing{display:flex;align-items:center;gap:.5rem;color:#ffffff80;font-size:.9rem}.dot-pulse{display:inline-block;width:1.5rem;height:1.5rem;border:2px solid rgba(129,140,248,.2);border-top-color:#818cf8;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
