development-ib-fork/web/13/eigene_loesungen/Aufgabe_02.css

219 lines
4.4 KiB
CSS

:root {
font-family: "Sansation", sans-serif;
font-size: 16px;
color-scheme: dark;
--bg: #0b1220;
--panel: rgba(94, 39, 27, 0.96);
--panel-border: rgba(17, 224, 103, 0.18);
--accent: #409720;
--accent-strong: #988fa8;
--muted: #94a3b8;
}
* {
box-sizing: border-box;
}
html, body {
min-height: 100%;
}
body {
margin: 0;
padding: 2rem;
background: radial-gradient(circle at top left, rgba(139, 92, 246, 0.22), transparent 24%),
linear-gradient(180deg, #b05d54 0%, #83aa93 40%, #7989af 100%);
color: #e2e8f0;
}
body::before {
content: "";
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
background-image: radial-gradient(circle at 20% 15%, rgba(83, 186, 24, 0.12) 0, transparent 32%),
radial-gradient(circle at 80% 10%, rgba(34, 197, 94, 0.08) 0, transparent 30%),
radial-gradient(circle at 50% 80%, rgba(14, 165, 233, 0.07) 0, transparent 28%);
}
h1 {
margin: 0 0 1.5rem;
font-size: clamp(2rem, 4vw, 3rem);
letter-spacing: 0.08em;
text-transform: uppercase;
text-align: center;
color: #f8fafc;
text-shadow: 0 0 18px rgba(139, 92, 246, 0.35);
}
form {
max-width: 640px;
margin: 0 auto;
padding: 2rem;
background: var(--panel);
border: 1px solid var(--panel-border);
border-radius: 26px;
backdrop-filter: blur(12px);
box-shadow: 0 18px 55px rgba(0, 0, 0, 0.35);
}
fieldset {
border: 1px solid rgba(148, 163, 184, 0.18);
border-radius: 18px;
padding: 1.5rem;
margin: 0 0 1.5rem;
background: rgba(15, 23, 42, 0.85);
}
legend {
font-size: 1rem;
font-weight: 700;
color: #d8b4fe;
padding: 0 0.75rem;
}
label {
display: inline-block;
margin: 0.4rem 0 0.35rem;
font-size: 0.95rem;
color: #cbd5e1;
}
input[type="text"],
input[type="email"],
input[type="tel"],
select {
width: 100%;
padding: 0.95rem 1rem;
margin-bottom: 1rem;
font-size: 1rem;
color: #f8fafc;
background: #111827;
border: 1px solid rgba(148, 163, 184, 0.18);
border-radius: 16px;
transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus {
outline: none;
border-color: var(--accent-strong);
box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.14);
transform: translateY(-1px);
}
input::placeholder {
color: var(--muted);
}
.styled-select {
appearance: none;
background-image: linear-gradient(180deg, rgba(255,255,255,0.05), transparent 40%),
radial-gradient(circle at top right, rgba(255,255,255,0.05), transparent 18%);
background-position: right 1rem center, left top;
background-repeat: no-repeat;
padding-right: 2.5rem;
}
.styled-checkbox,
.styled-radio {
appearance: none;
margin-right: 0.75rem;
width: 1.35rem;
height: 1.35rem;
border: 2px solid rgba(148, 163, 184, 0.35);
border-radius: 0.5rem;
background: #111827;
vertical-align: middle;
position: relative;
cursor: pointer;
transition: border-color 200ms ease, background-color 200ms ease, transform 200ms ease;
}
.styled-checkbox:hover,
.styled-radio:hover {
transform: translateY(-1px);
}
.styled-checkbox:checked {
background: linear-gradient(135deg, #8b5cf6, #06b6d4);
border-color: transparent;
}
.styled-checkbox:checked::after {
content: "\2713";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -52%);
font-size: 1rem;
color: #ffffff;
}
.styled-radio {
border-radius: 50%;
}
.styled-radio:checked {
background: radial-gradient(circle at center, #f8fafc 0%, #8b5cf6 55%, #06b6d4 100%);
border-color: transparent;
}
.styled-radio:checked::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 0.55rem;
height: 0.55rem;
border-radius: 50%;
transform: translate(-50%, -50%);
background: #020617;
}
.submit-button {
display: inline-flex;
justify-content: center;
align-items: center;
width: 100%;
max-width: 260px;
padding: 1rem 1.2rem;
font-size: 1rem;
font-weight: 700;
color: #ffffff;
background: linear-gradient(135deg, #8b5cf6 0%, #06b6d4 100%);
border: none;
border-radius: 999px;
cursor: pointer;
box-shadow: 0 16px 28px rgba(139, 92, 246, 0.22);
transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}
.submit-button:hover {
transform: translateY(-2px);
box-shadow: 0 20px 30px rgba(139, 92, 246, 0.28);
}
.submit-button:focus-visible {
outline: 3px solid rgba(124, 58, 237, 0.35);
}
@media (max-width: 560px) {
body {
padding: 1rem;
}
form {
padding: 1.4rem;
}
fieldset {
padding: 1.2rem 1rem 1rem;
}
}