Files
matrix.to-dracula-theme/css/main.css
T
2026-04-07 20:38:54 +02:00

213 lines
5.0 KiB
CSS

/*
Copyright 2020 The Matrix.org Foundation C.I.C.
Modified 2026 for Zeitfresser Matrix Community Look & Mobile Fixes
*/
@import url('spinner.css');
@import url('client.css');
@import url('preview.css');
@import url('create.css');
@import url('open.css');
/* Globaler Fix für Box-Berechnungen (verhindert horizontales Scrollen) */
* {
box-sizing: border-box;
}
:root {
--app-background: #1e1f29; /* Tief-Anthrazit der Webseite */
--background: #282a36; /* Hintergrund der Card */
--foreground: #f7f7fa; /* Reines Highlight-Weiß */
--font: #bdc3c7; /* Fließtext-Grau */
--grey: #64748b; /* Dunkles Grau für Identifier */
--accent: #0dbd8b; /* Matrix-Green */
--ztfr-purple: #bd93f9; /* Das Zeitfresser-Lila Akzent */
--error: #ff5555;
--link: #f7f7fa;
--borders: #2f313d;
--lightgrey: #383a59;
--spinner-stroke-size: 2px;
--sub-text: #bdc3c7;
}
html {
margin: 0;
padding: 0;
height: 100%;
overflow-x: hidden; /* Verhindert Wackeln nach links/rechts auf Mobile */
}
body {
background-color: var(--app-background);
background-image: none !important; /* Entfernt das Standard-Muster */
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
color: var(--font);
padding: 80px 20px 0 20px;
margin: 0;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
}
h1, h2, h3 {
color: var(--foreground);
letter-spacing: -0.5px;
word-wrap: break-word; /* Verhindert, dass lange Titel Mobile sprengen */
}
p {
line-height: 1.7;
word-wrap: break-word;
}
a { text-decoration: none; color: var(--link); }
body, button, input, textarea {
font-size: 14px;
font-style: normal;
}
button, input[type=submit] {
cursor: pointer;
}
/* Die zentrale Kachel */
.card {
background-color: var(--background);
border-radius: 4px; /* Eckig wie die Room-Cards */
border-left: 4px solid var(--ztfr-purple);
box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.3);
padding: 2.5rem;
width: 100%; /* Wichtig für Mobile */
}
.RootView {
margin: 0 auto;
max-width: 480px;
width: 100%;
}
/* Buttons: Eckig & Kontrastreich */
.primary, .secondary {
text-decoration: none;
font-weight: bold;
text-align: center;
padding: 14px 20px;
margin: 1px 0;
display: block;
text-transform: uppercase;
letter-spacing: 1px;
transition: all 0.2s ease;
width: 100%;
}
.primary {
background: var(--foreground);
color: var(--app-background) !important;
border-radius: 4px;
border: none;
}
.primary:hover {
filter: brightness(0.9);
transform: translateY(-2px);
}
.secondary {
background: transparent;
color: var(--foreground);
border: 1px solid var(--foreground);
border-radius: 4px;
}
.secondary:hover {
background: rgba(255,255,255,0.05);
}
/* Input Felder: Dunkel statt Weiß */
input[type='text'].large {
width: 100%;
padding: 14px;
background: #1a1a1a !important;
border: 1px solid var(--borders);
border-radius: 4px;
font-size: 14px;
color: var(--foreground);
box-sizing: border-box;
margin-bottom: 10px;
}
.footer {
margin-top: 60px; /* Mehr Platz nach oben wie im Entwurf */
padding: 40px 20px;
text-align: center;
font-size: 0.85rem;
color: var(--sub-text); /* Das sanfte Grau */
opacity: 0.7;
border-top: 1px solid rgba(255, 255, 255, 0.05); /* Dezente Trennlinie */
width: 100%;
}
/* Entfernt die hässlichen Listenpunkte */
.footer ul {
list-style: none;
padding: 0;
margin: 0;
}
.footer li {
display: inline; /* Alles in eine Zeile */
margin: 0;
}
/* Die Links im Footer stylen */
.footer a {
color: inherit;
text-decoration: none;
border-bottom: 1px solid rgba(189, 195, 199, 0.3);
transition: all 0.3s ease;
}
.footer a:hover {
color: var(--foreground) !important;
border-bottom-color: var(--ztfr-purple) !important;
}
/* Den hässlichen "Clear Preferences" Button in einen Textlink verwandeln */
.footer button,
.footer input[type="submit"],
.ClientListView button.change,
.PreviewView button.change {
background: none !important;
border: none !important;
color: var(--grey) !important;
padding: 0 !important;
font-family: inherit !important;
font-size: inherit !important;
cursor: pointer !important;
border-bottom: 1px solid rgba(189, 195, 199, 0.3) !important;
}
.footer button:hover {
color: var(--foreground) !important;
border-bottom-color: var(--ztfr-purple) !important;
}
/* SPEZIELLE MOBILE ANPASSUNGEN */
@media screen and (max-width: 480px) {
body {
padding: 40px 10px 0 10px; /* Weniger Abstand oben und seitlich */
}
.card {
padding: 1.5rem; /* Mehr Platz für Inhalt auf kleinem Screen */
border-radius: 2px; /* Fast ganz eckig für mehr Fläche */
}
h1 {
font-size: 1.5rem; /* Etwas kleinere Schrift für Mobile Titel */
}
}