body { font: 16px/1.5 system-ui, sans-serif; margin: 0 auto; padding: 1rem; min-height: 100vh; display: flex; flex-direction: column; }
header { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; }
form.inline { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }
select, input, button { font: inherit; padding: 0.3rem 0.6rem; }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.card, section { background: var(--panel); border-radius: 0.6rem; padding: 0.8rem 1rem; }
.card b { display: block; font-size: 1.6rem; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap: 1rem; margin: 1rem 0; }
ol { list-style: none; padding: 0; margin: 0; }
li { display: grid; grid-template-columns: 1fr 4.5rem; gap: 0.1rem 0.6rem; margin: 0.45rem 0; }
li .label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
li small { color: var(--muted); margin-left: 0.4rem; }
li b { text-align: right; }
.track { grid-column: 1 / -1; height: 5px; background: var(--panel); border-radius: 3px; }
.fill { height: 100%; border-radius: 3px; }
.timeline { display: flex; align-items: flex-end; gap: 3px; height: 170px; }
.column { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.column .bar { width: 100%; border-radius: 3px 3px 0 0; min-height: 1px; }
.column span { font-size: 0.65rem; color: var(--muted); }
.heat-row { display: grid; grid-template-columns: 2.5rem repeat(24, 1fr); gap: 2px; margin: 2px 0; font-size: 0.7rem; }
.heat-row i { aspect-ratio: 1; border-radius: 2px; }
.notice { background: var(--panel); border-left: 4px solid var(--accent); padding: 0.5rem 0.8rem; }

main { flex: 1; }
.imprint { margin-top: 2rem; padding: 1rem; font-size: 0.8rem; color: var(--muted); text-align: center; }
.imprint a { color: inherit; }

.brand { display: flex; align-items: center; gap: 0.75rem; }
.brand h1 { margin: 0; }