*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#fff;min-height:100vh;padding:0;color:#2c3e50}.site-banner{width:100%;height:350px;background-image:url(https://images.unsplash.com/photo-1498050108023-c5249f4df085?ixlib=rb-4.0.3&auto=format&fit=crop&w=2072&q=80);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:#fff;position:relative;margin-bottom:-60px}.site-banner:before{content:"";position:absolute;inset:0;background:#0000004d}.banner-content{position:relative;z-index:1;text-align:center;transform:translateY(-20px)}.banner-content h1{font-size:3.5em;margin-bottom:10px;text-shadow:0 4px 8px rgba(0,0,0,.3);font-weight:800}.banner-content p{font-size:1.5em;opacity:.95;text-shadow:0 2px 4px rgba(0,0,0,.3);font-weight:500}.header{max-width:1400px;margin:0 auto 20px;display:flex;justify-content:flex-end;align-items:center;background:transparent;padding:0 25px;position:relative;z-index:10;height:50px}.search-bar{display:flex;align-items:center;gap:10px;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 24px;border-radius:50px;width:400px;transition:all .3s;box-shadow:0 4px 15px #0000001a;margin:25px auto 0;border:1px solid rgba(255,255,255,.2)}.search-bar:focus-within{width:500px;background:#ffffff40;box-shadow:0 8px 25px #0003}.search-icon{font-size:1.2em;opacity:.8;color:#fff}.search-input{border:none;background:transparent;outline:none;font-size:1.1em;color:#fff;width:100%}.search-input::placeholder{color:#ffffffb3}.header h1{color:#2c3e50;font-size:1.5em;font-weight:700}.logo-clickable{cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none;position:relative}.logo-clickable:hover{transform:scale(1.05);opacity:.8}.admin-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#667eea;color:#fff;padding:12px 24px;border-radius:8px;font-size:.9em;font-weight:600;animation:adminHintPulse .5s ease-out;pointer-events:none;z-index:1000}@keyframes adminHintPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}50%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.header-actions{display:flex;gap:12px;align-items:center}.mode-badge{padding:6px 14px;border-radius:16px;font-size:.85em;font-weight:600}.mode-badge.view{background:#e8f5e9;color:#2e7d32}.mode-badge.edit{background:#fff3e0;color:#e65100}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:.9em;cursor:pointer;transition:all .3s ease;font-weight:600}.btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0003}.btn-primary{background:#667eea;color:#fff}.btn-success{background:#2ecc71;color:#fff}.btn-danger{background:#e74c3c;color:#fff}.btn-small{padding:5px 10px;font-size:.8em}.container{max-width:1400px;margin:0 auto;padding:0 15px 40px}.add-category-section{background:#fffffff2;padding:12px;border-radius:10px;margin-bottom:15px;box-shadow:0 3px 15px #0000001a;display:none}.add-category-section.show{display:block}.category-section{background:transparent;padding:18px 0 24px;border-radius:12px;margin-bottom:24px;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease;border-bottom:1px solid #f0f0f0}.category-section.draggable{cursor:move}.category-section.dragging{opacity:.5;transform:scale(.98)}.category-section.drag-over{border:2px dashed #667eea;transform:translateY(-5px)}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.category-header-left{display:flex;align-items:center;gap:0}.category-title{font-size:1.2em;color:#2c3e50;font-weight:700;display:flex;align-items:center;gap:10px;position:relative;padding-left:20px}.category-title:before{content:'"';position:absolute;left:0;font-size:1.8em;color:#667eea;opacity:.6}.category-name{cursor:default;font-size:20px;font-weight:600}.category-name.editable{cursor:pointer;padding:5px 10px;border-radius:5px;transition:background .2s ease}.category-name.editable:hover{background:#f0f0f0}.category-name-input{font-size:20px;font-weight:600;color:#2c3e50;border:2px solid #667eea;border-radius:5px;padding:5px 10px;outline:none}.edit-icon{color:#667eea;font-size:.9em;cursor:pointer;opacity:0;transition:opacity .2s ease}.category-title:hover .edit-icon{opacity:1}.category-tags-wrapper{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:30px}.category-tag{padding:4px 12px;background-color:#f5f5f5;color:#667eea;border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:4px}.category-tag:hover{background-color:#667eea1a}.category-tag.active{color:#fff}.category-actions{display:flex;gap:8px;margin-left:16px}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.tool-card-wrapper{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:transform .2s ease;width:100%;height:70px}.tool-card-wrapper.draggable{cursor:move}.tool-card-wrapper.dragging{opacity:.5;transform:scale(.95)}.tool-card-wrapper.drag-over{transform:translate(5px)}.tool-card{background:#fafaf8;border:1px solid #e8e8e4;border-radius:8px;padding:12px;transition:all .3s ease;position:relative;height:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;width:100%;flex-shrink:0;box-shadow:0 2px 8px #0000000a}.tool-card:hover{transform:translateY(-3px);box-shadow:0 8px 16px #00000014;border-color:#ddd;background:#fff}.tool-content{display:flex;flex-direction:row;align-items:center;gap:4px;flex:1}.tool-content-wrapper{flex:1;display:flex;align-items:center;justify-content:flex-start;min-width:0}.tool-description{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);background:#2c3e50f2;color:#fff;padding:10px 12px;border-radius:6px;font-size:.85em;line-height:1.4;white-space:normal;max-width:280px;min-width:200px;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1000;box-shadow:0 4px 12px #00000026;pointer-events:none}.tool-description:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#2c3e50f2}.tool-card-wrapper:hover .tool-description{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}.tool-rank{position:relative;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:20px;height:20px;min-width:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75em;box-shadow:0 2px 6px #0003;flex-shrink:0}.tool-name{font-size:1em;font-weight:600;color:#2c3e50;white-space:normal;overflow:visible;text-overflow:clip;flex-shrink:0;max-width:100%;width:100%}.tool-name a{color:#2c3e50;text-decoration:none;transition:color .2s ease}.tool-name a:hover{color:#667eea;text-decoration:underline}.vote-buttons{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;flex-shrink:0;width:auto}.vote-btn{display:flex;align-items:center;justify-content:center;gap:3px;padding:4px 8px;border:none;border-radius:4px;background:transparent;cursor:pointer;transition:all .2s ease;font-size:.75em;box-shadow:none;white-space:nowrap;min-width:auto;height:auto;line-height:1;color:#999;flex:0}.vote-btn:hover{transform:scale(1.1);color:#666}.vote-btn.upvote:hover{color:#4caf50}.vote-btn.downvote:hover{color:#f44336}.vote-btn.active.upvote{color:#4caf50;font-weight:600}.vote-btn.active.downvote{color:#f44336;font-weight:600}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;align-items:center;justify-content:center}.modal.show{display:flex}.modal-content{background:#fff;padding:25px;border-radius:12px;max-width:450px;width:90%;box-shadow:0 10px 40px #0000004d}.modal-header{font-size:1.3em;font-weight:700;color:#2c3e50;margin-bottom:18px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:#2c3e50;font-weight:600;font-size:.95em}.form-group input,.form-group textarea{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:6px;font-size:.95em;transition:border-color .3s ease;font-family:inherit}.form-group textarea{resize:vertical;min-height:60px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.delete-btn{background:#e74c3c;color:#fff;padding:2px 6px;border:none;border-radius:4px;cursor:pointer;font-size:.75em;transition:all .2s ease;line-height:1}.delete-btn:hover{background:#c0392b;transform:scale(1.1)}.tool-card .delete-btn{width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.1em;font-weight:700}.edit-tool-btn{position:absolute;top:4px;right:4px;background:#667eea;color:#fff;width:20px;height:20px;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75em;transition:all .2s ease;z-index:2;padding:0}.edit-tool-btn:hover{background:#5568d3;transform:scale(1.1)}.empty-state{text-align:center;padding:30px;color:#7f8c8d;font-size:1em}@media(max-width:768px){.header{flex-direction:column;gap:15px}.category-section{padding:15px;margin-bottom:15px}.site-banner{height:250px}.banner-content h1{font-size:2.5em}}@media(max-width:480px){.category-section{padding:12px;margin-bottom:12px}.tool-name{font-size:.85em}.vote-btn{font-size:.55em;padding:1px 3px}.site-banner{height:200px}.banner-content h1{font-size:2em}.banner-content p{font-size:1em}}
