diff --git a/static/style.css b/static/style.css index fd1c274..95f492e 100644 --- a/static/style.css +++ b/static/style.css @@ -282,9 +282,9 @@ input[type="text"], input[type="number"], textarea { } input[type="text"]:focus, input[type="number"]:focus, textarea:focus { - border-color: black; - box-shadow: 0 0 5px darkred; - background-color: #fff; + border-color: #60a5fa; + box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.35); + background-color: #0f172a; outline: none; } @@ -1073,9 +1073,9 @@ th, td { align-items: center; justify-content: space-between; gap: 24px; - background: rgba(15, 23, 42, 0.7); - border: 1px solid rgba(148, 163, 184, 0.2); - border-radius: 20px; + background: linear-gradient(135deg, rgba(15, 23, 42, 0.85), rgba(30, 41, 59, 0.6)); + border: 1px solid rgba(148, 163, 184, 0.25); + border-radius: 24px; padding: 20px 28px; margin-bottom: 24px; position: relative; @@ -1083,22 +1083,50 @@ th, td { backdrop-filter: blur(12px); } +.af-header::before { + content: ""; + position: absolute; + inset: 0; + border-radius: 24px; + padding: 1px; + background: linear-gradient(120deg, rgba(56, 189, 248, 0.6), rgba(59, 130, 246, 0.2), rgba(14, 116, 144, 0.5)); + -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); + -webkit-mask-composite: xor; + mask-composite: exclude; + pointer-events: none; +} + .af-brand { display: flex; align-items: center; gap: 16px; } -.af-badge { - font-size: 0.9rem; - font-weight: 600; - letter-spacing: 0.08em; - text-transform: uppercase; - background: rgba(59, 130, 246, 0.2); - color: #bae6fd; - padding: 6px 12px; - border-radius: 999px; - border: 1px solid rgba(59, 130, 246, 0.35); +.af-logo { + width: 44px; + height: 44px; + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-template-rows: repeat(2, 1fr); + gap: 4px; + padding: 6px; + border-radius: 14px; + background: rgba(15, 23, 42, 0.8); + border: 1px solid rgba(148, 163, 184, 0.35); + box-shadow: 0 8px 20px rgba(2, 6, 23, 0.45); +} + +.af-logo span { + border-radius: 6px; + background: linear-gradient(135deg, rgba(56, 189, 248, 0.9), rgba(59, 130, 246, 0.6)); +} + +.af-logo span:nth-child(2) { + background: linear-gradient(135deg, rgba(14, 116, 144, 0.9), rgba(2, 132, 199, 0.6)); +} + +.af-logo span:nth-child(3) { + background: linear-gradient(135deg, rgba(37, 99, 235, 0.9), rgba(15, 23, 42, 0.6)); } .af-title { @@ -1114,27 +1142,63 @@ th, td { font-size: 0.95rem; } +.af-nav-toggle { + display: none; + align-items: center; + gap: 8px; + padding: 8px 14px; + border-radius: 999px; + background: rgba(15, 23, 42, 0.6); + border: 1px solid rgba(148, 163, 184, 0.35); + color: #e2e8f0; + font-weight: 600; + cursor: pointer; + z-index: 1; +} + .af-nav { display: flex; gap: 16px; flex-wrap: wrap; + z-index: 1; } -.af-nav a { +.af-nav-link { + position: relative; color: #e2e8f0; font-weight: 500; - padding: 8px 14px; + padding: 8px 16px; border-radius: 999px; - border: 1px solid rgba(148, 163, 184, 0.2); + border: 1px solid rgba(148, 163, 184, 0.3); background: rgba(15, 23, 42, 0.4); + transition: transform 0.2s ease, box-shadow 0.2s ease; } -.af-nav a:hover { +.af-nav-link::after { + content: ""; + position: absolute; + left: 16px; + right: 16px; + bottom: 6px; + height: 2px; + border-radius: 999px; + background: linear-gradient(90deg, rgba(56, 189, 248, 0), rgba(56, 189, 248, 0.9), rgba(56, 189, 248, 0)); + opacity: 0; + transition: opacity 0.2s ease; +} + +.af-nav-link:hover { color: #fff; background: rgba(59, 130, 246, 0.3); + box-shadow: 0 10px 20px rgba(14, 116, 144, 0.2); + transform: translateY(-1px); text-decoration: none; } +.af-nav-link:hover::after { + opacity: 1; +} + .af-shell { display: flex; flex-direction: column; @@ -1201,6 +1265,29 @@ th, td { box-shadow: 0 16px 30px rgba(2, 6, 23, 0.35); } +.af-card-actions { + margin-top: 18px; +} + +.af-cta { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 10px 18px; + border-radius: 999px; + background: linear-gradient(120deg, rgba(56, 189, 248, 0.9), rgba(59, 130, 246, 0.85)); + color: #f8fafc; + font-weight: 600; + border: 1px solid rgba(56, 189, 248, 0.6); + box-shadow: 0 12px 24px rgba(14, 116, 144, 0.35); +} + +.af-cta:hover { + color: #fff; + text-decoration: none; + transform: translateY(-1px); +} + .af-card-header h2 { margin-top: 0; color: #f8fafc; @@ -1229,6 +1316,31 @@ th, td { color: #f8fafc; } +.af-form input:focus, +.af-notes:focus, +.af-input:focus { + border-color: rgba(56, 189, 248, 0.7); + box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.35); + background: rgba(15, 23, 42, 0.92); + color: #f8fafc; +} + +.af-field { + display: grid; + gap: 6px; + color: #e2e8f0; + font-weight: 500; +} + +.af-input { + width: 100%; + padding: 12px 14px; + border-radius: 12px; + background: rgba(15, 23, 42, 0.8); + border: 1px solid rgba(148, 163, 184, 0.3); + color: #f8fafc; +} + .af-form-actions { display: flex; gap: 12px; @@ -1325,6 +1437,17 @@ th, td { resize: vertical; } +.af-copy-grid { + display: grid; + gap: 18px; + color: #cbd5f5; +} + +.af-copy-grid ul { + padding-left: 18px; + margin: 8px 0 0; +} + @media (max-width: 720px) { .af-body { padding: 20px; @@ -1335,8 +1458,19 @@ th, td { align-items: flex-start; } + .af-nav-toggle { + display: inline-flex; + } + .af-nav { width: 100%; - justify-content: flex-start; + flex-direction: column; + align-items: flex-start; + gap: 10px; + display: none; + } + + .af-nav.is-open { + display: flex; } } diff --git a/templates/about_us.html b/templates/about_us.html index c0391de..c201573 100644 --- a/templates/about_us.html +++ b/templates/about_us.html @@ -3,114 +3,98 @@ - About Us - TRL Stats + About | Anomaly Front Toolkit - - -
-