*{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:#fff;min-height:100vh}.app{max-width:1200px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:#fff;box-shadow:0 0 50px #0000001a}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center}.title{font-size:2.5rem;margin-bottom:.5rem;font-weight:700}.subtitle{font-size:1.1rem;opacity:.9}.nav{display:flex;justify-content:center;gap:1rem;padding:1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef;flex-wrap:wrap}.nav-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .3s ease;text-decoration:none;color:#495057;font-weight:500}.nav-item:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.nav-item.active{background:#667eea;border-color:#667eea;color:#fff}.main{flex:1;padding:2rem}.home-page{text-align:center}.home-page h2{font-size:2rem;margin-bottom:1rem;color:#212529}.home-page p{font-size:1.2rem;color:#6c757d;margin-bottom:2rem}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.tool-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:2rem;transition:all .3s ease;cursor:pointer}.tool-card:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 24px #667eea33}.tool-icon{color:#667eea;margin-bottom:1rem}.tool-card h3{font-size:1.3rem;margin-bottom:.5rem;color:#212529}.tool-card p{color:#6c757d;font-size:.95rem}.tool-page{max-width:900px;margin:0 auto}.tool-page h2{font-size:2rem;margin-bottom:2rem;color:#212529;text-align:center}.json-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media(max-width:768px){.json-container{grid-template-columns:1fr}}.json-input-section,.json-output-section{display:flex;flex-direction:column;gap:1rem}.json-input-section label,.json-output-section label{font-weight:600;color:#495057}.json-textarea{width:100%;min-height:400px;padding:1rem;border:2px solid #e9ecef;border-radius:8px;font-family:Courier New,monospace;font-size:.9rem;resize:vertical}.json-textarea:focus{outline:none;border-color:#667eea}.button-group{display:flex;gap:.5rem;flex-wrap:wrap}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.error-message{color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:1rem;font-size:.9rem}.qrcode-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media(max-width:768px){.qrcode-container{grid-template-columns:1fr}}.qrcode-input{display:flex;flex-direction:column;gap:1rem}.qrcode-textarea{width:100%;min-height:200px;padding:1rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;resize:vertical}.qrcode-textarea:focus{outline:none;border-color:#667eea}.qrcode-slider{width:100%}.qrcode-output{display:flex;align-items:center;justify-content:center;min-height:300px;background:#f8f9fa;border:2px dashed #e9ecef;border-radius:8px}.qrcode-display{text-align:center}.placeholder{color:#6c757d;font-size:1.1rem}.image-compressor{display:flex;flex-direction:column;gap:1.5rem}.image-upload{display:flex;flex-direction:column;gap:.5rem}.file-input{padding:1rem;border:2px dashed #e9ecef;border-radius:8px;cursor:pointer}.file-input:hover{border-color:#667eea}.quality-control{display:flex;flex-direction:column;gap:.5rem}.quality-slider{width:100%}.image-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.preview-item{background:#f8f9fa;padding:1.5rem;border-radius:8px;text-align:center}.preview-item h4{margin-bottom:1rem;color:#212529}.preview-image{max-width:100%;height:auto;border-radius:4px;margin-bottom:1rem}.preview-item p{color:#6c757d;font-size:.9rem;margin-bottom:.5rem}.password-generator{display:flex;flex-direction:column;gap:1.5rem}.password-display{display:flex;gap:1rem}.password-input{flex:1;padding:1rem;font-size:1.2rem;font-family:Courier New,monospace;border:2px solid #e9ecef;border-radius:8px;background:#f8f9fa}.password-input:focus{outline:none;border-color:#667eea}.password-options{display:flex;flex-direction:column;gap:1rem}.password-slider{width:100%}.checkbox-group{display:flex;flex-direction:column;gap:.75rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.unit-converter{display:flex;flex-direction:column;gap:1.5rem}.category-selector,.converter-input,.converter-result{display:flex;flex-direction:column;gap:.5rem}.category-select,.unit-select{padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;background:#fff}.category-select:focus,.unit-select:focus{outline:none;border-color:#667eea}.converter-number{padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem}.converter-number:focus{outline:none;border-color:#667eea}.unit-selectors{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.unit-selector{display:flex;flex-direction:column;gap:.5rem}.result-display{padding:1.5rem;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;font-size:1.5rem;font-weight:600;color:#667eea;text-align:center}.footer{background:#f8f9fa;padding:1.5rem;text-align:center;border-top:1px solid #e9ecef;color:#6c757d}@media(max-width:768px){.title{font-size:1.8rem}.subtitle{font-size:.95rem}.nav{padding:1rem}.nav-item{padding:.5rem 1rem;font-size:.9rem}.main{padding:1rem}.tool-page h2{font-size:1.5rem}.tools-grid{grid-template-columns:1fr}}
