/* A quiet collection drawer, kept clear of the timeline and terminal controls. */
.achievement-toggle {
  position:fixed; z-index:65; right:max(20px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom));
  min-height:38px; padding:9px 13px; border:1px solid #80997555; border-radius:6px;
  background:#0c1719e8; color:#c5d8b4; font:10px/1.5 var(--mono); letter-spacing:.04em;
  box-shadow:0 4px 20px #0002; backdrop-filter:blur(12px); transition:background .2s,border-color .2s;
}
.achievement-toggle:hover { background:#172727f2; border-color:#adc99399; }
.page-home:not(.monitor-active) .achievement-toggle { bottom:max(64px,env(safe-area-inset-bottom)); }
.page-home:not(.monitor-active) .achievement-notification { bottom:calc(max(64px,env(safe-area-inset-bottom)) + 50px); }
.achievement-toggle:focus-visible,.achievement-dialog button:focus-visible { outline:2px solid #c6ed99; outline-offset:4px; }
.achievement-notification {
  position:fixed; z-index:91; right:max(20px,env(safe-area-inset-right)); bottom:calc(max(20px,env(safe-area-inset-bottom)) + 50px);
  display:flex; align-items:center; gap:12px; width:max-content; max-width:min(350px,calc(100vw - 36px));
  border:1px solid #a4c58055; border-radius:8px; padding:15px 18px; background:#0a161beb;
  color:#e0ead6; box-shadow:0 8px 35px #0003; backdrop-filter:blur(14px); pointer-events:none;
  visibility:hidden; opacity:0; transform:translateY(7px); transition:opacity .25s,transform .25s,visibility .25s;
}
.achievement-notification.is-visible { visibility:visible; opacity:1; transform:translateY(0); }
.achievement-notification__icon { color:#c8e89d; font:29px/1 var(--font); flex:none; }
.achievement-notification strong { display:block; font:500 12px/1.7 var(--font); }
.achievement-notification div>span { display:block; margin-top:4px; color:#9eafa6; font:10px/1.7 var(--font); }
.achievement-dialog {
  width:min(580px,calc(100% - 32px)); max-height:min(760px,calc(100dvh - 40px)); padding:0;
  background:#0d171c; color:#d9e2da; border:1px solid #556b605f; border-radius:12px; overscroll-behavior:contain;
  scrollbar-width:thin; scrollbar-color:#51665e #0d171c;
}
.achievement-dialog::backdrop { background:#03090cc4; backdrop-filter:blur(9px); }
.achievement-dialog__header {
  position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 24px 14px; background:#0d171cf7; border-bottom:1px solid #293c35;
}
.achievement-dialog__header h2 { margin:0; font:500 19px/1.5 var(--font); letter-spacing:.08em; }
.achievement-dialog__close { flex:none; min-height:38px; padding:8px 10px; background:#182721; color:#b9cbb1; border:1px solid #405446; border-radius:4px; font-size:11px; }
.achievement-dialog__summary { margin:20px 24px 16px; font:11px/1.8 var(--font); color:#9db19d; }
.achievement-list { list-style:none; padding:0; margin:0 24px; display:grid; gap:10px; }
.achievement-list li { padding:15px 16px; border:1px solid #33463b; border-radius:7px; background:#15221d66; }
.achievement-item__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.achievement-item__heading h3 { margin:0; font:500 13px/1.7 var(--font); }
.achievement-item__state { flex:none; font:9px/1.5 var(--font); color:#8b9d94; }
.achievement-item__description { margin:6px 0 0; color:#9bada3; font:11px/1.8 var(--font); }
.achievement-item__condition { margin:7px 0 0; color:#748e81; font:10px/1.8 var(--font); }
.achievement-list li[data-unlocked="true"] { border-color:#829f515c; background:linear-gradient(110deg,#293b255a,#15221d33); }
.achievement-list li[data-unlocked="true"] h3,.achievement-list li[data-unlocked="true"] .achievement-item__state { color:#c3e99b; }
.achievement-list li[data-unlocked="true"] .achievement-item__state::before { content:'✓ '; }
.achievement-dialog__note { padding:0 24px; margin:18px 0 22px; color:#789185; font:10px/1.8 var(--font); }
@media(max-width:640px) {
  .achievement-toggle { right:max(12px,env(safe-area-inset-right)); bottom:max(10px,env(safe-area-inset-bottom)); min-height:40px; padding:8px 10px; font-size:9px; }
  .achievement-notification { right:max(12px,env(safe-area-inset-right)); bottom:calc(max(10px,env(safe-area-inset-bottom)) + 48px); max-width:calc(100vw - 24px); padding:12px 14px; }
  .achievement-dialog { width:calc(100% - 24px); max-height:calc(100dvh - max(24px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom))); }
  .achievement-dialog__header { padding:14px 16px 10px; }
  .achievement-dialog__header h2 { font-size:17px; }
  .achievement-dialog__summary { margin:16px 16px 12px; }
  .achievement-list { margin-inline:16px; }
  .achievement-list li { padding:12px; }
  .achievement-dialog__note { padding-inline:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .achievement-toggle,.achievement-notification { transition:none; transform:none; }
}
