/* Design-Tokens — zentrale Stellschrauben, Feintuning spaeter. Fonts: Systemstack als Fallback; Source Serif 4 / Fira Sans bei Bedarf lokal hosten (DSGVO/Schulkontext — kein Google-CDN). */ :root { --font-heading: "Source Serif 4", Georgia, "Times New Roman", serif; --font-body: "Fira Sans", "Segoe UI", system-ui, sans-serif; --color-paper: #fbfaf7; --color-ink: #26221c; --color-muted: #6f6a60; --color-accent: #1f5e79; --color-stripe: #f2efe8; --color-border: #ddd8cc; --color-stars: #c9931f; --qr-size: 96px; --content-max: 1100px; } * { box-sizing: border-box; } body { margin: 0; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); line-height: 1.45; } main { max-width: var(--content-max); margin: 0 auto; padding: 1.5rem 1rem 3rem; } .page-head h1 { font-family: var(--font-heading); font-size: clamp(1.5rem, 4vw, 2.2rem); margin: 0.5rem 0 0.2rem; } .meta { color: var(--color-muted); font-size: 0.85rem; margin: 0 0 1rem; } .table-wrap { overflow-x: auto; } table { border-collapse: collapse; width: 100%; background: #fff; border: 1px solid var(--color-border); } th { font-family: var(--font-heading); text-align: left; font-size: 0.95rem; background: var(--color-ink); color: var(--color-paper); position: sticky; top: 0; } th, td { padding: 0.6rem 0.75rem; vertical-align: top; border-bottom: 1px solid var(--color-border); } tbody tr:nth-child(even) { background: var(--color-stripe); } .t-number { text-align: right; white-space: nowrap; width: 1%; } .t-date { white-space: nowrap; } .t-text_long { white-space: pre-line; max-width: 46ch; } td.t-url { text-align: center; width: calc(var(--qr-size) + 1.5rem); } .qr-cell { display: inline-flex; flex-direction: column; align-items: center; gap: 0.3rem; text-decoration: none; } .qr { display: block; } .qr svg { width: var(--qr-size); height: var(--qr-size); display: block; } .qr-link { font-size: 0.72rem; color: var(--color-accent); word-break: break-all; max-width: calc(var(--qr-size) + 2rem); } .stars { color: var(--color-stars); font-size: 1.1rem; letter-spacing: 0.1em; white-space: nowrap; } .page-foot { margin-top: 1.5rem; color: var(--color-muted); font-size: 0.78rem; } @media (max-width: 700px) { th, td { padding: 0.45rem 0.5rem; font-size: 0.9rem; } } @media print { body { background: #fff; } th { background: #fff; color: var(--color-ink); border-bottom: 2px solid var(--color-ink); } .page-foot { display: none; } }