:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}#root{width:100%;min-height:100vh;display:flex;justify-content:center}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#333;background-color:#f8f9fa}.app{max-width:1200px;width:100%;margin:0 auto;padding:20px;min-height:100vh;display:flex;flex-direction:column}.app-header{text-align:center;margin-bottom:40px;padding:40px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a}.app-header h1{font-size:2.5rem;margin-bottom:10px;font-weight:700}.app-header p{font-size:1.1rem;opacity:.9}.service-notice{margin-bottom:30px;background:linear-gradient(135deg,#ff6b6b,#ffa726);border-radius:12px;box-shadow:0 4px 15px #ff6b6b26;overflow:hidden;animation:slideDown .3s ease-out}.service-notice-content{display:flex;align-items:flex-start;padding:20px;gap:15px;color:#fff}.service-notice-icon{font-size:1.5rem;flex-shrink:0;margin-top:2px}.service-notice-text{flex:1}.service-notice-text strong{display:block;font-size:1.1rem;margin-bottom:5px;font-weight:600}.service-notice-text p{font-size:.95rem;opacity:.95;line-height:1.5;margin:0}.service-notice-close{background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;flex-shrink:0;margin-top:-5px}.service-notice-close:hover{background-color:#fff3;transform:scale(1.1)}.service-notice-close:active{transform:scale(.95)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.main-content{flex:1;display:flex;flex-direction:column;gap:30px}.input-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 10px #0000000d;border:1px solid #e9ecef}.input-section h2{color:#2c3e50;margin-bottom:25px;font-size:1.5rem}.input-method{display:flex;flex-direction:column;gap:20px}.file-upload,.text-input,.prompt-section{display:flex;flex-direction:column;gap:8px}.file-upload label,.text-input label,.prompt-section label{font-weight:600;color:#495057;font-size:.95rem}.file-upload input[type=file]{padding:10px;border:2px dashed #dee2e6;border-radius:8px;background-color:#f8f9fa;cursor:pointer;transition:all .3s ease}.file-upload input[type=file]:hover{border-color:#667eea;background-color:#f0f2ff}.file-info{font-size:.9rem;color:#28a745;font-weight:500}.text-divider{text-align:center;font-weight:700;color:#6c757d;margin:15px 0;position:relative}.text-divider:before,.text-divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background-color:#dee2e6}.text-divider:before{left:0}.text-divider:after{right:0}textarea,input[type=text]{padding:12px;border:2px solid #dee2e6;border-radius:8px;font-size:.95rem;transition:border-color .3s ease;font-family:inherit;resize:vertical}textarea:focus,input[type=text]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.generate-button{padding:15px 30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:flex-start;margin-top:20px}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #667eea4d}.generate-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.warning-message,.error-message,.success-message{padding:15px;border-radius:8px;margin:15px 0;font-weight:500}.warning-message{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.error-message{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.success-message{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.summary-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 10px #0000000d;border:1px solid #e9ecef}.summary-section h2{color:#2c3e50;margin-bottom:20px;font-size:1.5rem}.summary-actions{margin-bottom:20px;display:flex;gap:10px}.edit-button{padding:10px 20px;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.edit-button:hover{background-color:#5a6268;transform:translateY(-1px)}.share-button{padding:10px 20px;background-color:#28a745;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.share-button:hover{background-color:#218838;transform:translateY(-1px)}.share-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6;transform:none}.share-button:disabled:hover{background-color:#6c757d;transform:none}.disabled-indicator{font-size:.85rem;opacity:.8;font-weight:400}.summary-display{width:100%;min-height:300px;padding:20px;background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:.95rem;line-height:1.6;color:#333;white-space:pre-wrap;word-wrap:break-word}.summary-display strong{color:#2c3e50;font-weight:600}.summary-display em{font-style:italic;color:#495057}.summary-text{width:100%;min-height:300px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.6;background-color:#f8f9fa;color:#000;border:2px solid #e9ecef}.email-form{margin-top:25px;padding:25px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.email-form h3{color:#2c3e50;margin-bottom:20px}.email-inputs{display:flex;flex-direction:column;gap:15px}.input-group{display:flex;flex-direction:column;gap:5px}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;animation:overlayFadeIn .2s ease-out forwards}@keyframes overlayFadeIn{to{opacity:1}}.modal-dialog{background:#fff;border-radius:12px;box-shadow:0 25px 50px #00000040;width:90%;max-width:520px;max-height:90vh;overflow:hidden;transform:translateY(20px);opacity:0;animation:dialogSlideIn .25s ease-out .1s forwards;border:1px solid rgba(0,0,0,.1)}@keyframes dialogSlideIn{to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e5e7eb;background:#fff}.modal-header h3{margin:0;font-size:1.375rem;font-weight:700;color:#111827;display:flex;align-items:center;gap:8px}.modal-close{background:none;border:none;color:#6b7280;font-size:24px;width:40px;height:40px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;font-weight:300;line-height:1}.modal-close:hover{background-color:#f3f4f6;color:#374151}.modal-close:active{background-color:#e5e7eb;transform:scale(.95)}.modal-body{padding:32px;display:flex;flex-direction:column;gap:24px;background:#fff}.modal-input{width:100%;padding:16px;border:2px solid #d1d5db;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .15s ease;background-color:#fff;color:#111827}.modal-input::placeholder{color:#9ca3af}.modal-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-input:disabled{background-color:#f9fafb;border-color:#d1d5db;color:#6b7280;cursor:not-allowed}.input-group label{font-weight:600;color:#374151;margin-bottom:8px;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.modal-footer{display:flex;justify-content:flex-end;gap:16px;padding:24px 32px 32px;background:#f9fafb;border-top:1px solid #e5e7eb}.modal-cancel-button{padding:12px 24px;background-color:#fff;color:#374151;border:2px solid #d1d5db;border-radius:8px;font-weight:600;cursor:pointer;transition:all .15s ease;min-width:100px;font-family:inherit}.modal-cancel-button:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.modal-cancel-button:active{transform:translateY(1px)}.modal-send-button{padding:12px 28px;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .15s ease;min-width:140px;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}.modal-send-button:hover:not(:disabled){background-color:#2563eb}.modal-send-button:active:not(:disabled){transform:translateY(1px)}.modal-send-button:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.modal-success-message{padding:16px;background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;color:#065f46;font-weight:500;margin-bottom:8px;animation:messageSlideIn .3s ease-out}.modal-error-message{padding:16px;background-color:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-weight:500;margin-bottom:8px;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.input-group label{font-weight:600;color:#495057;font-size:.9rem}.email-actions{display:flex;gap:10px;margin-top:20px}.send-email-button{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.send-email-button:hover:not(:disabled){background-color:#0056b3}.cancel-button{padding:10px 20px;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button:hover{background-color:#545b62}.send-email-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}.github-floating-button{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:#fff;border:2px solid #e9ecef;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#333;box-shadow:0 4px 15px #0000001a;transition:all .3s ease;z-index:1000}.github-floating-button:hover{background:#f8f9fa;border-color:#667eea;color:#667eea;transform:scale(1.1);box-shadow:0 6px 20px #00000026}.github-floating-button .github-icon{width:24px;height:24px;transition:transform .2s ease}.github-floating-button:hover .github-icon{transform:scale(1.1)}@media (max-width: 768px){.service-notice-content{padding:15px;gap:12px}.service-notice-icon{font-size:1.3rem}.service-notice-text strong{font-size:1rem}.service-notice-text p{font-size:.9rem}.service-notice-close{font-size:1.6rem;width:28px;height:28px}}@media (max-width: 480px){.service-notice-content{padding:12px;gap:10px}.service-notice-icon{font-size:1.2rem}.service-notice-text strong{font-size:.95rem}.service-notice-text p{font-size:.85rem}}@media (max-width: 768px){.github-floating-button{width:45px;height:45px;right:20px;bottom:20px}.github-floating-button .github-icon{width:20px;height:20px}}@media (max-width: 480px){.github-floating-button{width:40px;height:40px;right:15px;bottom:15px}.github-floating-button:hover{transform:scale(1.1)}.github-floating-button .github-icon{width:18px;height:18px}}@media (max-width: 1200px){.app{max-width:95%;margin:0 auto}}@media (max-width: 768px){.app{padding:15px;max-width:100%;margin:0 auto}.app-header{padding:30px 15px}.app-header h1{font-size:2rem}.input-section,.summary-section{padding:20px}.email-actions{flex-direction:column}}@media (max-width: 480px){.app{padding:10px}.app-header{padding:20px 10px}.app-header h1{font-size:1.8rem}.input-section,.summary-section{padding:15px}}
