@import url(https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap);@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:purple;--secondary-color:#fff;--link-color:#007bff;--success-color:#28a745;--success-bg:#d4edda;--background:#f9faff}button{background-color:#fff;background-color:var(--secondary-color);border:1px solid purple;border:1px solid var(--primary-color);border-radius:5px;color:purple;color:var(--primary-color);margin:0;padding:10px 20px;transition:background-color .3s ease,color .3s ease}button:hover{background-color:purple;background-color:var(--primary-color);color:#fff;color:var(--secondary-color)}input{border:1px solid purple;border:1px solid var(--primary-color);max-width:100%;width:500px!important}.logo{align-items:center;color:var(--primary-color);display:flex;font-family:Roboto;font-size:rem;font-weight:500;text-align:center}.page-container{background-color:#f9faff;background-color:var(--background);min-height:100vh}.auth-box,.auth-header{background-color:#fff;background-color:var(--secondary-color)}.auth-header{padding:1.3rem}.auth-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 4.6rem)}.auth-box{border:3px solid purple;border:3px solid var(--primary-color);border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:2rem;width:100%}.auth-switch{float:left}.auth-form{margin-bottom:1rem}.auth-form input{margin-bottom:.6rem;padding:10px}.forgot-password{float:left;margin:.5rem 0 1rem;text-align:center}.forgot-password a{color:#007bff;color:var(--link-color);font-size:.9rem;text-decoration:none}.forgot-password a:hover{text-decoration:underline}.success-message{background-color:#d4edda;background-color:var(--success-bg);border-radius:4px;color:#28a745;color:var(--success-color);margin:10px 0;padding:10px;text-align:center}.auth-buttons{display:flex;gap:10px}.auth-buttons button{flex:1 1}.link-button{background:none;border:none;color:blue;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.username-field{align-items:center;background-color:#fff;border:1px solid purple;border:1px solid var(--primary-color);border-radius:5px;display:flex;margin-bottom:.6rem;padding:10px}.username-field input{border:none;margin:0 5px 0 0;outline:none;padding:0;width:60%!important}.username-field span{color:purple;color:var(--primary-color);font-size:16px;font-weight:500;white-space:nowrap}.helsinki-notice{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#495057;font-size:14px;margin-bottom:1rem;padding:12px;text-align:center}.helsinki-notice strong{color:purple;color:var(--primary-color);font-weight:600}.popup-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.popup-content{animation:modalFadeIn .3s ease-out;background:linear-gradient(135deg,#fff,#faf9fb);border:1px solid #8e44ad1a;border-radius:16px;box-shadow:0 20px 60px #00000026;font-family:IBM Plex Sans,sans-serif;max-height:85vh;max-width:650px;overflow-y:auto}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.popup-header{align-items:center;background:linear-gradient(135deg,#8e44ad0d,#00808008);border-bottom:2px solid #8e44ad1a;border-radius:16px 16px 0 0;display:flex;padding:32px 32px 24px}.popup-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,purple,teal);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;color:purple;color:var(--color-primary);font-size:1.8rem;font-weight:700;margin:0}.popup-body{padding:0 32px 24px}.popup-body p{color:#555;line-height:1.6;margin-bottom:20px}.steps-container{display:flex;flex-direction:column;gap:20px;margin:24px 0}.step{align-items:flex-start;background:#8e44ad05;border:1px solid #8e44ad14;border-radius:12px;display:flex;gap:16px;padding:16px;transition:all .2s ease}.step:hover{background:#8e44ad0d;border-color:#8e44ad26}.step-number{align-items:center;background:linear-gradient(135deg,purple,teal);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:50%;box-shadow:0 3px 8px #8e44ad4d;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:32px;justify-content:center;width:32px}.step-content h4{color:purple;color:var(--color-primary);font-size:1.1rem;font-weight:600;margin:0 0 8px}.step-content p{color:#666;line-height:1.5;margin:0}.feedback-types{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:12px}.feedback-type{background:#fff;border:1px solid #8e44ad1a;border-radius:8px;box-shadow:0 2px 4px #0000000d;font-size:.9rem;line-height:1.4;padding:8px 12px}.feedback-type strong{color:purple;color:var(--color-primary);font-weight:600}.popup-tip{align-items:center;background:linear-gradient(135deg,#00808014,#8e44ad0d);border:1px solid #0080801a;border-radius:12px;display:flex;gap:12px;margin-top:20px;padding:16px}.tip-icon{filter:drop-shadow(0 1px 3px rgba(0,0,0,.1));font-size:1.5rem}.popup-tip p{color:#444;font-weight:500;margin:0}.popup-footer{border-top:1px solid #8e44ad1a;padding:24px 32px 32px;text-align:center}.close-button{background:linear-gradient(135deg,purple,teal);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:none;border-radius:8px;box-shadow:0 4px 12px #8e44ad4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 32px;transition:all .2s ease}.close-button:hover{background:linear-gradient(135deg,#8e568e,#007070);box-shadow:0 6px 16px #8e44ad66;transform:translateY(-1px)}@media (max-width:768px){.popup-content{margin:20px;max-height:calc(100vh - 40px);max-width:calc(100vw - 40px)}.popup-body,.popup-footer,.popup-header{padding-left:24px;padding-right:24px}.feedback-types{grid-template-columns:1fr}.step{gap:12px;padding:12px}.step-number{font-size:1rem;height:28px;width:28px}}:root{--color-primary:purple;--color-secondary:teal;--color-bg:#fbf8fb;--color-text:#333;--color-text-dark:#222;--color-link:#007bff;--color-hover:#8e568e;--color-border:teal;--font-family-base:"IBM Plex Sans",sans-serif;--font-weight-base:500;--transition-speed:0.2s;--transition-ease:ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{box-sizing:border-box;scroll-behavior:smooth}body{background-color:#fbf8fb;background-color:var(--color-bg);color:#333;color:var(--color-text);font-family:IBM Plex Sans,sans-serif;font-family:var(--font-family-base);font-size:16px;font-weight:500;font-weight:var(--font-weight-base);line-height:1.6}h1,h2,h3,h4,h5,h6{color:#222;color:var(--color-text-dark);font-weight:600;margin-bottom:20px}p{line-height:1.8;margin-bottom:20px}a{color:#007bff;color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}ol,ul{margin-bottom:20px;padding-left:20px}.container{margin:0 auto;max-width:1000px;padding:5px 20px}main.container{padding-bottom:100px}.footer,.header{background-color:#fff;text-align:center}.header{border-bottom:1px solid teal;border-bottom:1px solid var(--color-border);margin-bottom:8vh}.howitworks-button{margin-right:.2rem}.homepage-footer{background-color:#fff;border-top:1px solid teal;border-top:1px solid var(--color-border);bottom:0;font-size:.8rem;height:25px;left:0;margin-top:40px;padding:3px 0;position:fixed;text-align:center;width:100%}.homepage-footer,.logo{color:purple;color:var(--color-primary)}.logo{font-family:Roboto Condensed,sans-serif;font-optical-sizing:auto;font-size:1.8rem;margin-right:.5rem}.card{background-color:#fff;border:1px solid teal;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;padding:20px}.header-content{align-items:center;display:flex;justify-content:space-between}.header-title{color:purple;color:var(--color-primary);font-size:1.5rem}.content-area{display:flex;flex-direction:column;width:100%}input,textarea{border:1px solid teal;border:1px solid var(--color-secondary);border-radius:5px;font-family:inherit;font-size:1rem;font-weight:500;font-weight:var(--font-weight-base);line-height:1.5;margin-bottom:20px;padding:25px;width:100%}input:focus,textarea:focus{border-color:#9d6160;outline:none}button{border-radius:3px;cursor:pointer;font-family:inherit;font-weight:500;font-weight:var(--font-weight-base);padding:8px 16px;transition:background-color .2s ease;transition:background-color var(--transition-speed) var(--transition-ease)}.header-buttons button{background-color:#fbf8fb;background-color:var(--color-bg);border:1px solid purple;border:1px solid var(--color-primary);color:purple;color:var(--color-primary);font-size:.8rem}.header-buttons button:hover{background-color:#8e568e;background-color:var(--color-hover);color:#fff}.action-button{background-color:#fff;border:1px solid purple;border:1px solid var(--color-primary);color:purple;color:var(--color-primary);font-size:1rem;padding:10px 20px;transition:background-color .2s ease;transition:background-color var(--transition-speed) var(--transition-ease);width:120px}.action-button:hover{background-color:#8e568e;background-color:var(--color-hover);color:#fff}.export-button{background-color:teal;background-color:var(--color-secondary);border:1px solid teal;border:1px solid var(--color-secondary);color:#fff;font-size:1rem;transition:background-color .2s ease;transition:background-color var(--transition-speed) var(--transition-ease)}.export-button:hover{background-color:#fff;color:teal;color:var(--color-secondary)}.input-button-container,.input-container{display:flex;gap:20px}.response-buttons{display:flex;flex-direction:column;gap:12px;justify-content:flex-start;width:220px}.history-panel{background:#fff;border:1px solid teal;border:1px solid var(--color-border);border-radius:4px;box-shadow:0 2px 8px #00000014;max-height:320px;overflow-y:auto;padding:16px}.history-header{align-items:center;color:purple;color:var(--color-primary);display:flex;font-weight:600;justify-content:space-between;margin-bottom:8px}.history-counter{color:#666;font-size:.85rem}.history-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.history-entry{background:#fafafa;border:1px solid #e5e5e5;border-radius:6px;cursor:pointer;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;transition:border-color var(--transition-speed) var(--transition-ease),box-shadow var(--transition-speed) var(--transition-ease)}.history-entry:hover{box-shadow:0 3px 10px #00000014}.history-entry.active,.history-entry:hover{border-color:purple;border-color:var(--color-primary)}.history-entry.active{background:#8e44ad14}.history-entry-label{color:#333;font-weight:600;margin-bottom:4px}.history-entry-meta{color:#666;font-size:.8rem}.history-entry-updated{background:#fff3cd;border:1px solid #ffeeba;border-radius:4px;color:#856404;display:inline-block;font-size:.75rem;font-weight:600;margin-top:6px;padding:2px 6px;text-transform:uppercase}.history-empty{color:#777;font-size:.9rem;padding:12px 0;text-align:center}.button-group{display:flex;flex-direction:column;gap:10px}.response-container{display:flex}.response-box{background-color:#fff;border:1px solid teal;border:1px solid var(--color-border);border-radius:4px;flex:1 1;margin-right:20px;padding:40px}.response-box h3{margin-bottom:10px;margin-top:0}.response-box p{line-height:1.5}.feedback-header{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,purple,teal);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;color:purple;color:var(--color-primary);font-size:1.4em;font-weight:700;margin-bottom:8px}.feedback-subtext{border-bottom:1px solid #e9ecef;color:#666;font-size:.9em;font-style:italic;margin-bottom:20px;padding:8px 0}.textarea-wrapper{flex-grow:1;transition:opacity .5s ease-in-out}.textarea-wrapper.fade-in{animation:highlightFade 1.5s}.revised-text{background-color:#f0f0f0;border-radius:5px;margin-top:15px}.revised-text.fade-in{opacity:1}.clear-button{background-color:#f44336;color:#fff}.clear-button:hover{background-color:#d32f2f}@keyframes highlightFade{0%{background-color:#ffff0080}to{background-color:initial}}.loading-indicator{align-items:center;color:#333;color:var(--color-text);display:inline-flex;gap:10px}.loading-text{font-size:.95rem}.loading-dots{align-items:center;display:inline-flex;gap:6px;height:14px}.loading-dots .dot{animation:dotPulse 1.4s ease-in-out infinite;background-color:purple;background-color:var(--color-primary);border-radius:50%;height:6px;opacity:.3;width:6px}.loading-dots .dot:first-child{animation-delay:0s}.loading-dots .dot:nth-child(2){animation-delay:.2s}.loading-dots .dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.analysis-results{margin-bottom:20px}.analysis-title{border-bottom:2px solid teal;border-bottom:2px solid var(--color-border);color:purple;color:var(--color-primary);font-size:1.2em;margin-bottom:15px;padding-bottom:8px}.issues-list{margin-bottom:20px}.issue-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:12px;padding:15px}.issue-header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.issue-type{background:purple;background:var(--color-primary);font-weight:600;text-transform:uppercase}.issue-token,.issue-type{border-radius:4px;color:#fff;font-size:.85em;padding:4px 8px}.issue-token{background:teal;background:var(--color-secondary);font-style:italic;font-weight:500}.issue-description{line-height:1.5;margin-bottom:10px}.issue-sentence{background:#eef5ff;border-left:4px solid teal;border-left:4px solid var(--color-secondary);border-radius:4px;font-style:italic;margin-bottom:10px;padding:8px 12px}.issue-rationale,.issue-suggestion{background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;margin-top:8px;padding:8px 12px}.issue-rationale strong,.issue-suggestion strong{color:#856404}.no-issues{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;font-weight:500;padding:15px;text-align:center}.welcome-banner{background:linear-gradient(135deg,#8e44ad14,#00808014);border:1px solid #8e44ad33;border-radius:12px;box-shadow:0 2px 12px #8e44ad14;color:purple;color:var(--color-primary);font-size:1.1rem;font-weight:600;padding:25px 20px;position:relative;text-align:center}.revised-text{background:#e8f4fd;border:1px solid teal;border:1px solid var(--color-border);border-radius:8px;margin-top:20px;padding:15px}.revised-text h4{color:teal;color:var(--color-secondary);margin-bottom:10px}.revised-content{background:#fff;border:1px solid #e9ecef;border-radius:4px;line-height:1.6;padding:12px;white-space:pre-wrap}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-textbox{padding:40px}.limit-message{background:#fdecea;border:1px solid #f5c6cb;border-radius:4px;color:#b00020;font-size:.9rem;line-height:1.4;padding:8px 12px}.word-counter{color:#666;font-size:.9rem;margin-bottom:16px;margin-top:-12px;text-align:right}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}