:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}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}}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #64748b;--danger-color: #dc2626;--success-color: #16a34a;--warning-color: #ea580c;--background: #ffffff;--surface: #f8fafc;--border: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--surface);color:var(--text-primary);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,var(--primary-color) 0%,#1e40af 100%);color:#fff;padding:3rem 2rem;text-align:center;box-shadow:var(--shadow-lg)}.header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.subtitle{font-size:1.25rem;opacity:.95;margin-bottom:.5rem}.tagline{font-size:1rem;opacity:.85}.main{flex:1;max-width:800px;width:100%;margin:0 auto;padding:2rem}.form{background:var(--background);padding:2rem;border-radius:12px;box-shadow:var(--shadow-lg)}.form-section h2{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text-primary)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.form-group input[type=text],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--border);border-radius:8px;font-size:1rem;transition:border-color .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-group textarea{resize:vertical;min-height:120px}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.75rem;border:2px solid var(--border);border-radius:8px;transition:all .2s}.radio-label:hover{border-color:var(--primary-color);background:var(--surface)}.radio-label input[type=radio]{cursor:pointer;width:18px;height:18px}.btn-primary,.btn-secondary,.btn-copy{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.btn-primary{background:var(--primary-color);color:#fff;width:100%;margin-top:1rem}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--secondary-color);color:#fff;margin-bottom:2rem}.btn-secondary:hover{background:#475569;transform:translateY(-1px)}.btn-copy{background:var(--success-color);color:#fff;margin-top:1rem}.btn-copy:hover{background:#15803d;transform:translateY(-1px)}.error{background:#fef2f2;border:2px solid var(--danger-color);color:var(--danger-color);padding:1rem;border-radius:8px;margin-bottom:1rem}.results{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-section{background:var(--background);padding:2rem;border-radius:12px;box-shadow:var(--shadow-lg);margin-bottom:2rem}.result-section h2{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}.script-box,.content-box{background:var(--surface);padding:1.5rem;border-radius:8px;border:2px solid var(--border)}.script-subject{padding:1rem;background:#eff6ff;border-left:4px solid var(--primary-color);border-radius:4px;margin-bottom:1rem}.script-body{white-space:pre-wrap;line-height:1.8;color:var(--text-primary)}.content-box pre{white-space:pre-wrap;line-height:1.8;font-family:inherit}.content-box p{line-height:1.8}.gap-analysis{border-left:4px solid var(--warning-color)}.next-action{border-left:4px solid var(--success-color)}.actions{display:flex;justify-content:center;margin:2rem 0}.branding{text-align:center;padding:2rem;background:var(--surface);border-radius:12px;margin-top:2rem}.branding p{margin:.25rem 0}.tagline-small{font-size:.875rem;color:var(--text-secondary)}.footer{background:var(--text-primary);color:#fff;text-align:center;padding:2rem;margin-top:4rem}.footer p{opacity:.8}.privacy-banner{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:1.5rem;border-radius:12px;margin-bottom:2rem;box-shadow:var(--shadow)}.privacy-banner h3{margin:0 0 1rem;font-size:1.25rem}.privacy-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.privacy-point{font-size:.95rem;opacity:.95}.upload-section{border-top:2px solid var(--border);padding-top:2rem;margin-top:2rem}.upload-choice{display:flex;flex-direction:column;gap:1.5rem}.upload-option{padding:1.5rem;border:2px solid var(--border);border-radius:12px;background:var(--surface)}.primary-option{border-color:var(--primary-color);background:#eff6ff}.upload-option h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary)}.option-description{margin:0 0 1rem;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.file-input{display:block;width:100%;padding:.75rem;border:2px dashed var(--primary-color);border-radius:8px;background:#fff;cursor:pointer;transition:all .2s}.file-input:hover{background:var(--surface);border-color:var(--primary-hover)}.file-uploaded{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#fff;border:2px solid var(--success-color);border-radius:8px;margin-top:1rem}.file-name{color:var(--success-color);font-weight:600}.btn-remove{padding:.5rem 1rem;background:var(--danger-color);color:#fff;border:none;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-remove:hover{background:#b91c1c}.upload-divider{text-align:center;position:relative;margin:1rem 0}.upload-divider span{background:var(--background);padding:0 1rem;color:var(--text-secondary);font-weight:600;position:relative;z-index:1}.upload-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--border);z-index:0}.preview-screen{animation:fadeIn .3s ease-in}.preview-section{background:var(--background);padding:2rem;border-radius:12px;box-shadow:var(--shadow-lg);margin-bottom:2rem}.anonymization-stats{background:#fef3c7;border:2px solid var(--warning-color);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.anonymization-stats h3{margin:0 0 1rem;color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.stat-item{background:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.95rem;font-weight:600;color:var(--text-primary)}.privacy-reminder{margin:1rem 0 0;font-size:.95rem;color:var(--success-color);font-weight:600}.preview-textarea{font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;background:#f8f9fa;border:2px solid var(--border);border-radius:8px;padding:1rem;width:100%;min-height:300px;resize:vertical}.preview-textarea:focus{outline:none;border-color:var(--primary-color);background:#fff}.helper-text{margin:.5rem 0 0;font-size:.875rem;color:var(--text-secondary);font-style:italic}.btn-large{font-size:1.1rem;padding:1rem 2rem}@media(max-width:768px){.privacy-points,.stats-grid{grid-template-columns:1fr}.upload-choice{gap:1rem}.file-uploaded{flex-direction:column;gap:.75rem;align-items:stretch}}
