*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;color:#111;background-color:#f8f9fa;min-height:100vh}.app-container{min-height:100vh;padding:3rem 1rem}.content-wrapper{max-width:1000px;margin:0 auto}.app-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:2.5rem;color:#111;letter-spacing:-.5px}.tab-navigation{display:flex;justify-content:center;gap:0;margin-bottom:2.5rem;border-bottom:2px solid #e5e7eb}.tab-button{padding:.75rem 2rem;border:none;background:transparent;font-weight:600;font-size:1rem;color:#6b7280;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;margin-bottom:-2px}.tab-button.active{color:#111;border-bottom-color:#111}.tab-button:hover:not(.active){color:#374151}.form-container{max-width:40rem;margin:0 auto;padding:2rem;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.form-title{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#111;text-align:center}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.9rem;font-weight:600;color:#4b5563;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:1rem;border:1px solid #d1d5db;border-radius:6px;font-size:1.1rem;background-color:#fff;transition:border-color .2s;min-height:50px}.form-input:focus{outline:none;border-color:#111;box-shadow:0 0 0 2px #0000001a}textarea.form-input{min-height:120px;resize:vertical;font-family:inherit}.submit-button{width:100%;padding:1rem;border:none;border-radius:4px;font-weight:600;font-size:1rem;color:#fff;cursor:pointer;box-shadow:0 1px 2px #0000000d;transition:opacity .2s;background-color:#111}.submit-button:hover{opacity:.9}.submit-button:disabled{background-color:#9ca3af;cursor:not-allowed}.results-container{max-width:800px;margin:3rem auto 0;padding:4rem;background:#fff;box-shadow:0 4px 6px -1px #0000000d;border:1px solid #e5e7eb}.results-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;padding-bottom:1rem;margin-bottom:2rem}.results-title{font-size:1rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:1px;margin:0}.download-button{background-color:#111;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.download-button:hover{background-color:#333;transform:translateY(-1px)}.markdown-content{font-family:Georgia,serif;color:#222;font-size:1.1rem;line-height:1.8}.markdown-content h1{font-family:Segoe UI,sans-serif;font-size:2.5rem;font-weight:700;margin:0 0 1.5rem;color:#111;letter-spacing:-.5px}.markdown-content h2{font-family:Segoe UI,sans-serif;font-size:1.75rem;font-weight:600;margin:2.5rem 0 1rem;color:#111;border-bottom:2px solid #111;padding-bottom:.5rem}.markdown-content h3{font-family:Segoe UI,sans-serif;font-size:1.35rem;font-weight:600;margin:2rem 0 .8rem;color:#333}.markdown-content p{margin-bottom:1.2rem}.markdown-content ul,.markdown-content ol{margin-bottom:1.2rem;padding-left:1.5rem}.markdown-content li{margin-bottom:.5rem}.markdown-content strong{font-weight:700;color:#000}.markdown-content a{color:#000;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.process-log-container{background-color:#fff;color:#333;border:1px solid #e5e7eb;font-family:Courier New,Courier,monospace;font-size:.95rem;max-width:40rem;margin:1.5rem auto 0;box-shadow:0 1px 3px #0000000d}.process-log-header{background-color:#f8f9fa;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.terminal-title{color:#111;font-weight:700;letter-spacing:.5px}.terminal-status{color:#16a34a;font-weight:600;display:flex;align-items:center;gap:.5rem}.status-dot{width:8px;height:8px;background-color:#16a34a;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.process-log-content{padding:1.25rem;background-color:#fafafa;max-height:340px;overflow-y:auto}.log-line{margin-bottom:.5rem;display:flex;gap:1rem;font-size:.95rem;color:#374151}.log-timestamp{color:#9ca3af;font-size:.85rem;min-width:90px;flex-shrink:0}.blinking-cursor{display:inline-block;width:10px;height:16px;background-color:#16a34a;animation:blink 1s step-end infinite;margin-left:90px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.error-content{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;padding:1rem;border-radius:4px;font-size:1rem}.info-note{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:1rem;border-radius:6px;font-size:.9rem;margin-bottom:2rem;text-align:center}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:#f8f9fa;padding:1rem}.login-card{background:#fff;padding:3rem;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px;text-align:center}.login-icon{font-size:3rem;margin-bottom:1.5rem}.login-title{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:#111}.login-subtitle{color:#6b7280;margin-bottom:2rem}.pin-input{width:100%;padding:1rem;font-size:1.5rem;text-align:center;letter-spacing:1rem;border:2px solid #e5e7eb;border-radius:4px;margin-bottom:1.5rem;transition:border-color .2s}.pin-input:focus{outline:none;border-color:#111}.ai-building-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;margin:1rem 0;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #e5e7eb;border-radius:8px}.ai-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#111;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.ai-building-text{font-size:1rem;font-weight:600;color:#374151;margin-bottom:.5rem}.ai-building-subtext{font-size:.85rem;color:#6b7280}.loading-dots:after{content:"";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.ai-progress-bar{width:100%;max-width:200px;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden;margin-top:1rem}.ai-progress-fill{height:100%;background:linear-gradient(90deg,#16a34a,#22c55e);animation:progress-pulse 2s ease-in-out infinite;width:30%}@keyframes progress-pulse{0%{width:20%;opacity:.8}50%{width:80%;opacity:1}to{width:20%;opacity:.8}}
