@font-face { font-family: Inter; font-weight: 400; font-style: normal; font-display: swap; src: url(fonts/inter-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: Inter; font-weight: 600; font-style: normal; font-display: swap; src: url(fonts/inter-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: Inter; font-weight: 700; font-style: normal; font-display: swap; src: url(fonts/inter-latin-700-normal.woff2) format("woff2"); }

:root { --grund:#E3EDF7; --text:#3B3D5E; --neben:#5d6183; --blau:#009FFF; --gruen:#119988; --rot:#B8520F; --hell:#ffffff; --dunkel:#a3b1c6; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--grund); color: var(--text); font-family: Inter, -apple-system, "Segoe UI", Roboto, sans-serif; font-size: 16px; line-height: 1.5; }
main { max-width: 520px; margin: 0 auto; padding: 32px 16px 48px; }

.marke { font-size: 13px; letter-spacing: .02em; color: var(--neben); margin: 0 0 12px; }
.marke b { color: var(--blau); font-weight: 700; }
.kopf { display: flex; align-items: center; gap: 12px; }
.symbol { width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; color: var(--blau); box-shadow: -4px -4px 8px var(--hell), 4px 4px 8px var(--dunkel); flex: none; }
h1 { font-size: 26px; line-height: 1.2; margin: 0; }
.unter { color: var(--neben); font-size: 15px; margin: 12px 0 24px; }

.karte { border-radius: 16px; padding: 20px; margin: 0 0 24px; }
.erhaben { box-shadow: -6px -6px 12px var(--hell), 6px 6px 12px var(--dunkel); }
.vertieft { box-shadow: inset -4px -4px 8px var(--hell), inset 4px 4px 8px var(--dunkel); }

label { display: block; font-size: 13px; font-weight: 600; color: var(--neben); margin: 0 0 6px; }
select, input { width: 100%; min-height: 44px; padding: 10px 12px; margin: 0 0 16px; border: 0; border-radius: 12px; background: var(--grund); color: var(--text); font: inherit; font-size: 16px; box-shadow: inset -3px -3px 6px var(--hell), inset 3px 3px 6px var(--dunkel); outline: none; -webkit-appearance: none; appearance: none; }
select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235d6183' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 20px; padding-right: 40px; }
select:focus-visible, input:focus-visible { box-shadow: inset -3px -3px 6px var(--hell), inset 3px 3px 6px var(--dunkel), 0 0 0 2px var(--blau); }
.zeile { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fehler { color: var(--rot); font-size: 13px; margin: -4px 0 0; }

.urteil { font-size: 20px; font-weight: 700; margin: 0 0 4px; }
.urteil.ja { color: var(--gruen); }
.urteil.nein { color: var(--rot); }
.grund { font-size: 14px; color: var(--neben); margin: 0 0 20px; }
.messung { margin: 0 0 16px; }
.messkopf { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; font-weight: 600; margin: 0 0 6px; }
.messkopf span:last-child { color: var(--neben); font-weight: 400; text-align: right; }
.bahn { height: 14px; border-radius: 7px; background: var(--grund); box-shadow: inset -2px -2px 4px var(--hell), inset 2px 2px 4px var(--dunkel); overflow: hidden; }
.fuellung { height: 100%; width: 0; border-radius: 7px; background: var(--blau); transition: width .25s ease; }
.fuellung.voll { background: var(--rot); }

dl { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; margin: 20px 0 0; font-size: 14px; }
dt { color: var(--neben); }
dd { margin: 0; font-weight: 600; text-align: right; }

.knopf { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 16px; border-radius: 14px; background: var(--blau); color: #fff; font-weight: 600; font-size: 16px; text-decoration: none; box-shadow: -4px -4px 8px var(--hell), 4px 4px 8px var(--dunkel); }
.knopf:active { box-shadow: inset 2px 2px 5px rgba(0,0,0,.25); }
.knopf:focus-visible { outline: 3px solid var(--text); outline-offset: 2px; }
.klein { font-size: 13px; color: var(--neben); text-align: center; margin: 12px 0 0; }
.fuss { font-size: 12px; color: var(--neben); text-align: center; margin: 32px 0 0; }

@media (prefers-reduced-motion: reduce) { .fuellung { transition: none; } }
