.board-discovery-tools{display:flex;align-items:center;gap:8px;justify-self:start}
.utility-button.achievements-toggle{width:auto;gap:7px;padding:0 11px;white-space:nowrap;font-size:12px;font-weight:650}
#achievement-count{padding:3px 6px;border-radius:7px;background:var(--accent-soft,#f0eaf9);font-size:11px;font-variant-numeric:tabular-nums;line-height:1.2}
html:has(#achievements-dialog[open]){overflow:hidden}
.achievements-dialog{max-height:calc(100dvh - 32px);padding:32px;border:1px solid var(--line,#e7e0e9);background:var(--surface,#fffdfb);color:var(--ink);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line,#e7e0e9) transparent}
.achievements-dialog[open]{animation:achievement-appear .22s ease-out}
.achievements-dialog::backdrop{background:#30204e66;backdrop-filter:blur(5px)}
.achievements-dialog .close-button{width:40px;height:40px;right:14px;top:12px}
.achievements-dialog .dialog-kicker{margin:0 34px 8px;color:var(--control-ink,var(--purple));font-size:11px;letter-spacing:2px}
.achievements-dialog h2{margin:8px 0 10px;color:var(--ink);font-size:28px;line-height:1.3;text-wrap:balance}
.achievements-dialog{width:min(920px,calc(100% - 32px));text-align:left}
.achievements-header{display:flex;align-items:center;gap:24px;margin-bottom:24px;padding-right:28px}
.achievements-heading{flex:1;min-width:0}
.achievements-heading .dialog-kicker{margin:0 0 8px}
.achievement-progress{position:relative;display:grid;grid-template-columns:76px;grid-template-rows:76px auto;justify-items:center;align-items:center;flex-shrink:0;gap:5px;color:var(--control-ink,var(--purple))}
.achievement-progress-ring{grid-area:1/1;width:76px;height:76px;fill:none;stroke-width:5}
.achievement-progress-ring .track{stroke:var(--line,#e7e0e9)}
.achievement-progress-ring .value{stroke:var(--purple);stroke-dasharray:var(--achievement-progress,0) 100;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center}
#achievement-summary{grid-area:1/1;font-size:15px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1}
.achievement-progress-label{font-size:10px;line-height:1.4;white-space:nowrap}
#achievement-progress{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);border:0;white-space:nowrap}
.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.achievement-card{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;gap:20px;padding:23px 18px 18px;border:1px solid var(--line,#e7e0e9);border-radius:19px;background:var(--surface-soft,#f7f2fa);text-align:center}
.achievement-card[data-unlocked="true"]{background:var(--surface,#fffdfb);box-shadow:0 3px 0 var(--soft-shadow,#30204e12)}
.achievement-card[data-new="true"]{border-color:var(--purple);background:linear-gradient(145deg,var(--accent-soft,#f0eaf9),var(--surface,#fffdfb));box-shadow:inset 0 0 0 1px var(--purple)}
.achievement-new{min-height:24px;padding:2px 9px;border:1px solid var(--purple);border-radius:999px;background:var(--accent-soft,#f0eaf9);color:var(--control-ink,var(--purple));font:inherit;font-size:12px;cursor:pointer}
.achievement-medal{--medal-color:#9671ca;--medal-soft:#f0e5fa;position:relative;isolation:isolate;display:inline-grid;place-items:center;flex-shrink:0;width:76px;height:76px;border:3px solid color-mix(in srgb,var(--medal-color) 66%,white);border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffffffb3,transparent 62%),var(--medal-soft);color:var(--medal-color);box-shadow:inset 0 0 0 4px #ffffff80,0 4px 0 color-mix(in srgb,var(--medal-color) 22%,transparent)}
.achievement-medal:before,.achievement-medal:after{content:"";position:absolute;z-index:-1;bottom:-15px;width:20px;height:25px;background:var(--medal-color);clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%);transform-origin:top center}
.achievement-medal:before{left:13px;transform:rotate(15deg)}
.achievement-medal:after{right:13px;transform:rotate(-15deg)}
.achievement-medal svg{position:relative;width:45px;height:45px;stroke-width:2;overflow:visible}
.achievement-card-copy{min-width:0}
.achievement-state{display:inline-block;color:var(--control-ink,var(--purple));font-size:10px;font-weight:650;letter-spacing:.8px}
.achievement-card h3{margin:6px 0 8px;font-size:16px;line-height:1.4;color:var(--ink);text-wrap:balance}
.achievement-description{margin:0;color:var(--ink);font-size:12px;line-height:1.7}
.achievement-earned-at{display:block;margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.6}
.achievement-hint-toggle{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--control-ink,var(--purple));list-style:none;cursor:pointer}
.achievement-hint-toggle::-webkit-details-marker{display:none}
.achievement-hint-toggle::marker{content:""}
.achievement-hint-toggle svg{width:20px;height:20px;pointer-events:none}
.achievement-hint-toggle:hover,.achievement-clue[open]>.achievement-hint-toggle{background:var(--accent-soft,#f0eaf9)}
.achievement-card:has(.achievement-clue[open]){z-index:1}
.achievement-hint{position:absolute;top:48px;right:8px;z-index:2;width:min(260px,calc(100% - 16px));margin:0;padding:12px 13px;border:1px solid var(--line,#e7e0e9);border-radius:12px;background:var(--surface,#fffdfb);color:var(--ink);box-shadow:0 8px 24px #30204e26;text-align:left;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.achievement-hint:before{content:"";position:absolute;top:-5px;right:13px;width:8px;height:8px;border-top:1px solid var(--line,#e7e0e9);border-left:1px solid var(--line,#e7e0e9);background:var(--surface,#fffdfb);transform:rotate(45deg)}
.achievement-card[data-unlocked="false"] .achievement-medal{border:2px dashed var(--line,#d6cce3);background:var(--surface,#fffdfb);color:var(--muted);box-shadow:none}
.achievement-card[data-unlocked="false"] .achievement-medal:before,.achievement-card[data-unlocked="false"] .achievement-medal:after{background:var(--line,#d6cce3)}
.achievement-card[data-unlocked="false"] .achievement-state{color:var(--muted)}
#achievement-unlock{position:fixed;inset:auto;top:max(16px,env(safe-area-inset-top));left:50%;z-index:100;align-items:center;gap:17px;width:min(560px,calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:calc(100dvh - 32px);margin:0;padding:16px 21px 18px;border:1px solid var(--line,#e7e0e9);border-radius:20px;background:linear-gradient(110deg,var(--accent-soft,#f0eaf9),var(--surface,#fffdfb) 65%);color:var(--ink);box-shadow:0 8px 32px #30204e26;text-align:left;pointer-events:none;transform:translateX(-50%);animation:achievement-banner-in .24s ease-out}
#achievement-unlock:not([hidden]){display:flex}
#achievement-unlock[hidden]{display:none}
#achievement-unlock::backdrop{background:transparent;pointer-events:none;backdrop-filter:none}
#achievement-unlock>.achievement-medal{width:56px;height:56px;margin:0 0 8px;border-width:2px;box-shadow:inset 0 0 0 3px #ffffff80,0 3px 0 color-mix(in srgb,var(--medal-color) 22%,transparent)}
#achievement-unlock>.achievement-medal svg{width:33px;height:33px}
#achievement-unlock>.achievement-medal:before,#achievement-unlock>.achievement-medal:after{width:15px;height:19px;bottom:-11px}
#achievement-unlock>.achievement-medal:before{left:9px}
#achievement-unlock>.achievement-medal:after{right:9px}
.achievement-banner-copy{min-width:0;padding-right:28px}
#achievement-unlock .achievement-dismiss{top:6px;right:6px;width:40px;height:40px;padding:0;background:transparent;color:var(--control-ink,var(--purple));pointer-events:auto}
#achievement-unlock .achievement-dismiss:hover{background:var(--accent-soft,#f0eaf9)}
#achievement-unlock .dialog-kicker{margin:0 0 3px;color:var(--control-ink,var(--purple));font-size:10px;font-weight:650;line-height:1.4;letter-spacing:1.5px}
#achievement-unlock h2{margin:0 0 4px;padding:0;color:var(--ink);font-size:18px;line-height:1.35;text-wrap:balance}
#achievement-unlock .achievement-description{margin:0;color:var(--ink);font-size:12px;line-height:1.5}
#achievement-unlock .achievement-unlock-progress{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.4}
.achievement-banner-queue{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:8px}
.achievement-banner-queue[hidden]{display:none}
.achievement-queue-count{flex:1;margin:0;color:var(--ink);font-size:11px;line-height:1.5}
#achievement-unlock .achievement-next{min-height:44px;margin:0;pointer-events:auto}
#achievement-unlock button:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
#explore-dialog #achievement-unlock{opacity:1;transition:none;animation:achievement-banner-in .24s ease-out}
.achievements-toggle:focus-visible,.achievements-dialog button:focus-visible,.achievement-hint-toggle:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
:root[data-mode="dark"] .achievement-medal{background:radial-gradient(circle at 35% 25%,#ffffff12,transparent 62%),color-mix(in srgb,var(--medal-color) 18%,var(--surface));color:color-mix(in srgb,var(--medal-color) 55%,white);border-color:color-mix(in srgb,var(--medal-color) 75%,var(--surface));box-shadow:inset 0 0 0 4px #ffffff0a,0 4px 0 #00000020}
:root[data-mode="dark"] .achievement-hint{box-shadow:0 8px 24px #00000045}
:root[data-mode="dark"] #achievement-unlock{box-shadow:0 8px 32px #00000045}
:root[data-mode="dark"] #achievement-unlock>.achievement-medal{box-shadow:inset 0 0 0 3px #ffffff0a,0 3px 0 #00000020}
:root[data-mode="dark"] .achievement-card[data-unlocked="false"] .achievement-medal{background:var(--surface);color:var(--muted);border-color:var(--line);box-shadow:none}
:root[data-mode="dark"] .achievements-dialog::backdrop{background:#090610a8}
@keyframes achievement-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes achievement-banner-in{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:740px){
  .board-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
  .board-bottom #table-view{margin-left:auto}
  .board-bottom .board-status{flex:1 1 100%;justify-content:flex-end}
  .board-discovery-tools{gap:7px}
  .utility-button.achievements-toggle{padding:0 9px;gap:6px}
  .achievements-dialog{padding:28px 20px 20px}
  .achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .achievement-card{padding:20px 14px 16px}
}
@media(max-width:480px){
  .achievements-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:22px}
  .achievements-dialog{padding:29px 16px 18px}
  .achievements-dialog h2{font-size:25px}
  .achievements-header{gap:12px;margin-bottom:20px}
  .achievement-progress{grid-template-columns:64px;grid-template-rows:64px auto;margin-top:24px}
  .achievement-progress-ring{width:64px;height:64px}
  #achievement-summary{font-size:13px}
  .achievement-grid{grid-template-columns:1fr;gap:10px}
  .achievement-card{flex-direction:row;align-items:flex-start;gap:15px;padding:17px 14px;text-align:left}
  .achievement-card>.achievement-medal{width:64px;height:64px;margin:4px 0 12px}
  .achievement-card>.achievement-medal svg{width:38px;height:38px}
  .achievement-card .achievement-state{max-width:100%;padding-right:36px}
  .achievement-card h3{padding-right:36px;font-size:15px;margin:4px 0 6px}
  #achievement-unlock{top:max(10px,env(safe-area-inset-top));width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));gap:13px;padding:13px 15px 15px;border-radius:17px}
  #achievement-unlock h2{font-size:16px}
  #achievement-unlock .achievement-description{font-size:11px}
  #achievement-unlock>.achievement-medal{width:48px;height:48px}
  #achievement-unlock>.achievement-medal svg{width:29px;height:29px}
  #achievement-unlock>.achievement-medal:before{left:6px}
  #achievement-unlock>.achievement-medal:after{right:6px}
}
@media(max-height:560px){#achievement-unlock{top:max(8px,env(safe-area-inset-top));padding-top:11px;padding-bottom:12px}#achievement-unlock .achievement-unlock-progress{margin-top:3px}}
@media(prefers-reduced-motion:reduce){.achievements-dialog[open],#achievement-unlock,#explore-dialog #achievement-unlock{animation:none}}
@media print{#achievements-toggle,#achievements-dialog,#achievement-unlock{display:none!important}}

.achievement-replay{min-height:40px;margin-top:12px;padding:7px 13px;border:1px solid var(--line,#e7e0e9);border-radius:12px;background:var(--accent-soft,#f0eaf9);color:var(--control-ink,var(--purple));font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.achievement-replay:hover{border-color:var(--purple)}
.achievement-replay-note{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 18px;padding:12px 16px;border:1px solid var(--line,#e7e0e9);border-radius:14px;background:var(--accent-soft,#f0eaf9);color:var(--ink);text-align:left;font-size:12px;line-height:1.65}
.achievement-replay-note[hidden]{display:none}
.achievement-replay-note p{flex:1;min-width:160px;margin:0;white-space:pre-line}
.achievement-replay-note button{flex-shrink:0;margin:0}
#explore-dialog .achievement-replay-note{margin:8px 0;flex-shrink:0}
@media print{.achievement-replay-note{display:none!important}}
.achievement-replay-dismiss{width:40px;height:40px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--control-ink,var(--purple));font:inherit;font-size:22px;cursor:pointer}
.achievement-replay-dismiss:hover{background:var(--surface,#fffdfb)}
.achievement-replay-note button:focus-visible{outline:3px solid var(--purple);outline-offset:3px}

.achievement-toolbar{display:flex;flex-wrap:wrap;gap:12px}
.achievement-filters{display:flex;flex:1;gap:8px;min-width:240px}
.achievement-filters button,.achievement-reset{min-height:42px;padding:9px 12px;border:1px solid var(--line,#e7e0e9);border-radius:12px;background:var(--surface,#fffdfb);color:var(--muted);font:inherit;font-size:12px;font-weight:650;cursor:pointer;text-wrap:balance}
.achievement-filters button{flex:1}
.achievement-reset{flex-shrink:0;margin-left:auto;color:var(--control-ink,var(--purple));white-space:nowrap}
.achievement-reset:hover:not(:disabled){border-color:var(--purple);background:var(--accent-soft,#f0eaf9)}
.achievement-reset:disabled{opacity:.45;cursor:default}
.achievement-reset-confirmation{margin:12px 0;padding:14px 16px;border:1px solid var(--line,#e7e0e9);border-radius:14px;text-align:left;color:var(--ink)}
.achievement-reset-confirmation[hidden]{display:none}
.achievement-reset-confirmation p{margin:0 0 12px;font-size:14px;line-height:1.6;text-wrap:pretty}
.achievement-reset-confirmation>div{display:flex;flex-wrap:wrap;gap:8px}
.achievement-reset-confirmation button{min-height:44px;padding:9px 14px;border:1px solid var(--line,#e7e0e9);border-radius:12px;background:var(--surface,#fffdfb);color:var(--control-ink,var(--purple));font:inherit;font-size:13px;font-weight:650}
.achievement-reset-confirmation button:hover{border-color:var(--purple)}
#achievement-reset-keep{background:var(--accent-soft,#f0eaf9);border-color:var(--purple)}
.achievement-filters button[aria-pressed="true"]{border-color:var(--purple);background:var(--accent-soft,#f0eaf9);color:var(--control-ink,var(--purple))}
.achievement-filter-summary{margin:10px 0 14px;color:var(--muted);font-size:11px}
.achievement-empty{padding:28px 16px;border:1px dashed var(--line,#e7e0e9);border-radius:16px;text-align:center;color:var(--muted);font-size:13px;line-height:1.7}
.achievement-card[hidden],.achievement-empty[hidden]{display:none}
@media(max-width:480px){.achievement-filters{gap:6px}.achievement-filters button{padding:9px 6px;font-size:11px}}

@media(max-width:740px),(any-pointer:coarse){.achievements-dialog .close-button,.achievement-hint-toggle,.achievement-replay-dismiss,.achievement-new{min-width:44px;min-height:44px}.achievement-filters button,.achievement-reset,.achievement-replay{min-height:44px}}
