.tool-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}.tool-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.tool-card.coming-soon{opacity:.7;cursor:not-allowed}.tool-card.coming-soon:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.tool-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tool-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:600}.icon-placeholder{font-size:1.25rem}.tool-category{font-size:.75rem;color:var(--text-muted);background:var(--bg-tertiary);padding:4px 8px;border-radius:var(--radius-sm);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.tool-card-content{flex:1;display:flex;flex-direction:column;gap:12px}.tool-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4}.tool-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0;flex:1}.tool-card-footer{margin-top:20px;display:flex;align-items:center;justify-content:space-between}.tool-btn{background:var(--primary-color);color:#fff;border:none;padding:10px 16px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.tool-btn:hover{background:var(--primary-hover);transform:translate(2px)}.btn-arrow{font-size:1rem;transition:transform .2s ease}.tool-btn:hover .btn-arrow{transform:translate(2px)}.coming-soon-badge{background:var(--warning-color);color:#fff;padding:6px 12px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.tool-card.loading{opacity:.6;pointer-events:none}.tool-card.loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{0%{left:-100%}to{left:100%}}@media (max-width: 768px){.tool-card{padding:20px}.tool-icon{width:40px;height:40px}.tool-title{font-size:1rem}.tool-description{font-size:.8125rem}}@media (max-width: 480px){.tool-card{padding:16px}.tool-card-header{margin-bottom:12px}.tool-icon{width:36px;height:36px}.icon-placeholder{font-size:1rem}.tool-category{font-size:.6875rem;padding:3px 6px}.tool-card-content{gap:8px}.tool-title{font-size:.9375rem}.tool-description{font-size:.75rem}.tool-card-footer{margin-top:16px}.tool-btn{padding:8px 12px;font-size:.8125rem}}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #64748b;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-hover: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem}*{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;background:var(--bg-secondary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:0 24px}.site-header{background:var(--bg-primary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1200px;margin:0 auto}.site-footer{margin-top:auto;background:var(--bg-primary);border-top:1px solid var(--border-color);padding:32px 0;color:var(--text-secondary)}.app-root{min-height:100vh;display:flex;flex-direction:column}main.container{flex:1;padding:48px 24px}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:32px}@media (min-width: 1400px){.tools-grid{grid-template-columns:repeat(4,1fr);gap:28px}}@media (min-width: 1024px) and (max-width: 1399px){.tools-grid{grid-template-columns:repeat(3,1fr);gap:24px}}@media (min-width: 768px) and (max-width: 1023px){.tools-grid{grid-template-columns:repeat(2,1fr);gap:20px}}.page-header{text-align:center;margin-bottom:48px}.page-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:16px;line-height:1.2}.page-subtitle{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto}@media (max-width: 767px){.container{padding:0 16px}main.container{padding:32px 16px}.tools-grid{grid-template-columns:1fr;gap:16px}.page-title{font-size:2rem}.header-inner{padding:12px 16px}}@media (max-width: 480px){.page-title{font-size:1.75rem}.page-subtitle{font-size:1rem}}.header-brand{display:flex;flex-direction:column}.site-title{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin:0;line-height:1.2}.site-tagline{font-size:.875rem;color:var(--text-secondary);margin-top:4px}.header-nav{display:flex;align-items:center}.nav-btn{background:var(--primary-color);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}@media (max-width: 768px){.header-inner{flex-direction:column;align-items:flex-start;gap:12px}.site-title{font-size:1.25rem}.site-tagline{font-size:.75rem}}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:32px}.footer-section{display:flex;flex-direction:column;gap:16px}.footer-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.footer-subtitle{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0}.footer-description{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.footer-link{color:var(--text-secondary);text-decoration:none;font-size:.875rem;transition:color .2s ease}.footer-link:hover{color:var(--primary-color)}.footer-bottom{padding-top:24px;border-top:1px solid var(--border-color);text-align:center}.footer-copyright{font-size:.875rem;color:var(--text-muted);margin:0}@media (max-width: 768px){.footer-content{grid-template-columns:1fr;gap:32px}.footer-bottom{text-align:left}}.elevation-table-page{max-width:1400px;margin:0 auto}.elevation-content{display:grid;grid-template-columns:400px 1fr;gap:32px;margin-top:32px}.input-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;height:fit-content;box-shadow:var(--shadow-sm)}.input-group{margin-bottom:24px}.input-group:last-child{margin-bottom:0}.input-group h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--border-color)}.input-row{display:flex;gap:12px;margin-bottom:12px;align-items:stretch}.input-field{flex:1;min-width:0;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.875rem;transition:all .2s ease;background:var(--bg-primary);box-sizing:border-box}.input-field:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.input-field::placeholder{color:var(--text-muted)}.add-btn{background:var(--success-color);color:#fff;border:none;padding:12px 16px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0;min-width:fit-content}.add-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:var(--shadow-md)}.remove-btn{background:var(--danger-color);color:#fff;border:none;padding:6px 12px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.remove-btn:hover{background:#dc2626}.points-list{margin-top:16px;max-height:200px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:8px}.point-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:6px;font-size:.875rem}.point-item:last-child{margin-bottom:0}.generate-btn{width:100%;background:var(--primary-color);color:#fff;border:none;padding:16px;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:24px}.generate-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.table-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.table-section h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--border-color)}.table-container{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md)}.elevation-table{width:100%;border-collapse:collapse;font-size:.875rem}.elevation-table th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600;padding:12px 8px;text-align:center;border:1px solid var(--border-color);white-space:nowrap}.elevation-table td{padding:10px 8px;text-align:center;border:1px solid var(--border-color);color:var(--text-primary);font-family:Courier New,monospace}.elevation-table .reference-row{background:var(--bg-tertiary);font-weight:600}.elevation-table tr:nth-child(2n){background:var(--bg-secondary)}.elevation-table tr:hover{background:#2563eb0d}.elevation-table td:nth-child(2),.elevation-table td:nth-child(3),.elevation-table td:nth-child(4),.elevation-table td:nth-child(5),.elevation-table td:nth-child(6),.elevation-table td:nth-child(7){font-family:Courier New,monospace;font-weight:500}.elevation-table td:nth-child(8){font-weight:600}.elevation-table td:nth-child(8):not(:empty){color:var(--text-primary)}@media (max-width: 1200px){.elevation-content{grid-template-columns:1fr;gap:24px}.input-section{max-width:600px;margin:0 auto}}@media (max-width: 768px){.elevation-content{margin-top:24px}.input-section,.table-section{padding:20px}.input-row{flex-direction:column;gap:8px}.elevation-table{font-size:.75rem}.elevation-table th,.elevation-table td{padding:8px 4px}}@media (max-width: 480px){.input-section,.table-section{padding:16px}.table-section h3{font-size:1.125rem}.elevation-table{font-size:.6875rem}.elevation-table th,.elevation-table td{padding:6px 2px}}
