.App{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans SC,Noto Sans JP,Noto Sans KR,sans-serif}.header{text-align:center;padding:2rem 1rem 1rem;color:#fff;width:100%;max-width:800px}.header h1{font-size:clamp(1.6rem,4vw,2.5rem);margin:0 0 .5rem;font-weight:700;word-break:keep-all;overflow-wrap:break-word}.subtitle{font-size:1.2rem;margin:0 0 1.5rem;opacity:.9}.language-selector{margin-top:1rem}.language-selector label{margin-right:.5rem;font-weight:500}.language-select{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.9rem}.language-select option{background:#333;color:#fff}.main{flex:1;max-width:800px;padding:0 1rem 2rem;width:100%}.form-container{background:#fffffff2;padding:2rem;border-radius:12px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.book-input{width:100%;padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;resize:vertical;min-height:80px;font-family:inherit}.book-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.style-select{width:100%;padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;background:#fff}.style-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.generate-btn{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #667eea4d}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.generate-btn.generating{position:relative;color:transparent}.generate-btn.generating:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid white;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:#e74c3c;background:#fdf2f2;padding:.75rem;border-radius:6px;border:1px solid #f5c6cb;margin-top:1rem}.review-container{background:#fffffff2;padding:2rem;border-radius:12px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.review-container h2{margin:0 0 1rem;color:#333;font-size:1.5rem}.review-meta{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.book-name,.style-name{background:#f8f9fa;padding:.25rem .75rem;border-radius:20px;font-size:.9rem;color:#495057;border:1px solid #dee2e6}.review-content{background:#f8f9fa;padding:1.5rem;border-radius:8px;line-height:1.7;font-size:1.05rem;color:#2c3e50;white-space:pre-wrap;border-left:4px solid #667eea}.action-buttons{display:flex;gap:1rem;margin-top:1.5rem}.copy-btn,.share-btn{flex:1;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.copy-btn{background:#28a745;color:#fff}.copy-btn:hover{background:#218838;transform:translateY(-1px)}.share-btn{background:#17a2b8;color:#fff}.share-btn:hover{background:#138496;transform:translateY(-1px)}.footer{text-align:center;padding:1rem;color:#fffc;font-size:.9rem;width:100%}@media(max-width:768px){.header h1{font-size:2rem}.form-container,.review-container{padding:1.5rem;margin:0 .5rem 1rem}.action-buttons{flex-direction:column}.review-meta{flex-direction:column;gap:.5rem}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;margin:0;padding:0}body{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
