.gy { border: 0; padding: 0; margin: 0 0 18px; min-width: 0; }
.gy legend { padding: 0; margin: 0 0 4px; font-size: 18px; font-weight: 700; line-height: 1.3; }
.gy-help { margin: 0 0 12px; font-size: 14px; color: var(--tud-color-text-secondary); }
.gy-years { display: grid; grid-template-columns: repeat(6,minmax(44px,1fr)); gap: 8px; }
.gy-year { min-height: 48px; min-width: 44px; padding: 10px 4px; border: 1px solid var(--tud-color-border-strong); border-radius: 10px; background: var(--tud-color-bg-surface); color: var(--tud-color-text-primary); font: 600 15px 'Outfit',sans-serif; cursor: pointer; font-variant-numeric: tabular-nums; }
.gy-year:hover { border-color: var(--site-accent-text); }
.gy-year[aria-pressed="true"] { background: var(--tud-color-accent-base); color: #141412; border-color: var(--site-accent-text); font-weight: 800; }
.gy-year:focus-visible { outline: 2px solid var(--site-accent-text); outline-offset: 3px; }
.gy-skip { display: block; margin: 4px auto -6px; min-height: 44px; color: var(--tud-color-text-muted); text-decoration: underline; text-underline-offset: 3px; font-size: 14px; }
.gy-later { margin-top: 12px; }
.gy-later[hidden] { display:none; }
.gy-later p { font-size: 14px; margin-bottom: 8px; color:var(--tud-color-text-secondary); }
.gy-dialog .gy { margin: 0; }
.gy-dialog .gy legend, .gy-dialog .gy-help { display: none; }

.gy[hidden] { display: none; }
.gy-year:disabled { cursor: wait; opacity: 0.65; }
@media (max-width: 560px) { .gy-years { gap: 6px; } }
@media (max-width: 350px) { .gy-years { grid-template-columns: repeat(3, minmax(44px, 1fr)); } }
