diff --git a/public/styles.css b/public/styles.css index cdf5be6..dc5d886 100644 --- a/public/styles.css +++ b/public/styles.css @@ -1,219 +1,457 @@ -/* styles.css */ - -/* Allgemeine Styles */ -* { - box-sizing: border-box; - margin: 0; - padding: 0; - font-family: 'Arial', sans-serif; -} - -html, body { - height: 100%; /* Damit das Body-Element die volle Höhe einnimmt */ -} - -body { - background-color: #f4f4f4; - color: #333; - line-height: 1.6; - display: flex; /* Flexbox aktivieren */ - flex-direction: column; /* Vertikale Anordnung */ -} - -/* Header Styles */ -header { - background: #0078ff; - color: white; - padding: 20px 0; - text-align: center; -} - -header h1 { - margin-bottom: 10px; -} - -nav ul { - list-style: none; -} - -nav ul li { - display: inline; - margin: 0 15px; -} - -nav a { - color: white; - text-decoration: none; - font-weight: bold; -} - -nav a:hover { - text-decoration: underline; -} - -/* Container Styles */ -.container { - flex: 1; /* Ermöglicht, dass der Container den verbleibenden Platz einnimmt */ - max-height: 510px; /* Maximale Höhe gesetzt */ - max-width: 800px; - margin: 100px auto 20px; /* Erhöhe den oberen Abstand auf 40px */ - padding: 20px; - background: white; - border-radius: 8px; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); -} - -.container-2 { - flex: 1; /* Ermöglicht, dass der Container den verbleibenden Platz einnimmt */ - max-height: 300px; /* Maximale Höhe gesetzt */ - max-width: 800px; - margin: 100px auto 20px; /* Erhöhe den oberen Abstand auf 40px */ - padding: 20px; - background: white; - border-radius: 8px; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); -} - - -h2 { - margin-bottom: 15px; - color: #0078ff; -} - -/* Form Styles */ -form { - display: flex; - flex-direction: column; -} - -label { - margin: 10px 0 5px; -} - -select, input[type="url"], input[type="text"] { - padding: 10px; - border: 1px solid #ccc; - border-radius: 5px; - margin-bottom: 15px; -} - -button { - padding: 10px; - background-color: #0078ff; - color: white; - border: none; - border-radius: 5px; - cursor: pointer; - transition: background 0.3s; -} - -button:hover { - background-color: #005bb5; -} - -/* Message Styles */ -#message { - margin-top: 15px; - font-weight: bold; -} - -/* Footer Styles */ -footer { - display: flex; /* Flexbox für die Anordnung der Inhalte */ - justify-content: center; /* Zentriert den Inhalt horizontal */ - align-items: center; /* Vertikale Zentrierung */ - padding: 15px; /* Innenabstand */ - background: #0078ff; /* Hintergrundfarbe */ - color: white; /* Schriftfarbe */ - width: 100%; - margin-top: auto; /* Fügt oben einen automatischen Margin hinzu, um den Footer nach unten zu drücken */ -} - -.footer-content { - display: flex; /* Flexbox für die inneren Inhalte */ - justify-content: space-between; /* Abstand zwischen Bot-Version und mittigem Inhalt */ - width: 100%; /* Macht den Container 100% breit */ -} - -.footer-center { - text-align: center; /* Zentriert den Text in diesem Container */ - flex-grow: 1; /* Ermöglicht, dass dieser Container den verfügbaren Platz einnimmt */ -} - -.bot-version { - margin-right: auto; /* Schiebt die Bot-Version nach links */ - font-style: italic; /* Kursive Schrift für einen gravierten Effekt */ - color: rgba(255, 255, 255, 0.8); /* Leicht durchscheinend für einen Gravureffekt */ - text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); /* Schatten für den Gravureffekt */ -} - -.welcome-title { - text-align: center; /* Textzentrierung */ - margin-bottom: 15px; /* Abstand nach unten */ -} - -/* Step Styles */ -.steps { - margin-top: 20px; - padding: 10px; - border: 1px solid #0078ff; - border-radius: 8px; - background: #f9f9f9; /* Hellgraue Hintergrundfarbe */ -} - -.step { - display: flex; - align-items: center; - margin-bottom: 15px; -} - -.step-number { - font-size: 24px; - margin-right: 10px; - color: #0078ff; /* Farbakzent für die Schrittzahl */ -} - -.step p { - margin: 0; - color: #555; /* Dunkelgraue Schriftfarbe für bessere Lesbarkeit */ -} - -/* Button Styles */ -.button { - display: inline-block; - padding: 10px 20px; - margin-top: 20px; - background-color: #0078ff; /* Blau als Hintergrundfarbe */ - color: white; - text-decoration: none; - border-radius: 5px; - text-align: center; - transition: background 0.3s; -} - -.button:hover { - background-color: #005bb5; /* Dunkleres Blau bei Hover */ -} - -/* Button Styles */ -.button-container { - margin-top: 20px; /* Abstand nach oben für die Button-Gruppe */ - display: flex; /* Flexbox aktivieren für eine horizontale Anordnung */ - justify-content: center; /* Buttons zentrieren */ - gap: 10px; /* Abstand zwischen den Buttons */ -} - -.button { - display: inline-block; - padding: 10px 20px; - background-color: #0078ff; /* Blau als Hintergrundfarbe */ - color: white; - text-decoration: none; - border-radius: 5px; - text-align: center; - transition: background 0.3s; -} - -.button:hover { - background-color: #005bb5; /* Dunkleres Blau bei Hover */ -} +/* styles.css - Modern Dark Mode Theme */ + +:root { + /* Dark Mode Palette */ + --bg-body: #0f172a; /* Sehr dunkles Blau-Grau (Hintergrund) */ + --bg-card: #1e293b; /* Helleres Blau-Grau (Karten) */ + --bg-input: #334155; /* Dunkelgrau (Inputs) */ + + --text-main: #f8fafc; /* Fast Weiß (Haupttext) */ + --text-secondary: #94a3b8; /* Helles Grau (Untertitel/Icons) */ + + --primary: #3b82f6; /* Modernes Blau */ + --primary-gradient: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); /* Helles Blau Gradient */ + --primary-glow: rgba(59, 130, 246, 0.5); /* Glow-Effekt */ + + --border-color: #334155; /* Subtile Ränder */ + --radius: 16px; + --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} + +/* General Reset */ +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +html, body { + height: 100%; + scrollbar-width: thin; + scrollbar-color: var(--bg-input) var(--bg-body); +} + +body { + font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; + background-color: var(--bg-body); + color: var(--text-main); + line-height: 1.6; + display: flex; + flex-direction: column; +} + +/* Header */ +header { + background: rgba(15, 23, 42, 0.8); /* Leicht transparent */ + backdrop-filter: blur(12px); /* Glass-Effekt */ + -webkit-backdrop-filter: blur(12px); + border-bottom: 1px solid var(--border-color); + padding: 1rem 0; + position: sticky; + top: 0; + z-index: 100; +} + +.header-content { + max-width: 900px; + margin: 0 auto; + padding: 0 20px; + display: flex; + justify-content: space-between; + align-items: center; +} + +.logo { + font-weight: 700; + font-size: 1.2rem; + color: var(--primary); + text-shadow: 0 0 10px var(--primary-glow); /* Text Glow */ + letter-spacing: -0.5px; +} + +nav ul { + list-style: none; + display: flex; + gap: 20px; +} + +nav a { + text-decoration: none; + color: var(--text-secondary); + font-weight: 500; + font-size: 0.95rem; + transition: var(--transition); + padding: 6px 12px; + border-radius: 8px; +} + +nav a:hover, nav a.active { + color: var(--text-main); + background: rgba(59, 130, 246, 0.15); /* Hellerer Hintergrund bei Hover */ +} + +/* Container & Layout */ +.container { + flex: 1; + width: 100%; + max-width: 700px; + margin: 40px auto; + padding: 0 20px; +} + +.card { + background: var(--bg-card); + border: 1px solid var(--border-color); + border-radius: var(--radius); + padding: 40px; + box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.3); /* Tiefer Schatten für Tiefe */ + animation: fadeIn 0.6s ease-out; +} + +h2.welcome-title { + color: var(--text-main); + font-weight: 700; + margin-bottom: 0.5rem; + text-align: center; + letter-spacing: -0.5px; +} + +.subtitle { + text-align: center; + color: var(--text-secondary); + margin-bottom: 2rem; +} + +/* Form Styles */ +.form-group { + margin-bottom: 24px; +} + +label { + display: block; + margin-bottom: 8px; + font-weight: 500; + font-size: 0.9rem; + color: var(--text-secondary); +} + +select, input[type="url"], input[type="text"] { + width: 100%; + padding: 14px 16px; + background: var(--bg-input); + border: 1px solid var(--border-color); + border-radius: 12px; + font-size: 1rem; + font-family: inherit; + transition: var(--transition); + outline: none; + color: var(--text-main); + box-shadow: inset 0 2px 4px rgba(0,0,0,0.1); /* Innerer Schatten */ +} + +select:focus, input:focus { + border-color: var(--primary); + box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25); /* Blauer Glow */ +} + +button { + cursor: pointer; + border: none; + outline: none; + font-family: inherit; +} + +.btn-primary { + width: 100%; + padding: 16px; + background: var(--primary-gradient); + color: white; + font-weight: 600; + font-size: 1rem; + border-radius: 12px; + transition: var(--transition); + box-shadow: 0 4px 20px var(--primary-glow); +} + +.btn-primary:hover { + transform: translateY(-2px); + box-shadow: 0 8px 30px var(--primary-glow); +} + +.btn-primary:active { + transform: translateY(0); +} + +.btn-secondary { + background: var(--bg-input); + color: var(--text-main); + padding: 12px 24px; + border-radius: 8px; + font-weight: 500; + transition: var(--transition); + border: 1px solid var(--border-color); +} + +.btn-secondary:hover { + background: #475569; +} + +/* Help Page - Timeline */ +.timeline { + position: relative; + padding: 20px 0; +} + +.timeline-item { + display: flex; + align-items: flex-start; + margin-bottom: 30px; + position: relative; +} + +.timeline-marker { + width: 36px; + height: 36px; + background: var(--primary-gradient); + color: white; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-weight: bold; + flex-shrink: 0; + margin-right: 20px; + box-shadow: 0 0 15px var(--primary-glow); + z-index: 1; +} + +/* Verbindende Linie */ +.timeline-item:not(:last-child)::after { + content: ''; + position: absolute; + left: 18px; + top: 40px; + bottom: -30px; + width: 2px; + background: var(--border-color); + z-index: 0; +} + +.timeline-content h3 { + font-size: 1.1rem; + color: var(--text-main); + margin-bottom: 4px; +} + +.timeline-content p, .timeline-content code { + color: var(--text-secondary); + font-size: 0.95rem; +} + +.info-box { + background: rgba(59, 130, 246, 0.1); /* Transparentes Blau */ + border-left: 4px solid var(--primary); + padding: 16px; + border-radius: 8px; + margin: 25px 0; +} + +.info-box code { + background: rgba(0,0,0,0.3); + padding: 2px 6px; + border-radius: 4px; + color: var(--primary); +} + +.btn-text { + display: block; + text-align: center; + color: var(--primary); + text-decoration: none; + font-weight: 600; + margin-top: 25px; + transition: var(--transition); +} + +.btn-text:hover { + color: #60a5fa; /* Helleres Blau */ +} + +/* Contact Page */ +.contact-grid { + display: grid; + grid-template-columns: 1fr; + gap: 15px; +} + +.contact-item { + display: flex; + align-items: center; + padding: 20px; + border: 1px solid var(--border-color); + border-radius: 16px; + background: rgba(30, 41, 59, 0.5); + text-decoration: none; + color: var(--text-main); + transition: var(--transition); +} + +.contact-item:hover { + border-color: var(--primary); + background: rgba(59, 130, 246, 0.1); + transform: translateX(5px); +} + +.icon-box { + font-size: 1.8rem; + margin-right: 20px; + background: rgba(255,255,255,0.05); + padding: 10px; + border-radius: 12px; +} + +.info h3 { + font-size: 1rem; + margin-bottom: 2px; + color: var(--text-main); +} + +.info p { + color: var(--text-secondary); + font-size: 0.9rem; +} + +.arrow { + margin-left: auto; + color: var(--primary); + font-size: 1.2rem; +} + +/* Footer */ +footer { + margin-top: auto; + padding: 30px 0; + border-top: 1px solid var(--border-color); + background: var(--bg-card); +} + +.footer-content { + max-width: 900px; + margin: 0 auto; + padding: 0 20px; + display: flex; + justify-content: space-between; + align-items: center; +} + +.bot-version { + font-size: 0.85rem; + color: var(--text-secondary); + font-weight: 500; + background: rgba(0,0,0,0.2); + padding: 4px 8px; + border-radius: 4px; +} + +.footer-center { + font-size: 0.9rem; + color: var(--text-secondary); +} + +.footer-right a { + font-size: 1.5rem; + color: var(--text-secondary); + transition: var(--transition); +} + +.footer-right a:hover { + color: var(--primary); + text-shadow: 0 0 10px var(--primary-glow); +} + +/* Modal / Popup */ +.modal-overlay { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.7); /* Dunklerer Overlay */ + backdrop-filter: blur(6px); + -webkit-backdrop-filter: blur(6px); + z-index: 999; + animation: fadeInOverlay 0.3s ease; +} + +.modal { + display: none; + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: var(--bg-card); + border: 1px solid var(--border-color); + padding: 45px; + border-radius: 20px; + box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); + text-align: center; + width: 90%; + max-width: 400px; + z-index: 1000; + animation: scaleUp 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); +} + +.modal-icon { + font-size: 4rem; + margin-bottom: 20px; + filter: drop-shadow(0 0 15px var(--primary-glow)); +} + +.modal h3 { + margin-bottom: 10px; + color: var(--text-main); +} + +.modal p { + color: var(--text-secondary); + margin-bottom: 30px; +} + +/* Animations */ +@keyframes fadeIn { + from { opacity: 0; transform: translateY(20px); } + to { opacity: 1; transform: translateY(0); } +} + +@keyframes fadeInOverlay { + from { opacity: 0; } + to { opacity:1; } +} + +@keyframes scaleUp { + from { opacity: 0; transform: translate(-50%, -40%) scale(0.9); } + to { opacity: 1; transform: translate(-50%, -50%) scale(1); } +} + +/* Responsive */ +@media (max-width: 600px) { + .header-content { + flex-direction: column; + gap: 15px; + } + + .card { + padding: 25px; + } + + .contact-item { + flex-direction: column; + text-align: center; + gap: 15px; + } + + .arrow { + transform: rotate(90deg); + } +} \ No newline at end of file