/* UI_STANDARD의 공통 토큰과 44px 터치·라이트/다크·정적 진행 표시를 사용한다. */
.growth-page {max-width:840px;margin:0 auto;}
.badge-tabs,.badge-actions {display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-4) 0;}
.badge-tabs [aria-selected="true"] {background:var(--primary);color:var(--primary-ink,#fff);}
.badge-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--sp-4);}
.badge-category {margin-bottom:var(--sp-6);}
.badge-category h2,.badge-notice h2,.badge-title h2 {font-size:var(--fs-title-sm);line-height:28px;}
.badge-card {min-width:0;padding:var(--sp-4);border:2px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow-wrap:anywhere;}
.badge-card:not(.earned) {background:var(--bg);}
.badge-card h3 {font-size:var(--fs-body-lg);line-height:26px;margin:var(--sp-2) 0;}
.badge-card p {margin:var(--sp-2) 0;}
.badge-icon {font-size:var(--fs-title);}
.badge-card.bronze {border-color:#986b39;}
.badge-card.silver {border-color:#727985;}
.badge-card.gold {border-color:#a67c13;}
.badge-card.legend {border-color:#a67c13;box-shadow:inset 0 0 0 2px var(--accent);}
.badge-card>svg {width:64px;height:72px;}
.badge-level {font-weight:700;}
.badge-recent {padding-left:var(--sp-6);}
.badge-recent li {margin-bottom:var(--sp-2);}
.badge-notice {padding:var(--sp-4);margin:var(--sp-4) 0;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);}
.badge-cabinet .btn,.badge-notice .btn {min-width:44px;min-height:44px;}
.badge-title {list-style:none;}
@media(prefers-reduced-motion:reduce) {.badge-cabinet *,.badge-notice * {animation:none!important;transition:none!important;}}
.growth-page-heading,.growth-xp-heading {display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;}
.growth-page-heading h1 {font-size:var(--fs-headline);margin:0;}
.growth-summary {margin-block:var(--sp-4);}
.growth-summary h2,.growth-reward h2 {font-size:var(--fs-title-sm);margin:0 0 var(--sp-2);}
.growth-xp-heading strong {font-size:var(--fs-body-lg);white-space:nowrap;}
.growth-progress {width:100%;height:12px;accent-color:var(--primary);border:0;border-radius:var(--r-pill);overflow:hidden;background:var(--line);}
.growth-progress::-webkit-progress-bar {background:var(--line);}
.growth-progress::-webkit-progress-value {background:var(--primary);}
.growth-progress::-moz-progress-bar {background:var(--primary);}
.growth-rewards {list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-4);}
.growth-reward {margin:0;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);}
.growth-reward>div {min-width:0;overflow-wrap:anywhere;}
.growth-reward p {margin:var(--sp-2) 0;}
.growth-reward-status {font-weight:700;}
.growth-reward .btn {flex-shrink:0;min-width:64px;}
.growth-home .btn {min-height:44px;}
#growthMessage:not(:empty) {padding:var(--sp-4);margin-bottom:var(--sp-4);border-radius:var(--r-md);background:var(--primary-soft);}
#growthMore {margin-top:var(--sp-4);}
@media(max-width:599px) {.growth-reward {align-items:flex-start;}.growth-page-heading h1 {font-size:var(--fs-title);}}
.quest-card h2,.quest-page h2 {font-size:var(--fs-title-sm);margin:0 0 var(--sp-4);}
.quest-list {padding:0;margin:var(--sp-4) 0;list-style:none;display:grid;gap:var(--sp-4);}
.quest-row {display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);}
.quest-row>div {min-width:0;flex:1;overflow-wrap:anywhere;}
.quest-row p {margin:var(--sp-2) 0;}
.quest-row .btn {min-height:44px;min-width:64px;flex-shrink:0;}
.quest-card summary {cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;}
.quest-calendar {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--sp-1);margin:var(--sp-4) 0;}
.quest-calendar>div {display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);padding:var(--sp-2) 0;border-radius:var(--r-sm);font-size:var(--fs-caption);background:var(--surface);}
.quest-calendar .learned {background:var(--primary-soft);border:1px solid var(--primary);}
.quest-calendar small {font-size:var(--fs-caption);white-space:nowrap;}
.quest-message:not(:empty),.quest-notice {padding:var(--sp-4);background:var(--primary-soft);border-radius:var(--r-md);}
.quest-preference {display:flex;align-items:center;gap:var(--sp-2);min-height:44px;}
.quest-preference input {width:24px;height:24px;}
@media(prefers-reduced-motion:reduce) {.quest-card *,.quest-page *,.quest-notice {animation:none!important;transition:none!important;}}
