.trophies-page{max-width:1100px;margin:auto;padding:30px 0 60px}.trophy-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.trophy-heading h1{font-size:clamp(32px,4.6vw,58px);line-height:1.05;margin:14px 0}.trophy-heading p,.trophy-sync{color:var(--muted,#707670)}.trophy-count{padding:25px;border-left:1px solid #8884;display:grid;gap:10px;flex-shrink:0}.trophy-count strong{font-size:46px;line-height:1}.trophy-count small{font-size:23px;color:var(--muted,#707670)}.trophy-count span,.badge-kind{font-size:10px;letter-spacing:1.5px}.trophy-sync{font-size:13px;margin:22px 0}.trophy-filters{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.trophy-filters .selected{background:#224b49;color:#fff5dd}.badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #8884;border-left:1px solid #8884}.badge-card{font:inherit;display:flex;align-items:center;flex-direction:column;gap:9px;background:transparent;color:inherit;border:0;border-right:1px solid #8884;border-bottom:1px solid #8884;padding:26px 16px;cursor:pointer;text-align:center;transition:background .18s,transform .18s}.badge-card:hover{background:#8d9a8910}.badge-card:focus-visible{outline:3px solid #dc6951;outline-offset:-4px}.badge-card strong{font-size:17px}.badge-card>span:last-of-type{font-size:12px;color:var(--muted,#707670)}.badge-art{width:145px;height:155px;max-width:100%;filter:drop-shadow(0 6px 3px #00000012)}.badge-art.is-locked{filter:grayscale(1);opacity:.4}.badge-card.locked .badge-kind:before{content:'◇ ';}.badge-card.earned .badge-kind{color:#598a74}.badge-card progress,.badge-detail progress{appearance:none;width:100%;max-width:135px;height:4px;border:0;background:#8882;border-radius:5px;margin-top:7px}.badge-card progress::-webkit-progress-bar,.badge-detail progress::-webkit-progress-bar{background:#8882}.badge-card progress::-webkit-progress-value,.badge-detail progress::-webkit-progress-value{background:#7ca08a}.trophy-rules{margin-top:30px;max-width:750px;line-height:1.7;font-size:13px;color:var(--muted,#707670)}.trophy-rules summary{cursor:pointer;color:var(--text,inherit);font-weight:600}.badge-detail{text-align:center;max-width:440px;margin:auto;padding:10px 15px 20px;display:flex;flex-direction:column;align-items:center;gap:12px}.badge-detail .badge-art{width:200px;height:210px}.badge-detail p{line-height:1.65}.badge-detail progress{max-width:250px;height:6px}.badge-celebrate .badge-art{animation:badge-arrive .65s ease-out}.trophy-empty{padding:35px 0}@keyframes badge-arrive{from{transform:translateY(16px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media(max-width:600px){.trophies-page{padding:20px 0 40px}.trophy-heading{align-items:flex-start;gap:12px}.trophy-count{padding:14px 0 14px 14px}.trophy-count strong{font-size:33px}.trophy-count span{font-size:8px}.trophy-heading h1{font-size:34px}.trophy-heading p{font-size:13px}.badge-card{padding:20px 8px;gap:8px}.badge-card strong{font-size:13px}.badge-art{height:126px;width:118px}.badge-card>span:last-of-type{font-size:10px}.badge-kind{font-size:8px;letter-spacing:.8px}}@media(max-width:380px){.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.badge-celebrate .badge-art{animation:none}.badge-card{transition:none}}