:root{--readme-primary: #667eea;--readme-primary-dark: #5568d3;--readme-secondary: #764ba2;--readme-text: #2d3748;--readme-text-muted: #4a5568;--readme-text-light: #718096;--readme-bg-light: #f7fafc;--readme-border: #e2e8f0;--readme-code-bg: #2d3748;--readme-code-error: #e53e3e;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--readme-max-width: 900px;--radius: 8px;--radius-lg: 12px}.readme-viewer{min-height:100vh;background:linear-gradient(135deg,var(--readme-primary) 0%,var(--readme-secondary) 100%);padding:var(--spacing-xl)}.readme-header{max-width:var(--readme-max-width);margin:0 auto var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-lg)}.readme-header h1{color:#fff;font-size:2rem;font-weight:700;margin:0;flex-grow:1}.back-link{color:#fff;text-decoration:none;font-size:1rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);background:#fff3;border-radius:var(--radius);transition:all .2s;white-space:nowrap}.back-link:hover{background:#ffffff4d;transform:translate(-4px)}.readme-content{max-width:var(--readme-max-width);margin:0 auto;background:#fff;padding:var(--spacing-3xl);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001a;line-height:1.7}.readme-content h1{color:var(--readme-text);font-size:2.5rem;font-weight:700;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:3px solid var(--readme-primary)}.readme-content h2{color:var(--readme-text);font-size:1.875rem;font-weight:600;margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--readme-border)}.readme-content h3{color:var(--readme-text-muted);font-size:1.5rem;font-weight:600;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md)}.readme-content p{color:var(--readme-text-muted);margin-bottom:var(--spacing-md);font-size:1.0625rem}.readme-content ul,.readme-content ol{margin-bottom:var(--spacing-lg);padding-left:var(--spacing-xl);color:var(--readme-text-muted)}.readme-content li{margin-bottom:var(--spacing-sm);font-size:1.0625rem}.readme-content li strong{color:var(--readme-text);font-weight:600}.readme-content code{background:var(--readme-bg-light);padding:.2rem .4rem;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;color:var(--readme-code-error);border:1px solid var(--readme-border)}.readme-content pre{background:var(--readme-code-bg);color:var(--readme-bg-light);padding:var(--spacing-lg);border-radius:var(--radius);overflow-x:auto;margin-bottom:var(--spacing-lg);line-height:1.5}.readme-content pre code{background:none;border:none;color:inherit;padding:0;font-size:.9375rem}.readme-content blockquote{border-left:4px solid var(--readme-primary);padding-left:var(--spacing-lg);margin:var(--spacing-lg) 0;color:var(--readme-text-light);font-style:italic}.readme-content a{color:var(--readme-primary);text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:border-color .2s}.readme-content a:hover{border-bottom-color:var(--readme-primary)}.readme-content hr{border:none;border-top:2px solid var(--readme-border);margin:var(--spacing-xl) 0}.readme-content table{width:100%;border-collapse:collapse;margin:var(--spacing-lg) 0}.readme-content th,.readme-content td{padding:var(--spacing-md);border:1px solid var(--readme-border);text-align:left}.readme-content th{background:var(--readme-bg-light);font-weight:600;color:var(--readme-text)}.readme-content tr:hover{background:var(--readme-bg-light)}.readme-loading,.readme-error{max-width:600px;margin:4rem auto;padding:var(--spacing-3xl);background:#fff;border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001a;text-align:center}.readme-loading .spinner{width:48px;height:48px;margin:0 auto var(--spacing-lg);border:4px solid var(--readme-border);border-top-color:var(--readme-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.readme-loading p,.readme-error p{color:var(--readme-text-muted);font-size:1.125rem}.readme-error h2{color:var(--readme-code-error);margin-bottom:var(--spacing-md)}.readme-error .back-link{display:inline-block;margin-top:var(--spacing-lg);color:#fff;background:var(--readme-primary);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius);text-decoration:none;transition:background .2s}.readme-error .back-link:hover{background:var(--readme-primary-dark);transform:none}@media (max-width: 768px){.readme-viewer{padding:var(--spacing-md)}.readme-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.readme-header h1{font-size:1.5rem}.readme-content{padding:var(--spacing-lg)}.readme-content h1{font-size:1.875rem}.readme-content h2{font-size:1.5rem}.readme-content h3{font-size:1.25rem}}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: rgba(37, 99, 235, .1);--success: #16a34a;--success-dark: #15803d;--warning: #ea580c;--error: #dc2626;--error-bg: #fee2e2;--bg-page: #f8fafc;--bg-card: #ffffff;--bg-secondary: #e2e8f0;--bg-hover: rgba(255, 255, 255, .2);--bg-hover-strong: rgba(255, 255, 255, .3);--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--border: #e2e8f0;--border-hover: #cbd5e0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--font-mono: "Courier New", monospace;--transition: .2s}*{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-color:var(--bg-page);color:var(--text-primary);line-height:1.6}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);padding:var(--spacing-lg)}.login-box{background:var(--bg-card);padding:2.5rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:400px}.login-box h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm);text-align:center}.login-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:var(--spacing-2xl);font-size:.875rem}.form-group{margin-bottom:var(--spacing-lg)}.password-input{width:100%;padding:var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;transition:border-color var(--transition)}.password-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.login-button{width:100%;padding:var(--spacing-md);background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color var(--transition)}.login-button:hover{background-color:var(--primary-hover)}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;padding:var(--spacing-2xl);box-shadow:var(--shadow-lg)}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1920px;margin:0 auto}.app-header h1{font-size:2rem;font-weight:700;margin-bottom:var(--spacing-sm)}.app-header p{font-size:1rem;opacity:.9}.header-actions{display:flex;align-items:center;gap:var(--spacing-lg)}.readme-link,.logout-button{padding:.625rem 1.25rem;background-color:var(--bg-hover);color:#fff;border:1px solid var(--bg-hover-strong);border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition);white-space:nowrap;text-decoration:none;display:inline-block}.readme-link:hover,.logout-button:hover{background-color:var(--bg-hover-strong);border-color:#ffffff80;text-decoration:none}.app-container{display:grid;grid-template-columns:1fr 2fr 1fr;gap:var(--spacing-xl);padding:var(--spacing-xl);flex:1;max-width:1920px;margin:0 auto;width:100%}.column{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--spacing-xl);display:flex;flex-direction:column;overflow:visible}.column h2{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-lg);color:var(--text-primary);border-bottom:2px solid var(--border);padding-bottom:var(--spacing-sm)}.input-column{min-height:600px}.input-controls{margin-bottom:var(--spacing-lg)}.sample-selector{display:flex;flex-direction:column;gap:var(--spacing-sm)}.sample-selector label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.sample-selector select{width:100%;padding:.625rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;background-color:var(--bg-card);cursor:pointer;transition:border-color var(--transition)}.sample-selector select:hover:not(:disabled){border-color:var(--primary)}.sample-selector select:disabled{opacity:.5;cursor:not-allowed}.document-input{width:100%;flex:1;padding:var(--spacing-lg);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:.875rem;line-height:1.5;resize:vertical;min-height:400px}.document-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.input-stats{display:flex;justify-content:space-between;margin-top:var(--spacing-sm);font-size:.75rem;color:var(--text-muted)}.button-group{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.analyze-button{flex:1;padding:var(--spacing-md) var(--spacing-xl);background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color var(--transition)}.analyze-button:hover:not(:disabled){background-color:var(--primary-hover)}.analyze-button:disabled{opacity:.6;cursor:not-allowed;animation:pulse 2s ease-in-out infinite}.clear-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--bg-page);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.clear-button:hover:not(:disabled){background-color:var(--error);color:#fff;border-color:var(--error)}.error-message{padding:var(--spacing-md);background-color:var(--error-bg);color:var(--error);border-radius:var(--radius);font-size:.875rem;margin-top:var(--spacing-sm)}.section{margin-bottom:var(--spacing-xl);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.section-header{font-size:1rem;font-weight:600;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--bg-page);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.section-header.clickable{cursor:pointer;transition:background-color var(--transition)}.section-header.clickable:hover{background-color:var(--bg-secondary)}.toggle-icon{font-size:.75rem;color:var(--text-muted);margin-left:auto}.section-content{padding:var(--spacing-lg)}.empty-state{color:var(--text-muted);font-style:italic;text-align:center;padding:var(--spacing-lg)}.status-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.status-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--bg-page);border-radius:var(--radius-sm);font-size:.875rem}.status-time{color:var(--text-muted);font-size:.75rem;min-width:80px}.status-message{color:var(--text-secondary)}.mcp-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-md)}.mcp-item{padding:var(--spacing-md);border-left:3px solid var(--border);background-color:var(--bg-page);border-radius:var(--radius-sm)}.mcp-item.status-starting{border-left-color:var(--warning)}.mcp-item.status-running{border-left-color:var(--primary)}.mcp-item.status-complete{border-left-color:var(--success)}.mcp-item.status-error{border-left-color:var(--error)}.mcp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.mcp-header strong{font-size:.875rem;color:var(--text-primary)}.status-badge{font-size:.75rem;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);background-color:var(--bg-card);color:var(--text-secondary);font-weight:500}.mcp-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.mcp-details{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-size:.75rem}.detail-item{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--bg-card);border-radius:var(--radius-sm);color:var(--text-secondary)}.law-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-md);max-height:800px;overflow-y:auto;padding-right:var(--spacing-sm)}.law-list::-webkit-scrollbar{width:8px}.law-list::-webkit-scrollbar-track{background:var(--bg-page);border-radius:var(--radius-sm)}.law-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm)}.law-list::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.law-item{padding:var(--spacing-md);background-color:var(--bg-page);border-left:3px solid var(--primary);border-radius:var(--radius-sm)}.law-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.law-code{font-size:.875rem;font-family:var(--font-mono);color:var(--primary)}.law-category{font-size:.75rem;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--bg-card);border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500}.law-description{font-size:.875rem;color:var(--text-secondary)}.step-section{margin-top:var(--spacing-md)}.step-header{font-size:.9rem;font-weight:600;padding:var(--spacing-md);background-color:var(--bg-page);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.step-header.clickable{cursor:pointer;transition:background-color var(--transition)}.step-header.clickable:hover{background-color:var(--bg-secondary)}.step-icon{font-size:1rem}.step-content{padding:var(--spacing-md);background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:var(--spacing-sm)}.step-summary{display:flex;flex-direction:column;gap:var(--spacing-sm)}.summary-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.summary-item .label{color:var(--text-secondary);font-weight:500}.summary-item .value{color:var(--text-primary);font-weight:600}.rating-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);text-transform:uppercase;font-size:.75rem}.value.rating-badge{background-color:var(--bg-page)}.confidence-score{color:var(--success);font-size:1.1rem}.error-section{border-color:var(--error);background-color:var(--error-bg)}.error-content{padding:var(--spacing-lg)}.error-content .error-message{background-color:var(--bg-card);font-family:var(--font-mono);font-size:.875rem;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;max-height:500px;overflow-y:auto;padding:var(--spacing-lg);border:1px solid var(--border);border-radius:var(--radius-sm);line-height:1.5}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--border);padding-bottom:var(--spacing-sm)}.result-header h2{border:none;padding:0;margin:0}.export-button{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--success);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color var(--transition)}.export-button:hover{background-color:var(--success-dark)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:var(--spacing-lg)}.empty-icon{font-size:4rem;opacity:.3}.empty-state p{color:var(--text-muted);font-size:1rem}.empty-state .hint{font-size:.875rem;font-style:italic}.markdown-report{padding:var(--spacing-lg);background-color:var(--bg-card);border-radius:var(--radius)}.report-section{margin-bottom:var(--spacing-3xl)}.report-section-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:3px solid var(--primary)}.report-section-header .report-h1{margin-top:0;margin-bottom:var(--spacing-sm);border-bottom:none;padding-bottom:0}.report-section-subtitle{color:var(--text-secondary);font-size:.95rem;font-style:italic;margin:0}.report-divider{margin:var(--spacing-3xl) 0;padding:var(--spacing-lg) 0}.report-divider hr{border:none;border-top:2px dashed var(--border);margin:0}.report-h1{font-size:1.75rem;font-weight:700;margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-lg);color:var(--text-primary);border-bottom:2px solid var(--primary);padding-bottom:var(--spacing-sm)}.report-h1:first-child{margin-top:0}.report-h2{font-size:1.5rem;font-weight:600;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);color:var(--text-primary)}.report-h3{font-size:1.25rem;font-weight:600;margin-top:1.25rem;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.report-h4{font-size:1rem;font-weight:600;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);color:var(--text-secondary)}.report-p{margin-bottom:var(--spacing-lg);line-height:1.7;color:var(--text-secondary)}.report-ul,.report-ol{margin-left:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.report-li{margin-bottom:var(--spacing-sm);line-height:1.6;color:var(--text-secondary)}.report-code-inline{background-color:var(--bg-page);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875em;color:var(--primary)}.report-code-block{display:block;background-color:var(--bg-page);padding:var(--spacing-lg);border-radius:var(--radius);font-family:var(--font-mono);font-size:.875em;overflow-x:auto;margin-bottom:var(--spacing-lg)}.report-blockquote{border-left:4px solid var(--primary);padding-left:var(--spacing-lg);margin:var(--spacing-lg) 0;font-style:italic;color:var(--text-secondary)}.report-table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-lg)}.report-th{background-color:var(--bg-page);padding:var(--spacing-md);text-align:left;font-weight:600;border:1px solid var(--border)}.report-td{padding:var(--spacing-md);border:1px solid var(--border)}.report-strong{font-weight:600;color:var(--text-primary)}.report-em{font-style:italic}@media (max-width: 1400px){.app-container{grid-template-columns:1fr 1.5fr;grid-template-rows:auto auto}.result-column{grid-column:1 / -1}}@media (max-width: 768px){.app-container{grid-template-columns:1fr}.app-header h1{font-size:1.5rem}.app-header p{font-size:.875rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-page)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.8}}
