.achievement-library{grid-column:1/-1;min-width:0;margin-top:2px;padding:25px 29px 30px;border:1px solid #e3dfd0;border-radius:18px;background:linear-gradient(135deg,#fffdf7,#f8f6ed);box-shadow:0 15px 36px #817e6814}
.achievement-library-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.achievement-library-heading h2{margin:5px 0 4px;color:#2d513f;font-size:25px;letter-spacing:-.05em}
.achievement-library-heading h2 span{margin-left:4px;color:#d9a366;font-size:17px}
.achievement-library-heading p{margin:0;color:#889182;font-size:12px;line-height:1.7}
.achievement-detail-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:80px;min-height:37px;padding:8px 13px;border:1px solid #b8cfb5;border-radius:10px;background:#e9f1e3;color:#315d43;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap;transition:transform .15s,background .15s}
.achievement-detail-link:hover{transform:translateY(-2px);background:#dcebd5}
.achievement-detail-link:focus-visible{outline:3px solid #ec9b69;outline-offset:3px}
.achievement-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,116px));gap:12px}
.achievement-library-item{display:grid;place-items:center;aspect-ratio:1;padding:5px;border:1px solid #e8e8dc;border-radius:15px;background:#fff}
.achievement-library-item img{display:block;width:100%;height:100%;max-width:104px;max-height:104px;object-fit:contain}
.achievement-empty{grid-column:1/-1;margin:0;padding:20px;border:1px dashed #d9dfd0;border-radius:12px;background:#f8faf4;color:#8d9b89;font-size:12px;text-align:center}
.achievement-page-main{padding:54px 0 15px}
.achievement-page-intro{max-width:900px;margin-bottom:40px}
.achievement-page-intro h1{margin:13px 0 12px;color:#284c3b;font-size:clamp(35px,4vw,56px);line-height:1.22;letter-spacing:-.06em}
.achievement-page-intro h1 em{font-style:normal;color:#de9569}
.achievement-summary{display:inline-flex;margin-top:18px;padding:9px 14px;border-radius:999px;background:#e8f0e3;color:#52735b;font-size:12px;font-weight:800}
.achievement-detail-list{display:flex;flex-direction:column;gap:35px}
.achievement-category-heading{display:flex;align-items:center;gap:16px;margin:0 0 15px}
.achievement-category-heading h2{margin:0;color:#2d5340;font-size:21px;letter-spacing:-.04em}
.achievement-category-heading::after{content:'';height:1px;flex:1;background:#e0e1d3}
.achievement-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.achievement-group-card{min-width:0;padding:21px;border:1px solid #e3e3d7;border-radius:17px;background:#fffdf8;box-shadow:0 12px 28px #817e680e}
.achievement-group-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.achievement-group-card h3{margin:0;color:#335942;font-size:18px;letter-spacing:-.04em}
.achievement-group-card-heading small{color:#b59976;font-size:11px;font-weight:700;text-align:right}
.achievement-award-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px}
.achievement-award{min-width:0;padding:11px 9px 10px;border:1px solid #e9e9df;border-radius:12px;background:#f8faf5;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.achievement-award:hover,.achievement-award:focus-visible{position:relative;border-color:#91b293;background:#f0f6ed;box-shadow:0 5px 14px #4b74501a}
.achievement-award:focus-visible{outline:3px solid #e9ae76;outline-offset:2px}
.achievement-award-image{display:block;width:83px;height:83px;margin:0 auto 5px;object-fit:contain}
.achievement-award.is-locked .achievement-award-image{filter:grayscale(1);opacity:.38}
.achievement-award-tier{display:flex;align-items:center;justify-content:center;gap:5px;color:#45654d;font-size:11px;font-weight:800;text-align:center}
.achievement-award.is-locked .achievement-award-tier{color:#8f9b8d}
.achievement-award-tier::before{content:'✦';color:#d49c63;font-size:10px}
.achievement-award-requirement{display:block;margin-top:8px;color:#788578;font-size:11px;line-height:1.55;text-align:center}
.achievement-award-progress{display:block;max-height:0;overflow:hidden;opacity:0;color:#3d6d4d;font-size:11px;font-weight:800;line-height:1.6;text-align:center;transition:max-height .2s,opacity .2s,margin .2s}
.achievement-award:hover .achievement-award-progress,.achievement-award:focus-visible .achievement-award-progress,.achievement-award.is-open .achievement-award-progress{max-height:90px;margin-top:9px;opacity:1}
.achievement-award-progress span{display:block;padding:7px 5px;border-radius:7px;background:#dfeee0}
.achievement-award.is-unlocked .achievement-award-progress span{background:#f3ead2;color:#8b663e}
.achievement-detail-empty{padding:25px;border:1px dashed #d9dfd0;border-radius:12px;color:#8d9b89;text-align:center}
@media(max-width:1050px){.achievement-group-grid{grid-template-columns:1fr}}
@media(max-width:760px){.achievement-library{margin-top:23px;padding:20px 16px}.achievement-library-grid{grid-template-columns:repeat(auto-fill,minmax(84px,104px));gap:9px}.achievement-library-item{padding:4px}.achievement-page-main{padding-top:34px}.achievement-page-intro{margin-bottom:30px}.achievement-detail-list{gap:26px}.achievement-group-card{padding:16px}}
@media(max-width:420px){.achievement-library-heading h2{font-size:21px}.achievement-library-heading p{font-size:11px}.achievement-library-grid{grid-template-columns:repeat(auto-fill,minmax(76px,94px));gap:7px}.achievement-award-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-award-image{width:74px;height:74px}}
