@font-face { font-family:Bungee; src:url('/fonts/Bungee-Regular.ttf'); font-display:swap; }
@font-face { font-family:Figtree; src:url('/fonts/Figtree.ttf'); font-weight:100 900; font-display:swap; }
body[data-brand-page="changelogs"] { margin:0; min-height:100vh; background:radial-gradient(ellipse at 15% 0%,#32204b 0,transparent 48%),var(--af-night); color:var(--af-cream); font:16px/1.6 Figtree,system-ui,sans-serif; }
.updates-header { max-width:1120px; padding:24px 28px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.updates-header .af-wordmark { font-size:25px; text-decoration:none; }
.updates-header .brand-wordmark { text-decoration:none; }
.updates-header nav { display:flex; flex-wrap:wrap; gap:8px 20px; }
.updates-header nav a { display:inline-flex; align-items:center; min-height:44px; color:var(--af-muted); }
body[data-brand-page="changelogs"] main { max-width:1064px; margin:auto; padding:40px 28px 80px; }
.updates-intro { max-width:760px; margin-bottom:36px; }
.updates-intro .eyebrow { font:600 12px/1.5 'IBM Plex Mono',monospace; letter-spacing:.14em; color:var(--af-gold); }
.updates-intro h1 { font-size:clamp(32px,5vw,52px); line-height:1.12; margin:12px 0 18px; letter-spacing:-.035em; }
.updates-intro > p:not(.eyebrow) { color:var(--af-muted); font-size:18px; }
.updates-intro .btn { margin-top:8px; }
.updates-intro a.btn,.updates-search button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 20px; border-radius:12px; text-decoration:none; box-sizing:border-box; font:700 16px/1.4 var(--af-font-body); cursor:pointer; }
.updates-search { max-width:640px; }
.updates-search label { display:block; font-weight:600; margin-bottom:8px; }
.updates-search > div { display:flex; gap:10px; }
.updates-search input { flex:1; min-width:0; }
.updates-count { color:var(--af-muted); font-size:14px; margin:28px 0 12px; }
.game-updates { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.game-update { padding:18px 20px; display:flex; gap:12px; justify-content:space-between; align-items:center; color:var(--af-cream); text-decoration:none; background:var(--af-glass); border:1px solid #b59aff38; border-radius:12px; box-shadow:inset 0 1px #ffffff08,0 6px 18px #0002; }
.game-update:hover { border-color:var(--af-gold); }
.game-update > span:last-child { color:var(--af-gold); }
.update-timeline { max-width:800px; display:grid; gap:24px; }
.update-entry { padding:28px 32px; border:1px solid #b59aff38; border-radius:20px; background:var(--af-glass); box-shadow:inset 0 1px #ffffff0a,0 12px 32px #0002; overflow-wrap:anywhere; }
.update-entry time { font:13px/1.5 'IBM Plex Mono',monospace; color:var(--af-mint); }
.update-entry h2 { font-size:23px; line-height:1.3; margin:8px 0 18px; }
.update-entry ul { margin:0; padding-left:20px; }
.update-entry li + li { margin-top:10px; }
.missing-notes,.update-entry > p { color:var(--af-muted); }
.release-receipt { margin-top:20px; font-size:13px; color:var(--af-muted); }
.release-receipt summary { cursor:pointer; min-height:44px; display:flex; align-items:center; }
.release-receipt code { display:block; overflow-wrap:anywhere; }
.cab-changelog { display:flex; justify-content:center; align-items:center; min-height:44px; font:600 13px/1.3 var(--font-body,system-ui,sans-serif); color:var(--af-muted); text-decoration:none; }
.cab-changelog:hover { color:var(--af-gold); text-decoration:underline; }
#gameChangelogLink[hidden] { display:none; }
@media(max-width:700px) { .game-updates { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:440px) { .updates-header { padding:16px; align-items:flex-start; flex-direction:column; gap:8px; } body[data-brand-page="changelogs"] main { padding:20px 16px 48px; } .game-updates { grid-template-columns:1fr; } .update-entry { padding:22px 20px; } .updates-search > div { flex-direction:column; } }
@media(prefers-reduced-transparency:reduce) { .update-entry,.game-update { background:var(--af-ink); } }
@media(forced-colors:active) { .update-entry,.game-update { border:1px solid CanvasText; } }
