.button-generator{min-height:auto;background:linear-gradient(135deg,var(--gray-900) 0%,var(--gray-800) 100%);padding:var(--tool-container-padding, 2rem);overflow-x:hidden;max-width:100%;width:100%;box-sizing:border-box}.button-generator *,.button-generator *:before,.button-generator *:after{box-sizing:border-box}.button-generator .tool-header{text-align:center;margin-bottom:2rem}.button-generator .tool-header h1{font-size:2.5rem;font-weight:700;color:var(--gray-50);margin-bottom:.5rem}.button-generator .tool-header p{color:var(--gray-400);font-size:1.1rem}.generator-layout{display:grid;grid-template-columns:var(--tool-controls-width, 420px) 1fr;gap:var(--tool-content-gap, 2rem);max-width:var(--tool-container-max-width, 1600px);width:100%;margin:0 auto;overflow:hidden}.controls-panel{max-height:none;overflow-y:auto;overflow-x:hidden;max-width:100%}.controls-panel::-webkit-scrollbar{width:6px}.controls-panel::-webkit-scrollbar-track{background:var(--gray-900);border-radius:3px}.controls-panel::-webkit-scrollbar-thumb{background:var(--gray-600);border-radius:3px}.button-generator .control-section{border:var(--tool-controls-border, 2px solid var(--primary));box-shadow:var(--tool-controls-shadow, 0 4px 12px rgba(79, 70, 229, .15));border-radius:12px;padding:1.25rem;background:var(--gray-800)}.button-generator .preset-grid{grid-template-columns:repeat(3,1fr);max-width:100%;overflow:hidden}.button-generator .preset-button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button-generator .control-group input[type=range]{width:100%;height:6px;background:var(--gray-700);border-radius:3px;cursor:pointer;-webkit-appearance:none}.button-generator .control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--info-color);border-radius:50%;cursor:pointer;transition:background .2s ease}.button-generator .control-group input[type=range]::-webkit-slider-thumb:hover{background:#2563eb}.color-input-group{display:flex;gap:.5rem;max-width:100%;overflow:hidden}.color-input-group input[type=color]{width:40px;min-width:40px;height:36px;padding:2px;border:2px solid var(--gray-600);border-radius:6px;cursor:pointer;background:transparent;flex-shrink:0}.color-input-group input[type=text]{flex:1;min-width:0}.color-states{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.state-column{min-width:0;overflow:hidden}.state-column h4{color:var(--gray-300);font-size:.8rem;font-weight:500;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--gray-900);cursor:pointer}.checkbox-label span{color:var(--gray-900);font-size:1rem}.preview-panel{display:flex;flex-direction:column;gap:var(--tool-content-gap, 2rem);max-width:100%;min-width:0;overflow:hidden}.preview-section{background:linear-gradient(135deg,var(--gray-900) 0%,var(--gray-800) 100%);border-radius:16px;padding:1.5rem;border:2px solid #d1d5db;box-shadow:0 1px 3px #0000001a;max-width:100%;overflow:hidden}.preview-section h3{color:var(--gray-100);font-size:1.1rem;font-weight:700;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--primary);letter-spacing:.03em}.preview-area{background:linear-gradient(135deg,var(--gray-50) 0%,var(--gray-200) 100%);border:2px solid #d1d5db;border-radius:12px;padding:2rem;min-height:150px;display:flex;align-items:center;justify-content:center;max-width:100%;overflow:hidden;box-shadow:0 1px 3px #0000001a}.preview-states{display:flex;gap:3rem;align-items:center;max-width:100%;flex-wrap:wrap;justify-content:center}.preview-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;max-width:100%}.preview-state button{max-width:100%;overflow:hidden;text-overflow:ellipsis}.state-label{font-size:.75rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.preview-backgrounds{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-700);flex-wrap:wrap;box-shadow:0 1px 3px #0000001a}.preview-backgrounds span{color:var(--gray-400);font-size:.85rem}.bg-options{display:flex;gap:.5rem}.bg-option{width:24px;height:24px;border-radius:6px;border:2px solid var(--gray-600);cursor:pointer;transition:border-color .2s ease;flex-shrink:0}.bg-option:hover{border-color:var(--info-color)}.bg-option.light{background:var(--gray-50)}.bg-option.dark{background:var(--gray-800)}.bg-option.gradient{background:linear-gradient(135deg,var(--info-color) 0%,#8b5cf6 100%)}.output-section{background:var(--gray-800);border-radius:16px;padding:1.5rem;border:2px solid var(--gray-600);max-width:100%;overflow:hidden}.output-tabs{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.output-tab{padding:.5rem 1rem;background:var(--gray-900);border:2px solid var(--gray-600);border-radius:8px;color:var(--gray-400);font-size:.85rem;cursor:pointer;transition:all .2s ease}.output-tab:hover{background:var(--gray-800);color:var(--gray-100)}.output-tab.active{background:var(--info-color);border-color:var(--info-color);color:var(--white)}.code-output{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto;max-width:100%}.output-block{background:var(--gray-900);border-radius:12px;overflow:hidden;border:2px solid var(--gray-600);max-width:100%}.output-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#33415580;border-bottom:1px solid var(--gray-700);max-width:100%;overflow:hidden;gap:.5rem}.output-header span{color:var(--gray-400);font-size:.85rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-btn{padding:.375rem .75rem;background:var(--gray-700);border:none;border-radius:6px;color:var(--gray-100);font-size:.75rem;cursor:pointer;transition:all .2s ease;position:relative;z-index:1;flex-shrink:0;white-space:nowrap}.copy-btn:hover{background:var(--info-color)}.copy-btn.copied{background:var(--success)}.output-block pre{margin:0;padding:1rem;overflow-x:auto;max-width:100%}.output-block code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;color:var(--gray-200);line-height:1.6;white-space:pre;display:block;max-width:100%}.tips-section{max-width:var(--tool-container-max-width, 1600px);margin:3rem auto 0}.tips-section h3{color:var(--gray-100);font-size:1.25rem;font-weight:600;margin-bottom:1rem}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.tip-card{background:var(--gray-800);border-radius:12px;padding:1.25rem;border:2px solid var(--gray-600)}.tip-card h4{color:var(--gray-100);font-size:1rem;font-weight:600;margin-bottom:.5rem}.tip-card p{color:var(--gray-400);font-size:.875rem;line-height:1.6}.cta-section{max-width:800px;margin:3rem auto 0;text-align:center;padding:3rem;background:linear-gradient(135deg,#1e3a8a 0%,var(--secondary) 100%);border-radius:20px}.cta-section h2{color:var(--white);font-size:1.75rem;font-weight:700;margin-bottom:1rem}.cta-section p{color:#ffffffe6;font-size:1.1rem;margin-bottom:1.5rem}.cta-button{display:inline-block;padding:.875rem 2rem;background:var(--white);color:#1e3a8a;font-weight:600;text-decoration:none;border-radius:10px;transition:all .3s ease}.cta-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0000004d}.btn-icon{display:inline-flex;align-items:center;justify-content:center}.control-panel{background-color:#1f2937f2!important;border:2px solid var(--gray-400)!important;border-radius:6px}[data-theme=dark] .control-section{background-color:#1f2937e6!important;border-color:var(--gray-400)!important;border-width:2px}[data-theme=dark] .control-group input,[data-theme=dark] .control-group select,[data-theme=dark] .control-group textarea{background-color:#0f172acc!important;border:2px solid var(--gray-500)!important;color:var(--text-primary)}[data-theme=dark] .control-group label{display:block;color:var(--gray-900);font-size:1rem;margin-bottom:.5rem;font-weight:600;line-height:1.5;letter-spacing:.3px}@media (max-width: 1023px){.generator-layout{grid-template-columns:var(--tool-controls-width-tablet, 360px) 1fr}.controls-panel{max-height:none}.color-states{grid-template-columns:1fr}}@media (max-width: 767px){.generator-layout{grid-template-columns:1fr}}@media (max-width: 768px){.button-generator{padding:1rem}.button-generator .tool-header h1{font-size:1.75rem}.preset-grid{grid-template-columns:repeat(2,1fr)}.control-row{grid-template-columns:1fr}.preview-states{flex-direction:column;gap:1.5rem}.tips-grid{grid-template-columns:1fr}.cta-section{padding:2rem 1.5rem}.cta-section h2{font-size:1.5rem}}
