.ka-container{max-width:1080px;margin:0 auto;padding:var(--space-6) var(--space-4);color:var(--text)}.ka-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);flex-wrap:wrap;gap:var(--space-3)}.ka-title{font-family:var(--font-heading);font-size:var(--size-h1);font-weight:700;color:var(--text);margin:0}.ka-progress{font-size:var(--size-body);color:var(--text-muted);font-weight:600}.ka-progress strong{color:var(--text);font-size:var(--size-body-lg)}.ka-tabs{display:flex;gap:var(--space-1);background:var(--surface-sunken);padding:4px;border-radius:var(--radius-lg);margin-bottom:var(--space-5);width:-moz-fit-content;width:fit-content;flex-wrap:wrap}.ka-tab{padding:8px 18px;border-radius:var(--radius-md);font-size:var(--size-body);font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--text-subtle);transition:all .2s;font-family:inherit}.ka-tab.active{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.08))}.ka-tier-group{margin-bottom:var(--space-5)}.ka-tier-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);padding-bottom:6px;border-bottom:1px solid var(--border)}.ka-tier-group-title{font-size:var(--size-body);font-weight:700;color:var(--text)}.ka-tier-group-meta{font-size:var(--size-caption);color:var(--text-subtle);font-weight:500}.ka-tier-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:var(--space-2)}.ka-card{display:flex;align-items:center;gap:var(--space-3);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;min-height:56px;transition:border-color .15s;position:relative}.ka-card:hover{border-color:var(--border-strong)}.ka-card.unlocked{border-color:var(--kohaku-500);background:var(--surface-raised)}.ka-card.locked{opacity:.82}.ka-card.hidden-card{background:var(--surface-sunken);border-style:dashed}.ka-card-icon{width:32px;height:32px;border-radius:var(--radius-full);background:var(--surface-sunken);display:flex;align-items:center;justify-content:center;font-size:var(--size-body);color:var(--text-muted);flex-shrink:0}.ka-card.unlocked .ka-card-icon{color:var(--kohaku-500)}.ka-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ka-card-title{font-size:var(--size-body-sm);font-weight:600;color:var(--text);line-height:1.2}.ka-card-desc,.ka-card-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ka-card-desc{font-size:var(--size-tiny);color:var(--text-subtle);line-height:1.3}.ka-progress-bar{height:4px;background:var(--surface-sunken);border-radius:var(--radius-full);overflow:hidden;margin-top:2px}.ka-progress-fill{height:100%;background:linear-gradient(90deg,var(--sakura-400),var(--sakura-600));transition:width .3s}.ka-progress-fill.full{background:linear-gradient(90deg,var(--midori-400),var(--midori-600))}.ka-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;min-width:80px}.ka-card-reward-coins{display:inline-flex;align-items:center;gap:3px;font-size:var(--size-tiny);font-weight:700;color:var(--text)}.ka-card-progress-text{font-size:var(--size-tiny);color:var(--text-subtle);font-variant-numeric:tabular-nums}.ka-card.unlocked .ka-card-progress-text{color:var(--midori-500);font-weight:600}.ka-rarity-uncommon{border-left:3px solid var(--midori-500)}.ka-rarity-rare{border-left:3px solid var(--sora-500)}.ka-rarity-epic{border-left:3px solid var(--fuji-500)}.ka-rarity-legendary{border-left:3px solid var(--kohaku-500);box-shadow:0 0 8px rgba(245,158,11,.2)}.ka-card.hidden-card .ka-card-icon{color:var(--text-disabled)}.ka-card.hidden-card .ka-card-desc,.ka-card.hidden-card .ka-card-title{color:var(--text-disabled);font-style:italic}@media (max-width:640px){.ka-container{padding:var(--space-4) var(--space-3)}.ka-title{font-size:var(--size-h2)}.ka-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}.ka-tab{padding:6px 14px;font-size:var(--size-body-sm);white-space:nowrap}.ka-tier-row{grid-template-columns:1fr}.ka-card{padding:6px 10px;min-height:50px}.ka-card-icon{width:28px;height:28px}.ka-card-right{min-width:60px}}