*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;background:#f8f7f6;color:#1a202c;line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#1e1b4b,#312e81 60%,#4338ca);color:#fff;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;box-shadow:0 2px 12px #00000040;flex-shrink:0}.header-left{display:flex;align-items:center;gap:.875rem}.header-icon{flex-shrink:0;display:flex;align-items:center}.header-title-block h1{font-size:1.35rem;font-weight:700;letter-spacing:-.01em;line-height:1.3}.header-subtitle{font-size:.8rem;opacity:.75;margin-top:.15rem}.header-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.header-user-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#ffffff1f;border:1.5px solid rgba(255,255,255,.25);cursor:pointer;transition:background .15s;flex-shrink:0;text-decoration:none}.header-user-btn:hover{background:#ffffff38}.header-badges{display:flex;gap:.4rem;flex-wrap:wrap}.header-badge{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.7rem;font-weight:500;padding:.2rem .6rem;border-radius:9999px;white-space:nowrap}.lang-toggle{display:flex;background:#0003;border-radius:8px;padding:3px;gap:2px}.lang-btn{padding:.35rem .875rem;border:none;border-radius:6px;background:transparent;color:#ffffffb3;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.lang-btn:hover{color:#fff;background:#ffffff1a}.lang-btn.active{background:#fffffff2;color:#312e81}.editor-layout{flex:1;display:flex;min-height:0;overflow:hidden}.editor-panel{flex:1;display:flex;flex-direction:column;min-width:0;background:#fff;overflow:hidden}.editor-divider{width:1px;background:#e5e7eb;flex-shrink:0}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#fafafa;flex-shrink:0}.panel-title{font-size:.875rem;font-weight:700;color:#374151;display:flex;align-items:center}.btn-sample{padding:.3rem .75rem;background:none;color:#4f46e5;border:1.5px solid #c4b5fd;border-radius:6px;font-size:.775rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-sample:hover:not(:disabled){background:#eef2ff;border-color:#4f46e5}.btn-sample:disabled{opacity:.4;cursor:not-allowed}.editor-form{flex:1;display:flex;flex-direction:column;padding:1.25rem 1.5rem;gap:.75rem;overflow:hidden}.mail-textarea{flex:1;width:100%;padding:1rem;border:1.5px solid #e5e7eb;border-radius:8px;font-size:.875rem;font-family:inherit;line-height:1.75;outline:none;resize:none;color:#1a202c;background:#fafafa;transition:border-color .15s,box-shadow .15s;min-height:120px}.mail-textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;background:#fff}.mail-textarea:disabled{background:#f3f4f6;color:#9ca3af}.editor-footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.char-count{font-size:.75rem;color:#9ca3af}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.75rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}.btn-primary:hover:not(:disabled){background:#3730a3;box-shadow:0 2px 8px #4f46e559}.btn-primary:disabled{background:#a5b4fc;cursor:not-allowed}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result-area{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:280px;gap:.75rem;text-align:center}.empty-icon{opacity:.4;margin-bottom:.5rem}.empty-state-title{font-size:.95rem;font-weight:600;color:#6b7280}.empty-state-text{font-size:.825rem;color:#9ca3af;line-height:1.6}.loading-spinner{width:36px;height:36px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}.review-result{display:flex;flex-direction:column;gap:1.25rem}.result-stats{display:flex;gap:.5rem;flex-wrap:wrap}.stat-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:9999px;font-size:.8rem;font-weight:600}.stat-error{background:#fef2f2;color:#991b1b;border:1.5px solid #fca5a5}.stat-warning{background:#fef9c3;color:#854d0e;border:1.5px solid #fde047}.stat-info{background:#eff6ff;color:#1e40af;border:1.5px solid #93c5fd}.summary-box{padding:1rem 1.25rem;background:#f5f3ff;border:1.5px solid #c4b5fd;border-radius:10px}.summary-title{font-size:.75rem;font-weight:700;color:#4f46e5;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem}.summary-text{font-size:.875rem;color:#374151;line-height:1.75}.issues-section{display:flex;flex-direction:column;gap:.5rem}.issues-title{font-size:.875rem;font-weight:700;color:#374151}.issues-list{display:flex;flex-direction:column;gap:.5rem}.issue-card{padding:.75rem 1rem;border-radius:8px;border-left:4px solid}.issue-error{background:#fef2f2;border-left-color:#ef4444}.issue-warning{background:#fefce8;border-left-color:#eab308}.issue-info{background:#eff6ff;border-left-color:#3b82f6}.issue-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem;flex-wrap:wrap}.issue-badge{font-size:.7rem;font-weight:700;padding:.1rem .45rem;border-radius:9999px}.badge-error{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef9c3;color:#854d0e}.badge-info{background:#dbeafe;color:#1e40af}.issue-original{font-size:.875rem;color:#1a202c;font-weight:500}.issue-suggestion{font-size:.875rem;color:#166534;font-weight:600;margin-bottom:.25rem}.issue-reason{font-size:.825rem;color:#4b5563;line-height:1.6}.corrected-section{border:1.5px solid #e5e7eb;border-radius:10px;overflow:hidden}.corrected-header{display:flex;justify-content:space-between;align-items:center;padding:.625rem 1rem;background:#f8fafc;border-bottom:1.5px solid #e5e7eb}.corrected-title{font-size:.875rem;font-weight:700;color:#374151}.btn-copy{padding:.3rem .75rem;background:#fff;color:#4f46e5;border:1.5px solid #4f46e5;border-radius:6px;font-size:.775rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-copy:hover{background:#eef2ff}.corrected-text{padding:1rem;font-family:inherit;font-size:.875rem;line-height:1.8;color:#1a202c;white-space:pre-wrap;word-break:break-word;background:#fff}.error-message{padding:.75rem 1rem;background:#fef2f2;border:1.5px solid #fca5a5;border-radius:8px;color:#991b1b;font-size:.875rem}.notice-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem 2rem;background:#fffbeb;border-top:1px solid #fde68a;font-size:.775rem;color:#78350f;flex-shrink:0}.app-footer{background:#1e1b4b;color:#ffffffbf;padding:.625rem 2rem;flex-shrink:0}.footer-inner{display:flex;justify-content:space-between;font-size:.75rem}@media(max-width:768px){.app-header{padding:.875rem 1rem}.header-badges{display:none}.editor-layout{flex-direction:column}.editor-divider{width:100%;height:1px}.editor-panel{min-height:300px}.notice-bar,.app-footer{padding-left:1rem;padding-right:1rem}.footer-inner{flex-direction:column;gap:.2rem}}
