/* Milestones share the app's paper, ink and butter-yellow palette. */
.card.achievements-home{padding:0;overflow:hidden;background:var(--paper);border:1px solid var(--line);margin-bottom:18px}
.achievement-home-main{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 20px}
.achievement-home-copy h2{display:flex;align-items:baseline;gap:10px;font-size:15px;letter-spacing:-.3px;margin:0 0 5px;color:var(--ink);line-height:1.4}
.achievement-home-copy h2>span{font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap}.achievement-home-copy h2 strong{font-size:15px;color:var(--ink)}
.achievement-home-copy>p{font-size:12px;color:var(--muted);line-height:1.6;margin:0;word-break:keep-all}
.achievement-featured{border:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:center;color:var(--ink);border-radius:12px;cursor:pointer;min-height:64px}
.achievement-view-all{display:flex;align-items:center;gap:4px;min-height:44px;font-size:14px;white-space:nowrap}.achievement-view-all .icon{width:14px;height:14px}
.achievement-medal{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100px;height:106px;flex-shrink:0;isolation:isolate}
.achievement-medal>img{width:100%;height:100%;object-fit:contain;display:block}.achievement-medal.is-locked>img{filter:grayscale(.85);opacity:.6}
.achievement-medal-mark{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);font-size:12px;font-weight:800;line-height:1.4;min-width:36px;text-align:center;background:#fffaf0;color:#715222;border:1px solid #d9c089;border-radius:6px;padding:1px 7px;box-shadow:0 2px 6px #76571e0c}
.achievement-medal.is-locked .achievement-medal-mark{background:var(--paper);border-color:var(--line);color:var(--muted)}
.achievement-medal.is-large{width:154px;height:150px}.is-large .achievement-medal-mark{bottom:7px;font-size:14px}
.achievement-medal.is-locked>img{filter:grayscale(.85)}
.achievements-home .achievement-featured .achievement-medal{width:64px;height:64px}.achievements-home .achievement-medal-mark{bottom:0;font-size:11px;min-width:28px;padding:0 5px;border-radius:5px}
.achievements-home .achievement-next{border-top:1px solid var(--line);background:#ffffffa6;padding:9px 20px;margin:0;display:flex;gap:16px;align-items:center}
.achievement-next>div{min-width:0}.achievement-next>div:first-child{display:flex;align-items:center;gap:8px;flex:1}.achievement-next .achievement-state{font-size:12px;white-space:nowrap}.achievement-next strong{font-size:13px;color:var(--ink);line-height:1.5}
.achievement-next-progress{width:150px;flex-shrink:0;display:flex;align-items:center;gap:8px}.achievement-next-progress .achievement-progress-copy{white-space:nowrap;font-size:12px}
.achievements-home .achievement-next-progress progress{flex:1;min-width:24px;margin:0;background:var(--line)}.achievements-home .achievement-next-progress progress::-webkit-progress-bar{background:var(--line)}
.achievements-home progress,.achievements-detail progress,.achievement-spotlight progress{appearance:none;display:block;width:100%;height:5px;border:0;border-radius:8px;overflow:hidden;background:var(--line);accent-color:var(--muted);margin:10px 0 7px}
.achievements-home progress::-webkit-progress-bar,.achievements-detail progress::-webkit-progress-bar,.achievement-spotlight progress::-webkit-progress-bar{background:var(--line)}
.achievements-home progress::-webkit-progress-value,.achievements-detail progress::-webkit-progress-value,.achievement-spotlight progress::-webkit-progress-value{background:var(--muted);border-radius:8px}
.achievements-home progress::-moz-progress-bar,.achievements-detail progress::-moz-progress-bar,.achievement-spotlight progress::-moz-progress-bar{background:var(--muted);border-radius:8px}
.achievement-progress-copy{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}
#info-dialog:has(.achievements-detail){width:min(700px,calc(100vw - 32px));background:var(--paper);padding:24px}
#info-dialog:has(.achievement-spotlight){width:min(480px,calc(100vw - 32px));background:var(--paper)}
.achievement-collection-intro{background:var(--accent-soft);border:1px solid var(--line);border-radius:18px;padding:24px;text-align:center;margin:10px 0 22px}.achievement-collection-intro .eyebrow{font-size:12px;letter-spacing:1.5px;word-break:keep-all;color:var(--muted);margin:0 0 10px}.achievement-collection-intro h3{font-size:23px;margin:0;color:var(--ink)}.achievement-collection-intro>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:10px 0 22px}
.achievement-collection-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.achievement-collection-stats>span{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.achievement-collection-stats>span+span{border-left:1px solid var(--line)}.achievement-collection-stats strong{font-size:28px;color:var(--ink);font-variant-numeric:tabular-nums}.achievement-collection-stats small{font-size:13px;font-weight:500}
.achievement-filters{display:flex;padding:4px;background:var(--accent-soft);border-radius:12px;gap:4px}.achievement-filters button{flex:1;min-height:44px;background:transparent;border:0;border-radius:9px;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer}.achievement-filters button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 2px 5px #24351c12}
.achievement-collection-hint{font-size:13px;color:var(--muted);margin:12px 0 24px;text-align:center}
.achievement-group{display:flex;align-items:center;gap:8px;font-size:14px;margin:24px 0 12px;color:var(--ink)}.achievement-group .icon{width:18px;height:18px}.achievement-group small{margin-left:auto;font-size:13px;color:var(--muted);font-weight:500}
.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.achievement-grid .achievement-badge{display:flex;flex-direction:column;align-items:center;gap:0;min-width:0;padding:12px 12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--paper);text-align:center;cursor:pointer;font:inherit;color:var(--muted)}
.achievement-grid .achievement-badge.is-earned{background:#fffcf3;border-color:#d9c68e;box-shadow:0 3px 9px #75613008}.achievement-badge>strong{font-size:13px;line-height:1.45;min-height:38px;display:flex;align-items:center;justify-content:center;margin:4px 0}.achievement-state{font-size:12px;color:var(--muted);font-weight:600;line-height:1.5}.achievement-badge .achievement-state{margin-top:10px}.achievement-badge.is-earned .achievement-state{color:#7b5c20}.achievement-badge progress{margin:8px 0 5px}.achievement-badge-link{display:flex;align-items:center;justify-content:center;gap:3px;font-size:13px;color:var(--muted);margin-top:12px}.achievement-badge-link .icon{width:14px;height:14px}
.achievement-rules{background:var(--paper);border:1px solid var(--line);margin-top:24px;padding:0 16px;border-radius:12px}.achievement-rules[open]{padding-bottom:16px}.achievement-rules summary{display:flex;align-items:center;min-height:48px;font-size:14px;cursor:pointer;color:var(--muted)}.achievement-rules p{font-size:13px;color:var(--muted);line-height:1.8}
.achievement-empty{text-align:center;padding:32px 16px;color:var(--muted)}.achievement-empty>.icon,.achievement-empty>span>.icon{width:36px;height:36px}.achievement-empty h3{font-size:17px}.achievement-empty p{font-size:14px;line-height:1.7}
.achievement-spotlight{text-align:center}.achievement-spotlight>.text-button{font-size:14px;min-height:44px;margin:0 0 8px}.achievement-spotlight>.eyebrow{font-size:12px;letter-spacing:1.5px;word-break:keep-all;color:#7a612b;margin:0}.achievement-spotlight>.achievement-medal{display:flex;margin:8px auto;width:180px;height:170px}.achievement-spotlight .achievement-medal-mark{font-size:19px;bottom:10px;padding:2px 10px}.achievement-spotlight>.achievement-state{display:block;margin:8px 0}.achievement-spotlight h3{font-size:26px;color:var(--ink);margin:7px 0;letter-spacing:-.7px}.achievement-spotlight-message{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:16px}
.achievement-condition{background:var(--paper);border-radius:14px;padding:14px 18px;text-align:left;margin-bottom:14px}.achievement-condition>strong{font-size:13px;color:var(--muted)}.achievement-condition p{font-size:13px;line-height:1.7;color:var(--muted);margin:8px 0}.achievement-condition>p:last-child{font-size:12px}.achievement-spotlight>.button{background:var(--ink);color:#fff;border-color:var(--ink)}.achievement-recalculation{font-size:12px;line-height:1.7;color:var(--muted);margin:12px 10px 4px}.achievement-encouragement{font-size:13px;line-height:1.8;color:var(--muted)}
.achievement-badge:focus-visible,.achievement-featured:focus-visible,.achievement-filters button:focus-visible{outline:3px solid var(--muted);outline-offset:3px}
@media(hover:hover){.achievement-badge:hover,.achievement-featured:hover{background:#fff9e7}.achievement-badge:hover{border-color:#b39b5c;transform:translateY(-3px)}}
@media(prefers-reduced-motion:no-preference){.achievement-spotlight>.achievement-medal{animation:medal-reveal .6s cubic-bezier(.2,.7,.2,1) both}.achievement-spotlight.is-celebrating>.achievement-medal{animation:medal-celebrate .8s ease both}@keyframes medal-reveal{from{opacity:0;transform:translateY(14px) scale(.85) rotate(-8deg)}to{opacity:1;transform:none}}@keyframes medal-celebrate{0%,100%{transform:none}40%{transform:translateY(-12px) rotate(8deg) scale(1.08)}70%{transform:rotate(-4deg)}}}
@media(max-width:600px){.achievement-home-main{padding:10px 12px;grid-template-columns:54px minmax(0,1fr) auto;gap:8px}.achievements-home .achievement-featured .achievement-medal{width:54px;height:58px}.achievement-featured{min-height:58px}.achievement-home-copy h2{font-size:14px;gap:7px}.achievement-home-copy>p{font-size:12px}.achievement-view-all{padding:0}.achievements-home .achievement-next{padding:9px 12px;gap:8px}.achievement-next>div:first-child{gap:6px}.achievement-next strong{font-size:13px}.achievement-next-progress{width:90px;gap:6px}.achievement-progress-copy{white-space:nowrap;font-size:12px}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#info-dialog:has(.achievements-detail){padding:20px 16px}.achievement-collection-intro{padding:20px 10px}.achievement-collection-intro h3{font-size:21px}.achievement-collection-stats strong{font-size:25px}.achievement-badge>strong{font-size:13px}.achievement-spotlight>.achievement-medal{width:170px;height:160px}.achievement-spotlight h3{font-size:23px}.achievement-spotlight>.text-button{margin-bottom:12px}.achievement-condition{padding:15px}}
@media(prefers-reduced-motion:reduce){.achievement-badge,.achievement-featured{transition:none!important;transform:none!important}.achievement-spotlight .achievement-medal{animation:none!important}}

#info-dialog:has(.achievements-detail,.achievement-spotlight){--achievement-dialog-inset:24px;padding:24px;scroll-padding-top:84px}
#info-dialog:has(.achievements-detail,.achievement-spotlight)>.dialog-header{position:sticky;top:calc(-1 * var(--achievement-dialog-inset));z-index:3;background:var(--paper);padding:var(--achievement-dialog-inset) 0 12px;margin-top:calc(-1 * var(--achievement-dialog-inset));margin-bottom:12px}
.achievement-group{scroll-margin-top:84px}
@media(max-width:600px){#info-dialog:has(.achievements-detail,.achievement-spotlight){--achievement-dialog-inset:20px;padding:20px 16px}}

.achievement-art-label{color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 3px}
.achievement-medal-story{max-width:340px;margin:12px auto 18px;padding:0 10px}
.achievement-medal-story h4{font-size:13px;color:#7d622c;margin:0 0 6px;font-weight:600}
.achievement-medal-story p{font-size:14px;line-height:1.8;color:var(--muted);margin:0;word-break:keep-all;overflow-wrap:anywhere}
.achievement-badge .achievement-medal{width:114px;height:116px}
@media(max-width:600px){.achievement-medal-story{margin:10px auto 16px}.achievement-medal-story p{font-size:13px}}
/* Phones: "전체 보기" moves under the title so the name and streak never break mid-word. */
@media(max-width:420px){.achievement-home-main{grid-template-columns:54px minmax(0,1fr);grid-template-areas:"medal copy" "medal more";column-gap:12px;row-gap:0}.achievement-featured{grid-area:medal}.achievement-home-copy{grid-area:copy;padding-top:6px}.achievement-view-all{grid-area:more;justify-self:start}}
