/* A paper trail for a very digital gremlin. Scoped to the official journal. */
#achievements { padding: 0; overflow: clip; background: #20202b; border: 1px solid #45444f; border-radius: 14px; }
#achievement-journal { --paper: #eee9dc; --ink: #292c2c; --muted: #686b65; --line: #d4d0c4; --chapter: #77a05f; font-family: 'Nunito', sans-serif; color: var(--ink); font-size: max(13px, .78rem); line-height: 1.55; background: var(--paper); }
#achievement-journal *, #achievement-journal *::before, #achievement-journal *::after { box-sizing: border-box; }
#achievement-journal [hidden] { display: none !important; }
#achievement-journal p { color: inherit; font-size: inherit; text-align: left; margin: 0; max-width: none; }
#achievement-journal h2, #achievement-journal h3 { color: inherit; text-align: left; margin: 0; line-height: 1.2; }
#achievement-journal button, #achievement-journal input, #achievement-journal select { font: inherit; }
#achievement-journal button { cursor: pointer; }
#achievement-journal button:focus-visible, #achievement-journal input:focus-visible, #achievement-journal select:focus-visible, #achievement-journal summary:focus-visible { outline: 3px solid #42754c; outline-offset: 4px; }
#achievement-journal svg { display: block; width: 1.2rem; height: 1.2rem; flex: 0 0 auto; }
.aj-eyebrow { display: block; font-size: max(12px, .56rem); font-weight: 800; letter-spacing: .13em; }
.aj-hero { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.2rem 2.4rem 1.9rem; background: #242731; color: #f0ecdf; position: relative; }
.aj-hero::after { content: ''; position: absolute; bottom: -6px; left: 0; right: 0; height: 12px; background: radial-gradient(circle at 6px 0, transparent 5px, var(--paper) 5.5px) repeat-x; background-size: 12px 12px; }
.aj-hero .aj-eyebrow { color: #aed094; display: flex; align-items: center; gap: 1.1rem; }
.aj-hero .aj-eyebrow span { color: #acb0b2; font-size: max(11px, .49rem); letter-spacing: .15em; padding-left: 1rem; border-left: 1px solid #5b6060; }
#achievement-journal .aj-hero h2 { font-size: 2.7rem; font-weight: 700; letter-spacing: -.055em; line-height: 1.06; margin: .75rem 0 .7rem; }
.aj-hero h2 em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; color: #b8d5a3; }
#achievement-journal .aj-hero p { color: #bdc1b9; font-size: max(13px, .77rem); }
.aj-hero-tags { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin-top: 1.1rem; font-size: max(12px, .53rem); color: #d4d8cb; }
.aj-hero-tags span::before { content: '✦'; margin-right: .35rem; color: #a6c68e; }
.aj-official-seal { width: 8.8rem; height: 8.8rem; flex: 0 0 8.8rem; display: flex; align-items: center; justify-content: center; flex-direction: column; border: 2px solid #b5cb94; outline: 1px solid #b5cb94; outline-offset: -9px; border-radius: 50%; color: #b5cb94; transform: rotate(12deg); opacity: .9; margin-right: .4rem; }
.aj-official-seal > span { font-size: max(13px, .7rem); letter-spacing: .19em; font-weight: 800; }
.aj-official-seal svg { width: 2.8rem !important; height: 2.8rem !important; margin: .35rem; }
.aj-official-seal i { font: normal .4rem monospace; margin-top: .35rem; letter-spacing: .08em; }
.aj-lookup { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .25rem .8rem; padding: 1.1rem 2.4rem; border-bottom: 1px solid var(--line); background: #e5e1d5; }
.aj-lookup label { font-size: max(13px, .66rem); font-weight: 800; }
.aj-lookup-fields { display: flex; align-items: center; background: #f9f6ed; border: 1px solid #c0c0b0; border-radius: 5px; min-width: 0; padding: .18rem; }
.aj-lookup-fields > span { color: #878c7d; padding-left: .55rem; }
.aj-lookup-fields input { padding: .4rem; width: 100%; min-width: 0; border: 0; background: transparent; color: var(--ink); outline-offset: -2px !important; }
.aj-lookup > small { grid-column: 2 / 4; font-size: max(12px, .52rem); color: #62685c; }
.aj-primary { background: #314e36; color: #f7f5ea; border: 1px solid #314e36; padding: .5rem .8rem; border-radius: 4px; font-weight: 800 !important; font-size: max(13px, .64rem) !important; white-space: nowrap; min-height: 38px; }
.aj-primary:hover { background: #436b48; }
.aj-text-button { border: 0; background: transparent; padding: .4rem; color: #40583d; text-decoration: underline; text-underline-offset: 3px; font-weight: 700 !important; font-size: max(13px, .61rem) !important; min-height: 36px; }
.aj-text-button:hover { color: #1c3820; }
.aj-notice { margin: 1rem 2.4rem 0; padding: .7rem .9rem; background: #fff1ca; border-left: 3px solid #8d6e33; font-size: max(13px, .68rem); overflow-wrap: anywhere; }
.aj-profile { display: grid; grid-template-columns: 1fr auto; gap: .8rem; margin: 1.7rem 2.4rem 0; }
.aj-profile .aj-eyebrow { color: #72786c; }
#achievement-journal .aj-profile h3 { font-size: 1.45rem; letter-spacing: -.025em; margin: .25rem 0; overflow-wrap: anywhere; }
#achievement-journal .aj-profile p { font-size: max(13px, .67rem); color: #60665c; }
.aj-totals { display: flex; align-items: flex-start; gap: 1.8rem; }
.aj-totals > span { display: flex; flex-direction: column; font-size: max(12px, .55rem); color: #62685d; }
.aj-totals strong { color: #303d2f; font-size: 1.8rem; line-height: 1.35; font-weight: 700; font-variant-numeric: tabular-nums; }
.aj-totals small { font-size: max(13px, .75rem); font-weight: 400; color: #7c8172; }
.aj-overall { grid-column: 1 / -1; height: 4px; background: #d3d4c7; border-radius: 3px; overflow: hidden; }
.aj-overall > span { display: block; height: 100%; background: #608953; }
.aj-profile-foot { grid-column: 1 / -1; display: flex; align-items: center; gap: .7rem; color: #666b60; font-size: max(12px, .52rem); }
.aj-profile-foot > span { margin-right: auto; }
.aj-pinboard { margin: .9rem 2.4rem 0; }
.aj-small-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; margin-bottom: .6rem; }
#achievement-journal .aj-small-heading h3 { font-size: max(13px, .78rem); }
.aj-small-heading > span { font-size: max(12px, .52rem); color: #6b7064; }
.aj-pins { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.aj-pin { display: flex; align-items: center; gap: .65rem; padding: .65rem; min-height: 3.4rem; border: 1px solid #c8ccbb; border-radius: 5px; background: #f5f1e6; color: #343e31; text-align: left; font-size: max(13px, .65rem) !important; font-weight: 700 !important; }
.aj-pin:hover { border-color: #567247; background: #fcf9ee; }
.aj-pin .aj-seal { width: 2.2rem; height: 2.2rem; flex-basis: 2.2rem; }
.aj-pin .aj-seal svg { width: 1.05rem !important; height: 1.05rem !important; }
.aj-pin .aj-seal > span { display: none; }
.aj-pin-empty { border-style: dashed; border-color: #b8bdab; color: #707866; font-weight: 400 !important; background: transparent; }
.aj-pin-plus { font-size: 1.3rem; width: 2.2rem; text-align: center; font-weight: 400; }
.aj-nearby { margin: 1.3rem 2.4rem 0; }
.aj-next-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.aj-next { display: flex; align-items: center; gap: .55rem; background: #e1e5d5; color: #394b31; border: 1px solid #cbd3bf; border-radius: 5px; text-align: left; padding: .65rem; }
.aj-next > span:nth-child(2) { flex: 1; }
.aj-next strong, .aj-next small { display: block; }
.aj-next strong { font-size: max(13px, .6rem); line-height: 1.35; }
.aj-next small { margin-top: .2rem; font-size: max(12px, .52rem); color: #59674f; }
.aj-next:hover { background: #d5dfc7; }
.aj-welcome { display: flex; align-items: center; gap: .9rem; margin: 1.6rem 2.4rem 0; padding: 1rem; background: #e3e6d8; border: 1px solid #d0d5c1; border-radius: 6px; }
.aj-welcome > span { color: #536948; }
.aj-welcome svg { width: 2rem !important; height: 2rem !important; }
#achievement-journal .aj-welcome h3 { font-size: max(15px, .9rem); margin-bottom: .3rem; }
#achievement-journal .aj-welcome p { font-size: max(13px, .69rem); color: #596152; }
.aj-workspace { display: grid; grid-template-columns: 11.5rem minmax(0, 1fr); margin-top: 1.6rem; border-top: 1px solid var(--line); }
.aj-chapters { padding: 1.2rem .8rem 2rem 1.2rem; border-right: 1px solid var(--line); background: #e7e4d9; }
.aj-chapters > .aj-eyebrow { color: #727867; margin: 0 .6rem .8rem; }
.aj-chapters > button { width: 100%; display: flex; align-items: center; gap: .55rem; padding: .65rem .5rem; margin-bottom: .22rem; text-align: left; border: 1px solid transparent; color: #4e5549; border-radius: 5px; background: transparent; }
.aj-chapters > button > span { flex: 1; font-size: max(13px, .62rem); font-weight: 700; line-height: 1.35; }
.aj-chapters > button small { font-size: max(11px, .48rem); font-weight: 400; }
.aj-chapters > button > span > small { display: block; font-size: max(10px, .42rem); letter-spacing: .09em; margin-bottom: .2rem; color: #727768; }
.aj-chapters > button > svg { width: .95rem !important; height: .95rem !important; }
.aj-chapters > button[aria-pressed="true"] { background: #f6f2e8; border-color: #c9ccbb; color: #293c27; box-shadow: 0 2px 5px #22222205; }
.aj-chapters > button:hover { background: #f2eee3; }
.aj-secret-nav { border-top: 1px solid #c6cab9 !important; margin-top: .6rem; padding-top: .9rem !important; border-radius: 0 !important; }
.aj-margin-note { font-family: Georgia, serif; font-style: italic; color: #70785e; margin: 2.2rem .65rem 0; font-size: max(15px, .83rem); transform: rotate(-4deg); line-height: 1.5; }
.aj-margin-note > span { display: block; font: normal .48rem 'Nunito', sans-serif; margin-top: .6rem; }
.aj-pages { padding: 1.2rem 1.2rem 1.7rem; min-width: 0; }
.aj-toolbar { display: flex; align-items: center; gap: .6rem; }
.aj-search { flex: 1; min-width: 0; }
.aj-search input { width: 100%; padding: .55rem .65rem; border: 1px solid #c5c7b9; background: #f8f5ec; color: #323b2d; border-radius: 4px; font-size: max(13px, .64rem) !important; min-height: 38px; }
.aj-sort select { border: 1px solid #c5c7b9; background: #f8f5ec; color: #535c4b; border-radius: 4px; padding: .55rem .35rem; font-size: max(12px, .56rem) !important; min-height: 38px; max-width: 100%; }
.aj-view-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem; margin-top: .6rem; }
.aj-view-controls button { background: transparent; color: #646d59; border: 0; padding: .4rem .55rem; border-radius: 4px; font-size: max(12px, .54rem) !important; min-height: 32px; }
.aj-view-controls button[aria-pressed="true"] { background: #d9dfcd; color: #2f4329; font-weight: 800; }
.aj-view-controls > span { margin-left: auto; color: #737a6a; font-size: max(11px, .48rem); }
.aj-chapter-page { padding-top: 1.6rem; }
.aj-chapter-heading { display: flex; align-items: flex-start; gap: .6rem; margin-bottom: .8rem; }
.aj-chapter-heading > span { background: #dddccb; padding: .42rem; border-radius: 5px; color: #4c5743; }
.aj-chapter-heading > span > svg { width: 1rem !important; height: 1rem !important; }
#achievement-journal .aj-chapter-heading h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.22rem; letter-spacing: -.025em; margin-bottom: .25rem; font-weight: 400; }
#achievement-journal .aj-chapter-heading p { color: #6b705f; font-size: max(12px, .57rem); }
.aj-track-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.aj-track { display: flex; flex-direction: column; text-align: left; padding: .9rem .8rem .65rem; border: 1px solid #cbcfc0; border-radius: 6px; background: #f7f4eb; color: var(--ink); min-width: 0; transition: border-color .15s, transform .15s, box-shadow .15s; position: relative; }
.aj-track:hover { transform: translateY(-2px); border-color: #8d9a7d; box-shadow: 0 5px 15px #2730200b; }
.aj-track-top { display: flex; align-items: center; justify-content: space-between; gap: .4rem; color: #727b65; font-size: max(11px, .44rem); line-height: 1.4; }
.aj-track-label { font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.aj-track-count { display: flex; align-items: center; gap: .2rem; white-space: nowrap; }
.aj-track-count svg { width: .55rem !important; height: .55rem !important; }
.aj-stamp-row { display: flex; justify-content: space-between; gap: .35rem; padding: 1rem .1rem .7rem; }
.aj-seal { position: relative; display: flex; flex: 0 0 auto; width: 2.7rem; height: 2.7rem; border: 1px dashed #babdb0; outline: 1px solid #dddccd; outline-offset: -5px; color: #969e8b; background: #eeeee3; align-items: center; justify-content: center; border-radius: 50%; }
.aj-seal > svg { width: 1.25rem !important; height: 1.25rem !important; }
.aj-seal > span { position: absolute; bottom: -.22rem; left: 50%; transform: translateX(-50%); padding: 0 .2rem; background: #f7f4eb; border: 1px solid #c8cdbd; border-radius: 2px; font: 700 .43rem Georgia, serif; min-width: .8rem; text-align: center; }
.aj-seal.is-earned { color: #3e5734; background: var(--chapter); border: 1px solid #687b4e; outline-color: #647c4b66; }
.aj-seal.is-earned > span { border-color: #899b70; color: #354c2b; }
.aj-tier-2 { border-radius: 22%; }
.aj-tier-3 { border-radius: 50% 50% 22% 22%; }
.aj-tier-4 { border-radius: 20% 50% 20% 50%; }
.aj-track-name { font-size: max(15px, .9rem); line-height: 1.25; font-weight: 800; margin: .35rem 0 .4rem; letter-spacing: -.025em; }
.aj-track-flavor { font-size: max(13px, .6rem); color: #69715f; line-height: 1.5; margin-bottom: .9rem; }
.aj-track-bottom { display: flex; justify-content: space-between; gap: .3rem; font-size: max(12px, .5rem); color: #58624b; margin-top: auto; }
.aj-track-meter { display: block; height: 3px; border-radius: 3px; margin-top: .45rem; background: #dfe1d4; overflow: hidden; }
.aj-track-meter > span { display: block; height: 100%; background: #75965b; }
.aj-track.is-mastered { background: #eff1e4; border-color: #b0bd9f; }
.aj-secret { background: repeating-linear-gradient(135deg, #efede8 0px, #efede8 5px, #f0eee9 5px, #f0eee9 10px); border-color: #cbc7d1; }
.aj-secret .aj-track-top, .aj-secret .aj-track-bottom { color: #74617e; }
.aj-secret-icon { align-self: center; width: 3.2rem; height: 3.2rem; border: 1px dashed #aaa0b3; border-radius: 50%; padding: .9rem; margin: 1rem 0 .55rem; color: #96859f; }
.aj-secret-icon svg { width: 1.3rem !important; height: 1.3rem !important; }
.aj-secret.is-discovered { background: #f0eaf6; border-color: #baa9c6; }
.aj-secret.is-discovered .aj-secret-icon { background: #d8c5e5; color: #654879; border-style: solid; }
.aj-empty, .aj-loading { padding: 3rem 1.2rem; text-align: center; }
#achievement-journal .aj-empty h2, #achievement-journal .aj-empty h3 { text-align: center; font-size: 1.1rem; margin-bottom: .6rem; }
#achievement-journal .aj-empty p, #achievement-journal .aj-loading p { text-align: center; font-size: max(13px, .72rem); margin: .6rem 0; }
.aj-rules { margin: 0 2.4rem; border-top: 1px solid #cdd0c2; padding: 1rem 0 1.5rem; font-size: max(13px, .6rem); color: #606a53; }
.aj-rules summary { cursor: pointer; font-weight: 700; min-height: 32px; }
.aj-rules > div { padding: .4rem 0; columns: 2; column-gap: 1.5rem; }
#achievement-journal .aj-rules p { margin-bottom: .7rem; break-inside: avoid; font-size: max(13px, .6rem); }
.aj-dialog { width: min(95vw, 24rem); max-height: 88vh; margin: auto; border: 1px solid #c4c8b4; border-radius: 12px; background: #f7f3e8; color: #303c2c; padding: 1.7rem; font: inherit; overflow-y: auto; box-shadow: 0 20px 80px #0007; }
.aj-dialog::backdrop { background: #11151dcc; backdrop-filter: blur(4px); }
.aj-close { position: absolute; right: .55rem; top: .4rem; width: 2rem; height: 2rem; border: 0; background: transparent; color: #667158; font-size: 1.7rem !important; }
.aj-dialog .aj-eyebrow { color: #7b826d; margin-bottom: 1.2rem; padding-right: 1rem; }
.aj-dialog .aj-seal { width: 4.5rem; height: 4.5rem; margin-bottom: 1rem; }
.aj-dialog .aj-seal > svg { width: 2.1rem !important; height: 2.1rem !important; }
.aj-dialog .aj-seal > span { font-size: max(13px, .6rem); padding: 0 .4rem; }
#achievement-journal .aj-dialog h3 { font-size: 1.6rem; font-family: Georgia, serif; letter-spacing: -.03em; font-weight: 400; margin-bottom: .6rem; }
#achievement-journal .aj-dialog p { font-size: max(13px, .72rem); margin-bottom: 1rem; }
#achievement-journal .aj-dialog .aj-detail-flavor { color: #6a765e; font-style: italic; }
.aj-detail-progress { padding: .6rem .8rem; background: #e7eadb; font-size: max(13px, .72rem); border-radius: 4px; margin: .7rem 0; }
.aj-milestones { list-style: none; padding: 0; margin: 1rem 0; }
.aj-milestones li { border-bottom: 1px solid #d9ddcb; color: #777f6a; }
.aj-milestones li > button { display: flex; align-items: center; gap: .7rem; width: 100%; padding: .65rem .1rem; color: inherit; border: 0; background: transparent; text-align: left; min-height: 44px; }
.aj-milestones li > button:hover { background: #e9ecdc; }
.aj-milestones li > button > span:first-child { width: 1.4rem; font: .8rem Georgia, serif; }
.aj-milestones li > button > span:nth-child(2) { flex: 1; }
.aj-milestones strong, .aj-milestones small { display: block; }
.aj-milestones strong { font-size: max(13px, .68rem); }
.aj-milestones small { font-size: max(12px, .55rem); margin-top: .1rem; }
.aj-milestones li > button > svg { width: .8rem !important; height: .8rem !important; }
.aj-milestones li.is-earned { color: #39532f; }
.aj-award-status { font-size: max(13px, .62rem) !important; padding-top: .7rem; color: #5c6a4e !important; }
.aj-detail-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
#aj-detail-notice { font-size: max(13px, .64rem) !important; margin-top: .7rem !important; overflow-wrap: anywhere; }
.aj-recipe { background: #eeeadf; padding: .8rem; margin: 1rem 0; border-radius: 5px; }
.aj-recipe summary { cursor: pointer; font-size: max(13px, .72rem); min-height: 32px; }
.aj-recipe ul { padding: .7rem 0; list-style: none; }
.aj-recipe li { display: flex; justify-content: space-between; gap: .7rem; padding: .3rem 0; font-size: max(13px, .68rem); }
#achievement-journal .aj-recipe p { font-size: max(12px, .58rem); margin: .25rem 0 0; }
.aj-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (min-width: 1650px) { .aj-track-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1000px) {
  .aj-workspace { grid-template-columns: minmax(0, 1fr); }
  .aj-chapters { display: flex; flex-wrap: wrap; gap: .35rem; border-right: 0; border-bottom: 1px solid var(--line); padding: .9rem 1.2rem; }
  .aj-chapters > .aj-eyebrow, .aj-margin-note, .aj-chapters > button > span > small { display: none; }
  .aj-chapters > button { width: auto; flex: 1 1 24%; margin: 0; padding: .5rem; background: #efede3; border-color: #d2d2c2; }
  .aj-chapters > button > span { font-size: max(12px, .58rem); }
  .aj-secret-nav { border-radius: 5px !important; padding: .5rem !important; margin-top: 0; }
  .aj-hero { padding: 1.8rem 1.5rem; }
  .aj-lookup { padding: 1rem 1.5rem; }
  .aj-profile, .aj-pinboard, .aj-nearby, .aj-welcome, .aj-notice { margin-left: 1.5rem; margin-right: 1.5rem; }
  .aj-rules { margin-left: 1.5rem; margin-right: 1.5rem; }
}
@media (max-width: 650px) {
  #achievement-journal { font-size: 14px; }
  .aj-hero { padding: 1.5rem 1.1rem; gap: .5rem; }
  #achievement-journal .aj-hero h2 { font-size: 2.1rem; }
  .aj-hero .aj-eyebrow { font-size: max(11px, .48rem); gap: .5rem; }
  .aj-hero .aj-eyebrow span { padding-left: .5rem; }
  .aj-official-seal { width: 5.2rem; height: 5.2rem; flex-basis: 5.2rem; outline-offset: -6px; margin-right: 0; }
  .aj-official-seal > span { font-size: max(10px, .4rem); }
  .aj-official-seal > svg { width: 1.7rem !important; height: 1.7rem !important; margin: .15rem; }
  .aj-official-seal i { display: none; }
  #achievement-journal .aj-hero p { font-size: max(13px, .68rem); }
  .aj-hero-tags { font-size: max(11px, .48rem); gap: .2rem .65rem; }
  .aj-lookup { grid-template-columns: 1fr auto; padding: 1rem 1.1rem; gap: .4rem; }
  .aj-lookup > label { grid-column: 1; }
  .aj-lookup-fields { grid-column: 1 / -1; grid-row: 2; }
  .aj-lookup > .aj-text-button { grid-column: 2; grid-row: 1; }
  .aj-lookup > small { grid-column: 1 / -1; font-size: max(13px, .6rem); }
  .aj-lookup-fields input { font-size: 16px !important; }
  .aj-primary { font-size: max(13px, .68rem) !important; }
  .aj-profile { grid-template-columns: 1fr; margin-top: 1.3rem; }
  .aj-totals { gap: 2rem; }
  .aj-totals > span { font-size: max(13px, .65rem); }
  .aj-profile-foot { flex-wrap: wrap; gap: .2rem .7rem; font-size: max(13px, .6rem); }
  .aj-profile-foot > span { flex-basis: 100%; }
  .aj-profile, .aj-pinboard, .aj-nearby, .aj-welcome, .aj-notice { margin-left: 1.1rem; margin-right: 1.1rem; }
  .aj-pins, .aj-next-grid { grid-template-columns: 1fr; gap: .4rem; }
  .aj-pin { min-height: 3rem; }
  .aj-pin-empty { min-height: 2.2rem; padding: .35rem .65rem; }
  .aj-small-heading { flex-wrap: wrap; gap: .3rem; }
  .aj-small-heading > span { font-size: max(12px, .59rem); }
  .aj-next strong { font-size: max(13px, .68rem); }
  .aj-next small { font-size: max(13px, .61rem); }
  .aj-chapters { padding: .8rem; gap: .3rem; }
  .aj-chapters > button { flex-basis: 45%; min-height: 44px; }
  .aj-chapters > button > span { font-size: max(13px, .64rem); }
  .aj-chapters > button > small { font-size: max(12px, .56rem); }
  .aj-pages { padding: 1rem .8rem 1.3rem; }
  .aj-toolbar { flex-wrap: wrap; }
  .aj-search { flex-basis: 100%; }
  .aj-search input { font-size: 16px !important; }
  .aj-sort { width: 100%; }
  .aj-sort select { width: 100%; font-size: max(13px, .7rem) !important; }
  .aj-view-controls button { font-size: max(13px, .62rem) !important; min-height: 42px; padding: .35rem .4rem; }
  .aj-view-controls > span { flex-basis: 100%; font-size: max(13px, .6rem); padding-top: .2rem; }
  .aj-track-grid { grid-template-columns: 1fr; gap: .7rem; }
  .aj-chapter-heading p { font-size: max(13px, .7rem) !important; }
  .aj-track { padding: 1rem; }
  .aj-stamp-row { justify-content: flex-start; gap: .9rem; }
  .aj-seal { width: 3rem; height: 3rem; }
  .aj-track-top { font-size: max(12px, .57rem); }
  .aj-track-name { font-size: 1.1rem; }
  .aj-track-flavor { font-size: max(13px, .77rem); }
  .aj-track-bottom { font-size: max(13px, .66rem); }
  .aj-rules { margin: 0 1.1rem; font-size: max(13px, .75rem); }
  .aj-rules > div { columns: 1; }
  #achievement-journal .aj-rules p { font-size: max(13px, .73rem); }
  .aj-dialog { width: calc(100vw - 24px); padding: 1.4rem; }
  .aj-dialog .aj-eyebrow { font-size: max(13px, .65rem); }
  #achievement-journal .aj-dialog p { font-size: max(15px, .87rem); }
  .aj-milestones strong { font-size: max(15px, .82rem); }
  .aj-milestones small { font-size: max(13px, .72rem); }
  .aj-recipe summary, .aj-recipe li { font-size: max(15px, .8rem); }
}
@media (max-width: 360px) { .aj-official-seal { display: none; } .aj-stamp-row { gap: .5rem; } }
@media (prefers-reduced-motion: reduce) { #achievements, #achievement-journal *, #achievement-journal *::before, #achievement-journal *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } .aj-track:hover { transform: none; } }
