:root{--bg:#fafafa;--fg:#171717;--primary:#2563eb;--primary-hover:#1d4ed8;--border:#e5e7eb;--muted:#6b7280;--card:#ffffff;--success:#059669;--warning:#d97706;--error:#dc2626}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6}.container{max-width:800px;margin:0 auto;padding:2rem 1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:background .15s}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--fg)}.btn-outline:hover{background:#f3f4f6}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{width:100%;padding:.625rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.875rem;outline:none;transition:border .15s}input:focus,select:focus,textarea:focus{border-color:var(--primary)}textarea{min-height:80px;resize:vertical}.progress-bar{width:100%;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--primary);border-radius:4px;transition:width .3s ease}.badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-error{background:#fee2e2;color:#991b1b}h1{font-size:1.5rem;font-weight:700}h1,h2{margin-bottom:.5rem}h2{font-size:1.25rem}h2,h3{font-weight:600}h3{font-size:1rem;margin-bottom:.25rem}.text-muted{color:var(--muted)}.text-sm{font-size:.875rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.gap-1{gap:.5rem}.gap-2{gap:1rem}.items-center{align-items:center}.justify-between{justify-content:space-between}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes marqueeLeft{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes marqueeRight{0%{transform:translateX(-50%)}to{transform:translateX(0)}}@media (max-width:768px){.nav-link-desktop{display:none!important}}@media (max-width:640px){.container{padding:1rem .75rem}h1{font-size:1.25rem}h2{font-size:1.1rem}.btn{padding:.5rem 1rem;font-size:.8rem}.card{padding:1rem}.markdown-report h1{font-size:1.35rem}.markdown-report h2{font-size:1.15rem}.markdown-report h3{font-size:1rem}.markdown-report table{font-size:.8rem}.markdown-report td,.markdown-report th{padding:.375rem .5rem}.btn{min-height:44px}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{font-size:16px}}.markdown-report h1{font-size:1.75rem;font-weight:700;margin:1.5rem 0 .75rem}.markdown-report h2{font-size:1.35rem;font-weight:600;margin:1.25rem 0 .5rem;color:var(--primary)}.markdown-report h3{font-size:1.1rem;font-weight:600;margin:1rem 0 .4rem}.markdown-report p{margin:.5rem 0;line-height:1.7}.markdown-report ol,.markdown-report ul{padding-left:1.5rem;margin:.5rem 0}.markdown-report li{margin:.3rem 0;line-height:1.6}.markdown-report table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem;display:block;overflow-x:auto}.markdown-report th{background:#f3f4f6;text-align:left;font-weight:600}.markdown-report td,.markdown-report th{padding:.5rem .75rem;border:1px solid var(--border)}.markdown-report hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.markdown-report strong{font-weight:600}.markdown-report a{color:var(--primary);text-decoration:underline}.analysis-loader{max-width:520px;margin:3rem auto 0;padding:0 1rem}.analysis-loader-header{text-align:center;margin-bottom:1.5rem}.analysis-loader-icon-pulse{display:inline-block;margin-bottom:.75rem;animation:loaderPulse 2s ease-in-out infinite}.analysis-loader-title{font-size:1.35rem;font-weight:700;color:var(--fg)}.analysis-progress-ring{transition:stroke-dashoffset .8s ease;transform:rotate(-90deg);transform-origin:50% 50%}.analysis-progress-bar-track{width:100%;height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:1.5rem}.analysis-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),#6366f1);border-radius:3px;transition:width 1s ease;position:relative}.analysis-progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s ease-in-out infinite}.analysis-steps{display:flex;flex-direction:column;gap:.125rem}.analysis-step{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:8px;font-size:.875rem;animation:stepSlideIn .3s ease both;transition:background .2s,opacity .3s}.analysis-step.active{background:#eff6ff;font-weight:500}.analysis-step.completed{opacity:.55}.analysis-step.pending{opacity:.35}.analysis-step-indicator{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.analysis-step-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.analysis-step-dot{width:8px;height:8px;background:var(--border);border-radius:50%}.analysis-step-icon{font-size:1rem;flex-shrink:0}.analysis-step-label{flex:1 1}.analysis-step-dots{color:var(--primary);font-weight:700;letter-spacing:1px}.analysis-step-dots .dot-1{animation:dotBlink 1.4s 0s infinite}.analysis-step-dots .dot-2{animation:dotBlink 1.4s .2s infinite}.analysis-step-dots .dot-3{animation:dotBlink 1.4s .4s infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes loaderPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes stepSlideIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes dotBlink{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}.flower-spinner{display:inline-flex;align-items:center;justify-content:center;animation:flowerSpin 2.5s linear infinite}.flower-spinner-pulse{animation:flowerSpin 2.5s linear infinite,loaderPulse 2s ease-in-out infinite}@keyframes flowerSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[dir=rtl]{direction:rtl}[dir=rtl],[dir=rtl] .markdown-report th{text-align:right}[dir=rtl] .markdown-report ol,[dir=rtl] .markdown-report ul{padding-left:0;padding-right:1.5rem}[dir=rtl] .progress-bar-fill{margin-left:auto;margin-right:0}[dir=rtl] .flex.justify-between{flex-direction:row-reverse}[dir=rtl] input,[dir=rtl] select,[dir=rtl] textarea{text-align:right}[dir=rtl] input[type=number]{text-align:left}[dir=rtl] @keyframes stepSlideIn{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}