/* Custom styles for Finger Web Flask App */ /* Global styles */ body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; } /* Navigation enhancements */ .navbar-brand { font-weight: bold; font-size: 1.5rem; } .navbar-nav .nav-link { font-weight: 500; transition: color 0.3s ease; } .navbar-nav .nav-link:hover { color: #fff !important; text-decoration: underline; } /* Card enhancements */ .card { border: none; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; } .card:hover { transform: translateY(-2px); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); } /* Jumbotron styling */ .jumbotron { background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); border: 1px solid #dee2e6; } /* Button enhancements */ .btn { border-radius: 6px; font-weight: 500; transition: all 0.3s ease; } .btn-primary { background: linear-gradient(45deg, #007bff, #0056b3); border: none; } .btn-primary:hover { background: linear-gradient(45deg, #0056b3, #004085); transform: translateY(-1px); } .btn-outline-primary:hover { transform: translateY(-1px); } /* Form enhancements */ .form-control { border-radius: 6px; border: 2px solid #e9ecef; transition: border-color 0.3s ease, box-shadow 0.3s ease; } .form-control:focus { border-color: #007bff; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } /* Alert enhancements */ .alert { border-radius: 8px; border: none; } .alert-success { background: linear-gradient(45deg, #d4edda, #c3e6cb); color: #155724; } .alert-danger { background: linear-gradient(45deg, #f8d7da, #f5c6cb); color: #721c24; } /* Footer styling */ footer { margin-top: auto; border-top: 1px solid #e9ecef; } /* Code block styling */ pre { font-size: 0.9rem; line-height: 1.4; } pre code { color: #495057; } /* Responsive adjustments */ @media (max-width: 768px) { .jumbotron { padding: 2rem 1rem; } .display-4 { font-size: 2rem; } .card-body { padding: 1rem; } } /* Animation for page load */ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } main { animation: fadeIn 0.6s ease-out; } /* Custom utility classes */ .text-gradient { background: linear-gradient(45deg, #007bff, #6610f2); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .shadow-custom { box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); } /* Loading animation for forms */ .btn.loading { position: relative; color: transparent; } .btn.loading::after { content: ""; position: absolute; width: 16px; height: 16px; top: 50%; left: 50%; margin-left: -8px; margin-top: -8px; border: 2px solid #ffffff; border-radius: 50%; border-top-color: transparent; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* Finger command specific styles */ .finger-output pre { font-family: 'Courier New', Consolas, monospace; font-size: 0.85rem; line-height: 1.4; white-space: pre-wrap; word-wrap: break-word; max-height: 500px; overflow-y: auto; color: white; } .finger-output pre::-webkit-scrollbar { width: 8px; } .finger-output pre::-webkit-scrollbar-track { background: #2d3748; } .finger-output pre::-webkit-scrollbar-thumb { background: #4a5568; border-radius: 4px; } .finger-output pre::-webkit-scrollbar-thumb:hover { background: #718096; }