:root{--primary-color: #3182ce;--primary-hover: #2b6cb0;--secondary-color: #718096;--secondary-hover: #4a5568;--text-color: #2d3748;--light-text: #4a5568;--background-color: #f7fafc;--card-background: #ffffff;--border-color: #e2e8f0;--error-color: #e53e3e;--error-background: #fed7d7;--success-color: #38a169;--success-background: #c6f6d5;--warning-color: #dd6b20;--warning-background: #feebc8}*{box-sizing:border-box;margin:0;padding:0}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(--background-color);color:var(--text-color);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:600;line-height:1.2}p{margin-bottom:1rem}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}button,.button{cursor:pointer}button:disabled,.button-disabled{cursor:not-allowed;opacity:.7}input,select,textarea{font-family:inherit;font-size:1rem}.text-center{text-align:center}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2rem}.app-header{background-color:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 2rem;position:sticky;top:0;z-index:50}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.header-title-group{display:flex;flex-direction:column}.header-title{font-size:1.75rem;font-weight:700;color:#333;text-decoration:none}.tagline{font-size:.9rem;color:#666;margin-top:2px}.header-actions{display:flex;align-items:center;gap:1.5rem}.github-link{color:#333}.github-link:hover{color:#4299e1}.connection-status{display:flex;align-items:center;gap:8px}.status-dot{width:12px;height:12px;border-radius:50%;animation:flashing 2s infinite}.status-dot.connected{background-color:#48bb78}.status-dot.disconnected{background-color:#f56565}.status-dot.connecting{background-color:#f6e05e}@keyframes flashing{0%,to{opacity:1}50%{opacity:.5}}.home-container{max-width:1200px;margin:2rem auto;padding:0 2rem}.tool-list{display:grid;gap:1.5rem}.tool-card-link{text-decoration:none;color:inherit;display:block;border-radius:12px;box-shadow:0 4px 6px #0000000d;transition:transform .2s,box-shadow .2s}.tool-card-link:hover{transform:translateY(-5px);box-shadow:0 10px 15px #0000001a;text-decoration:none}.tool-card-link:hover .tool-card{background-color:#f7fafc}.tool-card-link.disabled{pointer-events:none;opacity:.6}.tool-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem 2rem;transition:background-color .2s ease-in-out}.tool-card h2{font-size:1.75rem;font-weight:600;margin:0 0 .5rem}.tool-description{font-size:1rem;color:#4a5568;margin:0 0 1rem}.tool-names{display:flex;gap:.5rem}.tool-name{background-color:#edf2f7;color:#4a5568;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}.bmi-value{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.bmi-interpretation{font-size:1.1rem;color:#4a5568}.container{max-width:800px;margin:0 auto;padding:2rem}.header{text-align:center;margin-bottom:2rem}.header h1{font-size:2.5rem;margin-bottom:.5rem}.header p{font-size:1.2rem;color:#666}.card{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 4px #0000001a}.form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500}.form-group input{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.button{display:inline-block;background-color:#3182ce;color:#fff;padding:.75rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:500;cursor:pointer;border:none;text-align:center}.button:disabled{background-color:#a0aec0;cursor:not-allowed}.button-secondary{background-color:#718096}.button-secondary:hover{background-color:#4a5568}.error{color:#e53e3e;margin-top:1rem;padding:.75rem;background-color:#fed7d7;border-radius:4px}.result{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #ddd}.result h3{font-size:1.5rem;margin-bottom:1rem}.response-meta{margin-bottom:1.5rem;padding:1rem;background-color:#f7fafc;border-radius:4px}.headers{margin-top:.75rem}.headers ul{list-style-type:none;padding-left:0;margin-top:.5rem}.headers li{padding:.25rem 0;font-family:monospace;font-size:.9rem}.headers li span{font-weight:600}.json-result{margin-top:1rem}.json-result h4{margin-bottom:.75rem}.json-result pre{background-color:#f7fafc;padding:1rem;border-radius:4px;overflow-x:auto;font-family:monospace;font-size:.9rem;line-height:1.5;max-height:400px;overflow-y:auto;border:1px solid #e2e8f0}.connection-warning{text-align:center;padding:1rem;background-color:#feebc8;border-radius:4px;margin-bottom:1rem}.navigation{display:flex;justify-content:center;margin-top:1.5rem}.response-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:1rem}.toggle-button{background:none;border:1px solid #ccc;border-radius:4px;padding:4px 8px;cursor:pointer}.chart-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:10px;margin-bottom:20px}.chart-content{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 1200px){.chart-content{grid-template-columns:1fr 1fr}}.chart-form{display:grid;grid-template-columns:90px 1fr;gap:1rem;align-items:center}.chart-preview{min-height:500px;border:1px solid #ddd;border-radius:4px;padding:10px;display:flex;flex-direction:column}.chart-iframe{width:100%;height:100%;border:none;background-color:#fff;display:block;margin:0;padding:0;overflow:hidden}.iframe-container{width:100%;height:100%;overflow:hidden;position:relative;border:1px solid #ddd;border-radius:4px;margin-top:10px;flex-grow:1;display:flex;align-items:center;justify-content:center}.empty-chart{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px;background-color:#f9f9f9;border-radius:4px;margin-top:10px;flex-grow:1}.select-input,.text-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.json-textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:monospace;resize:vertical}.textarea-container{position:relative}.button-small{display:none}.form-group{display:contents}.form-group>label{text-align:right;font-weight:500}.input-wrapper{width:100%}.checkbox-container{display:flex;gap:1.5rem;align-items:center}.checkbox-label{display:flex;align-items:center;font-weight:500}.checkbox-label input{margin-right:.5rem}.error-container{margin-top:15px;padding:10px;background-color:#ffebee;border:1px solid #ffcdd2;border-radius:4px}.error{color:#d32f2f;margin:0}.error-details{margin-top:10px;padding:10px;background-color:#f5f5f5;border-radius:4px;font-family:monospace;font-size:12px;white-space:pre-wrap;overflow-x:auto}.connection-warning{padding:15px;background-color:#fff3e0;border:1px solid #ffe0b2;border-radius:4px;margin-bottom:20px;text-align:center}.navigation{display:flex;justify-content:center;margin-top:20px}.button{display:inline-block;padding:8px 16px;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;text-decoration:none;text-align:center}.button:hover{background-color:#1976d2}.button:disabled{background-color:#bbdefb;cursor:not-allowed}.button-secondary{background-color:#757575}.button-secondary:hover{background-color:#616161}.button-disabled{background-color:#bbdefb;cursor:not-allowed;pointer-events:none}.not-found-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem}.not-found-content{text-align:center;max-width:500px}.not-found-content h1{font-size:8rem;margin:0;color:#3182ce;line-height:1}.not-found-content h2{font-size:2.5rem;margin:0 0 1.5rem;color:#2d3748}.not-found-content p{font-size:1.2rem;color:#4a5568;margin-bottom:2rem}.button{display:inline-block;background-color:#3182ce;color:#fff;padding:.75rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:500;transition:background-color .2s}.button:hover{background-color:#2b6cb0}
